diff --git a/.cargo/config-release.toml b/.cargo/config-release.toml new file mode 100644 index 00000000000..faab5e6c572 --- /dev/null +++ b/.cargo/config-release.toml @@ -0,0 +1,11 @@ +# This is a config file used by Docker build process when building release version of drive-abci. +# Hopefully it can be removed once profile-rustflags is stabilized, see https://github.com/rust-lang/cargo/issues/10271 + +[target.aarch64-unknown-linux-musl] +rustflags = ["-C", "target-feature=-crt-static"] + +[target.x86_64-unknown-linux-musl] +rustflags = ["-C", "target-feature=-crt-static"] + +[target.aarch64-unknown-linux-gnu] +linker = "aarch64-linux-gnu-gcc" diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000000..f64e6c05804 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,59 @@ +# Use the official VS Code base image for dev containers +FROM mcr.microsoft.com/devcontainers/base:ubuntu + +# Install dependencies +RUN apt-get update && apt-get install -y \ + build-essential \ + libssl-dev \ + pkg-config \ + clang \ + cmake \ + llvm \ + curl \ + gnupg \ + lsb-release \ + software-properties-common \ + unzip + +# Switch to clang +RUN rm /usr/bin/cc && ln -s /usr/bin/clang /usr/bin/cc + +# Install protoc - protobuf compiler +# The one shipped with Alpine does not work +ARG TARGETARCH +ARG PROTOC_VERSION=25.2 +RUN if [[ "$TARGETARCH" == "arm64" ]] ; then export PROTOC_ARCH=aarch_64; else export PROTOC_ARCH=x86_64; fi; \ + curl -Ls https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-${PROTOC_ARCH}.zip \ + -o /tmp/protoc.zip && \ + unzip -qd /opt/protoc /tmp/protoc.zip && \ + rm /tmp/protoc.zip && \ + ln -s /opt/protoc/bin/protoc /usr/bin/ + +# Install protoc v25.2+ +RUN curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v25.2/protoc-25.2-linux-x86_64.zip \ + && unzip protoc-25.2-linux-x86_64.zip -d /usr/local \ + && rm protoc-25.2-linux-x86_64.zip + +# Switch to vscode user +USER vscode + +ENV CARGO_HOME=/home/vscode/.cargo +ENV PATH=$CARGO_HOME/bin:$PATH + +# TODO: It doesn't sharing PATH between stages, so we need "source $HOME/.cargo/env" everywhere +COPY rust-toolchain.toml . +RUN TOOLCHAIN_VERSION="$(grep channel rust-toolchain.toml | awk '{print $3}' | tr -d '"')" && \ + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \ + --profile minimal \ + -y \ + --default-toolchain "${TOOLCHAIN_VERSION}" \ + --target wasm32-unknown-unknown + +# Install wasm-bindgen-cli in the same profile as other components, to sacrifice some performance & disk space to gain +# better build caching +RUN if [[ -z "${SCCACHE_MEMCACHED}" ]] ; then unset SCCACHE_MEMCACHED ; fi ; \ + RUSTFLAGS="-C target-feature=-crt-static" \ + # Meanwhile if you want to update wasm-bindgen you also need to update version in: + # - packages/wasm-dpp/Cargo.toml + # - packages/wasm-dpp/scripts/build-wasm.sh + cargo install wasm-bindgen-cli@0.2.86 --locked diff --git a/.devcontainer/devcontainer-build.json b/.devcontainer/devcontainer-build.json new file mode 100644 index 00000000000..df88d659340 --- /dev/null +++ b/.devcontainer/devcontainer-build.json @@ -0,0 +1,73 @@ +{ + "name": "Dash Platform Dev Container", + "build": { + "dockerfile": "Dockerfile", + "context": ".." + }, + "customizations": { + "vscode": { + "settings": {}, + "extensions": [ + "arcanis.vscode-zipfs", + "chrmarti.regex", + "davidanson.vscode-markdownlint", + "ms-vscode.cmake-tools", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "vadimcn.vscode-lldb", + "rust-lang.rust-analyzer", + "tamasfe.even-better-toml", + "zhangyue.rust-mod-generator", + "ms-azuretools.vscode-docker" + ] + } + }, + "remoteUser": "vscode", + "mounts": [ + { + "source": "devcontainer-platform-cargo-registry-index-${devcontainerId}", + "target": "/home/vscode/.cargo/registry", + "type": "volume" + }, + { + "source": "devcontainer-platform-cargo-registry-cache-${devcontainerId}", + "target": "/home/vscode/.cargo/registry/cache", + "type": "volume" + }, + { + "source": "devcontainer-platform-cargo-git-db-${devcontainerId}", + "target": "/home/vscode/.cargo/git/db", + "type": "volume" + }, + { + "source": "devcontainer-platform-target-${devcontainerId}", + "target": "${containerWorkspaceFolder}/target", + "type": "volume" + } + ], + "features": { + "ghcr.io/devcontainers/features/common-utils:2": { + "installZsh": "true", + "username": "vscode", + "userUid": "1000", + "userGid": "1000", + "upgradePackages": "true" + }, + "ghcr.io/devcontainers/features/git:1": { + "version": "latest", + "ppa": "false" + }, + "ghcr.io/devcontainers/features/github-cli:1": {}, + "ghcr.io/devcontainers/features/node:1": { + "version": 20, + "installYarnUsingApt": false + }, + "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {}, + "ghcr.io/devcontainers/features/docker-in-docker:2": {}, + "ghcr.io/schlich/devcontainer-features/starship:0": {}, + }, + "postCreateCommand": { + "git-safe": "git config --global --add safe.directory ${containerWorkspaceFolder}", + "cargo-permissions": "sudo chown -R vscode:vscode /home/vscode/.cargo ${containerWorkspaceFolder}/target" + } +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000000..586571ba2b1 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Dash Platform Dev Container", + "image": "ghcr.io/dashpay/platform/devcontainer:0.1.0" +} diff --git a/.github/actions/rust/action.yaml b/.github/actions/rust/action.yaml index 01239962fc1..cdfc7e11e63 100644 --- a/.github/actions/rust/action.yaml +++ b/.github/actions/rust/action.yaml @@ -3,9 +3,8 @@ name: "Rust Dependencies" description: "Install dependencies" inputs: toolchain: - description: Rust toolchain to use, stable / nightly / beta, or exact version - # The same as in /README.md - default: "1.76" + description: Rust toolchain to use, stable / nightly / beta, or exact version; uses rust-toolchain.toml if not specified + default: "" target: description: Target Rust platform required: false @@ -21,11 +20,24 @@ inputs: runs: using: composite steps: + - name: Extract Rust toolchain version from rust-toolchain.toml + shell: bash + id: rust_toolchain + run: | + TOOLCHAIN_VERSION="${{ inputs.toolchain }}" + if [[ -z "$TOOLCHAIN_VERSION" ]]; then + TOOLCHAIN_VERSION=$(grep channel rust-toolchain.toml | awk '{print $3}' | tr -d '"') + fi + + echo "TOOLCHAIN_VERSION=$TOOLCHAIN_VERSION" >> $GITHUB_ENV + echo "::set-output name=version::$TOOLCHAIN_VERSION" + # TODO: Move to AMI and build every day - uses: dtolnay/rust-toolchain@master name: Install Rust toolchain + id: install_rust with: - toolchain: ${{ inputs.toolchain }} + toolchain: ${{ steps.rust_toolchain.outputs.version }} target: ${{ inputs.target }} components: ${{ inputs.components }} diff --git a/.github/workflows/prebuild-devcontainers.yml b/.github/workflows/prebuild-devcontainers.yml new file mode 100644 index 00000000000..794fa3d4a56 --- /dev/null +++ b/.github/workflows/prebuild-devcontainers.yml @@ -0,0 +1,58 @@ +name: Prebuild Dev Containers + +on: + push: + paths: + - '.devcontainer/**' + - '.github/workflows/prebuild-devcontainers.yml' + - rust-toolchain.toml + - Dockerfile + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build and push devcontainer + runs-on: ["self-hosted", "linux", "x64", "ubuntu-platform"] + timeout-minutes: 60 + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Setup Node.JS + uses: actions/setup-node@v4 + with: + node-version: "20" + + - name: Install skopeo + run: | + sudo apt-get update + sudo apt-get install -y skopeo + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@v3 + with: + use: true + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: dashpay + password: ${{ secrets.GHCR_TOKEN }} + + - name: Build and push Platform devcontainer + uses: devcontainers/ci@v0.3 + with: + imageName: ghcr.io/dashpay/platform/devcontainer + imageTag: 0.1.0 + platform: linux/amd64,linux/arm64 + configFile: .devcontainer/devcontainer-build.json + push: always + cacheFrom: ghcr.io/dashpay/platform/devcontainer diff --git a/.github/workflows/release-docker-image.yml b/.github/workflows/release-docker-image.yml index a8ed8273ca9..5c56ade272f 100644 --- a/.github/workflows/release-docker-image.yml +++ b/.github/workflows/release-docker-image.yml @@ -17,8 +17,16 @@ on: type: string description: Image target. i.e. drive-abci, dapi required: true + tag: + type: string + description: Image tag, i.e. v0.1.0; note it can be inherited from 'workflow_dispatch' event + default: ${{ github.event.inputs.tag || github.event.release.tag_name }} + cargo_profile: + type: string + description: Cargo profile. i.e. release, dev + default: release env: - DIGEST_NAME: digests-${{ inputs.image_org }}-${{ inputs.image_name }}-${{ github.sha }} + DIGEST_NAME: digests-${{ inputs.image_org }}-${{ inputs.image_name }}-${{ inputs.tag }}-${{ inputs.cargo_profile }}-${{ github.sha }} DIGEST_DIR_PATH: /tmp/digests jobs: @@ -29,9 +37,9 @@ jobs: strategy: matrix: include: - - runner: [ "self-hosted", "linux", "x64", "ubuntu-platform" ] + - runner: ["self-hosted", "linux", "x64", "ubuntu-platform"] platform: linux/amd64 - - runner: [ "self-hosted", "linux", "arm64", "ubuntu-platform" ] + - runner: ["self-hosted", "linux", "arm64", "ubuntu-platform"] platform: linux/arm64 steps: - name: Check out repo @@ -52,10 +60,10 @@ jobs: with: image_name: ${{ inputs.image_name }} image_org: ${{ inputs.image_org }} - image_version: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.tag || github.event.release.tag_name }} + image_version: ${{ inputs.tag }} target: ${{ inputs.target }} platform: ${{ matrix.platform }} - cargo_profile: release + cargo_profile: ${{ inputs.cargo_profile }} dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }} region: ${{ secrets.AWS_REGION }} @@ -92,29 +100,17 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Get image version - uses: actions/github-script@v6 - id: version - with: - result-encoding: string - script: | - return ( - context.eventName === 'workflow_dispatch' - ? '${{ github.event.inputs.tag }}' - : context.payload.release.tag_name - ); - - name: Set suffix uses: actions/github-script@v6 id: suffix with: result-encoding: string script: | - const fullTag = '${{ steps.version.outputs.result }}'; + const fullTag = '${{ inputs.tag }}'; if (fullTag.includes('-')) { - const [, fullSuffix] = fullTag.split('-'); - const [suffix] = fullSuffix.split('.'); - return `-${suffix}`; + const suffixes = fullTag.split('-').slice(1); + const firstElements = suffixes.map(suffix => suffix.split('.')[0]); + return `-${firstElements.join('-')}`; } else { return ''; } @@ -125,10 +121,10 @@ jobs: with: images: ${{ inputs.image_org }}/${{ inputs.image_name }} tags: | - type=match,pattern=v(\d+),group=1,value=${{ steps.version.outputs.result }} - type=match,pattern=v(\d+.\d+),group=1,value=${{ steps.version.outputs.result }} - type=match,pattern=v(\d+.\d+.\d+),group=1,value=${{ steps.version.outputs.result }} - type=match,pattern=v(.*),group=1,value=${{ steps.version.outputs.result }},suffix= + type=match,pattern=v(.*),group=1,value=${{ inputs.tag }},priority=910,suffix= + type=match,pattern=v(\d+),group=1,value=${{ inputs.tag }} + type=match,pattern=v(\d+.\d+),group=1,value=${{ inputs.tag }} + type=match,pattern=v(\d+.\d+.\d+),group=1,value=${{ inputs.tag }} flavor: | suffix=${{ steps.suffix.outputs.result }},onlatest=true latest=${{ github.event_name == 'release' }} @@ -138,7 +134,6 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Create manifest list and push working-directory: ${{ env.DIGEST_DIR_PATH }} run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 036e6ac49c4..09a9d209c94 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,10 @@ on: tag: description: "Version (i.e. v0.22.3-pre.2)" required: true + only_drive: + type: boolean + description: Only build Drive image + default: false concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -17,7 +21,7 @@ concurrency: jobs: release-npm: name: Release NPM packages - runs-on: [ "self-hosted", "linux", "arm64", "ubuntu-platform" ] + runs-on: ["self-hosted", "linux", "arm64", "ubuntu-platform"] timeout-minutes: 15 if: github.event_name != 'workflow_dispatch' steps: @@ -81,7 +85,7 @@ jobs: with: result-encoding: string script: | - const fullTag = context.payload.release.tag_name; + const fullTag = "${{ inputs.tag }}" || context.payload.release.tag_name; if (fullTag.includes('-')) { const [, fullSuffix] = fullTag.split('-'); const [suffix] = fullSuffix.split('.'); @@ -96,10 +100,15 @@ jobs: with: result-encoding: string script: | - const tag = context.payload.release.tag_name; + const tag = "${{ inputs.tag }}" || context.payload.release.tag_name; const [, major, minor] = tag.match(/^v([0-9]+)\.([0-9]+)/); return (tag.includes('-') ? `${major}.${minor}-${{steps.suffix.outputs.result}}` : 'latest'); + - name: Show NPM release tag + run: | + echo "NPM suffix: ${{ steps.suffix.outputs.result }}" + echo "NPM release tag: ${{ steps.tag.outputs.result }}" + - name: Configure NPM auth token run: yarn config set npmAuthToken ${{ secrets.NPM_TOKEN }} @@ -136,9 +145,23 @@ jobs: image_org: dashpay image_name: drive target: drive-abci + tag: ${{ inputs.tag || github.event.release.tag_name }} + + release-drive-image-debug: + name: Release Drive debug image + secrets: inherit + uses: ./.github/workflows/release-docker-image.yml + with: + name: Drive + image_org: dashpay + image_name: drive + target: drive-abci + cargo_profile: dev + tag: ${{ inputs.tag || github.event.release.tag_name }}-debug release-dapi-image: name: Release DAPI image + if: ${{ !inputs.only_drive }} secrets: inherit uses: ./.github/workflows/release-docker-image.yml with: @@ -146,9 +169,11 @@ jobs: image_org: dashpay image_name: dapi target: dapi + tag: ${{ inputs.tag || github.event.release.tag_name }} release-test-suite-image: name: Release Test Suite image + if: ${{ !inputs.only_drive }} secrets: inherit uses: ./.github/workflows/release-docker-image.yml with: @@ -156,20 +181,24 @@ jobs: image_org: dashpay image_name: platform-test-suite target: test-suite + tag: ${{ inputs.tag || github.event.release.tag_name }} release-dashmate-helper-image: name: Release Dashmate Helper image secrets: inherit + if: ${{ !inputs.only_drive }} uses: ./.github/workflows/release-docker-image.yml with: name: Dashmate Helper image_org: dashpay image_name: dashmate-helper target: dashmate-helper + tag: ${{ inputs.tag || github.event.release.tag_name }} release-dashmate-packages: name: Release Dashmate packages runs-on: ${{ matrix.os }} + if: ${{ !inputs.only_drive }} needs: release-npm permissions: id-token: write # s3 cache @@ -185,12 +214,12 @@ jobs: - package_type: deb os: ubuntu-22.04 - package_type: macos - os: macos-12 + os: macos-14 steps: - name: Check out repo uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 0 - name: Configure AWS credentials and bucket region uses: aws-actions/configure-aws-credentials@v4 diff --git a/.pnp.cjs b/.pnp.cjs index be7f91a39fb..7b11ce621c1 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2678,7 +2678,7 @@ const RAW_RUNTIME_STATE = ["url", "npm:0.11.3"],\ ["util", "npm:0.12.4"],\ ["wasm-x11-hash", "npm:0.0.2"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1"],\ + ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0"],\ ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"],\ ["winston", "npm:3.3.3"]\ ],\ @@ -2763,7 +2763,7 @@ const RAW_RUNTIME_STATE = ["bloom-filter", "npm:0.2.0"],\ ["bn.js", "npm:4.12.0"],\ ["bs58", "npm:4.0.1"],\ - ["elliptic", "npm:6.5.4"],\ + ["elliptic", "npm:6.5.7"],\ ["inherits", "npm:2.0.1"],\ ["lodash", "npm:4.17.21"],\ ["ripemd160", "npm:2.0.2"],\ @@ -2991,7 +2991,7 @@ const RAW_RUNTIME_STATE = ["url", "npm:0.11.3"],\ ["utf-8-validate", "npm:5.0.9"],\ ["util", "npm:0.12.4"],\ - ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.76.1"],\ + ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.94.0"],\ ["ws", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:8.17.1"]\ ],\ "linkType": "SOFT"\ @@ -3079,7 +3079,7 @@ const RAW_RUNTIME_STATE = ["url", "npm:0.11.3"],\ ["util", "npm:0.12.4"],\ ["wasm-x11-hash", "npm:0.0.2"],\ - ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.76.1"],\ + ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.94.0"],\ ["webpack-cli", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:4.9.1"],\ ["winston", "npm:3.3.3"]\ ],\ @@ -3141,7 +3141,7 @@ const RAW_RUNTIME_STATE = ["url", "npm:0.11.3"],\ ["util", "npm:0.12.4"],\ ["varint", "npm:6.0.0"],\ - ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1"],\ + ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0"],\ ["webpack-cli", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:4.9.1"]\ ],\ "linkType": "SOFT"\ @@ -3397,6 +3397,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@isaacs/fs-minipass", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-4412e9e671.zip/node_modules/@isaacs/fs-minipass/",\ + "packageDependencies": [\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@isaacs/string-locale-compare", [\ ["npm:1.1.0", {\ "packageLocation": "./.yarn/cache/@isaacs-string-locale-compare-npm-1.1.0-3911094464-85682b1460.zip/node_modules/@isaacs/string-locale-compare/",\ @@ -3449,6 +3459,16 @@ const RAW_RUNTIME_STATE = ["@jridgewell/trace-mapping", "npm:0.3.18"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:0.3.5", {\ + "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.3.5"],\ + ["@jridgewell/set-array", "npm:1.2.1"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.14"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@jridgewell/resolve-uri", [\ @@ -3458,6 +3478,13 @@ const RAW_RUNTIME_STATE = ["@jridgewell/resolve-uri", "npm:3.1.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageDependencies": [\ + ["@jridgewell/resolve-uri", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@jridgewell/set-array", [\ @@ -3467,6 +3494,13 @@ const RAW_RUNTIME_STATE = ["@jridgewell/set-array", "npm:1.1.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip/node_modules/@jridgewell/set-array/",\ + "packageDependencies": [\ + ["@jridgewell/set-array", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@jridgewell/source-map", [\ @@ -3478,6 +3512,15 @@ const RAW_RUNTIME_STATE = ["@jridgewell/trace-mapping", "npm:0.3.18"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:0.3.6", {\ + "packageLocation": "./.yarn/cache/@jridgewell-source-map-npm-0.3.6-fe0849eb05-0a9aca9320.zip/node_modules/@jridgewell/source-map/",\ + "packageDependencies": [\ + ["@jridgewell/source-map", "npm:0.3.6"],\ + ["@jridgewell/gen-mapping", "npm:0.3.5"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@jridgewell/sourcemap-codec", [\ @@ -3487,6 +3530,13 @@ const RAW_RUNTIME_STATE = ["@jridgewell/sourcemap-codec", "npm:1.4.14"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.5.0", {\ + "packageLocation": "./.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-4ed6123217.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageDependencies": [\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@jridgewell/trace-mapping", [\ @@ -3499,6 +3549,15 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:0.3.25", {\ + "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@jridgewell/resolve-uri", "npm:3.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:0.3.9", {\ "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-83deafb8e7.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ @@ -4612,26 +4671,6 @@ const RAW_RUNTIME_STATE = ["@types/json-schema", "npm:7.0.15"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:8.2.0", {\ - "packageLocation": "./.yarn/cache/@types-eslint-npm-8.2.0-971aa21b00-1e8100311e.zip/node_modules/@types/eslint/",\ - "packageDependencies": [\ - ["@types/eslint", "npm:8.2.0"],\ - ["@types/estree", "npm:0.0.51"],\ - ["@types/json-schema", "npm:7.0.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/eslint-scope", [\ - ["npm:3.7.4", {\ - "packageLocation": "./.yarn/cache/@types-eslint-scope-npm-3.7.4-c11d226d71-ea6a9363e9.zip/node_modules/@types/eslint-scope/",\ - "packageDependencies": [\ - ["@types/eslint-scope", "npm:3.7.4"],\ - ["@types/eslint", "npm:8.2.0"],\ - ["@types/estree", "npm:0.0.51"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@types/estree", [\ @@ -4641,6 +4680,13 @@ const RAW_RUNTIME_STATE = ["@types/estree", "npm:0.0.51"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-7de6d928dd.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@types/expect", [\ @@ -5164,171 +5210,171 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@webassemblyjs/ast", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-ast-npm-1.11.1-623d3d973e-28cc949e2e.zip/node_modules/@webassemblyjs/ast/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-ast-npm-1.12.1-3ff9ea1c0e-a775b05594.zip/node_modules/@webassemblyjs/ast/",\ "packageDependencies": [\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/helper-numbers", "npm:1.11.1"],\ - ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"]\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/helper-numbers", "npm:1.11.6"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/floating-point-hex-parser", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.1-f8af5c0037-b8efc6fa08.zip/node_modules/@webassemblyjs/floating-point-hex-parser/",\ + ["npm:1.11.6", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.6-3a9928fc76-29b0875884.zip/node_modules/@webassemblyjs/floating-point-hex-parser/",\ "packageDependencies": [\ - ["@webassemblyjs/floating-point-hex-parser", "npm:1.11.1"]\ + ["@webassemblyjs/floating-point-hex-parser", "npm:1.11.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/helper-api-error", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.1-b839d59053-0792813f0e.zip/node_modules/@webassemblyjs/helper-api-error/",\ + ["npm:1.11.6", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.6-75f6275ff4-e8563df851.zip/node_modules/@webassemblyjs/helper-api-error/",\ "packageDependencies": [\ - ["@webassemblyjs/helper-api-error", "npm:1.11.1"]\ + ["@webassemblyjs/helper-api-error", "npm:1.11.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/helper-buffer", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-helper-buffer-npm-1.11.1-6afb1ef4aa-a337ee44b4.zip/node_modules/@webassemblyjs/helper-buffer/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-buffer-npm-1.12.1-d025434a45-1d8705daa4.zip/node_modules/@webassemblyjs/helper-buffer/",\ "packageDependencies": [\ - ["@webassemblyjs/helper-buffer", "npm:1.11.1"]\ + ["@webassemblyjs/helper-buffer", "npm:1.12.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/helper-numbers", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.1-a41f7439eb-cbe5b456fa.zip/node_modules/@webassemblyjs/helper-numbers/",\ + ["npm:1.11.6", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.6-819ddab1da-9ffd258ad8.zip/node_modules/@webassemblyjs/helper-numbers/",\ "packageDependencies": [\ - ["@webassemblyjs/helper-numbers", "npm:1.11.1"],\ - ["@webassemblyjs/floating-point-hex-parser", "npm:1.11.1"],\ - ["@webassemblyjs/helper-api-error", "npm:1.11.1"],\ + ["@webassemblyjs/helper-numbers", "npm:1.11.6"],\ + ["@webassemblyjs/floating-point-hex-parser", "npm:1.11.6"],\ + ["@webassemblyjs/helper-api-error", "npm:1.11.6"],\ ["@xtuc/long", "npm:4.2.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/helper-wasm-bytecode", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.1-84f0ee4c30-009b494010.zip/node_modules/@webassemblyjs/helper-wasm-bytecode/",\ + ["npm:1.11.6", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.6-3bc23747de-4ebf03e9c1.zip/node_modules/@webassemblyjs/helper-wasm-bytecode/",\ "packageDependencies": [\ - ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"]\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/helper-wasm-section", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.11.1-e4e8450b9d-dd6eee9f73.zip/node_modules/@webassemblyjs/helper-wasm-section/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.12.1-cd0e2f1eab-e91e6b2811.zip/node_modules/@webassemblyjs/helper-wasm-section/",\ "packageDependencies": [\ - ["@webassemblyjs/helper-wasm-section", "npm:1.11.1"],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/helper-buffer", "npm:1.11.1"],\ - ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-gen", "npm:1.11.1"]\ + ["@webassemblyjs/helper-wasm-section", "npm:1.12.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/helper-buffer", "npm:1.12.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.6"],\ + ["@webassemblyjs/wasm-gen", "npm:1.12.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/ieee754", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-ieee754-npm-1.11.1-897eb85879-23a0ac02a5.zip/node_modules/@webassemblyjs/ieee754/",\ + ["npm:1.11.6", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-ieee754-npm-1.11.6-95c92f446a-13574b8e41.zip/node_modules/@webassemblyjs/ieee754/",\ "packageDependencies": [\ - ["@webassemblyjs/ieee754", "npm:1.11.1"],\ + ["@webassemblyjs/ieee754", "npm:1.11.6"],\ ["@xtuc/ieee754", "npm:1.2.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/leb128", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-leb128-npm-1.11.1-fd9f27673d-85beb7156f.zip/node_modules/@webassemblyjs/leb128/",\ + ["npm:1.11.6", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-leb128-npm-1.11.6-697d62da2e-ec3b72db0e.zip/node_modules/@webassemblyjs/leb128/",\ "packageDependencies": [\ - ["@webassemblyjs/leb128", "npm:1.11.1"],\ + ["@webassemblyjs/leb128", "npm:1.11.6"],\ ["@xtuc/long", "npm:4.2.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/utf8", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-utf8-npm-1.11.1-583036e767-b93e57912d.zip/node_modules/@webassemblyjs/utf8/",\ + ["npm:1.11.6", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-utf8-npm-1.11.6-102c4e5d68-361a537bd6.zip/node_modules/@webassemblyjs/utf8/",\ "packageDependencies": [\ - ["@webassemblyjs/utf8", "npm:1.11.1"]\ + ["@webassemblyjs/utf8", "npm:1.11.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/wasm-edit", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-edit-npm-1.11.1-34565c1e92-6a029ae21c.zip/node_modules/@webassemblyjs/wasm-edit/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-edit-npm-1.12.1-727bec592a-5678ae02db.zip/node_modules/@webassemblyjs/wasm-edit/",\ "packageDependencies": [\ - ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/helper-buffer", "npm:1.11.1"],\ - ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ - ["@webassemblyjs/helper-wasm-section", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-gen", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-opt", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ - ["@webassemblyjs/wast-printer", "npm:1.11.1"]\ + ["@webassemblyjs/wasm-edit", "npm:1.12.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/helper-buffer", "npm:1.12.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.6"],\ + ["@webassemblyjs/helper-wasm-section", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-gen", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-opt", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"],\ + ["@webassemblyjs/wast-printer", "npm:1.12.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/wasm-gen", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-gen-npm-1.11.1-a6d0b4d37d-5da040e780.zip/node_modules/@webassemblyjs/wasm-gen/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-gen-npm-1.12.1-bbe22ad265-ec45bd50e8.zip/node_modules/@webassemblyjs/wasm-gen/",\ "packageDependencies": [\ - ["@webassemblyjs/wasm-gen", "npm:1.11.1"],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ - ["@webassemblyjs/ieee754", "npm:1.11.1"],\ - ["@webassemblyjs/leb128", "npm:1.11.1"],\ - ["@webassemblyjs/utf8", "npm:1.11.1"]\ + ["@webassemblyjs/wasm-gen", "npm:1.12.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.6"],\ + ["@webassemblyjs/ieee754", "npm:1.11.6"],\ + ["@webassemblyjs/leb128", "npm:1.11.6"],\ + ["@webassemblyjs/utf8", "npm:1.11.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/wasm-opt", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-opt-npm-1.11.1-0bb73c20b9-00f85d1f76.zip/node_modules/@webassemblyjs/wasm-opt/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-opt-npm-1.12.1-450c932de6-21f25ae109.zip/node_modules/@webassemblyjs/wasm-opt/",\ "packageDependencies": [\ - ["@webassemblyjs/wasm-opt", "npm:1.11.1"],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/helper-buffer", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-gen", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"]\ + ["@webassemblyjs/wasm-opt", "npm:1.12.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/helper-buffer", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-gen", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/wasm-parser", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-parser-npm-1.11.1-cd49c51fdc-cc6de8f4d9.zip/node_modules/@webassemblyjs/wasm-parser/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-parser-npm-1.12.1-54a7a19806-f7311685b7.zip/node_modules/@webassemblyjs/wasm-parser/",\ "packageDependencies": [\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/helper-api-error", "npm:1.11.1"],\ - ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ - ["@webassemblyjs/ieee754", "npm:1.11.1"],\ - ["@webassemblyjs/leb128", "npm:1.11.1"],\ - ["@webassemblyjs/utf8", "npm:1.11.1"]\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/helper-api-error", "npm:1.11.6"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.6"],\ + ["@webassemblyjs/ieee754", "npm:1.11.6"],\ + ["@webassemblyjs/leb128", "npm:1.11.6"],\ + ["@webassemblyjs/utf8", "npm:1.11.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/wast-printer", [\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/@webassemblyjs-wast-printer-npm-1.11.1-f1213430d6-bd1cf7a063.zip/node_modules/@webassemblyjs/wast-printer/",\ + ["npm:1.12.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wast-printer-npm-1.12.1-e75655c7ff-1a6a4b6bc4.zip/node_modules/@webassemblyjs/wast-printer/",\ "packageDependencies": [\ - ["@webassemblyjs/wast-printer", "npm:1.11.1"],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/wast-printer", "npm:1.12.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ ["@xtuc/long", "npm:4.2.2"]\ ],\ "linkType": "HARD"\ @@ -5348,7 +5394,7 @@ const RAW_RUNTIME_STATE = ["@webpack-cli/configtest", "virtual:0249f7ceb5542d6b732af2b44f9fcd16c60be8b8440f0f3abc6a5de67aabcff731bc3bc83f3067ab2f9037661176f001f89208fcea9e8962835fd43d0aabe88a#npm:1.1.0"],\ ["@types/webpack", null],\ ["@types/webpack-cli", null],\ - ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.76.1"],\ + ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.94.0"],\ ["webpack-cli", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:4.9.1"]\ ],\ "packagePeers": [\ @@ -5365,7 +5411,7 @@ const RAW_RUNTIME_STATE = ["@webpack-cli/configtest", "virtual:16885aa8448c33477ea2cd730ac3a5bbbcb89a3f570f5364364e7dc5830b16f19367cec64b723cc62ddb3078b4ee0f0ce5d244584279bc98369c8ee9e5959a27#npm:1.1.0"],\ ["@types/webpack", null],\ ["@types/webpack-cli", null],\ - ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1"],\ + ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0"],\ ["webpack-cli", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:4.9.1"]\ ],\ "packagePeers": [\ @@ -5382,7 +5428,7 @@ const RAW_RUNTIME_STATE = ["@webpack-cli/configtest", "virtual:7fc88da9d00679384dc013444a3b1ed8ef8395fcad9d046790a1851d5db985e5ee052061731f87c5475e4bf20a92d69ea1a1a287c0d76d7b1a6bf97010c63532#npm:1.1.0"],\ ["@types/webpack", null],\ ["@types/webpack-cli", null],\ - ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1"],\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"],\ ["webpack-cli", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:4.9.1"]\ ],\ "packagePeers": [\ @@ -5399,7 +5445,7 @@ const RAW_RUNTIME_STATE = ["@webpack-cli/configtest", "virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.1.0"],\ ["@types/webpack", null],\ ["@types/webpack-cli", null],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1"],\ + ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0"],\ ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"]\ ],\ "packagePeers": [\ @@ -5592,7 +5638,7 @@ const RAW_RUNTIME_STATE = ["globby", "npm:11.1.0"],\ ["got", "npm:11.8.6"],\ ["lodash", "npm:4.17.21"],\ - ["micromatch", "npm:4.0.4"],\ + ["micromatch", "npm:4.0.7"],\ ["p-limit", "npm:2.3.0"],\ ["semver", "npm:7.5.3"],\ ["strip-ansi", "npm:6.0.1"],\ @@ -5698,7 +5744,7 @@ const RAW_RUNTIME_STATE = ["clipanion", "virtual:ba24742e5bfaec41d1d0434e6865c2744ffb69a716f18fa84bd7d44084043647838926c96a391f66b9946857565b9825479e97ad07079ef40683084ce389d203#npm:3.2.0"],\ ["cross-spawn", "npm:7.0.3"],\ ["fast-glob", "npm:3.2.12"],\ - ["micromatch", "npm:4.0.4"],\ + ["micromatch", "npm:4.0.7"],\ ["tslib", "npm:2.6.2"]\ ],\ "linkType": "HARD"\ @@ -5773,20 +5819,27 @@ const RAW_RUNTIME_STATE = ["acorn", "npm:8.11.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:8.12.1", {\ + "packageLocation": "./.yarn/cache/acorn-npm-8.12.1-610871d57c-d08c2d122b.zip/node_modules/acorn/",\ + "packageDependencies": [\ + ["acorn", "npm:8.12.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ - ["acorn-import-assertions", [\ - ["npm:1.8.0", {\ - "packageLocation": "./.yarn/cache/acorn-import-assertions-npm-1.8.0-e9a9d57e27-d61a8a1c1e.zip/node_modules/acorn-import-assertions/",\ + ["acorn-import-attributes", [\ + ["npm:1.9.5", {\ + "packageLocation": "./.yarn/cache/acorn-import-attributes-npm-1.9.5-d1e666eb35-8bfbfbb6e2.zip/node_modules/acorn-import-attributes/",\ "packageDependencies": [\ - ["acorn-import-assertions", "npm:1.8.0"]\ + ["acorn-import-attributes", "npm:1.9.5"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:1.8.0", {\ - "packageLocation": "./.yarn/__virtual__/acorn-import-assertions-virtual-9009cc8977/0/cache/acorn-import-assertions-npm-1.8.0-e9a9d57e27-d61a8a1c1e.zip/node_modules/acorn-import-assertions/",\ + ["virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:1.9.5", {\ + "packageLocation": "./.yarn/__virtual__/acorn-import-attributes-virtual-7759da536e/0/cache/acorn-import-attributes-npm-1.9.5-d1e666eb35-8bfbfbb6e2.zip/node_modules/acorn-import-attributes/",\ "packageDependencies": [\ - ["acorn-import-assertions", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:1.8.0"],\ + ["acorn-import-attributes", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:1.9.5"],\ ["@types/acorn", null],\ ["acorn", "npm:8.11.2"]\ ],\ @@ -5948,12 +6001,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2", {\ - "packageLocation": "./.yarn/__virtual__/ajv-keywords-virtual-8b373d3ee8/0/cache/ajv-keywords-npm-3.5.2-0e391b70e2-d57c9d5bf8.zip/node_modules/ajv-keywords/",\ + ["virtual:e822c5b02ef2b3c5fb9c8d88d5e0ca208365bff76f80510f4ccf9b1de44e2078264bcb00d3cdd5e193c256e9ab81e27c34fcfb1ad3a0e8c1dc8fa0066c78c468#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/ajv-keywords-virtual-7d79801060/0/cache/ajv-keywords-npm-5.1.0-ee670a3944-5021f96ab7.zip/node_modules/ajv-keywords/",\ "packageDependencies": [\ - ["ajv-keywords", "virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2"],\ + ["ajv-keywords", "virtual:e822c5b02ef2b3c5fb9c8d88d5e0ca208365bff76f80510f4ccf9b1de44e2078264bcb00d3cdd5e193c256e9ab81e27c34fcfb1ad3a0e8c1dc8fa0066c78c468#npm:5.1.0"],\ ["@types/ajv", null],\ - ["ajv", "npm:6.12.6"]\ + ["ajv", "npm:8.12.0"],\ + ["fast-deep-equal", "npm:3.1.3"]\ ],\ "packagePeers": [\ "@types/ajv",\ @@ -5961,13 +6015,12 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:e822c5b02ef2b3c5fb9c8d88d5e0ca208365bff76f80510f4ccf9b1de44e2078264bcb00d3cdd5e193c256e9ab81e27c34fcfb1ad3a0e8c1dc8fa0066c78c468#npm:5.1.0", {\ - "packageLocation": "./.yarn/__virtual__/ajv-keywords-virtual-7d79801060/0/cache/ajv-keywords-npm-5.1.0-ee670a3944-5021f96ab7.zip/node_modules/ajv-keywords/",\ + ["virtual:f2b36937f163b579815d3163513b3330d7a31aaf0599eea66346382b8838395c613f4204e9809cc2ff6bba09c17ab0c34b37deadcb147de7e2f5e535d6ccc245#npm:3.5.2", {\ + "packageLocation": "./.yarn/__virtual__/ajv-keywords-virtual-80fc73abbe/0/cache/ajv-keywords-npm-3.5.2-0e391b70e2-d57c9d5bf8.zip/node_modules/ajv-keywords/",\ "packageDependencies": [\ - ["ajv-keywords", "virtual:e822c5b02ef2b3c5fb9c8d88d5e0ca208365bff76f80510f4ccf9b1de44e2078264bcb00d3cdd5e193c256e9ab81e27c34fcfb1ad3a0e8c1dc8fa0066c78c468#npm:5.1.0"],\ + ["ajv-keywords", "virtual:f2b36937f163b579815d3163513b3330d7a31aaf0599eea66346382b8838395c613f4204e9809cc2ff6bba09c17ab0c34b37deadcb147de7e2f5e535d6ccc245#npm:3.5.2"],\ ["@types/ajv", null],\ - ["ajv", "npm:8.12.0"],\ - ["fast-deep-equal", "npm:3.1.3"]\ + ["ajv", "npm:6.12.6"]\ ],\ "packagePeers": [\ "@types/ajv",\ @@ -6466,7 +6519,7 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["find-cache-dir", "npm:4.0.0"],\ ["schema-utils", "npm:4.2.0"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1"]\ + ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0"]\ ],\ "packagePeers": [\ "@babel/core",\ @@ -6716,20 +6769,22 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["body-parser", [\ - ["npm:1.19.0", {\ - "packageLocation": "./.yarn/cache/body-parser-npm-1.19.0-6e177cabfa-6ed5f3f42f.zip/node_modules/body-parser/",\ + ["npm:1.20.3", {\ + "packageLocation": "./.yarn/cache/body-parser-npm-1.20.3-c7b184cd14-8723e3d7a6.zip/node_modules/body-parser/",\ "packageDependencies": [\ - ["body-parser", "npm:1.19.0"],\ - ["bytes", "npm:3.1.0"],\ - ["content-type", "npm:1.0.4"],\ - ["debug", "virtual:6e177cabfad012f413f9c41366539c04d8701f0567119998690ab02224012faa99ec3a16b9f74f4d7920ab472c12b3e70f47f8f143239c06d0e2569e60ed9f62#npm:2.6.9"],\ - ["depd", "npm:1.1.2"],\ - ["http-errors", "npm:1.7.2"],\ + ["body-parser", "npm:1.20.3"],\ + ["bytes", "npm:3.1.2"],\ + ["content-type", "npm:1.0.5"],\ + ["debug", "virtual:c7b184cd14c02e3ce555ab1875e60cf5033c617e17d82c4c02ea822101d3c817f48bf25a766b4d4335742dc5c9c14c2e88a57ed955a56c4ad0613899f82f5618#npm:2.6.9"],\ + ["depd", "npm:2.0.0"],\ + ["destroy", "npm:1.2.0"],\ + ["http-errors", "npm:2.0.0"],\ ["iconv-lite", "npm:0.4.24"],\ - ["on-finished", "npm:2.3.0"],\ + ["on-finished", "npm:2.4.1"],\ ["qs", "npm:6.11.0"],\ - ["raw-body", "npm:2.4.0"],\ - ["type-is", "npm:1.6.18"]\ + ["raw-body", "npm:2.5.2"],\ + ["type-is", "npm:1.6.18"],\ + ["unpipe", "npm:1.0.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -6761,6 +6816,14 @@ const RAW_RUNTIME_STATE = ["fill-range", "npm:7.0.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/braces-npm-3.0.3-582c14023c-fad11a0d46.zip/node_modules/braces/",\ + "packageDependencies": [\ + ["braces", "npm:3.0.3"],\ + ["fill-range", "npm:7.1.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["brorand", [\ @@ -6850,7 +6913,7 @@ const RAW_RUNTIME_STATE = ["browserify-rsa", "npm:4.1.0"],\ ["create-hash", "npm:1.2.0"],\ ["create-hmac", "npm:1.1.7"],\ - ["elliptic", "npm:6.5.4"],\ + ["elliptic", "npm:6.5.7"],\ ["inherits", "npm:2.0.4"],\ ["parse-asn1", "npm:5.1.6"],\ ["readable-stream", "npm:3.6.2"],\ @@ -6880,6 +6943,17 @@ const RAW_RUNTIME_STATE = ["update-browserslist-db", "virtual:cccae6d74e613cbaceb4c608cb01004dea3f5ca235673f5c541d60f516ef320907d258256abf63eac9b8704e23cf5d52eb19f2a57a07471accc943ea645de308#npm:1.0.13"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.23.3", {\ + "packageLocation": "./.yarn/cache/browserslist-npm-4.23.3-4e727c7b5b-e266d18c6c.zip/node_modules/browserslist/",\ + "packageDependencies": [\ + ["browserslist", "npm:4.23.3"],\ + ["caniuse-lite", "npm:1.0.30001653"],\ + ["electron-to-chromium", "npm:1.5.13"],\ + ["node-releases", "npm:2.0.18"],\ + ["update-browserslist-db", "virtual:4e727c7b5b033f8d5ac7299f9860cb61f5802656f7b4fea2accd32d68dc1a767387a6d23f0724065d3c65e61cb31b9eec2438ae937ce36e7602b4586ede55af6#npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["bs58", [\ @@ -7005,10 +7079,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["bytes", [\ - ["npm:3.1.0", {\ - "packageLocation": "./.yarn/cache/bytes-npm-3.1.0-19c5b15405-7c3b21c5d9.zip/node_modules/bytes/",\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/bytes-npm-3.1.2-28b8643004-a10abf2ba7.zip/node_modules/bytes/",\ "packageDependencies": [\ - ["bytes", "npm:3.1.0"]\ + ["bytes", "npm:3.1.2"]\ ],\ "linkType": "HARD"\ }]\ @@ -7169,6 +7243,13 @@ const RAW_RUNTIME_STATE = ["caniuse-lite", "npm:1.0.30001561"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.0.30001653", {\ + "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001653-f5f1782475-cd9b1c0fe0.zip/node_modules/caniuse-lite/",\ + "packageDependencies": [\ + ["caniuse-lite", "npm:1.0.30001653"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["capital-case", [\ @@ -7419,6 +7500,13 @@ const RAW_RUNTIME_STATE = ["chownr", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/chownr-npm-3.0.0-5275e85d25-b63cb1f73d.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["chrome-trace-event", [\ @@ -7906,7 +7994,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/connect-npm-3.7.0-25ccb085cc-f94818b198.zip/node_modules/connect/",\ "packageDependencies": [\ ["connect", "npm:3.7.0"],\ - ["debug", "virtual:6e177cabfad012f413f9c41366539c04d8701f0567119998690ab02224012faa99ec3a16b9f74f4d7920ab472c12b3e70f47f8f143239c06d0e2569e60ed9f62#npm:2.6.9"],\ + ["debug", "virtual:c7b184cd14c02e3ce555ab1875e60cf5033c617e17d82c4c02ea822101d3c817f48bf25a766b4d4335742dc5c9c14c2e88a57ed955a56c4ad0613899f82f5618#npm:2.6.9"],\ ["finalhandler", "npm:1.1.2"],\ ["parseurl", "npm:1.3.3"],\ ["utils-merge", "npm:1.0.1"]\ @@ -7952,6 +8040,13 @@ const RAW_RUNTIME_STATE = ["content-type", "npm:1.0.4"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/content-type-npm-1.0.5-3e037bf9ab-585847d98d.zip/node_modules/content-type/",\ + "packageDependencies": [\ + ["content-type", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["conventional-changelog", [\ @@ -8236,7 +8331,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["create-ecdh", "npm:4.0.4"],\ ["bn.js", "npm:4.12.0"],\ - ["elliptic", "npm:6.5.4"]\ + ["elliptic", "npm:6.5.7"]\ ],\ "linkType": "HARD"\ }]\ @@ -8441,7 +8536,7 @@ const RAW_RUNTIME_STATE = ["typescript", "patch:typescript@npm%3A3.9.10#optional!builtin::version=3.9.10&hash=3bd3d3"],\ ["url", "npm:0.11.3"],\ ["util", "npm:0.12.4"],\ - ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1"],\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"],\ ["webpack-cli", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:4.9.1"],\ ["winston", "npm:3.3.3"]\ ],\ @@ -8506,6 +8601,7 @@ const RAW_RUNTIME_STATE = ["sinon-chai", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:3.7.0"],\ ["systeminformation", "npm:5.22.11"],\ ["table", "npm:6.8.1"],\ + ["tar", "npm:7.4.3"],\ ["wrap-ansi", "npm:7.0.0"]\ ],\ "linkType": "SOFT"\ @@ -8614,12 +8710,12 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:6e177cabfad012f413f9c41366539c04d8701f0567119998690ab02224012faa99ec3a16b9f74f4d7920ab472c12b3e70f47f8f143239c06d0e2569e60ed9f62#npm:2.6.9", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-53242bdd6a/0/cache/debug-npm-2.6.9-7d4cb597dc-e07005f2b4.zip/node_modules/debug/",\ + ["virtual:7a0505537f63825f62aaaf982168c2b7c1e816756656d44af98202b8d07990e163024e7dadf5587aa11d691887401ca8792ff06467da4d479c747705c9e87544#npm:4.3.5", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-e443f3d004/0/cache/debug-npm-4.3.5-b5001f59b7-cb6eab424c.zip/node_modules/debug/",\ "packageDependencies": [\ - ["debug", "virtual:6e177cabfad012f413f9c41366539c04d8701f0567119998690ab02224012faa99ec3a16b9f74f4d7920ab472c12b3e70f47f8f143239c06d0e2569e60ed9f62#npm:2.6.9"],\ + ["debug", "virtual:7a0505537f63825f62aaaf982168c2b7c1e816756656d44af98202b8d07990e163024e7dadf5587aa11d691887401ca8792ff06467da4d479c747705c9e87544#npm:4.3.5"],\ ["@types/supports-color", null],\ - ["ms", "npm:2.0.0"],\ + ["ms", "npm:2.1.2"],\ ["supports-color", null]\ ],\ "packagePeers": [\ @@ -8628,13 +8724,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:7a0505537f63825f62aaaf982168c2b7c1e816756656d44af98202b8d07990e163024e7dadf5587aa11d691887401ca8792ff06467da4d479c747705c9e87544#npm:4.3.5", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-e443f3d004/0/cache/debug-npm-4.3.5-b5001f59b7-cb6eab424c.zip/node_modules/debug/",\ + ["virtual:87db25c7c5e6b25bbc12571091cdabc648b79d427ab445d1714ccfdcdfb3265c9de6561ca760cc3de470037cbedf3af4be56ba3b684b3a1c01d4c9c2fd55a741#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-762d08cbe9/0/cache/debug-npm-4.3.4-4513954577-0073c3bcbd.zip/node_modules/debug/",\ "packageDependencies": [\ - ["debug", "virtual:7a0505537f63825f62aaaf982168c2b7c1e816756656d44af98202b8d07990e163024e7dadf5587aa11d691887401ca8792ff06467da4d479c747705c9e87544#npm:4.3.5"],\ + ["debug", "virtual:87db25c7c5e6b25bbc12571091cdabc648b79d427ab445d1714ccfdcdfb3265c9de6561ca760cc3de470037cbedf3af4be56ba3b684b3a1c01d4c9c2fd55a741#npm:4.3.4"],\ ["@types/supports-color", null],\ ["ms", "npm:2.1.2"],\ - ["supports-color", null]\ + ["supports-color", "npm:8.1.1"]\ ],\ "packagePeers": [\ "@types/supports-color",\ @@ -8642,13 +8738,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:87db25c7c5e6b25bbc12571091cdabc648b79d427ab445d1714ccfdcdfb3265c9de6561ca760cc3de470037cbedf3af4be56ba3b684b3a1c01d4c9c2fd55a741#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-762d08cbe9/0/cache/debug-npm-4.3.4-4513954577-0073c3bcbd.zip/node_modules/debug/",\ + ["virtual:c7b184cd14c02e3ce555ab1875e60cf5033c617e17d82c4c02ea822101d3c817f48bf25a766b4d4335742dc5c9c14c2e88a57ed955a56c4ad0613899f82f5618#npm:2.6.9", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-ce39f1817a/0/cache/debug-npm-2.6.9-7d4cb597dc-e07005f2b4.zip/node_modules/debug/",\ "packageDependencies": [\ - ["debug", "virtual:87db25c7c5e6b25bbc12571091cdabc648b79d427ab445d1714ccfdcdfb3265c9de6561ca760cc3de470037cbedf3af4be56ba3b684b3a1c01d4c9c2fd55a741#npm:4.3.4"],\ + ["debug", "virtual:c7b184cd14c02e3ce555ab1875e60cf5033c617e17d82c4c02ea822101d3c817f48bf25a766b4d4335742dc5c9c14c2e88a57ed955a56c4ad0613899f82f5618#npm:2.6.9"],\ ["@types/supports-color", null],\ - ["ms", "npm:2.1.2"],\ - ["supports-color", "npm:8.1.1"]\ + ["ms", "npm:2.0.0"],\ + ["supports-color", null]\ ],\ "packagePeers": [\ "@types/supports-color",\ @@ -8846,13 +8942,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["depd", [\ - ["npm:1.1.2", {\ - "packageLocation": "./.yarn/cache/depd-npm-1.1.2-b0c8414da7-2ed6966fc1.zip/node_modules/depd/",\ - "packageDependencies": [\ - ["depd", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/depd-npm-2.0.0-b6c51a4b43-c0c8ff3607.zip/node_modules/depd/",\ "packageDependencies": [\ @@ -8881,6 +8970,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["destroy", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip/node_modules/destroy/",\ + "packageDependencies": [\ + ["destroy", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["dezalgo", [\ ["npm:1.0.3", {\ "packageLocation": "./.yarn/cache/dezalgo-npm-1.0.3-e2bc978ebd-960f4b6230.zip/node_modules/dezalgo/",\ @@ -9178,13 +9276,20 @@ const RAW_RUNTIME_STATE = ["electron-to-chromium", "npm:1.4.581"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.5.13", {\ + "packageLocation": "./.yarn/cache/electron-to-chromium-npm-1.5.13-be9902b49c-b3de6dbca6.zip/node_modules/electron-to-chromium/",\ + "packageDependencies": [\ + ["electron-to-chromium", "npm:1.5.13"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["elliptic", [\ - ["npm:6.5.4", {\ - "packageLocation": "./.yarn/cache/elliptic-npm-6.5.4-0ca8204a86-2cd7ff4b69.zip/node_modules/elliptic/",\ + ["npm:6.5.7", {\ + "packageLocation": "./.yarn/cache/elliptic-npm-6.5.7-df8e79dc1f-fbad1fad0a.zip/node_modules/elliptic/",\ "packageDependencies": [\ - ["elliptic", "npm:6.5.4"],\ + ["elliptic", "npm:6.5.7"],\ ["bn.js", "npm:4.12.0"],\ ["brorand", "npm:1.1.0"],\ ["hash.js", "npm:1.1.7"],\ @@ -9287,6 +9392,15 @@ const RAW_RUNTIME_STATE = ["tapable", "npm:2.2.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.17.1", {\ + "packageLocation": "./.yarn/cache/enhanced-resolve-npm-5.17.1-296305b69f-e8e03cb7a4.zip/node_modules/enhanced-resolve/",\ + "packageDependencies": [\ + ["enhanced-resolve", "npm:5.17.1"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["tapable", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["enquirer", [\ @@ -9413,10 +9527,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["es-module-lexer", [\ - ["npm:0.9.3", {\ - "packageLocation": "./.yarn/cache/es-module-lexer-npm-0.9.3-ff6236dadb-c3e39465d0.zip/node_modules/es-module-lexer/",\ + ["npm:1.5.4", {\ + "packageLocation": "./.yarn/cache/es-module-lexer-npm-1.5.4-b52b96b8fc-f29c7c97a5.zip/node_modules/es-module-lexer/",\ "packageDependencies": [\ - ["es-module-lexer", "npm:0.9.3"]\ + ["es-module-lexer", "npm:1.5.4"]\ ],\ "linkType": "HARD"\ }]\ @@ -9499,6 +9613,13 @@ const RAW_RUNTIME_STATE = ["escalade", "npm:3.1.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/escalade-npm-3.1.2-5826d31cf8-a1e07fea2f.zip/node_modules/escalade/",\ + "packageDependencies": [\ + ["escalade", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["escape-html", [\ @@ -10184,7 +10305,7 @@ const RAW_RUNTIME_STATE = ["@nodelib/fs.walk", "npm:1.2.8"],\ ["glob-parent", "npm:5.1.2"],\ ["merge2", "npm:1.4.1"],\ - ["micromatch", "npm:4.0.4"]\ + ["micromatch", "npm:4.0.7"]\ ],\ "linkType": "HARD"\ }]\ @@ -10317,6 +10438,14 @@ const RAW_RUNTIME_STATE = ["to-regex-range", "npm:5.0.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.1.1", {\ + "packageLocation": "./.yarn/cache/fill-range-npm-7.1.1-bf491486db-a7095cb39e.zip/node_modules/fill-range/",\ + "packageDependencies": [\ + ["fill-range", "npm:7.1.1"],\ + ["to-regex-range", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["finalhandler", [\ @@ -10324,7 +10453,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-351e99a889.zip/node_modules/finalhandler/",\ "packageDependencies": [\ ["finalhandler", "npm:1.1.2"],\ - ["debug", "virtual:6e177cabfad012f413f9c41366539c04d8701f0567119998690ab02224012faa99ec3a16b9f74f4d7920ab472c12b3e70f47f8f143239c06d0e2569e60ed9f62#npm:2.6.9"],\ + ["debug", "virtual:c7b184cd14c02e3ce555ab1875e60cf5033c617e17d82c4c02ea822101d3c817f48bf25a766b4d4335742dc5c9c14c2e88a57ed955a56c4ad0613899f82f5618#npm:2.6.9"],\ ["encodeurl", "npm:1.0.2"],\ ["escape-html", "npm:1.0.3"],\ ["on-finished", "npm:2.3.0"],\ @@ -10398,7 +10527,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/find-yarn-workspace-root-npm-2.0.0-e58a501607-7fa7942849.zip/node_modules/find-yarn-workspace-root/",\ "packageDependencies": [\ ["find-yarn-workspace-root", "npm:2.0.0"],\ - ["micromatch", "npm:4.0.4"]\ + ["micromatch", "npm:4.0.7"]\ ],\ "linkType": "HARD"\ }]\ @@ -10408,7 +10537,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/find-yarn-workspace-root2-npm-1.2.16-0d4f3213bd-398aa473ac.zip/node_modules/find-yarn-workspace-root2/",\ "packageDependencies": [\ ["find-yarn-workspace-root2", "npm:1.2.16"],\ - ["micromatch", "npm:4.0.4"],\ + ["micromatch", "npm:4.0.7"],\ ["pkg-dir", "npm:4.2.0"]\ ],\ "linkType": "HARD"\ @@ -10852,6 +10981,19 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:10.4.5", {\ + "packageLocation": "./.yarn/cache/glob-npm-10.4.5-8c63175f05-698dfe1182.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:10.4.5"],\ + ["foreground-child", "npm:3.1.1"],\ + ["jackspeak", "npm:3.1.2"],\ + ["minimatch", "npm:9.0.4"],\ + ["minipass", "npm:7.1.2"],\ + ["package-json-from-dist", "npm:1.0.0"],\ + ["path-scurry", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:7.1.6", {\ "packageLocation": "./.yarn/cache/glob-npm-7.1.6-1ce3a5189a-7d6ec98bc7.zip/node_modules/glob/",\ "packageDependencies": [\ @@ -11046,6 +11188,13 @@ const RAW_RUNTIME_STATE = ["graceful-fs", "npm:4.2.10"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.2.11", {\ + "packageLocation": "./.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-bf152d0ed1.zip/node_modules/graceful-fs/",\ + "packageDependencies": [\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["grapheme-splitter", [\ @@ -11345,15 +11494,15 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["http-errors", [\ - ["npm:1.7.2", {\ - "packageLocation": "./.yarn/cache/http-errors-npm-1.7.2-67163ae1df-cf8da344b1.zip/node_modules/http-errors/",\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/http-errors-npm-2.0.0-3f1c503428-0e7f76ee8f.zip/node_modules/http-errors/",\ "packageDependencies": [\ - ["http-errors", "npm:1.7.2"],\ - ["depd", "npm:1.1.2"],\ - ["inherits", "npm:2.0.3"],\ - ["setprototypeof", "npm:1.1.1"],\ - ["statuses", "npm:1.5.0"],\ - ["toidentifier", "npm:1.0.0"]\ + ["http-errors", "npm:2.0.0"],\ + ["depd", "npm:2.0.0"],\ + ["inherits", "npm:2.0.4"],\ + ["setprototypeof", "npm:1.2.0"],\ + ["statuses", "npm:2.0.1"],\ + ["toidentifier", "npm:1.0.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -11636,13 +11785,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["npm:2.0.3", {\ - "packageLocation": "./.yarn/cache/inherits-npm-2.0.3-401e64b080-8771303d66.zip/node_modules/inherits/",\ - "packageDependencies": [\ - ["inherits", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:2.0.4", {\ "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-cd45e923be.zip/node_modules/inherits/",\ "packageDependencies": [\ @@ -12699,7 +12841,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["karma", "npm:6.4.3"],\ ["@colors/colors", "npm:1.5.0"],\ - ["body-parser", "npm:1.19.0"],\ + ["body-parser", "npm:1.20.3"],\ ["braces", "npm:3.0.2"],\ ["chokidar", "npm:3.5.3"],\ ["connect", "npm:3.7.0"],\ @@ -12851,7 +12993,7 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["glob", "npm:7.2.3"],\ ["minimatch", "npm:3.1.2"],\ - ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.76.1"],\ + ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.94.0"],\ ["webpack-merge", "npm:4.2.2"]\ ],\ "packagePeers": [\ @@ -12867,7 +13009,7 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["glob", "npm:7.2.3"],\ ["minimatch", "npm:3.1.2"],\ - ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.76.1"],\ + ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.94.0"],\ ["webpack-merge", "npm:4.2.2"]\ ],\ "packagePeers": [\ @@ -12883,7 +13025,7 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["glob", "npm:7.2.3"],\ ["minimatch", "npm:3.1.2"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1"],\ + ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0"],\ ["webpack-merge", "npm:4.2.2"]\ ],\ "packagePeers": [\ @@ -12899,7 +13041,7 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["glob", "npm:7.2.3"],\ ["minimatch", "npm:3.1.2"],\ - ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1"],\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"],\ ["webpack-merge", "npm:4.2.2"]\ ],\ "packagePeers": [\ @@ -12915,7 +13057,7 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["glob", "npm:7.2.3"],\ ["minimatch", "npm:3.1.2"],\ - ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1"],\ + ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0"],\ ["webpack-merge", "npm:4.2.2"]\ ],\ "packagePeers": [\ @@ -13764,12 +13906,12 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["micromatch", [\ - ["npm:4.0.4", {\ - "packageLocation": "./.yarn/cache/micromatch-npm-4.0.4-9fdcbb7a0e-c499da5aad.zip/node_modules/micromatch/",\ + ["npm:4.0.7", {\ + "packageLocation": "./.yarn/cache/micromatch-npm-4.0.7-28fb7387ee-a11ed1cb67.zip/node_modules/micromatch/",\ "packageDependencies": [\ - ["micromatch", "npm:4.0.4"],\ - ["braces", "npm:3.0.2"],\ - ["picomatch", "npm:2.3.0"]\ + ["micromatch", "npm:4.0.7"],\ + ["braces", "npm:3.0.3"],\ + ["picomatch", "npm:2.3.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -14066,6 +14208,15 @@ const RAW_RUNTIME_STATE = ["yallist", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/minizlib-npm-3.0.1-4bdabd978f-622cb85f51.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:3.0.1"],\ + ["minipass", "npm:7.1.2"],\ + ["rimraf", "npm:5.0.10"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["mkdirp", [\ @@ -14083,6 +14234,13 @@ const RAW_RUNTIME_STATE = ["mkdirp", "npm:1.0.4"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-16fd79c286.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["mkdirp-classic", [\ @@ -14409,7 +14567,7 @@ const RAW_RUNTIME_STATE = ["@sinonjs/fake-timers", "npm:10.3.0"],\ ["@sinonjs/text-encoding", "npm:0.7.1"],\ ["just-extend", "npm:4.2.1"],\ - ["path-to-regexp", "npm:1.8.0"]\ + ["path-to-regexp", "npm:1.9.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -14530,6 +14688,13 @@ const RAW_RUNTIME_STATE = ["node-releases", "npm:2.0.13"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.0.18", {\ + "packageLocation": "./.yarn/cache/node-releases-npm-2.0.18-51abc46668-241e5fa955.zip/node_modules/node-releases/",\ + "packageDependencies": [\ + ["node-releases", "npm:2.0.18"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["nodeforage", [\ @@ -15013,6 +15178,14 @@ const RAW_RUNTIME_STATE = ["ee-first", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.4.1", {\ + "packageLocation": "./.yarn/cache/on-finished-npm-2.4.1-907af70f88-8e81472c50.zip/node_modules/on-finished/",\ + "packageDependencies": [\ + ["on-finished", "npm:2.4.1"],\ + ["ee-first", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["once", [\ @@ -15318,6 +15491,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["package-json-from-dist", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/package-json-from-dist-npm-1.0.0-961f0fcb3b-ac706ec856.zip/node_modules/package-json-from-dist/",\ + "packageDependencies": [\ + ["package-json-from-dist", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["pacote", [\ ["npm:12.0.3", {\ "packageLocation": "./.yarn/cache/pacote-npm-12.0.3-99a2ca9e19-ba9284b383.zip/node_modules/pacote/",\ @@ -15596,10 +15778,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["path-to-regexp", [\ - ["npm:1.8.0", {\ - "packageLocation": "./.yarn/cache/path-to-regexp-npm-1.8.0-a1904f5c44-45a01690f7.zip/node_modules/path-to-regexp/",\ + ["npm:1.9.0", {\ + "packageLocation": "./.yarn/cache/path-to-regexp-npm-1.9.0-723549d8d9-67f0f4823f.zip/node_modules/path-to-regexp/",\ "packageDependencies": [\ - ["path-to-regexp", "npm:1.8.0"],\ + ["path-to-regexp", "npm:1.9.0"],\ ["isarray", "npm:0.0.1"]\ ],\ "linkType": "HARD"\ @@ -15652,6 +15834,13 @@ const RAW_RUNTIME_STATE = ["picocolors", "npm:1.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/picocolors-npm-1.0.1-39442f3da8-fa68166d1f.zip/node_modules/picocolors/",\ + "packageDependencies": [\ + ["picocolors", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["picomatch", [\ @@ -15661,6 +15850,13 @@ const RAW_RUNTIME_STATE = ["picomatch", "npm:2.3.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.3.1", {\ + "packageLocation": "./.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["pid-cwd", [\ @@ -16175,12 +16371,12 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["raw-body", [\ - ["npm:2.4.0", {\ - "packageLocation": "./.yarn/cache/raw-body-npm-2.4.0-14d9d633af-aa2c506055.zip/node_modules/raw-body/",\ + ["npm:2.5.2", {\ + "packageLocation": "./.yarn/cache/raw-body-npm-2.5.2-5cb9dfebc1-863b5171e1.zip/node_modules/raw-body/",\ "packageDependencies": [\ - ["raw-body", "npm:2.4.0"],\ - ["bytes", "npm:3.1.0"],\ - ["http-errors", "npm:1.7.2"],\ + ["raw-body", "npm:2.5.2"],\ + ["bytes", "npm:3.1.2"],\ + ["http-errors", "npm:2.0.0"],\ ["iconv-lite", "npm:0.4.24"],\ ["unpipe", "npm:1.0.0"]\ ],\ @@ -16685,6 +16881,14 @@ const RAW_RUNTIME_STATE = ["glob", "npm:7.2.3"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.0.10", {\ + "packageLocation": "./.yarn/cache/rimraf-npm-5.0.10-d0c6647697-f3b8ce81ee.zip/node_modules/rimraf/",\ + "packageDependencies": [\ + ["rimraf", "npm:5.0.10"],\ + ["glob", "npm:10.4.5"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["ripemd160", [\ @@ -16834,7 +17038,17 @@ const RAW_RUNTIME_STATE = ["schema-utils", "npm:3.1.1"],\ ["@types/json-schema", "npm:7.0.15"],\ ["ajv", "npm:6.12.6"],\ - ["ajv-keywords", "virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2"]\ + ["ajv-keywords", "virtual:f2b36937f163b579815d3163513b3330d7a31aaf0599eea66346382b8838395c613f4204e9809cc2ff6bba09c17ab0c34b37deadcb147de7e2f5e535d6ccc245#npm:3.5.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/schema-utils-npm-3.3.0-f2b36937f1-2c7bbb1da9.zip/node_modules/schema-utils/",\ + "packageDependencies": [\ + ["schema-utils", "npm:3.3.0"],\ + ["@types/json-schema", "npm:7.0.15"],\ + ["ajv", "npm:6.12.6"],\ + ["ajv-keywords", "virtual:f2b36937f163b579815d3163513b3330d7a31aaf0599eea66346382b8838395c613f4204e9809cc2ff6bba09c17ab0c34b37deadcb147de7e2f5e535d6ccc245#npm:3.5.2"]\ ],\ "linkType": "HARD"\ }],\ @@ -16907,6 +17121,14 @@ const RAW_RUNTIME_STATE = ["randombytes", "npm:2.1.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/serialize-javascript-npm-6.0.2-cc09461d45-445a420a6f.zip/node_modules/serialize-javascript/",\ + "packageDependencies": [\ + ["serialize-javascript", "npm:6.0.2"],\ + ["randombytes", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["set-blocking", [\ @@ -16953,10 +17175,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["setprototypeof", [\ - ["npm:1.1.1", {\ - "packageLocation": "./.yarn/cache/setprototypeof-npm-1.1.1-706b6318ec-b8fcf5b4b8.zip/node_modules/setprototypeof/",\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-fde1630422.zip/node_modules/setprototypeof/",\ "packageDependencies": [\ - ["setprototypeof", "npm:1.1.1"]\ + ["setprototypeof", "npm:1.2.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -17603,6 +17825,13 @@ const RAW_RUNTIME_STATE = ["statuses", "npm:1.5.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip/node_modules/statuses/",\ + "packageDependencies": [\ + ["statuses", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["stream-browserify", [\ @@ -17964,6 +18193,19 @@ const RAW_RUNTIME_STATE = ["yallist", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.4.3", {\ + "packageLocation": "./.yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-12a2a4fc6d.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:7.4.3"],\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["chownr", "npm:3.0.0"],\ + ["minipass", "npm:7.1.2"],\ + ["minizlib", "npm:3.0.1"],\ + ["mkdirp", "npm:3.0.1"],\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["tar-fs", [\ @@ -18024,9 +18266,27 @@ const RAW_RUNTIME_STATE = ["source-map-support", "npm:0.5.21"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.31.6", {\ + "packageLocation": "./.yarn/cache/terser-npm-5.31.6-535b99d333-78057c5802.zip/node_modules/terser/",\ + "packageDependencies": [\ + ["terser", "npm:5.31.6"],\ + ["@jridgewell/source-map", "npm:0.3.6"],\ + ["acorn", "npm:8.12.1"],\ + ["commander", "npm:2.20.3"],\ + ["source-map-support", "npm:0.5.21"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["terser-webpack-plugin", [\ + ["npm:5.3.10", {\ + "packageLocation": "./.yarn/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip/node_modules/terser-webpack-plugin/",\ + "packageDependencies": [\ + ["terser-webpack-plugin", "npm:5.3.10"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["npm:5.3.3", {\ "packageLocation": "./.yarn/cache/terser-webpack-plugin-npm-5.3.3-659a8e4514-db2bc0e570.zip/node_modules/terser-webpack-plugin/",\ "packageDependencies": [\ @@ -18034,11 +18294,11 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:2a3d558ccb76dd3ab11b6ed4ba45a56a4c8ede48a0f5bce78e9f369869629c0ab3fdd420246c54134f91e3f10302373527dda29ebc24d5a11b3ceb41128ccfad#npm:5.3.3", {\ - "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-7b10d7bddb/0/cache/terser-webpack-plugin-npm-5.3.3-659a8e4514-db2bc0e570.zip/node_modules/terser-webpack-plugin/",\ + ["virtual:620b2dfb2a454269dad12b14bcd9610a5949ae4402ebe39906c40e87c2a6d96794802458f1dd1dc0771d101b936776159f596807770febc97e9f19c3d593ce28#npm:5.3.10", {\ + "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-30c73072bb/0/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip/node_modules/terser-webpack-plugin/",\ "packageDependencies": [\ - ["terser-webpack-plugin", "virtual:2a3d558ccb76dd3ab11b6ed4ba45a56a4c8ede48a0f5bce78e9f369869629c0ab3fdd420246c54134f91e3f10302373527dda29ebc24d5a11b3ceb41128ccfad#npm:5.3.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.18"],\ + ["terser-webpack-plugin", "virtual:620b2dfb2a454269dad12b14bcd9610a5949ae4402ebe39906c40e87c2a6d96794802458f1dd1dc0771d101b936776159f596807770febc97e9f19c3d593ce28#npm:5.3.10"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ ["@swc/core", null],\ ["@types/esbuild", null],\ ["@types/swc__core", null],\ @@ -18047,10 +18307,10 @@ const RAW_RUNTIME_STATE = ["esbuild", null],\ ["jest-worker", "npm:27.5.1"],\ ["schema-utils", "npm:3.1.1"],\ - ["serialize-javascript", "npm:6.0.0"],\ - ["terser", "npm:5.14.2"],\ + ["serialize-javascript", "npm:6.0.2"],\ + ["terser", "npm:5.31.6"],\ ["uglify-js", null],\ - ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.76.1"]\ + ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.94.0"]\ ],\ "packagePeers": [\ "@swc/core",\ @@ -18064,11 +18324,11 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:42f4a899ff66a92a935fae1e8403ae89d87f8a151c8c0f294f5e2ee8bca90964f194c289f6f47a8333ea1d64884bb4ea4c5aea65e0aa5a8603494f665e284ad3#npm:5.3.3", {\ - "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-520d9753e1/0/cache/terser-webpack-plugin-npm-5.3.3-659a8e4514-db2bc0e570.zip/node_modules/terser-webpack-plugin/",\ + ["virtual:7bd93570c5d84736c13a223c581c6a110a422284c96923702acd4a2b154b5a6d0e0cc886101d925773c05b4b1eddf96701f1308dc290c0e99695f881c63c6570#npm:5.3.10", {\ + "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-f7b5f4e5a8/0/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip/node_modules/terser-webpack-plugin/",\ "packageDependencies": [\ - ["terser-webpack-plugin", "virtual:42f4a899ff66a92a935fae1e8403ae89d87f8a151c8c0f294f5e2ee8bca90964f194c289f6f47a8333ea1d64884bb4ea4c5aea65e0aa5a8603494f665e284ad3#npm:5.3.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.18"],\ + ["terser-webpack-plugin", "virtual:7bd93570c5d84736c13a223c581c6a110a422284c96923702acd4a2b154b5a6d0e0cc886101d925773c05b4b1eddf96701f1308dc290c0e99695f881c63c6570#npm:5.3.10"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ ["@swc/core", null],\ ["@types/esbuild", null],\ ["@types/swc__core", null],\ @@ -18077,10 +18337,10 @@ const RAW_RUNTIME_STATE = ["esbuild", null],\ ["jest-worker", "npm:27.5.1"],\ ["schema-utils", "npm:3.1.1"],\ - ["serialize-javascript", "npm:6.0.0"],\ - ["terser", "npm:5.14.2"],\ + ["serialize-javascript", "npm:6.0.2"],\ + ["terser", "npm:5.31.6"],\ ["uglify-js", null],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1"]\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"]\ ],\ "packagePeers": [\ "@swc/core",\ @@ -18094,11 +18354,11 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:5.3.3", {\ - "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-00677cea6c/0/cache/terser-webpack-plugin-npm-5.3.3-659a8e4514-db2bc0e570.zip/node_modules/terser-webpack-plugin/",\ + ["virtual:905383bbe64c71ce6c95c9f55f98098af8f091dba1addd3de3a70c380414a85254622f9263413882da6f88f8a0bb953a82859605007084e0a6da8d5f8e3376f7#npm:5.3.10", {\ + "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-9f3e20f6e2/0/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip/node_modules/terser-webpack-plugin/",\ "packageDependencies": [\ - ["terser-webpack-plugin", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:5.3.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.18"],\ + ["terser-webpack-plugin", "virtual:905383bbe64c71ce6c95c9f55f98098af8f091dba1addd3de3a70c380414a85254622f9263413882da6f88f8a0bb953a82859605007084e0a6da8d5f8e3376f7#npm:5.3.10"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ ["@swc/core", null],\ ["@types/esbuild", null],\ ["@types/swc__core", null],\ @@ -18107,10 +18367,40 @@ const RAW_RUNTIME_STATE = ["esbuild", null],\ ["jest-worker", "npm:27.5.1"],\ ["schema-utils", "npm:3.1.1"],\ - ["serialize-javascript", "npm:6.0.0"],\ - ["terser", "npm:5.14.2"],\ + ["serialize-javascript", "npm:6.0.2"],\ + ["terser", "npm:5.31.6"],\ ["uglify-js", null],\ - ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1"]\ + ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0"]\ + ],\ + "packagePeers": [\ + "@swc/core",\ + "@types/esbuild",\ + "@types/swc__core",\ + "@types/uglify-js",\ + "@types/webpack",\ + "esbuild",\ + "uglify-js",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:5.3.10", {\ + "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-b893485bee/0/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip/node_modules/terser-webpack-plugin/",\ + "packageDependencies": [\ + ["terser-webpack-plugin", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:5.3.10"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@swc/core", null],\ + ["@types/esbuild", null],\ + ["@types/swc__core", null],\ + ["@types/uglify-js", null],\ + ["@types/webpack", null],\ + ["esbuild", null],\ + ["jest-worker", "npm:27.5.1"],\ + ["schema-utils", "npm:3.1.1"],\ + ["serialize-javascript", "npm:6.0.2"],\ + ["terser", "npm:5.31.6"],\ + ["uglify-js", null],\ + ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0"]\ ],\ "packagePeers": [\ "@swc/core",\ @@ -18140,7 +18430,7 @@ const RAW_RUNTIME_STATE = ["serialize-javascript", "npm:6.0.0"],\ ["terser", "npm:5.14.2"],\ ["uglify-js", null],\ - ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1"]\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"]\ ],\ "packagePeers": [\ "@swc/core",\ @@ -18154,11 +18444,11 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:d33ae3339557a5a7f9578102570f67e936a4c1af78c1322b63541bc89dc24f419318f0ddd4e3241021a7e0be1ce717f7ffe8cc168317f38d8d886f6915b6482d#npm:5.3.3", {\ - "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-9f9f9cad8b/0/cache/terser-webpack-plugin-npm-5.3.3-659a8e4514-db2bc0e570.zip/node_modules/terser-webpack-plugin/",\ + ["virtual:afe22926728b8743eebfc3aab3003b5f4824c540183774886aaa2d6f1fe7dfb7a73d92d9b4d1499d3b6b0a5c20146855288f801ee62790954226bb740fb12c82#npm:5.3.10", {\ + "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-1897de7568/0/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip/node_modules/terser-webpack-plugin/",\ "packageDependencies": [\ - ["terser-webpack-plugin", "virtual:d33ae3339557a5a7f9578102570f67e936a4c1af78c1322b63541bc89dc24f419318f0ddd4e3241021a7e0be1ce717f7ffe8cc168317f38d8d886f6915b6482d#npm:5.3.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.18"],\ + ["terser-webpack-plugin", "virtual:afe22926728b8743eebfc3aab3003b5f4824c540183774886aaa2d6f1fe7dfb7a73d92d9b4d1499d3b6b0a5c20146855288f801ee62790954226bb740fb12c82#npm:5.3.10"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ ["@swc/core", null],\ ["@types/esbuild", null],\ ["@types/swc__core", null],\ @@ -18167,10 +18457,10 @@ const RAW_RUNTIME_STATE = ["esbuild", null],\ ["jest-worker", "npm:27.5.1"],\ ["schema-utils", "npm:3.1.1"],\ - ["serialize-javascript", "npm:6.0.0"],\ - ["terser", "npm:5.14.2"],\ + ["serialize-javascript", "npm:6.0.2"],\ + ["terser", "npm:5.31.6"],\ ["uglify-js", null],\ - ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.76.1"]\ + ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.94.0"]\ ],\ "packagePeers": [\ "@swc/core",\ @@ -18336,10 +18626,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["toidentifier", [\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/toidentifier-npm-1.0.0-5dad252f90-199e6bfca1.zip/node_modules/toidentifier/",\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip/node_modules/toidentifier/",\ "packageDependencies": [\ - ["toidentifier", "npm:1.0.0"]\ + ["toidentifier", "npm:1.0.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -18437,11 +18727,11 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["chalk", "npm:4.1.2"],\ ["enhanced-resolve", "npm:5.15.0"],\ - ["micromatch", "npm:4.0.4"],\ + ["micromatch", "npm:4.0.7"],\ ["semver", "npm:7.5.3"],\ ["source-map", "npm:0.7.4"],\ ["typescript", "patch:typescript@npm%3A3.9.10#optional!builtin::version=3.9.10&hash=3bd3d3"],\ - ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1"]\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -18459,11 +18749,11 @@ const RAW_RUNTIME_STATE = ["@types/webpack", null],\ ["chalk", "npm:4.1.2"],\ ["enhanced-resolve", "npm:5.15.0"],\ - ["micromatch", "npm:4.0.4"],\ + ["micromatch", "npm:4.0.7"],\ ["semver", "npm:7.5.3"],\ ["source-map", "npm:0.7.4"],\ ["typescript", "patch:typescript@npm%3A3.9.10#optional!builtin::version=3.9.10&hash=3bd3d3"],\ - ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1"]\ + ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -19111,6 +19401,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/update-browserslist-db-npm-1.1.0-3d2cb7d955-d70b9efeaf.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "npm:1.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4e727c7b5b033f8d5ac7299f9860cb61f5802656f7b4fea2accd32d68dc1a767387a6d23f0724065d3c65e61cb31b9eec2438ae937ce36e7602b4586ede55af6#npm:1.1.0", {\ + "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-e5d722ea57/0/cache/update-browserslist-db-npm-1.1.0-3d2cb7d955-d70b9efeaf.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "virtual:4e727c7b5b033f8d5ac7299f9860cb61f5802656f7b4fea2accd32d68dc1a767387a6d23f0724065d3c65e61cb31b9eec2438ae937ce36e7602b4586ede55af6#npm:1.1.0"],\ + ["@types/browserslist", null],\ + ["browserslist", "npm:4.23.3"],\ + ["escalade", "npm:3.1.2"],\ + ["picocolors", "npm:1.0.1"]\ + ],\ + "packagePeers": [\ + "@types/browserslist",\ + "browserslist"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:cccae6d74e613cbaceb4c608cb01004dea3f5ca235673f5c541d60f516ef320907d258256abf63eac9b8704e23cf5d52eb19f2a57a07471accc943ea645de308#npm:1.0.13", {\ "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-1935275eaa/0/cache/update-browserslist-db-npm-1.0.13-ea7b8ee24d-9074b4ef34.zip/node_modules/update-browserslist-db/",\ "packageDependencies": [\ @@ -19366,10 +19678,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["watchpack", [\ - ["npm:2.4.0", {\ - "packageLocation": "./.yarn/cache/watchpack-npm-2.4.0-7ec4b9cc65-4280b45bc4.zip/node_modules/watchpack/",\ + ["npm:2.4.2", {\ + "packageLocation": "./.yarn/cache/watchpack-npm-2.4.2-3e587d5d5b-6bd4c051d9.zip/node_modules/watchpack/",\ "packageDependencies": [\ - ["watchpack", "npm:2.4.0"],\ + ["watchpack", "npm:2.4.2"],\ ["glob-to-regexp", "npm:0.4.1"],\ ["graceful-fs", "npm:4.2.10"]\ ],\ @@ -19396,41 +19708,40 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["webpack", [\ - ["npm:5.76.1", {\ - "packageLocation": "./.yarn/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip/node_modules/webpack/",\ + ["npm:5.94.0", {\ + "packageLocation": "./.yarn/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip/node_modules/webpack/",\ "packageDependencies": [\ - ["webpack", "npm:5.76.1"]\ + ["webpack", "npm:5.94.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.76.1", {\ - "packageLocation": "./.yarn/__virtual__/webpack-virtual-2a3d558ccb/0/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip/node_modules/webpack/",\ + ["virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.94.0", {\ + "packageLocation": "./.yarn/__virtual__/webpack-virtual-620b2dfb2a/0/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip/node_modules/webpack/",\ "packageDependencies": [\ - ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.76.1"],\ - ["@types/eslint-scope", "npm:3.7.4"],\ - ["@types/estree", "npm:0.0.51"],\ + ["webpack", "virtual:01938c2be4835443e5a304e2b117c575220e96e8b7cedeb0f48d79264590b4c4babc6d1fea6367f522b1ca0149d795b42f2ab89c34a6ffe3c20f0a8cbb8b4453#npm:5.94.0"],\ + ["@types/estree", "npm:1.0.5"],\ ["@types/webpack-cli", null],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-edit", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"],\ ["acorn", "npm:8.11.2"],\ - ["acorn-import-assertions", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:1.8.0"],\ - ["browserslist", "npm:4.22.1"],\ + ["acorn-import-attributes", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:1.9.5"],\ + ["browserslist", "npm:4.23.3"],\ ["chrome-trace-event", "npm:1.0.3"],\ - ["enhanced-resolve", "npm:5.15.0"],\ - ["es-module-lexer", "npm:0.9.3"],\ + ["enhanced-resolve", "npm:5.17.1"],\ + ["es-module-lexer", "npm:1.5.4"],\ ["eslint-scope", "npm:5.1.1"],\ ["events", "npm:3.3.0"],\ ["glob-to-regexp", "npm:0.4.1"],\ - ["graceful-fs", "npm:4.2.10"],\ + ["graceful-fs", "npm:4.2.11"],\ ["json-parse-even-better-errors", "npm:2.3.1"],\ ["loader-runner", "npm:4.2.0"],\ ["mime-types", "npm:2.1.34"],\ ["neo-async", "npm:2.6.2"],\ - ["schema-utils", "npm:3.1.1"],\ + ["schema-utils", "npm:3.3.0"],\ ["tapable", "npm:2.2.1"],\ - ["terser-webpack-plugin", "virtual:2a3d558ccb76dd3ab11b6ed4ba45a56a4c8ede48a0f5bce78e9f369869629c0ab3fdd420246c54134f91e3f10302373527dda29ebc24d5a11b3ceb41128ccfad#npm:5.3.3"],\ - ["watchpack", "npm:2.4.0"],\ + ["terser-webpack-plugin", "virtual:620b2dfb2a454269dad12b14bcd9610a5949ae4402ebe39906c40e87c2a6d96794802458f1dd1dc0771d101b936776159f596807770febc97e9f19c3d593ce28#npm:5.3.10"],\ + ["watchpack", "npm:2.4.2"],\ ["webpack-cli", null],\ ["webpack-sources", "npm:3.2.3"]\ ],\ @@ -19440,34 +19751,33 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.76.1", {\ - "packageLocation": "./.yarn/__virtual__/webpack-virtual-d33ae33395/0/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip/node_modules/webpack/",\ + ["virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.94.0", {\ + "packageLocation": "./.yarn/__virtual__/webpack-virtual-afe2292672/0/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip/node_modules/webpack/",\ "packageDependencies": [\ - ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.76.1"],\ - ["@types/eslint-scope", "npm:3.7.4"],\ - ["@types/estree", "npm:0.0.51"],\ + ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.94.0"],\ + ["@types/estree", "npm:1.0.5"],\ ["@types/webpack-cli", null],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-edit", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"],\ ["acorn", "npm:8.11.2"],\ - ["acorn-import-assertions", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:1.8.0"],\ - ["browserslist", "npm:4.22.1"],\ + ["acorn-import-attributes", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:1.9.5"],\ + ["browserslist", "npm:4.23.3"],\ ["chrome-trace-event", "npm:1.0.3"],\ - ["enhanced-resolve", "npm:5.15.0"],\ - ["es-module-lexer", "npm:0.9.3"],\ + ["enhanced-resolve", "npm:5.17.1"],\ + ["es-module-lexer", "npm:1.5.4"],\ ["eslint-scope", "npm:5.1.1"],\ ["events", "npm:3.3.0"],\ ["glob-to-regexp", "npm:0.4.1"],\ - ["graceful-fs", "npm:4.2.10"],\ + ["graceful-fs", "npm:4.2.11"],\ ["json-parse-even-better-errors", "npm:2.3.1"],\ ["loader-runner", "npm:4.2.0"],\ ["mime-types", "npm:2.1.34"],\ ["neo-async", "npm:2.6.2"],\ - ["schema-utils", "npm:3.1.1"],\ + ["schema-utils", "npm:3.3.0"],\ ["tapable", "npm:2.2.1"],\ - ["terser-webpack-plugin", "virtual:d33ae3339557a5a7f9578102570f67e936a4c1af78c1322b63541bc89dc24f419318f0ddd4e3241021a7e0be1ce717f7ffe8cc168317f38d8d886f6915b6482d#npm:5.3.3"],\ - ["watchpack", "npm:2.4.0"],\ + ["terser-webpack-plugin", "virtual:afe22926728b8743eebfc3aab3003b5f4824c540183774886aaa2d6f1fe7dfb7a73d92d9b4d1499d3b6b0a5c20146855288f801ee62790954226bb740fb12c82#npm:5.3.10"],\ + ["watchpack", "npm:2.4.2"],\ ["webpack-cli", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:4.9.1"],\ ["webpack-sources", "npm:3.2.3"]\ ],\ @@ -19477,34 +19787,33 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1", {\ - "packageLocation": "./.yarn/__virtual__/webpack-virtual-42f4a899ff/0/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip/node_modules/webpack/",\ + ["virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0", {\ + "packageLocation": "./.yarn/__virtual__/webpack-virtual-905383bbe6/0/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip/node_modules/webpack/",\ "packageDependencies": [\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1"],\ - ["@types/eslint-scope", "npm:3.7.4"],\ - ["@types/estree", "npm:0.0.51"],\ + ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0"],\ + ["@types/estree", "npm:1.0.5"],\ ["@types/webpack-cli", null],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-edit", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"],\ ["acorn", "npm:8.11.2"],\ - ["acorn-import-assertions", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:1.8.0"],\ - ["browserslist", "npm:4.22.1"],\ + ["acorn-import-attributes", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:1.9.5"],\ + ["browserslist", "npm:4.23.3"],\ ["chrome-trace-event", "npm:1.0.3"],\ - ["enhanced-resolve", "npm:5.15.0"],\ - ["es-module-lexer", "npm:0.9.3"],\ + ["enhanced-resolve", "npm:5.17.1"],\ + ["es-module-lexer", "npm:1.5.4"],\ ["eslint-scope", "npm:5.1.1"],\ ["events", "npm:3.3.0"],\ ["glob-to-regexp", "npm:0.4.1"],\ - ["graceful-fs", "npm:4.2.10"],\ + ["graceful-fs", "npm:4.2.11"],\ ["json-parse-even-better-errors", "npm:2.3.1"],\ ["loader-runner", "npm:4.2.0"],\ ["mime-types", "npm:2.1.34"],\ ["neo-async", "npm:2.6.2"],\ - ["schema-utils", "npm:3.1.1"],\ + ["schema-utils", "npm:3.3.0"],\ ["tapable", "npm:2.2.1"],\ - ["terser-webpack-plugin", "virtual:42f4a899ff66a92a935fae1e8403ae89d87f8a151c8c0f294f5e2ee8bca90964f194c289f6f47a8333ea1d64884bb4ea4c5aea65e0aa5a8603494f665e284ad3#npm:5.3.3"],\ - ["watchpack", "npm:2.4.0"],\ + ["terser-webpack-plugin", "virtual:905383bbe64c71ce6c95c9f55f98098af8f091dba1addd3de3a70c380414a85254622f9263413882da6f88f8a0bb953a82859605007084e0a6da8d5f8e3376f7#npm:5.3.10"],\ + ["watchpack", "npm:2.4.2"],\ ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"],\ ["webpack-sources", "npm:3.2.3"]\ ],\ @@ -19514,34 +19823,33 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1", {\ - "packageLocation": "./.yarn/__virtual__/webpack-virtual-0ff9a68c00/0/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip/node_modules/webpack/",\ + ["virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0", {\ + "packageLocation": "./.yarn/__virtual__/webpack-virtual-7bd93570c5/0/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip/node_modules/webpack/",\ "packageDependencies": [\ - ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1"],\ - ["@types/eslint-scope", "npm:3.7.4"],\ - ["@types/estree", "npm:0.0.51"],\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"],\ + ["@types/estree", "npm:1.0.5"],\ ["@types/webpack-cli", null],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-edit", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"],\ ["acorn", "npm:8.11.2"],\ - ["acorn-import-assertions", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:1.8.0"],\ - ["browserslist", "npm:4.22.1"],\ + ["acorn-import-attributes", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:1.9.5"],\ + ["browserslist", "npm:4.23.3"],\ ["chrome-trace-event", "npm:1.0.3"],\ - ["enhanced-resolve", "npm:5.15.0"],\ - ["es-module-lexer", "npm:0.9.3"],\ + ["enhanced-resolve", "npm:5.17.1"],\ + ["es-module-lexer", "npm:1.5.4"],\ ["eslint-scope", "npm:5.1.1"],\ ["events", "npm:3.3.0"],\ ["glob-to-regexp", "npm:0.4.1"],\ - ["graceful-fs", "npm:4.2.10"],\ + ["graceful-fs", "npm:4.2.11"],\ ["json-parse-even-better-errors", "npm:2.3.1"],\ ["loader-runner", "npm:4.2.0"],\ ["mime-types", "npm:2.1.34"],\ ["neo-async", "npm:2.6.2"],\ - ["schema-utils", "npm:3.1.1"],\ + ["schema-utils", "npm:3.3.0"],\ ["tapable", "npm:2.2.1"],\ - ["terser-webpack-plugin", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.3.3"],\ - ["watchpack", "npm:2.4.0"],\ + ["terser-webpack-plugin", "virtual:7bd93570c5d84736c13a223c581c6a110a422284c96923702acd4a2b154b5a6d0e0cc886101d925773c05b4b1eddf96701f1308dc290c0e99695f881c63c6570#npm:5.3.10"],\ + ["watchpack", "npm:2.4.2"],\ ["webpack-cli", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:4.9.1"],\ ["webpack-sources", "npm:3.2.3"]\ ],\ @@ -19551,34 +19859,33 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1", {\ - "packageLocation": "./.yarn/__virtual__/webpack-virtual-a1758743d2/0/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip/node_modules/webpack/",\ + ["virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0", {\ + "packageLocation": "./.yarn/__virtual__/webpack-virtual-9644477017/0/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip/node_modules/webpack/",\ "packageDependencies": [\ - ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1"],\ - ["@types/eslint-scope", "npm:3.7.4"],\ - ["@types/estree", "npm:0.0.51"],\ + ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0"],\ + ["@types/estree", "npm:1.0.5"],\ ["@types/webpack-cli", null],\ - ["@webassemblyjs/ast", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-edit", "npm:1.12.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.12.1"],\ ["acorn", "npm:8.11.2"],\ - ["acorn-import-assertions", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:1.8.0"],\ - ["browserslist", "npm:4.22.1"],\ + ["acorn-import-attributes", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:1.9.5"],\ + ["browserslist", "npm:4.23.3"],\ ["chrome-trace-event", "npm:1.0.3"],\ - ["enhanced-resolve", "npm:5.15.0"],\ - ["es-module-lexer", "npm:0.9.3"],\ + ["enhanced-resolve", "npm:5.17.1"],\ + ["es-module-lexer", "npm:1.5.4"],\ ["eslint-scope", "npm:5.1.1"],\ ["events", "npm:3.3.0"],\ ["glob-to-regexp", "npm:0.4.1"],\ - ["graceful-fs", "npm:4.2.10"],\ + ["graceful-fs", "npm:4.2.11"],\ ["json-parse-even-better-errors", "npm:2.3.1"],\ ["loader-runner", "npm:4.2.0"],\ ["mime-types", "npm:2.1.34"],\ ["neo-async", "npm:2.6.2"],\ - ["schema-utils", "npm:3.1.1"],\ + ["schema-utils", "npm:3.3.0"],\ ["tapable", "npm:2.2.1"],\ - ["terser-webpack-plugin", "virtual:a1758743d243877493a02719691b2bf5513261873450aca581311be1ead841af63c0be982c400355949a0dcad332960c6e3ed3885051f0427d191c70a7fc9856#npm:5.3.3"],\ - ["watchpack", "npm:2.4.0"],\ + ["terser-webpack-plugin", "virtual:9644477017df2e32be56d4a1c7fe5ac5a3e402b2dbf0f12e92d05353a79eef964913f8eba76831dcc035bd99e7745cec85de81787c8c846ec7e2635108519296#npm:5.3.10"],\ + ["watchpack", "npm:2.4.2"],\ ["webpack-cli", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:4.9.1"],\ ["webpack-sources", "npm:3.2.3"]\ ],\ @@ -19619,7 +19926,7 @@ const RAW_RUNTIME_STATE = ["import-local", "npm:3.0.3"],\ ["interpret", "npm:2.2.0"],\ ["rechoir", "npm:0.7.1"],\ - ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.76.1"],\ + ["webpack", "virtual:45f214395bc38640da4dc5e940482d5df0572c5384e0262802601d1973e71077ec8bbd76b77eafa4c0550b706b664abd84d63fd67a5897139f0b2675530fc84f#npm:5.94.0"],\ ["webpack-bundle-analyzer", null],\ ["webpack-dev-server", null],\ ["webpack-merge", "npm:5.8.0"]\ @@ -19660,7 +19967,7 @@ const RAW_RUNTIME_STATE = ["import-local", "npm:3.0.3"],\ ["interpret", "npm:2.2.0"],\ ["rechoir", "npm:0.7.1"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.76.1"],\ + ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.94.0"],\ ["webpack-bundle-analyzer", null],\ ["webpack-dev-server", null],\ ["webpack-merge", "npm:5.8.0"]\ @@ -19701,7 +20008,7 @@ const RAW_RUNTIME_STATE = ["import-local", "npm:3.0.3"],\ ["interpret", "npm:2.2.0"],\ ["rechoir", "npm:0.7.1"],\ - ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.76.1"],\ + ["webpack", "virtual:ad53cff31b1dbd4927a99e71702e3b8b10338636eaff010987c27c9ccea2d52af36900a9e36a4231cbb6e5464248ccc9c1da5d1d24d9b0f4f95660296b1060a6#npm:5.94.0"],\ ["webpack-bundle-analyzer", null],\ ["webpack-dev-server", null],\ ["webpack-merge", "npm:5.8.0"]\ @@ -19742,7 +20049,7 @@ const RAW_RUNTIME_STATE = ["import-local", "npm:3.0.3"],\ ["interpret", "npm:2.2.0"],\ ["rechoir", "npm:0.7.1"],\ - ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.76.1"],\ + ["webpack", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:5.94.0"],\ ["webpack-bundle-analyzer", null],\ ["webpack-dev-server", null],\ ["webpack-merge", "npm:5.8.0"]\ @@ -20141,6 +20448,13 @@ const RAW_RUNTIME_STATE = ["yallist", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-1884d272d4.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["yaml", [\ diff --git a/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-4412e9e671.zip b/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-4412e9e671.zip new file mode 100644 index 00000000000..813bbd76023 Binary files /dev/null and b/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-4412e9e671.zip differ diff --git a/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip b/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip new file mode 100644 index 00000000000..18c8d136e5e Binary files /dev/null and b/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip differ diff --git a/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip b/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip new file mode 100644 index 00000000000..4b56ea4a835 Binary files /dev/null and b/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip differ diff --git a/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip b/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip new file mode 100644 index 00000000000..8a72fc72dfb Binary files /dev/null and b/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip differ diff --git a/.yarn/cache/@jridgewell-source-map-npm-0.3.6-fe0849eb05-0a9aca9320.zip b/.yarn/cache/@jridgewell-source-map-npm-0.3.6-fe0849eb05-0a9aca9320.zip new file mode 100644 index 00000000000..7490e22fe4e Binary files /dev/null and b/.yarn/cache/@jridgewell-source-map-npm-0.3.6-fe0849eb05-0a9aca9320.zip differ diff --git a/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-4ed6123217.zip b/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-4ed6123217.zip new file mode 100644 index 00000000000..2190c972ac9 Binary files /dev/null and b/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-4ed6123217.zip differ diff --git a/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip b/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip new file mode 100644 index 00000000000..7e430802c78 Binary files /dev/null and b/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip differ diff --git a/.yarn/cache/@types-eslint-npm-8.2.0-971aa21b00-1e8100311e.zip b/.yarn/cache/@types-eslint-npm-8.2.0-971aa21b00-1e8100311e.zip deleted file mode 100644 index eac2d261538..00000000000 Binary files a/.yarn/cache/@types-eslint-npm-8.2.0-971aa21b00-1e8100311e.zip and /dev/null differ diff --git a/.yarn/cache/@types-eslint-scope-npm-3.7.4-c11d226d71-ea6a9363e9.zip b/.yarn/cache/@types-eslint-scope-npm-3.7.4-c11d226d71-ea6a9363e9.zip deleted file mode 100644 index 6ae839b3030..00000000000 Binary files a/.yarn/cache/@types-eslint-scope-npm-3.7.4-c11d226d71-ea6a9363e9.zip and /dev/null differ diff --git a/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-7de6d928dd.zip b/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-7de6d928dd.zip new file mode 100644 index 00000000000..022b94a1104 Binary files /dev/null and b/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-7de6d928dd.zip differ diff --git a/.yarn/cache/@webassemblyjs-ast-npm-1.11.1-623d3d973e-28cc949e2e.zip b/.yarn/cache/@webassemblyjs-ast-npm-1.11.1-623d3d973e-28cc949e2e.zip deleted file mode 100644 index 4099aaf62a1..00000000000 Binary files a/.yarn/cache/@webassemblyjs-ast-npm-1.11.1-623d3d973e-28cc949e2e.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-ast-npm-1.12.1-3ff9ea1c0e-a775b05594.zip b/.yarn/cache/@webassemblyjs-ast-npm-1.12.1-3ff9ea1c0e-a775b05594.zip new file mode 100644 index 00000000000..b83e0cc81c9 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-ast-npm-1.12.1-3ff9ea1c0e-a775b05594.zip differ diff --git a/.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.1-f8af5c0037-b8efc6fa08.zip b/.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.1-f8af5c0037-b8efc6fa08.zip deleted file mode 100644 index 9b03be94399..00000000000 Binary files a/.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.1-f8af5c0037-b8efc6fa08.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.6-3a9928fc76-29b0875884.zip b/.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.6-3a9928fc76-29b0875884.zip new file mode 100644 index 00000000000..fd95d6494f3 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.6-3a9928fc76-29b0875884.zip differ diff --git a/.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.1-b839d59053-0792813f0e.zip b/.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.1-b839d59053-0792813f0e.zip deleted file mode 100644 index 28665e752bb..00000000000 Binary files a/.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.1-b839d59053-0792813f0e.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.6-75f6275ff4-e8563df851.zip b/.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.6-75f6275ff4-e8563df851.zip new file mode 100644 index 00000000000..d0697f28355 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.6-75f6275ff4-e8563df851.zip differ diff --git a/.yarn/cache/@webassemblyjs-helper-buffer-npm-1.11.1-6afb1ef4aa-a337ee44b4.zip b/.yarn/cache/@webassemblyjs-helper-buffer-npm-1.11.1-6afb1ef4aa-a337ee44b4.zip deleted file mode 100644 index c4c06dd687a..00000000000 Binary files a/.yarn/cache/@webassemblyjs-helper-buffer-npm-1.11.1-6afb1ef4aa-a337ee44b4.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-helper-buffer-npm-1.12.1-d025434a45-1d8705daa4.zip b/.yarn/cache/@webassemblyjs-helper-buffer-npm-1.12.1-d025434a45-1d8705daa4.zip new file mode 100644 index 00000000000..d7eccb73d4e Binary files /dev/null and b/.yarn/cache/@webassemblyjs-helper-buffer-npm-1.12.1-d025434a45-1d8705daa4.zip differ diff --git a/.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.1-a41f7439eb-cbe5b456fa.zip b/.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.1-a41f7439eb-cbe5b456fa.zip deleted file mode 100644 index 704a9f3ad49..00000000000 Binary files a/.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.1-a41f7439eb-cbe5b456fa.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.6-819ddab1da-9ffd258ad8.zip b/.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.6-819ddab1da-9ffd258ad8.zip new file mode 100644 index 00000000000..bf882f93ff3 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.6-819ddab1da-9ffd258ad8.zip differ diff --git a/.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.1-84f0ee4c30-009b494010.zip b/.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.1-84f0ee4c30-009b494010.zip deleted file mode 100644 index 5769ab32449..00000000000 Binary files a/.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.1-84f0ee4c30-009b494010.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.6-3bc23747de-4ebf03e9c1.zip b/.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.6-3bc23747de-4ebf03e9c1.zip new file mode 100644 index 00000000000..8f3fedc5aeb Binary files /dev/null and b/.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.6-3bc23747de-4ebf03e9c1.zip differ diff --git a/.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.11.1-e4e8450b9d-dd6eee9f73.zip b/.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.11.1-e4e8450b9d-dd6eee9f73.zip deleted file mode 100644 index 744065f37d2..00000000000 Binary files a/.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.11.1-e4e8450b9d-dd6eee9f73.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.12.1-cd0e2f1eab-e91e6b2811.zip b/.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.12.1-cd0e2f1eab-e91e6b2811.zip new file mode 100644 index 00000000000..a17936e54fb Binary files /dev/null and b/.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.12.1-cd0e2f1eab-e91e6b2811.zip differ diff --git a/.yarn/cache/@webassemblyjs-ieee754-npm-1.11.1-897eb85879-23a0ac02a5.zip b/.yarn/cache/@webassemblyjs-ieee754-npm-1.11.1-897eb85879-23a0ac02a5.zip deleted file mode 100644 index fd9e4c5e99c..00000000000 Binary files a/.yarn/cache/@webassemblyjs-ieee754-npm-1.11.1-897eb85879-23a0ac02a5.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-ieee754-npm-1.11.6-95c92f446a-13574b8e41.zip b/.yarn/cache/@webassemblyjs-ieee754-npm-1.11.6-95c92f446a-13574b8e41.zip new file mode 100644 index 00000000000..bd1b9c09963 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-ieee754-npm-1.11.6-95c92f446a-13574b8e41.zip differ diff --git a/.yarn/cache/@webassemblyjs-leb128-npm-1.11.1-fd9f27673d-85beb7156f.zip b/.yarn/cache/@webassemblyjs-leb128-npm-1.11.1-fd9f27673d-85beb7156f.zip deleted file mode 100644 index 2de90a27be7..00000000000 Binary files a/.yarn/cache/@webassemblyjs-leb128-npm-1.11.1-fd9f27673d-85beb7156f.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-leb128-npm-1.11.6-697d62da2e-ec3b72db0e.zip b/.yarn/cache/@webassemblyjs-leb128-npm-1.11.6-697d62da2e-ec3b72db0e.zip new file mode 100644 index 00000000000..34a356012e4 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-leb128-npm-1.11.6-697d62da2e-ec3b72db0e.zip differ diff --git a/.yarn/cache/@webassemblyjs-utf8-npm-1.11.1-583036e767-b93e57912d.zip b/.yarn/cache/@webassemblyjs-utf8-npm-1.11.1-583036e767-b93e57912d.zip deleted file mode 100644 index f1744da5351..00000000000 Binary files a/.yarn/cache/@webassemblyjs-utf8-npm-1.11.1-583036e767-b93e57912d.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-utf8-npm-1.11.6-102c4e5d68-361a537bd6.zip b/.yarn/cache/@webassemblyjs-utf8-npm-1.11.6-102c4e5d68-361a537bd6.zip new file mode 100644 index 00000000000..0ef6c31a374 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-utf8-npm-1.11.6-102c4e5d68-361a537bd6.zip differ diff --git a/.yarn/cache/@webassemblyjs-wasm-edit-npm-1.11.1-34565c1e92-6a029ae21c.zip b/.yarn/cache/@webassemblyjs-wasm-edit-npm-1.11.1-34565c1e92-6a029ae21c.zip deleted file mode 100644 index bf0c7b6790d..00000000000 Binary files a/.yarn/cache/@webassemblyjs-wasm-edit-npm-1.11.1-34565c1e92-6a029ae21c.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-wasm-edit-npm-1.12.1-727bec592a-5678ae02db.zip b/.yarn/cache/@webassemblyjs-wasm-edit-npm-1.12.1-727bec592a-5678ae02db.zip new file mode 100644 index 00000000000..3ed22347d9f Binary files /dev/null and b/.yarn/cache/@webassemblyjs-wasm-edit-npm-1.12.1-727bec592a-5678ae02db.zip differ diff --git a/.yarn/cache/@webassemblyjs-wasm-gen-npm-1.11.1-a6d0b4d37d-5da040e780.zip b/.yarn/cache/@webassemblyjs-wasm-gen-npm-1.11.1-a6d0b4d37d-5da040e780.zip deleted file mode 100644 index 7ddbb1ee217..00000000000 Binary files a/.yarn/cache/@webassemblyjs-wasm-gen-npm-1.11.1-a6d0b4d37d-5da040e780.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-wasm-gen-npm-1.12.1-bbe22ad265-ec45bd50e8.zip b/.yarn/cache/@webassemblyjs-wasm-gen-npm-1.12.1-bbe22ad265-ec45bd50e8.zip new file mode 100644 index 00000000000..f7fe6004bf6 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-wasm-gen-npm-1.12.1-bbe22ad265-ec45bd50e8.zip differ diff --git a/.yarn/cache/@webassemblyjs-wasm-opt-npm-1.11.1-0bb73c20b9-00f85d1f76.zip b/.yarn/cache/@webassemblyjs-wasm-opt-npm-1.11.1-0bb73c20b9-00f85d1f76.zip deleted file mode 100644 index 63c068a03b4..00000000000 Binary files a/.yarn/cache/@webassemblyjs-wasm-opt-npm-1.11.1-0bb73c20b9-00f85d1f76.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-wasm-opt-npm-1.12.1-450c932de6-21f25ae109.zip b/.yarn/cache/@webassemblyjs-wasm-opt-npm-1.12.1-450c932de6-21f25ae109.zip new file mode 100644 index 00000000000..2acb870f1d8 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-wasm-opt-npm-1.12.1-450c932de6-21f25ae109.zip differ diff --git a/.yarn/cache/@webassemblyjs-wasm-parser-npm-1.11.1-cd49c51fdc-cc6de8f4d9.zip b/.yarn/cache/@webassemblyjs-wasm-parser-npm-1.11.1-cd49c51fdc-cc6de8f4d9.zip deleted file mode 100644 index 7ed1ed71f46..00000000000 Binary files a/.yarn/cache/@webassemblyjs-wasm-parser-npm-1.11.1-cd49c51fdc-cc6de8f4d9.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-wasm-parser-npm-1.12.1-54a7a19806-f7311685b7.zip b/.yarn/cache/@webassemblyjs-wasm-parser-npm-1.12.1-54a7a19806-f7311685b7.zip new file mode 100644 index 00000000000..bef03f214c8 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-wasm-parser-npm-1.12.1-54a7a19806-f7311685b7.zip differ diff --git a/.yarn/cache/@webassemblyjs-wast-printer-npm-1.11.1-f1213430d6-bd1cf7a063.zip b/.yarn/cache/@webassemblyjs-wast-printer-npm-1.11.1-f1213430d6-bd1cf7a063.zip deleted file mode 100644 index faf786d8843..00000000000 Binary files a/.yarn/cache/@webassemblyjs-wast-printer-npm-1.11.1-f1213430d6-bd1cf7a063.zip and /dev/null differ diff --git a/.yarn/cache/@webassemblyjs-wast-printer-npm-1.12.1-e75655c7ff-1a6a4b6bc4.zip b/.yarn/cache/@webassemblyjs-wast-printer-npm-1.12.1-e75655c7ff-1a6a4b6bc4.zip new file mode 100644 index 00000000000..a9fadd95887 Binary files /dev/null and b/.yarn/cache/@webassemblyjs-wast-printer-npm-1.12.1-e75655c7ff-1a6a4b6bc4.zip differ diff --git a/.yarn/cache/acorn-import-assertions-npm-1.8.0-e9a9d57e27-d61a8a1c1e.zip b/.yarn/cache/acorn-import-assertions-npm-1.8.0-e9a9d57e27-d61a8a1c1e.zip deleted file mode 100644 index f250bf3528a..00000000000 Binary files a/.yarn/cache/acorn-import-assertions-npm-1.8.0-e9a9d57e27-d61a8a1c1e.zip and /dev/null differ diff --git a/.yarn/cache/acorn-import-attributes-npm-1.9.5-d1e666eb35-8bfbfbb6e2.zip b/.yarn/cache/acorn-import-attributes-npm-1.9.5-d1e666eb35-8bfbfbb6e2.zip new file mode 100644 index 00000000000..9a210b13dba Binary files /dev/null and b/.yarn/cache/acorn-import-attributes-npm-1.9.5-d1e666eb35-8bfbfbb6e2.zip differ diff --git a/.yarn/cache/acorn-npm-8.12.1-610871d57c-d08c2d122b.zip b/.yarn/cache/acorn-npm-8.12.1-610871d57c-d08c2d122b.zip new file mode 100644 index 00000000000..2dddbcfdd1e Binary files /dev/null and b/.yarn/cache/acorn-npm-8.12.1-610871d57c-d08c2d122b.zip differ diff --git a/.yarn/cache/body-parser-npm-1.19.0-6e177cabfa-6ed5f3f42f.zip b/.yarn/cache/body-parser-npm-1.19.0-6e177cabfa-6ed5f3f42f.zip deleted file mode 100644 index f91e00e0773..00000000000 Binary files a/.yarn/cache/body-parser-npm-1.19.0-6e177cabfa-6ed5f3f42f.zip and /dev/null differ diff --git a/.yarn/cache/body-parser-npm-1.20.3-c7b184cd14-8723e3d7a6.zip b/.yarn/cache/body-parser-npm-1.20.3-c7b184cd14-8723e3d7a6.zip new file mode 100644 index 00000000000..20637461b03 Binary files /dev/null and b/.yarn/cache/body-parser-npm-1.20.3-c7b184cd14-8723e3d7a6.zip differ diff --git a/.yarn/cache/braces-npm-3.0.3-582c14023c-fad11a0d46.zip b/.yarn/cache/braces-npm-3.0.3-582c14023c-fad11a0d46.zip new file mode 100644 index 00000000000..bebc93863a1 Binary files /dev/null and b/.yarn/cache/braces-npm-3.0.3-582c14023c-fad11a0d46.zip differ diff --git a/.yarn/cache/browserslist-npm-4.23.3-4e727c7b5b-e266d18c6c.zip b/.yarn/cache/browserslist-npm-4.23.3-4e727c7b5b-e266d18c6c.zip new file mode 100644 index 00000000000..d21d642f4ca Binary files /dev/null and b/.yarn/cache/browserslist-npm-4.23.3-4e727c7b5b-e266d18c6c.zip differ diff --git a/.yarn/cache/bytes-npm-3.1.0-19c5b15405-7c3b21c5d9.zip b/.yarn/cache/bytes-npm-3.1.0-19c5b15405-7c3b21c5d9.zip deleted file mode 100644 index a459fadbe56..00000000000 Binary files a/.yarn/cache/bytes-npm-3.1.0-19c5b15405-7c3b21c5d9.zip and /dev/null differ diff --git a/.yarn/cache/bytes-npm-3.1.2-28b8643004-a10abf2ba7.zip b/.yarn/cache/bytes-npm-3.1.2-28b8643004-a10abf2ba7.zip new file mode 100644 index 00000000000..37db2fe4b73 Binary files /dev/null and b/.yarn/cache/bytes-npm-3.1.2-28b8643004-a10abf2ba7.zip differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001653-f5f1782475-cd9b1c0fe0.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001653-f5f1782475-cd9b1c0fe0.zip new file mode 100644 index 00000000000..32907ffe79c Binary files /dev/null and b/.yarn/cache/caniuse-lite-npm-1.0.30001653-f5f1782475-cd9b1c0fe0.zip differ diff --git a/.yarn/cache/chownr-npm-3.0.0-5275e85d25-b63cb1f73d.zip b/.yarn/cache/chownr-npm-3.0.0-5275e85d25-b63cb1f73d.zip new file mode 100644 index 00000000000..eeb6433da79 Binary files /dev/null and b/.yarn/cache/chownr-npm-3.0.0-5275e85d25-b63cb1f73d.zip differ diff --git a/.yarn/cache/content-type-npm-1.0.5-3e037bf9ab-585847d98d.zip b/.yarn/cache/content-type-npm-1.0.5-3e037bf9ab-585847d98d.zip new file mode 100644 index 00000000000..55809c71623 Binary files /dev/null and b/.yarn/cache/content-type-npm-1.0.5-3e037bf9ab-585847d98d.zip differ diff --git a/.yarn/cache/depd-npm-1.1.2-b0c8414da7-2ed6966fc1.zip b/.yarn/cache/depd-npm-1.1.2-b0c8414da7-2ed6966fc1.zip deleted file mode 100644 index a4e9f778966..00000000000 Binary files a/.yarn/cache/depd-npm-1.1.2-b0c8414da7-2ed6966fc1.zip and /dev/null differ diff --git a/.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip b/.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip new file mode 100644 index 00000000000..3bc30ea4d8c Binary files /dev/null and b/.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip differ diff --git a/.yarn/cache/electron-to-chromium-npm-1.5.13-be9902b49c-b3de6dbca6.zip b/.yarn/cache/electron-to-chromium-npm-1.5.13-be9902b49c-b3de6dbca6.zip new file mode 100644 index 00000000000..dfac92cfc15 Binary files /dev/null and b/.yarn/cache/electron-to-chromium-npm-1.5.13-be9902b49c-b3de6dbca6.zip differ diff --git a/.yarn/cache/elliptic-npm-6.5.4-0ca8204a86-2cd7ff4b69.zip b/.yarn/cache/elliptic-npm-6.5.7-df8e79dc1f-fbad1fad0a.zip similarity index 87% rename from .yarn/cache/elliptic-npm-6.5.4-0ca8204a86-2cd7ff4b69.zip rename to .yarn/cache/elliptic-npm-6.5.7-df8e79dc1f-fbad1fad0a.zip index cd03d921d10..fc1cf754e12 100644 Binary files a/.yarn/cache/elliptic-npm-6.5.4-0ca8204a86-2cd7ff4b69.zip and b/.yarn/cache/elliptic-npm-6.5.7-df8e79dc1f-fbad1fad0a.zip differ diff --git a/.yarn/cache/enhanced-resolve-npm-5.17.1-296305b69f-e8e03cb7a4.zip b/.yarn/cache/enhanced-resolve-npm-5.17.1-296305b69f-e8e03cb7a4.zip new file mode 100644 index 00000000000..0f2dcc5c279 Binary files /dev/null and b/.yarn/cache/enhanced-resolve-npm-5.17.1-296305b69f-e8e03cb7a4.zip differ diff --git a/.yarn/cache/es-module-lexer-npm-0.9.3-ff6236dadb-c3e39465d0.zip b/.yarn/cache/es-module-lexer-npm-0.9.3-ff6236dadb-c3e39465d0.zip deleted file mode 100644 index d9f55de3c67..00000000000 Binary files a/.yarn/cache/es-module-lexer-npm-0.9.3-ff6236dadb-c3e39465d0.zip and /dev/null differ diff --git a/.yarn/cache/es-module-lexer-npm-1.5.4-b52b96b8fc-f29c7c97a5.zip b/.yarn/cache/es-module-lexer-npm-1.5.4-b52b96b8fc-f29c7c97a5.zip new file mode 100644 index 00000000000..893d7007ba9 Binary files /dev/null and b/.yarn/cache/es-module-lexer-npm-1.5.4-b52b96b8fc-f29c7c97a5.zip differ diff --git a/.yarn/cache/escalade-npm-3.1.2-5826d31cf8-a1e07fea2f.zip b/.yarn/cache/escalade-npm-3.1.2-5826d31cf8-a1e07fea2f.zip new file mode 100644 index 00000000000..c59ddcfc09d Binary files /dev/null and b/.yarn/cache/escalade-npm-3.1.2-5826d31cf8-a1e07fea2f.zip differ diff --git a/.yarn/cache/fill-range-npm-7.1.1-bf491486db-a7095cb39e.zip b/.yarn/cache/fill-range-npm-7.1.1-bf491486db-a7095cb39e.zip new file mode 100644 index 00000000000..2dbb57d46b5 Binary files /dev/null and b/.yarn/cache/fill-range-npm-7.1.1-bf491486db-a7095cb39e.zip differ diff --git a/.yarn/cache/fsevents-patch-19706e7e35-10.zip b/.yarn/cache/fsevents-patch-19706e7e35-10.zip deleted file mode 100644 index aff1ab12ce5..00000000000 Binary files a/.yarn/cache/fsevents-patch-19706e7e35-10.zip and /dev/null differ diff --git a/.yarn/cache/glob-npm-10.4.5-8c63175f05-698dfe1182.zip b/.yarn/cache/glob-npm-10.4.5-8c63175f05-698dfe1182.zip new file mode 100644 index 00000000000..916b830e8f3 Binary files /dev/null and b/.yarn/cache/glob-npm-10.4.5-8c63175f05-698dfe1182.zip differ diff --git a/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-bf152d0ed1.zip b/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-bf152d0ed1.zip new file mode 100644 index 00000000000..62430427715 Binary files /dev/null and b/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-bf152d0ed1.zip differ diff --git a/.yarn/cache/http-errors-npm-1.7.2-67163ae1df-cf8da344b1.zip b/.yarn/cache/http-errors-npm-1.7.2-67163ae1df-cf8da344b1.zip deleted file mode 100644 index 408a57291ef..00000000000 Binary files a/.yarn/cache/http-errors-npm-1.7.2-67163ae1df-cf8da344b1.zip and /dev/null differ diff --git a/.yarn/cache/http-errors-npm-2.0.0-3f1c503428-0e7f76ee8f.zip b/.yarn/cache/http-errors-npm-2.0.0-3f1c503428-0e7f76ee8f.zip new file mode 100644 index 00000000000..aa9494e34d6 Binary files /dev/null and b/.yarn/cache/http-errors-npm-2.0.0-3f1c503428-0e7f76ee8f.zip differ diff --git a/.yarn/cache/inherits-npm-2.0.3-401e64b080-8771303d66.zip b/.yarn/cache/inherits-npm-2.0.3-401e64b080-8771303d66.zip deleted file mode 100644 index 4c1ad083cec..00000000000 Binary files a/.yarn/cache/inherits-npm-2.0.3-401e64b080-8771303d66.zip and /dev/null differ diff --git a/.yarn/cache/micromatch-npm-4.0.4-9fdcbb7a0e-c499da5aad.zip b/.yarn/cache/micromatch-npm-4.0.4-9fdcbb7a0e-c499da5aad.zip deleted file mode 100644 index 5e134325be7..00000000000 Binary files a/.yarn/cache/micromatch-npm-4.0.4-9fdcbb7a0e-c499da5aad.zip and /dev/null differ diff --git a/.yarn/cache/micromatch-npm-4.0.7-28fb7387ee-a11ed1cb67.zip b/.yarn/cache/micromatch-npm-4.0.7-28fb7387ee-a11ed1cb67.zip new file mode 100644 index 00000000000..41a698b10de Binary files /dev/null and b/.yarn/cache/micromatch-npm-4.0.7-28fb7387ee-a11ed1cb67.zip differ diff --git a/.yarn/cache/minizlib-npm-3.0.1-4bdabd978f-622cb85f51.zip b/.yarn/cache/minizlib-npm-3.0.1-4bdabd978f-622cb85f51.zip new file mode 100644 index 00000000000..faf3943e29e Binary files /dev/null and b/.yarn/cache/minizlib-npm-3.0.1-4bdabd978f-622cb85f51.zip differ diff --git a/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-16fd79c286.zip b/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-16fd79c286.zip new file mode 100644 index 00000000000..027c6d5faca Binary files /dev/null and b/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-16fd79c286.zip differ diff --git a/.yarn/cache/node-releases-npm-2.0.18-51abc46668-241e5fa955.zip b/.yarn/cache/node-releases-npm-2.0.18-51abc46668-241e5fa955.zip new file mode 100644 index 00000000000..47073a11d2b Binary files /dev/null and b/.yarn/cache/node-releases-npm-2.0.18-51abc46668-241e5fa955.zip differ diff --git a/.yarn/cache/on-finished-npm-2.4.1-907af70f88-8e81472c50.zip b/.yarn/cache/on-finished-npm-2.4.1-907af70f88-8e81472c50.zip new file mode 100644 index 00000000000..2c026245768 Binary files /dev/null and b/.yarn/cache/on-finished-npm-2.4.1-907af70f88-8e81472c50.zip differ diff --git a/.yarn/cache/package-json-from-dist-npm-1.0.0-961f0fcb3b-ac706ec856.zip b/.yarn/cache/package-json-from-dist-npm-1.0.0-961f0fcb3b-ac706ec856.zip new file mode 100644 index 00000000000..4a5aef6d54f Binary files /dev/null and b/.yarn/cache/package-json-from-dist-npm-1.0.0-961f0fcb3b-ac706ec856.zip differ diff --git a/.yarn/cache/path-to-regexp-npm-1.8.0-a1904f5c44-45a01690f7.zip b/.yarn/cache/path-to-regexp-npm-1.8.0-a1904f5c44-45a01690f7.zip deleted file mode 100644 index ad2d8036af8..00000000000 Binary files a/.yarn/cache/path-to-regexp-npm-1.8.0-a1904f5c44-45a01690f7.zip and /dev/null differ diff --git a/.yarn/cache/path-to-regexp-npm-1.9.0-723549d8d9-67f0f4823f.zip b/.yarn/cache/path-to-regexp-npm-1.9.0-723549d8d9-67f0f4823f.zip new file mode 100644 index 00000000000..f5b77bd0003 Binary files /dev/null and b/.yarn/cache/path-to-regexp-npm-1.9.0-723549d8d9-67f0f4823f.zip differ diff --git a/.yarn/cache/picocolors-npm-1.0.1-39442f3da8-fa68166d1f.zip b/.yarn/cache/picocolors-npm-1.0.1-39442f3da8-fa68166d1f.zip new file mode 100644 index 00000000000..21041b39e9b Binary files /dev/null and b/.yarn/cache/picocolors-npm-1.0.1-39442f3da8-fa68166d1f.zip differ diff --git a/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip b/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip new file mode 100644 index 00000000000..dbf505d9ac0 Binary files /dev/null and b/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip differ diff --git a/.yarn/cache/raw-body-npm-2.4.0-14d9d633af-aa2c506055.zip b/.yarn/cache/raw-body-npm-2.4.0-14d9d633af-aa2c506055.zip deleted file mode 100644 index a4cdebd7768..00000000000 Binary files a/.yarn/cache/raw-body-npm-2.4.0-14d9d633af-aa2c506055.zip and /dev/null differ diff --git a/.yarn/cache/raw-body-npm-2.5.2-5cb9dfebc1-863b5171e1.zip b/.yarn/cache/raw-body-npm-2.5.2-5cb9dfebc1-863b5171e1.zip new file mode 100644 index 00000000000..1e3aceaded5 Binary files /dev/null and b/.yarn/cache/raw-body-npm-2.5.2-5cb9dfebc1-863b5171e1.zip differ diff --git a/.yarn/cache/rimraf-npm-5.0.10-d0c6647697-f3b8ce81ee.zip b/.yarn/cache/rimraf-npm-5.0.10-d0c6647697-f3b8ce81ee.zip new file mode 100644 index 00000000000..29944e8dd25 Binary files /dev/null and b/.yarn/cache/rimraf-npm-5.0.10-d0c6647697-f3b8ce81ee.zip differ diff --git a/.yarn/cache/schema-utils-npm-3.3.0-f2b36937f1-2c7bbb1da9.zip b/.yarn/cache/schema-utils-npm-3.3.0-f2b36937f1-2c7bbb1da9.zip new file mode 100644 index 00000000000..61388e5155c Binary files /dev/null and b/.yarn/cache/schema-utils-npm-3.3.0-f2b36937f1-2c7bbb1da9.zip differ diff --git a/.yarn/cache/serialize-javascript-npm-6.0.2-cc09461d45-445a420a6f.zip b/.yarn/cache/serialize-javascript-npm-6.0.2-cc09461d45-445a420a6f.zip new file mode 100644 index 00000000000..7478beee20f Binary files /dev/null and b/.yarn/cache/serialize-javascript-npm-6.0.2-cc09461d45-445a420a6f.zip differ diff --git a/.yarn/cache/setprototypeof-npm-1.1.1-706b6318ec-b8fcf5b4b8.zip b/.yarn/cache/setprototypeof-npm-1.1.1-706b6318ec-b8fcf5b4b8.zip deleted file mode 100644 index 73ad3ae35a2..00000000000 Binary files a/.yarn/cache/setprototypeof-npm-1.1.1-706b6318ec-b8fcf5b4b8.zip and /dev/null differ diff --git a/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-fde1630422.zip b/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-fde1630422.zip new file mode 100644 index 00000000000..ea426181ffa Binary files /dev/null and b/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-fde1630422.zip differ diff --git a/.yarn/cache/statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip b/.yarn/cache/statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip new file mode 100644 index 00000000000..d54195d67f0 Binary files /dev/null and b/.yarn/cache/statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip differ diff --git a/.yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-12a2a4fc6d.zip b/.yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-12a2a4fc6d.zip new file mode 100644 index 00000000000..c6f3b1dcb0d Binary files /dev/null and b/.yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-12a2a4fc6d.zip differ diff --git a/.yarn/cache/terser-npm-5.31.6-535b99d333-78057c5802.zip b/.yarn/cache/terser-npm-5.31.6-535b99d333-78057c5802.zip new file mode 100644 index 00000000000..55f76d05ce4 Binary files /dev/null and b/.yarn/cache/terser-npm-5.31.6-535b99d333-78057c5802.zip differ diff --git a/.yarn/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip b/.yarn/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip new file mode 100644 index 00000000000..d2b8871f542 Binary files /dev/null and b/.yarn/cache/terser-webpack-plugin-npm-5.3.10-3bde1920fb-fb1c2436ae.zip differ diff --git a/.yarn/cache/toidentifier-npm-1.0.0-5dad252f90-199e6bfca1.zip b/.yarn/cache/toidentifier-npm-1.0.0-5dad252f90-199e6bfca1.zip deleted file mode 100644 index 27ee34cbcc4..00000000000 Binary files a/.yarn/cache/toidentifier-npm-1.0.0-5dad252f90-199e6bfca1.zip and /dev/null differ diff --git a/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip b/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip new file mode 100644 index 00000000000..595363e93b5 Binary files /dev/null and b/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip differ diff --git a/.yarn/cache/update-browserslist-db-npm-1.1.0-3d2cb7d955-d70b9efeaf.zip b/.yarn/cache/update-browserslist-db-npm-1.1.0-3d2cb7d955-d70b9efeaf.zip new file mode 100644 index 00000000000..068c0ccb74b Binary files /dev/null and b/.yarn/cache/update-browserslist-db-npm-1.1.0-3d2cb7d955-d70b9efeaf.zip differ diff --git a/.yarn/cache/watchpack-npm-2.4.0-7ec4b9cc65-4280b45bc4.zip b/.yarn/cache/watchpack-npm-2.4.0-7ec4b9cc65-4280b45bc4.zip deleted file mode 100644 index ef42a75c32e..00000000000 Binary files a/.yarn/cache/watchpack-npm-2.4.0-7ec4b9cc65-4280b45bc4.zip and /dev/null differ diff --git a/.yarn/cache/watchpack-npm-2.4.2-3e587d5d5b-6bd4c051d9.zip b/.yarn/cache/watchpack-npm-2.4.2-3e587d5d5b-6bd4c051d9.zip new file mode 100644 index 00000000000..f5cc36805a2 Binary files /dev/null and b/.yarn/cache/watchpack-npm-2.4.2-3e587d5d5b-6bd4c051d9.zip differ diff --git a/.yarn/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip b/.yarn/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip deleted file mode 100644 index 2d5321e5fc4..00000000000 Binary files a/.yarn/cache/webpack-npm-5.76.1-9aeb64c072-68010fc44a.zip and /dev/null differ diff --git a/.yarn/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip b/.yarn/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip new file mode 100644 index 00000000000..441f0ab80bd Binary files /dev/null and b/.yarn/cache/webpack-npm-5.94.0-d1e43de389-648449c5fb.zip differ diff --git a/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-1884d272d4.zip b/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-1884d272d4.zip new file mode 100644 index 00000000000..bedea8d219b Binary files /dev/null and b/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-1884d272d4.zip differ diff --git a/.yarnrc.yml b/.yarnrc.yml index a900111793f..34231a77e3b 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -14,6 +14,7 @@ npmAuditExcludePackages: - "@grpc/grpc-js" # TODO: Remove when gRPC stack is updated - "@humanwhocodes/config-array" # TODO: Update eslint - "@humanwhocodes/object-schema" # TODO: Update eslint + - micromatch # TODO: remove when new micromatch will be released https://github.com/advisories/GHSA-952p-6rrq-rcjv packageExtensions: "@dashevo/protobufjs@*": diff --git a/CHANGELOG.md b/CHANGELOG.md index f8420500dab..3dd4e6d8930 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,329 @@ +## [1.4.0-dev.1](https://github.com/dashpay/platform/compare/v1.3.0...v1.4.0-dev.1) (2024-09-27) + + +### ⚠ BREAKING CHANGES + +* **sdk:** change default network to mainnet (#2161) +* **dashmate:** confirm a node reset (#2160) +* **platform:** withdrawals polishing and fixes for mainnet (#2166) +* **platform:** do not switch to oldest quorums in validator set update (#2167) + +### Features + +* **dashmate:** confirm a node reset ([#2160](https://github.com/dashpay/platform/issues/2160)) +* **platform:** do not switch to oldest quorums in validator set update ([#2167](https://github.com/dashpay/platform/issues/2167)) +* **platform:** get current quorum info ([#2168](https://github.com/dashpay/platform/issues/2168)) +* **platform:** withdrawals polishing and fixes for mainnet ([#2166](https://github.com/dashpay/platform/issues/2166)) +* **sdk:** change default network to mainnet ([#2161](https://github.com/dashpay/platform/issues/2161)) + + +### Bug Fixes + +* **dapi:** getStatus cache invalidation ([#2155](https://github.com/dashpay/platform/issues/2155)) +* **dapi:** invalid mainnet seed ports ([#2173](https://github.com/dashpay/platform/issues/2173)) +* **dashmate:** cannot read properties of undefined (reading 'expires') ([#2164](https://github.com/dashpay/platform/issues/2164)) +* **dashmate:** colors[updated] is not a function ([#2157](https://github.com/dashpay/platform/issues/2157)) +* **dashmate:** doctor fails collecting to big logs ([#2158](https://github.com/dashpay/platform/issues/2158)) +* **dashmate:** port marks as closed if ipv6 is not disabled ([#2162](https://github.com/dashpay/platform/issues/2162)) +* **dashmate:** remove confusing short flag name ([#2165](https://github.com/dashpay/platform/issues/2165)) + + +### Continuous integration + +* build dashmate package on macos14 + + +### Documentation + +* **dashmate:** document logging configuration ([#2156](https://github.com/dashpay/platform/issues/2156)) + + +### Tests + +* **dashmate:** e2e tests failing due to DKG interval check ([#2171](https://github.com/dashpay/platform/issues/2171)) + + +### Miscellaneous Chores + +* **dashmate:** do not call mint on masternodes ([#2172](https://github.com/dashpay/platform/issues/2172)) +* **platform:** protocol version 4 creation ([#2153](https://github.com/dashpay/platform/issues/2153)) + + +## [1.3.0](https://github.com/dashpay/platform/compare/v1.2.0...v1.3.0) (2024-09-19) + +### Features + +* **platform:** query many identity balances at a time ([#2112](https://github.com/dashpay/platform/pull/2112)) +* **platform:** query block count per Evonode proposed in any given epoch ([#2114](https://github.com/dashpay/platform/pull/2114)) +* **platform:** contests on testnet/devnet/local should take less time ([#2115](https://github.com/dashpay/platform/pull/2115)) +* **dapi:** implement getIdentityBalance ([#2105](https://github.com/dashpay/platform/pull/2105)) +* **dashmate:** doctor diagnostic ([#2085](https://github.com/dashpay/platform/pull/2085)) +* **dashmate:** enhance core logging configuration ([#2121](https://github.com/dashpay/platform/pull/2121)) +* **platform:** support Tenderdash upgrade ([#2136](https://github.com/dashpay/platform/pull/2136)) + +### Bug Fixes + +* **sdk:** use proofs when waiting for asset lock ([#2067](https://github.com/dashpay/platform/pull/2067)) +* **platform:** contested username distribution ([#2118](https://github.com/dashpay/platform/pull/2118)) +* **drive-abci:** require 75 percent of active, not total hpmns ([#2127](https://github.com/dashpay/platform/pull/2127)) +* **drive-abci:** cleanup of later contests on testnet only ([#2134](https://github.com/dashpay/platform/pull/2134)) +* **platform:** contested username time fix ([#2137](https://github.com/dashpay/platform/pull/2137)) +* **dashmate:** invalid debug core log path ([#2143](https://github.com/dashpay/platform/pull/2143)) +* **tests:** fix upgrade tests because of 51% limit on v1 ([#2151](https://github.com/dashpay/platform/pull/2151)) +* **platform:** add limits to identity balances and proposed block counts queries ([#2148](https://github.com/dashpay/platform/pull/2148)) +* body-parser vulnerability ([#2119](https://github.com/dashpay/platform/pull/2119)) + +### Miscellaneous Chores + +* add change base branch script ([#2082](https://github.com/dashpay/platform/pull/2082)) +* emergency version upgrade to v1.3 Protocol Version 2 ([#2138](https://github.com/dashpay/platform/pull/2138)) +* disable config from testnet propagates network test ([#2149](https://github.com/dashpay/platform/pull/2149)) +* **js-sdk** connect to mainnet by default ([#2146](https://github.com/dashpay/platform/pull/2146)) + +### Build System + +* cache Rust dependencies build as a docker layer ([#1900](https://github.com/dashpay/platform/pull/1900)) +* **drive-abci:** debug docker image with grovedb visualizer and tokio console ([#2012](https://github.com/dashpay/platform/pull/2012)) +* **dashmate:** update tenderdash image to fix-wrong-proposer-at-round ([#2140](https://github.com/dashpay/platform/pull/2140)) +* bump rs-tenderdash-abci to 1.2.0+1.3.0 ([#2147](https://github.com/dashpay/platform/pull/2147)) + +### ⚠ BREAKING CHANGES + +* **platform:** contested username distribution ([#2118](https://github.com/dashpay/platform/pull/2118)) +* **platform:** contests on testnet/devnet/local should take less time ([#2115](https://github.com/dashpay/platform/pull/2115)) +* **dashmate:** docker logs rotation ([#2125](https://github.com/dashpay/platform/pull/2125)) + +**Full Changelog**: [https://github.com/dashpay/platform/compare/v1.2.0...v1.3.0](https://github.com/dashpay/platform/compare/v1.2.0...v1.3.0) + +## [1.3.0-dev.7](https://github.com/dashpay/platform/compare/v1.3.0-dev.6...v1.3.0-dev.7) (2024-09-18) + + +### Bug Fixes + +* **dashmate:** invalid debug core log path ([#2143](https://github.com/dashpay/platform/issues/2143)) + + +### Miscellaneous Chores + +* change Upgrade 4 Epochs Later ([#2144](https://github.com/dashpay/platform/issues/2144)) + +## [1.3.0-dev.6](https://github.com/dashpay/platform/compare/v1.3.0-dev.5...v1.3.0-dev.6) (2024-09-18) + + +### ⚠ BREAKING CHANGES + +* **platform:** support Tenderdash upgrade (#2136) +* **platform:** contested username time fix (#2137) +* **platform:** emergency version upgrade to v1.3 Protocol Version 2 (#2138) +* +### Bug Fixes + +* **platform:** contested username time fix ([#2137](https://github.com/dashpay/platform/issues/2137)) + +## [1.3.0-dev.5](https://github.com/dashpay/platform/compare/v1.3.0-dev.4...v1.3.0-dev.5) (2024-09-16) + + +### Bug Fixes + +* **drive-abci:** cleanup of later contests on testnet only ([#2134](https://github.com/dashpay/platform/issues/2134)) + +## [1.3.0-dev.4](https://github.com/dashpay/platform/compare/v1.3.0-dev.3...v1.3.0-dev.4) (2024-09-16) + + +### Bug Fixes + +* require75p of active not total hpmns ([#2129](https://github.com/dashpay/platform/issues/2129)) + +## [1.3.0-dev.3](https://github.com/dashpay/platform/compare/v1.3.0-dev.2...v1.3.0-dev.3) (2024-09-16) + + +### Bug Fixes + +* **drive-abci:** require 75 percent of active, not total hpmns ([#2127](https://github.com/dashpay/platform/issues/2127)) + +## [1.3.0-dev.2](https://github.com/dashpay/platform/compare/v1.3.0-dev.1...v1.3.0-dev.2) (2024-09-16) + + +### ⚠ BREAKING CHANGES + +* **platform:** contests on testnet should take less time (#2115) +* **platform:** contested username distribution (#2118) + +### Features + +* **platform:** contests on testnet should take less time ([#2115](https://github.com/dashpay/platform/issues/2115)) + + +### Bug Fixes + +* body-parser vulnerability ([#2119](https://github.com/dashpay/platform/issues/2119)) +* **platform:** contested username distribution ([#2118](https://github.com/dashpay/platform/issues/2118)) + + +### Miscellaneous Chores + +* **dashmate:** update platform images to `1-dev` ([#2120](https://github.com/dashpay/platform/issues/2120)) + + +### Styles + +* **dapi:** better api for identities balances ([#2122](https://github.com/dashpay/platform/issues/2122)) + +## [1.3.0-dev.1](https://github.com/dashpay/platform/compare/v1.2.0...v1.3.0-dev.1) (2024-09-12) + + +### Features + +* query block count per Evonode proposed in any given epoch ([#2114](https://github.com/dashpay/platform/issues/2114)) +* query many identity balances at a time ([#2112](https://github.com/dashpay/platform/issues/2112)) + + +### Bug Fixes + +* **sdk:** use proofs when waiting for asset lock ([#2067](https://github.com/dashpay/platform/issues/2067)) + + +### Build System + +* cache Rust dependencies build as a docker layer ([#1900](https://github.com/dashpay/platform/issues/1900)) +* **drive-abci:** debug docker image with grovedb visualizer and tokio console ([#2012](https://github.com/dashpay/platform/issues/2012)) + + +### Miscellaneous Chores + +* add change base branch script ([#2082](https://github.com/dashpay/platform/issues/2082)) +* creation of protocol V2 ([#2104](https://github.com/dashpay/platform/issues/2104)) + +## [1.2.0](https://github.com/dashpay/platform/compare/v1.1.1...v1.2.0) (2024-08-30) + + +### Features + +* **dapi:** serve even if tenderdash is not connected ([#2086](https://github.com/dashpay/platform/issues/2086)) +* **dashmate:** validate SSL certificate files ([#2089](https://github.com/dashpay/platform/issues/2089)) +* platform status endpoint ([#2088](https://github.com/dashpay/platform/issues/2088)) +* script to check which nodes are updated to v1.1 ([#2083](https://github.com/dashpay/platform/issues/2083)) + + +### Bug Fixes + +* **dashmate:** docker-compose version is obsolete ([#2073](https://github.com/dashpay/platform/issues/2073)) +* replay issue when round is 0 on replay. ([#2091](https://github.com/dashpay/platform/issues/2091)) +* security vulnerability in webpack ([#2090](https://github.com/dashpay/platform/issues/2090)) + + +### Miscellaneous Chores + +* **dashmate:** update tenderdash version ([#2093](https://github.com/dashpay/platform/issues/2093)) +* **dashmate:** update tenderdash version to 1.2.0 ([#2078](https://github.com/dashpay/platform/issues/2078)) +* update rust to 1.80 ([#2070](https://github.com/dashpay/platform/issues/2070)) + + + +## [1.2.0-rc.1](https://github.com/dashpay/platform/compare/v1.1.1...v1.2.0-rc.1) (2024-08-30) + + +### Features + +* **dapi:** serve even if tenderdash is not connected ([#2086](https://github.com/dashpay/platform/issues/2086)) +* **dashmate:** validate SSL certificate files ([#2089](https://github.com/dashpay/platform/issues/2089)) +* platform status endpoint ([#2088](https://github.com/dashpay/platform/issues/2088)) +* script to check which nodes are updated to v1.1 ([#2083](https://github.com/dashpay/platform/issues/2083)) + + +### Bug Fixes + +* **dashmate:** docker-compose version is obsolete ([#2073](https://github.com/dashpay/platform/issues/2073)) +* replay issue when round is 0 on replay. ([#2091](https://github.com/dashpay/platform/issues/2091)) +* security vulnerability in webpack ([#2090](https://github.com/dashpay/platform/issues/2090)) + + +### Miscellaneous Chores + +* **dashmate:** update tenderdash version ([#2093](https://github.com/dashpay/platform/issues/2093)) +* **dashmate:** update tenderdash version to 1.2.0 ([#2078](https://github.com/dashpay/platform/issues/2078)) +* update rust to 1.80 ([#2070](https://github.com/dashpay/platform/issues/2070)) + +### [1.1.1](https://github.com/dashpay/platform/compare/v1.1.0...v1.1.1) (2024-08-25) + + +### Features + +* **dashmate:** update testnet config ([#2079](https://github.com/dashpay/platform/issues/2079)) + + +### Miscellaneous Chores + +* **dashmate:** update tenderdash version to 1.2.0 ([#2078](https://github.com/dashpay/platform/issues/2078)) + + +## [1.1.0](https://github.com/dashpay/platform/compare/v1.1.0-dev.1...v1.1.0) (2024-08-24) + + +### ⚠ BREAKING CHANGES + +* **drive:** just in time fee update fixes (#2075) +* do not allow contested documents for the first three epochs (#2066) +* **drive-abci:** fix wrong fields in dash top level domain (#2065) +* **platform:** fix reference of items between epochs (#2064) +* **sdk:** mock sdk cannot find quorum keys in offline mode (#2061) +* **sdk:** overflow when using &&sdk in DapiRequestExecutor (#2060) + +### Features + +* **dashmate:** add `dashmate doctor` command ([#2024](https://github.com/dashpay/platform/issues/2024)) +* **dashmate:** compress doctor report and other improvements ([#2071](https://github.com/dashpay/platform/issues/2071)) +* **dashmate:** configure proposer and tx limits ([#2057](https://github.com/dashpay/platform/issues/2057)) +* **dpp:** function for getting enabled matching public keys in identities ([#2052](https://github.com/dashpay/platform/issues/2052)) +* where clauses recognize nested properties + + +### Bug Fixes + +* add back the matches on system properties +* **dapi:** getTotalCreditsOnPlatform missing parts ([#2059](https://github.com/dashpay/platform/issues/2059)) +* **dashmate:** core reindex command not working ([#2054](https://github.com/dashpay/platform/issues/2054)) +* **dashmate:** the reset platform command doesn't remove data ([#2053](https://github.com/dashpay/platform/issues/2053)) +* **drive-abci:** fix wrong fields in dash top level domain ([#2065](https://github.com/dashpay/platform/issues/2065)) +* **drive:** just in time fee update fixes ([#2075](https://github.com/dashpay/platform/issues/2075)) +* **platform:** fix reference of items between epochs ([#2064](https://github.com/dashpay/platform/issues/2064)) +* **sdk:** mock sdk cannot find quorum keys in offline mode ([#2061](https://github.com/dashpay/platform/issues/2061)) +* **sdk:** overflow when using &&sdk in DapiRequestExecutor ([#2060](https://github.com/dashpay/platform/issues/2060)) + + +### Code Refactoring + +* rename getTotalCreditsOnPlatform ([#2056](https://github.com/dashpay/platform/issues/2056)) + + +### Miscellaneous Chores + +* do not allow contested documents for the first three epochs ([#2066](https://github.com/dashpay/platform/issues/2066)) + +## [1.1.0-dev.1](https://github.com/dashpay/platform/compare/v1.0.2...v1.1.0-dev.1) (2024-08-13) + + +### ⚠ BREAKING CHANGES + +* masternode reward payouts are changed so previously created state won't be compatible (#2032) +* previously created networks won't be supported since genesis configuration is changed (#2042) +* added genesis core height in misc tree so previously created state won't be compatible (#2038) + +### Features + +* configure wait for ST result timeout ([#2045](https://github.com/dashpay/platform/issues/2045)) +* **dashmate:** configure tenderdash connections ([#2048](https://github.com/dashpay/platform/issues/2048)) +* **drive-abci:** skip state transition txs if time limit is reached on prepare_proposal ([#2041](https://github.com/dashpay/platform/issues/2041)) +* **platform:** store/fetch genesis core height in misc tree ([#2038](https://github.com/dashpay/platform/issues/2038)) +* **platform:** total credits on platform query and fix for reward distribution ([#2032](https://github.com/dashpay/platform/issues/2032)) + + +### Miscellaneous Chores + +* **dashmate:** update consensus params ([#2042](https://github.com/dashpay/platform/issues/2042)) +* **dashmate:** update tenderdash seed ([#2040](https://github.com/dashpay/platform/issues/2040)) +* ignore security vulnerability 1098397 ([#2044](https://github.com/dashpay/platform/issues/2044)) + ### [1.0.2](https://github.com/dashpay/platform/compare/v1.0.1...v1.0.2) (2024-07-31) @@ -528,14 +854,14 @@ There are multiple breaking changes that make previously created state invalid: * make strategy start identities a new struct ([#1764](https://github.com/dashpay/platform/issues/1764)) * updated descriptions and function names in strategy tests plus readme file ([#1785](https://github.com/dashpay/platform/issues/1785)) - + ### Miscellaneous Chores * **dashmate:** readme fixes ([#1624](https://github.com/dashpay/platform/issues/1624)) * fix npm audit for follow-redirects package ([#1781](https://github.com/dashpay/platform/issues/1781)) * **dapi:** use broadcast_tx instead of deprecated broadcast_tx_sync ([#1775](https://github.com/dashpay/platform/issues/1775)) - + ### Build System @@ -779,6 +1105,14 @@ There are multiple breaking changes that make previously created state invalid: * automatic clippy fixes ([#1528](https://github.com/dashpay/platform/issues/1528), [#1602](https://github.com/dashpay/platform/issues/1602)) + +### [0.25.22](https://github.com/dashpay/platform/compare/v0.25.21...v0.25.22) (2024-01-19) + + +### Bug Fixes + +* **dashmate:** dapi kills host machine on container stop ([#1670](https://github.com/dashpay/platform/issues/1670)) + ### [0.25.21](https://github.com/dashpay/platform/compare/v0.25.20...v0.25.21) (2023-12-28) diff --git a/Cargo.lock b/Cargo.lock index 661d19c1ceb..ad59187b72b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,6 +17,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aes" version = "0.8.4" @@ -161,9 +167,9 @@ checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_matches" @@ -219,7 +225,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -230,7 +236,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -366,7 +372,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -391,7 +397,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -464,7 +470,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.72", + "syn 2.0.75", "which", ] @@ -485,7 +491,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -554,9 +560,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", "arrayvec", @@ -615,7 +621,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", "syn_derive", ] @@ -676,9 +682,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" dependencies = [ "serde", ] @@ -706,9 +712,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -743,12 +749,13 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.6" +version = "1.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "50d2eb3cd3d1bf4529e31c215ee6f93ec5a3d536d9f578f93d9d33ee19562932" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -774,7 +781,7 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "check-features" -version = "0.1.2" +version = "1.4.0-dev.1" dependencies = [ "toml", ] @@ -852,9 +859,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.11" +version = "4.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" dependencies = [ "clap_builder", "clap_derive", @@ -862,9 +869,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.11" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -874,14 +881,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.11" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -988,15 +995,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -1135,12 +1142,12 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] name = "dapi-grpc" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "dapi-grpc-macros", "futures-core", @@ -1156,12 +1163,12 @@ dependencies = [ [[package]] name = "dapi-grpc-macros" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "dapi-grpc", "heck 0.5.0", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -1185,7 +1192,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -1196,12 +1203,12 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] name = "dash-sdk" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "arc-swap", "async-trait", @@ -1209,7 +1216,7 @@ dependencies = [ "bip37-bloom-filter", "chrono", "ciborium", - "clap 4.5.11", + "clap 4.5.16", "dapi-grpc", "dapi-grpc-macros", "dashcore-rpc", @@ -1301,7 +1308,7 @@ dependencies = [ [[package]] name = "dashpay-contract" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -1311,7 +1318,7 @@ dependencies = [ [[package]] name = "data-contracts" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "dashpay-contract", "dpns-contract", @@ -1363,7 +1370,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -1376,7 +1383,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -1410,7 +1417,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -1427,7 +1434,7 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dpns-contract" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -1437,7 +1444,7 @@ dependencies = [ [[package]] name = "dpp" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "anyhow", "assert_matches", @@ -1457,7 +1464,7 @@ dependencies = [ "env_logger 0.9.3", "getrandom", "hex", - "indexmap 2.2.6", + "indexmap 2.4.0", "integer-encoding", "itertools 0.12.1", "json-schema-compatibility-validator", @@ -1489,7 +1496,7 @@ dependencies = [ [[package]] name = "drive" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "arc-swap", "base64 0.22.1", @@ -1504,11 +1511,12 @@ dependencies = [ "enum-map", "grovedb", "grovedb-costs", + "grovedb-epoch-based-storage-flags", "grovedb-path", "grovedb-storage", "grovedb-version", "hex", - "indexmap 2.2.6", + "indexmap 2.4.0", "integer-encoding", "intmap", "itertools 0.11.0", @@ -1528,7 +1536,7 @@ dependencies = [ [[package]] name = "drive-abci" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "arc-swap", "assert_matches", @@ -1536,9 +1544,10 @@ dependencies = [ "atty", "base64 0.22.1", "bincode", + "bs58 0.5.1", "chrono", "ciborium", - "clap 4.5.11", + "clap 4.5.16", "console-subscriber", "dapi-grpc", "dashcore-rpc", @@ -1551,7 +1560,7 @@ dependencies = [ "envy", "file-rotate", "hex", - "indexmap 2.2.6", + "indexmap 2.4.0", "integer-encoding", "itertools 0.10.5", "lazy_static", @@ -1583,7 +1592,7 @@ dependencies = [ [[package]] name = "drive-proof-verifier" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "bincode", "dapi-grpc", @@ -1678,7 +1687,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -1797,7 +1806,7 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "feature-flags-contract" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -1829,12 +1838,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -1984,7 +1993,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -2054,9 +2063,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "grovedb" -version = "1.0.0" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e611dc8cdecac92dcce9689ff85084ef0082516f6be36e957ed3beaa62bdc342" +checksum = "77097f0a4cc70c4a69fa400f633c5f18739e446eaed05269a3d76e17fa4d33d2" dependencies = [ "axum 0.7.5", "bincode", @@ -2072,7 +2081,7 @@ dependencies = [ "grovedbg-types", "hex", "hex-literal", - "indexmap 2.2.6", + "indexmap 2.4.0", "integer-encoding", "intmap", "itertools 0.12.1", @@ -2088,10 +2097,23 @@ dependencies = [ [[package]] name = "grovedb-costs" -version = "1.0.0" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0487d63a68621b910567a911b3708a8246501ae1912fa2f1920474dcb28a207" +dependencies = [ + "integer-encoding", + "intmap", + "thiserror", +] + +[[package]] +name = "grovedb-epoch-based-storage-flags" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63a4e637e5034ab3a9ad0c3b062725296bbab5fc3390939113079832922c4f6f" +checksum = "53eb4b99b056e34bcceef2d604c883aee40daa688ceb7ec558456e10bef27c64" dependencies = [ + "grovedb-costs", + "hex", "integer-encoding", "intmap", "thiserror", @@ -2099,10 +2121,11 @@ dependencies = [ [[package]] name = "grovedb-merk" -version = "1.0.0" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "725053727bb275ca85ea67d8ada3e331a284f4468726cc766556eeca15e4f328" +checksum = "daedc296cac3093d244cbda0a11a5ef378bd4f747fcbe45b6cbed040c78cfb36" dependencies = [ + "bincode", "blake3", "byteorder", "colored", @@ -2114,7 +2137,7 @@ dependencies = [ "grovedb-version", "grovedb-visualize", "hex", - "indexmap 2.2.6", + "indexmap 2.4.0", "integer-encoding", "num_cpus", "rand", @@ -2124,15 +2147,15 @@ dependencies = [ [[package]] name = "grovedb-path" -version = "1.0.0" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fd729e9fadda3f464de90a4330f147a12591ead8df249f6bc99c1ba73a141aa" +checksum = "d3552accddbfe6e586853f50a102d665efc0449a63504e5e2113389be924f98c" [[package]] name = "grovedb-storage" -version = "1.0.0" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e8f57daa8232c5f0e35a8dfa5c1a13c22af7a87c8171154de10a2ac228781a" +checksum = "1868d74460c6205563e7bc72549f3fa057ed8bd0f83d96e04b2286ca0a216149" dependencies = [ "blake3", "grovedb-costs", @@ -2150,9 +2173,9 @@ dependencies = [ [[package]] name = "grovedb-version" -version = "1.0.0" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ccd8dff97c56a1ba1337eb054ca4da338db5ec06ce896cb97827076ce10d323" +checksum = "6d62bd20c621681dfd8aa6ca128702de775c67560c1fe412f380c5278d5c48ba" dependencies = [ "thiserror", "versioned-feature-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2160,9 +2183,9 @@ dependencies = [ [[package]] name = "grovedb-visualize" -version = "1.0.0" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ed487d564133a6975c6937ce1a69d2831c041c619cedbf776e292e0d9e6b11" +checksum = "b6cd92c3a11055b1d841d071f801517b98575f9704f5a757a016fe83d35a37b8" dependencies = [ "hex", "itertools 0.12.1", @@ -2170,9 +2193,9 @@ dependencies = [ [[package]] name = "grovedbg-types" -version = "1.0.0" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce4d345770f58e11e3f674106889d6aa28241c20cb652dd07c3101356b2b2fdd" +checksum = "003e5066965932dbb617e5966df5f73a066eb721579840b30ddd46bf04311fc8" dependencies = [ "serde", "serde_with 3.9.0", @@ -2190,7 +2213,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -2199,9 +2222,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -2209,7 +2232,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.2.6", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -2281,6 +2304,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -2443,7 +2472,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -2502,9 +2531,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", @@ -2572,9 +2601,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -2601,9 +2630,9 @@ dependencies = [ [[package]] name = "integer-encoding" -version = "4.0.0" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924df4f0e24e2e7f9cdd90babb0b96f93b20f3ecfa949ea9e6613756b8c8e1bf" +checksum = "0d762194228a2f1c11063e46e32e5acb96e66e906382b9eb5441f2e0504bbd5a" [[package]] name = "intmap" @@ -2633,11 +2662,11 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] @@ -2721,7 +2750,7 @@ dependencies = [ [[package]] name = "json-schema-compatibility-validator" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "assert_matches", "json-patch", @@ -2789,9 +2818,9 @@ checksum = "744a4c881f502e98c2241d2e5f50040ac73b30194d64452bb6260393b53f0dc9" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libloading" @@ -2821,9 +2850,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" dependencies = [ "cc", "pkg-config", @@ -2866,9 +2895,9 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ "hashbrown 0.14.5", ] @@ -2894,7 +2923,7 @@ dependencies = [ [[package]] name = "masternode-reward-shares-contract" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -2944,7 +2973,7 @@ dependencies = [ "hyper 1.4.1", "hyper-tls", "hyper-util", - "indexmap 2.2.6", + "indexmap 2.4.0", "ipnet", "metrics", "metrics-util", @@ -3000,11 +3029,20 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + [[package]] name = "mio" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", @@ -3184,7 +3222,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -3260,9 +3298,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.2" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -3302,7 +3340,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -3406,7 +3444,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.4.0", ] [[package]] @@ -3426,7 +3464,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -3459,7 +3497,7 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "platform-serialization" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "bincode", "platform-version", @@ -3467,24 +3505,24 @@ dependencies = [ [[package]] name = "platform-serialization-derive" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", "virtue 0.0.14", ] [[package]] name = "platform-value" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "base64 0.22.1", "bincode", "bs58 0.5.1", "ciborium", "hex", - "indexmap 2.2.6", + "indexmap 2.4.0", "lazy_static", "platform-serialization", "platform-version", @@ -3498,15 +3536,15 @@ dependencies = [ [[package]] name = "platform-value-convertible" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] name = "platform-version" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "bincode", "grovedb-version", @@ -3517,11 +3555,11 @@ dependencies = [ [[package]] name = "platform-versioning" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -3588,9 +3626,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" @@ -3624,9 +3665,9 @@ dependencies = [ [[package]] name = "pretty_assertions" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ "diff", "yansi", @@ -3649,7 +3690,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -3763,7 +3804,7 @@ dependencies = [ "prost 0.12.6", "prost-types 0.12.6", "regex", - "syn 2.0.72", + "syn 2.0.75", "tempfile", ] @@ -3790,7 +3831,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -3875,9 +3916,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -3967,9 +4008,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -4029,9 +4070,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "base64 0.22.1", "bytes", @@ -4039,7 +4080,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "http-body-util", @@ -4068,7 +4109,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "windows-registry", ] [[package]] @@ -4088,9 +4129,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" dependencies = [ "bitvec", "bytecheck", @@ -4106,9 +4147,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" dependencies = [ "proc-macro2", "quote", @@ -4127,7 +4168,7 @@ dependencies = [ [[package]] name = "rs-dapi-client" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "backon", "chrono", @@ -4158,9 +4199,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.35.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" +checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" dependencies = [ "arrayvec", "borsh", @@ -4174,9 +4215,9 @@ dependencies = [ [[package]] name = "rust_decimal_macros" -version = "1.35.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a05bf7103af0797dbce0667c471946b29b9eaea34652eff67324f360fec027de" +checksum = "da991f231869f34268415a49724c6578e740ad697ba0999199d6f22b3949332c" dependencies = [ "quote", "rust_decimal", @@ -4261,9 +4302,9 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" +checksum = "04182dffc9091a404e0fc069ea5cd60e5b866c3adf881eff99a32d048242dffa" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -4274,9 +4315,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ "base64 0.22.1", "rustls-pki-types", @@ -4284,9 +4325,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" @@ -4415,9 +4456,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] @@ -4453,22 +4494,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] name = "serde_json" -version = "1.0.121" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" +checksum = "b3b863381a05ffefbc82571a2d893edf47b27fb0ebedbf582c39640e51abebef" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "itoa", "memchr", "ryu", @@ -4493,7 +4534,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -4543,7 +4584,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_derive", "serde_json", @@ -4560,7 +4601,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -4572,7 +4613,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -4644,7 +4685,7 @@ checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] name = "simple-signer" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "base64 0.22.1", "bincode", @@ -4735,7 +4776,7 @@ dependencies = [ [[package]] name = "strategy-tests" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "bincode", "dpp", @@ -4786,7 +4827,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -4799,7 +4840,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -4830,9 +4871,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -4848,7 +4889,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -4862,6 +4903,9 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -4877,20 +4921,20 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -4910,20 +4954,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand 2.1.0", + "once_cell", "rustix 0.38.34", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "tenderdash-abci" -version = "1.1.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.1.0#03b741f3f24281ec6990c6c343079076c549b0f8" +version = "1.2.0+1.3.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.0+1.3.0#79b1bcc141f8285fe9b5022f8288b4c49ddfbb0c" dependencies = [ "bytes", "futures", @@ -4944,8 +4989,8 @@ dependencies = [ [[package]] name = "tenderdash-proto" -version = "1.1.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.1.0#03b741f3f24281ec6990c6c343079076c549b0f8" +version = "1.2.0+1.3.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.0+1.3.0#79b1bcc141f8285fe9b5022f8288b4c49ddfbb0c" dependencies = [ "bytes", "chrono", @@ -4963,8 +5008,8 @@ dependencies = [ [[package]] name = "tenderdash-proto-compiler" -version = "1.1.0" -source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.1.0#03b741f3f24281ec6990c6c343079076c549b0f8" +version = "1.2.0+1.3.0" +source = "git+https://github.com/dashpay/rs-tenderdash-abci?tag=v1.2.0+1.3.0#79b1bcc141f8285fe9b5022f8288b4c49ddfbb0c" dependencies = [ "fs_extra", "prost-build 0.12.6", @@ -4973,7 +5018,7 @@ dependencies = [ "tonic-build 0.11.0", "ureq", "walkdir", - "zip 2.1.5", + "zip 2.2.0", ] [[package]] @@ -5018,7 +5063,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -5042,7 +5087,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", "test-case-core", ] @@ -5072,7 +5117,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -5143,9 +5188,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", @@ -5178,7 +5223,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -5252,21 +5297,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.17", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -5277,7 +5322,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "toml_datetime", "winnow 0.5.40", ] @@ -5288,22 +5333,22 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.17" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.16", + "winnow 0.6.18", ] [[package]] @@ -5388,7 +5433,7 @@ dependencies = [ "proc-macro2", "prost-build 0.12.6", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -5398,7 +5443,7 @@ source = "git+https://github.com/QuantumExplorer/tower?branch=fix/indexMap2OnV04 dependencies = [ "futures-core", "futures-util", - "indexmap 2.2.6", + "indexmap 2.4.0", "pin-project", "pin-project-lite", "rand", @@ -5465,7 +5510,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -5582,9 +5627,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" [[package]] name = "untrusted" @@ -5594,9 +5639,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.10.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72139d247e5f97a3eff96229a7ae85ead5328a39efe76f8bf5a06313d505b6ea" +checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" dependencies = [ "base64 0.22.1", "flate2", @@ -5728,7 +5773,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", "wasm-bindgen-shared", ] @@ -5762,7 +5807,7 @@ checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5775,7 +5820,7 @@ checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" [[package]] name = "wasm-dpp" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "anyhow", "async-trait", @@ -5857,11 +5902,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5879,6 +5924,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -5897,6 +5972,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -6029,26 +6113,16 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.16" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "withdrawals-contract" -version = "1.0.2" +version = "1.4.0-dev.1" dependencies = [ "num_enum", "platform-value", @@ -6070,9 +6144,9 @@ dependencies = [ [[package]] name = "yansi" -version = "0.5.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "zerocopy" @@ -6080,6 +6154,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -6091,7 +6166,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.75", ] [[package]] @@ -6122,16 +6197,16 @@ dependencies = [ [[package]] name = "zip" -version = "2.1.5" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b895748a3ebcb69b9d38dcfdf21760859a4b0d0b0015277640c2ef4c69640e6f" +checksum = "dc5e4288ea4057ae23afc69a4472434a87a2495cafce6632fd1c4ec9f5cf3494" dependencies = [ "arbitrary", "crc32fast", "crossbeam-utils", "displaydoc", "flate2", - "indexmap 2.2.6", + "indexmap 2.4.0", "memchr", "thiserror", "zopfli", @@ -6181,9 +6256,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index bdf98a874fa..ab03e80fb4b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,6 +29,9 @@ members = [ "packages/rs-json-schema-compatibility-validator", "packages/check-features", ] +[workspace.package] + +rust-version = "1.80" [patch.crates-io] tower-service = { git = "https://github.com/QuantumExplorer/tower", branch = "fix/indexMap2OnV0413" } diff --git a/Dockerfile b/Dockerfile index 67c1c96a7e3..a96488115b5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -68,13 +68,17 @@ RUN npm config set --global audit false ARG TARGETARCH +WORKDIR /platform + + # TODO: It doesn't sharing PATH between stages, so we need "source $HOME/.cargo/env" everywhere -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \ - --profile minimal \ - -y \ - # Rust version the same as in /README.md - --default-toolchain 1.76 \ - --target wasm32-unknown-unknown +COPY rust-toolchain.toml . +RUN TOOLCHAIN_VERSION="$(grep channel rust-toolchain.toml | awk '{print $3}' | tr -d '"')" && \ + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \ + --profile minimal \ + -y \ + --default-toolchain "${TOOLCHAIN_VERSION}" \ + --target wasm32-unknown-unknown # Install protoc - protobuf compiler # The one shipped with Alpine does not work @@ -150,9 +154,10 @@ FROM deps-${RUSTC_WRAPPER:-base} AS deps ARG SCCACHE_S3_KEY_PREFIX ENV SCCACHE_S3_KEY_PREFIX=${SCCACHE_S3_KEY_PREFIX}/${TARGETARCH}/linux-musl +WORKDIR /platform + # Install wasm-bindgen-cli in the same profile as other components, to sacrifice some performance & disk space to gain # better build caching -WORKDIR /platform RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ @@ -166,16 +171,16 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM # Meanwhile if you want to update wasm-bindgen you also need to update version in: # - packages/wasm-dpp/Cargo.toml # - packages/wasm-dpp/scripts/build-wasm.sh - cargo install --profile "$CARGO_BUILD_PROFILE" wasm-bindgen-cli@0.2.86 + cargo install --profile "$CARGO_BUILD_PROFILE" wasm-bindgen-cli@0.2.86 cargo-chef@0.1.67 --locked # -# LOAD SOURCES +# Rust build planner to speed up builds # -FROM deps as sources - +FROM deps AS build-planner WORKDIR /platform - COPY . . +RUN source $HOME/.cargo/env && \ + cargo chef prepare --recipe-path recipe.json # Workaround: as we cache dapi-grpc, its build.rs is not rerun, so we need to touch it RUN touch /platform/packages/dapi-grpc/build.rs @@ -184,35 +189,90 @@ RUN touch /platform/packages/dapi-grpc/build.rs # STAGE: BUILD RS-DRIVE-ABCI # # This will prebuild majority of dependencies -FROM sources AS build-drive-abci +FROM deps AS build-drive-abci + +SHELL ["/bin/bash", "-o", "pipefail","-e", "-x", "-c"] ARG SCCACHE_S3_KEY_PREFIX ENV SCCACHE_S3_KEY_PREFIX=${SCCACHE_S3_KEY_PREFIX}/${TARGETARCH}/linux-musl +WORKDIR /platform + +COPY --from=build-planner /platform/recipe.json recipe.json + +# Build dependencies - this is the caching Docker layer! +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ + --mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ + source $HOME/.cargo/env && \ + export SCCACHE_SERVER_PORT=$((RANDOM+1025)) && \ + if [[ -z "${SCCACHE_MEMCACHED}" ]] ; then unset SCCACHE_MEMCACHED ; fi ; \ + cargo chef cook \ + --recipe-path recipe.json \ + --profile "$CARGO_BUILD_PROFILE" \ + --package drive-abci \ + --locked && \ + if [[ "${RUSTC_WRAPPER}" == "sccache" ]] ; then sccache --show-stats; fi + +COPY . . + RUN mkdir /artifacts +# Build Drive ABCI RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ --mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ export SCCACHE_SERVER_PORT=$((RANDOM+1025)) && \ + if [[ "${CARGO_BUILD_PROFILE}" == "release" ]] ; then \ + mv .cargo/config-release.toml .cargo/config.toml && \ + export OUT_DIRECTORY=release ; \ + else \ + export FEATURES_FLAG="--features=console,grovedbg" ; \ + export OUT_DIRECTORY=debug ; \ + + fi && \ if [[ -z "${SCCACHE_MEMCACHED}" ]] ; then unset SCCACHE_MEMCACHED ; fi ; \ cargo build \ - --profile "$CARGO_BUILD_PROFILE" \ + --profile "${CARGO_BUILD_PROFILE}" \ --package drive-abci \ + ${FEATURES_FLAG} \ --locked && \ - cp /platform/target/*/drive-abci /artifacts/ && \ + cp /platform/target/${OUT_DIRECTORY}/drive-abci /artifacts/ && \ if [[ "${RUSTC_WRAPPER}" == "sccache" ]] ; then sccache --show-stats; fi # # STAGE: BUILD JAVASCRIPT INTERMEDIATE IMAGE # -FROM sources AS build-js +FROM deps AS build-js ARG SCCACHE_S3_KEY_PREFIX ENV SCCACHE_S3_KEY_PREFIX=${SCCACHE_S3_KEY_PREFIX}/wasm/wasm32 +WORKDIR /platform + +COPY --from=build-planner /platform/recipe.json recipe.json + +# Build dependencies - this is the caching Docker layer! +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ + --mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ + source $HOME/.cargo/env && \ + export SCCACHE_SERVER_PORT=$((RANDOM+1025)) && \ + if [[ -z "${SCCACHE_MEMCACHED}" ]] ; then unset SCCACHE_MEMCACHED ; fi ; \ + cargo chef cook \ + --recipe-path recipe.json \ + --profile "$CARGO_BUILD_PROFILE" \ + --package wasm-dpp \ + --target wasm32-unknown-unknown \ + --locked && \ + if [[ "${RUSTC_WRAPPER}" == "sccache" ]] ; then sccache --show-stats; fi + +COPY . . + RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ diff --git a/README.md b/README.md index d4853d7f891..fd688fbc883 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ this repository may be used on the following networks: - [x] **Development networks** ([**devnets**](https://dashplatform.readme.io/docs/reference-glossary#devnet)) - [x] [**Testnet**](https://dashplatform.readme.io/docs/reference-glossary#testnet) -- [ ] [Mainnet](https://dashplatform.readme.io/docs/reference-glossary#mainnet) +- [x] [Mainnet](https://dashplatform.readme.io/docs/reference-glossary#mainnet) ## FAQ @@ -53,7 +53,7 @@ this repository may be used on the following networks: - Install prerequisites: - [node.js](https://nodejs.org/) v20 - [docker](https://docs.docker.com/get-docker/) v20.10+ - - [rust](https://www.rust-lang.org/tools/install) v1.76+, with wasm32 target (`rustup target add wasm32-unknown-unknown`) + - [rust](https://www.rust-lang.org/tools/install) v1.80+, with wasm32 target (`rustup target add wasm32-unknown-unknown`) - [protoc - protobuf compiler](https://github.com/protocolbuffers/protobuf/releases) v25.2+ - if needed, set PROTOC environment variable to location of `protoc` binary - [wasm-bingen toolchain](https://rustwasm.github.io/wasm-bindgen/): diff --git a/package.json b/package.json index a42075f8959..1b58fdb2e14 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/platform", - "version": "1.0.2", + "version": "1.4.0-dev.1", "private": true, "scripts": { "setup": "yarn install && yarn run build && yarn run configure", @@ -67,10 +67,9 @@ "packages/withdrawals-contract" ], "resolutions": { - "elliptic": "^6.5.4", + "elliptic": "6.5.7", "bn.js": "4.12.0", "fast-json-patch": "^3.1.1", - "node-tar": "^6.2.1", "oclif@3.4.2": "patch:oclif@npm:3.4.2#.yarn/patches/oclif-npm-3.4.2-a655d32eed.patch", "qs": "^6.7.3", "engine.io": "^6.4.2", @@ -84,14 +83,15 @@ "browserify-sign": "4.2.2", "istanbul-lib-processinfo": "2.0.3", "@babel/core": "7.23.3", - "tar": "^6.2.1", "tsconfig-paths": "4.2.0", "ansi-regex": "5.0.1", "cacache": "18.0.0", "node-gyp": "10.0.1", "follow-redirects": "^1.15.5", "socks": "^2.8.1", - "ws": "^8.17.1" + "ws": "^8.17.1", + "body-parser": "^1.20.3", + "path-to-regexp": "^1.9.0" }, "dependencies": { "node-gyp": "^10.0.1" diff --git a/packages/bench-suite/package.json b/packages/bench-suite/package.json index 665f181256e..3b274c7309c 100644 --- a/packages/bench-suite/package.json +++ b/packages/bench-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/bench-suite", "private": true, - "version": "1.0.2", + "version": "1.4.0-dev.1", "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 193e8d6b582..32fa620a542 100644 --- a/packages/check-features/Cargo.toml +++ b/packages/check-features/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "check-features" -version = "0.1.2" +version = "1.4.0-dev.1" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -toml = "0.8.12" \ No newline at end of file +toml = "0.8.12" diff --git a/packages/dapi-grpc/Cargo.toml b/packages/dapi-grpc/Cargo.toml index a6142cd0691..35a9f633cb7 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 = "1.0.2" +version = "1.4.0-dev.1" authors = [ "Samuel Westrich ", "Igor Markin ", @@ -10,7 +10,7 @@ authors = [ "Ivan Shumkov ", ] edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [features] @@ -42,7 +42,7 @@ tonic = { version = "0.11", features = [ serde = { version = "1.0.197", optional = true, features = ["derive"] } serde_bytes = { version = "0.11.12", optional = true } serde_json = { version = "1.0", optional = true } -tenderdash-proto = { git = "https://github.com/dashpay/rs-tenderdash-abci", version = "1.1.0", tag = "v1.1.0", default-features = false, features = [ +tenderdash-proto = { git = "https://github.com/dashpay/rs-tenderdash-abci", version = "1.2.0+1.3.0", tag = "v1.2.0+1.3.0", default-features = false, features = [ "grpc", ] } dapi-grpc-macros = { path = "../rs-dapi-grpc-macros" } diff --git a/packages/dapi-grpc/build.rs b/packages/dapi-grpc/build.rs index 6392c84e38a..f70b685fbdc 100644 --- a/packages/dapi-grpc/build.rs +++ b/packages/dapi-grpc/build.rs @@ -47,13 +47,14 @@ fn configure_platform(mut platform: MappingConfig) -> MappingConfig { // Derive features for versioned messages // // "GetConsensusParamsRequest" is excluded as this message does not support proofs - const VERSIONED_REQUESTS: [&str; 25] = [ + const VERSIONED_REQUESTS: [&str; 30] = [ "GetDataContractHistoryRequest", "GetDataContractRequest", "GetDataContractsRequest", "GetDocumentsRequest", "GetIdentitiesByPublicKeyHashesRequest", "GetIdentitiesRequest", + "GetIdentitiesBalancesRequest", "GetIdentityNonceRequest", "GetIdentityContractNonceRequest", "GetIdentityBalanceAndRevisionRequest", @@ -73,16 +74,25 @@ fn configure_platform(mut platform: MappingConfig) -> MappingConfig { "GetContestedResourceVotersForIdentityRequest", "GetContestedResourceIdentityVotesRequest", "GetVotePollsByEndDateRequest", + "GetTotalCreditsInPlatformRequest", + "GetEvonodesProposedEpochBlocksByIdsRequest", + "GetEvonodesProposedEpochBlocksByRangeRequest", + "GetStatusRequest", ]; - // "GetConsensusParamsResponse" is excluded as this message does not support proofs - const VERSIONED_RESPONSES: [&str; 26] = [ + // The following responses are excluded as they don't support proofs: + // - "GetConsensusParamsResponse" + // - "GetStatusResponse" + // + // "GetEvonodesProposedEpochBlocksResponse" is used for 2 Requests + const VERSIONED_RESPONSES: [&str; 29] = [ "GetDataContractHistoryResponse", "GetDataContractResponse", "GetDataContractsResponse", "GetDocumentsResponse", "GetIdentitiesByPublicKeyHashesResponse", "GetIdentitiesResponse", + "GetIdentitiesBalancesResponse", "GetIdentityBalanceAndRevisionResponse", "GetIdentityBalanceResponse", "GetIdentityNonceResponse", @@ -103,6 +113,8 @@ fn configure_platform(mut platform: MappingConfig) -> MappingConfig { "GetContestedResourceVotersForIdentityResponse", "GetContestedResourceIdentityVotesResponse", "GetVotePollsByEndDateResponse", + "GetTotalCreditsInPlatformResponse", + "GetEvonodesProposedEpochBlocksResponse", ]; check_unique(&VERSIONED_REQUESTS).expect("VERSIONED_REQUESTS"); @@ -205,6 +217,7 @@ impl MappingConfig { /// /// * `protobuf_file` - Path to the protobuf file to use as input. /// * `out_dir` - Output directory where subdirectories for generated files will be created. + /// /// Depending on the features, either `client`, `server` or `client_server` subdirectory /// will be created inside `out_dir`. fn new(protobuf_file: PathBuf, out_dir: PathBuf) -> Self { 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 93f559a7d07..26cf1818f91 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 @@ -232,6 +232,37 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse> getGetI return getGetIdentityBalanceMethod; } + private static volatile io.grpc.MethodDescriptor getGetIdentitiesBalancesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getIdentitiesBalances", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetIdentitiesBalancesMethod() { + io.grpc.MethodDescriptor getGetIdentitiesBalancesMethod; + if ((getGetIdentitiesBalancesMethod = PlatformGrpc.getGetIdentitiesBalancesMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetIdentitiesBalancesMethod = PlatformGrpc.getGetIdentitiesBalancesMethod) == null) { + PlatformGrpc.getGetIdentitiesBalancesMethod = getGetIdentitiesBalancesMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getIdentitiesBalances")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getIdentitiesBalances")) + .build(); + } + } + } + return getGetIdentitiesBalancesMethod; + } + private static volatile io.grpc.MethodDescriptor getGetIdentityBalanceAndRevisionMethod; @@ -263,6 +294,68 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRespon return getGetIdentityBalanceAndRevisionMethod; } + private static volatile io.grpc.MethodDescriptor getGetEvonodesProposedEpochBlocksByIdsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getEvonodesProposedEpochBlocksByIds", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetEvonodesProposedEpochBlocksByIdsMethod() { + io.grpc.MethodDescriptor getGetEvonodesProposedEpochBlocksByIdsMethod; + if ((getGetEvonodesProposedEpochBlocksByIdsMethod = PlatformGrpc.getGetEvonodesProposedEpochBlocksByIdsMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetEvonodesProposedEpochBlocksByIdsMethod = PlatformGrpc.getGetEvonodesProposedEpochBlocksByIdsMethod) == null) { + PlatformGrpc.getGetEvonodesProposedEpochBlocksByIdsMethod = getGetEvonodesProposedEpochBlocksByIdsMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getEvonodesProposedEpochBlocksByIds")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getEvonodesProposedEpochBlocksByIds")) + .build(); + } + } + } + return getGetEvonodesProposedEpochBlocksByIdsMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetEvonodesProposedEpochBlocksByRangeMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getEvonodesProposedEpochBlocksByRange", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetEvonodesProposedEpochBlocksByRangeMethod() { + io.grpc.MethodDescriptor getGetEvonodesProposedEpochBlocksByRangeMethod; + if ((getGetEvonodesProposedEpochBlocksByRangeMethod = PlatformGrpc.getGetEvonodesProposedEpochBlocksByRangeMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetEvonodesProposedEpochBlocksByRangeMethod = PlatformGrpc.getGetEvonodesProposedEpochBlocksByRangeMethod) == null) { + PlatformGrpc.getGetEvonodesProposedEpochBlocksByRangeMethod = getGetEvonodesProposedEpochBlocksByRangeMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getEvonodesProposedEpochBlocksByRange")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getEvonodesProposedEpochBlocksByRange")) + .build(); + } + } + } + return getGetEvonodesProposedEpochBlocksByRangeMethod; + } + private static volatile io.grpc.MethodDescriptor getGetProofsMethod; @@ -790,6 +883,37 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetPrefundedSpecializedBalanceRespo return getGetPrefundedSpecializedBalanceMethod; } + private static volatile io.grpc.MethodDescriptor getGetTotalCreditsInPlatformMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getTotalCreditsInPlatform", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetTotalCreditsInPlatformMethod() { + io.grpc.MethodDescriptor getGetTotalCreditsInPlatformMethod; + if ((getGetTotalCreditsInPlatformMethod = PlatformGrpc.getGetTotalCreditsInPlatformMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetTotalCreditsInPlatformMethod = PlatformGrpc.getGetTotalCreditsInPlatformMethod) == null) { + PlatformGrpc.getGetTotalCreditsInPlatformMethod = getGetTotalCreditsInPlatformMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getTotalCreditsInPlatform")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getTotalCreditsInPlatform")) + .build(); + } + } + } + return getGetTotalCreditsInPlatformMethod; + } + private static volatile io.grpc.MethodDescriptor getGetPathElementsMethod; @@ -821,6 +945,68 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsResponse> getGetPath return getGetPathElementsMethod; } + private static volatile io.grpc.MethodDescriptor getGetStatusMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getStatus", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetStatusMethod() { + io.grpc.MethodDescriptor getGetStatusMethod; + if ((getGetStatusMethod = PlatformGrpc.getGetStatusMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetStatusMethod = PlatformGrpc.getGetStatusMethod) == null) { + PlatformGrpc.getGetStatusMethod = getGetStatusMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getStatus")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getStatus")) + .build(); + } + } + } + return getGetStatusMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetCurrentQuorumsInfoMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getCurrentQuorumsInfo", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetCurrentQuorumsInfoMethod() { + io.grpc.MethodDescriptor getGetCurrentQuorumsInfoMethod; + if ((getGetCurrentQuorumsInfoMethod = PlatformGrpc.getGetCurrentQuorumsInfoMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetCurrentQuorumsInfoMethod = PlatformGrpc.getGetCurrentQuorumsInfoMethod) == null) { + PlatformGrpc.getGetCurrentQuorumsInfoMethod = getGetCurrentQuorumsInfoMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getCurrentQuorumsInfo")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getCurrentQuorumsInfo")) + .build(); + } + } + } + return getGetCurrentQuorumsInfoMethod; + } + /** * Creates a new async stub that supports all call types for the service */ @@ -918,6 +1104,13 @@ public void getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetI io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityBalanceMethod(), responseObserver); } + /** + */ + public void getIdentitiesBalances(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentitiesBalancesMethod(), responseObserver); + } + /** */ public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest request, @@ -925,6 +1118,20 @@ public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOute io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityBalanceAndRevisionMethod(), responseObserver); } + /** + */ + public void getEvonodesProposedEpochBlocksByIds(org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetEvonodesProposedEpochBlocksByIdsMethod(), responseObserver); + } + + /** + */ + public void getEvonodesProposedEpochBlocksByRange(org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetEvonodesProposedEpochBlocksByRangeMethod(), responseObserver); + } + /** */ public void getProofs(org.dash.platform.dapi.v0.PlatformOuterClass.GetProofsRequest request, @@ -1059,6 +1266,13 @@ public void getPrefundedSpecializedBalance(org.dash.platform.dapi.v0.PlatformOut io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetPrefundedSpecializedBalanceMethod(), responseObserver); } + /** + */ + public void getTotalCreditsInPlatform(org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTotalCreditsInPlatformMethod(), responseObserver); + } + /** */ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsRequest request, @@ -1066,6 +1280,20 @@ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPath io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetPathElementsMethod(), responseObserver); } + /** + */ + public void getStatus(org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetStatusMethod(), responseObserver); + } + + /** + */ + public void getCurrentQuorumsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetCurrentQuorumsInfoMethod(), responseObserver); + } + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) .addMethod( @@ -1117,6 +1345,13 @@ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPath org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse>( this, METHODID_GET_IDENTITY_BALANCE))) + .addMethod( + getGetIdentitiesBalancesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesResponse>( + this, METHODID_GET_IDENTITIES_BALANCES))) .addMethod( getGetIdentityBalanceAndRevisionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -1124,6 +1359,20 @@ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPath org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionResponse>( this, METHODID_GET_IDENTITY_BALANCE_AND_REVISION))) + .addMethod( + getGetEvonodesProposedEpochBlocksByIdsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse>( + this, METHODID_GET_EVONODES_PROPOSED_EPOCH_BLOCKS_BY_IDS))) + .addMethod( + getGetEvonodesProposedEpochBlocksByRangeMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse>( + this, METHODID_GET_EVONODES_PROPOSED_EPOCH_BLOCKS_BY_RANGE))) .addMethod( getGetProofsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -1243,6 +1492,13 @@ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPath org.dash.platform.dapi.v0.PlatformOuterClass.GetPrefundedSpecializedBalanceRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetPrefundedSpecializedBalanceResponse>( this, METHODID_GET_PREFUNDED_SPECIALIZED_BALANCE))) + .addMethod( + getGetTotalCreditsInPlatformMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformResponse>( + this, METHODID_GET_TOTAL_CREDITS_IN_PLATFORM))) .addMethod( getGetPathElementsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -1250,6 +1506,20 @@ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPath org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsResponse>( this, METHODID_GET_PATH_ELEMENTS))) + .addMethod( + getGetStatusMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusResponse>( + this, METHODID_GET_STATUS))) + .addMethod( + getGetCurrentQuorumsInfoMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoResponse>( + this, METHODID_GET_CURRENT_QUORUMS_INFO))) .build(); } } @@ -1324,6 +1594,14 @@ public void getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetI getChannel().newCall(getGetIdentityBalanceMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void getIdentitiesBalances(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetIdentitiesBalancesMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest request, @@ -1332,6 +1610,22 @@ public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOute getChannel().newCall(getGetIdentityBalanceAndRevisionMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void getEvonodesProposedEpochBlocksByIds(org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetEvonodesProposedEpochBlocksByIdsMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getEvonodesProposedEpochBlocksByRange(org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetEvonodesProposedEpochBlocksByRangeMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void getProofs(org.dash.platform.dapi.v0.PlatformOuterClass.GetProofsRequest request, @@ -1483,6 +1777,14 @@ public void getPrefundedSpecializedBalance(org.dash.platform.dapi.v0.PlatformOut getChannel().newCall(getGetPrefundedSpecializedBalanceMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void getTotalCreditsInPlatform(org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetTotalCreditsInPlatformMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsRequest request, @@ -1490,6 +1792,22 @@ public void getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPath io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getGetPathElementsMethod(), getCallOptions()), request, responseObserver); } + + /** + */ + public void getStatus(org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetStatusMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getCurrentQuorumsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetCurrentQuorumsInfoMethod(), getCallOptions()), request, responseObserver); + } } /** @@ -1555,6 +1873,13 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse g getChannel(), getGetIdentityBalanceMethod(), getCallOptions(), request); } + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesResponse getIdentitiesBalances(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetIdentitiesBalancesMethod(), getCallOptions(), request); + } + /** */ public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionResponse getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest request) { @@ -1562,6 +1887,20 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisio getChannel(), getGetIdentityBalanceAndRevisionMethod(), getCallOptions(), request); } + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse getEvonodesProposedEpochBlocksByIds(org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetEvonodesProposedEpochBlocksByIdsMethod(), getCallOptions(), request); + } + + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksResponse getEvonodesProposedEpochBlocksByRange(org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetEvonodesProposedEpochBlocksByRangeMethod(), getCallOptions(), request); + } + /** */ public org.dash.platform.dapi.v0.PlatformOuterClass.GetProofsResponse getProofs(org.dash.platform.dapi.v0.PlatformOuterClass.GetProofsRequest request) { @@ -1696,12 +2035,33 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetPrefundedSpecializedBalan getChannel(), getGetPrefundedSpecializedBalanceMethod(), getCallOptions(), request); } + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformResponse getTotalCreditsInPlatform(org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetTotalCreditsInPlatformMethod(), getCallOptions(), request); + } + /** */ public org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsResponse getPathElements(org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsRequest request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getGetPathElementsMethod(), getCallOptions(), request); } + + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusResponse getStatus(org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetStatusMethod(), getCallOptions(), request); + } + + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoResponse getCurrentQuorumsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetCurrentQuorumsInfoMethod(), getCallOptions(), request); + } } /** @@ -1774,6 +2134,14 @@ public com.google.common.util.concurrent.ListenableFuture getIdentitiesBalances( + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetIdentitiesBalancesMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture getIdentityBalanceAndRevision( @@ -1782,6 +2150,22 @@ public com.google.common.util.concurrent.ListenableFuture getEvonodesProposedEpochBlocksByIds( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetEvonodesProposedEpochBlocksByIdsMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getEvonodesProposedEpochBlocksByRange( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetEvonodesProposedEpochBlocksByRangeMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture getProofs( @@ -1933,6 +2317,14 @@ public com.google.common.util.concurrent.ListenableFuture getTotalCreditsInPlatform( + org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetTotalCreditsInPlatformMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture getPathElements( @@ -1940,6 +2332,22 @@ public com.google.common.util.concurrent.ListenableFuture getStatus( + org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetStatusMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getCurrentQuorumsInfo( + org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetCurrentQuorumsInfoMethod(), getCallOptions()), request); + } } private static final int METHODID_BROADCAST_STATE_TRANSITION = 0; @@ -1949,25 +2357,31 @@ public com.google.common.util.concurrent.ListenableFuture implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -2014,10 +2428,22 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv serviceImpl.getIdentityBalance((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_IDENTITIES_BALANCES: + serviceImpl.getIdentitiesBalances((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesBalancesRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_GET_IDENTITY_BALANCE_AND_REVISION: serviceImpl.getIdentityBalanceAndRevision((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_EVONODES_PROPOSED_EPOCH_BLOCKS_BY_IDS: + serviceImpl.getEvonodesProposedEpochBlocksByIds((org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByIdsRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_EVONODES_PROPOSED_EPOCH_BLOCKS_BY_RANGE: + serviceImpl.getEvonodesProposedEpochBlocksByRange((org.dash.platform.dapi.v0.PlatformOuterClass.GetEvonodesProposedEpochBlocksByRangeRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_GET_PROOFS: serviceImpl.getProofs((org.dash.platform.dapi.v0.PlatformOuterClass.GetProofsRequest) request, (io.grpc.stub.StreamObserver) responseObserver); @@ -2086,10 +2512,22 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv serviceImpl.getPrefundedSpecializedBalance((org.dash.platform.dapi.v0.PlatformOuterClass.GetPrefundedSpecializedBalanceRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_TOTAL_CREDITS_IN_PLATFORM: + serviceImpl.getTotalCreditsInPlatform((org.dash.platform.dapi.v0.PlatformOuterClass.GetTotalCreditsInPlatformRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_GET_PATH_ELEMENTS: serviceImpl.getPathElements((org.dash.platform.dapi.v0.PlatformOuterClass.GetPathElementsRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_STATUS: + serviceImpl.getStatus((org.dash.platform.dapi.v0.PlatformOuterClass.GetStatusRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_CURRENT_QUORUMS_INFO: + serviceImpl.getCurrentQuorumsInfo((org.dash.platform.dapi.v0.PlatformOuterClass.GetCurrentQuorumsInfoRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; default: throw new AssertionError(); } @@ -2158,7 +2596,10 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getGetIdentityNonceMethod()) .addMethod(getGetIdentityContractNonceMethod()) .addMethod(getGetIdentityBalanceMethod()) + .addMethod(getGetIdentitiesBalancesMethod()) .addMethod(getGetIdentityBalanceAndRevisionMethod()) + .addMethod(getGetEvonodesProposedEpochBlocksByIdsMethod()) + .addMethod(getGetEvonodesProposedEpochBlocksByRangeMethod()) .addMethod(getGetProofsMethod()) .addMethod(getGetDataContractMethod()) .addMethod(getGetDataContractHistoryMethod()) @@ -2176,7 +2617,10 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getGetContestedResourceIdentityVotesMethod()) .addMethod(getGetVotePollsByEndDateMethod()) .addMethod(getGetPrefundedSpecializedBalanceMethod()) + .addMethod(getGetTotalCreditsInPlatformMethod()) .addMethod(getGetPathElementsMethod()) + .addMethod(getGetStatusMethod()) + .addMethod(getGetCurrentQuorumsInfoMethod()) .build(); } } diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js b/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js index d56eaf8f304..a6190b4ac77 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js @@ -58,6 +58,12 @@ const { GetIdentityNonceResponse: PBJSGetIdentityNonceResponse, GetIdentityKeysRequest: PBJSGetIdentityKeysRequest, GetIdentityKeysResponse: PBJSGetIdentityKeysResponse, + GetTotalCreditsInPlatformRequest: PBJSGetTotalCreditsInPlatformRequest, + GetTotalCreditsInPlatformResponse: PBJSGetTotalCreditsInPlatformResponse, + GetStatusRequest: PBJSGetStatusRequest, + GetStatusResponse: PBJSGetStatusResponse, + GetIdentityBalanceRequest: PBJSGetIdentityBalanceRequest, + GetIdentityBalanceResponse: PBJSGetIdentityBalanceResponse, }, }, }, @@ -82,6 +88,9 @@ const { GetIdentityContractNonceResponse: ProtocGetIdentityContractNonceResponse, GetIdentityNonceResponse: ProtocGetIdentityNonceResponse, GetIdentityKeysResponse: ProtocGetIdentityKeysResponse, + GetTotalCreditsInPlatformResponse: ProtocGetTotalCreditsInPlatformResponse, + GetStatusResponse: ProtocGetStatusResponse, + GetIdentityBalanceResponse: ProtocGetIdentityBalanceResponse, } = require('./platform_protoc'); const getPlatformDefinition = require('../../../../lib/getPlatformDefinition'); @@ -172,6 +181,18 @@ class PlatformPromiseClient { this.client.getIdentityKeys.bind(this.client), ); + this.client.getTotalCreditsInPlatform = promisify( + this.client.getTotalCreditsInPlatform.bind(this.client), + ); + + this.client.getStatus = promisify( + this.client.getStatus.bind(this.client), + ); + + this.client.getIdentityBalance = promisify( + this.client.getIdentityBalance.bind(this.client), + ); + this.protocolVersion = undefined; } @@ -690,6 +711,93 @@ class PlatformPromiseClient { ); } + getTotalCreditsInPlatform( + getTotalCreditsInPlatformRequest, + metadata = {}, + options = {}, + ) { + if (!isObject(metadata)) { + throw new Error('metadata must be an object'); + } + + return this.client.getTotalCreditsInPlatform( + getTotalCreditsInPlatformRequest, + convertObjectToMetadata(metadata), + { + interceptors: [ + jsonToProtobufInterceptorFactory( + jsonToProtobufFactory( + ProtocGetTotalCreditsInPlatformResponse, + PBJSGetTotalCreditsInPlatformResponse, + ), + protobufToJsonFactory( + PBJSGetTotalCreditsInPlatformRequest, + ), + ), + ], + ...options, + }, + ); + } + + getStatus( + getStatusRequest, + metadata = {}, + options = {}, + ) { + if (!isObject(metadata)) { + throw new Error('metadata must be an object'); + } + + return this.client.getStatus( + getStatusRequest, + convertObjectToMetadata(metadata), + { + interceptors: [ + jsonToProtobufInterceptorFactory( + jsonToProtobufFactory( + ProtocGetStatusResponse, + PBJSGetStatusResponse, + ), + protobufToJsonFactory( + PBJSGetStatusRequest, + ), + ), + ], + ...options, + }, + ); + } + + getIdentityBalance( + getIdentityBalanceRequest, + metadata = {}, + options = {}, + ) { + if (!isObject(metadata)) { + throw new Error('metadata must be an object'); + } + + return this.client.getIdentityBalance( + getIdentityBalanceRequest, + convertObjectToMetadata(metadata), + { + interceptors: [ + jsonToProtobufInterceptorFactory( + jsonToProtobufFactory( + ProtocGetIdentityBalanceResponse, + PBJSGetIdentityBalanceResponse, + ), + protobufToJsonFactory( + PBJSGetIdentityBalanceRequest, + ), + ), + ], + ...options, + }, + ); + } + /** * @param {string} protocolVersion */ diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js index ad5b5842dd6..1818a68889a 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js @@ -317,6 +317,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getIdentitiesBalances}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getIdentitiesBalancesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} [response] GetIdentitiesBalancesResponse + */ + + /** + * Calls getIdentitiesBalances. + * @function getIdentitiesBalances + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesRequest} request GetIdentitiesBalancesRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getIdentitiesBalancesCallback} callback Node-style callback called with the error, if any, and GetIdentitiesBalancesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getIdentitiesBalances = function getIdentitiesBalances(request, callback) { + return this.rpcCall(getIdentitiesBalances, $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest, $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse, request, callback); + }, "name", { value: "getIdentitiesBalances" }); + + /** + * Calls getIdentitiesBalances. + * @function getIdentitiesBalances + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesRequest} request GetIdentitiesBalancesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getIdentityBalanceAndRevision}. * @memberof org.dash.platform.dapi.v0.Platform @@ -350,6 +383,72 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getEvonodesProposedEpochBlocksByIds}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getEvonodesProposedEpochBlocksByIdsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} [response] GetEvonodesProposedEpochBlocksResponse + */ + + /** + * Calls getEvonodesProposedEpochBlocksByIds. + * @function getEvonodesProposedEpochBlocksByIds + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByIdsRequest} request GetEvonodesProposedEpochBlocksByIdsRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getEvonodesProposedEpochBlocksByIdsCallback} callback Node-style callback called with the error, if any, and GetEvonodesProposedEpochBlocksResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getEvonodesProposedEpochBlocksByIds = function getEvonodesProposedEpochBlocksByIds(request, callback) { + return this.rpcCall(getEvonodesProposedEpochBlocksByIds, $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest, $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse, request, callback); + }, "name", { value: "getEvonodesProposedEpochBlocksByIds" }); + + /** + * Calls getEvonodesProposedEpochBlocksByIds. + * @function getEvonodesProposedEpochBlocksByIds + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByIdsRequest} request GetEvonodesProposedEpochBlocksByIdsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getEvonodesProposedEpochBlocksByRange}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getEvonodesProposedEpochBlocksByRangeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} [response] GetEvonodesProposedEpochBlocksResponse + */ + + /** + * Calls getEvonodesProposedEpochBlocksByRange. + * @function getEvonodesProposedEpochBlocksByRange + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByRangeRequest} request GetEvonodesProposedEpochBlocksByRangeRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getEvonodesProposedEpochBlocksByRangeCallback} callback Node-style callback called with the error, if any, and GetEvonodesProposedEpochBlocksResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getEvonodesProposedEpochBlocksByRange = function getEvonodesProposedEpochBlocksByRange(request, callback) { + return this.rpcCall(getEvonodesProposedEpochBlocksByRange, $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest, $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse, request, callback); + }, "name", { value: "getEvonodesProposedEpochBlocksByRange" }); + + /** + * Calls getEvonodesProposedEpochBlocksByRange. + * @function getEvonodesProposedEpochBlocksByRange + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByRangeRequest} request GetEvonodesProposedEpochBlocksByRangeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getProofs}. * @memberof org.dash.platform.dapi.v0.Platform @@ -911,6 +1010,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTotalCreditsInPlatform}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getTotalCreditsInPlatformCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} [response] GetTotalCreditsInPlatformResponse + */ + + /** + * Calls getTotalCreditsInPlatform. + * @function getTotalCreditsInPlatform + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} request GetTotalCreditsInPlatformRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getTotalCreditsInPlatformCallback} callback Node-style callback called with the error, if any, and GetTotalCreditsInPlatformResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getTotalCreditsInPlatform = function getTotalCreditsInPlatform(request, callback) { + return this.rpcCall(getTotalCreditsInPlatform, $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest, $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse, request, callback); + }, "name", { value: "getTotalCreditsInPlatform" }); + + /** + * Calls getTotalCreditsInPlatform. + * @function getTotalCreditsInPlatform + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} request GetTotalCreditsInPlatformRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getPathElements}. * @memberof org.dash.platform.dapi.v0.Platform @@ -944,6 +1076,72 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getStatus}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getStatusCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetStatusResponse} [response] GetStatusResponse + */ + + /** + * Calls getStatus. + * @function getStatus + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetStatusRequest} request GetStatusRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getStatusCallback} callback Node-style callback called with the error, if any, and GetStatusResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getStatus = function getStatus(request, callback) { + return this.rpcCall(getStatus, $root.org.dash.platform.dapi.v0.GetStatusRequest, $root.org.dash.platform.dapi.v0.GetStatusResponse, request, callback); + }, "name", { value: "getStatus" }); + + /** + * Calls getStatus. + * @function getStatus + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetStatusRequest} request GetStatusRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getCurrentQuorumsInfo}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getCurrentQuorumsInfoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} [response] GetCurrentQuorumsInfoResponse + */ + + /** + * Calls getCurrentQuorumsInfo. + * @function getCurrentQuorumsInfo + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} request GetCurrentQuorumsInfoRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getCurrentQuorumsInfoCallback} callback Node-style callback called with the error, if any, and GetCurrentQuorumsInfoResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getCurrentQuorumsInfo = function getCurrentQuorumsInfo(request, callback) { + return this.rpcCall(getCurrentQuorumsInfo, $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest, $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse, request, callback); + }, "name", { value: "getCurrentQuorumsInfo" }); + + /** + * Calls getCurrentQuorumsInfo. + * @function getCurrentQuorumsInfo + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} request GetCurrentQuorumsInfoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + return Platform; })(); @@ -11169,24 +11367,24 @@ $root.org = (function() { return GetIdentitiesContractKeysResponse; })(); - v0.GetProofsRequest = (function() { + v0.GetEvonodesProposedEpochBlocksByIdsRequest = (function() { /** - * Properties of a GetProofsRequest. + * Properties of a GetEvonodesProposedEpochBlocksByIdsRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProofsRequest - * @property {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0|null} [v0] GetProofsRequest v0 + * @interface IGetEvonodesProposedEpochBlocksByIdsRequest + * @property {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.IGetEvonodesProposedEpochBlocksByIdsRequestV0|null} [v0] GetEvonodesProposedEpochBlocksByIdsRequest v0 */ /** - * Constructs a new GetProofsRequest. + * Constructs a new GetEvonodesProposedEpochBlocksByIdsRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProofsRequest. - * @implements IGetProofsRequest + * @classdesc Represents a GetEvonodesProposedEpochBlocksByIdsRequest. + * @implements IGetEvonodesProposedEpochBlocksByIdsRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetProofsRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByIdsRequest=} [properties] Properties to set */ - function GetProofsRequest(properties) { + function GetEvonodesProposedEpochBlocksByIdsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11194,89 +11392,89 @@ $root.org = (function() { } /** - * GetProofsRequest v0. - * @member {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * GetEvonodesProposedEpochBlocksByIdsRequest v0. + * @member {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.IGetEvonodesProposedEpochBlocksByIdsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @instance */ - GetProofsRequest.prototype.v0 = null; + GetEvonodesProposedEpochBlocksByIdsRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProofsRequest version. + * GetEvonodesProposedEpochBlocksByIdsRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @instance */ - Object.defineProperty(GetProofsRequest.prototype, "version", { + Object.defineProperty(GetEvonodesProposedEpochBlocksByIdsRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProofsRequest instance using the specified properties. + * Creates a new GetEvonodesProposedEpochBlocksByIdsRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest instance + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByIdsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} GetEvonodesProposedEpochBlocksByIdsRequest instance */ - GetProofsRequest.create = function create(properties) { - return new GetProofsRequest(properties); + GetEvonodesProposedEpochBlocksByIdsRequest.create = function create(properties) { + return new GetEvonodesProposedEpochBlocksByIdsRequest(properties); }; /** - * Encodes the specified GetProofsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.verify|verify} messages. + * Encodes the specified GetEvonodesProposedEpochBlocksByIdsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsRequest} message GetProofsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByIdsRequest} message GetEvonodesProposedEpochBlocksByIdsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsRequest.encode = function encode(message, writer) { + GetEvonodesProposedEpochBlocksByIdsRequest.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.GetProofsRequest.GetProofsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetProofsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.verify|verify} messages. + * Encodes the specified GetEvonodesProposedEpochBlocksByIdsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsRequest} message GetProofsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByIdsRequest} message GetEvonodesProposedEpochBlocksByIdsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetEvonodesProposedEpochBlocksByIdsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProofsRequest message from the specified reader or buffer. + * Decodes a GetEvonodesProposedEpochBlocksByIdsRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} GetEvonodesProposedEpochBlocksByIdsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsRequest.decode = function decode(reader, length) { + GetEvonodesProposedEpochBlocksByIdsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -11287,37 +11485,37 @@ $root.org = (function() { }; /** - * Decodes a GetProofsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetEvonodesProposedEpochBlocksByIdsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} GetEvonodesProposedEpochBlocksByIdsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsRequest.decodeDelimited = function decodeDelimited(reader) { + GetEvonodesProposedEpochBlocksByIdsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProofsRequest message. + * Verifies a GetEvonodesProposedEpochBlocksByIdsRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProofsRequest.verify = function verify(message) { + GetEvonodesProposedEpochBlocksByIdsRequest.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.GetProofsRequest.GetProofsRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -11326,40 +11524,40 @@ $root.org = (function() { }; /** - * Creates a GetProofsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetEvonodesProposedEpochBlocksByIdsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} GetEvonodesProposedEpochBlocksByIdsRequest */ - GetProofsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest) + GetEvonodesProposedEpochBlocksByIdsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetProofsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetEvonodesProposedEpochBlocksByIdsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest} message GetProofsRequest + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} message GetEvonodesProposedEpochBlocksByIdsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProofsRequest.toObject = function toObject(message, options) { + GetEvonodesProposedEpochBlocksByIdsRequest.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.GetProofsRequest.GetProofsRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -11367,41 +11565,37 @@ $root.org = (function() { }; /** - * Converts this GetProofsRequest to JSON. + * Converts this GetEvonodesProposedEpochBlocksByIdsRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest * @instance * @returns {Object.} JSON object */ - GetProofsRequest.prototype.toJSON = function toJSON() { + GetEvonodesProposedEpochBlocksByIdsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProofsRequest.GetProofsRequestV0 = (function() { + GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 = (function() { /** - * Properties of a GetProofsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @interface IGetProofsRequestV0 - * @property {Array.|null} [identities] GetProofsRequestV0 identities - * @property {Array.|null} [contracts] GetProofsRequestV0 contracts - * @property {Array.|null} [documents] GetProofsRequestV0 documents - * @property {Array.|null} [votes] GetProofsRequestV0 votes + * Properties of a GetEvonodesProposedEpochBlocksByIdsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest + * @interface IGetEvonodesProposedEpochBlocksByIdsRequestV0 + * @property {number|null} [epoch] GetEvonodesProposedEpochBlocksByIdsRequestV0 epoch + * @property {Array.|null} [ids] GetEvonodesProposedEpochBlocksByIdsRequestV0 ids + * @property {boolean|null} [prove] GetEvonodesProposedEpochBlocksByIdsRequestV0 prove */ /** - * Constructs a new GetProofsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @classdesc Represents a GetProofsRequestV0. - * @implements IGetProofsRequestV0 + * Constructs a new GetEvonodesProposedEpochBlocksByIdsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest + * @classdesc Represents a GetEvonodesProposedEpochBlocksByIdsRequestV0. + * @implements IGetEvonodesProposedEpochBlocksByIdsRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.IGetEvonodesProposedEpochBlocksByIdsRequestV0=} [properties] Properties to set */ - function GetProofsRequestV0(properties) { - this.identities = []; - this.contracts = []; - this.documents = []; - this.votes = []; + function GetEvonodesProposedEpochBlocksByIdsRequestV0(properties) { + this.ids = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11409,126 +11603,104 @@ $root.org = (function() { } /** - * GetProofsRequestV0 identities. - * @member {Array.} identities - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @instance - */ - GetProofsRequestV0.prototype.identities = $util.emptyArray; - - /** - * GetProofsRequestV0 contracts. - * @member {Array.} contracts - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * GetEvonodesProposedEpochBlocksByIdsRequestV0 epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @instance */ - GetProofsRequestV0.prototype.contracts = $util.emptyArray; + GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.epoch = 0; /** - * GetProofsRequestV0 documents. - * @member {Array.} documents - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * GetEvonodesProposedEpochBlocksByIdsRequestV0 ids. + * @member {Array.} ids + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @instance */ - GetProofsRequestV0.prototype.documents = $util.emptyArray; + GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.ids = $util.emptyArray; /** - * GetProofsRequestV0 votes. - * @member {Array.} votes - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * GetEvonodesProposedEpochBlocksByIdsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @instance */ - GetProofsRequestV0.prototype.votes = $util.emptyArray; + GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.prove = false; /** - * Creates a new GetProofsRequestV0 instance using the specified properties. + * Creates a new GetEvonodesProposedEpochBlocksByIdsRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.IGetEvonodesProposedEpochBlocksByIdsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} GetEvonodesProposedEpochBlocksByIdsRequestV0 instance */ - GetProofsRequestV0.create = function create(properties) { - return new GetProofsRequestV0(properties); + GetEvonodesProposedEpochBlocksByIdsRequestV0.create = function create(properties) { + return new GetEvonodesProposedEpochBlocksByIdsRequestV0(properties); }; /** - * Encodes the specified GetProofsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify|verify} messages. + * Encodes the specified GetEvonodesProposedEpochBlocksByIdsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0} message GetProofsRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.IGetEvonodesProposedEpochBlocksByIdsRequestV0} message GetEvonodesProposedEpochBlocksByIdsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsRequestV0.encode = function encode(message, writer) { + GetEvonodesProposedEpochBlocksByIdsRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identities != null && message.identities.length) - for (var i = 0; i < message.identities.length; ++i) - $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.encode(message.identities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.contracts != null && message.contracts.length) - for (var i = 0; i < message.contracts.length; ++i) - $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.encode(message.contracts[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.documents != null && message.documents.length) - for (var i = 0; i < message.documents.length; ++i) - $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.encode(message.documents[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.votes != null && message.votes.length) - for (var i = 0; i < message.votes.length; ++i) - $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.encode(message.votes[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.epoch); + if (message.ids != null && message.ids.length) + for (var i = 0; i < message.ids.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.ids[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 GetProofsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify|verify} messages. + * Encodes the specified GetEvonodesProposedEpochBlocksByIdsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0} message GetProofsRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.IGetEvonodesProposedEpochBlocksByIdsRequestV0} message GetEvonodesProposedEpochBlocksByIdsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetEvonodesProposedEpochBlocksByIdsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProofsRequestV0 message from the specified reader or buffer. + * Decodes a GetEvonodesProposedEpochBlocksByIdsRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} GetEvonodesProposedEpochBlocksByIdsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsRequestV0.decode = function decode(reader, length) { + GetEvonodesProposedEpochBlocksByIdsRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.identities && message.identities.length)) - message.identities = []; - message.identities.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.decode(reader, reader.uint32())); + message.epoch = reader.uint32(); break; case 2: - if (!(message.contracts && message.contracts.length)) - message.contracts = []; - message.contracts.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.decode(reader, reader.uint32())); + if (!(message.ids && message.ids.length)) + message.ids = []; + message.ids.push(reader.bytes()); break; case 3: - if (!(message.documents && message.documents.length)) - message.documents = []; - message.documents.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.votes && message.votes.length)) - message.votes = []; - message.votes.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.decode(reader, reader.uint32())); + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -11539,329 +11711,711 @@ $root.org = (function() { }; /** - * Decodes a GetProofsRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetEvonodesProposedEpochBlocksByIdsRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} GetEvonodesProposedEpochBlocksByIdsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetEvonodesProposedEpochBlocksByIdsRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProofsRequestV0 message. + * Verifies a GetEvonodesProposedEpochBlocksByIdsRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProofsRequestV0.verify = function verify(message) { + GetEvonodesProposedEpochBlocksByIdsRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identities != null && message.hasOwnProperty("identities")) { - if (!Array.isArray(message.identities)) - return "identities: array expected"; - for (var i = 0; i < message.identities.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify(message.identities[i]); - if (error) - return "identities." + error; - } - } - if (message.contracts != null && message.hasOwnProperty("contracts")) { - if (!Array.isArray(message.contracts)) - return "contracts: array expected"; - for (var i = 0; i < message.contracts.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify(message.contracts[i]); - if (error) - return "contracts." + error; - } - } - if (message.documents != null && message.hasOwnProperty("documents")) { - if (!Array.isArray(message.documents)) - return "documents: array expected"; - for (var i = 0; i < message.documents.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify(message.documents[i]); - if (error) - return "documents." + error; - } - } - if (message.votes != null && message.hasOwnProperty("votes")) { - if (!Array.isArray(message.votes)) - return "votes: array expected"; - for (var i = 0; i < message.votes.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.verify(message.votes[i]); - if (error) - return "votes." + error; - } + if (message.epoch != null && message.hasOwnProperty("epoch")) + if (!$util.isInteger(message.epoch)) + return "epoch: integer expected"; + if (message.ids != null && message.hasOwnProperty("ids")) { + if (!Array.isArray(message.ids)) + return "ids: array expected"; + for (var i = 0; i < message.ids.length; ++i) + if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) + return "ids: buffer[] expected"; } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a GetProofsRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetEvonodesProposedEpochBlocksByIdsRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} GetEvonodesProposedEpochBlocksByIdsRequestV0 */ - GetProofsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0) + GetEvonodesProposedEpochBlocksByIdsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0(); - if (object.identities) { - if (!Array.isArray(object.identities)) - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities: array expected"); - message.identities = []; - for (var i = 0; i < object.identities.length; ++i) { - if (typeof object.identities[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities: object expected"); - message.identities[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.fromObject(object.identities[i]); - } - } - if (object.contracts) { - if (!Array.isArray(object.contracts)) - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts: array expected"); - message.contracts = []; - for (var i = 0; i < object.contracts.length; ++i) { - if (typeof object.contracts[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts: object expected"); - message.contracts[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.fromObject(object.contracts[i]); - } - } - if (object.documents) { - if (!Array.isArray(object.documents)) - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents: array expected"); - message.documents = []; - for (var i = 0; i < object.documents.length; ++i) { - if (typeof object.documents[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents: object expected"); - message.documents[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.fromObject(object.documents[i]); - } - } - if (object.votes) { - if (!Array.isArray(object.votes)) - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.votes: array expected"); - message.votes = []; - for (var i = 0; i < object.votes.length; ++i) { - if (typeof object.votes[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.votes: object expected"); - message.votes[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.fromObject(object.votes[i]); - } + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0(); + if (object.epoch != null) + message.epoch = object.epoch >>> 0; + if (object.ids) { + if (!Array.isArray(object.ids)) + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.ids: array expected"); + message.ids = []; + for (var i = 0; i < object.ids.length; ++i) + if (typeof object.ids[i] === "string") + $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); + else if (object.ids[i].length >= 0) + message.ids[i] = object.ids[i]; } + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetProofsRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetEvonodesProposedEpochBlocksByIdsRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message GetProofsRequestV0 + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} message GetEvonodesProposedEpochBlocksByIdsRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProofsRequestV0.toObject = function toObject(message, options) { + GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.identities = []; - object.contracts = []; - object.documents = []; - object.votes = []; - } - if (message.identities && message.identities.length) { - object.identities = []; - for (var j = 0; j < message.identities.length; ++j) - object.identities[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(message.identities[j], options); - } - if (message.contracts && message.contracts.length) { - object.contracts = []; - for (var j = 0; j < message.contracts.length; ++j) - object.contracts[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(message.contracts[j], options); - } - if (message.documents && message.documents.length) { - object.documents = []; - for (var j = 0; j < message.documents.length; ++j) - object.documents[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(message.documents[j], options); + if (options.arrays || options.defaults) + object.ids = []; + if (options.defaults) { + object.epoch = 0; + object.prove = false; } - if (message.votes && message.votes.length) { - object.votes = []; - for (var j = 0; j < message.votes.length; ++j) - object.votes[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject(message.votes[j], options); + if (message.epoch != null && message.hasOwnProperty("epoch")) + object.epoch = message.epoch; + if (message.ids && message.ids.length) { + object.ids = []; + for (var j = 0; j < message.ids.length; ++j) + object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this GetProofsRequestV0 to JSON. + * Converts this GetEvonodesProposedEpochBlocksByIdsRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 * @instance * @returns {Object.} JSON object */ - GetProofsRequestV0.prototype.toJSON = function toJSON() { + GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProofsRequestV0.DocumentRequest = (function() { + return GetEvonodesProposedEpochBlocksByIdsRequestV0; + })(); - /** - * Properties of a DocumentRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @interface IDocumentRequest - * @property {Uint8Array|null} [contractId] DocumentRequest contractId - * @property {string|null} [documentType] DocumentRequest documentType - * @property {boolean|null} [documentTypeKeepsHistory] DocumentRequest documentTypeKeepsHistory - * @property {Uint8Array|null} [documentId] DocumentRequest documentId - * @property {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus|null} [documentContestedStatus] DocumentRequest documentContestedStatus - */ + return GetEvonodesProposedEpochBlocksByIdsRequest; + })(); - /** - * Constructs a new DocumentRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @classdesc Represents a DocumentRequest. - * @implements IDocumentRequest - * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest=} [properties] Properties to set - */ - function DocumentRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + v0.GetEvonodesProposedEpochBlocksResponse = (function() { - /** - * DocumentRequest contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest - * @instance - */ - DocumentRequest.prototype.contractId = $util.newBuffer([]); + /** + * Properties of a GetEvonodesProposedEpochBlocksResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetEvonodesProposedEpochBlocksResponse + * @property {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.IGetEvonodesProposedEpochBlocksResponseV0|null} [v0] GetEvonodesProposedEpochBlocksResponse v0 + */ - /** - * DocumentRequest documentType. - * @member {string} documentType - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest - * @instance - */ - DocumentRequest.prototype.documentType = ""; + /** + * Constructs a new GetEvonodesProposedEpochBlocksResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetEvonodesProposedEpochBlocksResponse. + * @implements IGetEvonodesProposedEpochBlocksResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksResponse=} [properties] Properties to set + */ + function GetEvonodesProposedEpochBlocksResponse(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]]; + } - /** - * DocumentRequest documentTypeKeepsHistory. - * @member {boolean} documentTypeKeepsHistory - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest - * @instance - */ - DocumentRequest.prototype.documentTypeKeepsHistory = false; + /** + * GetEvonodesProposedEpochBlocksResponse v0. + * @member {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.IGetEvonodesProposedEpochBlocksResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @instance + */ + GetEvonodesProposedEpochBlocksResponse.prototype.v0 = null; - /** - * DocumentRequest documentId. - * @member {Uint8Array} documentId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest - * @instance - */ - DocumentRequest.prototype.documentId = $util.newBuffer([]); + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * DocumentRequest documentContestedStatus. - * @member {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} documentContestedStatus - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest - * @instance - */ - DocumentRequest.prototype.documentContestedStatus = 0; + /** + * GetEvonodesProposedEpochBlocksResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @instance + */ + Object.defineProperty(GetEvonodesProposedEpochBlocksResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Creates a new DocumentRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest instance - */ - DocumentRequest.create = function create(properties) { - return new DocumentRequest(properties); + /** + * Creates a new GetEvonodesProposedEpochBlocksResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} GetEvonodesProposedEpochBlocksResponse instance + */ + GetEvonodesProposedEpochBlocksResponse.create = function create(properties) { + return new GetEvonodesProposedEpochBlocksResponse(properties); + }; + + /** + * Encodes the specified GetEvonodesProposedEpochBlocksResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksResponse} message GetEvonodesProposedEpochBlocksResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksResponse.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetEvonodesProposedEpochBlocksResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksResponse} message GetEvonodesProposedEpochBlocksResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetEvonodesProposedEpochBlocksResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} GetEvonodesProposedEpochBlocksResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetEvonodesProposedEpochBlocksResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} GetEvonodesProposedEpochBlocksResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetEvonodesProposedEpochBlocksResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEvonodesProposedEpochBlocksResponse.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetEvonodesProposedEpochBlocksResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} GetEvonodesProposedEpochBlocksResponse + */ + GetEvonodesProposedEpochBlocksResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetEvonodesProposedEpochBlocksResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} message GetEvonodesProposedEpochBlocksResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEvonodesProposedEpochBlocksResponse.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetEvonodesProposedEpochBlocksResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @instance + * @returns {Object.} JSON object + */ + GetEvonodesProposedEpochBlocksResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 = (function() { + + /** + * Properties of a GetEvonodesProposedEpochBlocksResponseV0. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @interface IGetEvonodesProposedEpochBlocksResponseV0 + * @property {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodesProposedBlocks|null} [evonodesProposedBlockCountsInfo] GetEvonodesProposedEpochBlocksResponseV0 evonodesProposedBlockCountsInfo + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetEvonodesProposedEpochBlocksResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetEvonodesProposedEpochBlocksResponseV0 metadata + */ + + /** + * Constructs a new GetEvonodesProposedEpochBlocksResponseV0. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse + * @classdesc Represents a GetEvonodesProposedEpochBlocksResponseV0. + * @implements IGetEvonodesProposedEpochBlocksResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.IGetEvonodesProposedEpochBlocksResponseV0=} [properties] Properties to set + */ + function GetEvonodesProposedEpochBlocksResponseV0(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]]; + } + + /** + * GetEvonodesProposedEpochBlocksResponseV0 evonodesProposedBlockCountsInfo. + * @member {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodesProposedBlocks|null|undefined} evonodesProposedBlockCountsInfo + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @instance + */ + GetEvonodesProposedEpochBlocksResponseV0.prototype.evonodesProposedBlockCountsInfo = null; + + /** + * GetEvonodesProposedEpochBlocksResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @instance + */ + GetEvonodesProposedEpochBlocksResponseV0.prototype.proof = null; + + /** + * GetEvonodesProposedEpochBlocksResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @instance + */ + GetEvonodesProposedEpochBlocksResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetEvonodesProposedEpochBlocksResponseV0 result. + * @member {"evonodesProposedBlockCountsInfo"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @instance + */ + Object.defineProperty(GetEvonodesProposedEpochBlocksResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["evonodesProposedBlockCountsInfo", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetEvonodesProposedEpochBlocksResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.IGetEvonodesProposedEpochBlocksResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} GetEvonodesProposedEpochBlocksResponseV0 instance + */ + GetEvonodesProposedEpochBlocksResponseV0.create = function create(properties) { + return new GetEvonodesProposedEpochBlocksResponseV0(properties); + }; + + /** + * Encodes the specified GetEvonodesProposedEpochBlocksResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.IGetEvonodesProposedEpochBlocksResponseV0} message GetEvonodesProposedEpochBlocksResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.evonodesProposedBlockCountsInfo != null && Object.hasOwnProperty.call(message, "evonodesProposedBlockCountsInfo")) + $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.encode(message.evonodesProposedBlockCountsInfo, 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 GetEvonodesProposedEpochBlocksResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.IGetEvonodesProposedEpochBlocksResponseV0} message GetEvonodesProposedEpochBlocksResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetEvonodesProposedEpochBlocksResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} GetEvonodesProposedEpochBlocksResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.evonodesProposedBlockCountsInfo = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.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 GetEvonodesProposedEpochBlocksResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} GetEvonodesProposedEpochBlocksResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetEvonodesProposedEpochBlocksResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEvonodesProposedEpochBlocksResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.evonodesProposedBlockCountsInfo != null && message.hasOwnProperty("evonodesProposedBlockCountsInfo")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.verify(message.evonodesProposedBlockCountsInfo); + if (error) + return "evonodesProposedBlockCountsInfo." + 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 GetEvonodesProposedEpochBlocksResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} GetEvonodesProposedEpochBlocksResponseV0 + */ + GetEvonodesProposedEpochBlocksResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0(); + if (object.evonodesProposedBlockCountsInfo != null) { + if (typeof object.evonodesProposedBlockCountsInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.evonodesProposedBlockCountsInfo: object expected"); + message.evonodesProposedBlockCountsInfo = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.fromObject(object.evonodesProposedBlockCountsInfo); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetEvonodesProposedEpochBlocksResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} message GetEvonodesProposedEpochBlocksResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEvonodesProposedEpochBlocksResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.evonodesProposedBlockCountsInfo != null && message.hasOwnProperty("evonodesProposedBlockCountsInfo")) { + object.evonodesProposedBlockCountsInfo = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.toObject(message.evonodesProposedBlockCountsInfo, options); + if (options.oneofs) + object.result = "evonodesProposedBlockCountsInfo"; + } + 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 GetEvonodesProposedEpochBlocksResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetEvonodesProposedEpochBlocksResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks = (function() { + + /** + * Properties of an EvonodeProposedBlocks. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @interface IEvonodeProposedBlocks + * @property {Uint8Array|null} [proTxHash] EvonodeProposedBlocks proTxHash + * @property {number|Long|null} [count] EvonodeProposedBlocks count + */ + + /** + * Constructs a new EvonodeProposedBlocks. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @classdesc Represents an EvonodeProposedBlocks. + * @implements IEvonodeProposedBlocks + * @constructor + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodeProposedBlocks=} [properties] Properties to set + */ + function EvonodeProposedBlocks(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]]; + } + + /** + * EvonodeProposedBlocks proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks + * @instance + */ + EvonodeProposedBlocks.prototype.proTxHash = $util.newBuffer([]); + + /** + * EvonodeProposedBlocks count. + * @member {number|Long} count + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks + * @instance + */ + EvonodeProposedBlocks.prototype.count = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new EvonodeProposedBlocks instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodeProposedBlocks=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} EvonodeProposedBlocks instance + */ + EvonodeProposedBlocks.create = function create(properties) { + return new EvonodeProposedBlocks(properties); }; /** - * Encodes the specified DocumentRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify|verify} messages. + * Encodes the specified EvonodeProposedBlocks message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodeProposedBlocks} message EvonodeProposedBlocks message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DocumentRequest.encode = function encode(message, writer) { + EvonodeProposedBlocks.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); - if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); - if (message.documentTypeKeepsHistory != null && Object.hasOwnProperty.call(message, "documentTypeKeepsHistory")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.documentTypeKeepsHistory); - if (message.documentId != null && Object.hasOwnProperty.call(message, "documentId")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.documentId); - if (message.documentContestedStatus != null && Object.hasOwnProperty.call(message, "documentContestedStatus")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.documentContestedStatus); + if (message.proTxHash != null && Object.hasOwnProperty.call(message, "proTxHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.proTxHash); + if (message.count != null && Object.hasOwnProperty.call(message, "count")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.count); return writer; }; /** - * Encodes the specified DocumentRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify|verify} messages. + * Encodes the specified EvonodeProposedBlocks message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodeProposedBlocks} message EvonodeProposedBlocks message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DocumentRequest.encodeDelimited = function encodeDelimited(message, writer) { + EvonodeProposedBlocks.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DocumentRequest message from the specified reader or buffer. + * Decodes an EvonodeProposedBlocks message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} EvonodeProposedBlocks * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DocumentRequest.decode = function decode(reader, length) { + EvonodeProposedBlocks.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.contractId = reader.bytes(); + message.proTxHash = reader.bytes(); break; case 2: - message.documentType = reader.string(); - break; - case 3: - message.documentTypeKeepsHistory = reader.bool(); - break; - case 4: - message.documentId = reader.bytes(); - break; - case 5: - message.documentContestedStatus = reader.int32(); + message.count = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -11872,193 +12426,140 @@ $root.org = (function() { }; /** - * Decodes a DocumentRequest message from the specified reader or buffer, length delimited. + * Decodes an EvonodeProposedBlocks message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} EvonodeProposedBlocks * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DocumentRequest.decodeDelimited = function decodeDelimited(reader) { + EvonodeProposedBlocks.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DocumentRequest message. + * Verifies an EvonodeProposedBlocks message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DocumentRequest.verify = function verify(message) { + EvonodeProposedBlocks.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.contractId != null && message.hasOwnProperty("contractId")) - if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) - return "contractId: buffer expected"; - if (message.documentType != null && message.hasOwnProperty("documentType")) - if (!$util.isString(message.documentType)) - return "documentType: string expected"; - if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) - if (typeof message.documentTypeKeepsHistory !== "boolean") - return "documentTypeKeepsHistory: boolean expected"; - if (message.documentId != null && message.hasOwnProperty("documentId")) - if (!(message.documentId && typeof message.documentId.length === "number" || $util.isString(message.documentId))) - return "documentId: buffer expected"; - if (message.documentContestedStatus != null && message.hasOwnProperty("documentContestedStatus")) - switch (message.documentContestedStatus) { - default: - return "documentContestedStatus: enum value expected"; - case 0: - case 1: - case 2: - break; - } + 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.count != null && message.hasOwnProperty("count")) + if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high))) + return "count: integer|Long expected"; return null; }; /** - * Creates a DocumentRequest message from a plain object. Also converts values to their respective internal types. + * Creates an EvonodeProposedBlocks message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} EvonodeProposedBlocks */ - DocumentRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest) + EvonodeProposedBlocks.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest(); - if (object.contractId != null) - if (typeof object.contractId === "string") - $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); - else if (object.contractId.length >= 0) - message.contractId = object.contractId; - if (object.documentType != null) - message.documentType = String(object.documentType); - if (object.documentTypeKeepsHistory != null) - message.documentTypeKeepsHistory = Boolean(object.documentTypeKeepsHistory); - if (object.documentId != null) - if (typeof object.documentId === "string") - $util.base64.decode(object.documentId, message.documentId = $util.newBuffer($util.base64.length(object.documentId)), 0); - else if (object.documentId.length >= 0) - message.documentId = object.documentId; - switch (object.documentContestedStatus) { - case "NOT_CONTESTED": - case 0: - message.documentContestedStatus = 0; - break; - case "MAYBE_CONTESTED": - case 1: - message.documentContestedStatus = 1; - break; - case "CONTESTED": - case 2: - message.documentContestedStatus = 2; - break; - } + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks(); + 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.count != null) + if ($util.Long) + (message.count = $util.Long.fromValue(object.count)).unsigned = true; + else if (typeof object.count === "string") + message.count = parseInt(object.count, 10); + else if (typeof object.count === "number") + message.count = object.count; + else if (typeof object.count === "object") + message.count = new $util.LongBits(object.count.low >>> 0, object.count.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from a DocumentRequest message. Also converts values to other types if specified. + * Creates a plain object from an EvonodeProposedBlocks message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message DocumentRequest + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} message EvonodeProposedBlocks * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DocumentRequest.toObject = function toObject(message, options) { + EvonodeProposedBlocks.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.contractId = ""; - else { - object.contractId = []; - if (options.bytes !== Array) - object.contractId = $util.newBuffer(object.contractId); - } - object.documentType = ""; - object.documentTypeKeepsHistory = false; - if (options.bytes === String) - object.documentId = ""; + object.proTxHash = ""; else { - object.documentId = []; + object.proTxHash = []; if (options.bytes !== Array) - object.documentId = $util.newBuffer(object.documentId); + object.proTxHash = $util.newBuffer(object.proTxHash); } - object.documentContestedStatus = options.enums === String ? "NOT_CONTESTED" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.count = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.count = options.longs === String ? "0" : 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.documentType != null && message.hasOwnProperty("documentType")) - object.documentType = message.documentType; - if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) - object.documentTypeKeepsHistory = message.documentTypeKeepsHistory; - if (message.documentId != null && message.hasOwnProperty("documentId")) - object.documentId = options.bytes === String ? $util.base64.encode(message.documentId, 0, message.documentId.length) : options.bytes === Array ? Array.prototype.slice.call(message.documentId) : message.documentId; - if (message.documentContestedStatus != null && message.hasOwnProperty("documentContestedStatus")) - object.documentContestedStatus = options.enums === String ? $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus[message.documentContestedStatus] : message.documentContestedStatus; + 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.count != null && message.hasOwnProperty("count")) + if (typeof message.count === "number") + object.count = options.longs === String ? String(message.count) : message.count; + else + object.count = options.longs === String ? $util.Long.prototype.toString.call(message.count) : options.longs === Number ? new $util.LongBits(message.count.low >>> 0, message.count.high >>> 0).toNumber(true) : message.count; return object; }; /** - * Converts this DocumentRequest to JSON. + * Converts this EvonodeProposedBlocks to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks * @instance * @returns {Object.} JSON object */ - DocumentRequest.prototype.toJSON = function toJSON() { + EvonodeProposedBlocks.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * DocumentContestedStatus enum. - * @name org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus - * @enum {number} - * @property {number} NOT_CONTESTED=0 NOT_CONTESTED value - * @property {number} MAYBE_CONTESTED=1 MAYBE_CONTESTED value - * @property {number} CONTESTED=2 CONTESTED value - */ - DocumentRequest.DocumentContestedStatus = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "NOT_CONTESTED"] = 0; - values[valuesById[1] = "MAYBE_CONTESTED"] = 1; - values[valuesById[2] = "CONTESTED"] = 2; - return values; - })(); - - return DocumentRequest; + return EvonodeProposedBlocks; })(); - GetProofsRequestV0.IdentityRequest = (function() { + GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks = (function() { /** - * Properties of an IdentityRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @interface IIdentityRequest - * @property {Uint8Array|null} [identityId] IdentityRequest identityId - * @property {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type|null} [requestType] IdentityRequest requestType + * Properties of an EvonodesProposedBlocks. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @interface IEvonodesProposedBlocks + * @property {Array.|null} [evonodesProposedBlockCounts] EvonodesProposedBlocks evonodesProposedBlockCounts */ /** - * Constructs a new IdentityRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @classdesc Represents an IdentityRequest. - * @implements IIdentityRequest + * Constructs a new EvonodesProposedBlocks. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 + * @classdesc Represents an EvonodesProposedBlocks. + * @implements IEvonodesProposedBlocks * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodesProposedBlocks=} [properties] Properties to set */ - function IdentityRequest(properties) { + function EvonodesProposedBlocks(properties) { + this.evonodesProposedBlockCounts = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -12066,88 +12567,78 @@ $root.org = (function() { } /** - * IdentityRequest identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * EvonodesProposedBlocks evonodesProposedBlockCounts. + * @member {Array.} evonodesProposedBlockCounts + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @instance */ - IdentityRequest.prototype.identityId = $util.newBuffer([]); + EvonodesProposedBlocks.prototype.evonodesProposedBlockCounts = $util.emptyArray; /** - * IdentityRequest requestType. - * @member {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} requestType - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest - * @instance - */ - IdentityRequest.prototype.requestType = 0; - - /** - * Creates a new IdentityRequest instance using the specified properties. + * Creates a new EvonodesProposedBlocks instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest instance + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodesProposedBlocks=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} EvonodesProposedBlocks instance */ - IdentityRequest.create = function create(properties) { - return new IdentityRequest(properties); + EvonodesProposedBlocks.create = function create(properties) { + return new EvonodesProposedBlocks(properties); }; /** - * Encodes the specified IdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify|verify} messages. + * Encodes the specified EvonodesProposedBlocks message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest} message IdentityRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodesProposedBlocks} message EvonodesProposedBlocks message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityRequest.encode = function encode(message, writer) { + EvonodesProposedBlocks.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identityId); - if (message.requestType != null && Object.hasOwnProperty.call(message, "requestType")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.requestType); + if (message.evonodesProposedBlockCounts != null && message.evonodesProposedBlockCounts.length) + for (var i = 0; i < message.evonodesProposedBlockCounts.length; ++i) + $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.encode(message.evonodesProposedBlockCounts[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified IdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify|verify} messages. + * Encodes the specified EvonodesProposedBlocks message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest} message IdentityRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.IEvonodesProposedBlocks} message EvonodesProposedBlocks message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { + EvonodesProposedBlocks.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an IdentityRequest message from the specified reader or buffer. + * Decodes an EvonodesProposedBlocks message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} EvonodesProposedBlocks * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityRequest.decode = function decode(reader, length) { + EvonodesProposedBlocks.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identityId = reader.bytes(); - break; - case 2: - message.requestType = reader.int32(); + if (!(message.evonodesProposedBlockCounts && message.evonodesProposedBlockCounts.length)) + message.evonodesProposedBlockCounts = []; + message.evonodesProposedBlockCounts.push($root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -12158,983 +12649,738 @@ $root.org = (function() { }; /** - * Decodes an IdentityRequest message from the specified reader or buffer, length delimited. + * Decodes an EvonodesProposedBlocks message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} EvonodesProposedBlocks * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityRequest.decodeDelimited = function decodeDelimited(reader) { + EvonodesProposedBlocks.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an IdentityRequest message. + * Verifies an EvonodesProposedBlocks message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IdentityRequest.verify = function verify(message) { + EvonodesProposedBlocks.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identityId != null && message.hasOwnProperty("identityId")) - if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId))) - return "identityId: buffer expected"; - if (message.requestType != null && message.hasOwnProperty("requestType")) - switch (message.requestType) { - default: - return "requestType: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; + if (message.evonodesProposedBlockCounts != null && message.hasOwnProperty("evonodesProposedBlockCounts")) { + if (!Array.isArray(message.evonodesProposedBlockCounts)) + return "evonodesProposedBlockCounts: array expected"; + for (var i = 0; i < message.evonodesProposedBlockCounts.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.verify(message.evonodesProposedBlockCounts[i]); + if (error) + return "evonodesProposedBlockCounts." + error; } + } return null; }; /** - * Creates an IdentityRequest message from a plain object. Also converts values to their respective internal types. + * Creates an EvonodesProposedBlocks message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} EvonodesProposedBlocks */ - IdentityRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest) + EvonodesProposedBlocks.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest(); - if (object.identityId != null) - if (typeof object.identityId === "string") - $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0); - else if (object.identityId.length >= 0) - message.identityId = object.identityId; - switch (object.requestType) { - case "FULL_IDENTITY": - case 0: - message.requestType = 0; - break; - case "BALANCE": - case 1: - message.requestType = 1; - break; - case "KEYS": - case 2: - message.requestType = 2; - break; - case "REVISION": - case 3: - message.requestType = 3; - break; + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks(); + if (object.evonodesProposedBlockCounts) { + if (!Array.isArray(object.evonodesProposedBlockCounts)) + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.evonodesProposedBlockCounts: array expected"); + message.evonodesProposedBlockCounts = []; + for (var i = 0; i < object.evonodesProposedBlockCounts.length; ++i) { + if (typeof object.evonodesProposedBlockCounts[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.evonodesProposedBlockCounts: object expected"); + message.evonodesProposedBlockCounts[i] = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.fromObject(object.evonodesProposedBlockCounts[i]); + } } return message; }; /** - * Creates a plain object from an IdentityRequest message. Also converts values to other types if specified. + * Creates a plain object from an EvonodesProposedBlocks message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message IdentityRequest + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} message EvonodesProposedBlocks * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - IdentityRequest.toObject = function toObject(message, options) { + EvonodesProposedBlocks.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.identityId = ""; - else { - object.identityId = []; - if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); - } - object.requestType = options.enums === String ? "FULL_IDENTITY" : 0; + if (options.arrays || options.defaults) + object.evonodesProposedBlockCounts = []; + if (message.evonodesProposedBlockCounts && message.evonodesProposedBlockCounts.length) { + object.evonodesProposedBlockCounts = []; + for (var j = 0; j < message.evonodesProposedBlockCounts.length; ++j) + object.evonodesProposedBlockCounts[j] = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.toObject(message.evonodesProposedBlockCounts[j], options); } - if (message.identityId != null && message.hasOwnProperty("identityId")) - object.identityId = options.bytes === String ? $util.base64.encode(message.identityId, 0, message.identityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityId) : message.identityId; - if (message.requestType != null && message.hasOwnProperty("requestType")) - object.requestType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type[message.requestType] : message.requestType; return object; }; /** - * Converts this IdentityRequest to JSON. + * Converts this EvonodesProposedBlocks to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks * @instance * @returns {Object.} JSON object */ - IdentityRequest.prototype.toJSON = function toJSON() { + EvonodesProposedBlocks.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Type enum. - * @name org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type - * @enum {number} - * @property {number} FULL_IDENTITY=0 FULL_IDENTITY value - * @property {number} BALANCE=1 BALANCE value - * @property {number} KEYS=2 KEYS value - * @property {number} REVISION=3 REVISION value - */ - IdentityRequest.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FULL_IDENTITY"] = 0; - values[valuesById[1] = "BALANCE"] = 1; - values[valuesById[2] = "KEYS"] = 2; - values[valuesById[3] = "REVISION"] = 3; - return values; - })(); - - return IdentityRequest; + return EvonodesProposedBlocks; })(); - GetProofsRequestV0.ContractRequest = (function() { + return GetEvonodesProposedEpochBlocksResponseV0; + })(); - /** - * Properties of a ContractRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @interface IContractRequest - * @property {Uint8Array|null} [contractId] ContractRequest contractId - */ + return GetEvonodesProposedEpochBlocksResponse; + })(); - /** - * Constructs a new ContractRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @classdesc Represents a ContractRequest. - * @implements IContractRequest - * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest=} [properties] Properties to set - */ - function ContractRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + v0.GetEvonodesProposedEpochBlocksByRangeRequest = (function() { - /** - * ContractRequest contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @instance - */ - ContractRequest.prototype.contractId = $util.newBuffer([]); + /** + * Properties of a GetEvonodesProposedEpochBlocksByRangeRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetEvonodesProposedEpochBlocksByRangeRequest + * @property {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.IGetEvonodesProposedEpochBlocksByRangeRequestV0|null} [v0] GetEvonodesProposedEpochBlocksByRangeRequest v0 + */ - /** - * Creates a new ContractRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest instance - */ - ContractRequest.create = function create(properties) { - return new ContractRequest(properties); - }; + /** + * Constructs a new GetEvonodesProposedEpochBlocksByRangeRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetEvonodesProposedEpochBlocksByRangeRequest. + * @implements IGetEvonodesProposedEpochBlocksByRangeRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByRangeRequest=} [properties] Properties to set + */ + function GetEvonodesProposedEpochBlocksByRangeRequest(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 ContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest} message ContractRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContractRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); - return writer; - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequest v0. + * @member {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.IGetEvonodesProposedEpochBlocksByRangeRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @instance + */ + GetEvonodesProposedEpochBlocksByRangeRequest.prototype.v0 = null; - /** - * Encodes the specified ContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest} message ContractRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContractRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Decodes a ContractRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContractRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.contractId = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @instance + */ + Object.defineProperty(GetEvonodesProposedEpochBlocksByRangeRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Decodes a ContractRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContractRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Creates a new GetEvonodesProposedEpochBlocksByRangeRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByRangeRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} GetEvonodesProposedEpochBlocksByRangeRequest instance + */ + GetEvonodesProposedEpochBlocksByRangeRequest.create = function create(properties) { + return new GetEvonodesProposedEpochBlocksByRangeRequest(properties); + }; - /** - * Verifies a ContractRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ContractRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.contractId != null && message.hasOwnProperty("contractId")) - if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) - return "contractId: buffer expected"; - return null; - }; + /** + * Encodes the specified GetEvonodesProposedEpochBlocksByRangeRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByRangeRequest} message GetEvonodesProposedEpochBlocksByRangeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksByRangeRequest.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.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Creates a ContractRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest - */ - ContractRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest(); - if (object.contractId != null) - if (typeof object.contractId === "string") - $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); - else if (object.contractId.length >= 0) - message.contractId = object.contractId; - return message; - }; + /** + * Encodes the specified GetEvonodesProposedEpochBlocksByRangeRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetEvonodesProposedEpochBlocksByRangeRequest} message GetEvonodesProposedEpochBlocksByRangeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksByRangeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a plain object from a ContractRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message ContractRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ContractRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - if (options.bytes === String) - object.contractId = ""; - else { - object.contractId = []; - if (options.bytes !== Array) - object.contractId = $util.newBuffer(object.contractId); - } - if (message.contractId != null && message.hasOwnProperty("contractId")) - object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; - return object; - }; + /** + * Decodes a GetEvonodesProposedEpochBlocksByRangeRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} GetEvonodesProposedEpochBlocksByRangeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksByRangeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Converts this ContractRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest - * @instance - * @returns {Object.} JSON object - */ - ContractRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Decodes a GetEvonodesProposedEpochBlocksByRangeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} GetEvonodesProposedEpochBlocksByRangeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksByRangeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - return ContractRequest; - })(); + /** + * Verifies a GetEvonodesProposedEpochBlocksByRangeRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEvonodesProposedEpochBlocksByRangeRequest.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.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; - GetProofsRequestV0.VoteStatusRequest = (function() { + /** + * Creates a GetEvonodesProposedEpochBlocksByRangeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} GetEvonodesProposedEpochBlocksByRangeRequest + */ + GetEvonodesProposedEpochBlocksByRangeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.fromObject(object.v0); + } + return message; + }; - /** - * Properties of a VoteStatusRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @interface IVoteStatusRequest - * @property {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest|null} [contestedResourceVoteStatusRequest] VoteStatusRequest contestedResourceVoteStatusRequest - */ + /** + * Creates a plain object from a GetEvonodesProposedEpochBlocksByRangeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} message GetEvonodesProposedEpochBlocksByRangeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEvonodesProposedEpochBlocksByRangeRequest.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.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - /** - * Constructs a new VoteStatusRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 - * @classdesc Represents a VoteStatusRequest. - * @implements IVoteStatusRequest - * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest=} [properties] Properties to set - */ - function VoteStatusRequest(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 GetEvonodesProposedEpochBlocksByRangeRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @instance + * @returns {Object.} JSON object + */ + GetEvonodesProposedEpochBlocksByRangeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * VoteStatusRequest contestedResourceVoteStatusRequest. - * @member {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest|null|undefined} contestedResourceVoteStatusRequest - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @instance - */ - VoteStatusRequest.prototype.contestedResourceVoteStatusRequest = null; + GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 = (function() { - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Properties of a GetEvonodesProposedEpochBlocksByRangeRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @interface IGetEvonodesProposedEpochBlocksByRangeRequestV0 + * @property {number|null} [epoch] GetEvonodesProposedEpochBlocksByRangeRequestV0 epoch + * @property {number|null} [limit] GetEvonodesProposedEpochBlocksByRangeRequestV0 limit + * @property {Uint8Array|null} [startAfter] GetEvonodesProposedEpochBlocksByRangeRequestV0 startAfter + * @property {Uint8Array|null} [startAt] GetEvonodesProposedEpochBlocksByRangeRequestV0 startAt + * @property {boolean|null} [prove] GetEvonodesProposedEpochBlocksByRangeRequestV0 prove + */ - /** - * VoteStatusRequest requestType. - * @member {"contestedResourceVoteStatusRequest"|undefined} requestType - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @instance - */ - Object.defineProperty(VoteStatusRequest.prototype, "requestType", { - get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoteStatusRequest"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Constructs a new GetEvonodesProposedEpochBlocksByRangeRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest + * @classdesc Represents a GetEvonodesProposedEpochBlocksByRangeRequestV0. + * @implements IGetEvonodesProposedEpochBlocksByRangeRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.IGetEvonodesProposedEpochBlocksByRangeRequestV0=} [properties] Properties to set + */ + function GetEvonodesProposedEpochBlocksByRangeRequestV0(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 VoteStatusRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest instance - */ - VoteStatusRequest.create = function create(properties) { - return new VoteStatusRequest(properties); - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequestV0 epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @instance + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.epoch = 0; - /** - * Encodes the specified VoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest} message VoteStatusRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VoteStatusRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.contestedResourceVoteStatusRequest != null && Object.hasOwnProperty.call(message, "contestedResourceVoteStatusRequest")) - $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.encode(message.contestedResourceVoteStatusRequest, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified VoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest} message VoteStatusRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequestV0 limit. + * @member {number} limit + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @instance + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.limit = 0; - /** - * Decodes a VoteStatusRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VoteStatusRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.contestedResourceVoteStatusRequest = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequestV0 startAfter. + * @member {Uint8Array} startAfter + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @instance + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.startAfter = $util.newBuffer([]); - /** - * Decodes a VoteStatusRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VoteStatusRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequestV0 startAt. + * @member {Uint8Array} startAt + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @instance + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.startAt = $util.newBuffer([]); - /** - * Verifies a VoteStatusRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VoteStatusRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.contestedResourceVoteStatusRequest != null && message.hasOwnProperty("contestedResourceVoteStatusRequest")) { - properties.requestType = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.verify(message.contestedResourceVoteStatusRequest); - if (error) - return "contestedResourceVoteStatusRequest." + error; - } - } - return null; - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @instance + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.prove = false; - /** - * Creates a VoteStatusRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest - */ - VoteStatusRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest(); - if (object.contestedResourceVoteStatusRequest != null) { - if (typeof object.contestedResourceVoteStatusRequest !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.contestedResourceVoteStatusRequest: object expected"); - message.contestedResourceVoteStatusRequest = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.fromObject(object.contestedResourceVoteStatusRequest); - } - return message; - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Creates a plain object from a VoteStatusRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} message VoteStatusRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VoteStatusRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.contestedResourceVoteStatusRequest != null && message.hasOwnProperty("contestedResourceVoteStatusRequest")) { - object.contestedResourceVoteStatusRequest = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(message.contestedResourceVoteStatusRequest, options); - if (options.oneofs) - object.requestType = "contestedResourceVoteStatusRequest"; - } - return object; - }; + /** + * GetEvonodesProposedEpochBlocksByRangeRequestV0 start. + * @member {"startAfter"|"startAt"|undefined} start + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @instance + */ + Object.defineProperty(GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype, "start", { + get: $util.oneOfGetter($oneOfFields = ["startAfter", "startAt"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Converts this VoteStatusRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @instance - * @returns {Object.} JSON object - */ - VoteStatusRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a new GetEvonodesProposedEpochBlocksByRangeRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.IGetEvonodesProposedEpochBlocksByRangeRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} GetEvonodesProposedEpochBlocksByRangeRequestV0 instance + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.create = function create(properties) { + return new GetEvonodesProposedEpochBlocksByRangeRequestV0(properties); + }; - VoteStatusRequest.ContestedResourceVoteStatusRequest = (function() { + /** + * Encodes the specified GetEvonodesProposedEpochBlocksByRangeRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.IGetEvonodesProposedEpochBlocksByRangeRequestV0} message GetEvonodesProposedEpochBlocksByRangeRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.epoch); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.limit); + if (message.startAfter != null && Object.hasOwnProperty.call(message, "startAfter")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.startAfter); + if (message.startAt != null && Object.hasOwnProperty.call(message, "startAt")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.startAt); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); + return writer; + }; - /** - * Properties of a ContestedResourceVoteStatusRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @interface IContestedResourceVoteStatusRequest - * @property {Uint8Array|null} [contractId] ContestedResourceVoteStatusRequest contractId - * @property {string|null} [documentTypeName] ContestedResourceVoteStatusRequest documentTypeName - * @property {string|null} [indexName] ContestedResourceVoteStatusRequest indexName - * @property {Array.|null} [indexValues] ContestedResourceVoteStatusRequest indexValues - * @property {Uint8Array|null} [voterIdentifier] ContestedResourceVoteStatusRequest voterIdentifier - */ + /** + * Encodes the specified GetEvonodesProposedEpochBlocksByRangeRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.IGetEvonodesProposedEpochBlocksByRangeRequestV0} message GetEvonodesProposedEpochBlocksByRangeRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Constructs a new ContestedResourceVoteStatusRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest - * @classdesc Represents a ContestedResourceVoteStatusRequest. - * @implements IContestedResourceVoteStatusRequest - * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest=} [properties] Properties to set - */ - function ContestedResourceVoteStatusRequest(properties) { - this.indexValues = []; - if (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 GetEvonodesProposedEpochBlocksByRangeRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.epoch = reader.uint32(); + break; + case 2: + message.limit = reader.uint32(); + break; + case 3: + message.startAfter = reader.bytes(); + break; + case 4: + message.startAt = reader.bytes(); + break; + case 5: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; } + } + return message; + }; - /** - * ContestedResourceVoteStatusRequest contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @instance - */ - ContestedResourceVoteStatusRequest.prototype.contractId = $util.newBuffer([]); + /** + * Decodes a GetEvonodesProposedEpochBlocksByRangeRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * ContestedResourceVoteStatusRequest documentTypeName. - * @member {string} documentTypeName - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @instance - */ - ContestedResourceVoteStatusRequest.prototype.documentTypeName = ""; + /** + * Verifies a GetEvonodesProposedEpochBlocksByRangeRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.epoch != null && message.hasOwnProperty("epoch")) + if (!$util.isInteger(message.epoch)) + return "epoch: integer expected"; + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + if (message.startAfter != null && message.hasOwnProperty("startAfter")) { + properties.start = 1; + if (!(message.startAfter && typeof message.startAfter.length === "number" || $util.isString(message.startAfter))) + return "startAfter: buffer expected"; + } + if (message.startAt != null && message.hasOwnProperty("startAt")) { + if (properties.start === 1) + return "start: multiple values"; + properties.start = 1; + if (!(message.startAt && typeof message.startAt.length === "number" || $util.isString(message.startAt))) + return "startAt: buffer expected"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; - /** - * ContestedResourceVoteStatusRequest indexName. - * @member {string} indexName - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @instance - */ - ContestedResourceVoteStatusRequest.prototype.indexName = ""; + /** + * Creates a GetEvonodesProposedEpochBlocksByRangeRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} GetEvonodesProposedEpochBlocksByRangeRequestV0 + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0(); + if (object.epoch != null) + message.epoch = object.epoch >>> 0; + if (object.limit != null) + message.limit = object.limit >>> 0; + if (object.startAfter != null) + if (typeof object.startAfter === "string") + $util.base64.decode(object.startAfter, message.startAfter = $util.newBuffer($util.base64.length(object.startAfter)), 0); + else if (object.startAfter.length >= 0) + message.startAfter = object.startAfter; + if (object.startAt != null) + if (typeof object.startAt === "string") + $util.base64.decode(object.startAt, message.startAt = $util.newBuffer($util.base64.length(object.startAt)), 0); + else if (object.startAt.length >= 0) + message.startAt = object.startAt; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; - /** - * ContestedResourceVoteStatusRequest indexValues. - * @member {Array.} indexValues - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @instance - */ - ContestedResourceVoteStatusRequest.prototype.indexValues = $util.emptyArray; + /** + * Creates a plain object from a GetEvonodesProposedEpochBlocksByRangeRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} message GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.epoch = 0; + object.limit = 0; + object.prove = false; + } + if (message.epoch != null && message.hasOwnProperty("epoch")) + object.epoch = message.epoch; + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = message.limit; + if (message.startAfter != null && message.hasOwnProperty("startAfter")) { + object.startAfter = options.bytes === String ? $util.base64.encode(message.startAfter, 0, message.startAfter.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAfter) : message.startAfter; + if (options.oneofs) + object.start = "startAfter"; + } + if (message.startAt != null && message.hasOwnProperty("startAt")) { + object.startAt = options.bytes === String ? $util.base64.encode(message.startAt, 0, message.startAt.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAt) : message.startAt; + if (options.oneofs) + object.start = "startAt"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - /** - * ContestedResourceVoteStatusRequest voterIdentifier. - * @member {Uint8Array} voterIdentifier - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @instance - */ - ContestedResourceVoteStatusRequest.prototype.voterIdentifier = $util.newBuffer([]); + /** + * Converts this GetEvonodesProposedEpochBlocksByRangeRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a new ContestedResourceVoteStatusRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest instance - */ - ContestedResourceVoteStatusRequest.create = function create(properties) { - return new ContestedResourceVoteStatusRequest(properties); - }; + return GetEvonodesProposedEpochBlocksByRangeRequestV0; + })(); - /** - * Encodes the specified ContestedResourceVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest} message ContestedResourceVoteStatusRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContestedResourceVoteStatusRequest.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.voterIdentifier != null && Object.hasOwnProperty.call(message, "voterIdentifier")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.voterIdentifier); - return writer; - }; + return GetEvonodesProposedEpochBlocksByRangeRequest; + })(); - /** - * Encodes the specified ContestedResourceVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest} message ContestedResourceVoteStatusRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContestedResourceVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + v0.GetIdentitiesBalancesRequest = (function() { - /** - * Decodes a ContestedResourceVoteStatusRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContestedResourceVoteStatusRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest(); - 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: - message.indexName = reader.string(); - break; - case 4: - if (!(message.indexValues && message.indexValues.length)) - message.indexValues = []; - message.indexValues.push(reader.bytes()); - break; - case 5: - message.voterIdentifier = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Properties of a GetIdentitiesBalancesRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentitiesBalancesRequest + * @property {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.IGetIdentitiesBalancesRequestV0|null} [v0] GetIdentitiesBalancesRequest v0 + */ - /** - * Decodes a ContestedResourceVoteStatusRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContestedResourceVoteStatusRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ContestedResourceVoteStatusRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ContestedResourceVoteStatusRequest.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.voterIdentifier != null && message.hasOwnProperty("voterIdentifier")) - if (!(message.voterIdentifier && typeof message.voterIdentifier.length === "number" || $util.isString(message.voterIdentifier))) - return "voterIdentifier: buffer expected"; - return null; - }; - - /** - * Creates a ContestedResourceVoteStatusRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest - */ - ContestedResourceVoteStatusRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest(); - 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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.voterIdentifier != null) - if (typeof object.voterIdentifier === "string") - $util.base64.decode(object.voterIdentifier, message.voterIdentifier = $util.newBuffer($util.base64.length(object.voterIdentifier)), 0); - else if (object.voterIdentifier.length >= 0) - message.voterIdentifier = object.voterIdentifier; - return message; - }; - - /** - * Creates a plain object from a ContestedResourceVoteStatusRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} message ContestedResourceVoteStatusRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ContestedResourceVoteStatusRequest.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.voterIdentifier = ""; - else { - object.voterIdentifier = []; - if (options.bytes !== Array) - object.voterIdentifier = $util.newBuffer(object.voterIdentifier); - } - } - 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.voterIdentifier != null && message.hasOwnProperty("voterIdentifier")) - object.voterIdentifier = options.bytes === String ? $util.base64.encode(message.voterIdentifier, 0, message.voterIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.voterIdentifier) : message.voterIdentifier; - return object; - }; - - /** - * Converts this ContestedResourceVoteStatusRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest - * @instance - * @returns {Object.} JSON object - */ - ContestedResourceVoteStatusRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ContestedResourceVoteStatusRequest; - })(); - - return VoteStatusRequest; - })(); - - return GetProofsRequestV0; - })(); - - return GetProofsRequest; - })(); - - v0.GetProofsResponse = (function() { - - /** - * Properties of a GetProofsResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetProofsResponse - * @property {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0|null} [v0] GetProofsResponse v0 - */ - - /** - * Constructs a new GetProofsResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProofsResponse. - * @implements IGetProofsResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set - */ - function GetProofsResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new GetIdentitiesBalancesRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentitiesBalancesRequest. + * @implements IGetIdentitiesBalancesRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesRequest=} [properties] Properties to set + */ + function GetIdentitiesBalancesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * GetProofsResponse v0. - * @member {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * GetIdentitiesBalancesRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.IGetIdentitiesBalancesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @instance */ - GetProofsResponse.prototype.v0 = null; + GetIdentitiesBalancesRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProofsResponse version. + * GetIdentitiesBalancesRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @instance */ - Object.defineProperty(GetProofsResponse.prototype, "version", { + Object.defineProperty(GetIdentitiesBalancesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProofsResponse instance using the specified properties. + * Creates a new GetIdentitiesBalancesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} GetIdentitiesBalancesRequest instance */ - GetProofsResponse.create = function create(properties) { - return new GetProofsResponse(properties); + GetIdentitiesBalancesRequest.create = function create(properties) { + return new GetIdentitiesBalancesRequest(properties); }; /** - * Encodes the specified GetProofsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesRequest} message GetIdentitiesBalancesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsResponse.encode = function encode(message, writer) { + GetIdentitiesBalancesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) - $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetProofsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesRequest} message GetIdentitiesBalancesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProofsResponse message from the specified reader or buffer. + * Decodes a GetIdentitiesBalancesRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} GetIdentitiesBalancesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsResponse.decode = function decode(reader, length) { + GetIdentitiesBalancesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -13145,37 +13391,37 @@ $root.org = (function() { }; /** - * Decodes a GetProofsResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesBalancesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} GetIdentitiesBalancesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesBalancesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProofsResponse message. + * Verifies a GetIdentitiesBalancesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProofsResponse.verify = function verify(message) { + GetIdentitiesBalancesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.v0 != null && message.hasOwnProperty("v0")) { properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -13184,40 +13430,40 @@ $root.org = (function() { }; /** - * Creates a GetProofsResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesBalancesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} GetIdentitiesBalancesRequest */ - GetProofsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsResponse) + GetIdentitiesBalancesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetProofsResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesBalancesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.GetProofsResponse} message GetProofsResponse + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} message GetIdentitiesBalancesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProofsResponse.toObject = function toObject(message, options) { + GetIdentitiesBalancesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (message.v0 != null && message.hasOwnProperty("v0")) { - object.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -13225,35 +13471,36 @@ $root.org = (function() { }; /** - * Converts this GetProofsResponse to JSON. + * Converts this GetIdentitiesBalancesRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest * @instance * @returns {Object.} JSON object */ - GetProofsResponse.prototype.toJSON = function toJSON() { + GetIdentitiesBalancesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProofsResponse.GetProofsResponseV0 = (function() { + GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 = (function() { /** - * Properties of a GetProofsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProofsResponse - * @interface IGetProofsResponseV0 - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProofsResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProofsResponseV0 metadata + * Properties of a GetIdentitiesBalancesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest + * @interface IGetIdentitiesBalancesRequestV0 + * @property {Array.|null} [ids] GetIdentitiesBalancesRequestV0 ids + * @property {boolean|null} [prove] GetIdentitiesBalancesRequestV0 prove */ /** - * Constructs a new GetProofsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProofsResponse - * @classdesc Represents a GetProofsResponseV0. - * @implements IGetProofsResponseV0 + * Constructs a new GetIdentitiesBalancesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest + * @classdesc Represents a GetIdentitiesBalancesRequestV0. + * @implements IGetIdentitiesBalancesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.IGetIdentitiesBalancesRequestV0=} [properties] Properties to set */ - function GetProofsResponseV0(properties) { + function GetIdentitiesBalancesRequestV0(properties) { + this.ids = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -13261,102 +13508,91 @@ $root.org = (function() { } /** - * GetProofsResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 - * @instance - */ - GetProofsResponseV0.prototype.proof = null; - - /** - * GetProofsResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * GetIdentitiesBalancesRequestV0 ids. + * @member {Array.} ids + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @instance */ - GetProofsResponseV0.prototype.metadata = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + GetIdentitiesBalancesRequestV0.prototype.ids = $util.emptyArray; /** - * GetProofsResponseV0 result. - * @member {"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * GetIdentitiesBalancesRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @instance */ - Object.defineProperty(GetProofsResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + GetIdentitiesBalancesRequestV0.prototype.prove = false; /** - * Creates a new GetProofsResponseV0 instance using the specified properties. + * Creates a new GetIdentitiesBalancesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.IGetIdentitiesBalancesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} GetIdentitiesBalancesRequestV0 instance */ - GetProofsResponseV0.create = function create(properties) { - return new GetProofsResponseV0(properties); + GetIdentitiesBalancesRequestV0.create = function create(properties) { + return new GetIdentitiesBalancesRequestV0(properties); }; /** - * Encodes the specified GetProofsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0} message GetProofsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.IGetIdentitiesBalancesRequestV0} message GetIdentitiesBalancesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsResponseV0.encode = function encode(message, writer) { + GetIdentitiesBalancesRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.ids != null && message.ids.length) + for (var i = 0; i < message.ids.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ids[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified GetProofsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0} message GetProofsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.IGetIdentitiesBalancesRequestV0} message GetIdentitiesBalancesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProofsResponseV0 message from the specified reader or buffer. + * Decodes a GetIdentitiesBalancesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} GetIdentitiesBalancesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsResponseV0.decode = function decode(reader, length) { + GetIdentitiesBalancesRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + if (!(message.ids && message.ids.length)) + message.ids = []; + message.ids.push(reader.bytes()); break; case 2: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -13367,134 +13603,134 @@ $root.org = (function() { }; /** - * Decodes a GetProofsResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesBalancesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} GetIdentitiesBalancesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProofsResponseV0 message. + * Verifies a GetIdentitiesBalancesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProofsResponseV0.verify = function verify(message) { + GetIdentitiesBalancesRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.proof != null && message.hasOwnProperty("proof")) { - 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.ids != null && message.hasOwnProperty("ids")) { + if (!Array.isArray(message.ids)) + return "ids: array expected"; + for (var i = 0; i < message.ids.length; ++i) + if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) + return "ids: buffer[] expected"; } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a GetProofsResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesBalancesRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} GetIdentitiesBalancesRequestV0 */ - GetProofsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0) + GetIdentitiesBalancesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0(); - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0(); + if (object.ids) { + if (!Array.isArray(object.ids)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.ids: array expected"); + message.ids = []; + for (var i = 0; i < object.ids.length; ++i) + if (typeof object.ids[i] === "string") + $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); + else if (object.ids[i].length >= 0) + message.ids[i] = object.ids[i]; } + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetProofsResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesBalancesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message GetProofsResponseV0 + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} message GetIdentitiesBalancesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProofsResponseV0.toObject = function toObject(message, options) { + GetIdentitiesBalancesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.ids = []; if (options.defaults) - object.metadata = null; - 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"; + object.prove = false; + if (message.ids && message.ids.length) { + object.ids = []; + for (var j = 0; j < message.ids.length; ++j) + object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this GetProofsResponseV0 to JSON. + * Converts this GetIdentitiesBalancesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 * @instance * @returns {Object.} JSON object */ - GetProofsResponseV0.prototype.toJSON = function toJSON() { + GetIdentitiesBalancesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProofsResponseV0; + return GetIdentitiesBalancesRequestV0; })(); - return GetProofsResponse; + return GetIdentitiesBalancesRequest; })(); - v0.GetDataContractRequest = (function() { + v0.GetIdentitiesBalancesResponse = (function() { /** - * Properties of a GetDataContractRequest. + * Properties of a GetIdentitiesBalancesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractRequest - * @property {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0|null} [v0] GetDataContractRequest v0 + * @interface IGetIdentitiesBalancesResponse + * @property {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.IGetIdentitiesBalancesResponseV0|null} [v0] GetIdentitiesBalancesResponse v0 */ /** - * Constructs a new GetDataContractRequest. + * Constructs a new GetIdentitiesBalancesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractRequest. - * @implements IGetDataContractRequest + * @classdesc Represents a GetIdentitiesBalancesResponse. + * @implements IGetIdentitiesBalancesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesResponse=} [properties] Properties to set */ - function GetDataContractRequest(properties) { + function GetIdentitiesBalancesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -13502,89 +13738,89 @@ $root.org = (function() { } /** - * GetDataContractRequest v0. - * @member {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * GetIdentitiesBalancesResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.IGetIdentitiesBalancesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @instance */ - GetDataContractRequest.prototype.v0 = null; + GetIdentitiesBalancesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractRequest version. + * GetIdentitiesBalancesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @instance */ - Object.defineProperty(GetDataContractRequest.prototype, "version", { + Object.defineProperty(GetIdentitiesBalancesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractRequest instance using the specified properties. + * Creates a new GetIdentitiesBalancesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} GetIdentitiesBalancesResponse instance */ - GetDataContractRequest.create = function create(properties) { - return new GetDataContractRequest(properties); + GetIdentitiesBalancesResponse.create = function create(properties) { + return new GetIdentitiesBalancesResponse(properties); }; /** - * Encodes the specified GetDataContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesResponse} message GetIdentitiesBalancesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractRequest.encode = function encode(message, writer) { + GetIdentitiesBalancesResponse.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.GetDataContractRequest.GetDataContractRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesBalancesResponse} message GetIdentitiesBalancesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractRequest message from the specified reader or buffer. + * Decodes a GetIdentitiesBalancesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} GetIdentitiesBalancesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractRequest.decode = function decode(reader, length) { + GetIdentitiesBalancesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -13595,37 +13831,37 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesBalancesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} GetIdentitiesBalancesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesBalancesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractRequest message. + * Verifies a GetIdentitiesBalancesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractRequest.verify = function verify(message) { + GetIdentitiesBalancesResponse.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.GetDataContractRequest.GetDataContractRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -13634,40 +13870,40 @@ $root.org = (function() { }; /** - * Creates a GetDataContractRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesBalancesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} GetIdentitiesBalancesResponse */ - GetDataContractRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractRequest) + GetIdentitiesBalancesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetDataContractRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesBalancesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.GetDataContractRequest} message GetDataContractRequest + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} message GetIdentitiesBalancesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractRequest.toObject = function toObject(message, options) { + GetIdentitiesBalancesResponse.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.GetDataContractRequest.GetDataContractRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -13675,35 +13911,36 @@ $root.org = (function() { }; /** - * Converts this GetDataContractRequest to JSON. + * Converts this GetIdentitiesBalancesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse * @instance * @returns {Object.} JSON object */ - GetDataContractRequest.prototype.toJSON = function toJSON() { + GetIdentitiesBalancesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDataContractRequest.GetDataContractRequestV0 = (function() { + GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 = (function() { /** - * Properties of a GetDataContractRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest - * @interface IGetDataContractRequestV0 - * @property {Uint8Array|null} [id] GetDataContractRequestV0 id - * @property {boolean|null} [prove] GetDataContractRequestV0 prove + * Properties of a GetIdentitiesBalancesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse + * @interface IGetIdentitiesBalancesResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentitiesBalances|null} [identitiesBalances] GetIdentitiesBalancesResponseV0 identitiesBalances + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesBalancesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesBalancesResponseV0 metadata */ /** - * Constructs a new GetDataContractRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest - * @classdesc Represents a GetDataContractRequestV0. - * @implements IGetDataContractRequestV0 + * Constructs a new GetIdentitiesBalancesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse + * @classdesc Represents a GetIdentitiesBalancesResponseV0. + * @implements IGetIdentitiesBalancesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.IGetIdentitiesBalancesResponseV0=} [properties] Properties to set */ - function GetDataContractRequestV0(properties) { + function GetIdentitiesBalancesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -13711,88 +13948,115 @@ $root.org = (function() { } /** - * GetDataContractRequestV0 id. - * @member {Uint8Array} id - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * GetIdentitiesBalancesResponseV0 identitiesBalances. + * @member {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentitiesBalances|null|undefined} identitiesBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @instance */ - GetDataContractRequestV0.prototype.id = $util.newBuffer([]); + GetIdentitiesBalancesResponseV0.prototype.identitiesBalances = null; /** - * GetDataContractRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * GetIdentitiesBalancesResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @instance */ - GetDataContractRequestV0.prototype.prove = false; + GetIdentitiesBalancesResponseV0.prototype.proof = null; /** - * Creates a new GetDataContractRequestV0 instance using the specified properties. + * GetIdentitiesBalancesResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 + * @instance + */ + GetIdentitiesBalancesResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentitiesBalancesResponseV0 result. + * @member {"identitiesBalances"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 + * @instance + */ + Object.defineProperty(GetIdentitiesBalancesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identitiesBalances", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentitiesBalancesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.IGetIdentitiesBalancesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} GetIdentitiesBalancesResponseV0 instance */ - GetDataContractRequestV0.create = function create(properties) { - return new GetDataContractRequestV0(properties); + GetIdentitiesBalancesResponseV0.create = function create(properties) { + return new GetIdentitiesBalancesResponseV0(properties); }; /** - * Encodes the specified GetDataContractRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0} message GetDataContractRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.IGetIdentitiesBalancesResponseV0} message GetIdentitiesBalancesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractRequestV0.encode = function encode(message, writer) { + GetIdentitiesBalancesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.identitiesBalances != null && Object.hasOwnProperty.call(message, "identitiesBalances")) + $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.encode(message.identitiesBalances, 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 GetDataContractRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.verify|verify} messages. + * Encodes the specified GetIdentitiesBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0} message GetDataContractRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.IGetIdentitiesBalancesResponseV0} message GetIdentitiesBalancesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractRequestV0 message from the specified reader or buffer. + * Decodes a GetIdentitiesBalancesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} GetIdentitiesBalancesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractRequestV0.decode = function decode(reader, length) { + GetIdentitiesBalancesResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.id = reader.bytes(); + message.identitiesBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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); @@ -13803,128 +14067,595 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesBalancesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} GetIdentitiesBalancesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractRequestV0 message. + * Verifies a GetIdentitiesBalancesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractRequestV0.verify = function verify(message) { + GetIdentitiesBalancesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) - return "id: buffer expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; - - /** - * Creates a GetDataContractRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 - */ - GetDataContractRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0(); - if (object.id != null) - if (typeof object.id === "string") - $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); - else if (object.id.length >= 0) - message.id = object.id; - if (object.prove != null) - message.prove = Boolean(object.prove); + var properties = {}; + if (message.identitiesBalances != null && message.hasOwnProperty("identitiesBalances")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.verify(message.identitiesBalances); + if (error) + return "identitiesBalances." + 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 GetIdentitiesBalancesResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} GetIdentitiesBalancesResponseV0 + */ + GetIdentitiesBalancesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0(); + if (object.identitiesBalances != null) { + if (typeof object.identitiesBalances !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.identitiesBalances: object expected"); + message.identitiesBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.fromObject(object.identitiesBalances); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } return message; }; /** - * Creates a plain object from a GetDataContractRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesBalancesResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message GetDataContractRequestV0 + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} message GetIdentitiesBalancesResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractRequestV0.toObject = function toObject(message, options) { + GetIdentitiesBalancesResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.id = ""; - else { - object.id = []; - if (options.bytes !== Array) - object.id = $util.newBuffer(object.id); - } - object.prove = false; + if (options.defaults) + object.metadata = null; + if (message.identitiesBalances != null && message.hasOwnProperty("identitiesBalances")) { + object.identitiesBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.toObject(message.identitiesBalances, options); + if (options.oneofs) + object.result = "identitiesBalances"; } - 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; + 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 GetDataContractRequestV0 to JSON. + * Converts this GetIdentitiesBalancesResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 * @instance * @returns {Object.} JSON object */ - GetDataContractRequestV0.prototype.toJSON = function toJSON() { + GetIdentitiesBalancesResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetDataContractRequestV0; + GetIdentitiesBalancesResponseV0.IdentityBalance = (function() { + + /** + * Properties of an IdentityBalance. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 + * @interface IIdentityBalance + * @property {Uint8Array|null} [identityId] IdentityBalance identityId + * @property {number|Long|null} [balance] IdentityBalance balance + */ + + /** + * Constructs a new IdentityBalance. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 + * @classdesc Represents an IdentityBalance. + * @implements IIdentityBalance + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentityBalance=} [properties] Properties to set + */ + function IdentityBalance(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]]; + } + + /** + * IdentityBalance identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @instance + */ + IdentityBalance.prototype.identityId = $util.newBuffer([]); + + /** + * IdentityBalance balance. + * @member {number|Long} balance + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @instance + */ + IdentityBalance.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new IdentityBalance instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentityBalance=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} IdentityBalance instance + */ + IdentityBalance.create = function create(properties) { + return new IdentityBalance(properties); + }; + + /** + * Encodes the specified IdentityBalance message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentityBalance} message IdentityBalance message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityBalance.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 IdentityBalance message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentityBalance} message IdentityBalance message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityBalance.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentityBalance message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} IdentityBalance + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityBalance.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance(); + 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 IdentityBalance message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} IdentityBalance + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityBalance.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityBalance message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityBalance.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 IdentityBalance message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} IdentityBalance + */ + IdentityBalance.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance(); + 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 IdentityBalance message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} message IdentityBalance + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityBalance.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 IdentityBalance to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance + * @instance + * @returns {Object.} JSON object + */ + IdentityBalance.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IdentityBalance; + })(); + + GetIdentitiesBalancesResponseV0.IdentitiesBalances = (function() { + + /** + * Properties of an IdentitiesBalances. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 + * @interface IIdentitiesBalances + * @property {Array.|null} [entries] IdentitiesBalances entries + */ + + /** + * Constructs a new IdentitiesBalances. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 + * @classdesc Represents an IdentitiesBalances. + * @implements IIdentitiesBalances + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentitiesBalances=} [properties] Properties to set + */ + function IdentitiesBalances(properties) { + this.entries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IdentitiesBalances entries. + * @member {Array.} entries + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @instance + */ + IdentitiesBalances.prototype.entries = $util.emptyArray; + + /** + * Creates a new IdentitiesBalances instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentitiesBalances=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} IdentitiesBalances instance + */ + IdentitiesBalances.create = function create(properties) { + return new IdentitiesBalances(properties); + }; + + /** + * Encodes the specified IdentitiesBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentitiesBalances} message IdentitiesBalances message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentitiesBalances.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entries != null && message.entries.length) + for (var i = 0; i < message.entries.length; ++i) + $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.encode(message.entries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified IdentitiesBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IIdentitiesBalances} message IdentitiesBalances message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentitiesBalances.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentitiesBalances message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} IdentitiesBalances + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentitiesBalances.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.entries && message.entries.length)) + message.entries = []; + message.entries.push($root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IdentitiesBalances message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} IdentitiesBalances + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentitiesBalances.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentitiesBalances message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentitiesBalances.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entries != null && message.hasOwnProperty("entries")) { + if (!Array.isArray(message.entries)) + return "entries: array expected"; + for (var i = 0; i < message.entries.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.verify(message.entries[i]); + if (error) + return "entries." + error; + } + } + return null; + }; + + /** + * Creates an IdentitiesBalances message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} IdentitiesBalances + */ + IdentitiesBalances.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances(); + if (object.entries) { + if (!Array.isArray(object.entries)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.entries: array expected"); + message.entries = []; + for (var i = 0; i < object.entries.length; ++i) { + if (typeof object.entries[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.entries: object expected"); + message.entries[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.fromObject(object.entries[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an IdentitiesBalances message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} message IdentitiesBalances + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentitiesBalances.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.entries = []; + if (message.entries && message.entries.length) { + object.entries = []; + for (var j = 0; j < message.entries.length; ++j) + object.entries[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.toObject(message.entries[j], options); + } + return object; + }; + + /** + * Converts this IdentitiesBalances to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances + * @instance + * @returns {Object.} JSON object + */ + IdentitiesBalances.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IdentitiesBalances; + })(); + + return GetIdentitiesBalancesResponseV0; })(); - return GetDataContractRequest; + return GetIdentitiesBalancesResponse; })(); - v0.GetDataContractResponse = (function() { + v0.GetProofsRequest = (function() { /** - * Properties of a GetDataContractResponse. + * Properties of a GetProofsRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractResponse - * @property {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0|null} [v0] GetDataContractResponse v0 + * @interface IGetProofsRequest + * @property {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0|null} [v0] GetProofsRequest v0 */ /** - * Constructs a new GetDataContractResponse. + * Constructs a new GetProofsRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractResponse. - * @implements IGetDataContractResponse + * @classdesc Represents a GetProofsRequest. + * @implements IGetProofsRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProofsRequest=} [properties] Properties to set */ - function GetDataContractResponse(properties) { + function GetProofsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -13932,89 +14663,89 @@ $root.org = (function() { } /** - * GetDataContractResponse v0. - * @member {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * GetProofsRequest v0. + * @member {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @instance */ - GetDataContractResponse.prototype.v0 = null; + GetProofsRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractResponse version. + * GetProofsRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @instance */ - Object.defineProperty(GetDataContractResponse.prototype, "version", { + Object.defineProperty(GetProofsRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractResponse instance using the specified properties. + * Creates a new GetProofsRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse instance + * @param {org.dash.platform.dapi.v0.IGetProofsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest instance */ - GetDataContractResponse.create = function create(properties) { - return new GetDataContractResponse(properties); + GetProofsRequest.create = function create(properties) { + return new GetProofsRequest(properties); }; /** - * Encodes the specified GetDataContractResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. + * Encodes the specified GetProofsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProofsRequest} message GetProofsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractResponse.encode = function encode(message, writer) { + GetProofsRequest.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.GetDataContractResponse.GetDataContractResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. + * Encodes the specified GetProofsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProofsRequest} message GetProofsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetProofsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractResponse message from the specified reader or buffer. + * Decodes a GetProofsRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractResponse.decode = function decode(reader, length) { + GetProofsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -14025,37 +14756,37 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractResponse message from the specified reader or buffer, length delimited. + * Decodes a GetProofsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractResponse.decodeDelimited = function decodeDelimited(reader) { + GetProofsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractResponse message. + * Verifies a GetProofsRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractResponse.verify = function verify(message) { + GetProofsRequest.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.GetDataContractResponse.GetDataContractResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -14064,40 +14795,40 @@ $root.org = (function() { }; /** - * Creates a GetDataContractResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetProofsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + * @returns {org.dash.platform.dapi.v0.GetProofsRequest} GetProofsRequest */ - GetDataContractResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractResponse) + GetProofsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetDataContractResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetProofsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @static - * @param {org.dash.platform.dapi.v0.GetDataContractResponse} message GetDataContractResponse + * @param {org.dash.platform.dapi.v0.GetProofsRequest} message GetProofsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractResponse.toObject = function toObject(message, options) { + GetProofsRequest.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.GetDataContractResponse.GetDataContractResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -14105,36 +14836,41 @@ $root.org = (function() { }; /** - * Converts this GetDataContractResponse to JSON. + * Converts this GetProofsRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @instance * @returns {Object.} JSON object */ - GetDataContractResponse.prototype.toJSON = function toJSON() { + GetProofsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDataContractResponse.GetDataContractResponseV0 = (function() { + GetProofsRequest.GetProofsRequestV0 = (function() { /** - * Properties of a GetDataContractResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse - * @interface IGetDataContractResponseV0 - * @property {Uint8Array|null} [dataContract] GetDataContractResponseV0 dataContract - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractResponseV0 metadata + * Properties of a GetProofsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @interface IGetProofsRequestV0 + * @property {Array.|null} [identities] GetProofsRequestV0 identities + * @property {Array.|null} [contracts] GetProofsRequestV0 contracts + * @property {Array.|null} [documents] GetProofsRequestV0 documents + * @property {Array.|null} [votes] GetProofsRequestV0 votes */ /** - * Constructs a new GetDataContractResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse - * @classdesc Represents a GetDataContractResponseV0. - * @implements IGetDataContractResponseV0 + * Constructs a new GetProofsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest + * @classdesc Represents a GetProofsRequestV0. + * @implements IGetProofsRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0=} [properties] Properties to set */ - function GetDataContractResponseV0(properties) { + function GetProofsRequestV0(properties) { + this.identities = []; + this.contracts = []; + this.documents = []; + this.votes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -14142,115 +14878,126 @@ $root.org = (function() { } /** - * GetDataContractResponseV0 dataContract. - * @member {Uint8Array} dataContract - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * GetProofsRequestV0 identities. + * @member {Array.} identities + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance */ - GetDataContractResponseV0.prototype.dataContract = $util.newBuffer([]); + GetProofsRequestV0.prototype.identities = $util.emptyArray; /** - * GetDataContractResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * GetProofsRequestV0 contracts. + * @member {Array.} contracts + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance */ - GetDataContractResponseV0.prototype.proof = null; + GetProofsRequestV0.prototype.contracts = $util.emptyArray; /** - * GetDataContractResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * GetProofsRequestV0 documents. + * @member {Array.} documents + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance */ - GetDataContractResponseV0.prototype.metadata = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + GetProofsRequestV0.prototype.documents = $util.emptyArray; /** - * GetDataContractResponseV0 result. - * @member {"dataContract"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * GetProofsRequestV0 votes. + * @member {Array.} votes + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance */ - Object.defineProperty(GetDataContractResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["dataContract", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + GetProofsRequestV0.prototype.votes = $util.emptyArray; /** - * Creates a new GetDataContractResponseV0 instance using the specified properties. + * Creates a new GetProofsRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 instance */ - GetDataContractResponseV0.create = function create(properties) { - return new GetDataContractResponseV0(properties); + GetProofsRequestV0.create = function create(properties) { + return new GetProofsRequestV0(properties); }; /** - * Encodes the specified GetDataContractResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.verify|verify} messages. + * Encodes the specified GetProofsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0} message GetDataContractResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0} message GetProofsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractResponseV0.encode = function encode(message, writer) { + GetProofsRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContract != null && Object.hasOwnProperty.call(message, "dataContract")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContract); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.identities != null && message.identities.length) + for (var i = 0; i < message.identities.length; ++i) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.encode(message.identities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.contracts != null && message.contracts.length) + for (var i = 0; i < message.contracts.length; ++i) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.encode(message.contracts[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.documents != null && message.documents.length) + for (var i = 0; i < message.documents.length; ++i) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.encode(message.documents[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.votes != null && message.votes.length) + for (var i = 0; i < message.votes.length; ++i) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.encode(message.votes[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.verify|verify} messages. + * Encodes the specified GetProofsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0} message GetDataContractResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0} message GetProofsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProofsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractResponseV0 message from the specified reader or buffer. + * Decodes a GetProofsRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractResponseV0.decode = function decode(reader, length) { + GetProofsRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dataContract = reader.bytes(); + if (!(message.identities && message.identities.length)) + message.identities = []; + message.identities.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.decode(reader, reader.uint32())); break; case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + if (!(message.contracts && message.contracts.length)) + message.contracts = []; + message.contracts.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.decode(reader, reader.uint32())); break; case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + if (!(message.documents && message.documents.length)) + message.documents = []; + message.documents.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.votes && message.votes.length)) + message.votes = []; + message.votes.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -14261,241 +15008,6375 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetProofsRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetProofsRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractResponseV0 message. + * Verifies a GetProofsRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractResponseV0.verify = function verify(message) { + GetProofsRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.dataContract != null && message.hasOwnProperty("dataContract")) { - properties.result = 1; - if (!(message.dataContract && typeof message.dataContract.length === "number" || $util.isString(message.dataContract))) - return "dataContract: buffer expected"; + if (message.identities != null && message.hasOwnProperty("identities")) { + if (!Array.isArray(message.identities)) + return "identities: array expected"; + for (var i = 0; i < message.identities.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify(message.identities[i]); + if (error) + return "identities." + error; + } } - if (message.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 (message.contracts != null && message.hasOwnProperty("contracts")) { + if (!Array.isArray(message.contracts)) + return "contracts: array expected"; + for (var i = 0; i < message.contracts.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify(message.contracts[i]); if (error) - return "proof." + error; + return "contracts." + 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.documents != null && message.hasOwnProperty("documents")) { + if (!Array.isArray(message.documents)) + return "documents: array expected"; + for (var i = 0; i < message.documents.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify(message.documents[i]); + if (error) + return "documents." + error; + } + } + if (message.votes != null && message.hasOwnProperty("votes")) { + if (!Array.isArray(message.votes)) + return "votes: array expected"; + for (var i = 0; i < message.votes.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.verify(message.votes[i]); + if (error) + return "votes." + error; + } } return null; }; /** - * Creates a GetDataContractResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetProofsRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 */ - GetDataContractResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0) + GetProofsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0(); - if (object.dataContract != null) - if (typeof object.dataContract === "string") - $util.base64.decode(object.dataContract, message.dataContract = $util.newBuffer($util.base64.length(object.dataContract)), 0); - else if (object.dataContract.length >= 0) - message.dataContract = object.dataContract; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0(); + if (object.identities) { + if (!Array.isArray(object.identities)) + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities: array expected"); + message.identities = []; + for (var i = 0; i < object.identities.length; ++i) { + if (typeof object.identities[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities: object expected"); + message.identities[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.fromObject(object.identities[i]); + } } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + if (object.contracts) { + if (!Array.isArray(object.contracts)) + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts: array expected"); + message.contracts = []; + for (var i = 0; i < object.contracts.length; ++i) { + if (typeof object.contracts[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts: object expected"); + message.contracts[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.fromObject(object.contracts[i]); + } + } + if (object.documents) { + if (!Array.isArray(object.documents)) + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents: array expected"); + message.documents = []; + for (var i = 0; i < object.documents.length; ++i) { + if (typeof object.documents[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents: object expected"); + message.documents[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.fromObject(object.documents[i]); + } + } + if (object.votes) { + if (!Array.isArray(object.votes)) + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.votes: array expected"); + message.votes = []; + for (var i = 0; i < object.votes.length; ++i) { + if (typeof object.votes[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.votes: object expected"); + message.votes[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.fromObject(object.votes[i]); + } } return message; }; /** - * Creates a plain object from a GetDataContractResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetProofsRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message GetDataContractResponseV0 + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message GetProofsRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractResponseV0.toObject = function toObject(message, options) { + GetProofsRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.dataContract != null && message.hasOwnProperty("dataContract")) { - object.dataContract = options.bytes === String ? $util.base64.encode(message.dataContract, 0, message.dataContract.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContract) : message.dataContract; - if (options.oneofs) - object.result = "dataContract"; + if (options.arrays || options.defaults) { + object.identities = []; + object.contracts = []; + object.documents = []; + object.votes = []; } - 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.identities && message.identities.length) { + object.identities = []; + for (var j = 0; j < message.identities.length; ++j) + object.identities[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(message.identities[j], options); + } + if (message.contracts && message.contracts.length) { + object.contracts = []; + for (var j = 0; j < message.contracts.length; ++j) + object.contracts[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(message.contracts[j], options); + } + if (message.documents && message.documents.length) { + object.documents = []; + for (var j = 0; j < message.documents.length; ++j) + object.documents[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(message.documents[j], options); + } + if (message.votes && message.votes.length) { + object.votes = []; + for (var j = 0; j < message.votes.length; ++j) + object.votes[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject(message.votes[j], options); } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetDataContractResponseV0 to JSON. + * Converts this GetProofsRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance * @returns {Object.} JSON object */ - GetDataContractResponseV0.prototype.toJSON = function toJSON() { + GetProofsRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetDataContractResponseV0; - })(); - - return GetDataContractResponse; - })(); + GetProofsRequestV0.DocumentRequest = (function() { - v0.GetDataContractsRequest = (function() { + /** + * Properties of a DocumentRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @interface IDocumentRequest + * @property {Uint8Array|null} [contractId] DocumentRequest contractId + * @property {string|null} [documentType] DocumentRequest documentType + * @property {boolean|null} [documentTypeKeepsHistory] DocumentRequest documentTypeKeepsHistory + * @property {Uint8Array|null} [documentId] DocumentRequest documentId + * @property {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus|null} [documentContestedStatus] DocumentRequest documentContestedStatus + */ - /** - * Properties of a GetDataContractsRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractsRequest - * @property {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0|null} [v0] GetDataContractsRequest v0 - */ + /** + * Constructs a new DocumentRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @classdesc Represents a DocumentRequest. + * @implements IDocumentRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest=} [properties] Properties to set + */ + function DocumentRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new GetDataContractsRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractsRequest. - * @implements IGetDataContractsRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set - */ - function GetDataContractsRequest(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]]; - } + /** + * DocumentRequest contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.contractId = $util.newBuffer([]); - /** - * GetDataContractsRequest v0. - * @member {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @instance - */ - GetDataContractsRequest.prototype.v0 = null; + /** + * DocumentRequest documentType. + * @member {string} documentType + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.documentType = ""; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * DocumentRequest documentTypeKeepsHistory. + * @member {boolean} documentTypeKeepsHistory + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.documentTypeKeepsHistory = false; - /** - * GetDataContractsRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @instance - */ - Object.defineProperty(GetDataContractsRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * DocumentRequest documentId. + * @member {Uint8Array} documentId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.documentId = $util.newBuffer([]); - /** - * Creates a new GetDataContractsRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest instance - */ - GetDataContractsRequest.create = function create(properties) { - return new GetDataContractsRequest(properties); - }; + /** + * DocumentRequest documentContestedStatus. + * @member {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} documentContestedStatus + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.documentContestedStatus = 0; - /** - * Encodes the specified GetDataContractsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetDataContractsRequest.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.GetDataContractsRequest.GetDataContractsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + /** + * Creates a new DocumentRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest instance + */ + DocumentRequest.create = function create(properties) { + return new DocumentRequest(properties); + }; - /** - * Encodes the specified GetDataContractsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetDataContractsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified DocumentRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DocumentRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); + if (message.documentTypeKeepsHistory != null && Object.hasOwnProperty.call(message, "documentTypeKeepsHistory")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.documentTypeKeepsHistory); + if (message.documentId != null && Object.hasOwnProperty.call(message, "documentId")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.documentId); + if (message.documentContestedStatus != null && Object.hasOwnProperty.call(message, "documentContestedStatus")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.documentContestedStatus); + return writer; + }; - /** - * Decodes a GetDataContractsRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + /** + * Encodes the specified DocumentRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DocumentRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DocumentRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DocumentRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + case 2: + message.documentType = reader.string(); + break; + case 3: + message.documentTypeKeepsHistory = reader.bool(); + break; + case 4: + message.documentId = reader.bytes(); + break; + case 5: + message.documentContestedStatus = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DocumentRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DocumentRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DocumentRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DocumentRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.contractId != null && message.hasOwnProperty("contractId")) + if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) + return "contractId: buffer expected"; + if (message.documentType != null && message.hasOwnProperty("documentType")) + if (!$util.isString(message.documentType)) + return "documentType: string expected"; + if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) + if (typeof message.documentTypeKeepsHistory !== "boolean") + return "documentTypeKeepsHistory: boolean expected"; + if (message.documentId != null && message.hasOwnProperty("documentId")) + if (!(message.documentId && typeof message.documentId.length === "number" || $util.isString(message.documentId))) + return "documentId: buffer expected"; + if (message.documentContestedStatus != null && message.hasOwnProperty("documentContestedStatus")) + switch (message.documentContestedStatus) { + default: + return "documentContestedStatus: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a DocumentRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + */ + DocumentRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest(); + if (object.contractId != null) + if (typeof object.contractId === "string") + $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); + else if (object.contractId.length >= 0) + message.contractId = object.contractId; + if (object.documentType != null) + message.documentType = String(object.documentType); + if (object.documentTypeKeepsHistory != null) + message.documentTypeKeepsHistory = Boolean(object.documentTypeKeepsHistory); + if (object.documentId != null) + if (typeof object.documentId === "string") + $util.base64.decode(object.documentId, message.documentId = $util.newBuffer($util.base64.length(object.documentId)), 0); + else if (object.documentId.length >= 0) + message.documentId = object.documentId; + switch (object.documentContestedStatus) { + case "NOT_CONTESTED": + case 0: + message.documentContestedStatus = 0; + break; + case "MAYBE_CONTESTED": + case 1: + message.documentContestedStatus = 1; + break; + case "CONTESTED": + case 2: + message.documentContestedStatus = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a DocumentRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message DocumentRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DocumentRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + object.documentType = ""; + object.documentTypeKeepsHistory = false; + if (options.bytes === String) + object.documentId = ""; + else { + object.documentId = []; + if (options.bytes !== Array) + object.documentId = $util.newBuffer(object.documentId); + } + object.documentContestedStatus = options.enums === String ? "NOT_CONTESTED" : 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.documentType != null && message.hasOwnProperty("documentType")) + object.documentType = message.documentType; + if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) + object.documentTypeKeepsHistory = message.documentTypeKeepsHistory; + if (message.documentId != null && message.hasOwnProperty("documentId")) + object.documentId = options.bytes === String ? $util.base64.encode(message.documentId, 0, message.documentId.length) : options.bytes === Array ? Array.prototype.slice.call(message.documentId) : message.documentId; + if (message.documentContestedStatus != null && message.hasOwnProperty("documentContestedStatus")) + object.documentContestedStatus = options.enums === String ? $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus[message.documentContestedStatus] : message.documentContestedStatus; + return object; + }; + + /** + * Converts this DocumentRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + * @returns {Object.} JSON object + */ + DocumentRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * DocumentContestedStatus enum. + * @name org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus + * @enum {number} + * @property {number} NOT_CONTESTED=0 NOT_CONTESTED value + * @property {number} MAYBE_CONTESTED=1 MAYBE_CONTESTED value + * @property {number} CONTESTED=2 CONTESTED value + */ + DocumentRequest.DocumentContestedStatus = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NOT_CONTESTED"] = 0; + values[valuesById[1] = "MAYBE_CONTESTED"] = 1; + values[valuesById[2] = "CONTESTED"] = 2; + return values; + })(); + + return DocumentRequest; + })(); + + GetProofsRequestV0.IdentityRequest = (function() { + + /** + * Properties of an IdentityRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @interface IIdentityRequest + * @property {Uint8Array|null} [identityId] IdentityRequest identityId + * @property {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type|null} [requestType] IdentityRequest requestType + */ + + /** + * Constructs a new IdentityRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @classdesc Represents an IdentityRequest. + * @implements IIdentityRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest=} [properties] Properties to set + */ + function IdentityRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IdentityRequest identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @instance + */ + IdentityRequest.prototype.identityId = $util.newBuffer([]); + + /** + * IdentityRequest requestType. + * @member {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} requestType + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @instance + */ + IdentityRequest.prototype.requestType = 0; + + /** + * Creates a new IdentityRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest instance + */ + IdentityRequest.create = function create(properties) { + return new IdentityRequest(properties); + }; + + /** + * Encodes the specified IdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest} message IdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identityId); + if (message.requestType != null && Object.hasOwnProperty.call(message, "requestType")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.requestType); + return writer; + }; + + /** + * Encodes the specified IdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest} message IdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentityRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identityId = reader.bytes(); + break; + case 2: + message.requestType = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IdentityRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identityId != null && message.hasOwnProperty("identityId")) + if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId))) + return "identityId: buffer expected"; + if (message.requestType != null && message.hasOwnProperty("requestType")) + switch (message.requestType) { + default: + return "requestType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + return null; + }; + + /** + * Creates an IdentityRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + */ + IdentityRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest(); + if (object.identityId != null) + if (typeof object.identityId === "string") + $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0); + else if (object.identityId.length >= 0) + message.identityId = object.identityId; + switch (object.requestType) { + case "FULL_IDENTITY": + case 0: + message.requestType = 0; + break; + case "BALANCE": + case 1: + message.requestType = 1; + break; + case "KEYS": + case 2: + message.requestType = 2; + break; + case "REVISION": + case 3: + message.requestType = 3; + break; + } + return message; + }; + + /** + * Creates a plain object from an IdentityRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message IdentityRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.identityId = ""; + else { + object.identityId = []; + if (options.bytes !== Array) + object.identityId = $util.newBuffer(object.identityId); + } + object.requestType = options.enums === String ? "FULL_IDENTITY" : 0; + } + if (message.identityId != null && message.hasOwnProperty("identityId")) + object.identityId = options.bytes === String ? $util.base64.encode(message.identityId, 0, message.identityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityId) : message.identityId; + if (message.requestType != null && message.hasOwnProperty("requestType")) + object.requestType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type[message.requestType] : message.requestType; + return object; + }; + + /** + * Converts this IdentityRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @instance + * @returns {Object.} JSON object + */ + IdentityRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type + * @enum {number} + * @property {number} FULL_IDENTITY=0 FULL_IDENTITY value + * @property {number} BALANCE=1 BALANCE value + * @property {number} KEYS=2 KEYS value + * @property {number} REVISION=3 REVISION value + */ + IdentityRequest.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FULL_IDENTITY"] = 0; + values[valuesById[1] = "BALANCE"] = 1; + values[valuesById[2] = "KEYS"] = 2; + values[valuesById[3] = "REVISION"] = 3; + return values; + })(); + + return IdentityRequest; + })(); + + GetProofsRequestV0.ContractRequest = (function() { + + /** + * Properties of a ContractRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @interface IContractRequest + * @property {Uint8Array|null} [contractId] ContractRequest contractId + */ + + /** + * Constructs a new ContractRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @classdesc Represents a ContractRequest. + * @implements IContractRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest=} [properties] Properties to set + */ + function ContractRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContractRequest contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @instance + */ + ContractRequest.prototype.contractId = $util.newBuffer([]); + + /** + * Creates a new ContractRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest instance + */ + ContractRequest.create = function create(properties) { + return new ContractRequest(properties); + }; + + /** + * Encodes the specified ContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest} message ContractRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + return writer; + }; + + /** + * Encodes the specified ContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest} message ContractRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.contractId != null && message.hasOwnProperty("contractId")) + if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) + return "contractId: buffer expected"; + return null; + }; + + /** + * Creates a ContractRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest + */ + ContractRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest(); + if (object.contractId != null) + if (typeof object.contractId === "string") + $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); + else if (object.contractId.length >= 0) + message.contractId = object.contractId; + return message; + }; + + /** + * Creates a plain object from a ContractRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message ContractRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + if (message.contractId != null && message.hasOwnProperty("contractId")) + object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; + return object; + }; + + /** + * Converts this ContractRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @instance + * @returns {Object.} JSON object + */ + ContractRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractRequest; + })(); + + GetProofsRequestV0.VoteStatusRequest = (function() { + + /** + * Properties of a VoteStatusRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @interface IVoteStatusRequest + * @property {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest|null} [contestedResourceVoteStatusRequest] VoteStatusRequest contestedResourceVoteStatusRequest + */ + + /** + * Constructs a new VoteStatusRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @classdesc Represents a VoteStatusRequest. + * @implements IVoteStatusRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest=} [properties] Properties to set + */ + function VoteStatusRequest(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]]; + } + + /** + * VoteStatusRequest contestedResourceVoteStatusRequest. + * @member {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest|null|undefined} contestedResourceVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @instance + */ + VoteStatusRequest.prototype.contestedResourceVoteStatusRequest = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * VoteStatusRequest requestType. + * @member {"contestedResourceVoteStatusRequest"|undefined} requestType + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @instance + */ + Object.defineProperty(VoteStatusRequest.prototype, "requestType", { + get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoteStatusRequest"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new VoteStatusRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest instance + */ + VoteStatusRequest.create = function create(properties) { + return new VoteStatusRequest(properties); + }; + + /** + * Encodes the specified VoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest} message VoteStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VoteStatusRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contestedResourceVoteStatusRequest != null && Object.hasOwnProperty.call(message, "contestedResourceVoteStatusRequest")) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.encode(message.contestedResourceVoteStatusRequest, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IVoteStatusRequest} message VoteStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VoteStatusRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VoteStatusRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contestedResourceVoteStatusRequest = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VoteStatusRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VoteStatusRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VoteStatusRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VoteStatusRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.contestedResourceVoteStatusRequest != null && message.hasOwnProperty("contestedResourceVoteStatusRequest")) { + properties.requestType = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.verify(message.contestedResourceVoteStatusRequest); + if (error) + return "contestedResourceVoteStatusRequest." + error; + } + } + return null; + }; + + /** + * Creates a VoteStatusRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} VoteStatusRequest + */ + VoteStatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest(); + if (object.contestedResourceVoteStatusRequest != null) { + if (typeof object.contestedResourceVoteStatusRequest !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.contestedResourceVoteStatusRequest: object expected"); + message.contestedResourceVoteStatusRequest = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.fromObject(object.contestedResourceVoteStatusRequest); + } + return message; + }; + + /** + * Creates a plain object from a VoteStatusRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} message VoteStatusRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VoteStatusRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.contestedResourceVoteStatusRequest != null && message.hasOwnProperty("contestedResourceVoteStatusRequest")) { + object.contestedResourceVoteStatusRequest = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(message.contestedResourceVoteStatusRequest, options); + if (options.oneofs) + object.requestType = "contestedResourceVoteStatusRequest"; + } + return object; + }; + + /** + * Converts this VoteStatusRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @instance + * @returns {Object.} JSON object + */ + VoteStatusRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + VoteStatusRequest.ContestedResourceVoteStatusRequest = (function() { + + /** + * Properties of a ContestedResourceVoteStatusRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @interface IContestedResourceVoteStatusRequest + * @property {Uint8Array|null} [contractId] ContestedResourceVoteStatusRequest contractId + * @property {string|null} [documentTypeName] ContestedResourceVoteStatusRequest documentTypeName + * @property {string|null} [indexName] ContestedResourceVoteStatusRequest indexName + * @property {Array.|null} [indexValues] ContestedResourceVoteStatusRequest indexValues + * @property {Uint8Array|null} [voterIdentifier] ContestedResourceVoteStatusRequest voterIdentifier + */ + + /** + * Constructs a new ContestedResourceVoteStatusRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest + * @classdesc Represents a ContestedResourceVoteStatusRequest. + * @implements IContestedResourceVoteStatusRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest=} [properties] Properties to set + */ + function ContestedResourceVoteStatusRequest(properties) { + this.indexValues = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContestedResourceVoteStatusRequest contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @instance + */ + ContestedResourceVoteStatusRequest.prototype.contractId = $util.newBuffer([]); + + /** + * ContestedResourceVoteStatusRequest documentTypeName. + * @member {string} documentTypeName + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @instance + */ + ContestedResourceVoteStatusRequest.prototype.documentTypeName = ""; + + /** + * ContestedResourceVoteStatusRequest indexName. + * @member {string} indexName + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @instance + */ + ContestedResourceVoteStatusRequest.prototype.indexName = ""; + + /** + * ContestedResourceVoteStatusRequest indexValues. + * @member {Array.} indexValues + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @instance + */ + ContestedResourceVoteStatusRequest.prototype.indexValues = $util.emptyArray; + + /** + * ContestedResourceVoteStatusRequest voterIdentifier. + * @member {Uint8Array} voterIdentifier + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @instance + */ + ContestedResourceVoteStatusRequest.prototype.voterIdentifier = $util.newBuffer([]); + + /** + * Creates a new ContestedResourceVoteStatusRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest instance + */ + ContestedResourceVoteStatusRequest.create = function create(properties) { + return new ContestedResourceVoteStatusRequest(properties); + }; + + /** + * Encodes the specified ContestedResourceVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest} message ContestedResourceVoteStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceVoteStatusRequest.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.voterIdentifier != null && Object.hasOwnProperty.call(message, "voterIdentifier")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.voterIdentifier); + return writer; + }; + + /** + * Encodes the specified ContestedResourceVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.IContestedResourceVoteStatusRequest} message ContestedResourceVoteStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContestedResourceVoteStatusRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceVoteStatusRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest(); + 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: + message.indexName = reader.string(); + break; + case 4: + if (!(message.indexValues && message.indexValues.length)) + message.indexValues = []; + message.indexValues.push(reader.bytes()); + break; + case 5: + message.voterIdentifier = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContestedResourceVoteStatusRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceVoteStatusRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContestedResourceVoteStatusRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContestedResourceVoteStatusRequest.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.voterIdentifier != null && message.hasOwnProperty("voterIdentifier")) + if (!(message.voterIdentifier && typeof message.voterIdentifier.length === "number" || $util.isString(message.voterIdentifier))) + return "voterIdentifier: buffer expected"; + return null; + }; + + /** + * Creates a ContestedResourceVoteStatusRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} ContestedResourceVoteStatusRequest + */ + ContestedResourceVoteStatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest(); + 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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.voterIdentifier != null) + if (typeof object.voterIdentifier === "string") + $util.base64.decode(object.voterIdentifier, message.voterIdentifier = $util.newBuffer($util.base64.length(object.voterIdentifier)), 0); + else if (object.voterIdentifier.length >= 0) + message.voterIdentifier = object.voterIdentifier; + return message; + }; + + /** + * Creates a plain object from a ContestedResourceVoteStatusRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} message ContestedResourceVoteStatusRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContestedResourceVoteStatusRequest.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.voterIdentifier = ""; + else { + object.voterIdentifier = []; + if (options.bytes !== Array) + object.voterIdentifier = $util.newBuffer(object.voterIdentifier); + } + } + 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.voterIdentifier != null && message.hasOwnProperty("voterIdentifier")) + object.voterIdentifier = options.bytes === String ? $util.base64.encode(message.voterIdentifier, 0, message.voterIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.voterIdentifier) : message.voterIdentifier; + return object; + }; + + /** + * Converts this ContestedResourceVoteStatusRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest + * @instance + * @returns {Object.} JSON object + */ + ContestedResourceVoteStatusRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContestedResourceVoteStatusRequest; + })(); + + return VoteStatusRequest; + })(); + + return GetProofsRequestV0; + })(); + + return GetProofsRequest; + })(); + + v0.GetProofsResponse = (function() { + + /** + * Properties of a GetProofsResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetProofsResponse + * @property {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0|null} [v0] GetProofsResponse v0 + */ + + /** + * Constructs a new GetProofsResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetProofsResponse. + * @implements IGetProofsResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set + */ + function GetProofsResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetProofsResponse v0. + * @member {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @instance + */ + GetProofsResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetProofsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @instance + */ + Object.defineProperty(GetProofsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetProofsResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse instance + */ + GetProofsResponse.create = function create(properties) { + return new GetProofsResponse(properties); + }; + + /** + * Encodes the specified GetProofsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProofsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetProofsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProofsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProofsResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProofsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetProofsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProofsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProofsResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProofsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetProofsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + */ + GetProofsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetProofsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.GetProofsResponse} message GetProofsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProofsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetProofsResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @instance + * @returns {Object.} JSON object + */ + GetProofsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetProofsResponse.GetProofsResponseV0 = (function() { + + /** + * Properties of a GetProofsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @interface IGetProofsResponseV0 + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProofsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProofsResponseV0 metadata + */ + + /** + * Constructs a new GetProofsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @classdesc Represents a GetProofsResponseV0. + * @implements IGetProofsResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0=} [properties] Properties to set + */ + function GetProofsResponseV0(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]]; + } + + /** + * GetProofsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @instance + */ + GetProofsResponseV0.prototype.proof = null; + + /** + * GetProofsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @instance + */ + GetProofsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetProofsResponseV0 result. + * @member {"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @instance + */ + Object.defineProperty(GetProofsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetProofsResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 instance + */ + GetProofsResponseV0.create = function create(properties) { + return new GetProofsResponseV0(properties); + }; + + /** + * Encodes the specified GetProofsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0} message GetProofsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProofsResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetProofsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0} message GetProofsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProofsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProofsResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProofsResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 2: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetProofsResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProofsResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProofsResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProofsResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.proof != null && message.hasOwnProperty("proof")) { + 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 GetProofsResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 + */ + GetProofsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0(); + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetProofsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message GetProofsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProofsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + 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 GetProofsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetProofsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetProofsResponseV0; + })(); + + return GetProofsResponse; + })(); + + v0.GetDataContractRequest = (function() { + + /** + * Properties of a GetDataContractRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractRequest + * @property {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0|null} [v0] GetDataContractRequest v0 + */ + + /** + * Constructs a new GetDataContractRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractRequest. + * @implements IGetDataContractRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set + */ + function GetDataContractRequest(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]]; + } + + /** + * GetDataContractRequest v0. + * @member {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @instance + */ + GetDataContractRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @instance + */ + Object.defineProperty(GetDataContractRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest instance + */ + GetDataContractRequest.create = function create(properties) { + return new GetDataContractRequest(properties); + }; + + /** + * Encodes the specified GetDataContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractRequest.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.GetDataContractRequest.GetDataContractRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractRequest.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.GetDataContractRequest.GetDataContractRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDataContractRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + */ + GetDataContractRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest} message GetDataContractRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractRequest.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.GetDataContractRequest.GetDataContractRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @instance + * @returns {Object.} JSON object + */ + GetDataContractRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractRequest.GetDataContractRequestV0 = (function() { + + /** + * Properties of a GetDataContractRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @interface IGetDataContractRequestV0 + * @property {Uint8Array|null} [id] GetDataContractRequestV0 id + * @property {boolean|null} [prove] GetDataContractRequestV0 prove + */ + + /** + * Constructs a new GetDataContractRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @classdesc Represents a GetDataContractRequestV0. + * @implements IGetDataContractRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0=} [properties] Properties to set + */ + function GetDataContractRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @instance + */ + GetDataContractRequestV0.prototype.id = $util.newBuffer([]); + + /** + * GetDataContractRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @instance + */ + GetDataContractRequestV0.prototype.prove = false; + + /** + * Creates a new GetDataContractRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 instance + */ + GetDataContractRequestV0.create = function create(properties) { + return new GetDataContractRequestV0(properties); + }; + + /** + * Encodes the specified GetDataContractRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0} message GetDataContractRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetDataContractRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0} message GetDataContractRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetDataContractRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + */ + GetDataContractRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0(); + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length >= 0) + message.id = object.id; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetDataContractRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message GetDataContractRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetDataContractRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractRequestV0; + })(); + + return GetDataContractRequest; + })(); + + v0.GetDataContractResponse = (function() { + + /** + * Properties of a GetDataContractResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractResponse + * @property {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0|null} [v0] GetDataContractResponse v0 + */ + + /** + * Constructs a new GetDataContractResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractResponse. + * @implements IGetDataContractResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set + */ + function GetDataContractResponse(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]]; + } + + /** + * GetDataContractResponse v0. + * @member {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @instance + */ + GetDataContractResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @instance + */ + Object.defineProperty(GetDataContractResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse instance + */ + GetDataContractResponse.create = function create(properties) { + return new GetDataContractResponse(properties); + }; + + /** + * Encodes the specified GetDataContractResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractResponse.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.GetDataContractResponse.GetDataContractResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractResponse.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.GetDataContractResponse.GetDataContractResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDataContractResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + */ + GetDataContractResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse} message GetDataContractResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @instance + * @returns {Object.} JSON object + */ + GetDataContractResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractResponse.GetDataContractResponseV0 = (function() { + + /** + * Properties of a GetDataContractResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @interface IGetDataContractResponseV0 + * @property {Uint8Array|null} [dataContract] GetDataContractResponseV0 dataContract + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractResponseV0 metadata + */ + + /** + * Constructs a new GetDataContractResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @classdesc Represents a GetDataContractResponseV0. + * @implements IGetDataContractResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0=} [properties] Properties to set + */ + function GetDataContractResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractResponseV0 dataContract. + * @member {Uint8Array} dataContract + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + GetDataContractResponseV0.prototype.dataContract = $util.newBuffer([]); + + /** + * GetDataContractResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + GetDataContractResponseV0.prototype.proof = null; + + /** + * GetDataContractResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + GetDataContractResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractResponseV0 result. + * @member {"dataContract"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + Object.defineProperty(GetDataContractResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["dataContract", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 instance + */ + GetDataContractResponseV0.create = function create(properties) { + return new GetDataContractResponseV0(properties); + }; + + /** + * Encodes the specified GetDataContractResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0} message GetDataContractResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContract != null && Object.hasOwnProperty.call(message, "dataContract")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContract); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0} message GetDataContractResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dataContract = reader.bytes(); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) { + properties.result = 1; + if (!(message.dataContract && typeof message.dataContract.length === "number" || $util.isString(message.dataContract))) + return "dataContract: buffer expected"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetDataContractResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + */ + GetDataContractResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0(); + if (object.dataContract != null) + if (typeof object.dataContract === "string") + $util.base64.decode(object.dataContract, message.dataContract = $util.newBuffer($util.base64.length(object.dataContract)), 0); + else if (object.dataContract.length >= 0) + message.dataContract = object.dataContract; + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message GetDataContractResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) { + object.dataContract = options.bytes === String ? $util.base64.encode(message.dataContract, 0, message.dataContract.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContract) : message.dataContract; + if (options.oneofs) + object.result = "dataContract"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetDataContractResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractResponseV0; + })(); + + return GetDataContractResponse; + })(); + + v0.GetDataContractsRequest = (function() { + + /** + * Properties of a GetDataContractsRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractsRequest + * @property {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0|null} [v0] GetDataContractsRequest v0 + */ + + /** + * Constructs a new GetDataContractsRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractsRequest. + * @implements IGetDataContractsRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set + */ + function GetDataContractsRequest(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]]; + } + + /** + * GetDataContractsRequest v0. + * @member {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @instance + */ + GetDataContractsRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @instance + */ + Object.defineProperty(GetDataContractsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractsRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest instance + */ + GetDataContractsRequest.create = function create(properties) { + return new GetDataContractsRequest(properties); + }; + + /** + * Encodes the specified GetDataContractsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsRequest.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.GetDataContractsRequest.GetDataContractsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractsRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractsRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractsRequest.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.GetDataContractsRequest.GetDataContractsRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDataContractsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + */ + GetDataContractsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest} message GetDataContractsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractsRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @instance + * @returns {Object.} JSON object + */ + GetDataContractsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractsRequest.GetDataContractsRequestV0 = (function() { + + /** + * Properties of a GetDataContractsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @interface IGetDataContractsRequestV0 + * @property {Array.|null} [ids] GetDataContractsRequestV0 ids + * @property {boolean|null} [prove] GetDataContractsRequestV0 prove + */ + + /** + * Constructs a new GetDataContractsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @classdesc Represents a GetDataContractsRequestV0. + * @implements IGetDataContractsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0=} [properties] Properties to set + */ + function GetDataContractsRequestV0(properties) { + this.ids = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractsRequestV0 ids. + * @member {Array.} ids + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @instance + */ + GetDataContractsRequestV0.prototype.ids = $util.emptyArray; + + /** + * GetDataContractsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @instance + */ + GetDataContractsRequestV0.prototype.prove = false; + + /** + * Creates a new GetDataContractsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 instance + */ + GetDataContractsRequestV0.create = function create(properties) { + return new GetDataContractsRequestV0(properties); + }; + + /** + * Encodes the specified GetDataContractsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0} message GetDataContractsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ids != null && message.ids.length) + for (var i = 0; i < message.ids.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ids[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetDataContractsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0} message GetDataContractsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.ids && message.ids.length)) + message.ids = []; + message.ids.push(reader.bytes()); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ids != null && message.hasOwnProperty("ids")) { + if (!Array.isArray(message.ids)) + return "ids: array expected"; + for (var i = 0; i < message.ids.length; ++i) + if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) + return "ids: buffer[] expected"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetDataContractsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + */ + GetDataContractsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0(); + if (object.ids) { + if (!Array.isArray(object.ids)) + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.ids: array expected"); + message.ids = []; + for (var i = 0; i < object.ids.length; ++i) + if (typeof object.ids[i] === "string") + $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); + else if (object.ids[i].length >= 0) + message.ids[i] = object.ids[i]; + } + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetDataContractsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message GetDataContractsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.ids = []; + if (options.defaults) + object.prove = false; + if (message.ids && message.ids.length) { + object.ids = []; + for (var j = 0; j < message.ids.length; ++j) + object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; + } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetDataContractsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractsRequestV0; + })(); + + return GetDataContractsRequest; + })(); + + v0.GetDataContractsResponse = (function() { + + /** + * Properties of a GetDataContractsResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractsResponse + * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0|null} [v0] GetDataContractsResponse v0 + */ + + /** + * Constructs a new GetDataContractsResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractsResponse. + * @implements IGetDataContractsResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set + */ + function GetDataContractsResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractsResponse v0. + * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @instance + */ + GetDataContractsResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @instance + */ + Object.defineProperty(GetDataContractsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractsResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse instance + */ + GetDataContractsResponse.create = function create(properties) { + return new GetDataContractsResponse(properties); + }; + + /** + * Encodes the specified GetDataContractsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractsResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractsResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDataContractsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse + */ + GetDataContractsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse} message GetDataContractsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractsResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @instance + * @returns {Object.} JSON object + */ + GetDataContractsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractsResponse.DataContractEntry = (function() { + + /** + * Properties of a DataContractEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @interface IDataContractEntry + * @property {Uint8Array|null} [identifier] DataContractEntry identifier + * @property {google.protobuf.IBytesValue|null} [dataContract] DataContractEntry dataContract + */ + + /** + * Constructs a new DataContractEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @classdesc Represents a DataContractEntry. + * @implements IDataContractEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set + */ + function DataContractEntry(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataContractEntry identifier. + * @member {Uint8Array} identifier + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @instance + */ + DataContractEntry.prototype.identifier = $util.newBuffer([]); + + /** + * DataContractEntry dataContract. + * @member {google.protobuf.IBytesValue|null|undefined} dataContract + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @instance + */ + DataContractEntry.prototype.dataContract = null; + + /** + * Creates a new DataContractEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry instance + */ + DataContractEntry.create = function create(properties) { + return new DataContractEntry(properties); + }; + + /** + * Encodes the specified DataContractEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identifier != null && Object.hasOwnProperty.call(message, "identifier")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identifier); + if (message.dataContract != null && Object.hasOwnProperty.call(message, "dataContract")) + $root.google.protobuf.BytesValue.encode(message.dataContract, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DataContractEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataContractEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractEntry.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identifier = reader.bytes(); + break; + case 2: + message.dataContract = $root.google.protobuf.BytesValue.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataContractEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataContractEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContractEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identifier != null && message.hasOwnProperty("identifier")) + if (!(message.identifier && typeof message.identifier.length === "number" || $util.isString(message.identifier))) + return "identifier: buffer expected"; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) { + var error = $root.google.protobuf.BytesValue.verify(message.dataContract); + if (error) + return "dataContract." + error; + } + return null; + }; + + /** + * Creates a DataContractEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + */ + DataContractEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); + if (object.identifier != null) + if (typeof object.identifier === "string") + $util.base64.decode(object.identifier, message.identifier = $util.newBuffer($util.base64.length(object.identifier)), 0); + else if (object.identifier.length >= 0) + message.identifier = object.identifier; + if (object.dataContract != null) { + if (typeof object.dataContract !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.dataContract: object expected"); + message.dataContract = $root.google.protobuf.BytesValue.fromObject(object.dataContract); + } + return message; + }; + + /** + * Creates a plain object from a DataContractEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message DataContractEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContractEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.identifier = ""; + else { + object.identifier = []; + if (options.bytes !== Array) + object.identifier = $util.newBuffer(object.identifier); + } + object.dataContract = null; + } + if (message.identifier != null && message.hasOwnProperty("identifier")) + object.identifier = options.bytes === String ? $util.base64.encode(message.identifier, 0, message.identifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.identifier) : message.identifier; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) + object.dataContract = $root.google.protobuf.BytesValue.toObject(message.dataContract, options); + return object; + }; + + /** + * Converts this DataContractEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @instance + * @returns {Object.} JSON object + */ + DataContractEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DataContractEntry; + })(); + + GetDataContractsResponse.DataContracts = (function() { + + /** + * Properties of a DataContracts. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @interface IDataContracts + * @property {Array.|null} [dataContractEntries] DataContracts dataContractEntries + */ + + /** + * Constructs a new DataContracts. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @classdesc Represents a DataContracts. + * @implements IDataContracts + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set + */ + function DataContracts(properties) { + this.dataContractEntries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataContracts dataContractEntries. + * @member {Array.} dataContractEntries + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @instance + */ + DataContracts.prototype.dataContractEntries = $util.emptyArray; + + /** + * Creates a new DataContracts instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts instance + */ + DataContracts.create = function create(properties) { + return new DataContracts(properties); + }; + + /** + * Encodes the specified DataContracts message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContracts.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContractEntries != null && message.dataContractEntries.length) + for (var i = 0; i < message.dataContractEntries.length; ++i) + $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DataContracts message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContracts.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataContracts message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContracts.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.dataContractEntries && message.dataContractEntries.length)) + message.dataContractEntries = []; + message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataContracts message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContracts.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataContracts message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContracts.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { + if (!Array.isArray(message.dataContractEntries)) + return "dataContractEntries: array expected"; + for (var i = 0; i < message.dataContractEntries.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify(message.dataContractEntries[i]); + if (error) + return "dataContractEntries." + error; + } + } + return null; + }; + + /** + * Creates a DataContracts message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + */ + DataContracts.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); + if (object.dataContractEntries) { + if (!Array.isArray(object.dataContractEntries)) + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: array expected"); + message.dataContractEntries = []; + for (var i = 0; i < object.dataContractEntries.length; ++i) { + if (typeof object.dataContractEntries[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: object expected"); + message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.fromObject(object.dataContractEntries[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DataContracts message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message DataContracts + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContracts.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.dataContractEntries = []; + if (message.dataContractEntries && message.dataContractEntries.length) { + object.dataContractEntries = []; + for (var j = 0; j < message.dataContractEntries.length; ++j) + object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(message.dataContractEntries[j], options); + } + return object; + }; + + /** + * Converts this DataContracts to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @instance + * @returns {Object.} JSON object + */ + DataContracts.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DataContracts; + })(); + + GetDataContractsResponse.GetDataContractsResponseV0 = (function() { + + /** + * Properties of a GetDataContractsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @interface IGetDataContractsResponseV0 + * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null} [dataContracts] GetDataContractsResponseV0 dataContracts + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractsResponseV0 metadata + */ + + /** + * Constructs a new GetDataContractsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @classdesc Represents a GetDataContractsResponseV0. + * @implements IGetDataContractsResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0=} [properties] Properties to set + */ + function GetDataContractsResponseV0(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]]; + } + + /** + * GetDataContractsResponseV0 dataContracts. + * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null|undefined} dataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + */ + GetDataContractsResponseV0.prototype.dataContracts = null; + + /** + * GetDataContractsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + */ + GetDataContractsResponseV0.prototype.proof = null; + + /** + * GetDataContractsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + */ + GetDataContractsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractsResponseV0 result. + * @member {"dataContracts"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + */ + Object.defineProperty(GetDataContractsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["dataContracts", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractsResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 instance + */ + GetDataContractsResponseV0.create = function create(properties) { + return new GetDataContractsResponseV0(properties); + }; + + /** + * Encodes the specified GetDataContractsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0} message GetDataContractsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContracts != null && Object.hasOwnProperty.call(message, "dataContracts")) + $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.encode(message.dataContracts, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0} message GetDataContractsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractsResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractsResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractsResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractsResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify(message.dataContracts); + if (error) + return "dataContracts." + error; + } + } + 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 GetDataContractsResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 + */ + GetDataContractsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0(); + if (object.dataContracts != null) { + if (typeof object.dataContracts !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.dataContracts: object expected"); + message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.fromObject(object.dataContracts); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message GetDataContractsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { + object.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(message.dataContracts, options); + if (options.oneofs) + object.result = "dataContracts"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetDataContractsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractsResponseV0; + })(); + + return GetDataContractsResponse; + })(); + + v0.GetDataContractHistoryRequest = (function() { + + /** + * Properties of a GetDataContractHistoryRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractHistoryRequest + * @property {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0|null} [v0] GetDataContractHistoryRequest v0 + */ + + /** + * Constructs a new GetDataContractHistoryRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractHistoryRequest. + * @implements IGetDataContractHistoryRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set + */ + function GetDataContractHistoryRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractHistoryRequest v0. + * @member {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @instance + */ + GetDataContractHistoryRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractHistoryRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @instance + */ + Object.defineProperty(GetDataContractHistoryRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractHistoryRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest instance + */ + GetDataContractHistoryRequest.create = function create(properties) { + return new GetDataContractHistoryRequest(properties); + }; + + /** + * Encodes the specified GetDataContractHistoryRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractHistoryRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractHistoryRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractHistoryRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractHistoryRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractHistoryRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDataContractHistoryRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + */ + GetDataContractHistoryRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractHistoryRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message GetDataContractHistoryRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractHistoryRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractHistoryRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @instance + * @returns {Object.} JSON object + */ + GetDataContractHistoryRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 = (function() { + + /** + * Properties of a GetDataContractHistoryRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @interface IGetDataContractHistoryRequestV0 + * @property {Uint8Array|null} [id] GetDataContractHistoryRequestV0 id + * @property {google.protobuf.IUInt32Value|null} [limit] GetDataContractHistoryRequestV0 limit + * @property {google.protobuf.IUInt32Value|null} [offset] GetDataContractHistoryRequestV0 offset + * @property {number|Long|null} [startAtMs] GetDataContractHistoryRequestV0 startAtMs + * @property {boolean|null} [prove] GetDataContractHistoryRequestV0 prove + */ + + /** + * Constructs a new GetDataContractHistoryRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @classdesc Represents a GetDataContractHistoryRequestV0. + * @implements IGetDataContractHistoryRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0=} [properties] Properties to set + */ + function GetDataContractHistoryRequestV0(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]]; + } + + /** + * GetDataContractHistoryRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.id = $util.newBuffer([]); + + /** + * GetDataContractHistoryRequestV0 limit. + * @member {google.protobuf.IUInt32Value|null|undefined} limit + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.limit = null; + + /** + * GetDataContractHistoryRequestV0 offset. + * @member {google.protobuf.IUInt32Value|null|undefined} offset + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.offset = null; + + /** + * GetDataContractHistoryRequestV0 startAtMs. + * @member {number|Long} startAtMs + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.startAtMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * GetDataContractHistoryRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.prove = false; + + /** + * Creates a new GetDataContractHistoryRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 instance + */ + GetDataContractHistoryRequestV0.create = function create(properties) { + return new GetDataContractHistoryRequestV0(properties); + }; + + /** + * Encodes the specified GetDataContractHistoryRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + $root.google.protobuf.UInt32Value.encode(message.limit, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) + $root.google.protobuf.UInt32Value.encode(message.offset, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.startAtMs != null && Object.hasOwnProperty.call(message, "startAtMs")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.startAtMs); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetDataContractHistoryRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractHistoryRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + break; + case 3: + message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + break; + case 4: + message.startAtMs = reader.uint64(); + break; + case 5: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractHistoryRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractHistoryRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractHistoryRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.limit != null && message.hasOwnProperty("limit")) { + var error = $root.google.protobuf.UInt32Value.verify(message.limit); + if (error) + return "limit." + error; + } + if (message.offset != null && message.hasOwnProperty("offset")) { + var error = $root.google.protobuf.UInt32Value.verify(message.offset); + if (error) + return "offset." + error; + } + if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) + if (!$util.isInteger(message.startAtMs) && !(message.startAtMs && $util.isInteger(message.startAtMs.low) && $util.isInteger(message.startAtMs.high))) + return "startAtMs: integer|Long expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetDataContractHistoryRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 + */ + GetDataContractHistoryRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0(); + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length >= 0) + message.id = object.id; + if (object.limit != null) { + if (typeof object.limit !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.limit: object expected"); + message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); + } + if (object.offset != null) { + if (typeof object.offset !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.offset: object expected"); + message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); + } + if (object.startAtMs != null) + if ($util.Long) + (message.startAtMs = $util.Long.fromValue(object.startAtMs)).unsigned = true; + else if (typeof object.startAtMs === "string") + message.startAtMs = parseInt(object.startAtMs, 10); + else if (typeof object.startAtMs === "number") + message.startAtMs = object.startAtMs; + else if (typeof object.startAtMs === "object") + message.startAtMs = new $util.LongBits(object.startAtMs.low >>> 0, object.startAtMs.high >>> 0).toNumber(true); + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetDataContractHistoryRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractHistoryRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.limit = null; + object.offset = null; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.startAtMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.startAtMs = options.longs === String ? "0" : 0; + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); + if (message.offset != null && message.hasOwnProperty("offset")) + object.offset = $root.google.protobuf.UInt32Value.toObject(message.offset, options); + if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) + if (typeof message.startAtMs === "number") + object.startAtMs = options.longs === String ? String(message.startAtMs) : message.startAtMs; + else + object.startAtMs = options.longs === String ? $util.Long.prototype.toString.call(message.startAtMs) : options.longs === Number ? new $util.LongBits(message.startAtMs.low >>> 0, message.startAtMs.high >>> 0).toNumber(true) : message.startAtMs; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetDataContractHistoryRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractHistoryRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractHistoryRequestV0; + })(); + + return GetDataContractHistoryRequest; + })(); + + v0.GetDataContractHistoryResponse = (function() { + + /** + * Properties of a GetDataContractHistoryResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractHistoryResponse + * @property {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0|null} [v0] GetDataContractHistoryResponse v0 + */ + + /** + * Constructs a new GetDataContractHistoryResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractHistoryResponse. + * @implements IGetDataContractHistoryResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set + */ + function GetDataContractHistoryResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractHistoryResponse v0. + * @member {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @instance + */ + GetDataContractHistoryResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractHistoryResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @instance + */ + Object.defineProperty(GetDataContractHistoryResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractHistoryResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse instance + */ + GetDataContractHistoryResponse.create = function create(properties) { + return new GetDataContractHistoryResponse(properties); + }; + + /** + * Encodes the specified GetDataContractHistoryResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractHistoryResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractHistoryResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractHistoryResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractHistoryResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractHistoryResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDataContractHistoryResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + */ + GetDataContractHistoryResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractHistoryResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message GetDataContractHistoryResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractHistoryResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractHistoryResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @instance + * @returns {Object.} JSON object + */ + GetDataContractHistoryResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 = (function() { + + /** + * Properties of a GetDataContractHistoryResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @interface IGetDataContractHistoryResponseV0 + * @property {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory|null} [dataContractHistory] GetDataContractHistoryResponseV0 dataContractHistory + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractHistoryResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractHistoryResponseV0 metadata + */ + + /** + * Constructs a new GetDataContractHistoryResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @classdesc Represents a GetDataContractHistoryResponseV0. + * @implements IGetDataContractHistoryResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0=} [properties] Properties to set + */ + function GetDataContractHistoryResponseV0(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]]; + } + + /** + * GetDataContractHistoryResponseV0 dataContractHistory. + * @member {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory|null|undefined} dataContractHistory + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + */ + GetDataContractHistoryResponseV0.prototype.dataContractHistory = null; + + /** + * GetDataContractHistoryResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + */ + GetDataContractHistoryResponseV0.prototype.proof = null; + + /** + * GetDataContractHistoryResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + */ + GetDataContractHistoryResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractHistoryResponseV0 result. + * @member {"dataContractHistory"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + */ + Object.defineProperty(GetDataContractHistoryResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["dataContractHistory", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractHistoryResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 instance + */ + GetDataContractHistoryResponseV0.create = function create(properties) { + return new GetDataContractHistoryResponseV0(properties); + }; + + /** + * Encodes the specified GetDataContractHistoryResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContractHistory != null && Object.hasOwnProperty.call(message, "dataContractHistory")) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.encode(message.dataContractHistory, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractHistoryResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractHistoryResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractHistoryResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractHistoryResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractHistoryResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify(message.dataContractHistory); + if (error) + return "dataContractHistory." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + 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 GetDataContractHistoryResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 + */ + GetDataContractHistoryResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0(); + if (object.dataContractHistory != null) { + if (typeof object.dataContractHistory !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.dataContractHistory: object expected"); + message.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.fromObject(object.dataContractHistory); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractHistoryResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractHistoryResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { + object.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(message.dataContractHistory, options); + if (options.oneofs) + object.result = "dataContractHistory"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetDataContractHistoryResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractHistoryResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractHistoryResponseV0.DataContractHistoryEntry = (function() { + + /** + * Properties of a DataContractHistoryEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @interface IDataContractHistoryEntry + * @property {number|Long|null} [date] DataContractHistoryEntry date + * @property {Uint8Array|null} [value] DataContractHistoryEntry value + */ + + /** + * Constructs a new DataContractHistoryEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @classdesc Represents a DataContractHistoryEntry. + * @implements IDataContractHistoryEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry=} [properties] Properties to set + */ + function DataContractHistoryEntry(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataContractHistoryEntry date. + * @member {number|Long} date + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @instance + */ + DataContractHistoryEntry.prototype.date = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * DataContractHistoryEntry value. + * @member {Uint8Array} value + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @instance + */ + DataContractHistoryEntry.prototype.value = $util.newBuffer([]); + + /** + * Creates a new DataContractHistoryEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry instance + */ + DataContractHistoryEntry.create = function create(properties) { + return new DataContractHistoryEntry(properties); + }; + + /** + * Encodes the specified DataContractHistoryEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistoryEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.date != null && Object.hasOwnProperty.call(message, "date")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.date); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + return writer; + }; + + /** + * Encodes the specified DataContractHistoryEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistoryEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataContractHistoryEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistoryEntry.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.date = reader.uint64(); + break; + case 2: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataContractHistoryEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistoryEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataContractHistoryEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContractHistoryEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.date != null && message.hasOwnProperty("date")) + if (!$util.isInteger(message.date) && !(message.date && $util.isInteger(message.date.low) && $util.isInteger(message.date.high))) + return "date: integer|Long expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + return null; + }; + + /** + * Creates a DataContractHistoryEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry + */ + DataContractHistoryEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry(); + if (object.date != null) + if ($util.Long) + (message.date = $util.Long.fromValue(object.date)).unsigned = true; + else if (typeof object.date === "string") + message.date = parseInt(object.date, 10); + else if (typeof object.date === "number") + message.date = object.date; + else if (typeof object.date === "object") + message.date = new $util.LongBits(object.date.low >>> 0, object.date.high >>> 0).toNumber(true); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length >= 0) + message.value = object.value; + return message; + }; + + /** + * Creates a plain object from a DataContractHistoryEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message DataContractHistoryEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContractHistoryEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.date = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.date = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + } + if (message.date != null && message.hasOwnProperty("date")) + if (typeof message.date === "number") + object.date = options.longs === String ? String(message.date) : message.date; + else + object.date = options.longs === String ? $util.Long.prototype.toString.call(message.date) : options.longs === Number ? new $util.LongBits(message.date.low >>> 0, message.date.high >>> 0).toNumber(true) : message.date; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this DataContractHistoryEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @instance + * @returns {Object.} JSON object + */ + DataContractHistoryEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DataContractHistoryEntry; + })(); + + GetDataContractHistoryResponseV0.DataContractHistory = (function() { + + /** + * Properties of a DataContractHistory. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @interface IDataContractHistory + * @property {Array.|null} [dataContractEntries] DataContractHistory dataContractEntries + */ + + /** + * Constructs a new DataContractHistory. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @classdesc Represents a DataContractHistory. + * @implements IDataContractHistory + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory=} [properties] Properties to set + */ + function DataContractHistory(properties) { + this.dataContractEntries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataContractHistory dataContractEntries. + * @member {Array.} dataContractEntries + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @instance + */ + DataContractHistory.prototype.dataContractEntries = $util.emptyArray; + + /** + * Creates a new DataContractHistory instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory instance + */ + DataContractHistory.create = function create(properties) { + return new DataContractHistory(properties); + }; + + /** + * Encodes the specified DataContractHistory message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory} message DataContractHistory message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistory.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContractEntries != null && message.dataContractEntries.length) + for (var i = 0; i < message.dataContractEntries.length; ++i) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DataContractHistory message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory} message DataContractHistory message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistory.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataContractHistory message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistory.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.dataContractEntries && message.dataContractEntries.length)) + message.dataContractEntries = []; + message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataContractHistory message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistory.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataContractHistory message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContractHistory.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { + if (!Array.isArray(message.dataContractEntries)) + return "dataContractEntries: array expected"; + for (var i = 0; i < message.dataContractEntries.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify(message.dataContractEntries[i]); + if (error) + return "dataContractEntries." + error; + } + } + return null; + }; + + /** + * Creates a DataContractHistory message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory + */ + DataContractHistory.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory(); + if (object.dataContractEntries) { + if (!Array.isArray(object.dataContractEntries)) + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.dataContractEntries: array expected"); + message.dataContractEntries = []; + for (var i = 0; i < object.dataContractEntries.length; ++i) { + if (typeof object.dataContractEntries[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.dataContractEntries: object expected"); + message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.fromObject(object.dataContractEntries[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DataContractHistory message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message DataContractHistory + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContractHistory.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.dataContractEntries = []; + if (message.dataContractEntries && message.dataContractEntries.length) { + object.dataContractEntries = []; + for (var j = 0; j < message.dataContractEntries.length; ++j) + object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(message.dataContractEntries[j], options); + } + return object; + }; + + /** + * Converts this DataContractHistory to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @instance + * @returns {Object.} JSON object + */ + DataContractHistory.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DataContractHistory; + })(); + + return GetDataContractHistoryResponseV0; + })(); + + return GetDataContractHistoryResponse; + })(); + + v0.GetDocumentsRequest = (function() { + + /** + * Properties of a GetDocumentsRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDocumentsRequest + * @property {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0|null} [v0] GetDocumentsRequest v0 + */ + + /** + * Constructs a new GetDocumentsRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDocumentsRequest. + * @implements IGetDocumentsRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set + */ + function GetDocumentsRequest(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]]; + } + + /** + * GetDocumentsRequest v0. + * @member {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @instance + */ + GetDocumentsRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDocumentsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @instance + */ + Object.defineProperty(GetDocumentsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDocumentsRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest instance + */ + GetDocumentsRequest.create = function create(properties) { + return new GetDocumentsRequest(properties); + }; + + /** + * Encodes the specified GetDocumentsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsRequest.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.GetDocumentsRequest.GetDocumentsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDocumentsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDocumentsRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDocumentsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDocumentsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDocumentsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDocumentsRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDocumentsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDocumentsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + */ + GetDocumentsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDocumentsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest} message GetDocumentsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDocumentsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDocumentsRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @instance + * @returns {Object.} JSON object + */ + GetDocumentsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDocumentsRequest.GetDocumentsRequestV0 = (function() { + + /** + * Properties of a GetDocumentsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @interface IGetDocumentsRequestV0 + * @property {Uint8Array|null} [dataContractId] GetDocumentsRequestV0 dataContractId + * @property {string|null} [documentType] GetDocumentsRequestV0 documentType + * @property {Uint8Array|null} [where] GetDocumentsRequestV0 where + * @property {Uint8Array|null} [orderBy] GetDocumentsRequestV0 orderBy + * @property {number|null} [limit] GetDocumentsRequestV0 limit + * @property {Uint8Array|null} [startAfter] GetDocumentsRequestV0 startAfter + * @property {Uint8Array|null} [startAt] GetDocumentsRequestV0 startAt + * @property {boolean|null} [prove] GetDocumentsRequestV0 prove + */ + + /** + * Constructs a new GetDocumentsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @classdesc Represents a GetDocumentsRequestV0. + * @implements IGetDocumentsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0=} [properties] Properties to set + */ + function GetDocumentsRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDocumentsRequestV0 dataContractId. + * @member {Uint8Array} dataContractId + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.dataContractId = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 documentType. + * @member {string} documentType + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.documentType = ""; + + /** + * GetDocumentsRequestV0 where. + * @member {Uint8Array} where + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.where = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 orderBy. + * @member {Uint8Array} orderBy + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.orderBy = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 limit. + * @member {number} limit + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.limit = 0; + + /** + * GetDocumentsRequestV0 startAfter. + * @member {Uint8Array} startAfter + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.startAfter = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 startAt. + * @member {Uint8Array} startAt + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.startAt = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.prove = false; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDocumentsRequestV0 start. + * @member {"startAfter"|"startAt"|undefined} start + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + Object.defineProperty(GetDocumentsRequestV0.prototype, "start", { + get: $util.oneOfGetter($oneOfFields = ["startAfter", "startAt"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDocumentsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 instance + */ + GetDocumentsRequestV0.create = function create(properties) { + return new GetDocumentsRequestV0(properties); + }; + + /** + * Encodes the specified GetDocumentsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0} message GetDocumentsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContractId != null && Object.hasOwnProperty.call(message, "dataContractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContractId); + if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); + if (message.where != null && Object.hasOwnProperty.call(message, "where")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.where); + if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.orderBy); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.limit); + if (message.startAfter != null && Object.hasOwnProperty.call(message, "startAfter")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.startAfter); + if (message.startAt != null && Object.hasOwnProperty.call(message, "startAt")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.startAt); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetDocumentsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0} message GetDocumentsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDocumentsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDocumentsRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dataContractId = reader.bytes(); + break; + case 2: + message.documentType = reader.string(); + break; + case 3: + message.where = reader.bytes(); + break; + case 4: + message.orderBy = reader.bytes(); + break; + case 5: + message.limit = reader.uint32(); + break; + case 6: + message.startAfter = reader.bytes(); + break; + case 7: + message.startAt = reader.bytes(); + break; + case 8: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDocumentsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDocumentsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDocumentsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDocumentsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) + if (!(message.dataContractId && typeof message.dataContractId.length === "number" || $util.isString(message.dataContractId))) + return "dataContractId: buffer expected"; + if (message.documentType != null && message.hasOwnProperty("documentType")) + if (!$util.isString(message.documentType)) + return "documentType: string expected"; + if (message.where != null && message.hasOwnProperty("where")) + if (!(message.where && typeof message.where.length === "number" || $util.isString(message.where))) + return "where: buffer expected"; + if (message.orderBy != null && message.hasOwnProperty("orderBy")) + if (!(message.orderBy && typeof message.orderBy.length === "number" || $util.isString(message.orderBy))) + return "orderBy: buffer expected"; + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + if (message.startAfter != null && message.hasOwnProperty("startAfter")) { + properties.start = 1; + if (!(message.startAfter && typeof message.startAfter.length === "number" || $util.isString(message.startAfter))) + return "startAfter: buffer expected"; + } + if (message.startAt != null && message.hasOwnProperty("startAt")) { + if (properties.start === 1) + return "start: multiple values"; + properties.start = 1; + if (!(message.startAt && typeof message.startAt.length === "number" || $util.isString(message.startAt))) + return "startAt: buffer expected"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetDocumentsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + */ + GetDocumentsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0(); + if (object.dataContractId != null) + if (typeof object.dataContractId === "string") + $util.base64.decode(object.dataContractId, message.dataContractId = $util.newBuffer($util.base64.length(object.dataContractId)), 0); + else if (object.dataContractId.length >= 0) + message.dataContractId = object.dataContractId; + if (object.documentType != null) + message.documentType = String(object.documentType); + if (object.where != null) + if (typeof object.where === "string") + $util.base64.decode(object.where, message.where = $util.newBuffer($util.base64.length(object.where)), 0); + else if (object.where.length >= 0) + message.where = object.where; + if (object.orderBy != null) + if (typeof object.orderBy === "string") + $util.base64.decode(object.orderBy, message.orderBy = $util.newBuffer($util.base64.length(object.orderBy)), 0); + else if (object.orderBy.length >= 0) + message.orderBy = object.orderBy; + if (object.limit != null) + message.limit = object.limit >>> 0; + if (object.startAfter != null) + if (typeof object.startAfter === "string") + $util.base64.decode(object.startAfter, message.startAfter = $util.newBuffer($util.base64.length(object.startAfter)), 0); + else if (object.startAfter.length >= 0) + message.startAfter = object.startAfter; + if (object.startAt != null) + if (typeof object.startAt === "string") + $util.base64.decode(object.startAt, message.startAt = $util.newBuffer($util.base64.length(object.startAt)), 0); + else if (object.startAt.length >= 0) + message.startAt = object.startAt; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetDocumentsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message GetDocumentsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDocumentsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.dataContractId = ""; + else { + object.dataContractId = []; + if (options.bytes !== Array) + object.dataContractId = $util.newBuffer(object.dataContractId); + } + object.documentType = ""; + if (options.bytes === String) + object.where = ""; + else { + object.where = []; + if (options.bytes !== Array) + object.where = $util.newBuffer(object.where); + } + if (options.bytes === String) + object.orderBy = ""; + else { + object.orderBy = []; + if (options.bytes !== Array) + object.orderBy = $util.newBuffer(object.orderBy); + } + object.limit = 0; + object.prove = false; + } + if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) + object.dataContractId = options.bytes === String ? $util.base64.encode(message.dataContractId, 0, message.dataContractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContractId) : message.dataContractId; + if (message.documentType != null && message.hasOwnProperty("documentType")) + object.documentType = message.documentType; + if (message.where != null && message.hasOwnProperty("where")) + object.where = options.bytes === String ? $util.base64.encode(message.where, 0, message.where.length) : options.bytes === Array ? Array.prototype.slice.call(message.where) : message.where; + if (message.orderBy != null && message.hasOwnProperty("orderBy")) + object.orderBy = options.bytes === String ? $util.base64.encode(message.orderBy, 0, message.orderBy.length) : options.bytes === Array ? Array.prototype.slice.call(message.orderBy) : message.orderBy; + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = message.limit; + if (message.startAfter != null && message.hasOwnProperty("startAfter")) { + object.startAfter = options.bytes === String ? $util.base64.encode(message.startAfter, 0, message.startAfter.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAfter) : message.startAfter; + if (options.oneofs) + object.start = "startAfter"; + } + if (message.startAt != null && message.hasOwnProperty("startAt")) { + object.startAt = options.bytes === String ? $util.base64.encode(message.startAt, 0, message.startAt.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAt) : message.startAt; + if (options.oneofs) + object.start = "startAt"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetDocumentsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDocumentsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDocumentsRequestV0; + })(); + + return GetDocumentsRequest; + })(); + + v0.GetDocumentsResponse = (function() { + + /** + * Properties of a GetDocumentsResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDocumentsResponse + * @property {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0|null} [v0] GetDocumentsResponse v0 + */ + + /** + * Constructs a new GetDocumentsResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDocumentsResponse. + * @implements IGetDocumentsResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set + */ + function GetDocumentsResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDocumentsResponse v0. + * @member {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @instance + */ + GetDocumentsResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDocumentsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @instance + */ + Object.defineProperty(GetDocumentsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDocumentsResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse instance + */ + GetDocumentsResponse.create = function create(properties) { + return new GetDocumentsResponse(properties); + }; + + /** + * Encodes the specified GetDocumentsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDocumentsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDocumentsResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsRequest.decode = function decode(reader, length) { + GetDocumentsResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -14506,37 +21387,37 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetDocumentsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsRequest.decodeDelimited = function decodeDelimited(reader) { + GetDocumentsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractsRequest message. + * Verifies a GetDocumentsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractsRequest.verify = function verify(message) { + GetDocumentsResponse.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.GetDataContractsRequest.GetDataContractsRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -14545,40 +21426,40 @@ $root.org = (function() { }; /** - * Creates a GetDataContractsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetDocumentsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse */ - GetDataContractsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsRequest) + GetDocumentsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetDataContractsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetDocumentsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsRequest} message GetDataContractsRequest + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse} message GetDocumentsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractsRequest.toObject = function toObject(message, options) { + GetDocumentsResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (message.v0 != null && message.hasOwnProperty("v0")) { - object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -14586,36 +21467,36 @@ $root.org = (function() { }; /** - * Converts this GetDataContractsRequest to JSON. + * Converts this GetDocumentsResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @instance * @returns {Object.} JSON object */ - GetDataContractsRequest.prototype.toJSON = function toJSON() { + GetDocumentsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDataContractsRequest.GetDataContractsRequestV0 = (function() { + GetDocumentsResponse.GetDocumentsResponseV0 = (function() { /** - * Properties of a GetDataContractsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @interface IGetDataContractsRequestV0 - * @property {Array.|null} [ids] GetDataContractsRequestV0 ids - * @property {boolean|null} [prove] GetDataContractsRequestV0 prove + * Properties of a GetDocumentsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @interface IGetDocumentsResponseV0 + * @property {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments|null} [documents] GetDocumentsResponseV0 documents + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDocumentsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDocumentsResponseV0 metadata */ /** - * Constructs a new GetDataContractsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @classdesc Represents a GetDataContractsRequestV0. - * @implements IGetDataContractsRequestV0 + * Constructs a new GetDocumentsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @classdesc Represents a GetDocumentsResponseV0. + * @implements IGetDocumentsResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0=} [properties] Properties to set */ - function GetDataContractsRequestV0(properties) { - this.ids = []; + function GetDocumentsResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -14623,91 +21504,115 @@ $root.org = (function() { } /** - * GetDataContractsRequestV0 ids. - * @member {Array.} ids - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * GetDocumentsResponseV0 documents. + * @member {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments|null|undefined} documents + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @instance */ - GetDataContractsRequestV0.prototype.ids = $util.emptyArray; + GetDocumentsResponseV0.prototype.documents = null; /** - * GetDataContractsRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * GetDocumentsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @instance */ - GetDataContractsRequestV0.prototype.prove = false; + GetDocumentsResponseV0.prototype.proof = null; /** - * Creates a new GetDataContractsRequestV0 instance using the specified properties. + * GetDocumentsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @instance + */ + GetDocumentsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDocumentsResponseV0 result. + * @member {"documents"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @instance + */ + Object.defineProperty(GetDocumentsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["documents", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDocumentsResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 instance */ - GetDataContractsRequestV0.create = function create(properties) { - return new GetDataContractsRequestV0(properties); + GetDocumentsResponseV0.create = function create(properties) { + return new GetDocumentsResponseV0(properties); }; /** - * Encodes the specified GetDataContractsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.verify|verify} messages. + * Encodes the specified GetDocumentsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0} message GetDataContractsRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0} message GetDocumentsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsRequestV0.encode = function encode(message, writer) { + GetDocumentsResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.ids != null && message.ids.length) - for (var i = 0; i < message.ids.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ids[i]); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.documents != null && Object.hasOwnProperty.call(message, "documents")) + $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.encode(message.documents, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.verify|verify} messages. + * Encodes the specified GetDocumentsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0} message GetDataContractsRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0} message GetDocumentsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetDocumentsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractsRequestV0 message from the specified reader or buffer. + * Decodes a GetDocumentsResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsRequestV0.decode = function decode(reader, length) { + GetDocumentsResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.ids && message.ids.length)) - message.ids = []; - message.ids.push(reader.bytes()); + message.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.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); @@ -14718,134 +21623,360 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractsRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetDocumentsResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetDocumentsResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractsRequestV0 message. + * Verifies a GetDocumentsResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractsRequestV0.verify = function verify(message) { + GetDocumentsResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.ids != null && message.hasOwnProperty("ids")) { - if (!Array.isArray(message.ids)) - return "ids: array expected"; - for (var i = 0; i < message.ids.length; ++i) - if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) - return "ids: buffer[] expected"; + var properties = {}; + if (message.documents != null && message.hasOwnProperty("documents")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify(message.documents); + if (error) + return "documents." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; return null; }; /** - * Creates a GetDataContractsRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetDocumentsResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 */ - GetDataContractsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0) + GetDocumentsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0(); - if (object.ids) { - if (!Array.isArray(object.ids)) - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.ids: array expected"); - message.ids = []; - for (var i = 0; i < object.ids.length; ++i) - if (typeof object.ids[i] === "string") - $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); - else if (object.ids[i].length >= 0) - message.ids[i] = object.ids[i]; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0(); + if (object.documents != null) { + if (typeof object.documents !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.documents: object expected"); + message.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.fromObject(object.documents); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } - if (object.prove != null) - message.prove = Boolean(object.prove); return message; }; - /** - * Creates a plain object from a GetDataContractsRequestV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message GetDataContractsRequestV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetDataContractsRequestV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.ids = []; - if (options.defaults) - object.prove = false; - if (message.ids && message.ids.length) { - object.ids = []; - for (var j = 0; j < message.ids.length; ++j) - object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; - } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + /** + * Creates a plain object from a GetDocumentsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message GetDocumentsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDocumentsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.documents != null && message.hasOwnProperty("documents")) { + object.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(message.documents, options); + if (options.oneofs) + object.result = "documents"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetDocumentsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetDocumentsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDocumentsResponseV0.Documents = (function() { + + /** + * Properties of a Documents. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @interface IDocuments + * @property {Array.|null} [documents] Documents documents + */ + + /** + * Constructs a new Documents. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @classdesc Represents a Documents. + * @implements IDocuments + * @constructor + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments=} [properties] Properties to set + */ + function Documents(properties) { + this.documents = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Documents documents. + * @member {Array.} documents + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @instance + */ + Documents.prototype.documents = $util.emptyArray; + + /** + * Creates a new Documents instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents instance + */ + Documents.create = function create(properties) { + return new Documents(properties); + }; + + /** + * Encodes the specified Documents message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments} message Documents message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Documents.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.documents != null && message.documents.length) + for (var i = 0; i < message.documents.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.documents[i]); + return writer; + }; + + /** + * Encodes the specified Documents message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments} message Documents message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Documents.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Documents message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Documents.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.documents && message.documents.length)) + message.documents = []; + message.documents.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Documents message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Documents.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Documents message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Documents.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.documents != null && message.hasOwnProperty("documents")) { + if (!Array.isArray(message.documents)) + return "documents: array expected"; + for (var i = 0; i < message.documents.length; ++i) + if (!(message.documents[i] && typeof message.documents[i].length === "number" || $util.isString(message.documents[i]))) + return "documents: buffer[] expected"; + } + return null; + }; + + /** + * Creates a Documents message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents + */ + Documents.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents(); + if (object.documents) { + if (!Array.isArray(object.documents)) + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.documents: array expected"); + message.documents = []; + for (var i = 0; i < object.documents.length; ++i) + if (typeof object.documents[i] === "string") + $util.base64.decode(object.documents[i], message.documents[i] = $util.newBuffer($util.base64.length(object.documents[i])), 0); + else if (object.documents[i].length >= 0) + message.documents[i] = object.documents[i]; + } + return message; + }; + + /** + * Creates a plain object from a Documents message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message Documents + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Documents.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.documents = []; + if (message.documents && message.documents.length) { + object.documents = []; + for (var j = 0; j < message.documents.length; ++j) + object.documents[j] = options.bytes === String ? $util.base64.encode(message.documents[j], 0, message.documents[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.documents[j]) : message.documents[j]; + } + return object; + }; + + /** + * Converts this Documents to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @instance + * @returns {Object.} JSON object + */ + Documents.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetDataContractsRequestV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 - * @instance - * @returns {Object.} JSON object - */ - GetDataContractsRequestV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return Documents; + })(); - return GetDataContractsRequestV0; + return GetDocumentsResponseV0; })(); - return GetDataContractsRequest; + return GetDocumentsResponse; })(); - v0.GetDataContractsResponse = (function() { + v0.GetIdentityByPublicKeyHashRequest = (function() { /** - * Properties of a GetDataContractsResponse. + * Properties of a GetIdentityByPublicKeyHashRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractsResponse - * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0|null} [v0] GetDataContractsResponse v0 + * @interface IGetIdentityByPublicKeyHashRequest + * @property {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0|null} [v0] GetIdentityByPublicKeyHashRequest v0 */ /** - * Constructs a new GetDataContractsResponse. + * Constructs a new GetIdentityByPublicKeyHashRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractsResponse. - * @implements IGetDataContractsResponse + * @classdesc Represents a GetIdentityByPublicKeyHashRequest. + * @implements IGetIdentityByPublicKeyHashRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest=} [properties] Properties to set */ - function GetDataContractsResponse(properties) { + function GetIdentityByPublicKeyHashRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -14853,89 +21984,89 @@ $root.org = (function() { } /** - * GetDataContractsResponse v0. - * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * GetIdentityByPublicKeyHashRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @instance */ - GetDataContractsResponse.prototype.v0 = null; + GetIdentityByPublicKeyHashRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractsResponse version. + * GetIdentityByPublicKeyHashRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @instance */ - Object.defineProperty(GetDataContractsResponse.prototype, "version", { + Object.defineProperty(GetIdentityByPublicKeyHashRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractsResponse instance using the specified properties. + * Creates a new GetIdentityByPublicKeyHashRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest instance */ - GetDataContractsResponse.create = function create(properties) { - return new GetDataContractsResponse(properties); + GetIdentityByPublicKeyHashRequest.create = function create(properties) { + return new GetIdentityByPublicKeyHashRequest(properties); }; /** - * Encodes the specified GetDataContractsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsResponse.encode = function encode(message, writer) { + GetIdentityByPublicKeyHashRequest.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.GetDataContractsResponse.GetDataContractsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByPublicKeyHashRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractsResponse message from the specified reader or buffer. + * Decodes a GetIdentityByPublicKeyHashRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsResponse.decode = function decode(reader, length) { + GetIdentityByPublicKeyHashRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -14946,37 +22077,37 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractsResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByPublicKeyHashRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByPublicKeyHashRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractsResponse message. + * Verifies a GetIdentityByPublicKeyHashRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractsResponse.verify = function verify(message) { + GetIdentityByPublicKeyHashRequest.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.GetDataContractsResponse.GetDataContractsResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -14985,40 +22116,40 @@ $root.org = (function() { }; /** - * Creates a GetDataContractsResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByPublicKeyHashRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest */ - GetDataContractsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse) + GetIdentityByPublicKeyHashRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetDataContractsResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByPublicKeyHashRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse} message GetDataContractsResponse + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractsResponse.toObject = function toObject(message, options) { + GetIdentityByPublicKeyHashRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (message.v0 != null && message.hasOwnProperty("v0")) { - object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -15026,35 +22157,35 @@ $root.org = (function() { }; /** - * Converts this GetDataContractsResponse to JSON. + * Converts this GetIdentityByPublicKeyHashRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @instance * @returns {Object.} JSON object */ - GetDataContractsResponse.prototype.toJSON = function toJSON() { + GetIdentityByPublicKeyHashRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDataContractsResponse.DataContractEntry = (function() { + GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 = (function() { /** - * Properties of a DataContractEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @interface IDataContractEntry - * @property {Uint8Array|null} [identifier] DataContractEntry identifier - * @property {google.protobuf.IBytesValue|null} [dataContract] DataContractEntry dataContract + * Properties of a GetIdentityByPublicKeyHashRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @interface IGetIdentityByPublicKeyHashRequestV0 + * @property {Uint8Array|null} [publicKeyHash] GetIdentityByPublicKeyHashRequestV0 publicKeyHash + * @property {boolean|null} [prove] GetIdentityByPublicKeyHashRequestV0 prove */ /** - * Constructs a new DataContractEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @classdesc Represents a DataContractEntry. - * @implements IDataContractEntry + * Constructs a new GetIdentityByPublicKeyHashRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @classdesc Represents a GetIdentityByPublicKeyHashRequestV0. + * @implements IGetIdentityByPublicKeyHashRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0=} [properties] Properties to set */ - function DataContractEntry(properties) { + function GetIdentityByPublicKeyHashRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -15062,302 +22193,88 @@ $root.org = (function() { } /** - * DataContractEntry identifier. - * @member {Uint8Array} identifier - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * GetIdentityByPublicKeyHashRequestV0 publicKeyHash. + * @member {Uint8Array} publicKeyHash + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @instance */ - DataContractEntry.prototype.identifier = $util.newBuffer([]); + GetIdentityByPublicKeyHashRequestV0.prototype.publicKeyHash = $util.newBuffer([]); /** - * DataContractEntry dataContract. - * @member {google.protobuf.IBytesValue|null|undefined} dataContract - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * GetIdentityByPublicKeyHashRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @instance */ - DataContractEntry.prototype.dataContract = null; + GetIdentityByPublicKeyHashRequestV0.prototype.prove = false; /** - * Creates a new DataContractEntry instance using the specified properties. + * Creates a new GetIdentityByPublicKeyHashRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry instance + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 instance */ - DataContractEntry.create = function create(properties) { - return new DataContractEntry(properties); + GetIdentityByPublicKeyHashRequestV0.create = function create(properties) { + return new GetIdentityByPublicKeyHashRequestV0(properties); }; /** - * Encodes the specified DataContractEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractEntry.encode = function encode(message, writer) { + GetIdentityByPublicKeyHashRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identifier != null && Object.hasOwnProperty.call(message, "identifier")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identifier); - if (message.dataContract != null && Object.hasOwnProperty.call(message, "dataContract")) - $root.google.protobuf.BytesValue.encode(message.dataContract, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.publicKeyHash != null && Object.hasOwnProperty.call(message, "publicKeyHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHash); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified DataContractEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractEntry.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByPublicKeyHashRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DataContractEntry message from the specified reader or buffer. + * Decodes a GetIdentityByPublicKeyHashRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractEntry.decode = function decode(reader, length) { + GetIdentityByPublicKeyHashRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identifier = reader.bytes(); + message.publicKeyHash = reader.bytes(); break; case 2: - message.dataContract = $root.google.protobuf.BytesValue.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DataContractEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DataContractEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DataContractEntry message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DataContractEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.identifier != null && message.hasOwnProperty("identifier")) - if (!(message.identifier && typeof message.identifier.length === "number" || $util.isString(message.identifier))) - return "identifier: buffer expected"; - if (message.dataContract != null && message.hasOwnProperty("dataContract")) { - var error = $root.google.protobuf.BytesValue.verify(message.dataContract); - if (error) - return "dataContract." + error; - } - return null; - }; - - /** - * Creates a DataContractEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry - */ - DataContractEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); - if (object.identifier != null) - if (typeof object.identifier === "string") - $util.base64.decode(object.identifier, message.identifier = $util.newBuffer($util.base64.length(object.identifier)), 0); - else if (object.identifier.length >= 0) - message.identifier = object.identifier; - if (object.dataContract != null) { - if (typeof object.dataContract !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.dataContract: object expected"); - message.dataContract = $root.google.protobuf.BytesValue.fromObject(object.dataContract); - } - return message; - }; - - /** - * Creates a plain object from a DataContractEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message DataContractEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DataContractEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.identifier = ""; - else { - object.identifier = []; - if (options.bytes !== Array) - object.identifier = $util.newBuffer(object.identifier); - } - object.dataContract = null; - } - if (message.identifier != null && message.hasOwnProperty("identifier")) - object.identifier = options.bytes === String ? $util.base64.encode(message.identifier, 0, message.identifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.identifier) : message.identifier; - if (message.dataContract != null && message.hasOwnProperty("dataContract")) - object.dataContract = $root.google.protobuf.BytesValue.toObject(message.dataContract, options); - return object; - }; - - /** - * Converts this DataContractEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @instance - * @returns {Object.} JSON object - */ - DataContractEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DataContractEntry; - })(); - - GetDataContractsResponse.DataContracts = (function() { - - /** - * Properties of a DataContracts. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @interface IDataContracts - * @property {Array.|null} [dataContractEntries] DataContracts dataContractEntries - */ - - /** - * Constructs a new DataContracts. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @classdesc Represents a DataContracts. - * @implements IDataContracts - * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set - */ - function DataContracts(properties) { - this.dataContractEntries = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DataContracts dataContractEntries. - * @member {Array.} dataContractEntries - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts - * @instance - */ - DataContracts.prototype.dataContractEntries = $util.emptyArray; - - /** - * Creates a new DataContracts instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts instance - */ - DataContracts.create = function create(properties) { - return new DataContracts(properties); - }; - - /** - * Encodes the specified DataContracts message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DataContracts.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.dataContractEntries != null && message.dataContractEntries.length) - for (var i = 0; i < message.dataContractEntries.length; ++i) - $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DataContracts message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DataContracts.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DataContracts message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DataContracts.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.dataContractEntries && message.dataContractEntries.length)) - message.dataContractEntries = []; - message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.decode(reader, reader.uint32())); + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -15368,126 +22285,338 @@ $root.org = (function() { }; /** - * Decodes a DataContracts message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByPublicKeyHashRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContracts.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByPublicKeyHashRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DataContracts message. + * Verifies a GetIdentityByPublicKeyHashRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataContracts.verify = function verify(message) { + GetIdentityByPublicKeyHashRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { - if (!Array.isArray(message.dataContractEntries)) - return "dataContractEntries: array expected"; - for (var i = 0; i < message.dataContractEntries.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify(message.dataContractEntries[i]); - if (error) - return "dataContractEntries." + error; - } - } + if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) + if (!(message.publicKeyHash && typeof message.publicKeyHash.length === "number" || $util.isString(message.publicKeyHash))) + return "publicKeyHash: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a DataContracts message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByPublicKeyHashRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 */ - DataContracts.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts) + GetIdentityByPublicKeyHashRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); - if (object.dataContractEntries) { - if (!Array.isArray(object.dataContractEntries)) - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: array expected"); - message.dataContractEntries = []; - for (var i = 0; i < object.dataContractEntries.length; ++i) { - if (typeof object.dataContractEntries[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: object expected"); - message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.fromObject(object.dataContractEntries[i]); - } - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0(); + if (object.publicKeyHash != null) + if (typeof object.publicKeyHash === "string") + $util.base64.decode(object.publicKeyHash, message.publicKeyHash = $util.newBuffer($util.base64.length(object.publicKeyHash)), 0); + else if (object.publicKeyHash.length >= 0) + message.publicKeyHash = object.publicKeyHash; + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a DataContracts message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByPublicKeyHashRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message DataContracts + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DataContracts.toObject = function toObject(message, options) { + GetIdentityByPublicKeyHashRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.dataContractEntries = []; - if (message.dataContractEntries && message.dataContractEntries.length) { - object.dataContractEntries = []; - for (var j = 0; j < message.dataContractEntries.length; ++j) - object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(message.dataContractEntries[j], options); + if (options.defaults) { + if (options.bytes === String) + object.publicKeyHash = ""; + else { + object.publicKeyHash = []; + if (options.bytes !== Array) + object.publicKeyHash = $util.newBuffer(object.publicKeyHash); + } + object.prove = false; } + if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) + object.publicKeyHash = options.bytes === String ? $util.base64.encode(message.publicKeyHash, 0, message.publicKeyHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKeyHash) : message.publicKeyHash; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this DataContracts to JSON. + * Converts this GetIdentityByPublicKeyHashRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @instance * @returns {Object.} JSON object */ - DataContracts.prototype.toJSON = function toJSON() { + GetIdentityByPublicKeyHashRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DataContracts; + return GetIdentityByPublicKeyHashRequestV0; })(); - GetDataContractsResponse.GetDataContractsResponseV0 = (function() { + return GetIdentityByPublicKeyHashRequest; + })(); + + v0.GetIdentityByPublicKeyHashResponse = (function() { + + /** + * Properties of a GetIdentityByPublicKeyHashResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentityByPublicKeyHashResponse + * @property {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0|null} [v0] GetIdentityByPublicKeyHashResponse v0 + */ + + /** + * Constructs a new GetIdentityByPublicKeyHashResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentityByPublicKeyHashResponse. + * @implements IGetIdentityByPublicKeyHashResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse=} [properties] Properties to set + */ + function GetIdentityByPublicKeyHashResponse(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]]; + } + + /** + * GetIdentityByPublicKeyHashResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @instance + */ + GetIdentityByPublicKeyHashResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityByPublicKeyHashResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @instance + */ + Object.defineProperty(GetIdentityByPublicKeyHashResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityByPublicKeyHashResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse instance + */ + GetIdentityByPublicKeyHashResponse.create = function create(properties) { + return new GetIdentityByPublicKeyHashResponse(properties); + }; + + /** + * Encodes the specified GetIdentityByPublicKeyHashResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentityByPublicKeyHashResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityByPublicKeyHashResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityByPublicKeyHashResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityByPublicKeyHashResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityByPublicKeyHashResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityByPublicKeyHashResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityByPublicKeyHashResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetIdentityByPublicKeyHashResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse + */ + GetIdentityByPublicKeyHashResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentityByPublicKeyHashResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetIdentityByPublicKeyHashResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @instance + * @returns {Object.} JSON object + */ + GetIdentityByPublicKeyHashResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 = (function() { /** - * Properties of a GetDataContractsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @interface IGetDataContractsResponseV0 - * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null} [dataContracts] GetDataContractsResponseV0 dataContracts - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractsResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractsResponseV0 metadata + * Properties of a GetIdentityByPublicKeyHashResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @interface IGetIdentityByPublicKeyHashResponseV0 + * @property {Uint8Array|null} [identity] GetIdentityByPublicKeyHashResponseV0 identity + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityByPublicKeyHashResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityByPublicKeyHashResponseV0 metadata */ /** - * Constructs a new GetDataContractsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @classdesc Represents a GetDataContractsResponseV0. - * @implements IGetDataContractsResponseV0 + * Constructs a new GetIdentityByPublicKeyHashResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @classdesc Represents a GetIdentityByPublicKeyHashResponseV0. + * @implements IGetIdentityByPublicKeyHashResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0=} [properties] Properties to set */ - function GetDataContractsResponseV0(properties) { + function GetIdentityByPublicKeyHashResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -15495,69 +22624,69 @@ $root.org = (function() { } /** - * GetDataContractsResponseV0 dataContracts. - * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null|undefined} dataContracts - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * GetIdentityByPublicKeyHashResponseV0 identity. + * @member {Uint8Array} identity + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @instance */ - GetDataContractsResponseV0.prototype.dataContracts = null; + GetIdentityByPublicKeyHashResponseV0.prototype.identity = $util.newBuffer([]); /** - * GetDataContractsResponseV0 proof. + * GetIdentityByPublicKeyHashResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @instance */ - GetDataContractsResponseV0.prototype.proof = null; + GetIdentityByPublicKeyHashResponseV0.prototype.proof = null; /** - * GetDataContractsResponseV0 metadata. + * GetIdentityByPublicKeyHashResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @instance */ - GetDataContractsResponseV0.prototype.metadata = null; + GetIdentityByPublicKeyHashResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractsResponseV0 result. - * @member {"dataContracts"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * GetIdentityByPublicKeyHashResponseV0 result. + * @member {"identity"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @instance */ - Object.defineProperty(GetDataContractsResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["dataContracts", "proof"]), + Object.defineProperty(GetIdentityByPublicKeyHashResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractsResponseV0 instance using the specified properties. + * Creates a new GetIdentityByPublicKeyHashResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 instance */ - GetDataContractsResponseV0.create = function create(properties) { - return new GetDataContractsResponseV0(properties); + GetIdentityByPublicKeyHashResponseV0.create = function create(properties) { + return new GetIdentityByPublicKeyHashResponseV0(properties); }; /** - * Encodes the specified GetDataContractsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0} message GetDataContractsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsResponseV0.encode = function encode(message, writer) { + GetIdentityByPublicKeyHashResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContracts != null && Object.hasOwnProperty.call(message, "dataContracts")) - $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.encode(message.dataContracts, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identity); if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) @@ -15566,38 +22695,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetDataContractsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0} message GetDataContractsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByPublicKeyHashResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractsResponseV0 message from the specified reader or buffer. + * Decodes a GetIdentityByPublicKeyHashResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsResponseV0.decode = function decode(reader, length) { + GetIdentityByPublicKeyHashResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.decode(reader, reader.uint32()); + message.identity = reader.bytes(); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -15614,40 +22743,37 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractsResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByPublicKeyHashResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByPublicKeyHashResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractsResponseV0 message. + * Verifies a GetIdentityByPublicKeyHashResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractsResponseV0.verify = function verify(message) { + GetIdentityByPublicKeyHashResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { + if (message.identity != null && message.hasOwnProperty("identity")) { properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify(message.dataContracts); - if (error) - return "dataContracts." + error; - } + if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity))) + return "identity: buffer expected"; } if (message.proof != null && message.hasOwnProperty("proof")) { if (properties.result === 1) @@ -15668,54 +22794,54 @@ $root.org = (function() { }; /** - * Creates a GetDataContractsResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByPublicKeyHashResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 */ - GetDataContractsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0) + GetIdentityByPublicKeyHashResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0(); - if (object.dataContracts != null) { - if (typeof object.dataContracts !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.dataContracts: object expected"); - message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.fromObject(object.dataContracts); - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0(); + if (object.identity != null) + if (typeof object.identity === "string") + $util.base64.decode(object.identity, message.identity = $util.newBuffer($util.base64.length(object.identity)), 0); + else if (object.identity.length >= 0) + message.identity = object.identity; if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.proof: object expected"); message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); } if (object.metadata != null) { if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetDataContractsResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByPublicKeyHashResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message GetDataContractsResponseV0 + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractsResponseV0.toObject = function toObject(message, options) { + GetIdentityByPublicKeyHashResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { - object.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(message.dataContracts, options); + if (message.identity != null && message.hasOwnProperty("identity")) { + object.identity = options.bytes === String ? $util.base64.encode(message.identity, 0, message.identity.length) : options.bytes === Array ? Array.prototype.slice.call(message.identity) : message.identity; if (options.oneofs) - object.result = "dataContracts"; + object.result = "identity"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -15728,40 +22854,40 @@ $root.org = (function() { }; /** - * Converts this GetDataContractsResponseV0 to JSON. + * Converts this GetIdentityByPublicKeyHashResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 * @instance * @returns {Object.} JSON object */ - GetDataContractsResponseV0.prototype.toJSON = function toJSON() { + GetIdentityByPublicKeyHashResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetDataContractsResponseV0; + return GetIdentityByPublicKeyHashResponseV0; })(); - return GetDataContractsResponse; + return GetIdentityByPublicKeyHashResponse; })(); - v0.GetDataContractHistoryRequest = (function() { + v0.WaitForStateTransitionResultRequest = (function() { /** - * Properties of a GetDataContractHistoryRequest. + * Properties of a WaitForStateTransitionResultRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractHistoryRequest - * @property {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0|null} [v0] GetDataContractHistoryRequest v0 + * @interface IWaitForStateTransitionResultRequest + * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null} [v0] WaitForStateTransitionResultRequest v0 */ /** - * Constructs a new GetDataContractHistoryRequest. + * Constructs a new WaitForStateTransitionResultRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractHistoryRequest. - * @implements IGetDataContractHistoryRequest + * @classdesc Represents a WaitForStateTransitionResultRequest. + * @implements IWaitForStateTransitionResultRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set */ - function GetDataContractHistoryRequest(properties) { + function WaitForStateTransitionResultRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -15769,89 +22895,89 @@ $root.org = (function() { } /** - * GetDataContractHistoryRequest v0. - * @member {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * WaitForStateTransitionResultRequest v0. + * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @instance */ - GetDataContractHistoryRequest.prototype.v0 = null; + WaitForStateTransitionResultRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractHistoryRequest version. + * WaitForStateTransitionResultRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @instance */ - Object.defineProperty(GetDataContractHistoryRequest.prototype, "version", { + Object.defineProperty(WaitForStateTransitionResultRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractHistoryRequest instance using the specified properties. + * Creates a new WaitForStateTransitionResultRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest instance + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest instance */ - GetDataContractHistoryRequest.create = function create(properties) { - return new GetDataContractHistoryRequest(properties); + WaitForStateTransitionResultRequest.create = function create(properties) { + return new WaitForStateTransitionResultRequest(properties); }; /** - * Encodes the specified GetDataContractHistoryRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest 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 */ - GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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 GetDataContractHistoryRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest 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 */ - GetDataContractHistoryRequest.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractHistoryRequest 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.GetDataContractHistoryRequest + * @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.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @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 */ - GetDataContractHistoryRequest.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.GetDataContractHistoryRequest(); + 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -15862,37 +22988,37 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractHistoryRequest 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.GetDataContractHistoryRequest + * @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.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @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 */ - GetDataContractHistoryRequest.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 GetDataContractHistoryRequest message. + * Verifies a WaitForStateTransitionResultRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @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 */ - GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -15901,40 +23027,40 @@ $root.org = (function() { }; /** - * Creates a GetDataContractHistoryRequest 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.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest */ - GetDataContractHistoryRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest) + 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.GetDataContractHistoryRequest(); + 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.GetDataContractHistoryRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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 GetDataContractHistoryRequest 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.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message GetDataContractHistoryRequest + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -15942,38 +23068,35 @@ $root.org = (function() { }; /** - * Converts this GetDataContractHistoryRequest to JSON. + * Converts this WaitForStateTransitionResultRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @instance * @returns {Object.} JSON object */ - GetDataContractHistoryRequest.prototype.toJSON = function toJSON() { + WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 = (function() { + WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = (function() { /** - * Properties of a GetDataContractHistoryRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @interface IGetDataContractHistoryRequestV0 - * @property {Uint8Array|null} [id] GetDataContractHistoryRequestV0 id - * @property {google.protobuf.IUInt32Value|null} [limit] GetDataContractHistoryRequestV0 limit - * @property {google.protobuf.IUInt32Value|null} [offset] GetDataContractHistoryRequestV0 offset - * @property {number|Long|null} [startAtMs] GetDataContractHistoryRequestV0 startAtMs - * @property {boolean|null} [prove] GetDataContractHistoryRequestV0 prove + * 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 GetDataContractHistoryRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @classdesc Represents a GetDataContractHistoryRequestV0. - * @implements IGetDataContractHistoryRequestV0 + * Constructs a new WaitForStateTransitionResultRequestV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @classdesc Represents a WaitForStateTransitionResultRequestV0. + * @implements IWaitForStateTransitionResultRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set */ - function GetDataContractHistoryRequestV0(properties) { + function WaitForStateTransitionResultRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -15981,126 +23104,87 @@ $root.org = (function() { } /** - * GetDataContractHistoryRequestV0 id. - * @member {Uint8Array} id - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 - * @instance - */ - GetDataContractHistoryRequestV0.prototype.id = $util.newBuffer([]); - - /** - * GetDataContractHistoryRequestV0 limit. - * @member {google.protobuf.IUInt32Value|null|undefined} limit - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 - * @instance - */ - GetDataContractHistoryRequestV0.prototype.limit = null; - - /** - * GetDataContractHistoryRequestV0 offset. - * @member {google.protobuf.IUInt32Value|null|undefined} offset - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 - * @instance - */ - GetDataContractHistoryRequestV0.prototype.offset = null; - - /** - * GetDataContractHistoryRequestV0 startAtMs. - * @member {number|Long} startAtMs - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * WaitForStateTransitionResultRequestV0 stateTransitionHash. + * @member {Uint8Array} stateTransitionHash + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @instance */ - GetDataContractHistoryRequestV0.prototype.startAtMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + WaitForStateTransitionResultRequestV0.prototype.stateTransitionHash = $util.newBuffer([]); /** - * GetDataContractHistoryRequestV0 prove. + * WaitForStateTransitionResultRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @instance */ - GetDataContractHistoryRequestV0.prototype.prove = false; + WaitForStateTransitionResultRequestV0.prototype.prove = false; /** - * Creates a new GetDataContractHistoryRequestV0 instance using the specified properties. + * Creates a new WaitForStateTransitionResultRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 instance + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 instance */ - GetDataContractHistoryRequestV0.create = function create(properties) { - return new GetDataContractHistoryRequestV0(properties); + WaitForStateTransitionResultRequestV0.create = function create(properties) { + return new WaitForStateTransitionResultRequestV0(properties); }; /** - * Encodes the specified GetDataContractHistoryRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 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 */ - GetDataContractHistoryRequestV0.encode = function encode(message, writer) { + WaitForStateTransitionResultRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - $root.google.protobuf.UInt32Value.encode(message.limit, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) - $root.google.protobuf.UInt32Value.encode(message.offset, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.startAtMs != null && Object.hasOwnProperty.call(message, "startAtMs")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.startAtMs); + if (message.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 5, wireType 0 =*/40).bool(message.prove); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified GetDataContractHistoryRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 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 */ - GetDataContractHistoryRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractHistoryRequestV0 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 + * @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 */ - GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0(); + 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.id = reader.bytes(); + message.stateTransitionHash = reader.bytes(); break; case 2: - message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 3: - message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 4: - message.startAtMs = reader.uint64(); - break; - case 5: message.prove = reader.bool(); break; default: @@ -16112,48 +23196,35 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractHistoryRequestV0 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 + * @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 */ - GetDataContractHistoryRequestV0.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 GetDataContractHistoryRequestV0 message. + * Verifies a WaitForStateTransitionResultRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @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 */ - GetDataContractHistoryRequestV0.verify = function verify(message) { + WaitForStateTransitionResultRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) - return "id: buffer expected"; - if (message.limit != null && message.hasOwnProperty("limit")) { - var error = $root.google.protobuf.UInt32Value.verify(message.limit); - if (error) - return "limit." + error; - } - if (message.offset != null && message.hasOwnProperty("offset")) { - var error = $root.google.protobuf.UInt32Value.verify(message.offset); - if (error) - return "offset." + error; - } - if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) - if (!$util.isInteger(message.startAtMs) && !(message.startAtMs && $util.isInteger(message.startAtMs.low) && $util.isInteger(message.startAtMs.high))) - return "startAtMs: integer|Long expected"; + if (message.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"; @@ -16161,127 +23232,92 @@ $root.org = (function() { }; /** - * Creates a GetDataContractHistoryRequestV0 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 */ - GetDataContractHistoryRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0) + 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0(); - if (object.id != null) - if (typeof object.id === "string") - $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); - else if (object.id.length >= 0) - message.id = object.id; - if (object.limit != null) { - if (typeof object.limit !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.limit: object expected"); - message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); - } - if (object.offset != null) { - if (typeof object.offset !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.offset: object expected"); - message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); - } - if (object.startAtMs != null) - if ($util.Long) - (message.startAtMs = $util.Long.fromValue(object.startAtMs)).unsigned = true; - else if (typeof object.startAtMs === "string") - message.startAtMs = parseInt(object.startAtMs, 10); - else if (typeof object.startAtMs === "number") - message.startAtMs = object.startAtMs; - else if (typeof object.startAtMs === "object") - message.startAtMs = new $util.LongBits(object.startAtMs.low >>> 0, object.startAtMs.high >>> 0).toNumber(true); + 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 GetDataContractHistoryRequestV0 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractHistoryRequestV0.toObject = function toObject(message, options) { + WaitForStateTransitionResultRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.id = ""; + object.stateTransitionHash = ""; else { - object.id = []; + object.stateTransitionHash = []; if (options.bytes !== Array) - object.id = $util.newBuffer(object.id); + object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash); } - object.limit = null; - object.offset = null; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.startAtMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startAtMs = options.longs === String ? "0" : 0; object.prove = false; } - if (message.id != null && message.hasOwnProperty("id")) - object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); - if (message.offset != null && message.hasOwnProperty("offset")) - object.offset = $root.google.protobuf.UInt32Value.toObject(message.offset, options); - if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) - if (typeof message.startAtMs === "number") - object.startAtMs = options.longs === String ? String(message.startAtMs) : message.startAtMs; - else - object.startAtMs = options.longs === String ? $util.Long.prototype.toString.call(message.startAtMs) : options.longs === Number ? new $util.LongBits(message.startAtMs.low >>> 0, message.startAtMs.high >>> 0).toNumber(true) : message.startAtMs; + if (message.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 GetDataContractHistoryRequestV0 to JSON. + * Converts this WaitForStateTransitionResultRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @instance * @returns {Object.} JSON object */ - GetDataContractHistoryRequestV0.prototype.toJSON = function toJSON() { + WaitForStateTransitionResultRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetDataContractHistoryRequestV0; + return WaitForStateTransitionResultRequestV0; })(); - return GetDataContractHistoryRequest; + return WaitForStateTransitionResultRequest; })(); - v0.GetDataContractHistoryResponse = (function() { + v0.WaitForStateTransitionResultResponse = (function() { /** - * Properties of a GetDataContractHistoryResponse. + * Properties of a WaitForStateTransitionResultResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractHistoryResponse - * @property {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0|null} [v0] GetDataContractHistoryResponse v0 + * @interface IWaitForStateTransitionResultResponse + * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null} [v0] WaitForStateTransitionResultResponse v0 */ /** - * Constructs a new GetDataContractHistoryResponse. + * Constructs a new WaitForStateTransitionResultResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractHistoryResponse. - * @implements IGetDataContractHistoryResponse + * @classdesc Represents a WaitForStateTransitionResultResponse. + * @implements IWaitForStateTransitionResultResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set */ - function GetDataContractHistoryResponse(properties) { + function WaitForStateTransitionResultResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -16289,89 +23325,89 @@ $root.org = (function() { } /** - * GetDataContractHistoryResponse v0. - * @member {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * WaitForStateTransitionResultResponse v0. + * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance */ - GetDataContractHistoryResponse.prototype.v0 = null; + WaitForStateTransitionResultResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractHistoryResponse version. + * WaitForStateTransitionResultResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance */ - Object.defineProperty(GetDataContractHistoryResponse.prototype, "version", { + Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractHistoryResponse instance using the specified properties. + * Creates a new WaitForStateTransitionResultResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse instance + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse instance */ - GetDataContractHistoryResponse.create = function create(properties) { - return new GetDataContractHistoryResponse(properties); + WaitForStateTransitionResultResponse.create = function create(properties) { + return new WaitForStateTransitionResultResponse(properties); }; /** - * Encodes the specified GetDataContractHistoryResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse 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 */ - GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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 GetDataContractHistoryResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse 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 */ - GetDataContractHistoryResponse.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractHistoryResponse 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.GetDataContractHistoryResponse + * @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.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @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 */ - GetDataContractHistoryResponse.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.GetDataContractHistoryResponse(); + 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -16382,37 +23418,37 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractHistoryResponse 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.GetDataContractHistoryResponse + * @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.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @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 */ - GetDataContractHistoryResponse.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 GetDataContractHistoryResponse message. + * Verifies a WaitForStateTransitionResultResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @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 */ - GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -16421,40 +23457,40 @@ $root.org = (function() { }; /** - * Creates a GetDataContractHistoryResponse 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.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse */ - GetDataContractHistoryResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse) + 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.GetDataContractHistoryResponse(); + 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.GetDataContractHistoryResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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 GetDataContractHistoryResponse 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.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message GetDataContractHistoryResponse + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -16462,36 +23498,36 @@ $root.org = (function() { }; /** - * Converts this GetDataContractHistoryResponse to JSON. + * Converts this WaitForStateTransitionResultResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance * @returns {Object.} JSON object */ - GetDataContractHistoryResponse.prototype.toJSON = function toJSON() { + WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 = (function() { + WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = (function() { /** - * Properties of a GetDataContractHistoryResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @interface IGetDataContractHistoryResponseV0 - * @property {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory|null} [dataContractHistory] GetDataContractHistoryResponseV0 dataContractHistory - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractHistoryResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractHistoryResponseV0 metadata + * 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 GetDataContractHistoryResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @classdesc Represents a GetDataContractHistoryResponseV0. - * @implements IGetDataContractHistoryResponseV0 + * Constructs a new WaitForStateTransitionResultResponseV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @classdesc Represents a WaitForStateTransitionResultResponseV0. + * @implements IWaitForStateTransitionResultResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set */ - function GetDataContractHistoryResponseV0(properties) { + function WaitForStateTransitionResultResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -16499,69 +23535,69 @@ $root.org = (function() { } /** - * GetDataContractHistoryResponseV0 dataContractHistory. - * @member {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory|null|undefined} dataContractHistory - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * WaitForStateTransitionResultResponseV0 error. + * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance */ - GetDataContractHistoryResponseV0.prototype.dataContractHistory = null; + WaitForStateTransitionResultResponseV0.prototype.error = null; /** - * GetDataContractHistoryResponseV0 proof. + * WaitForStateTransitionResultResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance */ - GetDataContractHistoryResponseV0.prototype.proof = null; + WaitForStateTransitionResultResponseV0.prototype.proof = null; /** - * GetDataContractHistoryResponseV0 metadata. + * WaitForStateTransitionResultResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance */ - GetDataContractHistoryResponseV0.prototype.metadata = null; + WaitForStateTransitionResultResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractHistoryResponseV0 result. - * @member {"dataContractHistory"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * WaitForStateTransitionResultResponseV0 result. + * @member {"error"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance */ - Object.defineProperty(GetDataContractHistoryResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["dataContractHistory", "proof"]), + Object.defineProperty(WaitForStateTransitionResultResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["error", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractHistoryResponseV0 instance using the specified properties. + * Creates a new WaitForStateTransitionResultResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 instance + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 instance */ - GetDataContractHistoryResponseV0.create = function create(properties) { - return new GetDataContractHistoryResponseV0(properties); + WaitForStateTransitionResultResponseV0.create = function create(properties) { + return new WaitForStateTransitionResultResponseV0(properties); }; /** - * Encodes the specified GetDataContractHistoryResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 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 */ - GetDataContractHistoryResponseV0.encode = function encode(message, writer) { + WaitForStateTransitionResultResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContractHistory != null && Object.hasOwnProperty.call(message, "dataContractHistory")) - $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.encode(message.dataContractHistory, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + 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")) @@ -16570,38 +23606,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetDataContractHistoryResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 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 */ - GetDataContractHistoryResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractHistoryResponseV0 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 + * @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 */ - GetDataContractHistoryResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0(); + 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.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.decode(reader, reader.uint32()); + message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -16618,595 +23654,154 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractHistoryResponseV0 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 + * @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 */ - GetDataContractHistoryResponseV0.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 GetDataContractHistoryResponseV0 message. + * Verifies a WaitForStateTransitionResultResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @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 */ - GetDataContractHistoryResponseV0.verify = function verify(message) { + WaitForStateTransitionResultResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { + if (message.error != null && message.hasOwnProperty("error")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify(message.dataContractHistory); + var error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.verify(message.error); if (error) - return "dataContractHistory." + 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 GetDataContractHistoryResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 - */ - GetDataContractHistoryResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0(); - if (object.dataContractHistory != null) { - if (typeof object.dataContractHistory !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.dataContractHistory: object expected"); - message.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.fromObject(object.dataContractHistory); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; - - /** - * Creates a plain object from a GetDataContractHistoryResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetDataContractHistoryResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { - object.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(message.dataContractHistory, options); - if (options.oneofs) - object.result = "dataContractHistory"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; - - /** - * Converts this GetDataContractHistoryResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetDataContractHistoryResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetDataContractHistoryResponseV0.DataContractHistoryEntry = (function() { - - /** - * Properties of a DataContractHistoryEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 - * @interface IDataContractHistoryEntry - * @property {number|Long|null} [date] DataContractHistoryEntry date - * @property {Uint8Array|null} [value] DataContractHistoryEntry value - */ - - /** - * Constructs a new DataContractHistoryEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 - * @classdesc Represents a DataContractHistoryEntry. - * @implements IDataContractHistoryEntry - * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry=} [properties] Properties to set - */ - function DataContractHistoryEntry(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DataContractHistoryEntry date. - * @member {number|Long} date - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @instance - */ - DataContractHistoryEntry.prototype.date = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * DataContractHistoryEntry value. - * @member {Uint8Array} value - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @instance - */ - DataContractHistoryEntry.prototype.value = $util.newBuffer([]); - - /** - * Creates a new DataContractHistoryEntry instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry instance - */ - DataContractHistoryEntry.create = function create(properties) { - return new DataContractHistoryEntry(properties); - }; - - /** - * Encodes the specified DataContractHistoryEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DataContractHistoryEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.date != null && Object.hasOwnProperty.call(message, "date")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.date); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - return writer; - }; - - /** - * Encodes the specified DataContractHistoryEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DataContractHistoryEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DataContractHistoryEntry message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DataContractHistoryEntry.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.date = reader.uint64(); - break; - case 2: - message.value = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DataContractHistoryEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DataContractHistoryEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DataContractHistoryEntry message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DataContractHistoryEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.date != null && message.hasOwnProperty("date")) - if (!$util.isInteger(message.date) && !(message.date && $util.isInteger(message.date.low) && $util.isInteger(message.date.high))) - return "date: integer|Long expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - return null; - }; - - /** - * Creates a DataContractHistoryEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry - */ - DataContractHistoryEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry(); - if (object.date != null) - if ($util.Long) - (message.date = $util.Long.fromValue(object.date)).unsigned = true; - else if (typeof object.date === "string") - message.date = parseInt(object.date, 10); - else if (typeof object.date === "number") - message.date = object.date; - else if (typeof object.date === "object") - message.date = new $util.LongBits(object.date.low >>> 0, object.date.high >>> 0).toNumber(true); - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length >= 0) - message.value = object.value; - return message; - }; - - /** - * Creates a plain object from a DataContractHistoryEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message DataContractHistoryEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DataContractHistoryEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.date = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.date = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - } - if (message.date != null && message.hasOwnProperty("date")) - if (typeof message.date === "number") - object.date = options.longs === String ? String(message.date) : message.date; - else - object.date = options.longs === String ? $util.Long.prototype.toString.call(message.date) : options.longs === Number ? new $util.LongBits(message.date.low >>> 0, message.date.high >>> 0).toNumber(true) : message.date; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - return object; - }; - - /** - * Converts this DataContractHistoryEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry - * @instance - * @returns {Object.} JSON object - */ - DataContractHistoryEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DataContractHistoryEntry; - })(); - - GetDataContractHistoryResponseV0.DataContractHistory = (function() { - - /** - * Properties of a DataContractHistory. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 - * @interface IDataContractHistory - * @property {Array.|null} [dataContractEntries] DataContractHistory dataContractEntries - */ - - /** - * Constructs a new DataContractHistory. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 - * @classdesc Represents a DataContractHistory. - * @implements IDataContractHistory - * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory=} [properties] Properties to set - */ - function DataContractHistory(properties) { - this.dataContractEntries = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DataContractHistory dataContractEntries. - * @member {Array.} dataContractEntries - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @instance - */ - DataContractHistory.prototype.dataContractEntries = $util.emptyArray; - - /** - * Creates a new DataContractHistory instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory instance - */ - DataContractHistory.create = function create(properties) { - return new DataContractHistory(properties); - }; - - /** - * Encodes the specified DataContractHistory message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory} message DataContractHistory message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DataContractHistory.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.dataContractEntries != null && message.dataContractEntries.length) - for (var i = 0; i < message.dataContractEntries.length; ++i) - $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DataContractHistory message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory} message DataContractHistory message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DataContractHistory.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DataContractHistory message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DataContractHistory.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.dataContractEntries && message.dataContractEntries.length)) - message.dataContractEntries = []; - message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DataContractHistory message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DataContractHistory.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DataContractHistory message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DataContractHistory.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { - if (!Array.isArray(message.dataContractEntries)) - return "dataContractEntries: array expected"; - for (var i = 0; i < message.dataContractEntries.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify(message.dataContractEntries[i]); - if (error) - return "dataContractEntries." + error; - } - } - return null; - }; - - /** - * Creates a DataContractHistory message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory - */ - DataContractHistory.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory(); - if (object.dataContractEntries) { - if (!Array.isArray(object.dataContractEntries)) - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.dataContractEntries: array expected"); - message.dataContractEntries = []; - for (var i = 0; i < object.dataContractEntries.length; ++i) { - if (typeof object.dataContractEntries[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.dataContractEntries: object expected"); - message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.fromObject(object.dataContractEntries[i]); - } + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; } - return message; - }; + } + 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 DataContractHistory message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message DataContractHistory - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DataContractHistory.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.dataContractEntries = []; - if (message.dataContractEntries && message.dataContractEntries.length) { - object.dataContractEntries = []; - for (var j = 0; j < message.dataContractEntries.length; ++j) - object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(message.dataContractEntries[j], options); - } + /** + * Creates a WaitForStateTransitionResultResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 + */ + WaitForStateTransitionResultResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0(); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.error: object expected"); + message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.fromObject(object.error); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; - /** - * Converts this DataContractHistory to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory - * @instance - * @returns {Object.} JSON object - */ - DataContractHistory.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a WaitForStateTransitionResultResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitForStateTransitionResultResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.error != null && message.hasOwnProperty("error")) { + object.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(message.error, options); + if (options.oneofs) + object.result = "error"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; - return DataContractHistory; - })(); + /** + * Converts this WaitForStateTransitionResultResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @instance + * @returns {Object.} JSON object + */ + WaitForStateTransitionResultResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GetDataContractHistoryResponseV0; + return WaitForStateTransitionResultResponseV0; })(); - return GetDataContractHistoryResponse; + return WaitForStateTransitionResultResponse; })(); - v0.GetDocumentsRequest = (function() { + v0.GetConsensusParamsRequest = (function() { /** - * Properties of a GetDocumentsRequest. + * Properties of a GetConsensusParamsRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDocumentsRequest - * @property {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0|null} [v0] GetDocumentsRequest v0 + * @interface IGetConsensusParamsRequest + * @property {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null} [v0] GetConsensusParamsRequest v0 */ /** - * Constructs a new GetDocumentsRequest. + * Constructs a new GetConsensusParamsRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDocumentsRequest. - * @implements IGetDocumentsRequest + * @classdesc Represents a GetConsensusParamsRequest. + * @implements IGetConsensusParamsRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set */ - function GetDocumentsRequest(properties) { + function GetConsensusParamsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -17214,89 +23809,89 @@ $root.org = (function() { } /** - * GetDocumentsRequest v0. - * @member {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * GetConsensusParamsRequest v0. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @instance */ - GetDocumentsRequest.prototype.v0 = null; + GetConsensusParamsRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDocumentsRequest version. + * GetConsensusParamsRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @instance */ - Object.defineProperty(GetDocumentsRequest.prototype, "version", { + Object.defineProperty(GetConsensusParamsRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDocumentsRequest instance using the specified properties. + * Creates a new GetConsensusParamsRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest instance + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest instance */ - GetDocumentsRequest.create = function create(properties) { - return new GetDocumentsRequest(properties); + GetConsensusParamsRequest.create = function create(properties) { + return new GetConsensusParamsRequest(properties); }; /** - * Encodes the specified GetDocumentsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. + * Encodes the specified GetConsensusParamsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDocumentsRequest.encode = function encode(message, 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.GetDocumentsRequest.GetDocumentsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDocumentsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. + * Encodes the specified GetConsensusParamsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDocumentsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetConsensusParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDocumentsRequest message from the specified reader or buffer. + * Decodes a GetConsensusParamsRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @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.GetDocumentsRequest} GetDocumentsRequest + * @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 */ - GetDocumentsRequest.decode = function decode(reader, length) { + GetConsensusParamsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest(); + 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.GetDocumentsRequest.GetDocumentsRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -17307,37 +23902,37 @@ $root.org = (function() { }; /** - * Decodes a GetDocumentsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetConsensusParamsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @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.GetDocumentsRequest} GetDocumentsRequest + * @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 */ - GetDocumentsRequest.decodeDelimited = function decodeDelimited(reader) { + GetConsensusParamsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDocumentsRequest message. + * Verifies a GetConsensusParamsRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @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 */ - GetDocumentsRequest.verify = function verify(message) { + 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.GetDocumentsRequest.GetDocumentsRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -17346,40 +23941,40 @@ $root.org = (function() { }; /** - * Creates a GetDocumentsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetConsensusParamsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest */ - GetDocumentsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsRequest) + 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.GetDocumentsRequest(); + 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.GetDocumentsRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetDocumentsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetConsensusParamsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsRequest} message GetDocumentsRequest + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest} message GetConsensusParamsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDocumentsRequest.toObject = function toObject(message, options) { + 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.GetDocumentsRequest.GetDocumentsRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -17387,41 +23982,35 @@ $root.org = (function() { }; /** - * Converts this GetDocumentsRequest to JSON. + * Converts this GetConsensusParamsRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @instance * @returns {Object.} JSON object */ - GetDocumentsRequest.prototype.toJSON = function toJSON() { + GetConsensusParamsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDocumentsRequest.GetDocumentsRequestV0 = (function() { + GetConsensusParamsRequest.GetConsensusParamsRequestV0 = (function() { /** - * Properties of a GetDocumentsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @interface IGetDocumentsRequestV0 - * @property {Uint8Array|null} [dataContractId] GetDocumentsRequestV0 dataContractId - * @property {string|null} [documentType] GetDocumentsRequestV0 documentType - * @property {Uint8Array|null} [where] GetDocumentsRequestV0 where - * @property {Uint8Array|null} [orderBy] GetDocumentsRequestV0 orderBy - * @property {number|null} [limit] GetDocumentsRequestV0 limit - * @property {Uint8Array|null} [startAfter] GetDocumentsRequestV0 startAfter - * @property {Uint8Array|null} [startAt] GetDocumentsRequestV0 startAt - * @property {boolean|null} [prove] GetDocumentsRequestV0 prove + * 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 GetDocumentsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @classdesc Represents a GetDocumentsRequestV0. - * @implements IGetDocumentsRequestV0 + * Constructs a new GetConsensusParamsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @classdesc Represents a GetConsensusParamsRequestV0. + * @implements IGetConsensusParamsRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set */ - function GetDocumentsRequestV0(properties) { + function GetConsensusParamsRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -17429,179 +24018,87 @@ $root.org = (function() { } /** - * GetDocumentsRequestV0 dataContractId. - * @member {Uint8Array} dataContractId - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @instance - */ - GetDocumentsRequestV0.prototype.dataContractId = $util.newBuffer([]); - - /** - * GetDocumentsRequestV0 documentType. - * @member {string} documentType - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @instance - */ - GetDocumentsRequestV0.prototype.documentType = ""; - - /** - * GetDocumentsRequestV0 where. - * @member {Uint8Array} where - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @instance - */ - GetDocumentsRequestV0.prototype.where = $util.newBuffer([]); - - /** - * GetDocumentsRequestV0 orderBy. - * @member {Uint8Array} orderBy - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @instance - */ - GetDocumentsRequestV0.prototype.orderBy = $util.newBuffer([]); - - /** - * GetDocumentsRequestV0 limit. - * @member {number} limit - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @instance - */ - GetDocumentsRequestV0.prototype.limit = 0; - - /** - * GetDocumentsRequestV0 startAfter. - * @member {Uint8Array} startAfter - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @instance - */ - GetDocumentsRequestV0.prototype.startAfter = $util.newBuffer([]); - - /** - * GetDocumentsRequestV0 startAt. - * @member {Uint8Array} startAt - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * GetConsensusParamsRequestV0 height. + * @member {number} height + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @instance */ - GetDocumentsRequestV0.prototype.startAt = $util.newBuffer([]); + GetConsensusParamsRequestV0.prototype.height = 0; /** - * GetDocumentsRequestV0 prove. + * GetConsensusParamsRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @instance - */ - GetDocumentsRequestV0.prototype.prove = false; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetDocumentsRequestV0 start. - * @member {"startAfter"|"startAt"|undefined} start - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @instance */ - Object.defineProperty(GetDocumentsRequestV0.prototype, "start", { - get: $util.oneOfGetter($oneOfFields = ["startAfter", "startAt"]), - set: $util.oneOfSetter($oneOfFields) - }); + GetConsensusParamsRequestV0.prototype.prove = false; /** - * Creates a new GetDocumentsRequestV0 instance using the specified properties. + * Creates a new GetConsensusParamsRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 instance */ - GetDocumentsRequestV0.create = function create(properties) { - return new GetDocumentsRequestV0(properties); + GetConsensusParamsRequestV0.create = function create(properties) { + return new GetConsensusParamsRequestV0(properties); }; /** - * Encodes the specified GetDocumentsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.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.GetDocumentsRequest.GetDocumentsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0} message GetDocumentsRequestV0 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 */ - GetDocumentsRequestV0.encode = function encode(message, writer) { + GetConsensusParamsRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContractId != null && Object.hasOwnProperty.call(message, "dataContractId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContractId); - if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); - if (message.where != null && Object.hasOwnProperty.call(message, "where")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.where); - if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.orderBy); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.limit); - if (message.startAfter != null && Object.hasOwnProperty.call(message, "startAfter")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.startAfter); - if (message.startAt != null && Object.hasOwnProperty.call(message, "startAt")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.startAt); + if (message.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 8, wireType 0 =*/64).bool(message.prove); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified GetDocumentsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.verify|verify} messages. + * 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.GetDocumentsRequest.GetDocumentsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0} message GetDocumentsRequestV0 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 */ - GetDocumentsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetConsensusParamsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDocumentsRequestV0 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.GetDocumentsRequest.GetDocumentsRequestV0 + * @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.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + * @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 */ - GetDocumentsRequestV0.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.GetDocumentsRequest.GetDocumentsRequestV0(); + 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.dataContractId = reader.bytes(); + message.height = reader.int32(); break; case 2: - message.documentType = reader.string(); - break; - case 3: - message.where = reader.bytes(); - break; - case 4: - message.orderBy = reader.bytes(); - break; - case 5: - message.limit = reader.uint32(); - break; - case 6: - message.startAfter = reader.bytes(); - break; - case 7: - message.startAt = reader.bytes(); - break; - case 8: message.prove = reader.bool(); break; default: @@ -17613,211 +24110,119 @@ $root.org = (function() { }; /** - * Decodes a GetDocumentsRequestV0 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.GetDocumentsRequest.GetDocumentsRequestV0 + * @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.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + * @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 */ - GetDocumentsRequestV0.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 GetDocumentsRequestV0 message. + * Verifies a GetConsensusParamsRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @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 */ - GetDocumentsRequestV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) - if (!(message.dataContractId && typeof message.dataContractId.length === "number" || $util.isString(message.dataContractId))) - return "dataContractId: buffer expected"; - if (message.documentType != null && message.hasOwnProperty("documentType")) - if (!$util.isString(message.documentType)) - return "documentType: string expected"; - if (message.where != null && message.hasOwnProperty("where")) - if (!(message.where && typeof message.where.length === "number" || $util.isString(message.where))) - return "where: buffer expected"; - if (message.orderBy != null && message.hasOwnProperty("orderBy")) - if (!(message.orderBy && typeof message.orderBy.length === "number" || $util.isString(message.orderBy))) - return "orderBy: buffer expected"; - if (message.limit != null && message.hasOwnProperty("limit")) - if (!$util.isInteger(message.limit)) - return "limit: integer expected"; - if (message.startAfter != null && message.hasOwnProperty("startAfter")) { - properties.start = 1; - if (!(message.startAfter && typeof message.startAfter.length === "number" || $util.isString(message.startAfter))) - return "startAfter: buffer expected"; - } - if (message.startAt != null && message.hasOwnProperty("startAt")) { - if (properties.start === 1) - return "start: multiple values"; - properties.start = 1; - if (!(message.startAt && typeof message.startAt.length === "number" || $util.isString(message.startAt))) - return "startAt: buffer expected"; - } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; - - /** - * Creates a GetDocumentsRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 - */ - GetDocumentsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0(); - if (object.dataContractId != null) - if (typeof object.dataContractId === "string") - $util.base64.decode(object.dataContractId, message.dataContractId = $util.newBuffer($util.base64.length(object.dataContractId)), 0); - else if (object.dataContractId.length >= 0) - message.dataContractId = object.dataContractId; - if (object.documentType != null) - message.documentType = String(object.documentType); - if (object.where != null) - if (typeof object.where === "string") - $util.base64.decode(object.where, message.where = $util.newBuffer($util.base64.length(object.where)), 0); - else if (object.where.length >= 0) - message.where = object.where; - if (object.orderBy != null) - if (typeof object.orderBy === "string") - $util.base64.decode(object.orderBy, message.orderBy = $util.newBuffer($util.base64.length(object.orderBy)), 0); - else if (object.orderBy.length >= 0) - message.orderBy = object.orderBy; - if (object.limit != null) - message.limit = object.limit >>> 0; - if (object.startAfter != null) - if (typeof object.startAfter === "string") - $util.base64.decode(object.startAfter, message.startAfter = $util.newBuffer($util.base64.length(object.startAfter)), 0); - else if (object.startAfter.length >= 0) - message.startAfter = object.startAfter; - if (object.startAt != null) - if (typeof object.startAt === "string") - $util.base64.decode(object.startAt, message.startAt = $util.newBuffer($util.base64.length(object.startAt)), 0); - else if (object.startAt.length >= 0) - message.startAt = object.startAt; + GetConsensusParamsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetConsensusParamsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + */ + GetConsensusParamsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0(); + if (object.height != null) + message.height = object.height | 0; if (object.prove != null) message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetDocumentsRequestV0 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.GetDocumentsRequest.GetDocumentsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message GetDocumentsRequestV0 + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDocumentsRequestV0.toObject = function toObject(message, options) { + GetConsensusParamsRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - if (options.bytes === String) - object.dataContractId = ""; - else { - object.dataContractId = []; - if (options.bytes !== Array) - object.dataContractId = $util.newBuffer(object.dataContractId); - } - object.documentType = ""; - if (options.bytes === String) - object.where = ""; - else { - object.where = []; - if (options.bytes !== Array) - object.where = $util.newBuffer(object.where); - } - if (options.bytes === String) - object.orderBy = ""; - else { - object.orderBy = []; - if (options.bytes !== Array) - object.orderBy = $util.newBuffer(object.orderBy); - } - object.limit = 0; + object.height = 0; object.prove = false; } - if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) - object.dataContractId = options.bytes === String ? $util.base64.encode(message.dataContractId, 0, message.dataContractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContractId) : message.dataContractId; - if (message.documentType != null && message.hasOwnProperty("documentType")) - object.documentType = message.documentType; - if (message.where != null && message.hasOwnProperty("where")) - object.where = options.bytes === String ? $util.base64.encode(message.where, 0, message.where.length) : options.bytes === Array ? Array.prototype.slice.call(message.where) : message.where; - if (message.orderBy != null && message.hasOwnProperty("orderBy")) - object.orderBy = options.bytes === String ? $util.base64.encode(message.orderBy, 0, message.orderBy.length) : options.bytes === Array ? Array.prototype.slice.call(message.orderBy) : message.orderBy; - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = message.limit; - if (message.startAfter != null && message.hasOwnProperty("startAfter")) { - object.startAfter = options.bytes === String ? $util.base64.encode(message.startAfter, 0, message.startAfter.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAfter) : message.startAfter; - if (options.oneofs) - object.start = "startAfter"; - } - if (message.startAt != null && message.hasOwnProperty("startAt")) { - object.startAt = options.bytes === String ? $util.base64.encode(message.startAt, 0, message.startAt.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAt) : message.startAt; - if (options.oneofs) - object.start = "startAt"; - } + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this GetDocumentsRequestV0 to JSON. + * Converts this GetConsensusParamsRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @instance * @returns {Object.} JSON object */ - GetDocumentsRequestV0.prototype.toJSON = function toJSON() { + GetConsensusParamsRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetDocumentsRequestV0; + return GetConsensusParamsRequestV0; })(); - return GetDocumentsRequest; + return GetConsensusParamsRequest; })(); - v0.GetDocumentsResponse = (function() { + v0.GetConsensusParamsResponse = (function() { /** - * Properties of a GetDocumentsResponse. + * Properties of a GetConsensusParamsResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDocumentsResponse - * @property {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0|null} [v0] GetDocumentsResponse v0 + * @interface IGetConsensusParamsResponse + * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null} [v0] GetConsensusParamsResponse v0 */ /** - * Constructs a new GetDocumentsResponse. + * Constructs a new GetConsensusParamsResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDocumentsResponse. - * @implements IGetDocumentsResponse + * @classdesc Represents a GetConsensusParamsResponse. + * @implements IGetConsensusParamsResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set */ - function GetDocumentsResponse(properties) { + function GetConsensusParamsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -17825,89 +24230,89 @@ $root.org = (function() { } /** - * GetDocumentsResponse v0. - * @member {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * GetConsensusParamsResponse v0. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance */ - GetDocumentsResponse.prototype.v0 = null; + GetConsensusParamsResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDocumentsResponse version. + * GetConsensusParamsResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance */ - Object.defineProperty(GetDocumentsResponse.prototype, "version", { + Object.defineProperty(GetConsensusParamsResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDocumentsResponse instance using the specified properties. + * Creates a new GetConsensusParamsResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse instance + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse instance */ - GetDocumentsResponse.create = function create(properties) { - return new GetDocumentsResponse(properties); + GetConsensusParamsResponse.create = function create(properties) { + return new GetConsensusParamsResponse(properties); }; /** - * Encodes the specified GetDocumentsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.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.GetDocumentsResponse + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse 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 */ - GetDocumentsResponse.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.GetDocumentsResponse.GetDocumentsResponseV0.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 GetDocumentsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.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.GetDocumentsResponse + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse 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 */ - GetDocumentsResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDocumentsResponse 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.GetDocumentsResponse + * @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.GetDocumentsResponse} GetDocumentsResponse + * @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 */ - GetDocumentsResponse.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.GetDocumentsResponse(); + 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.GetDocumentsResponse.GetDocumentsResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -17918,37 +24323,37 @@ $root.org = (function() { }; /** - * Decodes a GetDocumentsResponse 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.GetDocumentsResponse + * @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.GetDocumentsResponse} GetDocumentsResponse + * @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 */ - GetDocumentsResponse.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 GetDocumentsResponse message. + * Verifies a GetConsensusParamsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @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 */ - GetDocumentsResponse.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.GetDocumentsResponse.GetDocumentsResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -17957,40 +24362,40 @@ $root.org = (function() { }; /** - * Creates a GetDocumentsResponse 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.GetDocumentsResponse + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse */ - GetDocumentsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse) + 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.GetDocumentsResponse(); + 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.GetDocumentsResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.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 GetDocumentsResponse 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.GetDocumentsResponse + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse} message GetDocumentsResponse + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDocumentsResponse.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.GetDocumentsResponse.GetDocumentsResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -17998,36 +24403,36 @@ $root.org = (function() { }; /** - * Converts this GetDocumentsResponse to JSON. + * Converts this GetConsensusParamsResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance * @returns {Object.} JSON object */ - GetDocumentsResponse.prototype.toJSON = function toJSON() { + GetConsensusParamsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDocumentsResponse.GetDocumentsResponseV0 = (function() { + GetConsensusParamsResponse.ConsensusParamsBlock = (function() { /** - * Properties of a GetDocumentsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @interface IGetDocumentsResponseV0 - * @property {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments|null} [documents] GetDocumentsResponseV0 documents - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDocumentsResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDocumentsResponseV0 metadata + * 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 GetDocumentsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @classdesc Represents a GetDocumentsResponseV0. - * @implements IGetDocumentsResponseV0 + * Constructs a new ConsensusParamsBlock. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @classdesc Represents a ConsensusParamsBlock. + * @implements IConsensusParamsBlock * @constructor - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set */ - function GetDocumentsResponseV0(properties) { + function ConsensusParamsBlock(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -18035,115 +24440,333 @@ $root.org = (function() { } /** - * GetDocumentsResponseV0 documents. - * @member {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments|null|undefined} documents - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * ConsensusParamsBlock maxBytes. + * @member {string} maxBytes + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @instance */ - GetDocumentsResponseV0.prototype.documents = null; + ConsensusParamsBlock.prototype.maxBytes = ""; /** - * GetDocumentsResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * ConsensusParamsBlock maxGas. + * @member {string} maxGas + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @instance */ - GetDocumentsResponseV0.prototype.proof = null; + ConsensusParamsBlock.prototype.maxGas = ""; /** - * GetDocumentsResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * ConsensusParamsBlock timeIotaMs. + * @member {string} timeIotaMs + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @instance */ - GetDocumentsResponseV0.prototype.metadata = null; + ConsensusParamsBlock.prototype.timeIotaMs = ""; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Creates a new ConsensusParamsBlock instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock instance + */ + ConsensusParamsBlock.create = function create(properties) { + return new ConsensusParamsBlock(properties); + }; /** - * GetDocumentsResponseV0 result. - * @member {"documents"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * Encodes the specified ConsensusParamsBlock message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsBlock.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.maxBytes); + if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxGas); + if (message.timeIotaMs != null && Object.hasOwnProperty.call(message, "timeIotaMs")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.timeIotaMs); + return writer; + }; + + /** + * Encodes the specified ConsensusParamsBlock message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConsensusParamsBlock message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsBlock.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxBytes = reader.string(); + break; + case 2: + message.maxGas = reader.string(); + break; + case 3: + message.timeIotaMs = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConsensusParamsBlock message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsensusParamsBlock.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (!$util.isString(message.maxBytes)) + return "maxBytes: string expected"; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + if (!$util.isString(message.maxGas)) + return "maxGas: string expected"; + if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) + if (!$util.isString(message.timeIotaMs)) + return "timeIotaMs: string expected"; + return null; + }; + + /** + * Creates a ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + */ + ConsensusParamsBlock.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock(); + if (object.maxBytes != null) + message.maxBytes = String(object.maxBytes); + if (object.maxGas != null) + message.maxGas = String(object.maxGas); + if (object.timeIotaMs != null) + message.timeIotaMs = String(object.timeIotaMs); + return message; + }; + + /** + * Creates a plain object from a ConsensusParamsBlock message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message ConsensusParamsBlock + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsensusParamsBlock.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.maxBytes = ""; + object.maxGas = ""; + object.timeIotaMs = ""; + } + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + object.maxBytes = message.maxBytes; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + object.maxGas = message.maxGas; + if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) + object.timeIotaMs = message.timeIotaMs; + return object; + }; + + /** + * Converts this ConsensusParamsBlock to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @instance + * @returns {Object.} JSON object */ - Object.defineProperty(GetDocumentsResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["documents", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + ConsensusParamsBlock.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ConsensusParamsBlock; + })(); + + GetConsensusParamsResponse.ConsensusParamsEvidence = (function() { /** - * Creates a new GetDocumentsResponseV0 instance using the specified properties. + * Properties of a ConsensusParamsEvidence. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @interface IConsensusParamsEvidence + * @property {string|null} [maxAgeNumBlocks] ConsensusParamsEvidence maxAgeNumBlocks + * @property {string|null} [maxAgeDuration] ConsensusParamsEvidence maxAgeDuration + * @property {string|null} [maxBytes] ConsensusParamsEvidence maxBytes + */ + + /** + * Constructs a new ConsensusParamsEvidence. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @classdesc Represents a ConsensusParamsEvidence. + * @implements IConsensusParamsEvidence + * @constructor + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set + */ + function ConsensusParamsEvidence(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConsensusParamsEvidence maxAgeNumBlocks. + * @member {string} maxAgeNumBlocks + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @instance + */ + ConsensusParamsEvidence.prototype.maxAgeNumBlocks = ""; + + /** + * ConsensusParamsEvidence maxAgeDuration. + * @member {string} maxAgeDuration + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @instance + */ + ConsensusParamsEvidence.prototype.maxAgeDuration = ""; + + /** + * ConsensusParamsEvidence maxBytes. + * @member {string} maxBytes + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @instance + */ + ConsensusParamsEvidence.prototype.maxBytes = ""; + + /** + * Creates a new ConsensusParamsEvidence instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence instance */ - GetDocumentsResponseV0.create = function create(properties) { - return new GetDocumentsResponseV0(properties); + ConsensusParamsEvidence.create = function create(properties) { + return new ConsensusParamsEvidence(properties); }; /** - * Encodes the specified GetDocumentsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0} message GetDocumentsResponseV0 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 */ - GetDocumentsResponseV0.encode = function encode(message, writer) { + ConsensusParamsEvidence.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.documents != null && Object.hasOwnProperty.call(message, "documents")) - $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.encode(message.documents, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + 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 GetDocumentsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0} message GetDocumentsResponseV0 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 */ - GetDocumentsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + ConsensusParamsEvidence.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDocumentsResponseV0 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.GetDocumentsResponse.GetDocumentsResponseV0 + * @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.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 + * @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 */ - GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0(); + 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.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.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); @@ -18154,360 +24777,347 @@ $root.org = (function() { }; /** - * Decodes a GetDocumentsResponseV0 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.GetDocumentsResponse.GetDocumentsResponseV0 + * @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.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 + * @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 */ - GetDocumentsResponseV0.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 GetDocumentsResponseV0 message. + * Verifies a ConsensusParamsEvidence message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @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 */ - GetDocumentsResponseV0.verify = function verify(message) { + ConsensusParamsEvidence.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.documents != null && message.hasOwnProperty("documents")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify(message.documents); - if (error) - return "documents." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } + 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 GetDocumentsResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a ConsensusParamsEvidence message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence */ - GetDocumentsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0) + 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.GetDocumentsResponse.GetDocumentsResponseV0(); - if (object.documents != null) { - if (typeof object.documents !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.documents: object expected"); - message.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.fromObject(object.documents); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } + 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 GetDocumentsResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a ConsensusParamsEvidence message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message GetDocumentsResponseV0 + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message ConsensusParamsEvidence * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDocumentsResponseV0.toObject = function toObject(message, options) { + ConsensusParamsEvidence.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.documents != null && message.hasOwnProperty("documents")) { - object.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(message.documents, options); - if (options.oneofs) - object.result = "documents"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; + if (options.defaults) { + object.maxAgeNumBlocks = ""; + object.maxAgeDuration = ""; + object.maxBytes = ""; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + 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 GetDocumentsResponseV0 to JSON. + * Converts this ConsensusParamsEvidence to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @instance * @returns {Object.} JSON object */ - GetDocumentsResponseV0.prototype.toJSON = function toJSON() { + ConsensusParamsEvidence.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDocumentsResponseV0.Documents = (function() { + return ConsensusParamsEvidence; + })(); - /** - * Properties of a Documents. - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 - * @interface IDocuments - * @property {Array.|null} [documents] Documents documents - */ + GetConsensusParamsResponse.GetConsensusParamsResponseV0 = (function() { - /** - * Constructs a new Documents. - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 - * @classdesc Represents a Documents. - * @implements IDocuments - * @constructor - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments=} [properties] Properties to set - */ - function Documents(properties) { - this.documents = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * 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 + */ - /** - * Documents documents. - * @member {Array.} documents - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @instance - */ - Documents.prototype.documents = $util.emptyArray; + /** + * 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]]; + } - /** - * Creates a new Documents instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents instance - */ - Documents.create = function create(properties) { - return new Documents(properties); - }; + /** + * 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; - /** - * Encodes the specified Documents message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments} message Documents message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Documents.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.documents != null && message.documents.length) - for (var i = 0; i < message.documents.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.documents[i]); - return writer; - }; + /** + * 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; - /** - * Encodes the specified Documents message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments} message Documents message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Documents.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * 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); + }; - /** - * Decodes a Documents message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Documents.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.documents && message.documents.length)) - message.documents = []; - message.documents.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * 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; + }; - /** - * Decodes a Documents message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Documents.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * 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(); + }; - /** - * Verifies a Documents message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Documents.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.documents != null && message.hasOwnProperty("documents")) { - if (!Array.isArray(message.documents)) - return "documents: array expected"; - for (var i = 0; i < message.documents.length; ++i) - if (!(message.documents[i] && typeof message.documents[i].length === "number" || $util.isString(message.documents[i]))) - return "documents: buffer[] expected"; + /** + * Decodes a GetConsensusParamsResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsensusParamsResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.decode(reader, reader.uint32()); + break; + case 2: + message.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; } - return null; - }; + } + return message; + }; - /** - * Creates a Documents message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents - */ - Documents.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents(); - if (object.documents) { - if (!Array.isArray(object.documents)) - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.documents: array expected"); - message.documents = []; - for (var i = 0; i < object.documents.length; ++i) - if (typeof object.documents[i] === "string") - $util.base64.decode(object.documents[i], message.documents[i] = $util.newBuffer($util.base64.length(object.documents[i])), 0); - else if (object.documents[i].length >= 0) - message.documents[i] = object.documents[i]; - } - return message; - }; + /** + * 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()); + }; - /** - * Creates a plain object from a Documents message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message Documents - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Documents.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.documents = []; - if (message.documents && message.documents.length) { - object.documents = []; - for (var j = 0; j < message.documents.length; ++j) - object.documents[j] = options.bytes === String ? $util.base64.encode(message.documents[j], 0, message.documents[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.documents[j]) : message.documents[j]; - } - return object; - }; + /** + * Verifies a GetConsensusParamsResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetConsensusParamsResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.block != null && message.hasOwnProperty("block")) { + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify(message.block); + if (error) + return "block." + error; + } + if (message.evidence != null && message.hasOwnProperty("evidence")) { + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.verify(message.evidence); + if (error) + return "evidence." + error; + } + return null; + }; - /** - * Converts this Documents to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents - * @instance - * @returns {Object.} JSON object - */ - Documents.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a GetConsensusParamsResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + */ + GetConsensusParamsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0(); + if (object.block != null) { + if (typeof object.block !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.block: object expected"); + message.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.fromObject(object.block); + } + if (object.evidence != null) { + if (typeof object.evidence !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.evidence: object expected"); + message.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.fromObject(object.evidence); + } + return message; + }; - return Documents; - })(); + /** + * Creates a plain object from a GetConsensusParamsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetConsensusParamsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.block = null; + object.evidence = null; + } + if (message.block != null && message.hasOwnProperty("block")) + object.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(message.block, options); + if (message.evidence != null && message.hasOwnProperty("evidence")) + object.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(message.evidence, options); + return object; + }; - return GetDocumentsResponseV0; + /** + * Converts this GetConsensusParamsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetConsensusParamsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetConsensusParamsResponseV0; })(); - return GetDocumentsResponse; + return GetConsensusParamsResponse; })(); - v0.GetIdentityByPublicKeyHashRequest = (function() { + v0.GetProtocolVersionUpgradeStateRequest = (function() { /** - * Properties of a GetIdentityByPublicKeyHashRequest. + * Properties of a GetProtocolVersionUpgradeStateRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityByPublicKeyHashRequest - * @property {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0|null} [v0] GetIdentityByPublicKeyHashRequest v0 + * @interface IGetProtocolVersionUpgradeStateRequest + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null} [v0] GetProtocolVersionUpgradeStateRequest v0 */ /** - * Constructs a new GetIdentityByPublicKeyHashRequest. + * Constructs a new GetProtocolVersionUpgradeStateRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityByPublicKeyHashRequest. - * @implements IGetIdentityByPublicKeyHashRequest + * @classdesc Represents a GetProtocolVersionUpgradeStateRequest. + * @implements IGetProtocolVersionUpgradeStateRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set */ - function GetIdentityByPublicKeyHashRequest(properties) { + function GetProtocolVersionUpgradeStateRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -18515,89 +25125,89 @@ $root.org = (function() { } /** - * GetIdentityByPublicKeyHashRequest v0. - * @member {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * GetProtocolVersionUpgradeStateRequest v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @instance */ - GetIdentityByPublicKeyHashRequest.prototype.v0 = null; + GetProtocolVersionUpgradeStateRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityByPublicKeyHashRequest version. + * GetProtocolVersionUpgradeStateRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @instance */ - Object.defineProperty(GetIdentityByPublicKeyHashRequest.prototype, "version", { + Object.defineProperty(GetProtocolVersionUpgradeStateRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityByPublicKeyHashRequest instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeStateRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest instance + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest instance */ - GetIdentityByPublicKeyHashRequest.create = function create(properties) { - return new GetIdentityByPublicKeyHashRequest(properties); + GetProtocolVersionUpgradeStateRequest.create = function create(properties) { + return new GetProtocolVersionUpgradeStateRequest(properties); }; /** - * Encodes the specified GetIdentityByPublicKeyHashRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest 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 */ - GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.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 GetIdentityByPublicKeyHashRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest 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 */ - GetIdentityByPublicKeyHashRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityByPublicKeyHashRequest 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.GetIdentityByPublicKeyHashRequest + * @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.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest + * @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 */ - GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest(); + 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -18608,37 +25218,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityByPublicKeyHashRequest 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.GetIdentityByPublicKeyHashRequest + * @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.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest + * @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 */ - GetIdentityByPublicKeyHashRequest.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 GetIdentityByPublicKeyHashRequest message. + * Verifies a GetProtocolVersionUpgradeStateRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @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 */ - GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -18647,40 +25257,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentityByPublicKeyHashRequest 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.GetIdentityByPublicKeyHashRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest */ - GetIdentityByPublicKeyHashRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest) + 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.GetIdentityByPublicKeyHashRequest(); + 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.GetIdentityByPublicKeyHashRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.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 GetIdentityByPublicKeyHashRequest 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.GetIdentityByPublicKeyHashRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -18688,35 +25298,34 @@ $root.org = (function() { }; /** - * Converts this GetIdentityByPublicKeyHashRequest to JSON. + * Converts this GetProtocolVersionUpgradeStateRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @instance * @returns {Object.} JSON object */ - GetIdentityByPublicKeyHashRequest.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeStateRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 = (function() { + GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 = (function() { /** - * Properties of a GetIdentityByPublicKeyHashRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest - * @interface IGetIdentityByPublicKeyHashRequestV0 - * @property {Uint8Array|null} [publicKeyHash] GetIdentityByPublicKeyHashRequestV0 publicKeyHash - * @property {boolean|null} [prove] GetIdentityByPublicKeyHashRequestV0 prove + * Properties of a GetProtocolVersionUpgradeStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @interface IGetProtocolVersionUpgradeStateRequestV0 + * @property {boolean|null} [prove] GetProtocolVersionUpgradeStateRequestV0 prove */ /** - * Constructs a new GetIdentityByPublicKeyHashRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest - * @classdesc Represents a GetIdentityByPublicKeyHashRequestV0. - * @implements IGetIdentityByPublicKeyHashRequestV0 + * Constructs a new GetProtocolVersionUpgradeStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @classdesc Represents a GetProtocolVersionUpgradeStateRequestV0. + * @implements IGetProtocolVersionUpgradeStateRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set */ - function GetIdentityByPublicKeyHashRequestV0(properties) { + function GetProtocolVersionUpgradeStateRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -18724,87 +25333,74 @@ $root.org = (function() { } /** - * GetIdentityByPublicKeyHashRequestV0 publicKeyHash. - * @member {Uint8Array} publicKeyHash - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 - * @instance - */ - GetIdentityByPublicKeyHashRequestV0.prototype.publicKeyHash = $util.newBuffer([]); - - /** - * GetIdentityByPublicKeyHashRequestV0 prove. + * GetProtocolVersionUpgradeStateRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @instance */ - GetIdentityByPublicKeyHashRequestV0.prototype.prove = false; + GetProtocolVersionUpgradeStateRequestV0.prototype.prove = false; /** - * Creates a new GetIdentityByPublicKeyHashRequestV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeStateRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 instance */ - GetIdentityByPublicKeyHashRequestV0.create = function create(properties) { - return new GetIdentityByPublicKeyHashRequestV0(properties); + GetProtocolVersionUpgradeStateRequestV0.create = function create(properties) { + return new GetProtocolVersionUpgradeStateRequestV0(properties); }; /** - * Encodes the specified GetIdentityByPublicKeyHashRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 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 */ - GetIdentityByPublicKeyHashRequestV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeStateRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.publicKeyHash != null && Object.hasOwnProperty.call(message, "publicKeyHash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHash); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove); return writer; }; /** - * Encodes the specified GetIdentityByPublicKeyHashRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 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 */ - GetIdentityByPublicKeyHashRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityByPublicKeyHashRequestV0 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 + * @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 */ - GetIdentityByPublicKeyHashRequestV0.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0(); + 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.publicKeyHash = reader.bytes(); - break; - case 2: message.prove = reader.bool(); break; default: @@ -18816,35 +25412,32 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityByPublicKeyHashRequestV0 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 + * @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 */ - GetIdentityByPublicKeyHashRequestV0.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 GetIdentityByPublicKeyHashRequestV0 message. + * Verifies a GetProtocolVersionUpgradeStateRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @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 */ - GetIdentityByPublicKeyHashRequestV0.verify = function verify(message) { + GetProtocolVersionUpgradeStateRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) - if (!(message.publicKeyHash && typeof message.publicKeyHash.length === "number" || $util.isString(message.publicKeyHash))) - return "publicKeyHash: buffer expected"; if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -18852,92 +25445,77 @@ $root.org = (function() { }; /** - * Creates a GetIdentityByPublicKeyHashRequestV0 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 */ - GetIdentityByPublicKeyHashRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0) + 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0(); - if (object.publicKeyHash != null) - if (typeof object.publicKeyHash === "string") - $util.base64.decode(object.publicKeyHash, message.publicKeyHash = $util.newBuffer($util.base64.length(object.publicKeyHash)), 0); - else if (object.publicKeyHash.length >= 0) - message.publicKeyHash = object.publicKeyHash; + 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 GetIdentityByPublicKeyHashRequestV0 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityByPublicKeyHashRequestV0.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeStateRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.publicKeyHash = ""; - else { - object.publicKeyHash = []; - if (options.bytes !== Array) - object.publicKeyHash = $util.newBuffer(object.publicKeyHash); - } + if (options.defaults) object.prove = false; - } - if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) - object.publicKeyHash = options.bytes === String ? $util.base64.encode(message.publicKeyHash, 0, message.publicKeyHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKeyHash) : message.publicKeyHash; if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this GetIdentityByPublicKeyHashRequestV0 to JSON. + * Converts this GetProtocolVersionUpgradeStateRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @instance * @returns {Object.} JSON object */ - GetIdentityByPublicKeyHashRequestV0.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeStateRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentityByPublicKeyHashRequestV0; + return GetProtocolVersionUpgradeStateRequestV0; })(); - return GetIdentityByPublicKeyHashRequest; + return GetProtocolVersionUpgradeStateRequest; })(); - v0.GetIdentityByPublicKeyHashResponse = (function() { + v0.GetProtocolVersionUpgradeStateResponse = (function() { /** - * Properties of a GetIdentityByPublicKeyHashResponse. + * Properties of a GetProtocolVersionUpgradeStateResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityByPublicKeyHashResponse - * @property {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0|null} [v0] GetIdentityByPublicKeyHashResponse v0 + * @interface IGetProtocolVersionUpgradeStateResponse + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null} [v0] GetProtocolVersionUpgradeStateResponse v0 */ /** - * Constructs a new GetIdentityByPublicKeyHashResponse. + * Constructs a new GetProtocolVersionUpgradeStateResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityByPublicKeyHashResponse. - * @implements IGetIdentityByPublicKeyHashResponse + * @classdesc Represents a GetProtocolVersionUpgradeStateResponse. + * @implements IGetProtocolVersionUpgradeStateResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set */ - function GetIdentityByPublicKeyHashResponse(properties) { + function GetProtocolVersionUpgradeStateResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -18945,89 +25523,89 @@ $root.org = (function() { } /** - * GetIdentityByPublicKeyHashResponse v0. - * @member {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * GetProtocolVersionUpgradeStateResponse v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @instance */ - GetIdentityByPublicKeyHashResponse.prototype.v0 = null; + GetProtocolVersionUpgradeStateResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityByPublicKeyHashResponse version. + * GetProtocolVersionUpgradeStateResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @instance */ - Object.defineProperty(GetIdentityByPublicKeyHashResponse.prototype, "version", { + Object.defineProperty(GetProtocolVersionUpgradeStateResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityByPublicKeyHashResponse instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeStateResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse instance + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse instance */ - GetIdentityByPublicKeyHashResponse.create = function create(properties) { - return new GetIdentityByPublicKeyHashResponse(properties); + GetProtocolVersionUpgradeStateResponse.create = function create(properties) { + return new GetProtocolVersionUpgradeStateResponse(properties); }; /** - * Encodes the specified GetIdentityByPublicKeyHashResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse 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 */ - GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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 GetIdentityByPublicKeyHashResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse 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 */ - GetIdentityByPublicKeyHashResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityByPublicKeyHashResponse 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.GetIdentityByPublicKeyHashResponse + * @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.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse + * @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 */ - GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse(); + 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -19038,37 +25616,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityByPublicKeyHashResponse 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.GetIdentityByPublicKeyHashResponse + * @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.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse + * @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 */ - GetIdentityByPublicKeyHashResponse.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 GetIdentityByPublicKeyHashResponse message. + * Verifies a GetProtocolVersionUpgradeStateResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @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 */ - GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -19077,40 +25655,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentityByPublicKeyHashResponse 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.GetIdentityByPublicKeyHashResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse */ - GetIdentityByPublicKeyHashResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse) + 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.GetIdentityByPublicKeyHashResponse(); + 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.GetIdentityByPublicKeyHashResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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 GetIdentityByPublicKeyHashResponse 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.GetIdentityByPublicKeyHashResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -19118,36 +25696,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentityByPublicKeyHashResponse to JSON. + * Converts this GetProtocolVersionUpgradeStateResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @instance * @returns {Object.} JSON object */ - GetIdentityByPublicKeyHashResponse.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeStateResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 = (function() { + GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 = (function() { /** - * Properties of a GetIdentityByPublicKeyHashResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse - * @interface IGetIdentityByPublicKeyHashResponseV0 - * @property {Uint8Array|null} [identity] GetIdentityByPublicKeyHashResponseV0 identity - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityByPublicKeyHashResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityByPublicKeyHashResponseV0 metadata + * 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 GetIdentityByPublicKeyHashResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse - * @classdesc Represents a GetIdentityByPublicKeyHashResponseV0. - * @implements IGetIdentityByPublicKeyHashResponseV0 + * Constructs a new GetProtocolVersionUpgradeStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * @classdesc Represents a GetProtocolVersionUpgradeStateResponseV0. + * @implements IGetProtocolVersionUpgradeStateResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set */ - function GetIdentityByPublicKeyHashResponseV0(properties) { + function GetProtocolVersionUpgradeStateResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -19155,69 +25733,69 @@ $root.org = (function() { } /** - * GetIdentityByPublicKeyHashResponseV0 identity. - * @member {Uint8Array} identity - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * GetProtocolVersionUpgradeStateResponseV0 versions. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null|undefined} versions + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - GetIdentityByPublicKeyHashResponseV0.prototype.identity = $util.newBuffer([]); + GetProtocolVersionUpgradeStateResponseV0.prototype.versions = null; /** - * GetIdentityByPublicKeyHashResponseV0 proof. + * GetProtocolVersionUpgradeStateResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - GetIdentityByPublicKeyHashResponseV0.prototype.proof = null; + GetProtocolVersionUpgradeStateResponseV0.prototype.proof = null; /** - * GetIdentityByPublicKeyHashResponseV0 metadata. + * GetProtocolVersionUpgradeStateResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - GetIdentityByPublicKeyHashResponseV0.prototype.metadata = null; + GetProtocolVersionUpgradeStateResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityByPublicKeyHashResponseV0 result. - * @member {"identity"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * GetProtocolVersionUpgradeStateResponseV0 result. + * @member {"versions"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - Object.defineProperty(GetIdentityByPublicKeyHashResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]), + Object.defineProperty(GetProtocolVersionUpgradeStateResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityByPublicKeyHashResponseV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeStateResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 instance */ - GetIdentityByPublicKeyHashResponseV0.create = function create(properties) { - return new GetIdentityByPublicKeyHashResponseV0(properties); + GetProtocolVersionUpgradeStateResponseV0.create = function create(properties) { + return new GetProtocolVersionUpgradeStateResponseV0(properties); }; /** - * Encodes the specified GetIdentityByPublicKeyHashResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 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 */ - GetIdentityByPublicKeyHashResponseV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeStateResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identity); + if (message.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")) @@ -19226,38 +25804,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetIdentityByPublicKeyHashResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 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 */ - GetIdentityByPublicKeyHashResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityByPublicKeyHashResponseV0 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 + * @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 */ - GetIdentityByPublicKeyHashResponseV0.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0(); + 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.identity = reader.bytes(); + 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()); @@ -19274,37 +25852,40 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityByPublicKeyHashResponseV0 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 + * @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 */ - GetIdentityByPublicKeyHashResponseV0.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 GetIdentityByPublicKeyHashResponseV0 message. + * Verifies a GetProtocolVersionUpgradeStateResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @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 */ - GetIdentityByPublicKeyHashResponseV0.verify = function verify(message) { + GetProtocolVersionUpgradeStateResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.identity != null && message.hasOwnProperty("identity")) { + if (message.versions != null && message.hasOwnProperty("versions")) { properties.result = 1; - if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity))) - return "identity: buffer expected"; + { + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify(message.versions); + if (error) + return "versions." + error; + } } if (message.proof != null && message.hasOwnProperty("proof")) { if (properties.result === 1) @@ -19325,100 +25906,518 @@ $root.org = (function() { }; /** - * Creates a GetIdentityByPublicKeyHashResponseV0 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 */ - GetIdentityByPublicKeyHashResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0) + 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0(); - if (object.identity != null) - if (typeof object.identity === "string") - $util.base64.decode(object.identity, message.identity = $util.newBuffer($util.base64.length(object.identity)), 0); - else if (object.identity.length >= 0) - message.identity = object.identity; + 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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 GetIdentityByPublicKeyHashResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetIdentityByPublicKeyHashResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.identity != null && message.hasOwnProperty("identity")) { - object.identity = options.bytes === String ? $util.base64.encode(message.identity, 0, message.identity.length) : options.bytes === Array ? Array.prototype.slice.call(message.identity) : message.identity; - if (options.oneofs) - object.result = "identity"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + /** + * Creates a plain object from a GetProtocolVersionUpgradeStateResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + 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.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 (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetProtocolVersionUpgradeStateResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetProtocolVersionUpgradeStateResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetProtocolVersionUpgradeStateResponseV0.Versions = (function() { + + /** + * Properties of a Versions. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @interface IVersions + * @property {Array.|null} [versions] Versions versions + */ + + /** + * 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]]; + } + + /** + * Versions versions. + * @member {Array.} versions + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions + * @instance + */ + Versions.prototype.versions = $util.emptyArray; + + /** + * 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); + }; + + /** + * 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; + }; + + /** + * 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(); + }; + + /** + * 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; + }; + + /** + * 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); + }; - /** - * Converts this GetIdentityByPublicKeyHashResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetIdentityByPublicKeyHashResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return VersionEntry; + })(); - return GetIdentityByPublicKeyHashResponseV0; + return GetProtocolVersionUpgradeStateResponseV0; })(); - return GetIdentityByPublicKeyHashResponse; + return GetProtocolVersionUpgradeStateResponse; })(); - v0.WaitForStateTransitionResultRequest = (function() { + v0.GetProtocolVersionUpgradeVoteStatusRequest = (function() { /** - * Properties of a WaitForStateTransitionResultRequest. + * Properties of a GetProtocolVersionUpgradeVoteStatusRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IWaitForStateTransitionResultRequest - * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null} [v0] WaitForStateTransitionResultRequest v0 + * @interface IGetProtocolVersionUpgradeVoteStatusRequest + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null} [v0] GetProtocolVersionUpgradeVoteStatusRequest v0 */ /** - * Constructs a new WaitForStateTransitionResultRequest. + * Constructs a new GetProtocolVersionUpgradeVoteStatusRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a WaitForStateTransitionResultRequest. - * @implements IWaitForStateTransitionResultRequest + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequest. + * @implements IGetProtocolVersionUpgradeVoteStatusRequest * @constructor - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set */ - function WaitForStateTransitionResultRequest(properties) { + function GetProtocolVersionUpgradeVoteStatusRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -19426,89 +26425,89 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultRequest v0. - * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * GetProtocolVersionUpgradeVoteStatusRequest v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @instance */ - WaitForStateTransitionResultRequest.prototype.v0 = null; + GetProtocolVersionUpgradeVoteStatusRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * WaitForStateTransitionResultRequest version. + * GetProtocolVersionUpgradeVoteStatusRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @instance */ - Object.defineProperty(WaitForStateTransitionResultRequest.prototype, "version", { + Object.defineProperty(GetProtocolVersionUpgradeVoteStatusRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new WaitForStateTransitionResultRequest instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @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.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest instance */ - WaitForStateTransitionResultRequest.create = function create(properties) { - return new WaitForStateTransitionResultRequest(properties); + GetProtocolVersionUpgradeVoteStatusRequest.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusRequest(properties); }; /** - * Encodes the specified WaitForStateTransitionResultRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest 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 */ - WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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 WaitForStateTransitionResultRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest 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 */ - WaitForStateTransitionResultRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultRequest 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.WaitForStateTransitionResultRequest + * @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.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest + * @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 */ - WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest(); + 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -19519,37 +26518,37 @@ $root.org = (function() { }; /** - * Decodes a WaitForStateTransitionResultRequest 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.WaitForStateTransitionResultRequest + * @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.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest + * @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 */ - WaitForStateTransitionResultRequest.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 WaitForStateTransitionResultRequest message. + * Verifies a GetProtocolVersionUpgradeVoteStatusRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @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 */ - WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -19558,40 +26557,40 @@ $root.org = (function() { }; /** - * Creates a WaitForStateTransitionResultRequest 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.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest */ - WaitForStateTransitionResultRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest) + 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.WaitForStateTransitionResultRequest(); + 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.WaitForStateTransitionResultRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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 WaitForStateTransitionResultRequest 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.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -19599,35 +26598,36 @@ $root.org = (function() { }; /** - * Converts this WaitForStateTransitionResultRequest to JSON. + * Converts this GetProtocolVersionUpgradeVoteStatusRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @instance * @returns {Object.} JSON object */ - WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeVoteStatusRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = (function() { + GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 = (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 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 WaitForStateTransitionResultRequestV0. - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest - * @classdesc Represents a WaitForStateTransitionResultRequestV0. - * @implements IWaitForStateTransitionResultRequestV0 + * Constructs a new GetProtocolVersionUpgradeVoteStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequestV0. + * @implements IGetProtocolVersionUpgradeVoteStatusRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set */ - function WaitForStateTransitionResultRequestV0(properties) { + function GetProtocolVersionUpgradeVoteStatusRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -19635,87 +26635,100 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultRequestV0 stateTransitionHash. - * @member {Uint8Array} stateTransitionHash - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash. + * @member {Uint8Array} startProTxHash + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @instance */ - WaitForStateTransitionResultRequestV0.prototype.stateTransitionHash = $util.newBuffer([]); + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.startProTxHash = $util.newBuffer([]); /** - * WaitForStateTransitionResultRequestV0 prove. + * GetProtocolVersionUpgradeVoteStatusRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @instance + */ + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.count = 0; + + /** + * GetProtocolVersionUpgradeVoteStatusRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @instance */ - WaitForStateTransitionResultRequestV0.prototype.prove = false; + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.prove = false; /** - * Creates a new WaitForStateTransitionResultRequestV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @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.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 instance */ - WaitForStateTransitionResultRequestV0.create = function create(properties) { - return new WaitForStateTransitionResultRequestV0(properties); + GetProtocolVersionUpgradeVoteStatusRequestV0.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusRequestV0(properties); }; /** - * Encodes the specified WaitForStateTransitionResultRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 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 */ - WaitForStateTransitionResultRequestV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeVoteStatusRequestV0.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.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 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 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 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 */ - WaitForStateTransitionResultRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultRequestV0 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + * @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 */ - WaitForStateTransitionResultRequestV0.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0(); + 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.stateTransitionHash = reader.bytes(); + message.startProTxHash = reader.bytes(); break; case 2: + message.count = reader.uint32(); + break; + case 3: message.prove = reader.bool(); break; default: @@ -19727,35 +26740,38 @@ $root.org = (function() { }; /** - * Decodes a WaitForStateTransitionResultRequestV0 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + * @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 */ - WaitForStateTransitionResultRequestV0.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 WaitForStateTransitionResultRequestV0 message. + * Verifies a GetProtocolVersionUpgradeVoteStatusRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @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 */ - WaitForStateTransitionResultRequestV0.verify = function verify(message) { + GetProtocolVersionUpgradeVoteStatusRequestV0.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.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"; @@ -19763,92 +26779,97 @@ $root.org = (function() { }; /** - * Creates a WaitForStateTransitionResultRequestV0 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 */ - WaitForStateTransitionResultRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0) + 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.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.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.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 GetProtocolVersionUpgradeVoteStatusRequestV0 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WaitForStateTransitionResultRequestV0.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.stateTransitionHash = ""; + object.startProTxHash = ""; else { - object.stateTransitionHash = []; + object.startProTxHash = []; if (options.bytes !== Array) - object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash); + object.startProTxHash = $util.newBuffer(object.startProTxHash); } + object.count = 0; 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.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 WaitForStateTransitionResultRequestV0 to JSON. + * Converts this GetProtocolVersionUpgradeVoteStatusRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @instance * @returns {Object.} JSON object */ - WaitForStateTransitionResultRequestV0.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WaitForStateTransitionResultRequestV0; + return GetProtocolVersionUpgradeVoteStatusRequestV0; })(); - return WaitForStateTransitionResultRequest; + return GetProtocolVersionUpgradeVoteStatusRequest; })(); - v0.WaitForStateTransitionResultResponse = (function() { + v0.GetProtocolVersionUpgradeVoteStatusResponse = (function() { /** - * Properties of a WaitForStateTransitionResultResponse. + * Properties of a GetProtocolVersionUpgradeVoteStatusResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IWaitForStateTransitionResultResponse - * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null} [v0] WaitForStateTransitionResultResponse v0 + * @interface IGetProtocolVersionUpgradeVoteStatusResponse + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null} [v0] GetProtocolVersionUpgradeVoteStatusResponse v0 */ /** - * Constructs a new WaitForStateTransitionResultResponse. + * Constructs a new GetProtocolVersionUpgradeVoteStatusResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a WaitForStateTransitionResultResponse. - * @implements IWaitForStateTransitionResultResponse + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponse. + * @implements IGetProtocolVersionUpgradeVoteStatusResponse * @constructor - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set */ - function WaitForStateTransitionResultResponse(properties) { + function GetProtocolVersionUpgradeVoteStatusResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -19856,89 +26877,89 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultResponse v0. - * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * GetProtocolVersionUpgradeVoteStatusResponse v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @instance */ - WaitForStateTransitionResultResponse.prototype.v0 = null; + GetProtocolVersionUpgradeVoteStatusResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * WaitForStateTransitionResultResponse version. + * GetProtocolVersionUpgradeVoteStatusResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @instance */ - Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "version", { + Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new WaitForStateTransitionResultResponse instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @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.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse instance */ - WaitForStateTransitionResultResponse.create = function create(properties) { - return new WaitForStateTransitionResultResponse(properties); + GetProtocolVersionUpgradeVoteStatusResponse.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusResponse(properties); }; /** - * Encodes the specified WaitForStateTransitionResultResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse 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 */ - WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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 WaitForStateTransitionResultResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse 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 */ - WaitForStateTransitionResultResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultResponse 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.WaitForStateTransitionResultResponse + * @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.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse + * @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 */ - WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse(); + 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -19949,37 +26970,37 @@ $root.org = (function() { }; /** - * Decodes a WaitForStateTransitionResultResponse 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.WaitForStateTransitionResultResponse + * @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.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse + * @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 */ - WaitForStateTransitionResultResponse.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 WaitForStateTransitionResultResponse message. + * Verifies a GetProtocolVersionUpgradeVoteStatusResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @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 */ - WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -19988,40 +27009,40 @@ $root.org = (function() { }; /** - * Creates a WaitForStateTransitionResultResponse 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.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse */ - WaitForStateTransitionResultResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse) + 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.WaitForStateTransitionResultResponse(); + 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.WaitForStateTransitionResultResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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 WaitForStateTransitionResultResponse 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.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -20029,106 +27050,106 @@ $root.org = (function() { }; /** - * Converts this WaitForStateTransitionResultResponse to JSON. + * Converts this GetProtocolVersionUpgradeVoteStatusResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @instance * @returns {Object.} JSON object */ - WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeVoteStatusResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = (function() { + GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 = (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 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 WaitForStateTransitionResultResponseV0. - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse - * @classdesc Represents a WaitForStateTransitionResultResponseV0. - * @implements IWaitForStateTransitionResultResponseV0 + * Constructs a new GetProtocolVersionUpgradeVoteStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponseV0. + * @implements IGetProtocolVersionUpgradeVoteStatusResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set */ - function WaitForStateTransitionResultResponseV0(properties) { + function GetProtocolVersionUpgradeVoteStatusResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } - /** - * WaitForStateTransitionResultResponseV0 error. - * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + /** + * GetProtocolVersionUpgradeVoteStatusResponseV0 versions. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null|undefined} versions + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - WaitForStateTransitionResultResponseV0.prototype.error = null; + GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.versions = null; /** - * WaitForStateTransitionResultResponseV0 proof. + * GetProtocolVersionUpgradeVoteStatusResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - WaitForStateTransitionResultResponseV0.prototype.proof = null; + GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.proof = null; /** - * WaitForStateTransitionResultResponseV0 metadata. + * GetProtocolVersionUpgradeVoteStatusResponseV0 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - WaitForStateTransitionResultResponseV0.prototype.metadata = null; + GetProtocolVersionUpgradeVoteStatusResponseV0.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 + * GetProtocolVersionUpgradeVoteStatusResponseV0 result. + * @member {"versions"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - Object.defineProperty(WaitForStateTransitionResultResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["error", "proof"]), + Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new WaitForStateTransitionResultResponseV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @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.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 instance */ - WaitForStateTransitionResultResponseV0.create = function create(properties) { - return new WaitForStateTransitionResultResponseV0(properties); + GetProtocolVersionUpgradeVoteStatusResponseV0.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusResponseV0(properties); }; /** - * Encodes the specified WaitForStateTransitionResultResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 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 */ - WaitForStateTransitionResultResponseV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeVoteStatusResponseV0.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.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")) @@ -20137,38 +27158,38 @@ $root.org = (function() { }; /** - * Encodes the specified WaitForStateTransitionResultResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 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 */ - WaitForStateTransitionResultResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultResponseV0 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 + * @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 */ - WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0(); + 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.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.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()); @@ -20180,159 +27201,586 @@ $root.org = (function() { reader.skipType(tag & 7); break; } - } - return message; - }; + } + return message; + }; + + /** + * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + * @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) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProtocolVersionUpgradeVoteStatusResponseV0 message. + * @function verify + * @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 + */ + GetProtocolVersionUpgradeVoteStatusResponseV0.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); + if (error) + return "versions." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetProtocolVersionUpgradeVoteStatusResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + */ + 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.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.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.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 GetProtocolVersionUpgradeVoteStatusResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProtocolVersionUpgradeVoteStatusResponseV0.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); + if (options.oneofs) + object.result = "versions"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetProtocolVersionUpgradeVoteStatusResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals = (function() { + + /** + * Properties of a VersionSignals. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @interface IVersionSignals + * @property {Array.|null} [versionSignals] VersionSignals versionSignals + */ + + /** + * 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set + */ + function VersionSignals(properties) { + this.versionSignals = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VersionSignals versionSignals. + * @member {Array.} versionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @instance + */ + VersionSignals.prototype.versionSignals = $util.emptyArray; + + /** + * Creates a new VersionSignals instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @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 + */ + VersionSignals.create = function create(properties) { + return new VersionSignals(properties); + }; + + /** + * 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @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 + */ + VersionSignals.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.versionSignals != null && message.versionSignals.length) + for (var i = 0; i < message.versionSignals.length; ++i) + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.encode(message.versionSignals[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VersionSignals message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @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 + */ + VersionSignals.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VersionSignals message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.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.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 + */ + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.versionSignals && message.versionSignals.length)) + message.versionSignals = []; + message.versionSignals.push($root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VersionSignals message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @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 + */ + VersionSignals.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VersionSignals message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VersionSignals.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.versionSignals != null && message.hasOwnProperty("versionSignals")) { + if (!Array.isArray(message.versionSignals)) + return "versionSignals: array expected"; + for (var i = 0; i < message.versionSignals.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify(message.versionSignals[i]); + if (error) + return "versionSignals." + error; + } + } + return null; + }; + + /** + * Creates a VersionSignals message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + */ + 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.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 a VersionSignals message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message VersionSignals + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VersionSignals.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.versionSignals = []; + if (message.versionSignals && message.versionSignals.length) { + object.versionSignals = []; + for (var j = 0; j < message.versionSignals.length; ++j) + object.versionSignals[j] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(message.versionSignals[j], options); + } + return object; + }; + + /** + * Converts this VersionSignals to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @instance + * @returns {Object.} JSON object + */ + VersionSignals.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VersionSignals; + })(); + + GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal = (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 + */ + + /** + * 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set + */ + function VersionSignal(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VersionSignal proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @instance + */ + VersionSignal.prototype.proTxHash = $util.newBuffer([]); + + /** + * VersionSignal version. + * @member {number} version + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @instance + */ + VersionSignal.prototype.version = 0; + + /** + * 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 + */ + VersionSignal.create = function create(properties) { + return new VersionSignal(properties); + }; + + /** + * 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 + */ + VersionSignal.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.proTxHash != null && Object.hasOwnProperty.call(message, "proTxHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.proTxHash); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.version); + return writer; + }; + + /** + * Encodes the specified VersionSignal message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. + * @function encodeDelimited + * @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 + */ + VersionSignal.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VersionSignal message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.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.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 + */ + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proTxHash = reader.bytes(); + break; + case 2: + message.version = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - WaitForStateTransitionResultResponseV0.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a VersionSignal message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @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.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 + */ + VersionSignal.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a WaitForStateTransitionResultResponseV0 message. - * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - WaitForStateTransitionResultResponseV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.error != null && message.hasOwnProperty("error")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.verify(message.error); - if (error) - return "error." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } - return null; - }; + /** + * Verifies a VersionSignal message. + * @function verify + * @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 + */ + VersionSignal.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.proTxHash != null && message.hasOwnProperty("proTxHash")) + if (!(message.proTxHash && typeof message.proTxHash.length === "number" || $util.isString(message.proTxHash))) + return "proTxHash: buffer expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isInteger(message.version)) + return "version: integer expected"; + return null; + }; - /** - * Creates a WaitForStateTransitionResultResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 - */ - WaitForStateTransitionResultResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0) + /** + * Creates a VersionSignal message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + */ + 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.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 a VersionSignal message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message VersionSignal + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VersionSignal.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.proTxHash = ""; + else { + object.proTxHash = []; + if (options.bytes !== Array) + object.proTxHash = $util.newBuffer(object.proTxHash); + } + object.version = 0; + } + if (message.proTxHash != null && message.hasOwnProperty("proTxHash")) + object.proTxHash = options.bytes === String ? $util.base64.encode(message.proTxHash, 0, message.proTxHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.proTxHash) : message.proTxHash; + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; return object; - var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0(); - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.error: object expected"); - message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.fromObject(object.error); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; + }; - /** - * Creates a plain object from a WaitForStateTransitionResultResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - WaitForStateTransitionResultResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.error != null && message.hasOwnProperty("error")) { - object.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(message.error, options); - if (options.oneofs) - object.result = "error"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + /** + * Converts this VersionSignal to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @instance + * @returns {Object.} JSON object + */ + VersionSignal.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this WaitForStateTransitionResultResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 - * @instance - * @returns {Object.} JSON object - */ - WaitForStateTransitionResultResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return VersionSignal; + })(); - return WaitForStateTransitionResultResponseV0; + return GetProtocolVersionUpgradeVoteStatusResponseV0; })(); - return WaitForStateTransitionResultResponse; + return GetProtocolVersionUpgradeVoteStatusResponse; })(); - v0.GetConsensusParamsRequest = (function() { + v0.GetEpochsInfoRequest = (function() { /** - * Properties of a GetConsensusParamsRequest. + * Properties of a GetEpochsInfoRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetConsensusParamsRequest - * @property {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null} [v0] GetConsensusParamsRequest v0 + * @interface IGetEpochsInfoRequest + * @property {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null} [v0] GetEpochsInfoRequest v0 */ /** - * Constructs a new GetConsensusParamsRequest. + * Constructs a new GetEpochsInfoRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetConsensusParamsRequest. - * @implements IGetConsensusParamsRequest + * @classdesc Represents a GetEpochsInfoRequest. + * @implements IGetEpochsInfoRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set */ - function GetConsensusParamsRequest(properties) { + function GetEpochsInfoRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -20340,89 +27788,89 @@ $root.org = (function() { } /** - * GetConsensusParamsRequest v0. - * @member {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * GetEpochsInfoRequest v0. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @instance */ - GetConsensusParamsRequest.prototype.v0 = null; + GetEpochsInfoRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetConsensusParamsRequest version. + * GetEpochsInfoRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @instance */ - Object.defineProperty(GetConsensusParamsRequest.prototype, "version", { + Object.defineProperty(GetEpochsInfoRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetConsensusParamsRequest instance using the specified properties. + * Creates a new GetEpochsInfoRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @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.IGetEpochsInfoRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest instance */ - GetConsensusParamsRequest.create = function create(properties) { - return new GetConsensusParamsRequest(properties); + GetEpochsInfoRequest.create = function create(properties) { + return new GetEpochsInfoRequest(properties); }; /** - * Encodes the specified GetConsensusParamsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.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.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest 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 */ - GetConsensusParamsRequest.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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 GetConsensusParamsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.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.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest 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 */ - GetConsensusParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetConsensusParamsRequest 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.GetConsensusParamsRequest + * @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.GetConsensusParamsRequest} GetConsensusParamsRequest + * @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 */ - GetConsensusParamsRequest.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.GetConsensusParamsRequest(); + 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -20433,37 +27881,37 @@ $root.org = (function() { }; /** - * Decodes a GetConsensusParamsRequest 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.GetConsensusParamsRequest + * @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.GetConsensusParamsRequest} GetConsensusParamsRequest + * @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 */ - GetConsensusParamsRequest.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 GetConsensusParamsRequest message. + * Verifies a GetEpochsInfoRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @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 */ - GetConsensusParamsRequest.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -20472,40 +27920,40 @@ $root.org = (function() { }; /** - * Creates a GetConsensusParamsRequest 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.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest */ - GetConsensusParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest) + 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.GetConsensusParamsRequest(); + 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.GetConsensusParamsRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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 GetConsensusParamsRequest 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.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest} message GetConsensusParamsRequest + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest} message GetEpochsInfoRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetConsensusParamsRequest.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -20513,35 +27961,37 @@ $root.org = (function() { }; /** - * Converts this GetConsensusParamsRequest to JSON. + * Converts this GetEpochsInfoRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @instance * @returns {Object.} JSON object */ - GetConsensusParamsRequest.prototype.toJSON = function toJSON() { + GetEpochsInfoRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetConsensusParamsRequest.GetConsensusParamsRequestV0 = (function() { + GetEpochsInfoRequest.GetEpochsInfoRequestV0 = (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 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 GetConsensusParamsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @classdesc Represents a GetConsensusParamsRequestV0. - * @implements IGetConsensusParamsRequestV0 + * Constructs a new GetEpochsInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @classdesc Represents a GetEpochsInfoRequestV0. + * @implements IGetEpochsInfoRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set */ - function GetConsensusParamsRequestV0(properties) { + function GetEpochsInfoRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -20549,87 +27999,113 @@ $root.org = (function() { } /** - * GetConsensusParamsRequestV0 height. - * @member {number} height - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * GetEpochsInfoRequestV0 startEpoch. + * @member {google.protobuf.IUInt32Value|null|undefined} startEpoch + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance */ - GetConsensusParamsRequestV0.prototype.height = 0; + GetEpochsInfoRequestV0.prototype.startEpoch = null; /** - * GetConsensusParamsRequestV0 prove. + * GetEpochsInfoRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @instance + */ + GetEpochsInfoRequestV0.prototype.count = 0; + + /** + * GetEpochsInfoRequestV0 ascending. + * @member {boolean} ascending + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @instance + */ + GetEpochsInfoRequestV0.prototype.ascending = false; + + /** + * GetEpochsInfoRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance */ - GetConsensusParamsRequestV0.prototype.prove = false; + GetEpochsInfoRequestV0.prototype.prove = false; /** - * Creates a new GetConsensusParamsRequestV0 instance using the specified properties. + * Creates a new GetEpochsInfoRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @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.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 instance */ - GetConsensusParamsRequestV0.create = function create(properties) { - return new GetConsensusParamsRequestV0(properties); + GetEpochsInfoRequestV0.create = function create(properties) { + return new GetEpochsInfoRequestV0(properties); }; /** - * Encodes the specified GetConsensusParamsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 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 */ - GetConsensusParamsRequestV0.encode = function encode(message, writer) { + GetEpochsInfoRequestV0.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.startEpoch != null && Object.hasOwnProperty.call(message, "startEpoch")) + $root.google.protobuf.UInt32Value.encode(message.startEpoch, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.count != null && Object.hasOwnProperty.call(message, "count")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.count); + if (message.ascending != null && Object.hasOwnProperty.call(message, "ascending")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.ascending); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + writer.uint32(/* id 4, wireType 0 =*/32).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 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 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 */ - GetConsensusParamsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetConsensusParamsRequestV0 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @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 */ - GetConsensusParamsRequestV0.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0(); + 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.height = reader.int32(); + message.startEpoch = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); break; case 2: + message.count = reader.uint32(); + break; + case 3: + message.ascending = reader.bool(); + break; + case 4: message.prove = reader.bool(); break; default: @@ -20641,35 +28117,43 @@ $root.org = (function() { }; /** - * Decodes a GetConsensusParamsRequestV0 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @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 */ - GetConsensusParamsRequestV0.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 GetConsensusParamsRequestV0 message. + * Verifies a GetEpochsInfoRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @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 */ - GetConsensusParamsRequestV0.verify = function verify(message) { + GetEpochsInfoRequestV0.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.startEpoch != null && message.hasOwnProperty("startEpoch")) { + var error = $root.google.protobuf.UInt32Value.verify(message.startEpoch); + if (error) + return "startEpoch." + error; + } + if (message.count != null && message.hasOwnProperty("count")) + if (!$util.isInteger(message.count)) + return "count: integer expected"; + if (message.ascending != null && message.hasOwnProperty("ascending")) + if (typeof message.ascending !== "boolean") + return "ascending: boolean expected"; if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -20677,83 +28161,96 @@ $root.org = (function() { }; /** - * Creates a GetConsensusParamsRequestV0 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 */ - GetConsensusParamsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0) + 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0(); - if (object.height != null) - message.height = object.height | 0; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0(); + if (object.startEpoch != null) { + if (typeof object.startEpoch !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.startEpoch: object expected"); + message.startEpoch = $root.google.protobuf.UInt32Value.fromObject(object.startEpoch); + } + if (object.count != null) + message.count = object.count >>> 0; + if (object.ascending != null) + message.ascending = Boolean(object.ascending); if (object.prove != null) message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetConsensusParamsRequestV0 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetConsensusParamsRequestV0.toObject = function toObject(message, options) { + GetEpochsInfoRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.height = 0; + object.startEpoch = null; + object.count = 0; + object.ascending = false; object.prove = false; } - if (message.height != null && message.hasOwnProperty("height")) - object.height = message.height; + if (message.startEpoch != null && message.hasOwnProperty("startEpoch")) + object.startEpoch = $root.google.protobuf.UInt32Value.toObject(message.startEpoch, options); + if (message.count != null && message.hasOwnProperty("count")) + object.count = message.count; + if (message.ascending != null && message.hasOwnProperty("ascending")) + object.ascending = message.ascending; if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this GetConsensusParamsRequestV0 to JSON. + * Converts this GetEpochsInfoRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance * @returns {Object.} JSON object */ - GetConsensusParamsRequestV0.prototype.toJSON = function toJSON() { + GetEpochsInfoRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetConsensusParamsRequestV0; + return GetEpochsInfoRequestV0; })(); - return GetConsensusParamsRequest; + return GetEpochsInfoRequest; })(); - v0.GetConsensusParamsResponse = (function() { + v0.GetEpochsInfoResponse = (function() { /** - * Properties of a GetConsensusParamsResponse. + * Properties of a GetEpochsInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetConsensusParamsResponse - * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null} [v0] GetConsensusParamsResponse v0 + * @interface IGetEpochsInfoResponse + * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null} [v0] GetEpochsInfoResponse v0 */ /** - * Constructs a new GetConsensusParamsResponse. + * Constructs a new GetEpochsInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetConsensusParamsResponse. - * @implements IGetConsensusParamsResponse + * @classdesc Represents a GetEpochsInfoResponse. + * @implements IGetEpochsInfoResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set */ - function GetConsensusParamsResponse(properties) { + function GetEpochsInfoResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -20761,89 +28258,89 @@ $root.org = (function() { } /** - * GetConsensusParamsResponse v0. - * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * GetEpochsInfoResponse v0. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @instance */ - GetConsensusParamsResponse.prototype.v0 = null; + GetEpochsInfoResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetConsensusParamsResponse version. + * GetEpochsInfoResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @instance */ - Object.defineProperty(GetConsensusParamsResponse.prototype, "version", { + Object.defineProperty(GetEpochsInfoResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetConsensusParamsResponse instance using the specified properties. + * Creates a new GetEpochsInfoResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @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.IGetEpochsInfoResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse instance */ - GetConsensusParamsResponse.create = function create(properties) { - return new GetConsensusParamsResponse(properties); + GetEpochsInfoResponse.create = function create(properties) { + return new GetEpochsInfoResponse(properties); }; /** - * Encodes the specified GetConsensusParamsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse 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 */ - GetConsensusParamsResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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 GetConsensusParamsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse 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 */ - GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetConsensusParamsResponse 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.GetConsensusParamsResponse + * @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.GetConsensusParamsResponse} GetConsensusParamsResponse + * @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 */ - GetConsensusParamsResponse.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.GetConsensusParamsResponse(); + 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -20854,37 +28351,37 @@ $root.org = (function() { }; /** - * Decodes a GetConsensusParamsResponse 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.GetConsensusParamsResponse + * @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.GetConsensusParamsResponse} GetConsensusParamsResponse + * @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 */ - GetConsensusParamsResponse.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 GetConsensusParamsResponse message. + * Verifies a GetEpochsInfoResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @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 */ - GetConsensusParamsResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -20893,40 +28390,40 @@ $root.org = (function() { }; /** - * Creates a GetConsensusParamsResponse 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.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse */ - GetConsensusParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse) + 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.GetConsensusParamsResponse(); + 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.GetConsensusParamsResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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 GetConsensusParamsResponse 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.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} message GetEpochsInfoResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetConsensusParamsResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -20934,36 +28431,36 @@ $root.org = (function() { }; /** - * Converts this GetConsensusParamsResponse to JSON. + * Converts this GetEpochsInfoResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @instance * @returns {Object.} JSON object */ - GetConsensusParamsResponse.prototype.toJSON = function toJSON() { + GetEpochsInfoResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetConsensusParamsResponse.ConsensusParamsBlock = (function() { + GetEpochsInfoResponse.GetEpochsInfoResponseV0 = (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 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 ConsensusParamsBlock. - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @classdesc Represents a ConsensusParamsBlock. - * @implements IConsensusParamsBlock + * Constructs a new GetEpochsInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @classdesc Represents a GetEpochsInfoResponseV0. + * @implements IGetEpochsInfoResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set */ - function ConsensusParamsBlock(properties) { + function GetEpochsInfoResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -20971,333 +28468,115 @@ $root.org = (function() { } /** - * ConsensusParamsBlock maxBytes. - * @member {string} maxBytes - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @instance - */ - ConsensusParamsBlock.prototype.maxBytes = ""; - - /** - * 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 + * GetEpochsInfoResponseV0 epochs. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null|undefined} epochs + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance */ - ConsensusParamsBlock.prototype.timeIotaMs = ""; - - /** - * Creates a new ConsensusParamsBlock instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock instance - */ - ConsensusParamsBlock.create = function create(properties) { - return new ConsensusParamsBlock(properties); - }; - - /** - * Encodes the specified ConsensusParamsBlock message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParamsBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.maxBytes); - if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxGas); - if (message.timeIotaMs != null && Object.hasOwnProperty.call(message, "timeIotaMs")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.timeIotaMs); - return writer; - }; - - /** - * Encodes the specified ConsensusParamsBlock message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConsensusParamsBlock message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParamsBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.maxBytes = reader.string(); - break; - case 2: - message.maxGas = reader.string(); - break; - case 3: - message.timeIotaMs = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConsensusParamsBlock message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConsensusParamsBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isString(message.maxBytes)) - return "maxBytes: string expected"; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (!$util.isString(message.maxGas)) - return "maxGas: string expected"; - if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) - if (!$util.isString(message.timeIotaMs)) - return "timeIotaMs: string expected"; - return null; - }; - - /** - * Creates a ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock - */ - ConsensusParamsBlock.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock(); - if (object.maxBytes != null) - message.maxBytes = String(object.maxBytes); - if (object.maxGas != null) - message.maxGas = String(object.maxGas); - if (object.timeIotaMs != null) - message.timeIotaMs = String(object.timeIotaMs); - return message; - }; - - /** - * Creates a plain object from a ConsensusParamsBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock - * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message ConsensusParamsBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConsensusParamsBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.maxBytes = ""; - object.maxGas = ""; - object.timeIotaMs = ""; - } - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - object.maxBytes = message.maxBytes; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - object.maxGas = message.maxGas; - if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) - object.timeIotaMs = message.timeIotaMs; - return object; - }; + GetEpochsInfoResponseV0.prototype.epochs = null; /** - * Converts this ConsensusParamsBlock to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * GetEpochsInfoResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance - * @returns {Object.} JSON object - */ - ConsensusParamsBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConsensusParamsBlock; - })(); - - GetConsensusParamsResponse.ConsensusParamsEvidence = (function() { - - /** - * Properties of a ConsensusParamsEvidence. - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @interface IConsensusParamsEvidence - * @property {string|null} [maxAgeNumBlocks] ConsensusParamsEvidence maxAgeNumBlocks - * @property {string|null} [maxAgeDuration] ConsensusParamsEvidence maxAgeDuration - * @property {string|null} [maxBytes] ConsensusParamsEvidence maxBytes - */ - - /** - * Constructs a new ConsensusParamsEvidence. - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @classdesc Represents a ConsensusParamsEvidence. - * @implements IConsensusParamsEvidence - * @constructor - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set */ - function ConsensusParamsEvidence(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + GetEpochsInfoResponseV0.prototype.proof = null; /** - * ConsensusParamsEvidence maxAgeNumBlocks. - * @member {string} maxAgeNumBlocks - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * GetEpochsInfoResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance */ - ConsensusParamsEvidence.prototype.maxAgeNumBlocks = ""; + GetEpochsInfoResponseV0.prototype.metadata = null; - /** - * ConsensusParamsEvidence maxAgeDuration. - * @member {string} maxAgeDuration - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence - * @instance - */ - ConsensusParamsEvidence.prototype.maxAgeDuration = ""; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * ConsensusParamsEvidence maxBytes. - * @member {string} maxBytes - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * GetEpochsInfoResponseV0 result. + * @member {"epochs"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance */ - ConsensusParamsEvidence.prototype.maxBytes = ""; + Object.defineProperty(GetEpochsInfoResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new ConsensusParamsEvidence instance using the specified properties. + * Creates a new GetEpochsInfoResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence instance + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 instance */ - ConsensusParamsEvidence.create = function create(properties) { - return new ConsensusParamsEvidence(properties); + GetEpochsInfoResponseV0.create = function create(properties) { + return new GetEpochsInfoResponseV0(properties); }; /** - * Encodes the specified ConsensusParamsEvidence message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.GetConsensusParamsResponse.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence} message ConsensusParamsEvidence 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 */ - ConsensusParamsEvidence.encode = function encode(message, writer) { + GetEpochsInfoResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.maxAgeNumBlocks != null && Object.hasOwnProperty.call(message, "maxAgeNumBlocks")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.maxAgeNumBlocks); - if (message.maxAgeDuration != null && Object.hasOwnProperty.call(message, "maxAgeDuration")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxAgeDuration); - if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.maxBytes); + if (message.epochs != null && Object.hasOwnProperty.call(message, "epochs")) + $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.encode(message.epochs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified ConsensusParamsEvidence message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.GetConsensusParamsResponse.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence} message ConsensusParamsEvidence 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 */ - ConsensusParamsEvidence.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ConsensusParamsEvidence 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.GetConsensusParamsResponse.ConsensusParamsEvidence + * @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.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence + * @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 */ - ConsensusParamsEvidence.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.GetConsensusParamsResponse.ConsensusParamsEvidence(); + 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.maxAgeNumBlocks = reader.string(); + message.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.decode(reader, reader.uint32()); break; case 2: - message.maxAgeDuration = reader.string(); + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); break; case 3: - message.maxBytes = reader.string(); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -21308,347 +28587,688 @@ $root.org = (function() { }; /** - * Decodes a ConsensusParamsEvidence 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.GetConsensusParamsResponse.ConsensusParamsEvidence + * @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.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence + * @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 */ - ConsensusParamsEvidence.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 ConsensusParamsEvidence message. + * Verifies a GetEpochsInfoResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @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 */ - ConsensusParamsEvidence.verify = function verify(message) { + GetEpochsInfoResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - if (!$util.isString(message.maxAgeNumBlocks)) - return "maxAgeNumBlocks: string expected"; - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) - if (!$util.isString(message.maxAgeDuration)) - return "maxAgeDuration: string expected"; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isString(message.maxBytes)) - return "maxBytes: string expected"; + var properties = {}; + if (message.epochs != null && message.hasOwnProperty("epochs")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify(message.epochs); + if (error) + return "epochs." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } return null; }; /** - * Creates a ConsensusParamsEvidence 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.GetConsensusParamsResponse.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 */ - ConsensusParamsEvidence.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence) + 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.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); + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0(); + if (object.epochs != null) { + if (typeof object.epochs !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.epochs: object expected"); + message.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.fromObject(object.epochs); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } return message; }; /** - * Creates a plain object from a ConsensusParamsEvidence 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.GetConsensusParamsResponse.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message ConsensusParamsEvidence + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ConsensusParamsEvidence.toObject = function toObject(message, options) { + GetEpochsInfoResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.maxAgeNumBlocks = ""; - object.maxAgeDuration = ""; - object.maxBytes = ""; + if (options.defaults) + object.metadata = null; + if (message.epochs != null && message.hasOwnProperty("epochs")) { + object.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(message.epochs, options); + if (options.oneofs) + object.result = "epochs"; } - if (message.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; + 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 ConsensusParamsEvidence to JSON. + * Converts this GetEpochsInfoResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance * @returns {Object.} JSON object */ - ConsensusParamsEvidence.prototype.toJSON = function toJSON() { + GetEpochsInfoResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ConsensusParamsEvidence; - })(); + GetEpochsInfoResponseV0.EpochInfos = (function() { - GetConsensusParamsResponse.GetConsensusParamsResponseV0 = (function() { + /** + * Properties of an EpochInfos. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @interface IEpochInfos + * @property {Array.|null} [epochInfos] EpochInfos epochInfos + */ - /** - * 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 EpochInfos. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @classdesc Represents an EpochInfos. + * @implements IEpochInfos + * @constructor + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set + */ + function EpochInfos(properties) { + this.epochInfos = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * 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]]; - } + /** + * EpochInfos epochInfos. + * @member {Array.} epochInfos + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @instance + */ + EpochInfos.prototype.epochInfos = $util.emptyArray; - /** - * 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; + /** + * Creates a new EpochInfos instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos instance + */ + EpochInfos.create = function create(properties) { + return new EpochInfos(properties); + }; - /** - * 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; + /** + * Encodes the specified EpochInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EpochInfos.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.epochInfos != null && message.epochInfos.length) + for (var i = 0; i < message.epochInfos.length; ++i) + $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.encode(message.epochInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * 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 EpochInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EpochInfos.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * 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; - }; + /** + * Decodes an EpochInfos message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EpochInfos.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.epochInfos && message.epochInfos.length)) + message.epochInfos = []; + message.epochInfos.push($root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * 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 an EpochInfos message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EpochInfos.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EpochInfos message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EpochInfos.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.epochInfos != null && message.hasOwnProperty("epochInfos")) { + if (!Array.isArray(message.epochInfos)) + return "epochInfos: array expected"; + for (var i = 0; i < message.epochInfos.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.verify(message.epochInfos[i]); + if (error) + return "epochInfos." + error; + } + } + return null; + }; + + /** + * Creates an EpochInfos message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + */ + EpochInfos.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos(); + if (object.epochInfos) { + if (!Array.isArray(object.epochInfos)) + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.epochInfos: array expected"); + message.epochInfos = []; + for (var i = 0; i < object.epochInfos.length; ++i) { + if (typeof object.epochInfos[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.epochInfos: object expected"); + message.epochInfos[i] = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.fromObject(object.epochInfos[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EpochInfos message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message EpochInfos + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EpochInfos.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.epochInfos = []; + if (message.epochInfos && message.epochInfos.length) { + object.epochInfos = []; + for (var j = 0; j < message.epochInfos.length; ++j) + object.epochInfos[j] = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject(message.epochInfos[j], options); + } + return object; + }; + + /** + * Converts this EpochInfos to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @instance + * @returns {Object.} JSON object + */ + EpochInfos.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EpochInfos; + })(); + + GetEpochsInfoResponseV0.EpochInfo = (function() { + + /** + * Properties of an EpochInfo. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @interface IEpochInfo + * @property {number|null} [number] EpochInfo number + * @property {number|Long|null} [firstBlockHeight] EpochInfo firstBlockHeight + * @property {number|null} [firstCoreBlockHeight] EpochInfo firstCoreBlockHeight + * @property {number|Long|null} [startTime] EpochInfo startTime + * @property {number|null} [feeMultiplier] EpochInfo feeMultiplier + * @property {number|null} [protocolVersion] EpochInfo protocolVersion + */ + + /** + * Constructs a new EpochInfo. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @classdesc Represents an EpochInfo. + * @implements IEpochInfo + * @constructor + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo=} [properties] Properties to set + */ + function EpochInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EpochInfo number. + * @member {number} number + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.number = 0; + + /** + * EpochInfo firstBlockHeight. + * @member {number|Long} firstBlockHeight + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.firstBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * EpochInfo firstCoreBlockHeight. + * @member {number} firstCoreBlockHeight + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.firstCoreBlockHeight = 0; + + /** + * EpochInfo startTime. + * @member {number|Long} startTime + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * EpochInfo feeMultiplier. + * @member {number} feeMultiplier + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.feeMultiplier = 0; + + /** + * 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. + * @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 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; + /** + * 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; - }; + 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()); - }; + /** + * 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 a GetConsensusParamsResponseV0 message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetConsensusParamsResponseV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.block != null && message.hasOwnProperty("block")) { - var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify(message.block); - if (error) - return "block." + error; - } - if (message.evidence != null && message.hasOwnProperty("evidence")) { - var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.verify(message.evidence); - if (error) - return "evidence." + error; - } - return null; - }; + /** + * 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 a GetConsensusParamsResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 - */ - GetConsensusParamsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0) + /** + * 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; - var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0(); - if (object.block != null) { - if (typeof object.block !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.block: object expected"); - message.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.fromObject(object.block); - } - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.evidence: object expected"); - message.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.fromObject(object.evidence); - } - return message; - }; + }; - /** - * Creates a plain object from a GetConsensusParamsResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetConsensusParamsResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.block = null; - object.evidence = null; - } - if (message.block != null && message.hasOwnProperty("block")) - object.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(message.block, options); - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(message.evidence, options); - return object; - }; + /** + * 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); + }; - /** - * Converts this GetConsensusParamsResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetConsensusParamsResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return EpochInfo; + })(); - return GetConsensusParamsResponseV0; + return GetEpochsInfoResponseV0; })(); - return GetConsensusParamsResponse; + return GetEpochsInfoResponse; })(); - v0.GetProtocolVersionUpgradeStateRequest = (function() { + v0.GetContestedResourcesRequest = (function() { /** - * Properties of a GetProtocolVersionUpgradeStateRequest. + * Properties of a GetContestedResourcesRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeStateRequest - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null} [v0] GetProtocolVersionUpgradeStateRequest v0 + * @interface IGetContestedResourcesRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null} [v0] GetContestedResourcesRequest v0 */ /** - * Constructs a new GetProtocolVersionUpgradeStateRequest. + * Constructs a new GetContestedResourcesRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeStateRequest. - * @implements IGetProtocolVersionUpgradeStateRequest + * @classdesc Represents a GetContestedResourcesRequest. + * @implements IGetContestedResourcesRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set */ - function GetProtocolVersionUpgradeStateRequest(properties) { + function GetContestedResourcesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -21656,89 +29276,89 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeStateRequest v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * GetContestedResourcesRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @instance */ - GetProtocolVersionUpgradeStateRequest.prototype.v0 = null; + GetContestedResourcesRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeStateRequest version. + * GetContestedResourcesRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeStateRequest.prototype, "version", { + Object.defineProperty(GetContestedResourcesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeStateRequest instance using the specified properties. + * Creates a new GetContestedResourcesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @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.IGetContestedResourcesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest instance */ - GetProtocolVersionUpgradeStateRequest.create = function create(properties) { - return new GetProtocolVersionUpgradeStateRequest(properties); + GetContestedResourcesRequest.create = function create(properties) { + return new GetContestedResourcesRequest(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest 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 */ - GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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 GetProtocolVersionUpgradeStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest 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 */ - GetProtocolVersionUpgradeStateRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @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.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest + * @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 */ - GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest(); + 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -21749,37 +29369,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @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.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest + * @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 */ - GetProtocolVersionUpgradeStateRequest.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 GetProtocolVersionUpgradeStateRequest message. + * Verifies a GetContestedResourcesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @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 */ - GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -21788,150 +29408,270 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest */ - GetProtocolVersionUpgradeStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest) + 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.GetProtocolVersionUpgradeStateRequest(); + 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.GetProtocolVersionUpgradeStateRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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 GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest} message GetContestedResourcesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } return object; }; - /** - * Converts this GetProtocolVersionUpgradeStateRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest - * @instance - * @returns {Object.} JSON object - */ - GetProtocolVersionUpgradeStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this GetContestedResourcesRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @instance + * @returns {Object.} JSON object + */ + GetContestedResourcesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetContestedResourcesRequest.GetContestedResourcesRequestV0 = (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 + */ + + /** + * Constructs a new GetContestedResourcesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @classdesc Represents a GetContestedResourcesRequestV0. + * @implements IGetContestedResourcesRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set + */ + 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) + this[keys[i]] = properties[keys[i]]; + } + + /** + * 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; - GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 = (function() { + /** + * GetContestedResourcesRequestV0 startAtValueInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null|undefined} startAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @instance + */ + GetContestedResourcesRequestV0.prototype.startAtValueInfo = null; /** - * Properties of a GetProtocolVersionUpgradeStateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest - * @interface IGetProtocolVersionUpgradeStateRequestV0 - * @property {boolean|null} [prove] GetProtocolVersionUpgradeStateRequestV0 prove + * GetContestedResourcesRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @instance */ + GetContestedResourcesRequestV0.prototype.count = 0; /** - * Constructs a new GetProtocolVersionUpgradeStateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest - * @classdesc Represents a GetProtocolVersionUpgradeStateRequestV0. - * @implements IGetProtocolVersionUpgradeStateRequestV0 - * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set + * GetContestedResourcesRequestV0 orderAscending. + * @member {boolean} orderAscending + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @instance */ - function GetProtocolVersionUpgradeStateRequestV0(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]]; - } + GetContestedResourcesRequestV0.prototype.orderAscending = false; /** - * GetProtocolVersionUpgradeStateRequestV0 prove. + * GetContestedResourcesRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetProtocolVersionUpgradeStateRequestV0.prototype.prove = false; + GetContestedResourcesRequestV0.prototype.prove = false; /** - * Creates a new GetProtocolVersionUpgradeStateRequestV0 instance using the specified properties. + * Creates a new GetContestedResourcesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @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.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 instance */ - GetProtocolVersionUpgradeStateRequestV0.create = function create(properties) { - return new GetProtocolVersionUpgradeStateRequestV0(properties); + GetContestedResourcesRequestV0.create = function create(properties) { + return new GetContestedResourcesRequestV0(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 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 */ - GetProtocolVersionUpgradeStateRequestV0.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")) + 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.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 1, wireType 0 =*/8).bool(message.prove); + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove); 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 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 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 */ - GetProtocolVersionUpgradeStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeStateRequestV0 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0(); + 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) { case 1: + message.contractId = reader.bytes(); + break; + case 2: + message.documentTypeName = reader.string(); + break; + case 3: + message.indexName = reader.string(); + 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: @@ -21943,32 +29683,66 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeStateRequestV0 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.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 GetProtocolVersionUpgradeStateRequestV0 message. + * Verifies a GetContestedResourcesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.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")) + 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 (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"; @@ -21976,77 +29750,373 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeStateRequestV0 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 */ - GetProtocolVersionUpgradeStateRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0) + 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0(); + 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); + } + 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 GetProtocolVersionUpgradeStateRequestV0 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeStateRequestV0.toObject = function toObject(message, options) { + GetContestedResourcesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) + 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.count = 0; + object.orderAscending = 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.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 GetProtocolVersionUpgradeStateRequestV0 to JSON. + * Converts this GetContestedResourcesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeStateRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourcesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProtocolVersionUpgradeStateRequestV0; + 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 GetProtocolVersionUpgradeStateRequest; + return GetContestedResourcesRequest; })(); - v0.GetProtocolVersionUpgradeStateResponse = (function() { + v0.GetContestedResourcesResponse = (function() { /** - * Properties of a GetProtocolVersionUpgradeStateResponse. + * Properties of a GetContestedResourcesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeStateResponse - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null} [v0] GetProtocolVersionUpgradeStateResponse v0 + * @interface IGetContestedResourcesResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null} [v0] GetContestedResourcesResponse v0 */ /** - * Constructs a new GetProtocolVersionUpgradeStateResponse. + * Constructs a new GetContestedResourcesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeStateResponse. - * @implements IGetProtocolVersionUpgradeStateResponse + * @classdesc Represents a GetContestedResourcesResponse. + * @implements IGetContestedResourcesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set */ - function GetProtocolVersionUpgradeStateResponse(properties) { + function GetContestedResourcesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22054,89 +30124,89 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeStateResponse v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * GetContestedResourcesResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @instance */ - GetProtocolVersionUpgradeStateResponse.prototype.v0 = null; + GetContestedResourcesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeStateResponse version. + * GetContestedResourcesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeStateResponse.prototype, "version", { + Object.defineProperty(GetContestedResourcesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeStateResponse instance using the specified properties. + * Creates a new GetContestedResourcesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse instance */ - GetProtocolVersionUpgradeStateResponse.create = function create(properties) { - return new GetProtocolVersionUpgradeStateResponse(properties); + GetContestedResourcesResponse.create = function create(properties) { + return new GetContestedResourcesResponse(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse 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 */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 GetProtocolVersionUpgradeStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse 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 */ - GetProtocolVersionUpgradeStateResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeStateResponse 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.GetProtocolVersionUpgradeStateResponse + * @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.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse + * @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 */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse(); + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -22147,37 +30217,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeStateResponse 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.GetProtocolVersionUpgradeStateResponse + * @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.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse + * @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 */ - GetProtocolVersionUpgradeStateResponse.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 GetProtocolVersionUpgradeStateResponse message. + * Verifies a GetContestedResourcesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * @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 */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -22186,40 +30256,40 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeStateResponse 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.GetProtocolVersionUpgradeStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse */ - GetProtocolVersionUpgradeStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse) + 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.GetProtocolVersionUpgradeStateResponse(); + 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.GetProtocolVersionUpgradeStateResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 GetProtocolVersionUpgradeStateResponse 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.GetProtocolVersionUpgradeStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse} message GetContestedResourcesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -22227,36 +30297,36 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeStateResponse to JSON. + * Converts this GetContestedResourcesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeStateResponse.prototype.toJSON = function toJSON() { + GetContestedResourcesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 = (function() { + GetContestedResourcesResponse.GetContestedResourcesResponseV0 = (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 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 GetProtocolVersionUpgradeStateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @classdesc Represents a GetProtocolVersionUpgradeStateResponseV0. - * @implements IGetProtocolVersionUpgradeStateResponseV0 + * Constructs a new GetContestedResourcesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @classdesc Represents a GetContestedResourcesResponseV0. + * @implements IGetContestedResourcesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set */ - function GetProtocolVersionUpgradeStateResponseV0(properties) { + function GetContestedResourcesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22264,69 +30334,69 @@ $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 + * GetContestedResourcesResponseV0 contestedResourceValues. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null|undefined} contestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - GetProtocolVersionUpgradeStateResponseV0.prototype.versions = null; + GetContestedResourcesResponseV0.prototype.contestedResourceValues = null; /** - * GetProtocolVersionUpgradeStateResponseV0 proof. + * GetContestedResourcesResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - GetProtocolVersionUpgradeStateResponseV0.prototype.proof = null; + GetContestedResourcesResponseV0.prototype.proof = null; /** - * GetProtocolVersionUpgradeStateResponseV0 metadata. + * GetContestedResourcesResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - GetProtocolVersionUpgradeStateResponseV0.prototype.metadata = null; + GetContestedResourcesResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeStateResponseV0 result. - * @member {"versions"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * GetContestedResourcesResponseV0 result. + * @member {"contestedResourceValues"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeStateResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), + Object.defineProperty(GetContestedResourcesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["contestedResourceValues", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeStateResponseV0 instance using the specified properties. + * Creates a new GetContestedResourcesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @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.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 instance */ - GetProtocolVersionUpgradeStateResponseV0.create = function create(properties) { - return new GetProtocolVersionUpgradeStateResponseV0(properties); + GetContestedResourcesResponseV0.create = function create(properties) { + return new GetContestedResourcesResponseV0(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 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 */ - GetProtocolVersionUpgradeStateResponseV0.encode = function encode(message, writer) { + GetContestedResourcesResponseV0.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.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")) @@ -22335,38 +30405,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 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 */ - GetProtocolVersionUpgradeStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeStateResponseV0 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0(); + 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.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.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()); @@ -22383,39 +30453,39 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeStateResponseV0 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.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 GetProtocolVersionUpgradeStateResponseV0 message. + * Verifies a GetContestedResourcesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.verify = function verify(message) { + GetContestedResourcesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.versions != null && message.hasOwnProperty("versions")) { + if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify(message.versions); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify(message.contestedResourceValues); if (error) - return "versions." + error; + return "contestedResourceValues." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -22437,303 +30507,95 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeStateResponseV0 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 */ - GetProtocolVersionUpgradeStateResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0) + 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.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); + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 GetProtocolVersionUpgradeStateResponseV0 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeStateResponseV0.toObject = function toObject(message, options) { + GetContestedResourcesResponseV0.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 (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 = "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 GetProtocolVersionUpgradeStateResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetProtocolVersionUpgradeStateResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetProtocolVersionUpgradeStateResponseV0.Versions = (function() { - - /** - * Properties of a Versions. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @interface IVersions - * @property {Array.|null} [versions] Versions versions - */ - - /** - * 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]]; + object.result = "contestedResourceValues"; } + 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; + }; - /** - * Versions versions. - * @member {Array.} versions - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @instance - */ - Versions.prototype.versions = $util.emptyArray; - - /** - * 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); - }; - - /** - * 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; - }; - - /** - * 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(); - }; - - /** - * 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; - }; - - /** - * 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; - })(); + /** + * Converts this GetContestedResourcesResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetContestedResourcesResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetProtocolVersionUpgradeStateResponseV0.VersionEntry = (function() { + GetContestedResourcesResponseV0.ContestedResourceValues = (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 + * Properties of a ContestedResourceValues. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @interface IContestedResourceValues + * @property {Array.|null} [contestedResourceValues] ContestedResourceValues contestedResourceValues */ /** - * Constructs a new VersionEntry. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @classdesc Represents a VersionEntry. - * @implements IVersionEntry + * 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set */ - function VersionEntry(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) @@ -22741,88 +30603,78 @@ $root.org = (function() { } /** - * 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 + * ContestedResourceValues contestedResourceValues. + * @member {Array.} contestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @instance */ - VersionEntry.prototype.voteCount = 0; + ContestedResourceValues.prototype.contestedResourceValues = $util.emptyArray; /** - * Creates a new VersionEntry instance using the specified properties. + * Creates a new ContestedResourceValues instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @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 + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues instance */ - VersionEntry.create = function create(properties) { - return new VersionEntry(properties); + ContestedResourceValues.create = function create(properties) { + return new ContestedResourceValues(properties); }; /** - * Encodes the specified VersionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry 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 */ - VersionEntry.encode = function encode(message, writer) { + ContestedResourceValues.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); + 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 VersionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry 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 */ - VersionEntry.encodeDelimited = function encodeDelimited(message, writer) { + ContestedResourceValues.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VersionEntry 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry + * @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 */ - VersionEntry.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry(); + 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.versionNumber = reader.uint32(); - break; - case 2: - message.voteCount = reader.uint32(); + if (!(message.contestedResourceValues && message.contestedResourceValues.length)) + message.contestedResourceValues = []; + message.contestedResourceValues.push(reader.bytes()); break; default: reader.skipType(tag & 7); @@ -22833,122 +30685,128 @@ $root.org = (function() { }; /** - * Decodes a VersionEntry 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry + * @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 */ - VersionEntry.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 VersionEntry message. + * Verifies a ContestedResourceValues message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @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 */ - VersionEntry.verify = function verify(message) { + ContestedResourceValues.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"; + 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 VersionEntry 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues */ - VersionEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry) + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry(); - if (object.versionNumber != null) - message.versionNumber = object.versionNumber >>> 0; - if (object.voteCount != null) - message.voteCount = object.voteCount >>> 0; + 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]; + } return message; }; /** - * Creates a plain object from a VersionEntry 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} message VersionEntry + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message ContestedResourceValues * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VersionEntry.toObject = function toObject(message, options) { + ContestedResourceValues.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.versionNumber = 0; - object.voteCount = 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.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. + * Converts this ContestedResourceValues to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @instance * @returns {Object.} JSON object */ - VersionEntry.prototype.toJSON = function toJSON() { + ContestedResourceValues.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VersionEntry; + return ContestedResourceValues; })(); - return GetProtocolVersionUpgradeStateResponseV0; + return GetContestedResourcesResponseV0; })(); - return GetProtocolVersionUpgradeStateResponse; + return GetContestedResourcesResponse; })(); - v0.GetProtocolVersionUpgradeVoteStatusRequest = (function() { + v0.GetVotePollsByEndDateRequest = (function() { /** - * Properties of a GetProtocolVersionUpgradeVoteStatusRequest. + * Properties of a GetVotePollsByEndDateRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeVoteStatusRequest - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null} [v0] GetProtocolVersionUpgradeVoteStatusRequest v0 + * @interface IGetVotePollsByEndDateRequest + * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null} [v0] GetVotePollsByEndDateRequest v0 */ /** - * Constructs a new GetProtocolVersionUpgradeVoteStatusRequest. + * Constructs a new GetVotePollsByEndDateRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequest. - * @implements IGetProtocolVersionUpgradeVoteStatusRequest + * @classdesc Represents a GetVotePollsByEndDateRequest. + * @implements IGetVotePollsByEndDateRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set */ - function GetProtocolVersionUpgradeVoteStatusRequest(properties) { + function GetVotePollsByEndDateRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22956,89 +30814,89 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeVoteStatusRequest v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * GetVotePollsByEndDateRequest v0. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @instance */ - GetProtocolVersionUpgradeVoteStatusRequest.prototype.v0 = null; + GetVotePollsByEndDateRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeVoteStatusRequest version. + * GetVotePollsByEndDateRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeVoteStatusRequest.prototype, "version", { + Object.defineProperty(GetVotePollsByEndDateRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeVoteStatusRequest instance using the specified properties. + * Creates a new GetVotePollsByEndDateRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest instance + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest instance */ - GetProtocolVersionUpgradeVoteStatusRequest.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusRequest(properties); + GetVotePollsByEndDateRequest.create = function create(properties) { + return new GetVotePollsByEndDateRequest(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest 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 */ - GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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 GetProtocolVersionUpgradeVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest 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 */ - GetProtocolVersionUpgradeVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequest 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.GetProtocolVersionUpgradeVoteStatusRequest + * @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.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest + * @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 */ - GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest(); + 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -23049,37 +30907,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequest 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.GetProtocolVersionUpgradeVoteStatusRequest + * @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.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest + * @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 */ - GetProtocolVersionUpgradeVoteStatusRequest.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 GetProtocolVersionUpgradeVoteStatusRequest message. + * Verifies a GetVotePollsByEndDateRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @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 */ - GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -23088,40 +30946,40 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusRequest 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.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest */ - GetProtocolVersionUpgradeVoteStatusRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest) + 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.GetProtocolVersionUpgradeVoteStatusRequest(); + 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.GetProtocolVersionUpgradeVoteStatusRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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 GetProtocolVersionUpgradeVoteStatusRequest 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.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -23129,36 +30987,39 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeVoteStatusRequest to JSON. + * Converts this GetVotePollsByEndDateRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusRequest.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 = (function() { + GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 = (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 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 GetProtocolVersionUpgradeVoteStatusRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequestV0. - * @implements IGetProtocolVersionUpgradeVoteStatusRequestV0 + * Constructs a new GetVotePollsByEndDateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @classdesc Represents a GetVotePollsByEndDateRequestV0. + * @implements IGetVotePollsByEndDateRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set */ - function GetProtocolVersionUpgradeVoteStatusRequestV0(properties) { + function GetVotePollsByEndDateRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23166,100 +31027,139 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash. - * @member {Uint8Array} startProTxHash - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * GetVotePollsByEndDateRequestV0 startTimeInfo. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null|undefined} startTimeInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.startProTxHash = $util.newBuffer([]); + GetVotePollsByEndDateRequestV0.prototype.startTimeInfo = null; /** - * GetProtocolVersionUpgradeVoteStatusRequestV0 count. - * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * GetVotePollsByEndDateRequestV0 endTimeInfo. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null|undefined} endTimeInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.count = 0; + GetVotePollsByEndDateRequestV0.prototype.endTimeInfo = null; /** - * GetProtocolVersionUpgradeVoteStatusRequestV0 prove. + * GetVotePollsByEndDateRequestV0 limit. + * @member {number} limit + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @instance + */ + GetVotePollsByEndDateRequestV0.prototype.limit = 0; + + /** + * GetVotePollsByEndDateRequestV0 offset. + * @member {number} offset + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @instance + */ + GetVotePollsByEndDateRequestV0.prototype.offset = 0; + + /** + * GetVotePollsByEndDateRequestV0 ascending. + * @member {boolean} ascending + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @instance + */ + GetVotePollsByEndDateRequestV0.prototype.ascending = false; + + /** + * GetVotePollsByEndDateRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.prove = false; + GetVotePollsByEndDateRequestV0.prototype.prove = false; /** - * Creates a new GetProtocolVersionUpgradeVoteStatusRequestV0 instance using the specified properties. + * Creates a new GetVotePollsByEndDateRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @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.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 instance */ - GetProtocolVersionUpgradeVoteStatusRequestV0.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusRequestV0(properties); + GetVotePollsByEndDateRequestV0.create = function create(properties) { + return new GetVotePollsByEndDateRequestV0(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 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 */ - GetProtocolVersionUpgradeVoteStatusRequestV0.encode = function encode(message, writer) { + GetVotePollsByEndDateRequestV0.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.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 3, wireType 0 =*/24).bool(message.prove); + writer.uint32(/* id 6, wireType 0 =*/48).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 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 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 */ - GetProtocolVersionUpgradeVoteStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 + * @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 */ - GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0(); + 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.startProTxHash = reader.bytes(); + message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.decode(reader, reader.uint32()); break; case 2: - message.count = reader.uint32(); + message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.decode(reader, reader.uint32()); break; case 3: + message.limit = reader.uint32(); + break; + case 4: + message.offset = reader.uint32(); + break; + case 5: + message.ascending = reader.bool(); + break; + case 6: message.prove = reader.bool(); break; default: @@ -23271,38 +31171,51 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 + * @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 */ - GetProtocolVersionUpgradeVoteStatusRequestV0.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 GetProtocolVersionUpgradeVoteStatusRequestV0 message. + * Verifies a GetVotePollsByEndDateRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @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 */ - GetProtocolVersionUpgradeVoteStatusRequestV0.verify = function verify(message) { + GetVotePollsByEndDateRequestV0.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.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.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -23310,97 +31223,557 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusRequestV0 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 */ - GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0) + 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.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.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); 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 GetVotePollsByEndDateRequestV0 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function toObject(message, options) { + GetVotePollsByEndDateRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - if (options.bytes === String) - object.startProTxHash = ""; - else { - object.startProTxHash = []; - if (options.bytes !== Array) - object.startProTxHash = $util.newBuffer(object.startProTxHash); - } - object.count = 0; + object.startTimeInfo = null; + object.endTimeInfo = null; + object.limit = 0; + object.offset = 0; + object.ascending = false; 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.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 GetProtocolVersionUpgradeVoteStatusRequestV0 to JSON. + * Converts this GetVotePollsByEndDateRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProtocolVersionUpgradeVoteStatusRequestV0; + 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 + */ + + /** + * 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]]; + } + + /** + * 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 GetProtocolVersionUpgradeVoteStatusRequest; + return GetVotePollsByEndDateRequest; })(); - v0.GetProtocolVersionUpgradeVoteStatusResponse = (function() { + v0.GetVotePollsByEndDateResponse = (function() { /** - * Properties of a GetProtocolVersionUpgradeVoteStatusResponse. + * Properties of a GetVotePollsByEndDateResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeVoteStatusResponse - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null} [v0] GetProtocolVersionUpgradeVoteStatusResponse v0 + * @interface IGetVotePollsByEndDateResponse + * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null} [v0] GetVotePollsByEndDateResponse v0 */ /** - * Constructs a new GetProtocolVersionUpgradeVoteStatusResponse. + * Constructs a new GetVotePollsByEndDateResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponse. - * @implements IGetProtocolVersionUpgradeVoteStatusResponse + * @classdesc Represents a GetVotePollsByEndDateResponse. + * @implements IGetVotePollsByEndDateResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set */ - function GetProtocolVersionUpgradeVoteStatusResponse(properties) { + function GetVotePollsByEndDateResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23408,89 +31781,89 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeVoteStatusResponse v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * GetVotePollsByEndDateResponse v0. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @instance */ - GetProtocolVersionUpgradeVoteStatusResponse.prototype.v0 = null; + GetVotePollsByEndDateResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeVoteStatusResponse version. + * GetVotePollsByEndDateResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponse.prototype, "version", { + Object.defineProperty(GetVotePollsByEndDateResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeVoteStatusResponse instance using the specified properties. + * Creates a new GetVotePollsByEndDateResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @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.IGetVotePollsByEndDateResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse instance */ - GetProtocolVersionUpgradeVoteStatusResponse.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusResponse(properties); + GetVotePollsByEndDateResponse.create = function create(properties) { + return new GetVotePollsByEndDateResponse(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse 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 */ - GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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 GetProtocolVersionUpgradeVoteStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse 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 */ - GetProtocolVersionUpgradeVoteStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponse 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.GetProtocolVersionUpgradeVoteStatusResponse + * @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.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse + * @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 */ - GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse(); + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -23501,37 +31874,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponse 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.GetProtocolVersionUpgradeVoteStatusResponse + * @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.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse + * @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 */ - GetProtocolVersionUpgradeVoteStatusResponse.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 GetProtocolVersionUpgradeVoteStatusResponse message. + * Verifies a GetVotePollsByEndDateResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @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 */ - GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -23540,40 +31913,40 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusResponse 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.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse */ - GetProtocolVersionUpgradeVoteStatusResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse) + 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.GetProtocolVersionUpgradeVoteStatusResponse(); + 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.GetProtocolVersionUpgradeVoteStatusResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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 GetProtocolVersionUpgradeVoteStatusResponse 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.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -23581,36 +31954,36 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeVoteStatusResponse to JSON. + * Converts this GetVotePollsByEndDateResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusResponse.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 = (function() { + GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 = (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 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 GetProtocolVersionUpgradeVoteStatusResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponseV0. - * @implements IGetProtocolVersionUpgradeVoteStatusResponseV0 + * Constructs a new GetVotePollsByEndDateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @classdesc Represents a GetVotePollsByEndDateResponseV0. + * @implements IGetVotePollsByEndDateResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set */ - function GetProtocolVersionUpgradeVoteStatusResponseV0(properties) { + function GetVotePollsByEndDateResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23618,69 +31991,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 + * GetVotePollsByEndDateResponseV0 votePollsByTimestamps. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null|undefined} votePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.versions = null; + GetVotePollsByEndDateResponseV0.prototype.votePollsByTimestamps = null; /** - * GetProtocolVersionUpgradeVoteStatusResponseV0 proof. + * GetVotePollsByEndDateResponseV0 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.proof = null; + GetVotePollsByEndDateResponseV0.prototype.proof = null; /** - * GetProtocolVersionUpgradeVoteStatusResponseV0 metadata. + * GetVotePollsByEndDateResponseV0 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.metadata = null; + GetVotePollsByEndDateResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeVoteStatusResponseV0 result. - * @member {"versions"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * GetVotePollsByEndDateResponseV0 result. + * @member {"votePollsByTimestamps"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), + Object.defineProperty(GetVotePollsByEndDateResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["votePollsByTimestamps", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeVoteStatusResponseV0 instance using the specified properties. + * Creates a new GetVotePollsByEndDateResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @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.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusResponseV0(properties); + GetVotePollsByEndDateResponseV0.create = function create(properties) { + return new GetVotePollsByEndDateResponseV0(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 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 */ - GetProtocolVersionUpgradeVoteStatusResponseV0.encode = function encode(message, writer) { + GetVotePollsByEndDateResponseV0.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(); + 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")) @@ -23689,38 +32062,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 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 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 */ - GetProtocolVersionUpgradeVoteStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + * @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 */ - GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0(); + 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.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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()); @@ -23737,39 +32110,39 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + * @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 */ - GetProtocolVersionUpgradeVoteStatusResponseV0.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 GetProtocolVersionUpgradeVoteStatusResponseV0 message. + * Verifies a GetVotePollsByEndDateResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @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 */ - GetProtocolVersionUpgradeVoteStatusResponseV0.verify = function verify(message) { + GetVotePollsByEndDateResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.versions != null && message.hasOwnProperty("versions")) { + if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify(message.votePollsByTimestamps); if (error) - return "versions." + error; + return "votePollsByTimestamps." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -23791,54 +32164,54 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusResponseV0 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 */ - GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0) + 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.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); + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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 GetProtocolVersionUpgradeVoteStatusResponseV0 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function toObject(message, options) { + GetVotePollsByEndDateResponseV0.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); + 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 = "versions"; + object.result = "votePollsByTimestamps"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -23851,35 +32224,36 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeVoteStatusResponseV0 to JSON. + * Converts this GetVotePollsByEndDateResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals = (function() { + GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp = (function() { /** - * Properties of a VersionSignals. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 - * @interface IVersionSignals - * @property {Array.|null} [versionSignals] VersionSignals versionSignals + * 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 VersionSignals. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 - * @classdesc Represents a VersionSignals. - * @implements IVersionSignals + * 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set */ - function VersionSignals(properties) { - this.versionSignals = []; + function SerializedVotePollsByTimestamp(properties) { + this.serializedVotePolls = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23887,78 +32261,91 @@ $root.org = (function() { } /** - * VersionSignals versionSignals. - * @member {Array.} versionSignals - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * SerializedVotePollsByTimestamp timestamp. + * @member {number|Long} timestamp + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @instance */ - VersionSignals.prototype.versionSignals = $util.emptyArray; + SerializedVotePollsByTimestamp.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Creates a new VersionSignals instance using the specified properties. + * SerializedVotePollsByTimestamp serializedVotePolls. + * @member {Array.} serializedVotePolls + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @instance + */ + SerializedVotePollsByTimestamp.prototype.serializedVotePolls = $util.emptyArray; + + /** + * Creates a new SerializedVotePollsByTimestamp instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp instance */ - VersionSignals.create = function create(properties) { - return new VersionSignals(properties); + SerializedVotePollsByTimestamp.create = function create(properties) { + return new SerializedVotePollsByTimestamp(properties); }; /** - * Encodes the specified VersionSignals message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals 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 */ - VersionSignals.encode = function encode(message, writer) { + SerializedVotePollsByTimestamp.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.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 VersionSignals message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals 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 */ - VersionSignals.encodeDelimited = function encodeDelimited(message, writer) { + SerializedVotePollsByTimestamp.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VersionSignals 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @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 */ - VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals(); + 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.versionSignals && message.versionSignals.length)) - message.versionSignals = []; - message.versionSignals.push($root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.decode(reader, reader.uint32())); + message.timestamp = reader.uint64(); + break; + case 2: + if (!(message.serializedVotePolls && message.serializedVotePolls.length)) + message.serializedVotePolls = []; + message.serializedVotePolls.push(reader.bytes()); break; default: reader.skipType(tag & 7); @@ -23969,125 +32356,147 @@ $root.org = (function() { }; /** - * Decodes a VersionSignals 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @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 */ - VersionSignals.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 VersionSignals message. + * Verifies a SerializedVotePollsByTimestamp message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @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 */ - VersionSignals.verify = function verify(message) { + SerializedVotePollsByTimestamp.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 (error) - return "versionSignals." + error; - } + 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"; } return null; }; /** - * Creates a VersionSignals 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp */ - VersionSignals.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals) + 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.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.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]; } return message; }; /** - * Creates a plain object from a VersionSignals 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message VersionSignals + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VersionSignals.toObject = function toObject(message, options) { + SerializedVotePollsByTimestamp.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.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]; } return object; }; /** - * Converts this VersionSignals to JSON. + * Converts this SerializedVotePollsByTimestamp to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @instance * @returns {Object.} JSON object */ - VersionSignals.prototype.toJSON = function toJSON() { + SerializedVotePollsByTimestamp.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VersionSignals; + return SerializedVotePollsByTimestamp; })(); - GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal = (function() { + GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps = (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 SerializedVotePollsByTimestamps. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @interface ISerializedVotePollsByTimestamps + * @property {Array.|null} [votePollsByTimestamps] SerializedVotePollsByTimestamps votePollsByTimestamps + * @property {boolean|null} [finishedResults] SerializedVotePollsByTimestamps finishedResults */ - /** - * Constructs a new VersionSignal. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 - * @classdesc Represents a VersionSignal. - * @implements IVersionSignal + /** + * 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set */ - function VersionSignal(properties) { + function SerializedVotePollsByTimestamps(properties) { + this.votePollsByTimestamps = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -24095,88 +32504,91 @@ $root.org = (function() { } /** - * VersionSignal proTxHash. - * @member {Uint8Array} proTxHash - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * SerializedVotePollsByTimestamps votePollsByTimestamps. + * @member {Array.} votePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @instance */ - VersionSignal.prototype.proTxHash = $util.newBuffer([]); + SerializedVotePollsByTimestamps.prototype.votePollsByTimestamps = $util.emptyArray; /** - * VersionSignal version. - * @member {number} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * SerializedVotePollsByTimestamps finishedResults. + * @member {boolean} finishedResults + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @instance */ - VersionSignal.prototype.version = 0; + SerializedVotePollsByTimestamps.prototype.finishedResults = false; /** - * Creates a new VersionSignal instance using the specified properties. + * Creates a new SerializedVotePollsByTimestamps instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps instance */ - VersionSignal.create = function create(properties) { - return new VersionSignal(properties); + SerializedVotePollsByTimestamps.create = function create(properties) { + return new SerializedVotePollsByTimestamps(properties); }; /** - * Encodes the specified VersionSignal message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. + * 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode + * @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 */ - VersionSignal.encode = function encode(message, writer) { + SerializedVotePollsByTimestamps.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.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; }; /** - * 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 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode + * @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 */ - VersionSignal.encodeDelimited = function encodeDelimited(message, writer) { + SerializedVotePollsByTimestamps.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VersionSignal message from the specified reader or buffer. + * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + * @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 */ - VersionSignal.decode = function decode(reader, length) { + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal(); + 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: - message.proTxHash = reader.bytes(); + 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.version = reader.uint32(); + message.finishedResults = reader.bool(); break; default: reader.skipType(tag & 7); @@ -24187,131 +32599,139 @@ $root.org = (function() { }; /** - * Decodes a VersionSignal message from the specified reader or buffer, length delimited. + * Decodes a SerializedVotePollsByTimestamps 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @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.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 */ - VersionSignal.decodeDelimited = function decodeDelimited(reader) { + SerializedVotePollsByTimestamps.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a VersionSignal message. + * Verifies a SerializedVotePollsByTimestamps message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @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 */ - VersionSignal.verify = function verify(message) { + SerializedVotePollsByTimestamps.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.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 VersionSignal message from a plain object. Also converts values to their respective internal types. + * Creates a SerializedVotePollsByTimestamps 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps */ - VersionSignal.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal) + 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.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.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 VersionSignal message. Also converts values to other types if specified. + * Creates a plain object from a SerializedVotePollsByTimestamps 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message VersionSignal + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VersionSignal.toObject = function toObject(message, options) { + SerializedVotePollsByTimestamps.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.proTxHash = ""; - else { - object.proTxHash = []; - if (options.bytes !== Array) - object.proTxHash = $util.newBuffer(object.proTxHash); - } - object.version = 0; + if (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.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.finishedResults != null && message.hasOwnProperty("finishedResults")) + object.finishedResults = message.finishedResults; return object; }; /** - * Converts this VersionSignal to JSON. + * Converts this SerializedVotePollsByTimestamps to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps * @instance * @returns {Object.} JSON object */ - VersionSignal.prototype.toJSON = function toJSON() { + SerializedVotePollsByTimestamps.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VersionSignal; + return SerializedVotePollsByTimestamps; })(); - return GetProtocolVersionUpgradeVoteStatusResponseV0; + return GetVotePollsByEndDateResponseV0; })(); - return GetProtocolVersionUpgradeVoteStatusResponse; + return GetVotePollsByEndDateResponse; })(); - v0.GetEpochsInfoRequest = (function() { + v0.GetContestedResourceVoteStateRequest = (function() { /** - * Properties of a GetEpochsInfoRequest. + * Properties of a GetContestedResourceVoteStateRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetEpochsInfoRequest - * @property {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null} [v0] GetEpochsInfoRequest v0 + * @interface IGetContestedResourceVoteStateRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null} [v0] GetContestedResourceVoteStateRequest v0 */ /** - * Constructs a new GetEpochsInfoRequest. + * Constructs a new GetContestedResourceVoteStateRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetEpochsInfoRequest. - * @implements IGetEpochsInfoRequest + * @classdesc Represents a GetContestedResourceVoteStateRequest. + * @implements IGetContestedResourceVoteStateRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set */ - function GetEpochsInfoRequest(properties) { + function GetContestedResourceVoteStateRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -24319,89 +32739,89 @@ $root.org = (function() { } /** - * GetEpochsInfoRequest v0. - * @member {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * GetContestedResourceVoteStateRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @instance */ - GetEpochsInfoRequest.prototype.v0 = null; + GetContestedResourceVoteStateRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetEpochsInfoRequest version. + * GetContestedResourceVoteStateRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @instance */ - Object.defineProperty(GetEpochsInfoRequest.prototype, "version", { + Object.defineProperty(GetContestedResourceVoteStateRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetEpochsInfoRequest instance using the specified properties. + * Creates a new GetContestedResourceVoteStateRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @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.IGetContestedResourceVoteStateRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest instance */ - GetEpochsInfoRequest.create = function create(properties) { - return new GetEpochsInfoRequest(properties); + GetContestedResourceVoteStateRequest.create = function create(properties) { + return new GetContestedResourceVoteStateRequest(properties); }; /** - * Encodes the specified GetEpochsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.verify|verify} messages. + * 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.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode + * @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 */ - GetEpochsInfoRequest.encode = function encode(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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $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 GetEpochsInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.verify|verify} messages. + * 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.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode + * @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 */ - GetEpochsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoRequest 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.GetEpochsInfoRequest + * @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.GetEpochsInfoRequest} GetEpochsInfoRequest + * @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 */ - GetEpochsInfoRequest.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.GetEpochsInfoRequest(); + 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -24412,37 +32832,37 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoRequest 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.GetEpochsInfoRequest + * @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.GetEpochsInfoRequest} GetEpochsInfoRequest + * @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 */ - GetEpochsInfoRequest.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 GetEpochsInfoRequest message. + * Verifies a GetContestedResourceVoteStateRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @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 */ - GetEpochsInfoRequest.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -24451,40 +32871,40 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoRequest 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.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest */ - GetEpochsInfoRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest) + 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.GetEpochsInfoRequest(); + 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.GetEpochsInfoRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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 GetEpochsInfoRequest 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.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest} message GetEpochsInfoRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetEpochsInfoRequest.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -24492,37 +32912,43 @@ $root.org = (function() { }; /** - * Converts this GetEpochsInfoRequest to JSON. + * Converts this GetContestedResourceVoteStateRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @instance * @returns {Object.} JSON object */ - GetEpochsInfoRequest.prototype.toJSON = function toJSON() { + GetContestedResourceVoteStateRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetEpochsInfoRequest.GetEpochsInfoRequestV0 = (function() { + GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 = (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 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 GetEpochsInfoRequestV0. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest - * @classdesc Represents a GetEpochsInfoRequestV0. - * @implements IGetEpochsInfoRequestV0 + * Constructs a new GetContestedResourceVoteStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @classdesc Represents a GetContestedResourceVoteStateRequestV0. + * @implements IGetContestedResourceVoteStateRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set */ - function GetEpochsInfoRequestV0(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) @@ -24530,113 +32956,181 @@ $root.org = (function() { } /** - * GetEpochsInfoRequestV0 startEpoch. - * @member {google.protobuf.IUInt32Value|null|undefined} startEpoch - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * GetContestedResourceVoteStateRequestV0 contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetEpochsInfoRequestV0.prototype.startEpoch = null; + GetContestedResourceVoteStateRequestV0.prototype.contractId = $util.newBuffer([]); /** - * GetEpochsInfoRequestV0 count. - * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * GetContestedResourceVoteStateRequestV0 documentTypeName. + * @member {string} documentTypeName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetEpochsInfoRequestV0.prototype.count = 0; + GetContestedResourceVoteStateRequestV0.prototype.documentTypeName = ""; /** - * GetEpochsInfoRequestV0 ascending. - * @member {boolean} ascending - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * GetContestedResourceVoteStateRequestV0 indexName. + * @member {string} indexName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetEpochsInfoRequestV0.prototype.ascending = false; + GetContestedResourceVoteStateRequestV0.prototype.indexName = ""; /** - * GetEpochsInfoRequestV0 prove. + * GetContestedResourceVoteStateRequestV0 indexValues. + * @member {Array.} indexValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @instance + */ + GetContestedResourceVoteStateRequestV0.prototype.indexValues = $util.emptyArray; + + /** + * GetContestedResourceVoteStateRequestV0 resultType. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} resultType + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @instance + */ + GetContestedResourceVoteStateRequestV0.prototype.resultType = 0; + + /** + * 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetEpochsInfoRequestV0.prototype.prove = false; + GetContestedResourceVoteStateRequestV0.prototype.prove = false; /** - * Creates a new GetEpochsInfoRequestV0 instance using the specified properties. + * Creates a new GetContestedResourceVoteStateRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @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.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 instance */ - GetEpochsInfoRequestV0.create = function create(properties) { - return new GetEpochsInfoRequestV0(properties); + GetContestedResourceVoteStateRequestV0.create = function create(properties) { + return new GetContestedResourceVoteStateRequestV0(properties); }; /** - * Encodes the specified GetEpochsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 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 */ - GetEpochsInfoRequestV0.encode = function encode(message, writer) { + GetContestedResourceVoteStateRequestV0.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.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 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); + writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.count); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); + writer.uint32(/* id 9, wireType 0 =*/72).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 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 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 */ - GetEpochsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoRequestV0 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + * @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 */ - GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0(); + 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.startEpoch = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + message.contractId = reader.bytes(); break; case 2: - message.count = reader.uint32(); + message.documentTypeName = reader.string(); break; case 3: - message.ascending = reader.bool(); + message.indexName = reader.string(); break; case 4: + if (!(message.indexValues && message.indexValues.length)) + message.indexValues = []; + message.indexValues.push(reader.bytes()); + break; + case 5: + 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: @@ -24648,43 +33142,68 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoRequestV0 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + * @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 */ - GetEpochsInfoRequestV0.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 GetEpochsInfoRequestV0 message. + * Verifies a GetContestedResourceVoteStateRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @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 */ - GetEpochsInfoRequestV0.verify = function verify(message) { + GetContestedResourceVoteStateRequestV0.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 (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.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 "startEpoch." + error; + return "startAtIdentifierInfo." + error; } if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count)) return "count: integer expected"; - if (message.ascending != null && message.hasOwnProperty("ascending")) - if (typeof message.ascending !== "boolean") - return "ascending: boolean expected"; if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -24692,96 +33211,389 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoRequestV0 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 */ - GetEpochsInfoRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0) + 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.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.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]; + } + 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.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.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 GetContestedResourceVoteStateRequestV0 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetEpochsInfoRequestV0.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) { - object.startEpoch = null; + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + object.documentTypeName = ""; + object.indexName = ""; + object.resultType = options.enums === String ? "DOCUMENTS" : 0; + object.allowIncludeLockedAndAbstainingVoteTally = false; + object.startAtIdentifierInfo = null; object.count = 0; - object.ascending = false; object.prove = false; } - if (message.startEpoch != null && message.hasOwnProperty("startEpoch")) - object.startEpoch = $root.google.protobuf.UInt32Value.toObject(message.startEpoch, options); + if (message.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.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 GetContestedResourceVoteStateRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance * @returns {Object.} JSON object */ - GetEpochsInfoRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourceVoteStateRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetEpochsInfoRequestV0; + GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo = (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 + */ + + /** + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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]]; + } + + /** + * StartAtIdentifierInfo startIdentifier. + * @member {Uint8Array} startIdentifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @instance + */ + StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); + + /** + * StartAtIdentifierInfo startIdentifierIncluded. + * @member {boolean} startIdentifierIncluded + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @instance + */ + StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; + + /** + * Creates a new StartAtIdentifierInfo instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @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 + */ + StartAtIdentifierInfo.create = function create(properties) { + return new StartAtIdentifierInfo(properties); + }; + + /** + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @static + * @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 + */ + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @static + * @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 + */ + 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.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.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 + */ + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @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 + */ + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + */ + 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.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 StartAtIdentifierInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @instance + * @returns {Object.} JSON object + */ + StartAtIdentifierInfo.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 GetContestedResourceVoteStateRequestV0; })(); - return GetEpochsInfoRequest; + return GetContestedResourceVoteStateRequest; })(); - v0.GetEpochsInfoResponse = (function() { + v0.GetContestedResourceVoteStateResponse = (function() { /** - * Properties of a GetEpochsInfoResponse. + * Properties of a GetContestedResourceVoteStateResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetEpochsInfoResponse - * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null} [v0] GetEpochsInfoResponse v0 + * @interface IGetContestedResourceVoteStateResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null} [v0] GetContestedResourceVoteStateResponse v0 */ /** - * Constructs a new GetEpochsInfoResponse. + * Constructs a new GetContestedResourceVoteStateResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetEpochsInfoResponse. - * @implements IGetEpochsInfoResponse + * @classdesc Represents a GetContestedResourceVoteStateResponse. + * @implements IGetContestedResourceVoteStateResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set */ - function GetEpochsInfoResponse(properties) { + function GetContestedResourceVoteStateResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -24789,89 +33601,89 @@ $root.org = (function() { } /** - * GetEpochsInfoResponse v0. - * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * GetContestedResourceVoteStateResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @instance */ - GetEpochsInfoResponse.prototype.v0 = null; + GetContestedResourceVoteStateResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetEpochsInfoResponse version. + * GetContestedResourceVoteStateResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @instance */ - Object.defineProperty(GetEpochsInfoResponse.prototype, "version", { + Object.defineProperty(GetContestedResourceVoteStateResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetEpochsInfoResponse instance using the specified properties. + * Creates a new GetContestedResourceVoteStateResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @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.IGetContestedResourceVoteStateResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse instance */ - GetEpochsInfoResponse.create = function create(properties) { - return new GetEpochsInfoResponse(properties); + GetContestedResourceVoteStateResponse.create = function create(properties) { + return new GetContestedResourceVoteStateResponse(properties); }; /** - * Encodes the specified GetEpochsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse 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 */ - GetEpochsInfoResponse.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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 GetEpochsInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse 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 */ - GetEpochsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoResponse 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.GetEpochsInfoResponse + * @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.GetEpochsInfoResponse} GetEpochsInfoResponse + * @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 */ - GetEpochsInfoResponse.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.GetEpochsInfoResponse(); + 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -24882,37 +33694,37 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoResponse 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.GetEpochsInfoResponse + * @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.GetEpochsInfoResponse} GetEpochsInfoResponse + * @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 */ - GetEpochsInfoResponse.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 GetEpochsInfoResponse message. + * Verifies a GetContestedResourceVoteStateResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @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 */ - GetEpochsInfoResponse.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -24921,40 +33733,40 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoResponse 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.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse */ - GetEpochsInfoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse) + 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.GetEpochsInfoResponse(); + 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.GetEpochsInfoResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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 GetEpochsInfoResponse 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.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} message GetEpochsInfoResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetEpochsInfoResponse.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -24962,36 +33774,36 @@ $root.org = (function() { }; /** - * Converts this GetEpochsInfoResponse to JSON. + * Converts this GetContestedResourceVoteStateResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @instance * @returns {Object.} JSON object */ - GetEpochsInfoResponse.prototype.toJSON = function toJSON() { + GetContestedResourceVoteStateResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetEpochsInfoResponse.GetEpochsInfoResponseV0 = (function() { - - /** - * Properties of a GetEpochsInfoResponseV0. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse - * @interface IGetEpochsInfoResponseV0 - * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null} [epochs] GetEpochsInfoResponseV0 epochs - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetEpochsInfoResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetEpochsInfoResponseV0 metadata + GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 = (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 */ /** - * Constructs a new GetEpochsInfoResponseV0. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse - * @classdesc Represents a GetEpochsInfoResponseV0. - * @implements IGetEpochsInfoResponseV0 + * Constructs a new GetContestedResourceVoteStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @classdesc Represents a GetContestedResourceVoteStateResponseV0. + * @implements IGetContestedResourceVoteStateResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set */ - function GetEpochsInfoResponseV0(properties) { + function GetContestedResourceVoteStateResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -24999,69 +33811,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 + * GetContestedResourceVoteStateResponseV0 contestedResourceContenders. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null|undefined} contestedResourceContenders + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - GetEpochsInfoResponseV0.prototype.epochs = null; + GetContestedResourceVoteStateResponseV0.prototype.contestedResourceContenders = null; /** - * GetEpochsInfoResponseV0 proof. + * GetContestedResourceVoteStateResponseV0 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - GetEpochsInfoResponseV0.prototype.proof = null; + GetContestedResourceVoteStateResponseV0.prototype.proof = null; /** - * GetEpochsInfoResponseV0 metadata. + * GetContestedResourceVoteStateResponseV0 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - GetEpochsInfoResponseV0.prototype.metadata = null; + GetContestedResourceVoteStateResponseV0.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 + * GetContestedResourceVoteStateResponseV0 result. + * @member {"contestedResourceContenders"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - Object.defineProperty(GetEpochsInfoResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]), + Object.defineProperty(GetContestedResourceVoteStateResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["contestedResourceContenders", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetEpochsInfoResponseV0 instance using the specified properties. + * Creates a new GetContestedResourceVoteStateResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @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.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 instance */ - GetEpochsInfoResponseV0.create = function create(properties) { - return new GetEpochsInfoResponseV0(properties); + GetContestedResourceVoteStateResponseV0.create = function create(properties) { + return new GetContestedResourceVoteStateResponseV0(properties); }; /** - * Encodes the specified GetEpochsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 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 */ - GetEpochsInfoResponseV0.encode = function encode(message, writer) { + GetContestedResourceVoteStateResponseV0.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.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")) @@ -25070,38 +33882,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 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 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 */ - GetEpochsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoResponseV0 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + * @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 */ - GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0(); + 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.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.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()); @@ -25118,39 +33930,39 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoResponseV0 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + * @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 */ - GetEpochsInfoResponseV0.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 GetEpochsInfoResponseV0 message. + * Verifies a GetContestedResourceVoteStateResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @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 */ - GetEpochsInfoResponseV0.verify = function verify(message) { + GetContestedResourceVoteStateResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.epochs != null && message.hasOwnProperty("epochs")) { + if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) { 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify(message.contestedResourceContenders); if (error) - return "epochs." + error; + return "contestedResourceContenders." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -25172,95 +33984,467 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoResponseV0 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 */ - GetEpochsInfoResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0) + 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.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.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.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 GetContestedResourceVoteStateResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContestedResourceVoteStateResponseV0.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 (options.oneofs) + object.result = "contestedResourceContenders"; + } + 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 GetContestedResourceVoteStateResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetContestedResourceVoteStateResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetContestedResourceVoteStateResponseV0.FinishedVoteInfo = (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 + */ + + /** + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set + */ + function FinishedVoteInfo(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]]; + } + + /** + * 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 + * @instance + */ + FinishedVoteInfo.prototype.finishedAtEpoch = 0; + + /** + * Creates a new FinishedVoteInfo instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @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 + */ + FinishedVoteInfo.create = function create(properties) { + return new FinishedVoteInfo(properties); + }; + + /** + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @static + * @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 + */ + FinishedVoteInfo.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); + return writer; + }; + + /** + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @static + * @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 + */ + FinishedVoteInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FinishedVoteInfo message from the specified reader or buffer. + * @function decode + * @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.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 + */ + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo(); + 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(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FinishedVoteInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @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.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 + */ + FinishedVoteInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FinishedVoteInfo message. + * @function verify + * @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 + */ + FinishedVoteInfo.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"; + return null; + }; + + /** + * Creates a FinishedVoteInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo + */ + 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.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.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. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message FinishedVoteInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FinishedVoteInfo.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 (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; - var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0(); - if (object.epochs != null) { - if (typeof object.epochs !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.epochs: object expected"); - message.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.fromObject(object.epochs); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; + }; - /** - * Creates a plain object from a GetEpochsInfoResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetEpochsInfoResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.epochs != null && message.hasOwnProperty("epochs")) { - object.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(message.epochs, options); - if (options.oneofs) - object.result = "epochs"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + /** + * Converts this FinishedVoteInfo to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @instance + * @returns {Object.} JSON object + */ + FinishedVoteInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetEpochsInfoResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetEpochsInfoResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * 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; + })(); - GetEpochsInfoResponseV0.EpochInfos = (function() { + return FinishedVoteInfo; + })(); + + GetContestedResourceVoteStateResponseV0.ContestedResourceContenders = (function() { /** - * Properties of an EpochInfos. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @interface IEpochInfos - * @property {Array.|null} [epochInfos] EpochInfos epochInfos + * 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 EpochInfos. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @classdesc Represents an EpochInfos. - * @implements IEpochInfos + * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set */ - function EpochInfos(properties) { - this.epochInfos = []; + function ContestedResourceContenders(properties) { + this.contenders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25268,78 +34452,117 @@ $root.org = (function() { } /** - * EpochInfos epochInfos. - * @member {Array.} epochInfos - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * ContestedResourceContenders contenders. + * @member {Array.} contenders + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @instance */ - EpochInfos.prototype.epochInfos = $util.emptyArray; + ContestedResourceContenders.prototype.contenders = $util.emptyArray; /** - * Creates a new EpochInfos instance using the specified properties. + * ContestedResourceContenders abstainVoteTally. + * @member {number} abstainVoteTally + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders + * @instance + */ + ContestedResourceContenders.prototype.abstainVoteTally = 0; + + /** + * ContestedResourceContenders lockVoteTally. + * @member {number} lockVoteTally + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders + * @instance + */ + ContestedResourceContenders.prototype.lockVoteTally = 0; + + /** + * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders instance */ - EpochInfos.create = function create(properties) { - return new EpochInfos(properties); + ContestedResourceContenders.create = function create(properties) { + return new ContestedResourceContenders(properties); }; /** - * Encodes the specified EpochInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify|verify} messages. + * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos 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 */ - EpochInfos.encode = function encode(message, writer) { + ContestedResourceContenders.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.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 EpochInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos 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 */ - EpochInfos.encodeDelimited = function encodeDelimited(message, writer) { + ContestedResourceContenders.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EpochInfos 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @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 */ - EpochInfos.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos(); + 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.epochInfos && message.epochInfos.length)) - message.epochInfos = []; - message.epochInfos.push($root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.decode(reader, reader.uint32())); + 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); @@ -25350,129 +34573,157 @@ $root.org = (function() { }; /** - * Decodes an EpochInfos 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @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 */ - EpochInfos.decodeDelimited = function decodeDelimited(reader) { + ContestedResourceContenders.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EpochInfos message. + * Verifies a ContestedResourceContenders message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @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 */ - EpochInfos.verify = function verify(message) { + ContestedResourceContenders.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.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 "epochInfos." + 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 an EpochInfos 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders */ - EpochInfos.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos) + 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.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.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 an EpochInfos 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message EpochInfos + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message ContestedResourceContenders * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EpochInfos.toObject = function toObject(message, options) { + ContestedResourceContenders.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.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 EpochInfos to JSON. + * Converts this ContestedResourceContenders to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @instance * @returns {Object.} JSON object */ - EpochInfos.prototype.toJSON = function toJSON() { + ContestedResourceContenders.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EpochInfos; + return ContestedResourceContenders; })(); - GetEpochsInfoResponseV0.EpochInfo = (function() { + GetContestedResourceVoteStateResponseV0.Contender = (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 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 EpochInfo. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @classdesc Represents an EpochInfo. - * @implements IEpochInfo + * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set */ - function EpochInfo(properties) { + function Contender(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25480,140 +34731,101 @@ $root.org = (function() { } /** - * EpochInfo number. - * @member {number} number - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo - * @instance - */ - EpochInfo.prototype.number = 0; - - /** - * EpochInfo firstBlockHeight. - * @member {number|Long} firstBlockHeight - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo - * @instance - */ - EpochInfo.prototype.firstBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * EpochInfo firstCoreBlockHeight. - * @member {number} firstCoreBlockHeight - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo - * @instance - */ - EpochInfo.prototype.firstCoreBlockHeight = 0; - - /** - * EpochInfo startTime. - * @member {number|Long} startTime - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * Contender identifier. + * @member {Uint8Array} identifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance */ - EpochInfo.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + Contender.prototype.identifier = $util.newBuffer([]); /** - * EpochInfo feeMultiplier. - * @member {number} feeMultiplier - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * Contender voteCount. + * @member {number} voteCount + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance */ - EpochInfo.prototype.feeMultiplier = 0; + Contender.prototype.voteCount = 0; /** - * EpochInfo protocolVersion. - * @member {number} protocolVersion - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * Contender document. + * @member {Uint8Array} document + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance */ - EpochInfo.prototype.protocolVersion = 0; + Contender.prototype.document = $util.newBuffer([]); /** - * Creates a new EpochInfo instance using the specified properties. + * Creates a new Contender instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @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 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender instance */ - EpochInfo.create = function create(properties) { - return new EpochInfo(properties); + Contender.create = function create(properties) { + return new Contender(properties); }; /** - * Encodes the specified EpochInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo} message EpochInfo 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 */ - EpochInfo.encode = function encode(message, writer) { + Contender.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); + 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 EpochInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo} message EpochInfo 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 */ - EpochInfo.encodeDelimited = function encodeDelimited(message, writer) { + Contender.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EpochInfo 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @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 */ - EpochInfo.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo(); + 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.number = reader.uint32(); + message.identifier = reader.bytes(); break; case 2: - message.firstBlockHeight = reader.uint64(); + message.voteCount = reader.uint32(); 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.document = reader.bytes(); break; default: reader.skipType(tag & 7); @@ -25624,182 +34836,148 @@ $root.org = (function() { }; /** - * Decodes an EpochInfo 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @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 */ - EpochInfo.decodeDelimited = function decodeDelimited(reader) { + Contender.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EpochInfo message. + * Verifies a Contender message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @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 */ - 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"; + 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 an EpochInfo 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender */ - EpochInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo) + 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.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.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 an EpochInfo 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} message EpochInfo + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message Contender * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EpochInfo.toObject = function toObject(message, options) { + Contender.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.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.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.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 EpochInfo to JSON. + * Converts this Contender to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance * @returns {Object.} JSON object */ - EpochInfo.prototype.toJSON = function toJSON() { + Contender.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EpochInfo; + return Contender; })(); - return GetEpochsInfoResponseV0; + return GetContestedResourceVoteStateResponseV0; })(); - return GetEpochsInfoResponse; + return GetContestedResourceVoteStateResponse; })(); - v0.GetContestedResourcesRequest = (function() { + v0.GetContestedResourceVotersForIdentityRequest = (function() { /** - * Properties of a GetContestedResourcesRequest. + * Properties of a GetContestedResourceVotersForIdentityRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourcesRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null} [v0] GetContestedResourcesRequest v0 + * @interface IGetContestedResourceVotersForIdentityRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null} [v0] GetContestedResourceVotersForIdentityRequest v0 */ /** - * Constructs a new GetContestedResourcesRequest. + * Constructs a new GetContestedResourceVotersForIdentityRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourcesRequest. - * @implements IGetContestedResourcesRequest + * @classdesc Represents a GetContestedResourceVotersForIdentityRequest. + * @implements IGetContestedResourceVotersForIdentityRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set */ - function GetContestedResourcesRequest(properties) { + function GetContestedResourceVotersForIdentityRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25807,89 +34985,89 @@ $root.org = (function() { } /** - * GetContestedResourcesRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * GetContestedResourceVotersForIdentityRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @instance */ - GetContestedResourcesRequest.prototype.v0 = null; + GetContestedResourceVotersForIdentityRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourcesRequest version. + * GetContestedResourceVotersForIdentityRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @instance */ - Object.defineProperty(GetContestedResourcesRequest.prototype, "version", { + Object.defineProperty(GetContestedResourceVotersForIdentityRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourcesRequest instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @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.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest instance */ - GetContestedResourcesRequest.create = function create(properties) { - return new GetContestedResourcesRequest(properties); + GetContestedResourceVotersForIdentityRequest.create = function create(properties) { + return new GetContestedResourceVotersForIdentityRequest(properties); }; /** - * Encodes the specified GetContestedResourcesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest 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 */ - GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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 GetContestedResourcesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest 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 */ - GetContestedResourcesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesRequest 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.GetContestedResourcesRequest + * @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.GetContestedResourcesRequest} GetContestedResourcesRequest + * @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 */ - GetContestedResourcesRequest.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.GetContestedResourcesRequest(); + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -25900,37 +35078,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesRequest 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.GetContestedResourcesRequest + * @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.GetContestedResourcesRequest} GetContestedResourcesRequest + * @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 */ - GetContestedResourcesRequest.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 GetContestedResourcesRequest message. + * Verifies a GetContestedResourceVotersForIdentityRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @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 */ - GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -25939,40 +35117,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesRequest 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.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest */ - GetContestedResourcesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest) + 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.GetContestedResourcesRequest(); + 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.GetContestedResourcesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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 GetContestedResourcesRequest 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.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest} message GetContestedResourcesRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -25980,44 +35158,43 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourcesRequest to JSON. + * Converts this GetContestedResourceVotersForIdentityRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @instance * @returns {Object.} JSON object */ - GetContestedResourcesRequest.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesRequest.GetContestedResourcesRequestV0 = (function() { + GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 = (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 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 GetContestedResourcesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest - * @classdesc Represents a GetContestedResourcesRequestV0. - * @implements IGetContestedResourcesRequestV0 + * Constructs a new GetContestedResourceVotersForIdentityRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @classdesc Represents a GetContestedResourceVotersForIdentityRequestV0. + * @implements IGetContestedResourceVotersForIdentityRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set */ - function GetContestedResourcesRequestV0(properties) { - this.startIndexValues = []; - this.endIndexValues = []; + function GetContestedResourceVotersForIdentityRequestV0(properties) { + this.indexValues = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26025,99 +35202,99 @@ $root.org = (function() { } /** - * GetContestedResourcesRequestV0 contractId. + * GetContestedResourceVotersForIdentityRequestV0 contractId. * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.contractId = $util.newBuffer([]); + GetContestedResourceVotersForIdentityRequestV0.prototype.contractId = $util.newBuffer([]); /** - * GetContestedResourcesRequestV0 documentTypeName. + * GetContestedResourceVotersForIdentityRequestV0 documentTypeName. * @member {string} documentTypeName - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.documentTypeName = ""; + GetContestedResourceVotersForIdentityRequestV0.prototype.documentTypeName = ""; /** - * GetContestedResourcesRequestV0 indexName. + * GetContestedResourceVotersForIdentityRequestV0 indexName. * @member {string} indexName - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.indexName = ""; + GetContestedResourceVotersForIdentityRequestV0.prototype.indexName = ""; /** - * GetContestedResourcesRequestV0 startIndexValues. - * @member {Array.} startIndexValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * GetContestedResourceVotersForIdentityRequestV0 indexValues. + * @member {Array.} indexValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.startIndexValues = $util.emptyArray; + GetContestedResourceVotersForIdentityRequestV0.prototype.indexValues = $util.emptyArray; /** - * GetContestedResourcesRequestV0 endIndexValues. - * @member {Array.} endIndexValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * GetContestedResourceVotersForIdentityRequestV0 contestantId. + * @member {Uint8Array} contestantId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.endIndexValues = $util.emptyArray; + GetContestedResourceVotersForIdentityRequestV0.prototype.contestantId = $util.newBuffer([]); /** - * GetContestedResourcesRequestV0 startAtValueInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null|undefined} startAtValueInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.startAtValueInfo = null; + GetContestedResourceVotersForIdentityRequestV0.prototype.startAtIdentifierInfo = null; /** - * GetContestedResourcesRequestV0 count. + * GetContestedResourceVotersForIdentityRequestV0 count. * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.count = 0; + GetContestedResourceVotersForIdentityRequestV0.prototype.count = 0; /** - * GetContestedResourcesRequestV0 orderAscending. + * GetContestedResourceVotersForIdentityRequestV0 orderAscending. * @member {boolean} orderAscending - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.orderAscending = false; + GetContestedResourceVotersForIdentityRequestV0.prototype.orderAscending = false; /** - * GetContestedResourcesRequestV0 prove. + * GetContestedResourceVotersForIdentityRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.prove = false; + GetContestedResourceVotersForIdentityRequestV0.prototype.prove = false; /** - * Creates a new GetContestedResourcesRequestV0 instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @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.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 instance */ - GetContestedResourcesRequestV0.create = function create(properties) { - return new GetContestedResourcesRequestV0(properties); + GetContestedResourceVotersForIdentityRequestV0.create = function create(properties) { + return new GetContestedResourceVotersForIdentityRequestV0(properties); }; /** - * Encodes the specified GetContestedResourcesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 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 */ - GetContestedResourcesRequestV0.encode = function encode(message, writer) { + GetContestedResourceVotersForIdentityRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) @@ -26126,14 +35303,13 @@ $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.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.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")) @@ -26144,33 +35320,33 @@ $root.org = (function() { }; /** - * Encodes the specified GetContestedResourcesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 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 */ - GetContestedResourcesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesRequestV0 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 + * @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 */ - GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0(); + 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) { @@ -26184,17 +35360,15 @@ $root.org = (function() { message.indexName = reader.string(); break; case 4: - if (!(message.startIndexValues && message.startIndexValues.length)) - message.startIndexValues = []; - message.startIndexValues.push(reader.bytes()); + if (!(message.indexValues && message.indexValues.length)) + message.indexValues = []; + message.indexValues.push(reader.bytes()); break; case 5: - if (!(message.endIndexValues && message.endIndexValues.length)) - message.endIndexValues = []; - message.endIndexValues.push(reader.bytes()); + message.contestantId = reader.bytes(); break; case 6: - message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.decode(reader, reader.uint32()); + message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32()); break; case 7: message.count = reader.uint32(); @@ -26214,30 +35388,30 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesRequestV0 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 + * @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 */ - GetContestedResourcesRequestV0.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 GetContestedResourcesRequestV0 message. + * Verifies a GetContestedResourceVotersForIdentityRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @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 */ - GetContestedResourcesRequestV0.verify = function verify(message) { + GetContestedResourceVotersForIdentityRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.contractId != null && message.hasOwnProperty("contractId")) @@ -26249,24 +35423,20 @@ $root.org = (function() { 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.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.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify(message.startAtValueInfo); + 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 "startAtValueInfo." + error; + return "startAtIdentifierInfo." + error; } if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count)) @@ -26281,17 +35451,17 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesRequestV0 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 */ - GetContestedResourcesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0) + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0(); + 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); @@ -26301,30 +35471,25 @@ $root.org = (function() { 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.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.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.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; @@ -26336,22 +35501,20 @@ $root.org = (function() { }; /** - * Creates a plain object from a GetContestedResourcesRequestV0 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesRequestV0.toObject = function toObject(message, options) { + GetContestedResourceVotersForIdentityRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.startIndexValues = []; - object.endIndexValues = []; - } + if (options.arrays || options.defaults) + object.indexValues = []; if (options.defaults) { if (options.bytes === String) object.contractId = ""; @@ -26362,7 +35525,14 @@ $root.org = (function() { } object.documentTypeName = ""; object.indexName = ""; - object.startAtValueInfo = null; + 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; @@ -26373,18 +35543,15 @@ $root.org = (function() { 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.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.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) - object.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(message.startAtValueInfo, options); + 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")) @@ -26395,35 +35562,35 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourcesRequestV0 to JSON. + * Converts this GetContestedResourceVotersForIdentityRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourcesRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesRequestV0.StartAtValueInfo = (function() { + GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo = (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 + * 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 StartAtValueInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @classdesc Represents a StartAtValueInfo. - * @implements IStartAtValueInfo + * 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set */ - function StartAtValueInfo(properties) { + function StartAtIdentifierInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26431,88 +35598,88 @@ $root.org = (function() { } /** - * StartAtValueInfo startValue. - * @member {Uint8Array} startValue - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * StartAtIdentifierInfo startIdentifier. + * @member {Uint8Array} startIdentifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @instance */ - StartAtValueInfo.prototype.startValue = $util.newBuffer([]); + StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); /** - * StartAtValueInfo startValueIncluded. - * @member {boolean} startValueIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * StartAtIdentifierInfo startIdentifierIncluded. + * @member {boolean} startIdentifierIncluded + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @instance */ - StartAtValueInfo.prototype.startValueIncluded = false; + StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; /** - * Creates a new StartAtValueInfo instance using the specified properties. + * Creates a new StartAtIdentifierInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @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 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance */ - StartAtValueInfo.create = function create(properties) { - return new StartAtValueInfo(properties); + StartAtIdentifierInfo.create = function create(properties) { + return new StartAtIdentifierInfo(properties); }; /** - * Encodes the specified StartAtValueInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages. + * 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode + * @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 */ - StartAtValueInfo.encode = function encode(message, writer) { + StartAtIdentifierInfo.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); + 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 StartAtValueInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages. + * 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode + * @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 */ - StartAtValueInfo.encodeDelimited = function encodeDelimited(message, writer) { + StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StartAtValueInfo 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo + * @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 */ - StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo(); + 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.startValue = reader.bytes(); + message.startIdentifier = reader.bytes(); break; case 2: - message.startValueIncluded = reader.bool(); + message.startIdentifierIncluded = reader.bool(); break; default: reader.skipType(tag & 7); @@ -26523,131 +35690,131 @@ $root.org = (function() { }; /** - * Decodes a StartAtValueInfo 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo + * @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 */ - StartAtValueInfo.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 StartAtValueInfo message. + * Verifies a StartAtIdentifierInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @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 */ - StartAtValueInfo.verify = function verify(message) { + StartAtIdentifierInfo.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"; + 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 StartAtValueInfo 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo */ - StartAtValueInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo) + 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.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); + 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 StartAtValueInfo 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} message StartAtValueInfo + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StartAtValueInfo.toObject = function toObject(message, options) { + StartAtIdentifierInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.startValue = ""; + object.startIdentifier = ""; else { - object.startValue = []; + object.startIdentifier = []; if (options.bytes !== Array) - object.startValue = $util.newBuffer(object.startValue); + object.startIdentifier = $util.newBuffer(object.startIdentifier); } - object.startValueIncluded = false; + object.startIdentifierIncluded = 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; + 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 StartAtValueInfo to JSON. + * Converts this StartAtIdentifierInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo * @instance * @returns {Object.} JSON object */ - StartAtValueInfo.prototype.toJSON = function toJSON() { + StartAtIdentifierInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StartAtValueInfo; + return StartAtIdentifierInfo; })(); - return GetContestedResourcesRequestV0; + return GetContestedResourceVotersForIdentityRequestV0; })(); - return GetContestedResourcesRequest; + return GetContestedResourceVotersForIdentityRequest; })(); - v0.GetContestedResourcesResponse = (function() { + v0.GetContestedResourceVotersForIdentityResponse = (function() { /** - * Properties of a GetContestedResourcesResponse. + * Properties of a GetContestedResourceVotersForIdentityResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourcesResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null} [v0] GetContestedResourcesResponse v0 + * @interface IGetContestedResourceVotersForIdentityResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null} [v0] GetContestedResourceVotersForIdentityResponse v0 */ /** - * Constructs a new GetContestedResourcesResponse. + * Constructs a new GetContestedResourceVotersForIdentityResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourcesResponse. - * @implements IGetContestedResourcesResponse + * @classdesc Represents a GetContestedResourceVotersForIdentityResponse. + * @implements IGetContestedResourceVotersForIdentityResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set */ - function GetContestedResourcesResponse(properties) { + function GetContestedResourceVotersForIdentityResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26655,89 +35822,89 @@ $root.org = (function() { } /** - * GetContestedResourcesResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * GetContestedResourceVotersForIdentityResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @instance */ - GetContestedResourcesResponse.prototype.v0 = null; + GetContestedResourceVotersForIdentityResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourcesResponse version. + * GetContestedResourceVotersForIdentityResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @instance */ - Object.defineProperty(GetContestedResourcesResponse.prototype, "version", { + Object.defineProperty(GetContestedResourceVotersForIdentityResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourcesResponse instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @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.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse instance */ - GetContestedResourcesResponse.create = function create(properties) { - return new GetContestedResourcesResponse(properties); + GetContestedResourceVotersForIdentityResponse.create = function create(properties) { + return new GetContestedResourceVotersForIdentityResponse(properties); }; /** - * Encodes the specified GetContestedResourcesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse 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 */ - GetContestedResourcesResponse.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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 GetContestedResourcesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse 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 */ - GetContestedResourcesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesResponse 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.GetContestedResourcesResponse + * @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.GetContestedResourcesResponse} GetContestedResourcesResponse + * @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 */ - GetContestedResourcesResponse.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.GetContestedResourcesResponse(); + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -26748,37 +35915,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesResponse 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.GetContestedResourcesResponse + * @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.GetContestedResourcesResponse} GetContestedResourcesResponse + * @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 */ - GetContestedResourcesResponse.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 GetContestedResourcesResponse message. + * Verifies a GetContestedResourceVotersForIdentityResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @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 */ - GetContestedResourcesResponse.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -26787,40 +35954,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesResponse 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.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse */ - GetContestedResourcesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse) + 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.GetContestedResourcesResponse(); + 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.GetContestedResourcesResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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 GetContestedResourcesResponse 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.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse} message GetContestedResourcesResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesResponse.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -26828,36 +35995,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourcesResponse to JSON. + * Converts this GetContestedResourceVotersForIdentityResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourcesResponse.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesResponse.GetContestedResourcesResponseV0 = (function() { + GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 = (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 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 GetContestedResourcesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse - * @classdesc Represents a GetContestedResourcesResponseV0. - * @implements IGetContestedResourcesResponseV0 + * Constructs a new GetContestedResourceVotersForIdentityResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @classdesc Represents a GetContestedResourceVotersForIdentityResponseV0. + * @implements IGetContestedResourceVotersForIdentityResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set */ - function GetContestedResourcesResponseV0(properties) { + function GetContestedResourceVotersForIdentityResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26865,69 +36032,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 + * GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null|undefined} contestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - GetContestedResourcesResponseV0.prototype.contestedResourceValues = null; + GetContestedResourceVotersForIdentityResponseV0.prototype.contestedResourceVoters = null; /** - * GetContestedResourcesResponseV0 proof. + * GetContestedResourceVotersForIdentityResponseV0 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - GetContestedResourcesResponseV0.prototype.proof = null; + GetContestedResourceVotersForIdentityResponseV0.prototype.proof = null; /** - * GetContestedResourcesResponseV0 metadata. + * GetContestedResourceVotersForIdentityResponseV0 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - GetContestedResourcesResponseV0.prototype.metadata = null; + GetContestedResourceVotersForIdentityResponseV0.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 + * GetContestedResourceVotersForIdentityResponseV0 result. + * @member {"contestedResourceVoters"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - Object.defineProperty(GetContestedResourcesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["contestedResourceValues", "proof"]), + Object.defineProperty(GetContestedResourceVotersForIdentityResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoters", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourcesResponseV0 instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @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.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 instance */ - GetContestedResourcesResponseV0.create = function create(properties) { - return new GetContestedResourcesResponseV0(properties); + GetContestedResourceVotersForIdentityResponseV0.create = function create(properties) { + return new GetContestedResourceVotersForIdentityResponseV0(properties); }; /** - * Encodes the specified GetContestedResourcesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 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 */ - GetContestedResourcesResponseV0.encode = function encode(message, writer) { + GetContestedResourceVotersForIdentityResponseV0.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.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")) @@ -26936,38 +36103,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 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 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 */ - GetContestedResourcesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesResponseV0 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 + * @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 */ - GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0(); + 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.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.decode(reader, reader.uint32()); + 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()); @@ -26984,39 +36151,39 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesResponseV0 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 + * @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 */ - GetContestedResourcesResponseV0.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 GetContestedResourcesResponseV0 message. + * Verifies a GetContestedResourceVotersForIdentityResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @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 */ - GetContestedResourcesResponseV0.verify = function verify(message) { + GetContestedResourceVotersForIdentityResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { + if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) { 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify(message.contestedResourceVoters); if (error) - return "contestedResourceValues." + error; + return "contestedResourceVoters." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -27038,54 +36205,54 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesResponseV0 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 */ - GetContestedResourcesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0) + 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.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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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 GetContestedResourcesResponseV0 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesResponseV0.toObject = function toObject(message, options) { + GetContestedResourceVotersForIdentityResponseV0.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.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 = "contestedResourceValues"; + object.result = "contestedResourceVoters"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -27098,35 +36265,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourcesResponseV0 to JSON. + * Converts this GetContestedResourceVotersForIdentityResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourcesResponseV0.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesResponseV0.ContestedResourceValues = (function() { + GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters = (function() { /** - * Properties of a ContestedResourceValues. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 - * @interface IContestedResourceValues - * @property {Array.|null} [contestedResourceValues] ContestedResourceValues contestedResourceValues + * 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 */ /** - * Constructs a new ContestedResourceValues. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 - * @classdesc Represents a ContestedResourceValues. - * @implements IContestedResourceValues + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set */ - function ContestedResourceValues(properties) { - this.contestedResourceValues = []; + function ContestedResourceVoters(properties) { + this.voters = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27134,78 +36302,91 @@ $root.org = (function() { } /** - * ContestedResourceValues contestedResourceValues. - * @member {Array.} contestedResourceValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * ContestedResourceVoters voters. + * @member {Array.} voters + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @instance */ - ContestedResourceValues.prototype.contestedResourceValues = $util.emptyArray; + ContestedResourceVoters.prototype.voters = $util.emptyArray; /** - * Creates a new ContestedResourceValues instance using the specified properties. + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters instance */ - ContestedResourceValues.create = function create(properties) { - return new ContestedResourceValues(properties); + ContestedResourceVoters.create = function create(properties) { + return new ContestedResourceVoters(properties); }; /** - * Encodes the specified ContestedResourceValues message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages. + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode + * @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 */ - ContestedResourceValues.encode = function encode(message, writer) { + ContestedResourceVoters.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.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 ContestedResourceValues message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages. + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode + * @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 */ - ContestedResourceValues.encodeDelimited = function encodeDelimited(message, writer) { + ContestedResourceVoters.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContestedResourceValues message from the specified reader or buffer. + * Decodes a ContestedResourceVoters message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues + * @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 */ - ContestedResourceValues.decode = function decode(reader, length) { + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues(); + 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.contestedResourceValues && message.contestedResourceValues.length)) - message.contestedResourceValues = []; - message.contestedResourceValues.push(reader.bytes()); + 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); @@ -27216,128 +36397,137 @@ $root.org = (function() { }; /** - * Decodes a ContestedResourceValues message from the specified reader or buffer, length delimited. + * Decodes a ContestedResourceVoters 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @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.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 */ - ContestedResourceValues.decodeDelimited = function decodeDelimited(reader) { + ContestedResourceVoters.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContestedResourceValues message. + * Verifies a ContestedResourceVoters message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @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 */ - ContestedResourceValues.verify = function verify(message) { + ContestedResourceVoters.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.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 ContestedResourceValues message from a plain object. Also converts values to their respective internal types. + * Creates a ContestedResourceVoters 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters */ - ContestedResourceValues.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues) + 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.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.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 ContestedResourceValues message. Also converts values to other types if specified. + * Creates a plain object from a ContestedResourceVoters 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message ContestedResourceValues + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message ContestedResourceVoters * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContestedResourceValues.toObject = function toObject(message, options) { + ContestedResourceVoters.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.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 ContestedResourceValues to JSON. + * Converts this ContestedResourceVoters to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters * @instance * @returns {Object.} JSON object */ - ContestedResourceValues.prototype.toJSON = function toJSON() { + ContestedResourceVoters.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContestedResourceValues; + return ContestedResourceVoters; })(); - return GetContestedResourcesResponseV0; + return GetContestedResourceVotersForIdentityResponseV0; })(); - return GetContestedResourcesResponse; + return GetContestedResourceVotersForIdentityResponse; })(); - v0.GetVotePollsByEndDateRequest = (function() { + v0.GetContestedResourceIdentityVotesRequest = (function() { /** - * Properties of a GetVotePollsByEndDateRequest. + * Properties of a GetContestedResourceIdentityVotesRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetVotePollsByEndDateRequest - * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null} [v0] GetVotePollsByEndDateRequest v0 + * @interface IGetContestedResourceIdentityVotesRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null} [v0] GetContestedResourceIdentityVotesRequest v0 */ /** - * Constructs a new GetVotePollsByEndDateRequest. + * Constructs a new GetContestedResourceIdentityVotesRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetVotePollsByEndDateRequest. - * @implements IGetVotePollsByEndDateRequest + * @classdesc Represents a GetContestedResourceIdentityVotesRequest. + * @implements IGetContestedResourceIdentityVotesRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set */ - function GetVotePollsByEndDateRequest(properties) { + function GetContestedResourceIdentityVotesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27345,89 +36535,89 @@ $root.org = (function() { } /** - * GetVotePollsByEndDateRequest v0. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * GetContestedResourceIdentityVotesRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @instance */ - GetVotePollsByEndDateRequest.prototype.v0 = null; + GetContestedResourceIdentityVotesRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetVotePollsByEndDateRequest version. + * GetContestedResourceIdentityVotesRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @instance */ - Object.defineProperty(GetVotePollsByEndDateRequest.prototype, "version", { + Object.defineProperty(GetContestedResourceIdentityVotesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetVotePollsByEndDateRequest instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest instance */ - GetVotePollsByEndDateRequest.create = function create(properties) { - return new GetVotePollsByEndDateRequest(properties); + GetContestedResourceIdentityVotesRequest.create = function create(properties) { + return new GetContestedResourceIdentityVotesRequest(properties); }; /** - * Encodes the specified GetVotePollsByEndDateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest 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 */ - GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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 GetVotePollsByEndDateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest 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 */ - GetVotePollsByEndDateRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetVotePollsByEndDateRequest 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.GetVotePollsByEndDateRequest + * @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.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest + * @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 */ - GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest(); + 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -27438,37 +36628,37 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateRequest 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.GetVotePollsByEndDateRequest + * @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.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest + * @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 */ - GetVotePollsByEndDateRequest.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 GetVotePollsByEndDateRequest message. + * Verifies a GetContestedResourceIdentityVotesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @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 */ - GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -27477,40 +36667,40 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateRequest 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.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest */ - GetVotePollsByEndDateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest) + 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.GetVotePollsByEndDateRequest(); + 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.GetVotePollsByEndDateRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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 GetVotePollsByEndDateRequest 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.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -27518,39 +36708,39 @@ $root.org = (function() { }; /** - * Converts this GetVotePollsByEndDateRequest to JSON. + * Converts this GetContestedResourceIdentityVotesRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @instance * @returns {Object.} JSON object */ - GetVotePollsByEndDateRequest.prototype.toJSON = function toJSON() { + GetContestedResourceIdentityVotesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 = (function() { + GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 = (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 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 GetVotePollsByEndDateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @classdesc Represents a GetVotePollsByEndDateRequestV0. - * @implements IGetVotePollsByEndDateRequestV0 + * Constructs a new GetContestedResourceIdentityVotesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @classdesc Represents a GetContestedResourceIdentityVotesRequestV0. + * @implements IGetContestedResourceIdentityVotesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set */ - function GetVotePollsByEndDateRequestV0(properties) { + function GetContestedResourceIdentityVotesRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27558,137 +36748,137 @@ $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 + * GetContestedResourceIdentityVotesRequestV0 identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.startTimeInfo = null; + GetContestedResourceIdentityVotesRequestV0.prototype.identityId = $util.newBuffer([]); /** - * GetVotePollsByEndDateRequestV0 endTimeInfo. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null|undefined} endTimeInfo - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetContestedResourceIdentityVotesRequestV0 limit. + * @member {google.protobuf.IUInt32Value|null|undefined} limit + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.endTimeInfo = null; + GetContestedResourceIdentityVotesRequestV0.prototype.limit = null; /** - * GetVotePollsByEndDateRequestV0 limit. - * @member {number} limit - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetContestedResourceIdentityVotesRequestV0 offset. + * @member {google.protobuf.IUInt32Value|null|undefined} offset + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.limit = 0; + GetContestedResourceIdentityVotesRequestV0.prototype.offset = null; /** - * GetVotePollsByEndDateRequestV0 offset. - * @member {number} offset - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetContestedResourceIdentityVotesRequestV0 orderAscending. + * @member {boolean} orderAscending + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.offset = 0; + GetContestedResourceIdentityVotesRequestV0.prototype.orderAscending = false; /** - * GetVotePollsByEndDateRequestV0 ascending. - * @member {boolean} ascending - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null|undefined} startAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.ascending = false; + GetContestedResourceIdentityVotesRequestV0.prototype.startAtVotePollIdInfo = null; /** - * GetVotePollsByEndDateRequestV0 prove. + * GetContestedResourceIdentityVotesRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.prove = false; + GetContestedResourceIdentityVotesRequestV0.prototype.prove = false; /** - * Creates a new GetVotePollsByEndDateRequestV0 instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @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.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 instance */ - GetVotePollsByEndDateRequestV0.create = function create(properties) { - return new GetVotePollsByEndDateRequestV0(properties); + GetContestedResourceIdentityVotesRequestV0.create = function create(properties) { + return new GetContestedResourceIdentityVotesRequestV0(properties); }; /** - * Encodes the specified GetVotePollsByEndDateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 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 */ - GetVotePollsByEndDateRequestV0.encode = function encode(message, writer) { + GetContestedResourceIdentityVotesRequestV0.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.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")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(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")) - 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); + $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 6, wireType 0 =*/48).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 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 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 */ - GetVotePollsByEndDateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetVotePollsByEndDateRequestV0 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 + * @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 */ - GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0(); + 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.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.decode(reader, reader.uint32()); + message.identityId = reader.bytes(); break; case 2: - message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.decode(reader, reader.uint32()); + message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); break; case 3: - message.limit = reader.uint32(); + message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); break; case 4: - message.offset = reader.uint32(); + message.orderAscending = reader.bool(); break; case 5: - message.ascending = reader.bool(); + message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.decode(reader, reader.uint32()); break; case 6: message.prove = reader.bool(); @@ -27702,51 +36892,53 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateRequestV0 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 + * @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 */ - GetVotePollsByEndDateRequestV0.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 GetVotePollsByEndDateRequestV0 message. + * Verifies a GetContestedResourceIdentityVotesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @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 */ - GetVotePollsByEndDateRequestV0.verify = function verify(message) { + GetContestedResourceIdentityVotesRequestV0.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 (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 "startTimeInfo." + error; + return "limit." + error; } - if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify(message.endTimeInfo); + if (message.offset != null && message.hasOwnProperty("offset")) { + var error = $root.google.protobuf.UInt32Value.verify(message.offset); if (error) - return "endTimeInfo." + 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.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"; @@ -27754,104 +36946,116 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceIdentityVotesRequestV0 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 */ - GetVotePollsByEndDateRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0) + 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.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); + 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.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.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.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 GetVotePollsByEndDateRequestV0 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetVotePollsByEndDateRequestV0.toObject = function toObject(message, options) { + GetContestedResourceIdentityVotesRequestV0.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; + 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.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.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 = message.limit; + object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); if (message.offset != null && message.hasOwnProperty("offset")) - object.offset = message.offset; - if (message.ascending != null && message.hasOwnProperty("ascending")) - object.ascending = message.ascending; + 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 GetVotePollsByEndDateRequestV0 to JSON. + * Converts this GetContestedResourceIdentityVotesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance * @returns {Object.} JSON object */ - GetVotePollsByEndDateRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourceIdentityVotesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetVotePollsByEndDateRequestV0.StartAtTimeInfo = (function() { + GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo = (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 + * 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 StartAtTimeInfo. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 - * @classdesc Represents a StartAtTimeInfo. - * @implements IStartAtTimeInfo + * 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set */ - function StartAtTimeInfo(properties) { + function StartAtVotePollIdInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27859,88 +37063,88 @@ $root.org = (function() { } /** - * StartAtTimeInfo startTimeMs. - * @member {number|Long} startTimeMs - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * StartAtVotePollIdInfo startAtPollIdentifier. + * @member {Uint8Array} startAtPollIdentifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @instance */ - StartAtTimeInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + StartAtVotePollIdInfo.prototype.startAtPollIdentifier = $util.newBuffer([]); /** - * StartAtTimeInfo startTimeIncluded. - * @member {boolean} startTimeIncluded - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * StartAtVotePollIdInfo startPollIdentifierIncluded. + * @member {boolean} startPollIdentifierIncluded + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @instance */ - StartAtTimeInfo.prototype.startTimeIncluded = false; + StartAtVotePollIdInfo.prototype.startPollIdentifierIncluded = false; /** - * Creates a new StartAtTimeInfo instance using the specified properties. + * Creates a new StartAtVotePollIdInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @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 + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo instance */ - StartAtTimeInfo.create = function create(properties) { - return new StartAtTimeInfo(properties); + StartAtVotePollIdInfo.create = function create(properties) { + return new StartAtVotePollIdInfo(properties); }; /** - * Encodes the specified StartAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages. + * 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode + * @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 */ - StartAtTimeInfo.encode = function encode(message, writer) { + StartAtVotePollIdInfo.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); + 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 StartAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages. + * 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode + * @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 */ - StartAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) { + StartAtVotePollIdInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StartAtTimeInfo message from the specified reader or buffer. + * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo + * @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 */ - StartAtTimeInfo.decode = function decode(reader, length) { + 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo(); + 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.startTimeMs = reader.uint64(); + message.startAtPollIdentifier = reader.bytes(); break; case 2: - message.startTimeIncluded = reader.bool(); + message.startPollIdentifierIncluded = reader.bool(); break; default: reader.skipType(tag & 7); @@ -27951,360 +37155,131 @@ $root.org = (function() { }; /** - * Decodes a StartAtTimeInfo message from the specified reader or buffer, length delimited. + * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo + * @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 */ - StartAtTimeInfo.decodeDelimited = function decodeDelimited(reader) { + StartAtVotePollIdInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StartAtTimeInfo message. + * Verifies a StartAtVotePollIdInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @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 */ - StartAtTimeInfo.verify = function verify(message) { + StartAtVotePollIdInfo.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"; + 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 StartAtTimeInfo message from a plain object. Also converts values to their respective internal types. + * Creates a StartAtVotePollIdInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo */ - StartAtTimeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo) + 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.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); + 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 StartAtTimeInfo message. Also converts values to other types if specified. + * Creates a plain object from a StartAtVotePollIdInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message StartAtTimeInfo + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message StartAtVotePollIdInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StartAtTimeInfo.toObject = function toObject(message, options) { + StartAtVotePollIdInfo.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; + if (options.bytes === String) + object.startAtPollIdentifier = ""; + else { + object.startAtPollIdentifier = []; + if (options.bytes !== Array) + object.startAtPollIdentifier = $util.newBuffer(object.startAtPollIdentifier); } + object.startPollIdentifierIncluded = false; } - 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; + 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 EndAtTimeInfo to JSON. + * Converts this StartAtVotePollIdInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo * @instance * @returns {Object.} JSON object */ - EndAtTimeInfo.prototype.toJSON = function toJSON() { + StartAtVotePollIdInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EndAtTimeInfo; + return StartAtVotePollIdInfo; })(); - return GetVotePollsByEndDateRequestV0; + return GetContestedResourceIdentityVotesRequestV0; })(); - return GetVotePollsByEndDateRequest; + return GetContestedResourceIdentityVotesRequest; })(); - v0.GetVotePollsByEndDateResponse = (function() { + v0.GetContestedResourceIdentityVotesResponse = (function() { /** - * Properties of a GetVotePollsByEndDateResponse. + * Properties of a GetContestedResourceIdentityVotesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetVotePollsByEndDateResponse - * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null} [v0] GetVotePollsByEndDateResponse v0 + * @interface IGetContestedResourceIdentityVotesResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null} [v0] GetContestedResourceIdentityVotesResponse v0 */ /** - * Constructs a new GetVotePollsByEndDateResponse. + * Constructs a new GetContestedResourceIdentityVotesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetVotePollsByEndDateResponse. - * @implements IGetVotePollsByEndDateResponse + * @classdesc Represents a GetContestedResourceIdentityVotesResponse. + * @implements IGetContestedResourceIdentityVotesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set */ - function GetVotePollsByEndDateResponse(properties) { + function GetContestedResourceIdentityVotesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28312,89 +37287,89 @@ $root.org = (function() { } /** - * GetVotePollsByEndDateResponse v0. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * GetContestedResourceIdentityVotesResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @instance */ - GetVotePollsByEndDateResponse.prototype.v0 = null; + GetContestedResourceIdentityVotesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetVotePollsByEndDateResponse version. + * GetContestedResourceIdentityVotesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @instance */ - Object.defineProperty(GetVotePollsByEndDateResponse.prototype, "version", { + Object.defineProperty(GetContestedResourceIdentityVotesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetVotePollsByEndDateResponse instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @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.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse instance */ - GetVotePollsByEndDateResponse.create = function create(properties) { - return new GetVotePollsByEndDateResponse(properties); + GetContestedResourceIdentityVotesResponse.create = function create(properties) { + return new GetContestedResourceIdentityVotesResponse(properties); }; /** - * Encodes the specified GetVotePollsByEndDateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse 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 */ - GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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 GetVotePollsByEndDateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse 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 */ - GetVotePollsByEndDateResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetVotePollsByEndDateResponse 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.GetVotePollsByEndDateResponse + * @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.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse + * @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 */ - GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse(); + 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -28405,37 +37380,37 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateResponse 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.GetVotePollsByEndDateResponse + * @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.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse + * @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 */ - GetVotePollsByEndDateResponse.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 GetVotePollsByEndDateResponse message. + * Verifies a GetContestedResourceIdentityVotesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @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 */ - GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -28444,40 +37419,40 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateResponse 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.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse */ - GetVotePollsByEndDateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse) + 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.GetVotePollsByEndDateResponse(); + 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.GetVotePollsByEndDateResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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 GetVotePollsByEndDateResponse 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.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -28485,36 +37460,36 @@ $root.org = (function() { }; /** - * Converts this GetVotePollsByEndDateResponse to JSON. + * Converts this GetContestedResourceIdentityVotesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @instance * @returns {Object.} JSON object */ - GetVotePollsByEndDateResponse.prototype.toJSON = function toJSON() { + GetContestedResourceIdentityVotesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 = (function() { + GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 = (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 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 GetVotePollsByEndDateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse - * @classdesc Represents a GetVotePollsByEndDateResponseV0. - * @implements IGetVotePollsByEndDateResponseV0 + * Constructs a new GetContestedResourceIdentityVotesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @classdesc Represents a GetContestedResourceIdentityVotesResponseV0. + * @implements IGetContestedResourceIdentityVotesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set */ - function GetVotePollsByEndDateResponseV0(properties) { + function GetContestedResourceIdentityVotesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28522,69 +37497,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 + * GetContestedResourceIdentityVotesResponseV0 votes. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null|undefined} votes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - GetVotePollsByEndDateResponseV0.prototype.votePollsByTimestamps = null; + GetContestedResourceIdentityVotesResponseV0.prototype.votes = null; /** - * GetVotePollsByEndDateResponseV0 proof. + * GetContestedResourceIdentityVotesResponseV0 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - GetVotePollsByEndDateResponseV0.prototype.proof = null; + GetContestedResourceIdentityVotesResponseV0.prototype.proof = null; /** - * GetVotePollsByEndDateResponseV0 metadata. + * GetContestedResourceIdentityVotesResponseV0 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - GetVotePollsByEndDateResponseV0.prototype.metadata = null; + GetContestedResourceIdentityVotesResponseV0.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 + * GetContestedResourceIdentityVotesResponseV0 result. + * @member {"votes"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - Object.defineProperty(GetVotePollsByEndDateResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["votePollsByTimestamps", "proof"]), + Object.defineProperty(GetContestedResourceIdentityVotesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["votes", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetVotePollsByEndDateResponseV0 instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @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.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 instance */ - GetVotePollsByEndDateResponseV0.create = function create(properties) { - return new GetVotePollsByEndDateResponseV0(properties); + GetContestedResourceIdentityVotesResponseV0.create = function create(properties) { + return new GetContestedResourceIdentityVotesResponseV0(properties); }; /** - * Encodes the specified GetVotePollsByEndDateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 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 */ - GetVotePollsByEndDateResponseV0.encode = function encode(message, writer) { + GetContestedResourceIdentityVotesResponseV0.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.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")) @@ -28593,38 +37568,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 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 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 */ - GetVotePollsByEndDateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetVotePollsByEndDateResponseV0 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 + * @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 */ - GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0(); + 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.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.decode(reader, reader.uint32()); + 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()); @@ -28641,39 +37616,39 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateResponseV0 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 + * @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 */ - GetVotePollsByEndDateResponseV0.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 GetVotePollsByEndDateResponseV0 message. + * Verifies a GetContestedResourceIdentityVotesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @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 */ - GetVotePollsByEndDateResponseV0.verify = function verify(message) { + GetContestedResourceIdentityVotesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { + if (message.votes != null && message.hasOwnProperty("votes")) { 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify(message.votes); if (error) - return "votePollsByTimestamps." + error; + return "votes." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -28695,96 +37670,326 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateResponseV0 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 */ - GetVotePollsByEndDateResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0) + 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.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.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.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 GetContestedResourceIdentityVotesResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContestedResourceIdentityVotesResponseV0.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 (options.oneofs) + object.result = "votes"; + } + 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 GetContestedResourceIdentityVotesResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetContestedResourceIdentityVotesResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes = (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 + */ + + /** + * 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]]; + } + + /** + * ContestedResourceIdentityVotes contestedResourceIdentityVotes. + * @member {Array.} contestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @instance + */ + ContestedResourceIdentityVotes.prototype.contestedResourceIdentityVotes = $util.emptyArray; + + /** + * ContestedResourceIdentityVotes finishedResults. + * @member {boolean} finishedResults + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @instance + */ + ContestedResourceIdentityVotes.prototype.finishedResults = false; + + /** + * 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); + }; + + /** + * 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; + }; + + /** + * 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(); + }; + + /** + * 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; + }; + + /** + * 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()); + }; + + /** + * 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; + }; + + /** + * 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; + }; + + /** + * 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; - 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.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.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 GetVotePollsByEndDateResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetVotePollsByEndDateResponseV0.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 (options.oneofs) - object.result = "votePollsByTimestamps"; - } - 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 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); + }; - /** - * Converts this GetVotePollsByEndDateResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetVotePollsByEndDateResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return ContestedResourceIdentityVotes; + })(); - GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp = (function() { + GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice = (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 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 */ /** - * Constructs a new SerializedVotePollsByTimestamp. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @classdesc Represents a SerializedVotePollsByTimestamp. - * @implements ISerializedVotePollsByTimestamp + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set */ - function SerializedVotePollsByTimestamp(properties) { - this.serializedVotePolls = []; + function ResourceVoteChoice(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28792,91 +37997,88 @@ $root.org = (function() { } /** - * SerializedVotePollsByTimestamp timestamp. - * @member {number|Long} timestamp - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * ResourceVoteChoice voteChoiceType. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} voteChoiceType + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @instance */ - SerializedVotePollsByTimestamp.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + ResourceVoteChoice.prototype.voteChoiceType = 0; /** - * SerializedVotePollsByTimestamp serializedVotePolls. - * @member {Array.} serializedVotePolls - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * ResourceVoteChoice identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @instance */ - SerializedVotePollsByTimestamp.prototype.serializedVotePolls = $util.emptyArray; + ResourceVoteChoice.prototype.identityId = $util.newBuffer([]); /** - * Creates a new SerializedVotePollsByTimestamp instance using the specified properties. + * Creates a new ResourceVoteChoice instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice instance */ - SerializedVotePollsByTimestamp.create = function create(properties) { - return new SerializedVotePollsByTimestamp(properties); + ResourceVoteChoice.create = function create(properties) { + return new ResourceVoteChoice(properties); }; /** - * Encodes the specified SerializedVotePollsByTimestamp message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages. + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode + * @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 */ - SerializedVotePollsByTimestamp.encode = function encode(message, writer) { + ResourceVoteChoice.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.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; }; /** - * 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 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode + * @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 */ - SerializedVotePollsByTimestamp.encodeDelimited = function encodeDelimited(message, writer) { + ResourceVoteChoice.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer. + * Decodes a ResourceVoteChoice message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp + * @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 */ - SerializedVotePollsByTimestamp.decode = function decode(reader, length) { + 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp(); + 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.timestamp = reader.uint64(); + message.voteChoiceType = reader.int32(); break; case 2: - if (!(message.serializedVotePolls && message.serializedVotePolls.length)) - message.serializedVotePolls = []; - message.serializedVotePolls.push(reader.bytes()); + message.identityId = reader.bytes(); break; default: reader.skipType(tag & 7); @@ -28887,147 +38089,163 @@ $root.org = (function() { }; /** - * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer, length delimited. + * Decodes a ResourceVoteChoice 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @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.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 */ - SerializedVotePollsByTimestamp.decodeDelimited = function decodeDelimited(reader) { + ResourceVoteChoice.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SerializedVotePollsByTimestamp message. + * Verifies a ResourceVoteChoice message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @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 */ - SerializedVotePollsByTimestamp.verify = function verify(message) { + ResourceVoteChoice.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.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; }; /** - * Creates a SerializedVotePollsByTimestamp message from a plain object. Also converts values to their respective internal types. + * Creates a ResourceVoteChoice 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice */ - SerializedVotePollsByTimestamp.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp) + 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.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.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; } + 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 SerializedVotePollsByTimestamp message. Also converts values to other types if specified. + * Creates a plain object from a ResourceVoteChoice 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message ResourceVoteChoice * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SerializedVotePollsByTimestamp.toObject = function toObject(message, options) { + ResourceVoteChoice.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]; + 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; }; /** - * Converts this SerializedVotePollsByTimestamp to JSON. + * Converts this ResourceVoteChoice to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice * @instance * @returns {Object.} JSON object */ - SerializedVotePollsByTimestamp.prototype.toJSON = function toJSON() { + ResourceVoteChoice.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SerializedVotePollsByTimestamp; + /** + * 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; })(); - GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps = (function() { + GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote = (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 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 */ /** - * Constructs a new SerializedVotePollsByTimestamps. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @classdesc Represents a SerializedVotePollsByTimestamps. - * @implements ISerializedVotePollsByTimestamps + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set */ - function SerializedVotePollsByTimestamps(properties) { - this.votePollsByTimestamps = []; + function ContestedResourceIdentityVote(properties) { + this.serializedIndexStorageValues = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29035,91 +38253,117 @@ $root.org = (function() { } /** - * SerializedVotePollsByTimestamps votePollsByTimestamps. - * @member {Array.} votePollsByTimestamps - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * ContestedResourceIdentityVote contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @instance */ - SerializedVotePollsByTimestamps.prototype.votePollsByTimestamps = $util.emptyArray; + ContestedResourceIdentityVote.prototype.contractId = $util.newBuffer([]); /** - * SerializedVotePollsByTimestamps finishedResults. - * @member {boolean} finishedResults - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * ContestedResourceIdentityVote documentTypeName. + * @member {string} documentTypeName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @instance */ - SerializedVotePollsByTimestamps.prototype.finishedResults = false; + ContestedResourceIdentityVote.prototype.documentTypeName = ""; /** - * Creates a new SerializedVotePollsByTimestamps instance using the specified properties. + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote instance */ - SerializedVotePollsByTimestamps.create = function create(properties) { - return new SerializedVotePollsByTimestamps(properties); + ContestedResourceIdentityVote.create = function create(properties) { + return new ContestedResourceIdentityVote(properties); }; /** - * Encodes the specified SerializedVotePollsByTimestamps message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages. + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode + * @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 */ - SerializedVotePollsByTimestamps.encode = function encode(message, writer) { + ContestedResourceIdentityVote.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.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 SerializedVotePollsByTimestamps message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages. + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode + * @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 */ - SerializedVotePollsByTimestamps.encodeDelimited = function encodeDelimited(message, writer) { + ContestedResourceIdentityVote.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer. + * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + * @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 */ - SerializedVotePollsByTimestamps.decode = function decode(reader, length) { + 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps(); + 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: - 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.contractId = reader.bytes(); break; case 2: - message.finishedResults = reader.bool(); + 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); @@ -29130,139 +38374,598 @@ $root.org = (function() { }; /** - * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer, length delimited. + * Decodes a ContestedResourceIdentityVote 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @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.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 */ - SerializedVotePollsByTimestamps.decodeDelimited = function decodeDelimited(reader) { + ContestedResourceIdentityVote.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SerializedVotePollsByTimestamps message. + * Verifies a ContestedResourceIdentityVote message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @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 */ - SerializedVotePollsByTimestamps.verify = function verify(message) { + ContestedResourceIdentityVote.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.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.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 ContestedResourceIdentityVote 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote */ - SerializedVotePollsByTimestamps.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps) + 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.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.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); } - 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 ContestedResourceIdentityVote 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message ContestedResourceIdentityVote * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SerializedVotePollsByTimestamps.toObject = function toObject(message, options) { + ContestedResourceIdentityVote.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.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.finishedResults != null && message.hasOwnProperty("finishedResults")) - object.finishedResults = message.finishedResults; + 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 SerializedVotePollsByTimestamps to JSON. + * Converts this ContestedResourceIdentityVote to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote * @instance * @returns {Object.} JSON object */ - SerializedVotePollsByTimestamps.prototype.toJSON = function toJSON() { + ContestedResourceIdentityVote.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SerializedVotePollsByTimestamps; + return ContestedResourceIdentityVote; })(); - return GetVotePollsByEndDateResponseV0; + return GetContestedResourceIdentityVotesResponseV0; })(); - return GetVotePollsByEndDateResponse; + return GetContestedResourceIdentityVotesResponse; })(); - v0.GetContestedResourceVoteStateRequest = (function() { + v0.GetPrefundedSpecializedBalanceRequest = (function() { /** - * Properties of a GetContestedResourceVoteStateRequest. + * Properties of a GetPrefundedSpecializedBalanceRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVoteStateRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null} [v0] GetContestedResourceVoteStateRequest v0 + * @interface IGetPrefundedSpecializedBalanceRequest + * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null} [v0] GetPrefundedSpecializedBalanceRequest v0 */ /** - * Constructs a new GetContestedResourceVoteStateRequest. + * Constructs a new GetPrefundedSpecializedBalanceRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVoteStateRequest. - * @implements IGetContestedResourceVoteStateRequest + * @classdesc Represents a GetPrefundedSpecializedBalanceRequest. + * @implements IGetPrefundedSpecializedBalanceRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set */ - function GetContestedResourceVoteStateRequest(properties) { + function GetPrefundedSpecializedBalanceRequest(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]]; + } + + /** + * GetPrefundedSpecializedBalanceRequest v0. + * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @instance + */ + GetPrefundedSpecializedBalanceRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetPrefundedSpecializedBalanceRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @instance + */ + Object.defineProperty(GetPrefundedSpecializedBalanceRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetPrefundedSpecializedBalanceRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest instance + */ + GetPrefundedSpecializedBalanceRequest.create = function create(properties) { + return new GetPrefundedSpecializedBalanceRequest(properties); + }; + + /** + * 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.GetPrefundedSpecializedBalanceRequest + * @static + * @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 + */ + 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @static + * @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 + */ + GetPrefundedSpecializedBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer. + * @function decode + * @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.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest + * @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) { + if (!(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(); + 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()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @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.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest + * @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) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetPrefundedSpecializedBalanceRequest message. + * @function verify + * @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 + */ + 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetPrefundedSpecializedBalanceRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest + */ + 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.GetPrefundedSpecializedBalanceRequest(); + 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); + } + return message; + }; + + /** + * Creates a plain object from a GetPrefundedSpecializedBalanceRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @static + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetPrefundedSpecializedBalanceRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @instance + * @returns {Object.} JSON object + */ + GetPrefundedSpecializedBalanceRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 = (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 + */ + + /** + * Constructs a new GetPrefundedSpecializedBalanceRequestV0. + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @classdesc Represents a GetPrefundedSpecializedBalanceRequestV0. + * @implements IGetPrefundedSpecializedBalanceRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set + */ + function GetPrefundedSpecializedBalanceRequestV0(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]]; + } + + /** + * GetPrefundedSpecializedBalanceRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @instance + */ + GetPrefundedSpecializedBalanceRequestV0.prototype.id = $util.newBuffer([]); + + /** + * GetPrefundedSpecializedBalanceRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @instance + */ + GetPrefundedSpecializedBalanceRequestV0.prototype.prove = false; + + /** + * Creates a new GetPrefundedSpecializedBalanceRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 instance + */ + GetPrefundedSpecializedBalanceRequestV0.create = function create(properties) { + return new GetPrefundedSpecializedBalanceRequestV0(properties); + }; + + /** + * 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @static + * @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 + */ + GetPrefundedSpecializedBalanceRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @static + * @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 + */ + GetPrefundedSpecializedBalanceRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer. + * @function decode + * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 + * @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) { + if (!(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(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 + * @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) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetPrefundedSpecializedBalanceRequestV0 message. + * @function verify + * @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 + */ + GetPrefundedSpecializedBalanceRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetPrefundedSpecializedBalanceRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 + */ + 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.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 GetPrefundedSpecializedBalanceRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetPrefundedSpecializedBalanceRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetPrefundedSpecializedBalanceRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetPrefundedSpecializedBalanceRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetPrefundedSpecializedBalanceRequestV0; + })(); + + return GetPrefundedSpecializedBalanceRequest; + })(); + + v0.GetPrefundedSpecializedBalanceResponse = (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 + */ + + /** + * 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) @@ -29270,89 +38973,89 @@ $root.org = (function() { } /** - * GetContestedResourceVoteStateRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * GetPrefundedSpecializedBalanceResponse v0. + * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @instance */ - GetContestedResourceVoteStateRequest.prototype.v0 = null; + GetPrefundedSpecializedBalanceResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVoteStateRequest version. + * GetPrefundedSpecializedBalanceResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @instance */ - Object.defineProperty(GetContestedResourceVoteStateRequest.prototype, "version", { + Object.defineProperty(GetPrefundedSpecializedBalanceResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVoteStateRequest instance using the specified properties. + * Creates a new GetPrefundedSpecializedBalanceResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @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.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse instance */ - GetContestedResourceVoteStateRequest.create = function create(properties) { - return new GetContestedResourceVoteStateRequest(properties); + GetPrefundedSpecializedBalanceResponse.create = function create(properties) { + return new GetPrefundedSpecializedBalanceResponse(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest 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 */ - GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 GetContestedResourceVoteStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest 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 */ - GetContestedResourceVoteStateRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetPrefundedSpecializedBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateRequest 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.GetContestedResourceVoteStateRequest + * @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.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest + * @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 */ - GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest(); + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -29363,37 +39066,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateRequest 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.GetContestedResourceVoteStateRequest + * @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.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest + * @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 */ - GetContestedResourceVoteStateRequest.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 GetContestedResourceVoteStateRequest message. + * Verifies a GetPrefundedSpecializedBalanceResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @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 */ - GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -29402,40 +39105,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateRequest 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.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse */ - GetContestedResourceVoteStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest) + 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.GetContestedResourceVoteStateRequest(); + 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.GetContestedResourceVoteStateRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 GetContestedResourceVoteStateRequest 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.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -29443,43 +39146,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVoteStateRequest to JSON. + * Converts this GetPrefundedSpecializedBalanceResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourceVoteStateRequest.prototype.toJSON = function toJSON() { + GetPrefundedSpecializedBalanceResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 = (function() { + GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 = (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 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 GetContestedResourceVoteStateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest - * @classdesc Represents a GetContestedResourceVoteStateRequestV0. - * @implements IGetContestedResourceVoteStateRequestV0 + * Constructs a new GetPrefundedSpecializedBalanceResponseV0. + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @classdesc Represents a GetPrefundedSpecializedBalanceResponseV0. + * @implements IGetPrefundedSpecializedBalanceResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set */ - function GetContestedResourceVoteStateRequestV0(properties) { - this.indexValues = []; + function GetPrefundedSpecializedBalanceResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29487,181 +39183,560 @@ $root.org = (function() { } /** - * GetContestedResourceVoteStateRequestV0 contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetPrefundedSpecializedBalanceResponseV0 balance. + * @member {number|Long} balance + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.contractId = $util.newBuffer([]); + GetPrefundedSpecializedBalanceResponseV0.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * GetContestedResourceVoteStateRequestV0 documentTypeName. - * @member {string} documentTypeName - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetPrefundedSpecializedBalanceResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.documentTypeName = ""; + GetPrefundedSpecializedBalanceResponseV0.prototype.proof = null; /** - * GetContestedResourceVoteStateRequestV0 indexName. - * @member {string} indexName - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetPrefundedSpecializedBalanceResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.indexName = ""; + 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.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.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer. + * @function decode + * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + * @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) { + if (!(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(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.balance = reader.uint64(); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + * @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) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetPrefundedSpecializedBalanceResponseV0 message. + * @function verify + * @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 + */ + 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 GetPrefundedSpecializedBalanceResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + */ + GetPrefundedSpecializedBalanceResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0) + 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); + 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 GetPrefundedSpecializedBalanceResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + 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 GetPrefundedSpecializedBalanceResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetPrefundedSpecializedBalanceResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetPrefundedSpecializedBalanceResponseV0; + })(); + + return GetPrefundedSpecializedBalanceResponse; + })(); + + v0.GetTotalCreditsInPlatformRequest = (function() { + + /** + * 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 GetTotalCreditsInPlatformRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetTotalCreditsInPlatformRequest. + * @implements IGetTotalCreditsInPlatformRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set + */ + function GetTotalCreditsInPlatformRequest(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]]; + } + + /** + * GetTotalCreditsInPlatformRequest v0. + * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @instance + */ + GetTotalCreditsInPlatformRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetTotalCreditsInPlatformRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @instance + */ + Object.defineProperty(GetTotalCreditsInPlatformRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetTotalCreditsInPlatformRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest instance + */ + GetTotalCreditsInPlatformRequest.create = function create(properties) { + return new GetTotalCreditsInPlatformRequest(properties); + }; + + /** + * 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.GetTotalCreditsInPlatformRequest + * @static + * @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 + */ + 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @static + * @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 + */ + GetTotalCreditsInPlatformRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer. + * @function decode + * @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.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest + * @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) { + if (!(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(); + 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()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @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.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest + * @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) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetTotalCreditsInPlatformRequest message. + * @function verify + * @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 + */ + 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetTotalCreditsInPlatformRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest + */ + 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.GetTotalCreditsInPlatformRequest(); + 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); + } + return message; + }; - /** - * GetContestedResourceVoteStateRequestV0 indexValues. - * @member {Array.} indexValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 - * @instance - */ - GetContestedResourceVoteStateRequestV0.prototype.indexValues = $util.emptyArray; + /** + * Creates a plain object from a GetTotalCreditsInPlatformRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @static + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - /** - * GetContestedResourceVoteStateRequestV0 resultType. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} resultType - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 - * @instance - */ - GetContestedResourceVoteStateRequestV0.prototype.resultType = 0; + /** + * Converts this GetTotalCreditsInPlatformRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @instance + * @returns {Object.} JSON object + */ + GetTotalCreditsInPlatformRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally. - * @member {boolean} allowIncludeLockedAndAbstainingVoteTally - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 - * @instance - */ - GetContestedResourceVoteStateRequestV0.prototype.allowIncludeLockedAndAbstainingVoteTally = false; + GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 = (function() { /** - * GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 - * @instance + * Properties of a GetTotalCreditsInPlatformRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @interface IGetTotalCreditsInPlatformRequestV0 + * @property {boolean|null} [prove] GetTotalCreditsInPlatformRequestV0 prove */ - GetContestedResourceVoteStateRequestV0.prototype.startAtIdentifierInfo = null; /** - * GetContestedResourceVoteStateRequestV0 count. - * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 - * @instance + * Constructs a new GetTotalCreditsInPlatformRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @classdesc Represents a GetTotalCreditsInPlatformRequestV0. + * @implements IGetTotalCreditsInPlatformRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set */ - GetContestedResourceVoteStateRequestV0.prototype.count = 0; + function GetTotalCreditsInPlatformRequestV0(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]]; + } /** - * GetContestedResourceVoteStateRequestV0 prove. + * GetTotalCreditsInPlatformRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.prove = false; + GetTotalCreditsInPlatformRequestV0.prototype.prove = false; /** - * Creates a new GetContestedResourceVoteStateRequestV0 instance using the specified properties. + * Creates a new GetTotalCreditsInPlatformRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @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.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 instance */ - GetContestedResourceVoteStateRequestV0.create = function create(properties) { - return new GetContestedResourceVoteStateRequestV0(properties); + GetTotalCreditsInPlatformRequestV0.create = function create(properties) { + return new GetTotalCreditsInPlatformRequestV0(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 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 */ - GetContestedResourceVoteStateRequestV0.encode = function encode(message, writer) { + GetTotalCreditsInPlatformRequestV0.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.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 9, wireType 0 =*/72).bool(message.prove); + writer.uint32(/* id 1, wireType 0 =*/8).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 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 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 */ - GetContestedResourceVoteStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTotalCreditsInPlatformRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateRequestV0 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 + * @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 */ - GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0(); + 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.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.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: @@ -29673,68 +39748,32 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateRequestV0 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 + * @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 */ - GetContestedResourceVoteStateRequestV0.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 GetContestedResourceVoteStateRequestV0 message. + * Verifies a GetTotalCreditsInPlatformRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @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 */ - GetContestedResourceVoteStateRequestV0.verify = function verify(message) { + GetTotalCreditsInPlatformRequestV0.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.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 "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"; @@ -29742,389 +39781,77 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateRequestV0 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 */ - GetContestedResourceVoteStateRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0) + 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.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]; - } - 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.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; + 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 GetContestedResourceVoteStateRequestV0 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateRequestV0.toObject = function toObject(message, options) { + GetTotalCreditsInPlatformRequestV0.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 = ""; - object.resultType = options.enums === String ? "DOCUMENTS" : 0; - object.allowIncludeLockedAndAbstainingVoteTally = false; - object.startAtIdentifierInfo = null; - object.count = 0; + if (options.defaults) 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.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 GetContestedResourceVoteStateRequestV0 to JSON. + * Converts this GetTotalCreditsInPlatformRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceVoteStateRequestV0.prototype.toJSON = function toJSON() { + GetTotalCreditsInPlatformRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo = (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 - */ - - /** - * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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]]; - } - - /** - * StartAtIdentifierInfo startIdentifier. - * @member {Uint8Array} startIdentifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @instance - */ - StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); - - /** - * StartAtIdentifierInfo startIdentifierIncluded. - * @member {boolean} startIdentifierIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @instance - */ - StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; - - /** - * Creates a new StartAtIdentifierInfo instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @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 - */ - StartAtIdentifierInfo.create = function create(properties) { - return new StartAtIdentifierInfo(properties); - }; - - /** - * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @static - * @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 - */ - 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @static - * @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 - */ - 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.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.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 - */ - 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @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 - */ - 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo - */ - 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.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 StartAtIdentifierInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo - * @instance - * @returns {Object.} JSON object - */ - StartAtIdentifierInfo.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 GetContestedResourceVoteStateRequestV0; + return GetTotalCreditsInPlatformRequestV0; })(); - return GetContestedResourceVoteStateRequest; + return GetTotalCreditsInPlatformRequest; })(); - v0.GetContestedResourceVoteStateResponse = (function() { + v0.GetTotalCreditsInPlatformResponse = (function() { /** - * Properties of a GetContestedResourceVoteStateResponse. + * Properties of a GetTotalCreditsInPlatformResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVoteStateResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null} [v0] GetContestedResourceVoteStateResponse v0 + * @interface IGetTotalCreditsInPlatformResponse + * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null} [v0] GetTotalCreditsInPlatformResponse v0 */ /** - * Constructs a new GetContestedResourceVoteStateResponse. + * Constructs a new GetTotalCreditsInPlatformResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVoteStateResponse. - * @implements IGetContestedResourceVoteStateResponse + * @classdesc Represents a GetTotalCreditsInPlatformResponse. + * @implements IGetTotalCreditsInPlatformResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set */ - function GetContestedResourceVoteStateResponse(properties) { + function GetTotalCreditsInPlatformResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30132,89 +39859,89 @@ $root.org = (function() { } /** - * GetContestedResourceVoteStateResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * GetTotalCreditsInPlatformResponse v0. + * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse * @instance */ - GetContestedResourceVoteStateResponse.prototype.v0 = null; + GetTotalCreditsInPlatformResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVoteStateResponse version. + * GetTotalCreditsInPlatformResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse * @instance */ - Object.defineProperty(GetContestedResourceVoteStateResponse.prototype, "version", { + Object.defineProperty(GetTotalCreditsInPlatformResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVoteStateResponse instance using the specified properties. + * Creates a new GetTotalCreditsInPlatformResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse * @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.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse instance */ - GetContestedResourceVoteStateResponse.create = function create(properties) { - return new GetContestedResourceVoteStateResponse(properties); + GetTotalCreditsInPlatformResponse.create = function create(properties) { + return new GetTotalCreditsInPlatformResponse(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages. + * 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.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode + * @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 */ - GetContestedResourceVoteStateResponse.encode = function encode(message, 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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 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.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode + * @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 */ - GetContestedResourceVoteStateResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetTotalCreditsInPlatformResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer. + * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @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.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse + * @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 */ - GetContestedResourceVoteStateResponse.decode = function decode(reader, length) { + 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.GetContestedResourceVoteStateResponse(); + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -30225,37 +39952,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer, length delimited. + * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @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.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse + * @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 */ - GetContestedResourceVoteStateResponse.decodeDelimited = function decodeDelimited(reader) { + GetTotalCreditsInPlatformResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVoteStateResponse message. + * Verifies a GetTotalCreditsInPlatformResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @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 */ - GetContestedResourceVoteStateResponse.verify = function verify(message) { + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -30264,40 +39991,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetTotalCreditsInPlatformResponse 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.GetTotalCreditsInPlatformResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse */ - GetContestedResourceVoteStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse) + 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.GetContestedResourceVoteStateResponse(); + 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.GetContestedResourceVoteStateResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.fromObject(object.v0); + 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; }; /** - * Creates a plain object from a GetContestedResourceVoteStateResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetTotalCreditsInPlatformResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateResponse.toObject = function toObject(message, options) { + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -30305,36 +40032,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVoteStateResponse to JSON. + * Converts this GetTotalCreditsInPlatformResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourceVoteStateResponse.prototype.toJSON = function toJSON() { + GetTotalCreditsInPlatformResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 = (function() { + GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 = (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 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 */ /** - * Constructs a new GetContestedResourceVoteStateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse - * @classdesc Represents a GetContestedResourceVoteStateResponseV0. - * @implements IGetContestedResourceVoteStateResponseV0 + * Constructs a new GetTotalCreditsInPlatformResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @classdesc Represents a GetTotalCreditsInPlatformResponseV0. + * @implements IGetTotalCreditsInPlatformResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set */ - function GetContestedResourceVoteStateResponseV0(properties) { + function GetTotalCreditsInPlatformResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30342,69 +40069,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 + * GetTotalCreditsInPlatformResponseV0 credits. + * @member {number|Long} credits + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @instance */ - GetContestedResourceVoteStateResponseV0.prototype.contestedResourceContenders = null; + GetTotalCreditsInPlatformResponseV0.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * GetContestedResourceVoteStateResponseV0 proof. + * GetTotalCreditsInPlatformResponseV0 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @instance */ - GetContestedResourceVoteStateResponseV0.prototype.proof = null; + GetTotalCreditsInPlatformResponseV0.prototype.proof = null; /** - * GetContestedResourceVoteStateResponseV0 metadata. + * GetTotalCreditsInPlatformResponseV0 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @instance */ - GetContestedResourceVoteStateResponseV0.prototype.metadata = null; + GetTotalCreditsInPlatformResponseV0.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 + * GetTotalCreditsInPlatformResponseV0 result. + * @member {"credits"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @instance */ - Object.defineProperty(GetContestedResourceVoteStateResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["contestedResourceContenders", "proof"]), + Object.defineProperty(GetTotalCreditsInPlatformResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["credits", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVoteStateResponseV0 instance using the specified properties. + * Creates a new GetTotalCreditsInPlatformResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @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.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 instance */ - GetContestedResourceVoteStateResponseV0.create = function create(properties) { - return new GetContestedResourceVoteStateResponseV0(properties); + GetTotalCreditsInPlatformResponseV0.create = function create(properties) { + return new GetTotalCreditsInPlatformResponseV0(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages. + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode + * @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 */ - GetContestedResourceVoteStateResponseV0.encode = function encode(message, writer) { + GetTotalCreditsInPlatformResponseV0.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.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")) @@ -30413,38 +40140,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 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode + * @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 */ - GetContestedResourceVoteStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTotalCreditsInPlatformResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer. + * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 + * @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 */ - GetContestedResourceVoteStateResponseV0.decode = function decode(reader, length) { + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0(); + 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.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.decode(reader, reader.uint32()); + message.credits = reader.uint64(); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -30461,40 +40188,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTotalCreditsInPlatformResponseV0 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 * @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) { + GetTotalCreditsInPlatformResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVoteStateResponseV0 message. + * Verifies a GetTotalCreditsInPlatformResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @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 */ - GetContestedResourceVoteStateResponseV0.verify = function verify(message) { + GetTotalCreditsInPlatformResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) { + if (message.credits != null && message.hasOwnProperty("credits")) { properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify(message.contestedResourceContenders); - if (error) - return "contestedResourceContenders." + error; - } + 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) @@ -30515,54 +40239,61 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetTotalCreditsInPlatformResponseV0 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 */ - GetContestedResourceVoteStateResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0) + 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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.proof: object expected"); + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.metadata: object expected"); + 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; }; /** - * Creates a plain object from a GetContestedResourceVoteStateResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetTotalCreditsInPlatformResponseV0 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateResponseV0.toObject = function toObject(message, options) { + GetTotalCreditsInPlatformResponseV0.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.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 = "contestedResourceContenders"; + object.result = "credits"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -30575,940 +40306,522 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVoteStateResponseV0 to JSON. + * Converts this GetTotalCreditsInPlatformResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 * @instance - * @returns {Object.} JSON object - */ - GetContestedResourceVoteStateResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetContestedResourceVoteStateResponseV0.FinishedVoteInfo = (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 - */ - - /** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set - */ - function FinishedVoteInfo(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]]; - } - - /** - * 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 - * @instance - */ - FinishedVoteInfo.prototype.finishedAtEpoch = 0; - - /** - * Creates a new FinishedVoteInfo instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @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 - */ - FinishedVoteInfo.create = function create(properties) { - return new FinishedVoteInfo(properties); - }; - - /** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @static - * @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 - */ - FinishedVoteInfo.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); - return writer; - }; - - /** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @static - * @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 - */ - FinishedVoteInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FinishedVoteInfo message from the specified reader or buffer. - * @function decode - * @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.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 - */ - 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo(); - 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(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FinishedVoteInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @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.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 - */ - FinishedVoteInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FinishedVoteInfo message. - * @function verify - * @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 - */ - FinishedVoteInfo.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"; - return null; - }; - - /** - * Creates a FinishedVoteInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo - */ - 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.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.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. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message FinishedVoteInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FinishedVoteInfo.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 (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. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @instance - * @returns {Object.} JSON object - */ - FinishedVoteInfo.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; - })(); - - GetContestedResourceVoteStateResponseV0.ContestedResourceContenders = (function() { + * @returns {Object.} JSON object + */ + GetTotalCreditsInPlatformResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * 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 GetTotalCreditsInPlatformResponseV0; + })(); - /** - * 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 GetTotalCreditsInPlatformResponse; + })(); - /** - * ContestedResourceContenders contenders. - * @member {Array.} contenders - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - */ - ContestedResourceContenders.prototype.contenders = $util.emptyArray; + v0.GetPathElementsRequest = (function() { - /** - * ContestedResourceContenders abstainVoteTally. - * @member {number} abstainVoteTally - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - */ - ContestedResourceContenders.prototype.abstainVoteTally = 0; + /** + * Properties of a GetPathElementsRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetPathElementsRequest + * @property {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null} [v0] GetPathElementsRequest v0 + */ - /** - * ContestedResourceContenders lockVoteTally. - * @member {number} lockVoteTally - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - */ - ContestedResourceContenders.prototype.lockVoteTally = 0; + /** + * 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]]; + } - /** - * 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; + /** + * 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 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; - }; + /** + * 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 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(); - }; + /** + * 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 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; - }; + /** + * 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 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()); - }; + /** + * 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 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; - }; + /** + * 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 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; - }; + /** + * 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 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; - }; + /** + * 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 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); - }; + /** + * 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 ContestedResourceContenders; - })(); + /** + * 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; + }; - GetContestedResourceVoteStateResponseV0.Contender = (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 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 - */ + GetPathElementsRequest.GetPathElementsRequestV0 = (function() { - /** - * 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]]; - } + /** + * 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 + */ - /** - * Contender identifier. - * @member {Uint8Array} identifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @instance - */ - Contender.prototype.identifier = $util.newBuffer([]); + /** + * 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]]; + } - /** - * Contender voteCount. - * @member {number} voteCount - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @instance - */ - Contender.prototype.voteCount = 0; + /** + * GetPathElementsRequestV0 path. + * @member {Array.} path + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @instance + */ + GetPathElementsRequestV0.prototype.path = $util.emptyArray; - /** - * Contender document. - * @member {Uint8Array} document - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @instance - */ - Contender.prototype.document = $util.newBuffer([]); + /** + * GetPathElementsRequestV0 keys. + * @member {Array.} keys + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @instance + */ + GetPathElementsRequestV0.prototype.keys = $util.emptyArray; - /** - * 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); - }; + /** + * GetPathElementsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @instance + */ + GetPathElementsRequestV0.prototype.prove = false; - /** - * 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; - }; + /** + * 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); + }; - /** - * 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(); - }; + /** + * 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 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; - }; + /** + * 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(); + }; - /** - * 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()); - }; + /** + * 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; + }; - /** - * 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; - }; + /** + * 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()); + }; - /** - * 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; - }; + /** + * 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; + }; - /** - * 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; + /** + * 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; + }; - /** - * 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); - }; + /** + * 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; + }; - return Contender; - })(); + /** + * 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); + }; - return GetContestedResourceVoteStateResponseV0; + return GetPathElementsRequestV0; })(); - return GetContestedResourceVoteStateResponse; + return GetPathElementsRequest; })(); - v0.GetContestedResourceVotersForIdentityRequest = (function() { + v0.GetPathElementsResponse = (function() { /** - * Properties of a GetContestedResourceVotersForIdentityRequest. + * Properties of a GetPathElementsResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVotersForIdentityRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null} [v0] GetContestedResourceVotersForIdentityRequest v0 + * @interface IGetPathElementsResponse + * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null} [v0] GetPathElementsResponse v0 */ /** - * Constructs a new GetContestedResourceVotersForIdentityRequest. + * Constructs a new GetPathElementsResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVotersForIdentityRequest. - * @implements IGetContestedResourceVotersForIdentityRequest + * @classdesc Represents a GetPathElementsResponse. + * @implements IGetPathElementsResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set */ - function GetContestedResourceVotersForIdentityRequest(properties) { + function GetPathElementsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31516,89 +40829,89 @@ $root.org = (function() { } /** - * GetContestedResourceVotersForIdentityRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * GetPathElementsResponse v0. + * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse * @instance */ - GetContestedResourceVotersForIdentityRequest.prototype.v0 = null; + GetPathElementsResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVotersForIdentityRequest version. + * GetPathElementsResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse * @instance */ - Object.defineProperty(GetContestedResourceVotersForIdentityRequest.prototype, "version", { + Object.defineProperty(GetPathElementsResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVotersForIdentityRequest instance using the specified properties. + * Creates a new GetPathElementsResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse * @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.IGetPathElementsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse instance */ - GetContestedResourceVotersForIdentityRequest.create = function create(properties) { - return new GetContestedResourceVotersForIdentityRequest(properties); + GetPathElementsResponse.create = function create(properties) { + return new GetPathElementsResponse(properties); }; /** - * Encodes the specified GetContestedResourceVotersForIdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages. + * 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.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode + * @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 */ - GetContestedResourceVotersForIdentityRequest.encode = function encode(message, 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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 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.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode + * @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 */ - GetContestedResourceVotersForIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetPathElementsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer. + * Decodes a GetPathElementsResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @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.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest + * @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 */ - GetContestedResourceVotersForIdentityRequest.decode = function decode(reader, length) { + 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.GetContestedResourceVotersForIdentityRequest(); + 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -31609,37 +40922,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer, length delimited. + * Decodes a GetPathElementsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @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.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest + * @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 */ - GetContestedResourceVotersForIdentityRequest.decodeDelimited = function decodeDelimited(reader) { + GetPathElementsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVotersForIdentityRequest message. + * Verifies a GetPathElementsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @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 */ - GetContestedResourceVotersForIdentityRequest.verify = function verify(message) { + 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -31648,40 +40961,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVotersForIdentityRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetPathElementsResponse 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.GetPathElementsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse */ - GetContestedResourceVotersForIdentityRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest) + 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.GetContestedResourceVotersForIdentityRequest(); + 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.GetContestedResourceVotersForIdentityRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.fromObject(object.v0); + 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 GetContestedResourceVotersForIdentityRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetPathElementsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse} message GetPathElementsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVotersForIdentityRequest.toObject = function toObject(message, options) { + 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -31689,43 +41002,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVotersForIdentityRequest to JSON. + * Converts this GetPathElementsResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourceVotersForIdentityRequest.prototype.toJSON = function toJSON() { + GetPathElementsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 = (function() { + GetPathElementsResponse.GetPathElementsResponseV0 = (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 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 GetContestedResourceVotersForIdentityRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest - * @classdesc Represents a GetContestedResourceVotersForIdentityRequestV0. - * @implements IGetContestedResourceVotersForIdentityRequestV0 + * Constructs a new GetPathElementsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @classdesc Represents a GetPathElementsResponseV0. + * @implements IGetPathElementsResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set */ - function GetContestedResourceVotersForIdentityRequestV0(properties) { - this.indexValues = []; + function GetPathElementsResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31733,182 +41039,115 @@ $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 - * @instance - */ - GetContestedResourceVotersForIdentityRequestV0.prototype.indexValues = $util.emptyArray; - - /** - * GetContestedResourceVotersForIdentityRequestV0 contestantId. - * @member {Uint8Array} contestantId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetPathElementsResponseV0 elements. + * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null|undefined} elements + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.contestantId = $util.newBuffer([]); + GetPathElementsResponseV0.prototype.elements = null; /** - * GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetPathElementsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.startAtIdentifierInfo = null; + GetPathElementsResponseV0.prototype.proof = null; /** - * GetContestedResourceVotersForIdentityRequestV0 count. - * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetPathElementsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.count = 0; + GetPathElementsResponseV0.prototype.metadata = null; - /** - * GetContestedResourceVotersForIdentityRequestV0 orderAscending. - * @member {boolean} orderAscending - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 - * @instance - */ - GetContestedResourceVotersForIdentityRequestV0.prototype.orderAscending = false; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetContestedResourceVotersForIdentityRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetPathElementsResponseV0 result. + * @member {"elements"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.prove = false; + Object.defineProperty(GetPathElementsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["elements", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetContestedResourceVotersForIdentityRequestV0 instance using the specified properties. + * Creates a new GetPathElementsResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @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.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 instance */ - GetContestedResourceVotersForIdentityRequestV0.create = function create(properties) { - return new GetContestedResourceVotersForIdentityRequestV0(properties); + GetPathElementsResponseV0.create = function create(properties) { + return new GetPathElementsResponseV0(properties); }; /** - * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages. + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode + * @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 */ - GetContestedResourceVotersForIdentityRequestV0.encode = function encode(message, writer) { + GetPathElementsResponseV0.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.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove); + 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 GetContestedResourceVotersForIdentityRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages. + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode + * @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 */ - GetContestedResourceVotersForIdentityRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetPathElementsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer. + * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 + * @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 */ - GetContestedResourceVotersForIdentityRequestV0.decode = function decode(reader, length) { + 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0(); + 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.contractId = reader.bytes(); + message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.decode(reader, reader.uint32()); break; case 2: - message.documentTypeName = reader.string(); + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); 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(); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -31919,209 +41158,149 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetPathElementsResponseV0 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.GetPathElementsResponse.GetPathElementsResponseV0 * @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.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 * @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) { + GetPathElementsResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVotersForIdentityRequestV0 message. + * Verifies a GetPathElementsResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @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 */ - GetContestedResourceVotersForIdentityRequestV0.verify = function verify(message) { + GetPathElementsResponseV0.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"; + 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.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.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 "startAtIdentifierInfo." + error; + return "metadata." + 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"; return null; }; /** - * Creates a GetContestedResourceVotersForIdentityRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetPathElementsResponseV0 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.GetPathElementsResponse.GetPathElementsResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 */ - GetContestedResourceVotersForIdentityRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0) + 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.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.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.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.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); } - 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 GetContestedResourceVotersForIdentityRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetPathElementsResponseV0 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.GetPathElementsResponse.GetPathElementsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message GetPathElementsResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVotersForIdentityRequestV0.toObject = function toObject(message, options) { + GetPathElementsResponseV0.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.prove = false; + 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.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.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.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; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetContestedResourceVotersForIdentityRequestV0 to JSON. + * Converts this GetPathElementsResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceVotersForIdentityRequestV0.prototype.toJSON = function toJSON() { + GetPathElementsResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo = (function() { + GetPathElementsResponseV0.Elements = (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 an Elements. + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @interface IElements + * @property {Array.|null} [elements] Elements elements */ /** - * Constructs a new StartAtIdentifierInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 - * @classdesc Represents a StartAtIdentifierInfo. - * @implements IStartAtIdentifierInfo + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set */ - function StartAtIdentifierInfo(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) @@ -32129,88 +41308,78 @@ $root.org = (function() { } /** - * StartAtIdentifierInfo startIdentifier. - * @member {Uint8Array} startIdentifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo - * @instance - */ - StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); - - /** - * StartAtIdentifierInfo startIdentifierIncluded. - * @member {boolean} startIdentifierIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * Elements elements. + * @member {Array.} elements + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @instance */ - StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; + Elements.prototype.elements = $util.emptyArray; /** - * Creates a new StartAtIdentifierInfo instance using the specified properties. + * Creates a new Elements instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @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.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements instance */ - StartAtIdentifierInfo.create = function create(properties) { - return new StartAtIdentifierInfo(properties); + Elements.create = function create(properties) { + return new Elements(properties); }; /** - * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo 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 */ - StartAtIdentifierInfo.encode = function encode(message, writer) { + Elements.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.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 StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo 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 */ - StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) { + Elements.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StartAtIdentifierInfo 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @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 */ - StartAtIdentifierInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo(); + 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.startIdentifier = reader.bytes(); - break; - case 2: - message.startIdentifierIncluded = reader.bool(); + if (!(message.elements && message.elements.length)) + message.elements = []; + message.elements.push(reader.bytes()); break; default: reader.skipType(tag & 7); @@ -32221,131 +41390,128 @@ $root.org = (function() { }; /** - * Decodes a StartAtIdentifierInfo 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @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 */ - StartAtIdentifierInfo.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 StartAtIdentifierInfo message. + * Verifies an Elements message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @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 */ - StartAtIdentifierInfo.verify = function verify(message) { + Elements.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.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 StartAtIdentifierInfo 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements */ - StartAtIdentifierInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo) + 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.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.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 StartAtIdentifierInfo 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message Elements * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StartAtIdentifierInfo.toObject = function toObject(message, options) { + Elements.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 (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.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. + * Converts this Elements to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @instance * @returns {Object.} JSON object */ - StartAtIdentifierInfo.prototype.toJSON = function toJSON() { + Elements.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StartAtIdentifierInfo; + return Elements; })(); - return GetContestedResourceVotersForIdentityRequestV0; + return GetPathElementsResponseV0; })(); - return GetContestedResourceVotersForIdentityRequest; + return GetPathElementsResponse; })(); - v0.GetContestedResourceVotersForIdentityResponse = (function() { + v0.GetStatusRequest = (function() { /** - * Properties of a GetContestedResourceVotersForIdentityResponse. + * Properties of a GetStatusRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVotersForIdentityResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null} [v0] GetContestedResourceVotersForIdentityResponse v0 + * @interface IGetStatusRequest + * @property {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null} [v0] GetStatusRequest v0 */ /** - * Constructs a new GetContestedResourceVotersForIdentityResponse. + * Constructs a new GetStatusRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVotersForIdentityResponse. - * @implements IGetContestedResourceVotersForIdentityResponse + * @classdesc Represents a GetStatusRequest. + * @implements IGetStatusRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set */ - function GetContestedResourceVotersForIdentityResponse(properties) { + function GetStatusRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32353,89 +41519,89 @@ $root.org = (function() { } /** - * GetContestedResourceVotersForIdentityResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * GetStatusRequest v0. + * @member {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetStatusRequest * @instance */ - GetContestedResourceVotersForIdentityResponse.prototype.v0 = null; + GetStatusRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVotersForIdentityResponse version. + * GetStatusRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetStatusRequest * @instance */ - Object.defineProperty(GetContestedResourceVotersForIdentityResponse.prototype, "version", { + Object.defineProperty(GetStatusRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVotersForIdentityResponse instance using the specified properties. + * Creates a new GetStatusRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetStatusRequest * @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.IGetStatusRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest instance */ - GetContestedResourceVotersForIdentityResponse.create = function create(properties) { - return new GetContestedResourceVotersForIdentityResponse(properties); + GetStatusRequest.create = function create(properties) { + return new GetStatusRequest(properties); }; /** - * Encodes the specified GetContestedResourceVotersForIdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages. + * 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.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetStatusRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode + * @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 */ - GetContestedResourceVotersForIdentityResponse.encode = function encode(message, 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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 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.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetStatusRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode + * @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 */ - GetContestedResourceVotersForIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer. + * Decodes a GetStatusRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @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.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse + * @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 */ - GetContestedResourceVotersForIdentityResponse.decode = function decode(reader, length) { + 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.GetContestedResourceVotersForIdentityResponse(); + 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -32446,37 +41612,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer, length delimited. + * Decodes a GetStatusRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @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.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse + * @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 */ - GetContestedResourceVotersForIdentityResponse.decodeDelimited = function decodeDelimited(reader) { + GetStatusRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVotersForIdentityResponse message. + * Verifies a GetStatusRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @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 */ - GetContestedResourceVotersForIdentityResponse.verify = function verify(message) { + 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -32485,40 +41651,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVotersForIdentityResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetStatusRequest 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.GetStatusRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse + * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest */ - GetContestedResourceVotersForIdentityResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse) + 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.GetContestedResourceVotersForIdentityResponse(); + 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.GetContestedResourceVotersForIdentityResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.fromObject(object.v0); + 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; }; /** - * Creates a plain object from a GetContestedResourceVotersForIdentityResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetStatusRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetStatusRequest * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse + * @param {org.dash.platform.dapi.v0.GetStatusRequest} message GetStatusRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVotersForIdentityResponse.toObject = function toObject(message, options) { + 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -32526,539 +41692,197 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVotersForIdentityResponse to JSON. + * Converts this GetStatusRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetStatusRequest * @instance * @returns {Object.} JSON object */ - GetContestedResourceVotersForIdentityResponse.prototype.toJSON = function toJSON() { + GetStatusRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 = (function() { + GetStatusRequest.GetStatusRequestV0 = (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 GetStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @interface IGetStatusRequestV0 */ /** - * Constructs a new GetContestedResourceVotersForIdentityResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse - * @classdesc Represents a GetContestedResourceVotersForIdentityResponseV0. - * @implements IGetContestedResourceVotersForIdentityResponseV0 + * Constructs a new GetStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @classdesc Represents a GetStatusRequestV0. + * @implements IGetStatusRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set - */ - function GetContestedResourceVotersForIdentityResponseV0(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]]; - } - - /** - * GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null|undefined} contestedResourceVoters - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @instance - */ - GetContestedResourceVotersForIdentityResponseV0.prototype.contestedResourceVoters = null; - - /** - * GetContestedResourceVotersForIdentityResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @instance - */ - GetContestedResourceVotersForIdentityResponseV0.prototype.proof = null; - - /** - * GetContestedResourceVotersForIdentityResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @instance - */ - GetContestedResourceVotersForIdentityResponseV0.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 - * @instance - */ - Object.defineProperty(GetContestedResourceVotersForIdentityResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoters", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new GetContestedResourceVotersForIdentityResponseV0 instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 instance - */ - GetContestedResourceVotersForIdentityResponseV0.create = function create(properties) { - return new GetContestedResourceVotersForIdentityResponseV0(properties); - }; - - /** - * 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @static - * @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 - */ - GetContestedResourceVotersForIdentityResponseV0.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.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 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @static - * @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 - */ - GetContestedResourceVotersForIdentityResponseV0.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer. - * @function decode - * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 - * @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) { - if (!(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(); - 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()); - 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 GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 - * @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) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetContestedResourceVotersForIdentityResponseV0 message. - * @function verify - * @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 - */ - GetContestedResourceVotersForIdentityResponseV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) { - properties.result = 1; - { - 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) - 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 GetContestedResourceVotersForIdentityResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 - */ - 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.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.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.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 GetContestedResourceVotersForIdentityResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetContestedResourceVotersForIdentityResponseV0.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 (options.oneofs) - object.result = "contestedResourceVoters"; - } - 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 GetContestedResourceVotersForIdentityResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetContestedResourceVotersForIdentityResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters = (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 - */ - - /** - * 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; - }; + * @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]]; + } - /** - * 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(); - }; + /** + * 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); + }; - /** - * 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; - }; + /** + * 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; + }; - /** - * 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()); - }; + /** + * 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(); + }; - /** - * 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"; + /** + * 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; } - if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) - if (typeof message.finishedResults !== "boolean") - return "finishedResults: boolean expected"; - return null; - }; + } + return message; + }; - /** - * 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; - }; + /** + * 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()); + }; - /** - * 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; + /** + * 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; + }; + + /** + * 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(); + }; - /** - * 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); - }; + /** + * 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 {}; + }; - return ContestedResourceVoters; - })(); + /** + * 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); + }; - return GetContestedResourceVotersForIdentityResponseV0; + return GetStatusRequestV0; })(); - return GetContestedResourceVotersForIdentityResponse; + return GetStatusRequest; })(); - v0.GetContestedResourceIdentityVotesRequest = (function() { + v0.GetStatusResponse = (function() { /** - * Properties of a GetContestedResourceIdentityVotesRequest. + * Properties of a GetStatusResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceIdentityVotesRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null} [v0] GetContestedResourceIdentityVotesRequest v0 + * @interface IGetStatusResponse + * @property {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null} [v0] GetStatusResponse v0 */ /** - * Constructs a new GetContestedResourceIdentityVotesRequest. + * Constructs a new GetStatusResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceIdentityVotesRequest. - * @implements IGetContestedResourceIdentityVotesRequest + * @classdesc Represents a GetStatusResponse. + * @implements IGetStatusResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set */ - function GetContestedResourceIdentityVotesRequest(properties) { + function GetStatusResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -33066,89 +41890,89 @@ $root.org = (function() { } /** - * GetContestedResourceIdentityVotesRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * GetStatusResponse v0. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetStatusResponse * @instance */ - GetContestedResourceIdentityVotesRequest.prototype.v0 = null; + GetStatusResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceIdentityVotesRequest version. + * GetStatusResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetStatusResponse * @instance */ - Object.defineProperty(GetContestedResourceIdentityVotesRequest.prototype, "version", { + Object.defineProperty(GetStatusResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceIdentityVotesRequest instance using the specified properties. + * Creates a new GetStatusResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest instance + * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse instance */ - GetContestedResourceIdentityVotesRequest.create = function create(properties) { - return new GetContestedResourceIdentityVotesRequest(properties); + GetStatusResponse.create = function create(properties) { + return new GetStatusResponse(properties); }; /** - * Encodes the specified GetContestedResourceIdentityVotesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode + * @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 */ - GetContestedResourceIdentityVotesRequest.encode = function encode(message, 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetContestedResourceIdentityVotesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode + * @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 */ - GetContestedResourceIdentityVotesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer. + * Decodes a GetStatusResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @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.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest + * @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 */ - GetContestedResourceIdentityVotesRequest.decode = function decode(reader, length) { + 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.GetContestedResourceIdentityVotesRequest(); + 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -33159,37 +41983,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetStatusResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @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.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest + * @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 */ - GetContestedResourceIdentityVotesRequest.decodeDelimited = function decodeDelimited(reader) { + GetStatusResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceIdentityVotesRequest message. + * Verifies a GetStatusResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @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 */ - GetContestedResourceIdentityVotesRequest.verify = function verify(message) { + 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -33198,40 +42022,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceIdentityVotesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetStatusResponse 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.GetStatusResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest + * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse */ - GetContestedResourceIdentityVotesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest) + 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.GetContestedResourceIdentityVotesRequest(); + 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.GetContestedResourceIdentityVotesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.fromObject(object.v0); + 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; }; /** - * Creates a plain object from a GetContestedResourceIdentityVotesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetStatusResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetStatusResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest + * @param {org.dash.platform.dapi.v0.GetStatusResponse} message GetStatusResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceIdentityVotesRequest.toObject = function toObject(message, options) { + 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -33239,39 +42063,39 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceIdentityVotesRequest to JSON. + * Converts this GetStatusResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetStatusResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourceIdentityVotesRequest.prototype.toJSON = function toJSON() { + GetStatusResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 = (function() { + GetStatusResponse.GetStatusResponseV0 = (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 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 GetContestedResourceIdentityVotesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @classdesc Represents a GetContestedResourceIdentityVotesRequestV0. - * @implements IGetContestedResourceIdentityVotesRequestV0 + * Constructs a new GetStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @classdesc Represents a GetStatusResponseV0. + * @implements IGetStatusResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set */ - function GetContestedResourceIdentityVotesRequestV0(properties) { + function GetStatusResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -33279,140 +42103,140 @@ $root.org = (function() { } /** - * GetContestedResourceIdentityVotesRequestV0 identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetStatusResponseV0 version. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null|undefined} version + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.identityId = $util.newBuffer([]); + GetStatusResponseV0.prototype.version = null; /** - * GetContestedResourceIdentityVotesRequestV0 limit. - * @member {google.protobuf.IUInt32Value|null|undefined} limit - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetStatusResponseV0 node. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null|undefined} node + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.limit = null; + GetStatusResponseV0.prototype.node = null; /** - * GetContestedResourceIdentityVotesRequestV0 offset. - * @member {google.protobuf.IUInt32Value|null|undefined} offset - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetStatusResponseV0 chain. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null|undefined} chain + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.offset = null; + GetStatusResponseV0.prototype.chain = null; /** - * GetContestedResourceIdentityVotesRequestV0 orderAscending. - * @member {boolean} orderAscending - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetStatusResponseV0 network. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null|undefined} network + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.orderAscending = false; + GetStatusResponseV0.prototype.network = null; /** - * GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null|undefined} startAtVotePollIdInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetStatusResponseV0 stateSync. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null|undefined} stateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.startAtVotePollIdInfo = null; + GetStatusResponseV0.prototype.stateSync = null; /** - * GetContestedResourceIdentityVotesRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetStatusResponseV0 time. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null|undefined} time + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.prove = false; + GetStatusResponseV0.prototype.time = null; /** - * Creates a new GetContestedResourceIdentityVotesRequestV0 instance using the specified properties. + * Creates a new GetStatusResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @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.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 instance */ - GetContestedResourceIdentityVotesRequestV0.create = function create(properties) { - return new GetContestedResourceIdentityVotesRequestV0(properties); + GetStatusResponseV0.create = function create(properties) { + return new GetStatusResponseV0(properties); }; /** - * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode + * @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 */ - GetContestedResourceIdentityVotesRequestV0.encode = function encode(message, writer) { + GetStatusResponseV0.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 6, wireType 0 =*/48).bool(message.prove); + 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 GetContestedResourceIdentityVotesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode + * @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 */ - GetContestedResourceIdentityVotesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer. + * Decodes a GetStatusResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 + * @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 */ - GetContestedResourceIdentityVotesRequestV0.decode = function decode(reader, length) { + 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0(); + 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.identityId = reader.bytes(); + message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.decode(reader, reader.uint32()); break; case 2: - message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.decode(reader, reader.uint32()); break; case 3: - message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.decode(reader, reader.uint32()); break; case 4: - message.orderAscending = reader.bool(); + message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.decode(reader, reader.uint32()); break; case 5: - message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.decode(reader, reader.uint32()); + message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.decode(reader, reader.uint32()); break; case 6: - message.prove = reader.bool(); + message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -33423,170 +42247,176 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetStatusResponseV0 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.GetStatusResponse.GetStatusResponseV0 * @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.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 * @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) { + GetStatusResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceIdentityVotesRequestV0 message. + * Verifies a GetStatusResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @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 */ - GetContestedResourceIdentityVotesRequestV0.verify = function verify(message) { + GetStatusResponseV0.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 (message.version != null && message.hasOwnProperty("version")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify(message.version); if (error) - return "limit." + error; + return "version." + error; } - if (message.offset != null && message.hasOwnProperty("offset")) { - var error = $root.google.protobuf.UInt32Value.verify(message.offset); + if (message.node != null && message.hasOwnProperty("node")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify(message.node); if (error) - return "offset." + error; + return "node." + 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 (message.chain != null && message.hasOwnProperty("chain")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify(message.chain); if (error) - return "startAtVotePollIdInfo." + 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 GetContestedResourceIdentityVotesRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetStatusResponseV0 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.GetStatusResponse.GetStatusResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 */ - GetContestedResourceIdentityVotesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0) + 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.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); + 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); } - 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 GetStatusResponseV0 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.GetStatusResponse.GetStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} message GetStatusResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceIdentityVotesRequestV0.toObject = function toObject(message, options) { + GetStatusResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - if (options.bytes === String) - object.identityId = ""; - else { - object.identityId = []; - if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); - } - object.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; + 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; }; /** - * Converts this GetContestedResourceIdentityVotesRequestV0 to JSON. + * Converts this GetStatusResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceIdentityVotesRequestV0.prototype.toJSON = function toJSON() { + GetStatusResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo = (function() { + GetStatusResponseV0.Version = (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 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 */ /** - * Constructs a new StartAtVotePollIdInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 - * @classdesc Represents a StartAtVotePollIdInfo. - * @implements IStartAtVotePollIdInfo + * 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set */ - function StartAtVotePollIdInfo(properties) { + function Version(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -33594,88 +42424,88 @@ $root.org = (function() { } /** - * StartAtVotePollIdInfo startAtPollIdentifier. - * @member {Uint8Array} startAtPollIdentifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * 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 */ - StartAtVotePollIdInfo.prototype.startAtPollIdentifier = $util.newBuffer([]); + Version.prototype.software = null; /** - * StartAtVotePollIdInfo startPollIdentifierIncluded. - * @member {boolean} startPollIdentifierIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * 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 */ - StartAtVotePollIdInfo.prototype.startPollIdentifierIncluded = false; + Version.prototype.protocol = null; /** - * Creates a new StartAtVotePollIdInfo instance using the specified properties. + * Creates a new Version instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @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.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version instance */ - StartAtVotePollIdInfo.create = function create(properties) { - return new StartAtVotePollIdInfo(properties); + Version.create = function create(properties) { + return new Version(properties); }; /** - * Encodes the specified StartAtVotePollIdInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo 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 */ - StartAtVotePollIdInfo.encode = function encode(message, writer) { + Version.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.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 StartAtVotePollIdInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo 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 */ - StartAtVotePollIdInfo.encodeDelimited = function encodeDelimited(message, writer) { + Version.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StartAtVotePollIdInfo 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @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 */ - StartAtVotePollIdInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo(); + 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.startAtPollIdentifier = reader.bytes(); + message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.decode(reader, reader.uint32()); break; case 2: - message.startPollIdentifierIncluded = reader.bool(); + message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -33686,611 +42516,1295 @@ $root.org = (function() { }; /** - * Decodes a StartAtVotePollIdInfo 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @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 */ - StartAtVotePollIdInfo.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 StartAtVotePollIdInfo message. + * Verifies a Version message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @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 */ - StartAtVotePollIdInfo.verify = function verify(message) { + Version.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.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 StartAtVotePollIdInfo 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version */ - StartAtVotePollIdInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo) + 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.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.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 StartAtVotePollIdInfo message. Also converts values to other types if specified. + * Creates a plain object from a Version 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.GetStatusResponse.GetStatusResponseV0.Version * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message StartAtVotePollIdInfo + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} message Version * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StartAtVotePollIdInfo.toObject = function toObject(message, options) { + Version.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; + object.software = null; + object.protocol = null; } - 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.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 StartAtVotePollIdInfo to JSON. + * Converts this Version to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @instance * @returns {Object.} JSON object */ - StartAtVotePollIdInfo.prototype.toJSON = function toJSON() { + Version.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StartAtVotePollIdInfo; - })(); + Version.Software = (function() { - return GetContestedResourceIdentityVotesRequestV0; - })(); + /** + * 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 + */ - return GetContestedResourceIdentityVotesRequest; - })(); + /** + * 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]]; + } - v0.GetContestedResourceIdentityVotesResponse = (function() { + /** + * Software dapi. + * @member {string} dapi + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @instance + */ + Software.prototype.dapi = ""; - /** - * Properties of a GetContestedResourceIdentityVotesResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceIdentityVotesResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null} [v0] GetContestedResourceIdentityVotesResponse v0 - */ + /** + * Software drive. + * @member {string} drive + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @instance + */ + Software.prototype.drive = ""; - /** - * Constructs a new GetContestedResourceIdentityVotesResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceIdentityVotesResponse. - * @implements IGetContestedResourceIdentityVotesResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set - */ - function GetContestedResourceIdentityVotesResponse(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 tenderdash. + * @member {string} tenderdash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @instance + */ + Software.prototype.tenderdash = ""; - /** - * GetContestedResourceIdentityVotesResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @instance - */ - GetContestedResourceIdentityVotesResponse.prototype.v0 = null; + /** + * 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); + }; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * 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; + }; - /** - * GetContestedResourceIdentityVotesResponse version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @instance - */ - Object.defineProperty(GetContestedResourceIdentityVotesResponse.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * 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(); + }; - /** - * Creates a new GetContestedResourceIdentityVotesResponse instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse instance - */ - GetContestedResourceIdentityVotesResponse.create = function create(properties) { - return new GetContestedResourceIdentityVotesResponse(properties); - }; + /** + * 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; + }; - /** - * 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.GetContestedResourceIdentityVotesResponse - * @static - * @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 - */ - 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + /** + * 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()); + }; - /** - * 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.GetContestedResourceIdentityVotesResponse - * @static - * @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 - */ - GetContestedResourceIdentityVotesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * 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; + }; - /** - * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer. - * @function decode - * @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.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse - * @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) { - if (!(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(); - 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()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * 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; + }; - /** - * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @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.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse - * @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) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * 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; + }; - /** - * Verifies a GetContestedResourceIdentityVotesResponse message. - * @function verify - * @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 - */ - 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify(message.v0); - if (error) - return "v0." + error; - } - } - return null; - }; + /** + * 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); + }; - /** - * Creates a GetContestedResourceIdentityVotesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse - */ - 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.GetContestedResourceIdentityVotesResponse(); - 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); - } - return message; - }; + return Software; + })(); - /** - * Creates a plain object from a GetContestedResourceIdentityVotesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(message.v0, options); - if (options.oneofs) - object.version = "v0"; - } - return object; - }; + Version.Protocol = (function() { - /** - * Converts this GetContestedResourceIdentityVotesResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @instance - * @returns {Object.} JSON object - */ - GetContestedResourceIdentityVotesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * 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 + */ - GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 = (function() { + /** + * 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; + })(); - /** - * 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 - */ + GetStatusResponseV0.Time = (function() { - /** - * Constructs a new GetContestedResourceIdentityVotesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @classdesc Represents a GetContestedResourceIdentityVotesResponseV0. - * @implements IGetContestedResourceIdentityVotesResponseV0 - * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set - */ - function GetContestedResourceIdentityVotesResponseV0(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 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 + */ - /** - * GetContestedResourceIdentityVotesResponseV0 votes. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null|undefined} votes - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @instance - */ - GetContestedResourceIdentityVotesResponseV0.prototype.votes = null; + /** + * 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]]; + } - /** - * GetContestedResourceIdentityVotesResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @instance - */ - GetContestedResourceIdentityVotesResponseV0.prototype.proof = null; + /** + * 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; - /** - * GetContestedResourceIdentityVotesResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @instance - */ - GetContestedResourceIdentityVotesResponseV0.prototype.metadata = null; + /** + * 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; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * 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; - /** - * GetContestedResourceIdentityVotesResponseV0 result. - * @member {"votes"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @instance - */ - Object.defineProperty(GetContestedResourceIdentityVotesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["votes", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Time epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @instance + */ + Time.prototype.epoch = 0; - /** - * Creates a new GetContestedResourceIdentityVotesResponseV0 instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 instance - */ - GetContestedResourceIdentityVotesResponseV0.create = function create(properties) { - return new GetContestedResourceIdentityVotesResponseV0(properties); - }; + /** + * 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 GetContestedResourceIdentityVotesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @static - * @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 - */ - GetContestedResourceIdentityVotesResponseV0.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.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 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 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @static - * @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 - */ - GetContestedResourceIdentityVotesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * 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 GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer. - * @function decode - * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 - * @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) { - if (!(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(); - 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()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a 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; - }; + return message; + }; - /** - * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 - * @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) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * 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 GetContestedResourceIdentityVotesResponseV0 message. - * @function verify - * @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 - */ - GetContestedResourceIdentityVotesResponseV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.votes != null && message.hasOwnProperty("votes")) { - properties.result = 1; - { - 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) - 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; - }; + /** + * 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 GetContestedResourceIdentityVotesResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 - */ - GetContestedResourceIdentityVotesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0) + /** + * 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; - 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.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.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 GetContestedResourceIdentityVotesResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetContestedResourceIdentityVotesResponseV0.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 (options.oneofs) - object.result = "votes"; - } - 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 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); + }; - /** - * Converts this GetContestedResourceIdentityVotesResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetContestedResourceIdentityVotesResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return Time; + })(); - GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes = (function() { + GetStatusResponseV0.Node = (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 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 ContestedResourceIdentityVotes. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @classdesc Represents a ContestedResourceIdentityVotes. - * @implements IContestedResourceIdentityVotes + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set */ - function ContestedResourceIdentityVotes(properties) { - this.contestedResourceIdentityVotes = []; + function Node(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -34298,91 +43812,88 @@ $root.org = (function() { } /** - * ContestedResourceIdentityVotes contestedResourceIdentityVotes. - * @member {Array.} contestedResourceIdentityVotes - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * Node id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node * @instance */ - ContestedResourceIdentityVotes.prototype.contestedResourceIdentityVotes = $util.emptyArray; + Node.prototype.id = $util.newBuffer([]); /** - * ContestedResourceIdentityVotes finishedResults. - * @member {boolean} finishedResults - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * Node proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node * @instance */ - ContestedResourceIdentityVotes.prototype.finishedResults = false; + Node.prototype.proTxHash = $util.newBuffer([]); /** - * Creates a new ContestedResourceIdentityVotes instance using the specified properties. + * Creates a new Node instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node * @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.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node instance */ - ContestedResourceIdentityVotes.create = function create(properties) { - return new ContestedResourceIdentityVotes(properties); + Node.create = function create(properties) { + return new Node(properties); }; /** - * Encodes the specified ContestedResourceIdentityVotes message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode + * @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 */ - ContestedResourceIdentityVotes.encode = function encode(message, writer) { + Node.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.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 ContestedResourceIdentityVotes message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode + * @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 */ - ContestedResourceIdentityVotes.encodeDelimited = function encodeDelimited(message, writer) { + Node.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer. + * Decodes a Node message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + * @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 */ - ContestedResourceIdentityVotes.decode = function decode(reader, length) { + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes(); + 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: - 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.id = reader.bytes(); break; case 2: - message.finishedResults = reader.bool(); + message.proTxHash = reader.bytes(); break; default: reader.skipType(tag & 7); @@ -34393,134 +43904,142 @@ $root.org = (function() { }; /** - * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer, length delimited. + * Decodes a Node 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.GetStatusResponse.GetStatusResponseV0.Node * @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.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 */ - ContestedResourceIdentityVotes.decodeDelimited = function decodeDelimited(reader) { + Node.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContestedResourceIdentityVotes message. + * Verifies a Node message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @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 */ - ContestedResourceIdentityVotes.verify = function verify(message) { + Node.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"; + 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 ContestedResourceIdentityVotes message from a plain object. Also converts values to their respective internal types. + * Creates a Node 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.GetStatusResponse.GetStatusResponseV0.Node * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node */ - ContestedResourceIdentityVotes.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes) + 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.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); + 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 ContestedResourceIdentityVotes message. Also converts values to other types if specified. + * Creates a plain object from a Node 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.GetStatusResponse.GetStatusResponseV0.Node * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message ContestedResourceIdentityVotes + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} message Node * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContestedResourceIdentityVotes.toObject = function toObject(message, options) { + Node.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) { + 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.finishedResults != null && message.hasOwnProperty("finishedResults")) - object.finishedResults = message.finishedResults; + 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 ContestedResourceIdentityVotes to JSON. + * Converts this Node to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node * @instance * @returns {Object.} JSON object */ - ContestedResourceIdentityVotes.prototype.toJSON = function toJSON() { + Node.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContestedResourceIdentityVotes; + return Node; })(); - GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice = (function() { + GetStatusResponseV0.Chain = (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 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 ResourceVoteChoice. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @classdesc Represents a ResourceVoteChoice. - * @implements IResourceVoteChoice + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set */ - function ResourceVoteChoice(properties) { + function Chain(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -34528,88 +44047,179 @@ $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 + * Chain catchingUp. + * @member {boolean} catchingUp + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain * @instance */ - ResourceVoteChoice.prototype.voteChoiceType = 0; + Chain.prototype.catchingUp = false; /** - * ResourceVoteChoice identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * Chain latestBlockHash. + * @member {Uint8Array} latestBlockHash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain * @instance */ - ResourceVoteChoice.prototype.identityId = $util.newBuffer([]); + Chain.prototype.latestBlockHash = $util.newBuffer([]); /** - * Creates a new ResourceVoteChoice instance using the specified properties. + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain * @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 + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain instance */ - ResourceVoteChoice.create = function create(properties) { - return new ResourceVoteChoice(properties); + Chain.create = function create(properties) { + return new Chain(properties); }; /** - * Encodes the specified ResourceVoteChoice message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode + * @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 */ - ResourceVoteChoice.encode = function encode(message, writer) { + Chain.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.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 ResourceVoteChoice message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode + * @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 */ - ResourceVoteChoice.encodeDelimited = function encodeDelimited(message, writer) { + Chain.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ResourceVoteChoice message from the specified reader or buffer. + * Decodes a Chain message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + * @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 */ - ResourceVoteChoice.decode = function decode(reader, length) { + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice(); + 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.voteChoiceType = reader.int32(); + message.catchingUp = reader.bool(); break; case 2: - message.identityId = reader.bytes(); + 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); @@ -34620,163 +44230,252 @@ $root.org = (function() { }; /** - * Decodes a ResourceVoteChoice message from the specified reader or buffer, length delimited. + * Decodes a Chain 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.GetStatusResponse.GetStatusResponseV0.Chain * @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.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 */ - ResourceVoteChoice.decodeDelimited = function decodeDelimited(reader) { + Chain.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ResourceVoteChoice message. + * Verifies a Chain message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @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 */ - ResourceVoteChoice.verify = function verify(message) { + Chain.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"; + 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 ResourceVoteChoice message from a plain object. Also converts values to their respective internal types. + * Creates a Chain 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.GetStatusResponse.GetStatusResponseV0.Chain * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain */ - ResourceVoteChoice.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice) + 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.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; - } - 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.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 ResourceVoteChoice message. Also converts values to other types if specified. + * Creates a plain object from a Chain 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.GetStatusResponse.GetStatusResponseV0.Chain * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message ResourceVoteChoice + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} message Chain * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ResourceVoteChoice.toObject = function toObject(message, options) { + Chain.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.voteChoiceType = options.enums === String ? "TOWARDS_IDENTITY" : 0; + object.catchingUp = false; if (options.bytes === String) - object.identityId = ""; + object.latestBlockHash = ""; else { - object.identityId = []; + object.latestBlockHash = []; if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); + 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.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.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 ResourceVoteChoice to JSON. + * Converts this Chain to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain * @instance * @returns {Object.} JSON object */ - ResourceVoteChoice.prototype.toJSON = function toJSON() { + Chain.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 Chain; })(); - GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote = (function() { + GetStatusResponseV0.Network = (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 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 ContestedResourceIdentityVote. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @classdesc Represents a ContestedResourceIdentityVote. - * @implements IContestedResourceIdentityVote + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set */ - function ContestedResourceIdentityVote(properties) { - this.serializedIndexStorageValues = []; + function Network(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -34784,117 +44483,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 + * Network chainId. + * @member {string} chainId + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network * @instance */ - ContestedResourceIdentityVote.prototype.documentTypeName = ""; + Network.prototype.chainId = ""; /** - * ContestedResourceIdentityVote serializedIndexStorageValues. - * @member {Array.} serializedIndexStorageValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * Network peersCount. + * @member {number} peersCount + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network * @instance */ - ContestedResourceIdentityVote.prototype.serializedIndexStorageValues = $util.emptyArray; + Network.prototype.peersCount = 0; /** - * ContestedResourceIdentityVote voteChoice. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null|undefined} voteChoice - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * Network listening. + * @member {boolean} listening + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network * @instance */ - ContestedResourceIdentityVote.prototype.voteChoice = null; + Network.prototype.listening = false; /** - * Creates a new ContestedResourceIdentityVote instance using the specified properties. + * Creates a new Network instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network * @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.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network instance */ - ContestedResourceIdentityVote.create = function create(properties) { - return new ContestedResourceIdentityVote(properties); + Network.create = function create(properties) { + return new Network(properties); }; /** - * Encodes the specified ContestedResourceIdentityVote message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode + * @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 */ - ContestedResourceIdentityVote.encode = function encode(message, writer) { + Network.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.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 ContestedResourceIdentityVote message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages. + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode + * @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 */ - ContestedResourceIdentityVote.encodeDelimited = function encodeDelimited(message, writer) { + Network.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer. + * Decodes a Network message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + * @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 */ - ContestedResourceIdentityVote.decode = function decode(reader, length) { + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote(); + 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.contractId = reader.bytes(); + message.chainId = reader.string(); break; case 2: - message.documentTypeName = reader.string(); + message.peersCount = 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.listening = reader.bool(); break; default: reader.skipType(tag & 7); @@ -34905,598 +44588,570 @@ $root.org = (function() { }; /** - * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer, length delimited. + * Decodes a Network 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.GetStatusResponse.GetStatusResponseV0.Network * @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.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 */ - ContestedResourceIdentityVote.decodeDelimited = function decodeDelimited(reader) { + Network.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContestedResourceIdentityVote message. + * Verifies a Network message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @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 */ - ContestedResourceIdentityVote.verify = function verify(message) { + Network.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.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 ContestedResourceIdentityVote message from a plain object. Also converts values to their respective internal types. + * Creates a Network 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.GetStatusResponse.GetStatusResponseV0.Network * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network */ - ContestedResourceIdentityVote.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote) + 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.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.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 ContestedResourceIdentityVote message. Also converts values to other types if specified. + * Creates a plain object from a Network 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.GetStatusResponse.GetStatusResponseV0.Network * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message ContestedResourceIdentityVote + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} message Network * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContestedResourceIdentityVote.toObject = function toObject(message, options) { + Network.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]; + object.chainId = ""; + object.peersCount = 0; + object.listening = false; } - if (message.voteChoice != null && message.hasOwnProperty("voteChoice")) - object.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(message.voteChoice, options); + 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 ContestedResourceIdentityVote to JSON. + * Converts this Network to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network * @instance * @returns {Object.} JSON object */ - ContestedResourceIdentityVote.prototype.toJSON = function toJSON() { + Network.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContestedResourceIdentityVote; + return Network; })(); - 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 GetPrefundedSpecializedBalanceRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetPrefundedSpecializedBalanceRequest. - * @implements IGetPrefundedSpecializedBalanceRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set - */ - function GetPrefundedSpecializedBalanceRequest(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]]; - } - - /** - * GetPrefundedSpecializedBalanceRequest v0. - * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @instance - */ - GetPrefundedSpecializedBalanceRequest.prototype.v0 = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetPrefundedSpecializedBalanceRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @instance - */ - Object.defineProperty(GetPrefundedSpecializedBalanceRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new GetPrefundedSpecializedBalanceRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest instance - */ - GetPrefundedSpecializedBalanceRequest.create = function create(properties) { - return new GetPrefundedSpecializedBalanceRequest(properties); - }; - - /** - * 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.GetPrefundedSpecializedBalanceRequest - * @static - * @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 - */ - 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @static - * @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 - */ - GetPrefundedSpecializedBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer. - * @function decode - * @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.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest - * @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) { - if (!(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(); - 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()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + GetStatusResponseV0.StateSync = (function() { - /** - * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @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.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest - * @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) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * 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 + */ - /** - * Verifies a GetPrefundedSpecializedBalanceRequest message. - * @function verify - * @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 - */ - 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify(message.v0); - if (error) - return "v0." + error; + /** + * 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]]; } - } - return null; - }; - /** - * Creates a GetPrefundedSpecializedBalanceRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest - */ - 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.GetPrefundedSpecializedBalanceRequest(); - 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); - } - return message; - }; + /** + * 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; - /** - * Creates a plain object from a GetPrefundedSpecializedBalanceRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(message.v0, options); - if (options.oneofs) - object.version = "v0"; - } - return object; - }; + /** + * 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; - /** - * Converts this GetPrefundedSpecializedBalanceRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @instance - * @returns {Object.} JSON object - */ - GetPrefundedSpecializedBalanceRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * StateSync totalSnapshots. + * @member {number} totalSnapshots + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.totalSnapshots = 0; - GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 = (function() { + /** + * 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; - /** - * 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 - */ + /** + * 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; - /** - * Constructs a new GetPrefundedSpecializedBalanceRequestV0. - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @classdesc Represents a GetPrefundedSpecializedBalanceRequestV0. - * @implements IGetPrefundedSpecializedBalanceRequestV0 - * @constructor - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set - */ - function GetPrefundedSpecializedBalanceRequestV0(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 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; - /** - * GetPrefundedSpecializedBalanceRequestV0 id. - * @member {Uint8Array} id - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @instance - */ - GetPrefundedSpecializedBalanceRequestV0.prototype.id = $util.newBuffer([]); + /** + * 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; - /** - * GetPrefundedSpecializedBalanceRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @instance - */ - GetPrefundedSpecializedBalanceRequestV0.prototype.prove = false; + /** + * 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 GetPrefundedSpecializedBalanceRequestV0 instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 instance - */ - GetPrefundedSpecializedBalanceRequestV0.create = function create(properties) { - return new GetPrefundedSpecializedBalanceRequestV0(properties); - }; + /** + * 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 GetPrefundedSpecializedBalanceRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @static - * @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 - */ - GetPrefundedSpecializedBalanceRequestV0.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); - return writer; - }; + /** + * Encodes the specified 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 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @static - * @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 - */ - GetPrefundedSpecializedBalanceRequestV0.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * 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 GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer. - * @function decode - * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 - * @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) { - if (!(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(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.id = reader.bytes(); - break; - case 2: - message.prove = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * 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; - }; + return message; + }; - /** - * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 - * @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) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * 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 GetPrefundedSpecializedBalanceRequestV0 message. - * @function verify - * @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 - */ - GetPrefundedSpecializedBalanceRequestV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) - return "id: buffer expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; + /** + * 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 GetPrefundedSpecializedBalanceRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 - */ - 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.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 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 GetPrefundedSpecializedBalanceRequestV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetPrefundedSpecializedBalanceRequestV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.id = ""; - else { - object.id = []; - if (options.bytes !== Array) - object.id = $util.newBuffer(object.id); + /** + * Creates a plain object from a 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; } - object.prove = false; - } - if (message.id != null && message.hasOwnProperty("id")) - object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + 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 GetPrefundedSpecializedBalanceRequestV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 - * @instance - * @returns {Object.} JSON object - */ - GetPrefundedSpecializedBalanceRequestV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * 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 GetPrefundedSpecializedBalanceRequestV0; + return StateSync; + })(); + + return GetStatusResponseV0; })(); - return GetPrefundedSpecializedBalanceRequest; + return GetStatusResponse; })(); - v0.GetPrefundedSpecializedBalanceResponse = (function() { + v0.GetCurrentQuorumsInfoRequest = (function() { /** - * Properties of a GetPrefundedSpecializedBalanceResponse. + * Properties of a GetCurrentQuorumsInfoRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetPrefundedSpecializedBalanceResponse - * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null} [v0] GetPrefundedSpecializedBalanceResponse v0 + * @interface IGetCurrentQuorumsInfoRequest + * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null} [v0] GetCurrentQuorumsInfoRequest v0 */ /** - * Constructs a new GetPrefundedSpecializedBalanceResponse. + * Constructs a new GetCurrentQuorumsInfoRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetPrefundedSpecializedBalanceResponse. - * @implements IGetPrefundedSpecializedBalanceResponse + * @classdesc Represents a GetCurrentQuorumsInfoRequest. + * @implements IGetCurrentQuorumsInfoRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set */ - function GetPrefundedSpecializedBalanceResponse(properties) { + function GetCurrentQuorumsInfoRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -35504,89 +45159,89 @@ $root.org = (function() { } /** - * GetPrefundedSpecializedBalanceResponse v0. - * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * GetCurrentQuorumsInfoRequest v0. + * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest * @instance */ - GetPrefundedSpecializedBalanceResponse.prototype.v0 = null; + GetCurrentQuorumsInfoRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetPrefundedSpecializedBalanceResponse version. + * GetCurrentQuorumsInfoRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest * @instance */ - Object.defineProperty(GetPrefundedSpecializedBalanceResponse.prototype, "version", { + Object.defineProperty(GetCurrentQuorumsInfoRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetPrefundedSpecializedBalanceResponse instance using the specified properties. + * Creates a new GetCurrentQuorumsInfoRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest * @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.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest instance */ - GetPrefundedSpecializedBalanceResponse.create = function create(properties) { - return new GetPrefundedSpecializedBalanceResponse(properties); + GetCurrentQuorumsInfoRequest.create = function create(properties) { + return new GetCurrentQuorumsInfoRequest(properties); }; /** - * Encodes the specified GetPrefundedSpecializedBalanceResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages. + * 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.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode + * @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 */ - GetPrefundedSpecializedBalanceResponse.encode = function encode(message, 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $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 GetPrefundedSpecializedBalanceResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages. + * 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.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode + * @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 */ - GetPrefundedSpecializedBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetCurrentQuorumsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer. + * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @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.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse + * @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 */ - GetPrefundedSpecializedBalanceResponse.decode = function decode(reader, length) { + 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.GetPrefundedSpecializedBalanceResponse(); + 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -35597,37 +45252,37 @@ $root.org = (function() { }; /** - * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer, length delimited. + * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @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.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse + * @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 */ - GetPrefundedSpecializedBalanceResponse.decodeDelimited = function decodeDelimited(reader) { + GetCurrentQuorumsInfoRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPrefundedSpecializedBalanceResponse message. + * Verifies a GetCurrentQuorumsInfoRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @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 */ - GetPrefundedSpecializedBalanceResponse.verify = function verify(message) { + 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -35636,40 +45291,40 @@ $root.org = (function() { }; /** - * Creates a GetPrefundedSpecializedBalanceResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetCurrentQuorumsInfoRequest 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.GetCurrentQuorumsInfoRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest */ - GetPrefundedSpecializedBalanceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse) + 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.GetPrefundedSpecializedBalanceResponse(); + 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.GetPrefundedSpecializedBalanceResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.fromObject(object.v0); + 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 GetPrefundedSpecializedBalanceResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetCurrentQuorumsInfoRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPrefundedSpecializedBalanceResponse.toObject = function toObject(message, options) { + 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -35677,153 +45332,97 @@ $root.org = (function() { }; /** - * Converts this GetPrefundedSpecializedBalanceResponse to JSON. + * Converts this GetCurrentQuorumsInfoRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest * @instance * @returns {Object.} JSON object */ - GetPrefundedSpecializedBalanceResponse.prototype.toJSON = function toJSON() { + GetCurrentQuorumsInfoRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 = (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 - */ - - /** - * Constructs a new GetPrefundedSpecializedBalanceResponseV0. - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse - * @classdesc Represents a GetPrefundedSpecializedBalanceResponseV0. - * @implements IGetPrefundedSpecializedBalanceResponseV0 - * @constructor - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set - */ - function GetPrefundedSpecializedBalanceResponseV0(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]]; - } - - /** - * GetPrefundedSpecializedBalanceResponseV0 balance. - * @member {number|Long} balance - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 - * @instance - */ - GetPrefundedSpecializedBalanceResponseV0.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + }; - /** - * GetPrefundedSpecializedBalanceResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 - * @instance - */ - GetPrefundedSpecializedBalanceResponseV0.prototype.proof = null; + GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 = (function() { /** - * GetPrefundedSpecializedBalanceResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 - * @instance + * Properties of a GetCurrentQuorumsInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @interface IGetCurrentQuorumsInfoRequestV0 */ - 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 + * 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 */ - Object.defineProperty(GetPrefundedSpecializedBalanceResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["balance", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + 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 GetPrefundedSpecializedBalanceResponseV0 instance using the specified properties. + * Creates a new GetCurrentQuorumsInfoRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 * @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.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 instance */ - GetPrefundedSpecializedBalanceResponseV0.create = function create(properties) { - return new GetPrefundedSpecializedBalanceResponseV0(properties); + GetCurrentQuorumsInfoRequestV0.create = function create(properties) { + return new GetCurrentQuorumsInfoRequestV0(properties); }; /** - * Encodes the specified GetPrefundedSpecializedBalanceResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages. + * 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode + * @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 */ - GetPrefundedSpecializedBalanceResponseV0.encode = function encode(message, writer) { + GetCurrentQuorumsInfoRequestV0.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. + * 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode + * @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 */ - GetPrefundedSpecializedBalanceResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetCurrentQuorumsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer. + * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + * @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 */ - GetPrefundedSpecializedBalanceResponseV0.decode = function decode(reader, length) { + 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0(); + 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) { - 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; @@ -35833,158 +45432,97 @@ $root.org = (function() { }; /** - * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetCurrentQuorumsInfoRequestV0 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 * @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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 * @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) { + GetCurrentQuorumsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPrefundedSpecializedBalanceResponseV0 message. + * Verifies a GetCurrentQuorumsInfoRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @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 */ - GetPrefundedSpecializedBalanceResponseV0.verify = function verify(message) { + GetCurrentQuorumsInfoRequestV0.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 GetPrefundedSpecializedBalanceResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetCurrentQuorumsInfoRequestV0 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 */ - GetPrefundedSpecializedBalanceResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0) + GetCurrentQuorumsInfoRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0) 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); - 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; + return new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0(); }; /** - * Creates a plain object from a GetPrefundedSpecializedBalanceResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetCurrentQuorumsInfoRequestV0 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - 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; + GetCurrentQuorumsInfoRequestV0.toObject = function toObject() { + return {}; }; /** - * Converts this GetPrefundedSpecializedBalanceResponseV0 to JSON. + * Converts this GetCurrentQuorumsInfoRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 * @instance * @returns {Object.} JSON object */ - GetPrefundedSpecializedBalanceResponseV0.prototype.toJSON = function toJSON() { + GetCurrentQuorumsInfoRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetPrefundedSpecializedBalanceResponseV0; + return GetCurrentQuorumsInfoRequestV0; })(); - return GetPrefundedSpecializedBalanceResponse; + return GetCurrentQuorumsInfoRequest; })(); - v0.GetPathElementsRequest = (function() { + v0.GetCurrentQuorumsInfoResponse = (function() { /** - * Properties of a GetPathElementsRequest. + * Properties of a GetCurrentQuorumsInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetPathElementsRequest - * @property {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null} [v0] GetPathElementsRequest v0 + * @interface IGetCurrentQuorumsInfoResponse + * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null} [v0] GetCurrentQuorumsInfoResponse v0 */ /** - * Constructs a new GetPathElementsRequest. + * Constructs a new GetCurrentQuorumsInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetPathElementsRequest. - * @implements IGetPathElementsRequest + * @classdesc Represents a GetCurrentQuorumsInfoResponse. + * @implements IGetCurrentQuorumsInfoResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set */ - function GetPathElementsRequest(properties) { + function GetCurrentQuorumsInfoResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -35992,89 +45530,89 @@ $root.org = (function() { } /** - * GetPathElementsRequest v0. - * @member {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * GetCurrentQuorumsInfoResponse v0. + * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @instance */ - GetPathElementsRequest.prototype.v0 = null; + GetCurrentQuorumsInfoResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetPathElementsRequest version. + * GetCurrentQuorumsInfoResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @instance */ - Object.defineProperty(GetPathElementsRequest.prototype, "version", { + Object.defineProperty(GetCurrentQuorumsInfoResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetPathElementsRequest instance using the specified properties. + * Creates a new GetCurrentQuorumsInfoResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest instance + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse instance */ - GetPathElementsRequest.create = function create(properties) { - return new GetPathElementsRequest(properties); + GetCurrentQuorumsInfoResponse.create = function create(properties) { + return new GetCurrentQuorumsInfoResponse(properties); }; /** - * Encodes the specified GetPathElementsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages. + * 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.GetPathElementsRequest + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode + * @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 */ - GetPathElementsRequest.encode = function encode(message, 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.GetPathElementsRequest.GetPathElementsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $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 GetPathElementsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages. + * 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.GetPathElementsRequest + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode + * @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 */ - GetPathElementsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetCurrentQuorumsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPathElementsRequest message from the specified reader or buffer. + * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @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.GetPathElementsRequest} GetPathElementsRequest + * @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 */ - GetPathElementsRequest.decode = function decode(reader, length) { + 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.GetPathElementsRequest(); + 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.GetPathElementsRequest.GetPathElementsRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -36085,37 +45623,37 @@ $root.org = (function() { }; /** - * Decodes a GetPathElementsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @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.GetPathElementsRequest} GetPathElementsRequest + * @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 */ - GetPathElementsRequest.decodeDelimited = function decodeDelimited(reader) { + GetCurrentQuorumsInfoResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPathElementsRequest message. + * Verifies a GetCurrentQuorumsInfoResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @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 */ - GetPathElementsRequest.verify = function verify(message) { + 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.GetPathElementsRequest.GetPathElementsRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -36124,40 +45662,40 @@ $root.org = (function() { }; /** - * Creates a GetPathElementsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetCurrentQuorumsInfoResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse */ - GetPathElementsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest) + 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.GetPathElementsRequest(); + 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.GetPathElementsRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.fromObject(object.v0); + 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 GetPathElementsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetCurrentQuorumsInfoResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest} message GetPathElementsRequest + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPathElementsRequest.toObject = function toObject(message, options) { + 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.GetPathElementsRequest.GetPathElementsRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -36165,38 +45703,36 @@ $root.org = (function() { }; /** - * Converts this GetPathElementsRequest to JSON. + * Converts this GetCurrentQuorumsInfoResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse * @instance * @returns {Object.} JSON object */ - GetPathElementsRequest.prototype.toJSON = function toJSON() { + GetCurrentQuorumsInfoResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetPathElementsRequest.GetPathElementsRequestV0 = (function() { + GetCurrentQuorumsInfoResponse.ValidatorV0 = (function() { /** - * 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 + * 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 GetPathElementsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @classdesc Represents a GetPathElementsRequestV0. - * @implements IGetPathElementsRequestV0 + * Constructs a new ValidatorV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @classdesc Represents a ValidatorV0. + * @implements IValidatorV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set */ - function GetPathElementsRequestV0(properties) { - this.path = []; - this.keys = []; + function ValidatorV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36204,107 +45740,101 @@ $root.org = (function() { } /** - * GetPathElementsRequestV0 path. - * @member {Array.} path - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * ValidatorV0 proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @instance */ - GetPathElementsRequestV0.prototype.path = $util.emptyArray; + ValidatorV0.prototype.proTxHash = $util.newBuffer([]); /** - * GetPathElementsRequestV0 keys. - * @member {Array.} keys - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * ValidatorV0 nodeIp. + * @member {string} nodeIp + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @instance */ - GetPathElementsRequestV0.prototype.keys = $util.emptyArray; + ValidatorV0.prototype.nodeIp = ""; /** - * GetPathElementsRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * ValidatorV0 isBanned. + * @member {boolean} isBanned + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @instance */ - GetPathElementsRequestV0.prototype.prove = false; + ValidatorV0.prototype.isBanned = false; /** - * Creates a new GetPathElementsRequestV0 instance using the specified properties. + * Creates a new ValidatorV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 instance */ - GetPathElementsRequestV0.create = function create(properties) { - return new GetPathElementsRequestV0(properties); + ValidatorV0.create = function create(properties) { + return new ValidatorV0(properties); }; /** - * Encodes the specified GetPathElementsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages. + * 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.GetPathElementsRequest.GetPathElementsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode + * @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 */ - GetPathElementsRequestV0.encode = function encode(message, writer) { + ValidatorV0.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); + 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 GetPathElementsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages. + * 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.GetPathElementsRequest.GetPathElementsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode + * @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 */ - GetPathElementsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + ValidatorV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer. + * Decodes a ValidatorV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @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.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 + * @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 */ - GetPathElementsRequestV0.decode = function decode(reader, length) { + 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.GetPathElementsRequest.GetPathElementsRequestV0(); + 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: - if (!(message.path && message.path.length)) - message.path = []; - message.path.push(reader.bytes()); + message.proTxHash = reader.bytes(); break; case 2: - if (!(message.keys && message.keys.length)) - message.keys = []; - message.keys.push(reader.bytes()); + message.nodeIp = reader.string(); break; case 3: - message.prove = reader.bool(); + message.isBanned = reader.bool(); break; default: reader.skipType(tag & 7); @@ -36315,368 +45845,433 @@ $root.org = (function() { }; /** - * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a ValidatorV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @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.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 + * @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 */ - GetPathElementsRequestV0.decodeDelimited = function decodeDelimited(reader) { + ValidatorV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPathElementsRequestV0 message. + * Verifies a ValidatorV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @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 */ - GetPathElementsRequestV0.verify = function verify(message) { + ValidatorV0.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"; + 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 GetPathElementsRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a ValidatorV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 */ - GetPathElementsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0) + 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.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); + 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 GetPathElementsRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a ValidatorV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} message GetPathElementsRequestV0 + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message ValidatorV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPathElementsRequestV0.toObject = function toObject(message, options) { + ValidatorV0.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; + 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 GetPathElementsRequestV0 to JSON. + * Converts this ValidatorV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 * @instance * @returns {Object.} JSON object */ - GetPathElementsRequestV0.prototype.toJSON = function toJSON() { + ValidatorV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetPathElementsRequestV0; + return ValidatorV0; })(); - return GetPathElementsRequest; - })(); + GetCurrentQuorumsInfoResponse.ValidatorSetV0 = (function() { - v0.GetPathElementsResponse = (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 GetPathElementsResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetPathElementsResponse - * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null} [v0] GetPathElementsResponse v0 - */ + /** + * 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]]; + } - /** - * 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]]; - } + /** + * ValidatorSetV0 quorumHash. + * @member {Uint8Array} quorumHash + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.quorumHash = $util.newBuffer([]); - /** - * 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; + /** + * ValidatorSetV0 coreHeight. + * @member {number} coreHeight + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.coreHeight = 0; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * ValidatorSetV0 members. + * @member {Array.} members + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.members = $util.emptyArray; - /** - * 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) - }); + /** + * ValidatorSetV0 thresholdPublicKey. + * @member {Uint8Array} thresholdPublicKey + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.thresholdPublicKey = $util.newBuffer([]); - /** - * 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); - }; + /** + * 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 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; - }; + /** + * 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 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(); - }; + /** + * 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 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; + /** + * 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; - }; + 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()); - }; + /** + * 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 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; + /** + * 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; + } } - } - return null; - }; + 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 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) + /** + * 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; - 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 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); + }; - /** - * 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); - }; + return ValidatorSetV0; + })(); - GetPathElementsResponse.GetPathElementsResponseV0 = (function() { + GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 = (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 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 GetPathElementsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse - * @classdesc Represents a GetPathElementsResponseV0. - * @implements IGetPathElementsResponseV0 + * Constructs a new GetCurrentQuorumsInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @classdesc Represents a GetCurrentQuorumsInfoResponseV0. + * @implements IGetCurrentQuorumsInfoResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set */ - function GetPathElementsResponseV0(properties) { + 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) @@ -36684,114 +46279,132 @@ $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 + * GetCurrentQuorumsInfoResponseV0 quorumHashes. + * @member {Array.} quorumHashes + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @instance */ - GetPathElementsResponseV0.prototype.elements = null; + GetCurrentQuorumsInfoResponseV0.prototype.quorumHashes = $util.emptyArray; /** - * GetPathElementsResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * GetCurrentQuorumsInfoResponseV0 currentQuorumHash. + * @member {Uint8Array} currentQuorumHash + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @instance */ - GetPathElementsResponseV0.prototype.proof = null; + GetCurrentQuorumsInfoResponseV0.prototype.currentQuorumHash = $util.newBuffer([]); /** - * GetPathElementsResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * GetCurrentQuorumsInfoResponseV0 validatorSets. + * @member {Array.} validatorSets + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @instance */ - GetPathElementsResponseV0.prototype.metadata = null; + GetCurrentQuorumsInfoResponseV0.prototype.validatorSets = $util.emptyArray; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * GetCurrentQuorumsInfoResponseV0 lastBlockProposer. + * @member {Uint8Array} lastBlockProposer + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @instance + */ + GetCurrentQuorumsInfoResponseV0.prototype.lastBlockProposer = $util.newBuffer([]); /** - * GetPathElementsResponseV0 result. - * @member {"elements"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * GetCurrentQuorumsInfoResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @instance */ - Object.defineProperty(GetPathElementsResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["elements", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + GetCurrentQuorumsInfoResponseV0.prototype.metadata = null; /** - * Creates a new GetPathElementsResponseV0 instance using the specified properties. + * Creates a new GetCurrentQuorumsInfoResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @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.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 instance */ - GetPathElementsResponseV0.create = function create(properties) { - return new GetPathElementsResponseV0(properties); + GetCurrentQuorumsInfoResponseV0.create = function create(properties) { + return new GetCurrentQuorumsInfoResponseV0(properties); }; /** - * Encodes the specified GetPathElementsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages. + * 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.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode + * @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 */ - GetPathElementsResponseV0.encode = function encode(message, writer) { + GetCurrentQuorumsInfoResponseV0.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.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 3, wireType 2 =*/26).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 5, wireType 2 =*/42).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. + * 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.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode + * @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 */ - GetPathElementsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetCurrentQuorumsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer. + * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @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.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + * @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 */ - GetPathElementsResponseV0.decode = function decode(reader, length) { + 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.GetPathElementsResponse.GetPathElementsResponseV0(); + 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: - message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.decode(reader, reader.uint32()); + if (!(message.quorumHashes && message.quorumHashes.length)) + message.quorumHashes = []; + message.quorumHashes.push(reader.bytes()); break; case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + 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: @@ -36803,51 +46416,54 @@ $root.org = (function() { }; /** - * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetCurrentQuorumsInfoResponseV0 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 * @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) { + GetCurrentQuorumsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPathElementsResponseV0 message. + * Verifies a GetCurrentQuorumsInfoResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @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 */ - GetPathElementsResponseV0.verify = function verify(message) { + GetCurrentQuorumsInfoResponseV0.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 (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 "proof." + 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) @@ -36857,286 +46473,123 @@ $root.org = (function() { }; /** - * Creates a GetPathElementsResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetCurrentQuorumsInfoResponseV0 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 */ - GetPathElementsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0) + 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.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); + 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.GetPathElementsResponse.GetPathElementsResponseV0.metadata: object expected"); + 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 GetPathElementsResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetCurrentQuorumsInfoResponseV0 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message GetPathElementsResponseV0 + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPathElementsResponseV0.toObject = function toObject(message, options) { + GetCurrentQuorumsInfoResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) + 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.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.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 GetPathElementsResponseV0 to JSON. + * Converts this GetCurrentQuorumsInfoResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 * @instance * @returns {Object.} JSON object */ - GetPathElementsResponseV0.prototype.toJSON = function toJSON() { + GetCurrentQuorumsInfoResponseV0.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 GetCurrentQuorumsInfoResponseV0; })(); - return GetPathElementsResponse; + return GetCurrentQuorumsInfoResponse; })(); return v0; diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js index 8d995602b92..ca80ce2ad7f 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js @@ -75,6 +75,14 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase', null, { proto }); @@ -118,6 +126,28 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpoc goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks', null, { proto }); +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.GetIdentitiesBalancesRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.VersionCase', null, { proto }); @@ -227,6 +257,29 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVote goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive', null, { proto }); +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.GetTotalCreditsInPlatformRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo', null, { proto }); @@ -1158,6 +1211,300 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeys.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeys'; } +/** + * 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.GetEvonodesProposedEpochBlocksByIdsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest'; +} +/** + * 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.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks'; +} +/** + * 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.GetEvonodesProposedEpochBlocksByRangeRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest'; +} +/** + * 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.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0'; +} +/** + * 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.GetIdentitiesBalancesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest'; +} +/** + * 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.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0'; +} +/** + * 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.GetIdentitiesBalancesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse'; +} +/** + * 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0'; +} +/** + * 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance'; +} +/** + * 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -3300,6 +3647,90 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0'; } +/** + * 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.GetTotalCreditsInPlatformRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest'; +} +/** + * 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0'; +} +/** + * 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.GetTotalCreditsInPlatformResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse'; +} +/** + * 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -3405,6 +3836,426 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.displayName = 'proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements'; } +/** + * 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.GetStatusRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusRequest'; +} +/** + * 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.GetStatusRequest.GetStatusRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0'; +} +/** + * 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.GetStatusResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Software = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Time = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Node = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Chain = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Network = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.StateSync = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync'; +} +/** + * 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.GetCurrentQuorumsInfoRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest'; +} +/** + * 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0'; +} +/** + * 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.GetCurrentQuorumsInfoResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse'; +} +/** + * 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.GetCurrentQuorumsInfoResponse.ValidatorV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0'; +} +/** + * 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0'; +} +/** + * 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0'; +} @@ -12379,21 +13230,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.prototype.hasV * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_[0])); }; @@ -12411,8 +13262,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.toObject(opt_includeInstance, this); }; @@ -12421,13 +13272,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12441,23 +13292,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12465,8 +13316,8 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -12482,9 +13333,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12492,18 +13343,18 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.serializeBinaryToWriter ); } }; @@ -12515,7 +13366,7 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = funct * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3,4]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.repeatedFields_ = [2]; @@ -12532,8 +13383,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject(opt_includeInstance, this); }; @@ -12542,20 +13393,15 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), - contractsList: jspb.Message.toObjectList(msg.getContractsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), - documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance), - votesList: jspb.Message.toObjectList(msg.getVotesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject, includeInstance) + epoch: jspb.Message.getFieldWithDefault(msg, 1, 0), + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -12569,23 +13415,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12593,24 +13439,16 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); - msg.addIdentities(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); - msg.addContracts(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); - msg.addDocuments(value); - break; - case 4: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader); - msg.addVotes(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -12625,9 +13463,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12635,354 +13473,213 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint32( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + f ); } - f = message.getContractsList(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeRepeatedBytes( 2, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + f ); } - f = message.getDocumentsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 3, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter - ); - } - f = message.getVotesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 4, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter + 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} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { - var f, obj = { - contractId: msg.getContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - documentId: msg.getDocumentId_asB64(), - documentContestedStatus: jspb.Message.getFieldWithDefault(msg, 5, 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.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * optional uint32 epoch = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.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.setDocumentType(value); - break; - case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setDocumentTypeKeepsHistory(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocumentId(value); - break; - case 5: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (reader.readEnum()); - msg.setDocumentContestedStatus(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.setEpoch = function(value) { + return jspb.Message.setField(this, 1, 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.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.clearEpoch = function() { + return jspb.Message.setField(this, 1, undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getDocumentTypeKeepsHistory(); - if (f) { - writer.writeBool( - 3, - f - ); - } - f = message.getDocumentId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getDocumentContestedStatus(); - if (f !== 0.0) { - writer.writeEnum( - 5, - f - ); - } +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.hasEpoch = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus = { - NOT_CONTESTED: 0, - MAYBE_CONTESTED: 1, - CONTESTED: 2 -}; - -/** - * optional bytes contract_id = 1; - * @return {string} + * repeated bytes ids = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2)); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} + * repeated bytes ids = 2; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * optional bytes contract_id = 1; + * repeated bytes ids = 2; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 2, value || []); }; /** - * optional string document_type = 2; - * @return {string} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 2, value, opt_index); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * optional bool document_type_keeps_history = 3; + * optional bool prove = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getProve = function() { return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional bytes document_id = 4; - * @return {string} + * optional GetEvonodesProposedEpochBlocksByIdsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0, 1)); }; /** - * optional bytes document_id = 4; - * This is a type-conversion wrapper around `getDocumentId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDocumentId())); + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_[0], value); }; /** - * optional bytes document_id = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocumentId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional DocumentContestedStatus document_contested_status = 5; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentContestedStatus = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_ = [[1]]; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentContestedStatus = function(value) { - return jspb.Message.setProto3EnumField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_[0])); +}; @@ -12999,8 +13696,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.toObject(opt_includeInstance, this); }; @@ -13009,14 +13706,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13030,23 +13726,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13054,12 +13750,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); - msg.setRequestType(value); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13074,9 +13767,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13084,102 +13777,52 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getRequestType(); - if (f !== 0.0) { - writer.writeEnum( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.serializeBinaryToWriter ); } }; -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { - FULL_IDENTITY: 0, - BALANCE: 1, - KEYS: 2, - REVISION: 3 -}; - -/** - * optional bytes identity_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); -}; - - -/** - * optional bytes identity_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); -}; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_ = [[1,2]]; /** - * optional Type request_type = 2; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + EVONODES_PROPOSED_BLOCK_COUNTS_INFO: 1, + PROOF: 2 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13193,8 +13836,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.toObject(opt_includeInstance, this); }; @@ -13203,13 +13846,15 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64() + evonodesProposedBlockCountsInfo: (f = msg.getEvonodesProposedBlockCountsInfo()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.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) { @@ -13223,23 +13868,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13247,8 +13892,19 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinaryFromReader); + msg.setEvonodesProposedBlockCountsInfo(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(); @@ -13263,9 +13919,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13273,89 +13929,39 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getEvonodesProposedBlockCountsInfo(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; -/** - * optional bytes contract_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); -}; - - -/** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase = { - REQUEST_TYPE_NOT_SET: 0, - CONTESTED_RESOURCE_VOTE_STATUS_REQUEST: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getRequestTypeCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0])); -}; @@ -13372,8 +13978,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.toObject(opt_includeInstance, this); }; @@ -13382,13 +13988,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.toObject = function(includeInstance, msg) { var f, obj = { - contestedResourceVoteStatusRequest: (f = msg.getContestedResourceVoteStatusRequest()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(includeInstance, f) + proTxHash: msg.getProTxHash_asB64(), + count: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -13402,23 +14009,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13426,9 +14033,12 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader); - msg.setContestedResourceVoteStatusRequest(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setProTxHash(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setCount(value); break; default: reader.skipField(); @@ -13443,9 +14053,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13453,20 +14063,86 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceVoteStatusRequest(); - if (f != null) { - writer.writeMessage( + f = message.getProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter + f ); } + f = message.getCount(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } +}; + + +/** + * optional bytes pro_tx_hash = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.getProTxHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getProTxHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.setProTxHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint64 count = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.setCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; @@ -13476,7 +14152,7 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.repeatedFields_ = [4]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.repeatedFields_ = [1]; @@ -13493,8 +14169,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.toObject(opt_includeInstance, this); }; @@ -13503,17 +14179,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.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(), - voterIdentifier: msg.getVoterIdentifier_asB64() + evonodesProposedBlockCountsList: jspb.Message.toObjectList(msg.getEvonodesProposedBlockCountsList(), + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.toObject, includeInstance) }; if (includeInstance) { @@ -13527,23 +14200,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13551,24 +14224,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe 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 {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.setVoterIdentifier(value); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinaryFromReader); + msg.addEvonodesProposedBlockCounts(value); break; default: reader.skipField(); @@ -13583,9 +14241,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13593,256 +14251,197 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getEvonodesProposedBlockCountsList(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedMessage( 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.getVoterIdentifier_asU8(); - if (f.length > 0) { - writer.writeBytes( - 5, - f + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.serializeBinaryToWriter ); } }; /** - * optional bytes contract_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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} + * repeated EvonodeProposedBlocks evonodes_proposed_block_counts = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.getEvonodesProposedBlockCountsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.setEvonodesProposedBlockCountsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional string document_type_name = 2; - * @return {string} + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getDocumentTypeName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.addEvonodesProposedBlockCounts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks, opt_index); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setDocumentTypeName = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.clearEvonodesProposedBlockCountsList = function() { + return this.setEvonodesProposedBlockCountsList([]); }; /** - * optional string index_name = 3; - * @return {string} + * optional EvonodesProposedBlocks evonodes_proposed_block_counts_info = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.getEvonodesProposedBlockCountsInfo = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks, 1)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexName = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.setEvonodesProposedBlockCountsInfo = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_[0], value); }; /** - * repeated bytes index_values = 4; - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.clearEvonodesProposedBlockCountsInfo = function() { + return this.setEvonodesProposedBlockCountsInfo(undefined); }; /** - * repeated bytes index_values = 4; - * This is a type-conversion wrapper around `getIndexValuesList()` - * @return {!Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIndexValuesList())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.hasEvonodesProposedBlockCountsInfo = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * 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} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIndexValuesList())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.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|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexValuesList = function(value) { - return jspb.Message.setField(this, 4, value || []); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_[0], value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.addIndexValues = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 4, value, opt_index); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.clearIndexValuesList = function() { - return this.setIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes voter_identifier = 5; - * @return {string} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.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 bytes voter_identifier = 5; - * This is a type-conversion wrapper around `getVoterIdentifier()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getVoterIdentifier())); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * optional bytes voter_identifier = 5; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getVoterIdentifier()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getVoterIdentifier())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setVoterIdentifier = function(value) { - return jspb.Message.setProto3BytesField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional ContestedResourceVoteStatusRequest contested_resource_vote_status_request = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} + * optional GetEvonodesProposedEpochBlocksResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getContestedResourceVoteStatusRequest = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest, 1)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.setContestedResourceVoteStatusRequest = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.clearContestedResourceVoteStatusRequest = function() { - return this.setContestedResourceVoteStatusRequest(undefined); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -13850,197 +14449,147 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.hasContestedResourceVoteStatusRequest = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; + /** - * repeated IdentityRequest identities = 1; - * @return {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_ = [[1]]; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} 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.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.toObject(opt_includeInstance, this); }; /** - * repeated ContractRequest contracts = 2; - * @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.GetEvonodesProposedEpochBlocksByRangeRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject(includeInstance, f) + }; -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 2, value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} 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.GetEvonodesProposedEpochBlocksByRangeRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { - return this.setContractsList([]); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.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.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * repeated DocumentRequest documents = 3; - * @return {!Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); -}; - - -/** - * repeated VoteStatusRequest votes = 4; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getVotesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, 4)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setVotesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 4, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addVotes = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearVotesList = function() { - return this.setVotesList([]); -}; - - -/** - * optional GetProofsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * 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.GetEvonodesProposedEpochBlocksByRangeRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.serializeBinaryToWriter + ); + } }; @@ -14053,21 +14602,22 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_ = [[3,4]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 3, + START_AT: 4 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0])); }; @@ -14085,8 +14635,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject(opt_includeInstance, this); }; @@ -14095,13 +14645,17 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) + epoch: jspb.Message.getFieldWithDefault(msg, 1, 0), + limit: jspb.Message.getFieldWithDefault(msg, 2, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -14115,23 +14669,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14139,9 +14693,24 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -14156,9 +14725,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14166,238 +14735,230 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = /** @type {number} */ (jspb.Message.getField(message, 1)); if (f != null) { - writer.writeMessage( + writer.writeUint32( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint32( + 2, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3)); + if (f != null) { + writer.writeBytes( + 3, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 4)); + if (f != null) { + writer.writeBytes( + 4, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; +/** + * optional uint32 epoch = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setEpoch = function(value) { + return jspb.Message.setField(this, 1, value); +}; + /** - * @enum {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - PROOF: 1 +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearEpoch = function() { + return jspb.Message.setField(this, 1, undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasEpoch = function() { + return jspb.Message.getField(this, 1) != null; }; +/** + * optional uint32 limit = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (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 {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setField(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.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearLimit = function() { + return jspb.Message.setField(this, 2, undefined); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasLimit = 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.GetProofsResponse.GetProofsResponseV0} + * optional bytes start_after = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * optional bytes start_after = 3; + * This is a type-conversion wrapper around `getStartAfter()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; /** - * Serializes the message to binary data (in protobuf wire format). + * optional bytes start_after = 3; + * 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.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], value); }; /** - * optional Proof proof = 1; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0], value); + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * optional bytes start_at = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes start_at = 4; + * This is a type-conversion wrapper around `getStartAt()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAt_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAt())); }; /** - * optional ResponseMetadata metadata = 2; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes start_at = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAt()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAt_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAt())); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 2, value); + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], undefined); }; @@ -14405,35 +14966,53 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * optional GetProofsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * optional bool prove = 5; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + +/** + * optional GetEvonodesProposedEpochBlocksByRangeRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -14442,7 +15021,7 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -14456,21 +15035,21 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_[0])); }; @@ -14488,8 +15067,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.toObject(opt_includeInstance, this); }; @@ -14498,13 +15077,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -14518,23 +15097,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14542,8 +15121,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -14559,9 +15138,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14569,24 +15148,31 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.serializeBinaryToWriter ); } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -14602,8 +15188,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.toObject(opt_includeInstance, this); }; @@ -14612,13 +15198,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), + idsList: msg.getIdsList_asB64(), prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; @@ -14633,23 +15219,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14658,7 +15244,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + msg.addIds(value); break; case 2: var value = /** @type {boolean} */ (reader.readBool()); @@ -14677,9 +15263,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14687,15 +15273,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); @@ -14711,89 +15297,108 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** - * optional bytes id = 1; - * @return {string} + * repeated bytes ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * optional bytes id = 1; + * repeated bytes ids = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetDataContractRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * optional GetIdentitiesBalancesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -14802,7 +15407,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = funct * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -14816,21 +15421,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = functio * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_[0])); }; @@ -14848,8 +15453,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.toObject(opt_includeInstance, this); }; @@ -14858,13 +15463,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -14878,23 +15483,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14902,8 +15507,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -14919,9 +15524,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14929,18 +15534,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.serializeBinaryToWriter ); } }; @@ -14955,22 +15560,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase = { RESULT_NOT_SET: 0, - DATA_CONTRACT: 1, + IDENTITIES_BALANCES: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_[0])); }; @@ -14988,8 +15593,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.toObject(opt_includeInstance, this); }; @@ -14998,13 +15603,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContract: msg.getDataContract_asB64(), + identitiesBalances: (f = msg.getIdentitiesBalances()) && proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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) }; @@ -15020,23 +15625,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15044,8 +15649,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContract(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.deserializeBinaryFromReader); + msg.setIdentitiesBalances(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -15070,9 +15676,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15080,17 +15686,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getIdentitiesBalances(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.serializeBinaryToWriter ); } f = message.getProof(); @@ -15112,54 +15719,196 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes data_contract = 1; + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.toObject = function(includeInstance, msg) { + var f, obj = { + identityId: msg.getIdentityId_asB64(), + balance: 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint64( + 2, + f + ); + } +}; + + +/** + * optional bytes identity_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getIdentityId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes data_contract = 1; - * This is a type-conversion wrapper around `getDataContract()` + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getIdentityId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContract())); + this.getIdentityId())); }; /** - * optional bytes data_contract = 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 `getDataContract()` + * This is a type-conversion wrapper around `getIdentityId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getIdentityId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContract())); + this.getIdentityId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint64 balance = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.setBalance = function(value) { + return jspb.Message.setField(this, 2, value); }; /** * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.clearBalance = function() { + return jspb.Message.setField(this, 2, undefined); }; @@ -15167,7 +15916,204 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.hasBalance = 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.toObject = function(includeInstance, msg) { + var f, obj = { + entriesList: jspb.Message.toObjectList(msg.getEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinaryFromReader); + msg.addEntries(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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated IdentityBalance entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.getEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.setEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.addEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.clearEntriesList = function() { + return this.setEntriesList([]); +}; + + +/** + * optional IdentitiesBalances identities_balances = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getIdentitiesBalances = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.setIdentitiesBalances = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.clearIdentitiesBalances = function() { + return this.setIdentitiesBalances(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.hasIdentitiesBalances = function() { return jspb.Message.getField(this, 1) != null; }; @@ -15176,7 +16122,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -15184,18 +16130,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -15204,7 +16150,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -15213,7 +16159,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -15221,18 +16167,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -15241,35 +16187,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetDataContractResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * optional GetIdentitiesBalancesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -15278,7 +16224,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = func * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -15292,21 +16238,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = functi * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); }; @@ -15324,8 +16270,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); }; @@ -15334,13 +16280,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -15354,23 +16300,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15378,8 +16324,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -15395,9 +16341,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15405,18 +16351,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter ); } }; @@ -15428,7 +16374,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3,4]; @@ -15445,8 +16391,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); }; @@ -15455,14 +16401,20 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), + contractsList: jspb.Message.toObjectList(msg.getContractsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), + documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance), + votesList: jspb.Message.toObjectList(msg.getVotesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject, includeInstance) }; if (includeInstance) { @@ -15476,23 +16428,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15500,12 +16452,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); + msg.addIdentities(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); + msg.addContracts(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); + msg.addDocuments(value); + break; + case 4: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader); + msg.addVotes(value); break; default: reader.skipField(); @@ -15520,9 +16484,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15530,23 +16494,201 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getIdentitiesList(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + ); + } + f = message.getContractsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + ); + } + f = message.getDocumentsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter + ); + } + f = message.getVotesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 4, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { + var f, obj = { + contractId: msg.getContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + documentId: msg.getDocumentId_asB64(), + documentContestedStatus: jspb.Message.getFieldWithDefault(msg, 5, 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.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.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.setDocumentType(value); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDocumentTypeKeepsHistory(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocumentId(value); + break; + case 5: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (reader.readEnum()); + msg.setDocumentContestedStatus(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.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); } - f = message.getProve(); + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getDocumentTypeKeepsHistory(); if (f) { writer.writeBool( - 2, + 3, + f + ); + } + f = message.getDocumentId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getDocumentContestedStatus(); + if (f !== 0.0) { + writer.writeEnum( + 5, f ); } @@ -15554,149 +16696,155 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** - * repeated bytes ids = 1; - * @return {!Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus = { + NOT_CONTESTED: 0, + MAYBE_CONTESTED: 1, + CONTESTED: 2 +}; + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * repeated bytes ids = 1; + * optional bytes contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * optional string document_type = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional bool prove = 2; + * optional bool document_type_keeps_history = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional GetDataContractsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * optional bytes document_id = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); + * optional bytes document_id = 4; + * This is a type-conversion wrapper around `getDocumentId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocumentId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * optional bytes document_id = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocumentId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * optional DocumentContestedStatus document_contested_status = 5; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentContestedStatus = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentContestedStatus = function(value) { + return jspb.Message.setProto3EnumField(this, 5, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -15710,8 +16858,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); }; @@ -15720,13 +16868,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -15740,23 +16889,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15764,9 +16913,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); + msg.setRequestType(value); break; default: reader.skipField(); @@ -15781,9 +16933,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15791,23 +16943,99 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getRequestType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f ); } }; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { + FULL_IDENTITY: 0, + BALANCE: 1, + KEYS: 2, + REVISION: 3 +}; + +/** + * optional bytes identity_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); +}; + + +/** + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional Type request_type = 2; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); +}; + + @@ -15824,8 +17052,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); }; @@ -15834,14 +17062,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - identifier: msg.getIdentifier_asB64(), - dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) + contractId: msg.getContractId_asB64() }; if (includeInstance) { @@ -15855,23 +17082,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15880,12 +17107,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentifier(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.BytesValue; - reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); - msg.setDataContract(value); + msg.setContractId(value); break; default: reader.skipField(); @@ -15900,9 +17122,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15910,116 +17132,89 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentifier_asU8(); + f = message.getContractId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDataContract(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter - ); - } }; /** - * optional bytes identifier = 1; + * optional bytes contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identifier = 1; - * This is a type-conversion wrapper around `getIdentifier()` + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentifier())); + this.getContractId())); }; /** - * optional bytes identifier = 1; + * optional bytes contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentifier()` + * This is a type-conversion wrapper around `getContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentifier())); + this.getContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; -/** - * optional google.protobuf.BytesValue data_contract = 2; - * @return {?proto.google.protobuf.BytesValue} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { - return /** @type{?proto.google.protobuf.BytesValue} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); -}; - - -/** - * @param {?proto.google.protobuf.BytesValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { - return this.setDataContract(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_ = [[1]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase = { + REQUEST_TYPE_NOT_SET: 0, + CONTESTED_RESOURCE_VOTE_STATUS_REQUEST: 1 }; - - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getRequestTypeCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0])); +}; @@ -16036,8 +17231,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject(opt_includeInstance, this); }; @@ -16046,14 +17241,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) + contestedResourceVoteStatusRequest: (f = msg.getContestedResourceVoteStatusRequest()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(includeInstance, f) }; if (includeInstance) { @@ -16067,23 +17261,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16091,9 +17285,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader); + msg.setContestedResourceVoteStatusRequest(value); break; default: reader.skipField(); @@ -16108,9 +17302,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16118,87 +17312,30 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getContestedResourceVoteStatusRequest(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter ); } }; -/** - * repeated DataContractEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); -}; - - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in 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.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACTS: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.repeatedFields_ = [4]; @@ -16215,8 +17352,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(opt_includeInstance, this); }; @@ -16225,15 +17362,17 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + contractId: msg.getContractId_asB64(), + documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""), + indexName: jspb.Message.getFieldWithDefault(msg, 3, ""), + indexValuesList: msg.getIndexValuesList_asB64(), + voterIdentifier: msg.getVoterIdentifier_asB64() }; if (includeInstance) { @@ -16247,23 +17386,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16271,19 +17410,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); - msg.setDataContracts(value); + 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 {!Uint8Array} */ (reader.readBytes()); + msg.setVoterIdentifier(value); break; default: reader.skipField(); @@ -16298,9 +17442,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16308,666 +17452,444 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContracts(); - if (f != null) { - writer.writeMessage( + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.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(); - if (f != null) { - writer.writeMessage( + f = message.getIndexName(); + if (f.length > 0) { + writer.writeString( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = message.getIndexValuesList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 4, + f + ); + } + f = message.getVoterIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( + 5, + f ); } }; /** - * optional DataContracts data_contracts = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * optional bytes contract_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { - return this.setDataContracts(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional string document_type_name = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getDocumentTypeName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setDocumentTypeName = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * optional string index_name = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexName = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * repeated bytes index_values = 4; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * repeated bytes index_values = 4; + * This is a type-conversion wrapper around `getIndexValuesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetDataContractsResponse.GetDataContractsResponseV0} 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.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexValuesList = function(value) { + return jspb.Message.setField(this, 4, value || []); }; /** - * optional GetDataContractsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.addIndexValues = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 4, value, opt_index); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.clearIndexValuesList = function() { + return this.setIndexValuesList([]); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * optional bytes voter_identifier = 5; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes voter_identifier = 5; + * This is a type-conversion wrapper around `getVoterIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getVoterIdentifier())); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 voter_identifier = 5; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getVoterIdentifier()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getVoterIdentifier())); +}; + /** - * @enum {number} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setVoterIdentifier = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} + * optional ContestedResourceVoteStatusRequest contested_resource_vote_status_request = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getContestedResourceVoteStatusRequest = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest, 1)); }; +/** + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.setContestedResourceVoteStatusRequest = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0], value); +}; + -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.clearContestedResourceVoteStatusRequest = function() { + return this.setContestedResourceVoteStatusRequest(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.GetDataContractHistoryRequest} 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.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter - ); - } -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { - var f, obj = { - id: msg.getId_asB64(), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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 = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartAtMs(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getStartAtMs(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f - ); - } +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.hasContestedResourceVoteStatusRequest = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bytes id = 1; - * @return {string} + * repeated IdentityRequest identities = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { + return this.setIdentitiesList([]); }; /** - * optional google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * repeated ContractRequest contracts = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { + return this.setContractsList([]); }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * repeated DocumentRequest documents = 3; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional uint64 start_at_ms = 4; - * @return {number} + * repeated VoteStatusRequest votes = 4; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getVotesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, 4)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setVotesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 4, value); }; /** - * optional bool prove = 5; - * @return {boolean} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addVotes = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, opt_index); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearVotesList = function() { + return this.setVotesList([]); }; /** - * optional GetDataContractHistoryRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * optional GetProofsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -16976,7 +17898,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -16990,21 +17912,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); }; @@ -17022,8 +17944,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); }; @@ -17032,13 +17954,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17052,23 +17974,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17076,8 +17998,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -17093,9 +18015,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17103,18 +18025,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter ); } }; @@ -17129,22 +18051,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryTo * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase = { RESULT_NOT_SET: 0, - DATA_CONTRACT_HISTORY: 1, - PROOF: 2 + PROOF: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0])); }; @@ -17162,8 +18083,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); }; @@ -17172,13 +18093,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -17194,23 +18114,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17218,16 +18138,11 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); - msg.setDataContractHistory(value); - 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: + case 2: var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); msg.setMetadata(value); @@ -17245,9 +18160,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17255,24 +18170,16 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractHistory(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter - ); - } f = message.getProof(); if (f != null) { writer.writeMessage( - 2, + 1, f, proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); @@ -17280,7 +18187,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi f = message.getMetadata(); if (f != null) { writer.writeMessage( - 3, + 2, f, proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); @@ -17288,197 +18195,142 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi }; - - - -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 Proof proof = 1; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { - var f, obj = { - date: jspb.Message.getFieldWithDefault(msg, 1, 0), - value: msg.getValue_asB64() - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setDate(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 2; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDate(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 2, - f - ); - } + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional uint64 date = 1; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes value = 2; - * @return {string} + * optional GetProofsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); }; /** - * optional bytes value = 2; - * This is a type-conversion wrapper around `getValue()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); + * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); }; /** - * optional bytes value = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +}; @@ -17495,8 +18347,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); }; @@ -17505,14 +18357,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17526,23 +18377,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17550,9 +18401,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -17567,9 +18418,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17577,196 +18428,231 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter ); } }; -/** - * repeated DataContractHistoryEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); }; /** - * optional DataContractHistory data_contract_history = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { - return this.setDataContractHistory(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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; }; /** - * 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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 + ); + } }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetDataContractHistoryResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * optional GetDataContractRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -17775,7 +18661,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17789,22 +18675,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +}; @@ -17821,8 +18707,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); }; @@ -17831,13 +18717,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17851,23 +18737,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17875,8 +18761,8 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -17892,9 +18778,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17902,18 +18788,18 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter ); } }; @@ -17928,22 +18814,22 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = fu * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { - START_NOT_SET: 0, - START_AFTER: 6, - START_AT: 7 +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACT: 1, + PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); }; @@ -17961,8 +18847,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); }; @@ -17971,20 +18857,15 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractId: msg.getDataContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - where: msg.getWhere_asB64(), - orderBy: msg.getOrderBy_asB64(), - limit: jspb.Message.getFieldWithDefault(msg, 5, 0), - startAfter: msg.getStartAfter_asB64(), - startAt: msg.getStartAt_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) + dataContract: msg.getDataContract_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -17998,23 +18879,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18023,35 +18904,17 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deseri switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContractId(value); + msg.setDataContract(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWhere(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setOrderBy(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); - break; - case 6: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAfter(value); - break; - case 7: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAt(value); - break; - case 8: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -18066,9 +18929,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18076,281 +18939,123 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractId_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getWhere_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getOrderBy_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getLimit(); - if (f !== 0) { - writer.writeUint32( - 5, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + f = message.getProof(); if (f != null) { - writer.writeBytes( - 6, - f + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + f = message.getMetadata(); if (f != null) { - writer.writeBytes( - 7, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 8, - f + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes data_contract_id = 1; + * optional bytes data_contract = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes data_contract_id = 1; - * This is a type-conversion wrapper around `getDataContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContractId())); -}; - - -/** - * optional bytes data_contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContractId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContractId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional string document_type = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bytes where = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * optional bytes where = 3; - * This is a type-conversion wrapper around `getWhere()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getWhere())); -}; - - -/** - * optional bytes where = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getWhere()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getWhere())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); -}; - - -/** - * optional bytes order_by = 4; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); -}; - - -/** - * optional bytes order_by = 4; - * This is a type-conversion wrapper around `getOrderBy()` + * optional bytes data_contract = 1; + * This is a type-conversion wrapper around `getDataContract()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getOrderBy())); + this.getDataContract())); }; /** - * optional bytes order_by = 4; + * optional bytes data_contract = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getOrderBy()` + * This is a type-conversion wrapper around `getDataContract()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getOrderBy())); + this.getDataContract())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); -}; - - -/** - * optional uint32 limit = 5; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); }; /** - * optional bytes start_after = 6; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); }; /** - * optional bytes start_after = 6; - * This is a type-conversion wrapper around `getStartAfter()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bytes start_after = 6; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAfter()` - * @return {!Uint8Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -18358,59 +19063,36 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { - return jspb.Message.getField(this, 6) != null; -}; - - -/** - * optional bytes start_at = 7; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); -}; - - -/** - * optional bytes start_at = 7; - * This is a type-conversion wrapper around `getStartAt()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes start_at = 7; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAt()` - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -18418,53 +19100,35 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { - return jspb.Message.getField(this, 7) != null; -}; - - -/** - * optional bool prove = 8; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetDocumentsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * optional GetDataContractResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -18473,7 +19137,7 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -18487,21 +19151,21 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); }; @@ -18519,8 +19183,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); }; @@ -18529,13 +19193,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -18549,23 +19213,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18573,8 +19237,8 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -18590,9 +19254,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18600,186 +19264,18 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter - ); - } -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DOCUMENTS: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); - msg.setDocuments(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDocuments(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter ); } }; @@ -18791,7 +19287,7 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.seri * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; @@ -18808,8 +19304,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); }; @@ -18818,13 +19314,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - documentsList: msg.getDocumentsList_asB64() + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -18838,23 +19335,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18863,7 +19360,11 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addDocuments(value); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -18878,9 +19379,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18888,60 +19389,67 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocumentsList_asU8(); + f = message.getIdsList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes documents = 1; + * repeated bytes ids = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes documents = 1; - * This is a type-conversion wrapper around `getDocumentsList()` + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getDocumentsList())); + this.getIdsList())); }; /** - * repeated bytes documents = 1; + * repeated bytes ids = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentsList()` + * This is a type-conversion wrapper around `getIdsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getDocumentsList())); + this.getIdsList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -18949,157 +19457,64 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); -}; - - -/** - * optional Documents documents = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { - return this.setDocuments(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = 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.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * Returns whether this field is set. + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetDocumentsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * optional GetDataContractsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -19108,7 +19523,7 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = functio * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -19122,21 +19537,21 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function( * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); }; @@ -19154,8 +19569,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); }; @@ -19164,13 +19579,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toOb * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -19184,23 +19599,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = fun /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19208,8 +19623,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -19225,9 +19640,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19235,18 +19650,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.seri /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter ); } }; @@ -19268,8 +19683,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); }; @@ -19278,14 +19693,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + identifier: msg.getIdentifier_asB64(), + dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -19299,23 +19714,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19324,11 +19739,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); + msg.setIdentifier(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setDataContract(value); break; default: reader.skipField(); @@ -19343,9 +19759,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19353,114 +19769,97 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHash_asU8(); + f = message.getIdentifier_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getDataContract(); + if (f != null) { + writer.writeMessage( 2, - f + f, + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; /** - * optional bytes public_key_hash = 1; + * optional bytes identifier = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); + this.getIdentifier())); }; /** - * optional bytes public_key_hash = 1; + * optional bytes identifier = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` + * This is a type-conversion wrapper around `getIdentifier()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); + this.getIdentifier())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * optional google.protobuf.BytesValue data_contract = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { + return this.setDataContract(undefined); }; @@ -19468,36 +19867,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clea * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = 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.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; @@ -19514,8 +19895,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); }; @@ -19524,13 +19905,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toO * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) }; if (includeInstance) { @@ -19544,23 +19926,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = fu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19568,9 +19950,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -19585,9 +19967,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19595,23 +19977,61 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.ser /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter ); } }; +/** + * repeated DataContractEntry data_contract_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -19621,22 +20041,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBina * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { RESULT_NOT_SET: 0, - IDENTITY: 1, + DATA_CONTRACTS: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); }; @@ -19654,8 +20074,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); }; @@ -19664,13 +20084,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), + dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -19686,23 +20106,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19710,8 +20130,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); + msg.setDataContracts(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -19736,9 +20157,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19746,17 +20167,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getDataContracts(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter ); } f = message.getProof(); @@ -19779,53 +20201,30 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** - * optional bytes identity = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); -}; - - -/** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` - * @return {!Uint8Array} + * optional DataContracts data_contracts = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { + return this.setDataContracts(undefined); }; @@ -19833,7 +20232,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { return jspb.Message.getField(this, 1) != null; }; @@ -19842,7 +20241,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -19850,18 +20249,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -19870,7 +20269,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -19879,7 +20278,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -19887,18 +20286,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -19907,35 +20306,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * optional GetDataContractsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -19944,7 +20343,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.cle * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -19958,21 +20357,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.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); }; @@ -19990,8 +20389,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.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); }; @@ -20000,13 +20399,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.GetDataContractHistoryRequest} 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.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -20020,23 +20419,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.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20044,8 +20443,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -20061,9 +20460,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.GetDataContractHistoryRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20071,18 +20470,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.GetDataContractHistoryRequest} 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.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter ); } }; @@ -20104,8 +20503,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); }; @@ -20114,14 +20513,17 @@ 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - stateTransitionHash: msg.getStateTransitionHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + id: msg.getId_asB64(), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -20135,23 +20537,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20160,9 +20562,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransitionHash(value); + msg.setId(value); break; case 2: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 3: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartAtMs(value); + break; + case 5: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -20179,9 +20595,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20189,23 +20605,46 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransitionHash_asU8(); + f = message.getId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } + f = message.getLimit(); + if (f != null) { + writer.writeMessage( + 2, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getOffset(); + if (f != null) { + writer.writeMessage( + 3, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getStartAtMs(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } f = message.getProve(); if (f) { writer.writeBool( - 2, + 5, f ); } @@ -20213,89 +20652,181 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** - * optional bytes state_transition_hash = 1; + * optional bytes id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = 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 id = 1; + * This is a type-conversion wrapper around `getId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransitionHash())); + this.getId())); }; /** - * optional bytes state_transition_hash = 1; + * optional bytes id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransitionHash()` + * This is a type-conversion wrapper around `getId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransitionHash())); + this.getId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} */ -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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional WaitForStateTransitionResultRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional uint64 start_at_ms = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bool prove = 5; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + +/** + * optional GetDataContractHistoryRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -20304,7 +20835,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.GetDataContractHistoryRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -20318,21 +20849,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.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); }; @@ -20350,8 +20881,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.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); }; @@ -20360,13 +20891,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.GetDataContractHistoryResponse} 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.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -20380,23 +20911,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.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20404,8 +20935,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -20421,9 +20952,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.GetDataContractHistoryResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20431,18 +20962,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.GetDataContractHistoryResponse} 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.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter ); } }; @@ -20457,22 +20988,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { RESULT_NOT_SET: 0, - ERROR: 1, + DATA_CONTRACT_HISTORY: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); }; @@ -20490,8 +21021,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); }; @@ -20500,13 +21031,13 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), + dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -20522,23 +21053,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20546,9 +21077,9 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); + msg.setDataContractHistory(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -20573,9 +21104,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20583,18 +21114,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getError(); + f = message.getDataContractHistory(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter ); } f = message.getProof(); @@ -20616,179 +21147,197 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat }; -/** - * optional StateTransitionBroadcastError error = 1; - * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} - */ -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 {?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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { - return this.setError(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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); }; /** - * 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { + var f, obj = { + date: jspb.Message.getFieldWithDefault(msg, 1, 0), + value: msg.getValue_asB64() + }; -/** - * @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); + 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setDate(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional 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.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {?proto.org.dash.platform.dapi.v0.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); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDate(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * optional uint64 date = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional WaitForStateTransitionResultResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * optional bytes value = 2; + * @return {string} */ -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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @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); + * optional bytes value = 2; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * optional bytes value = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(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.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])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; @@ -20805,8 +21354,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); }; @@ -20815,13 +21364,14 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) }; if (includeInstance) { @@ -20835,23 +21385,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20859,9 +21409,9 @@ 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); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -20876,9 +21426,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20886,207 +21436,196 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.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} + * repeated DataContractHistoryEntry data_contract_entries = 1; + * @return {!Array} */ -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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 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.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { - var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) - }; + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); }; /** - * 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 {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * optional DataContractHistory data_contract_history = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readInt32()); - msg.setHeight(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { + return this.setDataContractHistory(undefined); }; /** - * 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 {!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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeInt32( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional int32 height = 1; - * @return {number} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bool prove = 2; + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * optional GetConsensusParamsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDataContractHistoryResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.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.GetDataContractHistoryResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -21095,7 +21634,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.GetDataContractHistoryResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -21109,21 +21648,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.GetDocumentsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.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.GetDocumentsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); }; @@ -21141,8 +21680,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.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); }; @@ -21151,13 +21690,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.GetDocumentsRequest} 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.GetDocumentsRequest.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.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -21171,23 +21710,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.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -21195,8 +21734,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.GetDocumentsRequest.GetDocumentsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -21212,9 +21751,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.GetDocumentsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -21222,24 +21761,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.GetDocumentsRequest} 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.GetDocumentsRequest.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.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 6, + START_AT: 7 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -21255,8 +21820,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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); }; @@ -21265,15 +21830,20 @@ 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.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.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, "") + dataContractId: msg.getDataContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + where: msg.getWhere_asB64(), + orderBy: msg.getOrderBy_asB64(), + limit: jspb.Message.getFieldWithDefault(msg, 5, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) }; if (includeInstance) { @@ -21287,23 +21857,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.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -21311,16 +21881,36 @@ 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 = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDataContractId(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setMaxGas(value); + msg.setDocumentType(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTimeIotaMs(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setWhere(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setOrderBy(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 6: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 7: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 8: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -21335,9 +21925,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.GetDocumentsRequest.GetDocumentsRequestV0.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.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -21345,433 +21935,341 @@ 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.GetDocumentsRequest.GetDocumentsRequestV0} 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.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxBytes(); + f = message.getDataContractId_asU8(); if (f.length > 0) { - writer.writeString( + writer.writeBytes( 1, f ); } - f = message.getMaxGas(); + f = message.getDocumentType(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getTimeIotaMs(); + f = message.getWhere_asU8(); if (f.length > 0) { - writer.writeString( + writer.writeBytes( 3, f ); } + f = message.getOrderBy_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getLimit(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + if (f != null) { + writer.writeBytes( + 6, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + if (f != null) { + writer.writeBytes( + 7, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 8, + f + ); + } }; /** - * optional string max_bytes = 1; + * optional bytes data_contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * optional bytes data_contract_id = 1; + * This is a type-conversion wrapper around `getDataContractId()` + * @return {string} */ -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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDataContractId())); }; /** - * optional string max_gas = 2; + * optional bytes data_contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDataContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDataContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional string document_type = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string time_iota_ms = 3; + * optional bytes where = 3; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * optional bytes where = 3; + * This is a type-conversion wrapper around `getWhere()` + * @return {string} */ -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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWhere())); }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes where = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getWhere()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWhere())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * optional bytes order_by = 4; + * @return {string} */ -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.GetConsensusParamsResponse.ConsensusParamsEvidence; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * optional bytes order_by = 4; + * This is a type-conversion wrapper around `getOrderBy()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.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(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getOrderBy())); }; /** - * Serializes the message to binary data (in protobuf wire format). + * optional bytes order_by = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getOrderBy()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getOrderBy())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getMaxAgeNumBlocks(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getMaxAgeDuration(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; /** - * optional string max_age_num_blocks = 1; - * @return {string} + * optional uint32 limit = 5; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; /** - * optional string max_age_duration = 2; + * optional bytes start_after = 6; * @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); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** - * optional string max_bytes = 3; + * optional bytes start_after = 6; + * This is a type-conversion wrapper around `getStartAfter()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * optional bytes start_after = 6; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAfter()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; - - - -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.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), - evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional bytes start_at = 7; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); - msg.setBlock(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); - msg.setEvidence(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional bytes start_at = 7; + * This is a type-conversion wrapper around `getStartAt()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAt())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional bytes start_at = 7; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAt()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBlock(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter - ); - } - f = message.getEvidence(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAt())); }; /** - * optional ConsensusParamsBlock block = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { - return this.setBlock(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; @@ -21779,72 +22277,53 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional ConsensusParamsEvidence evidence = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} - */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.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); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 7) != null; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * optional bool prove = 8; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { - return this.setEvidence(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); }; /** - * optional GetConsensusParamsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional GetDocumentsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -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.GetDocumentsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -21853,7 +22332,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = f * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -21867,21 +22346,21 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = fun * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.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.GetDocumentsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); }; @@ -21899,8 +22378,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.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); }; @@ -21909,13 +22388,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.GetDocumentsResponse} 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.GetDocumentsResponse.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.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -21929,23 +22408,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.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -21953,8 +22432,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.GetDocumentsResponse.GetDocumentsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -21970,9 +22449,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.GetDocumentsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -21980,24 +22459,50 @@ 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.GetDocumentsResponse} 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.GetDocumentsResponse.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.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DOCUMENTS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -22013,8 +22518,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.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); }; @@ -22023,13 +22528,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.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -22043,23 +22550,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.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22067,8 +22574,19 @@ 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 = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); + msg.setDocuments(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -22083,9 +22601,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.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22093,102 +22611,46 @@ 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.GetDocumentsResponse.GetDocumentsResponseV0} 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.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getDocuments(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; -/** - * optional bool prove = 1; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); -}; - /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 1, value); -}; - - -/** - * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} - */ -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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @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])); -}; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; @@ -22205,8 +22667,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.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); }; @@ -22215,13 +22677,13 @@ 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.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(includeInstance, f) + documentsList: msg.getDocumentsList_asB64() }; if (includeInstance) { @@ -22235,23 +22697,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.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22259,9 +22721,8 @@ 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 {!Uint8Array} */ (reader.readBytes()); + msg.addDocuments(value); break; default: reader.skipField(); @@ -22276,9 +22737,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.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22286,23 +22747,231 @@ 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.GetDocumentsResponse.GetDocumentsResponseV0.Documents} 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.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDocumentsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter + f ); } }; +/** + * repeated bytes documents = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes documents = 1; + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getDocumentsList())); +}; + + +/** + * repeated bytes documents = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getDocumentsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); +}; + + +/** + * optional Documents documents = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { + return this.setDocuments(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = 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.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDocumentsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -22312,22 +22981,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serialize * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - VERSIONS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */ -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.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); }; @@ -22345,8 +23013,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.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); }; @@ -22355,15 +23023,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} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.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) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -22377,23 +23043,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.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22401,19 +23067,9 @@ 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); - 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -22428,9 +23084,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.GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22438,47 +23094,24 @@ 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.GetIdentityByPublicKeyHashRequest} 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.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersions(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -22494,8 +23127,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); }; @@ -22504,14 +23137,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.Versions} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - versionsList: jspb.Message.toObjectList(msg.getVersionsList(), - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance) + publicKeyHash: msg.getPublicKeyHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -22525,23 +23158,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.Versions} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22549,9 +23182,12 @@ 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.VersionEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader); - msg.addVersions(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -22566,9 +23202,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.Versions.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22576,64 +23212,154 @@ 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.Versions} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersionsList(); + f = message.getPublicKeyHash_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f ); } }; /** - * repeated VersionEntry versions = 1; - * @return {!Array} + * optional bytes public_key_hash = 1; + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @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); + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); }; /** - * @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} + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() { - return this.setVersionsList([]); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; - - - +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +}; + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -22647,8 +23373,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.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); }; @@ -22657,14 +23383,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.GetIdentityByPublicKeyHashResponse} 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.GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -22678,23 +23403,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.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.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.GetIdentityByPublicKeyHashResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22702,12 +23427,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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -22722,9 +23444,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.GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22732,90 +23454,237 @@ 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.GetIdentityByPublicKeyHashResponse} 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.GetIdentityByPublicKeyHashResponse.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, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter ); } - f = message.getVoteCount(); - if (f !== 0) { - writer.writeUint32( - 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 + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; } + return obj; }; +} /** - * optional uint32 version_number = 1; - * @return {number} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional uint32 vote_count = 2; - * @return {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Versions versions = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} + * optional bytes identity = 1; + * @return {string} */ -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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @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); + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() { - return this.setVersions(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); }; @@ -22823,7 +23692,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasVersions = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { return jspb.Message.getField(this, 1) != null; }; @@ -22832,7 +23701,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -22840,18 +23709,18 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -22860,7 +23729,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -22869,7 +23738,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -22877,18 +23746,18 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -22897,35 +23766,35 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -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.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.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.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -22934,7 +23803,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.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -22948,21 +23817,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.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.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.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])); }; @@ -22980,8 +23849,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.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); }; @@ -22990,13 +23859,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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -23010,23 +23879,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.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} 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.GetProtocolVersionUpgradeVoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23034,8 +23903,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -23051,9 +23920,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.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23061,18 +23930,18 @@ 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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter ); } }; @@ -23094,8 +23963,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); }; @@ -23104,15 +23973,14 @@ 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.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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) + stateTransitionHash: msg.getStateTransitionHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -23126,23 +23994,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23151,13 +24019,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartProTxHash(value); + msg.setStateTransitionHash(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCount(value); - break; - case 3: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -23174,9 +24038,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23184,30 +24048,23 @@ 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartProTxHash_asU8(); + f = message.getStateTransitionHash_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getCount(); - if (f !== 0) { - writer.writeUint32( - 2, - f - ); - } f = message.getProve(); if (f) { writer.writeBool( - 3, + 2, f ); } @@ -23215,107 +24072,89 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr /** - * optional bytes start_pro_tx_hash = 1; + * optional bytes state_transition_hash = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes start_pro_tx_hash = 1; - * This is a type-conversion wrapper around `getStartProTxHash()` + * optional bytes state_transition_hash = 1; + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartProTxHash())); + this.getStateTransitionHash())); }; /** - * optional bytes start_pro_tx_hash = 1; + * optional bytes state_transition_hash = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartProTxHash()` + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartProTxHash())); + this.getStateTransitionHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = 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; + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); +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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetProtocolVersionUpgradeVoteStatusRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + * optional WaitForStateTransitionResultRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -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)); +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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} 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.GetProtocolVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -23324,7 +24163,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.proto * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -23338,21 +24177,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.proto * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.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.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])); }; @@ -23370,8 +24209,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.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); }; @@ -23380,13 +24219,13 @@ 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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -23400,23 +24239,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.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse} 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.GetProtocolVersionUpgradeVoteStatusResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23424,8 +24263,8 @@ 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); + 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: @@ -23441,9 +24280,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.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23451,18 +24290,18 @@ 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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter ); } }; @@ -23477,22 +24316,22 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.seri * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { RESULT_NOT_SET: 0, - VERSIONS: 1, + ERROR: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */ -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.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])); }; @@ -23510,8 +24349,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); }; @@ -23520,13 +24359,13 @@ 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.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(includeInstance, f), + 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) }; @@ -23542,23 +24381,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23566,9 +24405,9 @@ 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 = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); + msg.setError(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -23593,9 +24432,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23603,18 +24442,18 @@ 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersions(); + f = message.getError(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter ); } f = message.getProof(); @@ -23636,13 +24475,179 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP }; +/** + * optional StateTransitionBroadcastError error = 1; + * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +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 {?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); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} + * 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.clearError = function() { + return this.setError(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1]; +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])); +}; @@ -23659,8 +24664,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); }; @@ -23669,14 +24674,13 @@ 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.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { var f, obj = { - versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(), - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -23690,23 +24694,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.VersionSignals} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23714,9 +24718,9 @@ 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.VersionSignal; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader); - msg.addVersionSignals(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(); @@ -23731,9 +24735,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.VersionSignals.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23741,61 +24745,23 @@ 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.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersionSignalsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter ); } }; -/** - * repeated VersionSignal version_signals = 1; - * @return {!Array} - */ -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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this -*/ -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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} - */ -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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() { - return this.setVersionSignalsList([]); -}; - - @@ -23812,8 +24778,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * 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); +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); }; @@ -23822,14 +24788,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.VersionSignal} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - proTxHash: msg.getProTxHash_asB64(), - version: jspb.Message.getFieldWithDefault(msg, 2, 0) + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -23843,23 +24809,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.VersionSignal} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23867,12 +24833,12 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setProTxHash(value); + var value = /** @type {number} */ (reader.readInt32()); + msg.setHeight(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setVersion(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -23887,9 +24853,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.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23897,22 +24863,22 @@ 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.VersionSignal} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProTxHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getHeight(); + if (f !== 0) { + writer.writeInt32( 1, f ); } - f = message.getVersion(); - if (f !== 0) { - writer.writeUint32( + f = message.getProve(); + if (f) { + writer.writeBool( 2, f ); @@ -23921,200 +24887,65 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP /** - * optional bytes pro_tx_hash = 1; - * @return {string} + * optional int32 height = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes pro_tx_hash = 1; - * This is a type-conversion wrapper around `getProTxHash()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getProTxHash())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * 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} + * optional bool prove = 2; + * @return {boolean} */ -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); -}; - - -/** - * 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.clearMetadata = function() { - return this.setMetadata(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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + * optional GetConsensusParamsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -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.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} 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.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.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.GetProtocolVersionUpgradeVoteStatusResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -24123,7 +24954,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.GetConsensusParamsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -24137,21 +24968,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.GetConsensusParamsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.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])); }; @@ -24169,8 +25000,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.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); }; @@ -24179,13 +25010,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.GetConsensusParamsResponse} 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.GetConsensusParamsResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -24199,23 +25030,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.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} 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.GetEpochsInfoRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24223,8 +25054,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.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -24240,9 +25071,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.GetConsensusParamsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24250,18 +25081,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.GetConsensusParamsResponse} 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.GetConsensusParamsResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter ); } }; @@ -24283,8 +25114,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.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); }; @@ -24293,16 +25124,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.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { var f, obj = { - 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) + maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), + timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -24316,23 +25146,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.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24340,21 +25170,16 @@ 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 {string} */ (reader.readString()); + msg.setMaxBytes(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCount(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxGas(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); + var value = /** @type {string} */ (reader.readString()); + msg.setTimeIotaMs(value); break; default: reader.skipField(); @@ -24369,9 +25194,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.GetConsensusParamsResponse.ConsensusParamsBlock.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.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24379,198 +25204,91 @@ 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.GetConsensusParamsResponse.ConsensusParamsBlock} 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.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartEpoch(); - if (f != null) { - writer.writeMessage( + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( 1, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + f ); } - f = message.getCount(); - if (f !== 0) { - writer.writeUint32( + f = message.getMaxGas(); + if (f.length > 0) { + writer.writeString( 2, f ); } - f = message.getAscending(); - if (f) { - writer.writeBool( + f = message.getTimeIotaMs(); + if (f.length > 0) { + writer.writeString( 3, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 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 + * optional string max_bytes = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bool prove = 4; - * @return {boolean} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this + * optional string max_gas = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * optional GetEpochsInfoRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this + * optional string time_iota_ms = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = 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.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.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])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -24586,8 +25304,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.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); }; @@ -24596,13 +25314,15 @@ 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.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.GetEpochsInfoResponse.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f) + maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), + maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -24616,23 +25336,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.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} 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.GetEpochsInfoResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24640,9 +25360,16 @@ 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); - 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(); @@ -24657,9 +25384,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.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24667,52 +25394,8303 @@ 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.GetConsensusParamsResponse.ConsensusParamsEvidence} 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getMaxAgeDuration(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 3, + 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 + * 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); +}; + + + + + +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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), + evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); + msg.setBlock(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); + msg.setEvidence(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBlock(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter + ); + } + f = message.getEvidence(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter + ); + } +}; + + +/** + * optional ConsensusParamsBlock block = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + */ +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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { + return this.setBlock(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional ConsensusParamsEvidence evidence = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { + return this.setEvidence(undefined); +}; + + +/** + * 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; +}; + + +/** + * optional GetConsensusParamsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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} + */ +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])); +}; + + + +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.GetProtocolVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest} + */ +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.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.GetProtocolVersionUpgradeStateRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} + */ +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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + +/** + * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} + */ +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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @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])); +}; + + + +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.GetProtocolVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse} + */ +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.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.GetProtocolVersionUpgradeStateResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + 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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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) + }; + + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + */ +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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.Versions; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader); + msg.setVersions(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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) { + var f = undefined; + f = message.getVersions(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.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.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.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; +}; +} + + +/** + * 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} + */ +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); +}; + + +/** + * 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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + +/** + * 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 {!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.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); +}; + + +/** + * 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() { + return this.setVersionsList([]); +}; + + + + + +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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) { + var f, obj = { + versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0), + voteCount: 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} + */ +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.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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.setVersionNumber(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setVoteCount(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} 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) { + var f = undefined; + f = message.getVersionNumber(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getVoteCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } +}; + + +/** + * 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)); +}; + + +/** + * @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.setVoteCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional Versions versions = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} + */ +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)); +}; + + +/** + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() { + return this.setVersions(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.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); +}; + + +/** + * 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.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @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); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + */ +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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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])); +}; + + + +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.GetProtocolVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest} + */ +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.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.GetProtocolVersionUpgradeVoteStatusRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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) + }; + + 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + */ +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.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.setStartProTxHash(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCount(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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} 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) { + var f = undefined; + f = message.getStartProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 3, + f + ); + } +}; + + +/** + * 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>} + * @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])); +}; + + + +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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse} + */ +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.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.GetProtocolVersionUpgradeVoteStatusResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + VERSIONS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} + */ +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])); +}; + + + +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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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} 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) { + 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) + }; + + 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} + */ +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.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.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; + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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} 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) { + var f = undefined; + f = message.getVersions(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.VersionSignals} 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.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; +}; +} + + +/** + * 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} + */ +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); +}; + + +/** + * 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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + +/** + * repeated VersionSignal version_signals = 1; + * @return {!Array} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this +*/ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() { + return this.setVersionSignalsList([]); +}; + + + + + +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); +}; + + +/** + * 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.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetEpochsInfoRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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])); +}; + + + +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.GetEpochsInfoRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest} + */ +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.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.GetEpochsInfoRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + 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) { + 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + */ +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.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + 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); + 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; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} 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) { + var f = undefined; + f = message.getStartEpoch(); + if (f != null) { + writer.writeMessage( + 1, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getAscending(); + if (f) { + writer.writeBool( + 3, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 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])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse} + */ +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.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.GetEpochsInfoResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + EPOCHS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.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.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; +}; +} + + +/** + * 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.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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.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 + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) { + var f, obj = { + epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(), + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader); + msg.addEpochInfos(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEpochInfosList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated EpochInfo epoch_infos = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.getEpochInfosList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.addEpochInfos = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() { + return this.setEpochInfosList([]); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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) + }; + + 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.setNumber(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setFirstBlockHeight(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFirstCoreBlockHeight(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartTime(value); + break; + case 5: + var value = /** @type {number} */ (reader.readDouble()); + msg.setFeeMultiplier(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setProtocolVersion(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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} 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) { + var f = undefined; + f = message.getNumber(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getFirstBlockHeight(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } + f = message.getFirstCoreBlockHeight(); + if (f !== 0) { + writer.writeUint32( + 3, + f + ); + } + f = message.getStartTime(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getFeeMultiplier(); + if (f !== 0.0) { + writer.writeDouble( + 5, + f + ); + } + f = message.getProtocolVersion(); + if (f !== 0) { + writer.writeUint32( + 6, + f + ); + } +}; + + +/** + * 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; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = 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 + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) { + return jspb.Message.setProto3IntField(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); +}; + + +/** + * optional uint64 start_time = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @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.setStartTime = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional double fee_multiplier = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() { + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.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.setFeeMultiplier = function(value) { + return jspb.Message.setProto3FloatField(this, 5, value); +}; + + +/** + * optional uint32 protocol_version = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getProtocolVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 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.setProtocolVersion = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + +/** + * optional EpochInfos epochs = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + */ +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setEpochs = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() { + return this.setEpochs(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this +*/ +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetEpochsInfoResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} + */ +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetContestedResourcesRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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])); +}; + + + +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.GetContestedResourcesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest} + */ +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.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.GetContestedResourcesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.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.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, ""), + 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) + }; + + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + */ +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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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 {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: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setOrderAscending(value); + break; + case 9: + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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) { + 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(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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 + ); + } +}; + + + + + +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) { + var f, obj = { + startValue: msg.getStartValue_asB64(), + startValueIncluded: 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + */ +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.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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.setStartValue(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setStartValueIncluded(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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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) { + var f = undefined; + f = message.getStartValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getStartValueIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * 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} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartValue())); +}; + + +/** + * 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} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool start_value_included = 2; + * @return {boolean} + */ +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetContestedResourcesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse} + */ +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.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.GetContestedResourcesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + CONTESTED_RESOURCE_VALUES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} + */ +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])); +}; + + + +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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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) + }; + + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + */ +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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.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; + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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) { + var f = undefined; + f = message.getContestedResourceValues(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) { + var f, obj = { + contestedResourceValuesList: msg.getContestedResourceValuesList_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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + */ +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); +}; + + +/** + * 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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + +/** + * repeated bytes contested_resource_values = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes contested_resource_values = 1; + * This is a type-conversion wrapper around `getContestedResourceValuesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getContestedResourceValuesList())); +}; + + +/** + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getContestedResourceValuesList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() { + return this.setContestedResourceValuesList([]); +}; + + +/** + * optional ContestedResourceValues contested_resource_values = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + */ +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)); +}; + + +/** + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() { + return this.setContestedResourceValues(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasContestedResourceValues = 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.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 {?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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.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)); +}; + + +/** + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetContestedResourcesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + */ +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 {?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.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; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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.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])); +}; + + + +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.GetVotePollsByEndDateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest} + */ +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.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.GetVotePollsByEndDateRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.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.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) + }; + + 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} + */ +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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.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 + ); + } +}; + + + + + +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) { + var f, obj = { + startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0), + startTimeIncluded: 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} + */ +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.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartTimeMs(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setStartTimeIncluded(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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} 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) { + var f = undefined; + f = message.getStartTimeMs(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getStartTimeIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional uint64 start_time_ms = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional bool start_time_included = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this + */ +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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.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.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.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; +}; +} + + +/** + * 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.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); +}; + + +/** + * 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.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 {number} */ (reader.readUint64()); + msg.setEndTimeMs(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setEndTimeIncluded(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.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(); +}; + + +/** + * 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEndTimeMs(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getEndTimeIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional uint64 end_time_ms = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} 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.setProto3IntField(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>} + * @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])); +}; + + + +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.GetVotePollsByEndDateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse} + */ +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.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.GetVotePollsByEndDateResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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])); +}; + + + +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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) + }; + + 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + */ +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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.SerializedVotePollsByTimestamps; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader); + msg.setVotePollsByTimestamps(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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} 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) { + var f = undefined; + f = message.getVotePollsByTimestamps(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) { + var f, obj = { + timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0), + serializedVotePollsList: msg.getSerializedVotePollsList_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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} + */ +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); +}; + + +/** + * 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} + */ +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 {number} */ (reader.readUint64()); + msg.setTimestamp(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addSerializedVotePolls(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.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(); +}; + + +/** + * 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 + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getTimestamp(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getSerializedVotePollsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 2, + f + ); + } +}; + + +/** + * optional uint64 timestamp = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * repeated bytes serialized_vote_polls = 2; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2)); +}; + + +/** + * repeated bytes serialized_vote_polls = 2; + * This is a type-conversion wrapper around `getSerializedVotePollsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getSerializedVotePollsList())); +}; + + +/** + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getSerializedVotePollsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setSerializedVotePollsList = function(value) { + return jspb.Message.setField(this, 2, value || []); +}; + + +/** + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() { + return this.setSerializedVotePollsList([]); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.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.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; +}; +} + + +/** + * 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.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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.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 SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1; + * @return {!Array} + */ +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} 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 {!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} + */ +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() { + return this.setVotePollsByTimestampsList([]); +}; + + +/** + * optional bool finished_results = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getFinishedResults = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} + */ +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() { + return this.setVotePollsByTimestamps(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasVotePollsByTimestamps = 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.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 {?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 message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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 {?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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetVotePollsByEndDateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + */ +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetContestedResourceVoteStateRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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])); +}; + + + +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.GetContestedResourceVoteStateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest} + */ +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.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.GetContestedResourceVoteStateRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4]; + + + +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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + */ +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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 {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(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} 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) { + 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.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( + 7, + f, + 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 + ); + } +}; + + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = { + DOCUMENTS: 0, + VOTE_TALLY: 1, + DOCUMENTS_AND_VOTE_TALLY: 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) { + var f, obj = { + startIdentifier: msg.getStartIdentifier_asB64(), + startIdentifierIncluded: 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + */ +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.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.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.setStartIdentifier(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setStartIdentifierIncluded(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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} 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) { + var f = undefined; + f = message.getStartIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getStartIdentifierIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes start_identifier = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes start_identifier = 1; + * This is a type-conversion wrapper around `getStartIdentifier()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartIdentifier())); +}; + + +/** + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartIdentifier())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this + */ +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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string index_name = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) { + return jspb.Message.setProto3StringField(this, 3, 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)); +}; + + +/** + * repeated bytes index_values = 4; + * This is a type-conversion wrapper around `getIndexValuesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIndexValuesList())); +}; + + +/** + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getAllowIncludeLockedAndAbstainingVoteTally = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setAllowIncludeLockedAndAbstainingVoteTally = function(value) { + return jspb.Message.setProto3BooleanField(this, 6, value); +}; + + +/** + * 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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() { + return this.setStartAtIdentifierInfo(undefined); +}; + + +/** + * 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; +}; + + +/** + * optional uint32 count = 8; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); +}; + + +/** + * @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 field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearCount = function() { + return jspb.Message.setField(this, 8, undefined); +}; + + +/** + * 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; +}; + + +/** + * optional bool prove = 9; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + */ +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.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.GetContestedResourceVoteStateRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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])); +}; + + + +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.GetContestedResourceVoteStateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceVoteStateResponse} + */ +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.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.GetContestedResourceVoteStateResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceVoteStateResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + 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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + 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) { + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + */ +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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.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 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; +}; + /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - EPOCHS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} + * 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 {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContestedResourceContenders(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -24726,8 +33704,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(opt_includeInstance, this); }; @@ -24736,15 +33714,18 @@ 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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) + 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) { @@ -24758,23 +33739,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24782,19 +33763,28 @@ 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 = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (reader.readEnum()); + msg.setFinishedVoteOutcome(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 {!Uint8Array} */ (reader.readBytes()); + msg.setWonByIdentityId(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.setFinishedAtBlockHeight(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFinishedAtCoreBlockHeight(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint64()); + msg.setFinishedAtBlockTimeMs(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFinishedAtEpoch(value); break; default: reader.skipField(); @@ -24809,9 +33799,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24819,46 +33809,223 @@ 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getEpochs(); - if (f != null) { - writer.writeMessage( + f = message.getFinishedVoteOutcome(); + if (f !== 0.0) { + writer.writeEnum( 1, - f, - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter + f ); } - f = message.getProof(); + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); if (f != null) { - writer.writeMessage( + writer.writeBytes( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getFinishedAtBlockHeight(); + if (f !== 0) { + writer.writeUint64( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = message.getFinishedAtCoreBlockHeight(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getFinishedAtBlockTimeMs(); + if (f !== 0) { + writer.writeUint64( + 5, + f + ); + } + f = message.getFinishedAtEpoch(); + if (f !== 0) { + writer.writeUint32( + 6, + f ); } }; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = { + TOWARDS_IDENTITY: 0, + LOCKED: 1, + NO_PREVIOUS_WINNER: 2 +}; + +/** + * optional FinishedVoteOutcome finished_vote_outcome = 1; + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} + */ +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 {!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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedVoteOutcome = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); +}; + + +/** + * optional bytes won_by_identity_id = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes won_by_identity_id = 2; + * This is a type-conversion wrapper around `getWonByIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWonByIdentityId())); +}; + + +/** + * 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} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWonByIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) { + return jspb.Message.setField(this, 2, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.clearWonByIdentityId = function() { + return jspb.Message.setField(this, 2, undefined); +}; + + +/** + * 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; +}; + + +/** + * optional uint64 finished_at_block_height = 3; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional uint32 finished_at_core_block_height = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtCoreBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtCoreBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional uint64 finished_at_block_time_ms = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * optional uint32 finished_at_epoch = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtEpoch = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.repeatedFields_ = [1]; @@ -24875,8 +34042,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(opt_includeInstance, this); }; @@ -24885,14 +34052,17 @@ 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject = function(includeInstance, msg) { var f, obj = { - epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(), - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance) + 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) { @@ -24900,115 +34070,259 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep } return obj; }; -} +} + + +/** + * 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} + */ +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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.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(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} 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) { + 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(); + if (f != null) { + writer.writeMessage( + 4, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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); +}; + + +/** + * @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.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); +}; + + +/** + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() { + return this.setContendersList([]); +}; + + +/** + * 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)); +}; + + +/** + * @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.setAbstainVoteTally = function(value) { + return jspb.Message.setField(this, 2, 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.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; +}; /** - * 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} + * optional uint32 lock_vote_tally = 3; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader(msg, reader); +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader); - msg.addEpochInfos(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getEpochInfosList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasLockVoteTally = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * repeated EpochInfo epoch_infos = 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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setFinishedVoteInfo = function(value) { + return jspb.Message.setWrapperField(this, 4, 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} + * 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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() { + return this.setFinishedVoteInfo(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() { - return this.setEpochInfosList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() { + return jspb.Message.getField(this, 4) != null; }; @@ -25028,8 +34342,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(opt_includeInstance, this); }; @@ -25038,18 +34352,15 @@ 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.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) + identifier: msg.getIdentifier_asB64(), + voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0), + document: msg.getDocument_asB64() }; if (includeInstance) { @@ -25063,23 +34374,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25087,28 +34398,16 @@ 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.setIdentifier(value); break; case 2: - var value = /** @type {number} */ (reader.readUint64()); - msg.setFirstBlockHeight(value); - break; - case 3: var value = /** @type {number} */ (reader.readUint32()); - msg.setFirstCoreBlockHeight(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartTime(value); - break; - case 5: - var value = /** @type {number} */ (reader.readDouble()); - msg.setFeeMultiplier(value); + msg.setVoteCount(value); break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setProtocolVersion(value); + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocument(value); break; default: reader.skipField(); @@ -25123,9 +34422,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25133,190 +34432,199 @@ 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getNumber(); - if (f !== 0) { - writer.writeUint32( + f = message.getIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); } - f = message.getFirstBlockHeight(); - if (f !== 0) { - writer.writeUint64( + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint32( 2, f ); } - f = message.getFirstCoreBlockHeight(); - if (f !== 0) { - writer.writeUint32( + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3)); + if (f != null) { + writer.writeBytes( 3, f ); } - f = message.getStartTime(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getFeeMultiplier(); - if (f !== 0.0) { - writer.writeDouble( - 5, - f - ); - } - f = message.getProtocolVersion(); - if (f !== 0) { - writer.writeUint32( - 6, - f - ); - } }; /** - * optional uint32 number = 1; - * @return {number} + * optional bytes identifier = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() { - return /** @type {number} */ (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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) { - return jspb.Message.setProto3IntField(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 uint64 first_block_height = 2; + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentifier())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint32 vote_count = 2; * @return {number} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getVoteCount = 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setVoteCount = function(value) { + return jspb.Message.setField(this, 2, value); }; /** - * optional uint32 first_core_block_height = 3; - * @return {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() { + return jspb.Message.setField(this, 2, undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasVoteCount = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional uint64 start_time = 4; - * @return {number} + * optional bytes document = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * optional bytes document = 3; + * This is a type-conversion wrapper around `getDocument()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocument())); }; /** - * optional double fee_multiplier = 5; - * @return {number} + * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() { - return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocument())); }; /** - * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) { + return jspb.Message.setField(this, 3, value); }; /** - * optional uint32 protocol_version = 6; - * @return {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() { + return jspb.Message.setField(this, 3, undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional EpochInfos epochs = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + * optional ContestedResourceContenders contested_resource_contenders = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} */ -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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} 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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() { - return this.setEpochs(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() { + return this.setContestedResourceContenders(undefined); }; @@ -25324,7 +34632,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() { return jspb.Message.getField(this, 1) != null; }; @@ -25333,7 +34641,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.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)); }; @@ -25341,18 +34649,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -25361,7 +34669,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -25370,7 +34678,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.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)); }; @@ -25378,18 +34686,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -25398,35 +34706,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetEpochsInfoResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} + * optional GetContestedResourceVoteStateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} */ -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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} 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.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.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.GetEpochsInfoResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -25435,7 +34743,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.GetContestedResourceVoteStateResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -25449,21 +34757,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.GetContestedResourceVotersForIdentityRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.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.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])); }; @@ -25481,8 +34789,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.GetContestedResourceVotersForIdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject(opt_includeInstance, this); }; @@ -25491,13 +34799,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.GetContestedResourceVotersForIdentityRequest} 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.GetContestedResourceVotersForIdentityRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -25511,23 +34819,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.GetContestedResourceVotersForIdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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.GetContestedResourcesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25535,8 +34843,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -25552,9 +34860,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.GetContestedResourceVotersForIdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25562,18 +34870,18 @@ 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.GetContestedResourceVotersForIdentityRequest} 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.GetContestedResourceVotersForIdentityRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter ); } }; @@ -25585,7 +34893,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWr * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.repeatedFields_ = [4,5]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.repeatedFields_ = [4]; @@ -25602,8 +34910,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(opt_includeInstance, this); }; @@ -25612,18 +34920,18 @@ 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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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), + 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) @@ -25640,23 +34948,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25677,16 +34985,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc break; case 4: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addStartIndexValues(value); + msg.addIndexValues(value); break; case 5: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addEndIndexValues(value); + msg.setContestantId(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); + 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()); @@ -25713,9 +35021,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25723,11 +35031,11 @@ 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getContractId_asU8(); if (f.length > 0) { @@ -25750,26 +35058,26 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc f ); } - f = message.getStartIndexValuesList_asU8(); + f = message.getIndexValuesList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 4, f ); } - f = message.getEndIndexValuesList_asU8(); + f = message.getContestantId_asU8(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeBytes( 5, f ); } - f = message.getStartAtValueInfo(); + f = message.getStartAtIdentifierInfo(); if (f != null) { writer.writeMessage( 6, f, - proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter ); } f = /** @type {number} */ (jspb.Message.getField(message, 7)); @@ -25812,8 +35120,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this); }; @@ -25822,14 +35130,14 @@ 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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) { var f, obj = { - startValue: msg.getStartValue_asB64(), - startValueIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + startIdentifier: msg.getStartIdentifier_asB64(), + startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -25843,23 +35151,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25868,11 +35176,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartValue(value); + msg.setStartIdentifier(value); break; case 2: var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartValueIncluded(value); + msg.setStartIdentifierIncluded(value); break; default: reader.skipField(); @@ -25887,9 +35195,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25897,20 +35205,20 @@ 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartValue_asU8(); + f = message.getStartIdentifier_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getStartValueIncluded(); + f = message.getStartIdentifierIncluded(); if (f) { writer.writeBool( 2, @@ -25921,61 +35229,61 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc /** - * optional bytes start_value = 1; + * optional bytes start_identifier = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes start_value = 1; - * This is a type-conversion wrapper around `getStartValue()` + * optional bytes start_identifier = 1; + * This is a type-conversion wrapper around `getStartIdentifier()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartValue())); + this.getStartIdentifier())); }; /** - * optional bytes start_value = 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 `getStartValue()` + * This is a type-conversion wrapper around `getStartIdentifier()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartValue())); + this.getStartIdentifier())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool start_value_included = 2; + * optional bool start_identifier_included = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValueIncluded = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() { return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) { return jspb.Message.setProto3BooleanField(this, 2, value); }; @@ -25984,7 +35292,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional bytes contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; @@ -25994,7 +35302,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * This is a type-conversion wrapper around `getContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( this.getContractId())); }; @@ -26007,7 +35315,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * This is a type-conversion wrapper around `getContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( this.getContractId())); }; @@ -26015,9 +35323,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setContractId = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; @@ -26026,16 +35334,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional string document_type_name = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() { +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setDocumentTypeName = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; @@ -26044,58 +35352,58 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional string index_name = 3; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getIndexName = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setIndexName = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexName = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; /** - * repeated bytes start_index_values = 4; + * repeated bytes index_values = 4; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); }; /** - * repeated bytes start_index_values = 4; - * This is a type-conversion wrapper around `getStartIndexValuesList()` + * repeated bytes index_values = 4; + * This is a type-conversion wrapper around `getIndexValuesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getStartIndexValuesList())); + this.getIndexValuesList())); }; /** - * repeated bytes start_index_values = 4; + * 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 `getStartIndexValuesList()` + * This is a type-conversion wrapper around `getIndexValuesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getStartIndexValuesList())); + this.getIndexValuesList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartIndexValuesList = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexValuesList = function(value) { return jspb.Message.setField(this, 4, value || []); }; @@ -26103,108 +35411,89 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addStartIndexValues = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartIndexValuesList = function() { - return this.setStartIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearIndexValuesList = function() { + return this.setIndexValuesList([]); }; /** - * repeated bytes end_index_values = 5; - * @return {!Array} + * optional bytes contestant_id = 5; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * repeated bytes end_index_values = 5; - * This is a type-conversion wrapper around `getEndIndexValuesList()` - * @return {!Array} + * optional bytes contestant_id = 5; + * This is a type-conversion wrapper around `getContestantId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getEndIndexValuesList())); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContestantId())); }; /** - * repeated bytes end_index_values = 5; + * 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 `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 + * This is a type-conversion wrapper around `getContestantId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setEndIndexValuesList = function(value) { - return jspb.Message.setField(this, 5, value || []); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContestantId())); }; /** * @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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearEndIndexValuesList = function() { - return this.setEndIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContestantId = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); }; /** - * optional StartAtValueInfo start_at_value_info = 6; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + * optional StartAtIdentifierInfo start_at_identifier_info = 6; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ -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)); +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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartAtValueInfo = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setStartAtIdentifierInfo = 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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartAtValueInfo = function() { - return this.setStartAtValueInfo(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() { + return this.setStartAtIdentifierInfo(undefined); }; @@ -26212,7 +35501,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasStartAtValueInfo = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() { return jspb.Message.getField(this, 6) != null; }; @@ -26221,25 +35510,25 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional uint32 count = 7; * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getCount = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setCount = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearCount = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() { return jspb.Message.setField(this, 7, undefined); }; @@ -26248,7 +35537,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasCount = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() { return jspb.Message.getField(this, 7) != null; }; @@ -26257,16 +35546,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional bool order_ascending = 8; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getOrderAscending = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setOrderAscending = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) { return jspb.Message.setProto3BooleanField(this, 8, value); }; @@ -26275,44 +35564,44 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional bool prove = 9; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getProve = function() { +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setProve = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 9, value); }; /** - * optional GetContestedResourcesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ -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)); +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} 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.GetContestedResourcesRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -26321,7 +35610,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -26335,21 +35624,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.hasV0 = f * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.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])); +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])); }; @@ -26367,8 +35656,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.GetContestedResourceVotersForIdentityResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject(opt_includeInstance, this); }; @@ -26377,13 +35666,13 @@ 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.GetContestedResourceVotersForIdentityResponse} 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.GetContestedResourceVotersForIdentityResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -26397,23 +35686,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.GetContestedResourceVotersForIdentityResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} 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.GetContestedResourcesResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -26421,8 +35710,8 @@ 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); + 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: @@ -26438,9 +35727,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.GetContestedResourceVotersForIdentityResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -26448,18 +35737,18 @@ 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.GetContestedResourceVotersForIdentityResponse} 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.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter ); } }; @@ -26474,22 +35763,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToW * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase = { RESULT_NOT_SET: 0, - CONTESTED_RESOURCE_VALUES: 1, + CONTESTED_RESOURCE_VOTERS: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase} */ -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.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])); }; @@ -26507,8 +35796,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(opt_includeInstance, this); }; @@ -26517,13 +35806,13 @@ 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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - contestedResourceValues: (f = msg.getContestedResourceValues()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(includeInstance, f), + 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) }; @@ -26539,23 +35828,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -26563,9 +35852,9 @@ 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 = 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; @@ -26590,9 +35879,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -26600,18 +35889,18 @@ 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceValues(); + f = message.getContestedResourceVoters(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter ); } f = message.getProof(); @@ -26639,7 +35928,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1]; @@ -26656,8 +35945,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(opt_includeInstance, this); }; @@ -26666,13 +35955,14 @@ 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.ContestedResourceValues} msg The msg instance to transform. + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) { var f, obj = { - contestedResourceValuesList: msg.getContestedResourceValuesList_asB64() + votersList: msg.getVotersList_asB64(), + finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -26686,23 +35976,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.ContestedResourceValues} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinary = function(bytes) { +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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader(msg, reader); + 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); }; /** * 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 {!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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -26711,7 +36001,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addContestedResourceValues(value); + msg.addVoters(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setFinishedResults(value); break; default: reader.skipField(); @@ -26726,9 +36020,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.ContestedResourceValues.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -26736,60 +36030,67 @@ 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.ContestedResourceValues} message + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceValuesList_asU8(); + f = message.getVotersList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } + f = message.getFinishedResults(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes contested_resource_values = 1; + * repeated bytes voters = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes contested_resource_values = 1; - * This is a type-conversion wrapper around `getContestedResourceValuesList()` + * repeated bytes voters = 1; + * This is a type-conversion wrapper around `getVotersList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getContestedResourceValuesList())); + this.getVotersList())); }; /** - * repeated bytes contested_resource_values = 1; + * 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 `getContestedResourceValuesList()` + * This is a type-conversion wrapper around `getVotersList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getContestedResourceValuesList())); + this.getVotersList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setVotersList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -26797,47 +36098,65 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = function(value, opt_index) { +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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() { - return this.setContestedResourceValuesList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.clearVotersList = function() { + return this.setVotersList([]); }; /** - * optional ContestedResourceValues contested_resource_values = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + * optional bool finished_results = 2; + * @return {boolean} */ -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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getFinishedResults = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @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.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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() { - return this.setContestedResourceValues(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearContestedResourceVoters = function() { + return this.setContestedResourceVoters(undefined); }; @@ -26845,7 +36164,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasContestedResourceVoters = function() { return jspb.Message.getField(this, 1) != null; }; @@ -26854,7 +36173,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.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)); }; @@ -26862,18 +36181,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} 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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -26882,7 +36201,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -26891,7 +36210,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.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)); }; @@ -26899,18 +36218,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -26919,35 +36238,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetContestedResourcesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ -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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} 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.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.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.GetContestedResourcesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -26956,7 +36275,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.GetContestedResourceVotersForIdentityResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -26970,21 +36289,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.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.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.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])); }; @@ -27002,8 +36321,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.GetContestedResourceIdentityVotesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject(opt_includeInstance, this); }; @@ -27012,13 +36331,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.GetContestedResourceIdentityVotesRequest} 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.GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -27032,23 +36351,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.GetContestedResourceIdentityVotesRequest} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} 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.GetVotePollsByEndDateRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27056,8 +36375,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -27073,9 +36392,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.GetContestedResourceIdentityVotesRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27083,18 +36402,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.GetContestedResourceIdentityVotesRequest} 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.GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter ); } }; @@ -27116,8 +36435,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(opt_includeInstance, this); }; @@ -27126,17 +36445,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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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), + 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) }; @@ -27151,23 +36470,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27175,26 +36494,27 @@ 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 {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(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 = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); break; case 3: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); break; case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setOffset(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setOrderAscending(value); break; case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setAscending(value); + 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()); @@ -27213,9 +36533,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27223,216 +36543,57 @@ 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartTimeInfo(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter + f ); } - f = message.getEndTimeInfo(); + f = message.getLimit(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = /** @type {number} */ (jspb.Message.getField(message, 3)); + f = message.getOffset(); if (f != null) { - writer.writeUint32( + writer.writeMessage( 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 - ); - } -}; - - - - - -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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) { - var f, obj = { - startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0), - startTimeIncluded: 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} - */ -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.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartTimeMs(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartTimeIncluded(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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} 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) { - var f = undefined; - f = message.getStartTimeMs(); - if (f !== 0) { - writer.writeUint64( - 1, - f + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getStartTimeIncluded(); + f = message.getOrderAscending(); if (f) { writer.writeBool( - 2, + 4, f - ); - } -}; - - -/** - * optional uint64 start_time_ms = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional bool start_time_included = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeIncluded = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); + ); + } + 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( + 6, + f + ); + } }; @@ -27452,8 +36613,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(opt_includeInstance, this); }; @@ -27462,14 +36623,14 @@ 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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) { var f, obj = { - endTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0), - endTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(), + startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -27483,23 +36644,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinary = function(bytes) { +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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo; + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader(msg, 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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27507,12 +36668,12 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setEndTimeMs(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAtPollIdentifier(value); break; case 2: var value = /** @type {boolean} */ (reader.readBool()); - msg.setEndTimeIncluded(value); + msg.setStartPollIdentifierIncluded(value); break; default: reader.skipField(); @@ -27527,9 +36688,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27537,20 +36698,20 @@ 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getEndTimeMs(); - if (f !== 0) { - writer.writeUint64( + f = message.getStartAtPollIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); } - f = message.getEndTimeIncluded(); + f = message.getStartPollIdentifierIncluded(); if (f) { writer.writeBool( 2, @@ -27561,103 +36722,132 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa /** - * optional uint64 end_time_ms = 1; - * @return {number} + * optional bytes start_at_poll_identifier = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this + * optional bytes start_at_poll_identifier = 1; + * This is a type-conversion wrapper around `getStartAtPollIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAtPollIdentifier())); }; /** - * optional bool end_time_included = 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 `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 + */ +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeIncluded = function() { +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeIncluded = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = 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} + * optional bytes identity_id = 1; + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearStartTimeInfo = function() { - return this.setStartTimeInfo(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasStartTimeInfo = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional EndAtTimeInfo end_time_info = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} */ -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)); +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.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setEndTimeInfo = function(value) { +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearEndTimeInfo = function() { - return this.setEndTimeInfo(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; @@ -27665,35 +36855,36 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasEndTimeInfo = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional uint32 limit = 3; - * @return {number} + * optional google.protobuf.UInt32Value offset = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +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 {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); + * @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 field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearLimit = function() { - return jspb.Message.setField(this, 3, undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; @@ -27701,62 +36892,63 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasLimit = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasOffset = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional uint32 offset = 4; - * @return {number} + * optional bool order_ascending = 4; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getOffset = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOrderAscending = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOrderAscending = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearOffset = function() { - return jspb.Message.setField(this, 4, undefined); +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)); }; /** - * 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; + * @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); }; /** - * optional bool ascending = 5; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getAscending = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() { + return this.setStartAtVotePollIdInfo(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setAscending = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasStartAtVotePollIdInfo = function() { + return jspb.Message.getField(this, 5) != null; }; @@ -27764,44 +36956,44 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa * optional bool prove = 6; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getProve = function() { +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setProve = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 6, value); }; /** - * optional GetVotePollsByEndDateRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} + * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ -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)); +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this + * @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.GetVotePollsByEndDateRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0], value); +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.GetVotePollsByEndDateRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -27810,7 +37002,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -27824,21 +37016,21 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.hasV0 = f * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.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])); }; @@ -27856,8 +37048,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.GetContestedResourceIdentityVotesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject(opt_includeInstance, this); }; @@ -27866,13 +37058,13 @@ 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.GetContestedResourceIdentityVotesResponse} 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.GetContestedResourceIdentityVotesResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -27886,23 +37078,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.GetContestedResourceIdentityVotesResponse} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} 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.GetVotePollsByEndDateResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27910,8 +37102,8 @@ 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); + 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: @@ -27927,9 +37119,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.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27937,18 +37129,18 @@ 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.GetContestedResourceIdentityVotesResponse} 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.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter ); } }; @@ -27963,22 +37155,22 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToW * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase = { RESULT_NOT_SET: 0, - VOTE_POLLS_BY_TIMESTAMPS: 1, + VOTES: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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])); +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])); }; @@ -27996,8 +37188,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(opt_includeInstance, this); }; @@ -28006,13 +37198,13 @@ 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - votePollsByTimestamps: (f = msg.getVotePollsByTimestamps()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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) }; @@ -28028,23 +37220,172 @@ 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + + +/** + * 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} + */ +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); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance 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 + */ +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; +}; +} + + +/** + * 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} + */ +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); }; /** * 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28052,19 +37393,13 @@ 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 = 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 = 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.setFinishedResults(value); break; default: reader.skipField(); @@ -28079,9 +37414,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28089,46 +37424,86 @@ 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotePollsByTimestamps(); - if (f != null) { - writer.writeMessage( + f = message.getContestedResourceIdentityVotesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getFinishedResults(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; +/** + * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1; + * @return {!Array} + */ +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)); +}; + + +/** + * @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); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [2]; +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); +}; + + +/** + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() { + return this.setContestedResourceIdentityVotesList([]); +}; + + +/** + * optional bool finished_results = 2; + * @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); +}; + + @@ -28145,8 +37520,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(opt_includeInstance, this); }; @@ -28155,14 +37530,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.SerializedVotePollsByTimestamp} msg The msg instance to transform. + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) { var f, obj = { - timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0), - serializedVotePollsList: msg.getSerializedVotePollsList_asB64() + voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0), + identityId: msg.getIdentityId_asB64() }; if (includeInstance) { @@ -28176,23 +37551,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.SerializedVotePollsByTimestamp} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinary = function(bytes) { +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader(msg, reader); + 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); }; /** * 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 {!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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28200,12 +37575,12 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setTimestamp(value); + 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.addSerializedVotePolls(value); + msg.setIdentityId(value); break; default: reader.skipField(); @@ -28220,9 +37595,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.SerializedVotePollsByTimestamp.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28230,22 +37605,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.SerializedVotePollsByTimestamp} message + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getTimestamp(); - if (f !== 0) { - writer.writeUint64( + f = message.getVoteChoiceType(); + if (f !== 0.0) { + writer.writeEnum( 1, f ); } - f = message.getSerializedVotePollsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeBytes( 2, f ); @@ -28254,81 +37629,89 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD /** - * optional uint64 timestamp = 1; - * @return {number} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +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} + */ +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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); }; /** - * repeated bytes serialized_vote_polls = 2; - * @return {!Array} + * optional bytes identity_id = 2; + * @return {string} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * repeated bytes serialized_vote_polls = 2; - * This is a type-conversion wrapper around `getSerializedVotePollsList()` - * @return {!Array} + * optional bytes identity_id = 2; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); }; /** - * repeated bytes serialized_vote_polls = 2; + * 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 `getSerializedVotePollsList()` - * @return {!Array} + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) { + return jspb.Message.setField(this, 2, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 2, value, opt_index); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() { + return jspb.Message.setField(this, 2, undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() { - return this.setSerializedVotePollsList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.hasIdentityId = function() { + return jspb.Message.getField(this, 2) != null; }; @@ -28338,7 +37721,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3]; @@ -28355,8 +37738,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(opt_includeInstance, this); }; @@ -28365,15 +37748,16 @@ 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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) + 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) { @@ -28387,23 +37771,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28411,13 +37795,21 @@ 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.setContractId(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setFinishedResults(value); + 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(); @@ -28432,9 +37824,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28442,111 +37834,227 @@ 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotePollsByTimestampsList(); + f = message.getContractId_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.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 + ); + } }; /** - * repeated SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1; - * @return {!Array} + * optional bytes contract_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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId = 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 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())); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp=} opt_value + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_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 || []); +}; + + +/** + * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this */ -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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() { - return this.setVotePollsByTimestampsList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() { + return this.setSerializedIndexStorageValuesList([]); }; /** - * optional bool finished_results = 2; - * @return {boolean} + * optional ResourceVoteChoice vote_choice = 4; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ -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.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 {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() { + return this.setVoteChoice(undefined); }; /** - * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} + * Returns whether this field is set. + * @return {boolean} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * 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.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() { - return this.setVotePollsByTimestamps(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() { + return this.setVotes(undefined); }; @@ -28554,7 +38062,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = function() { return jspb.Message.getField(this, 1) != null; }; @@ -28563,7 +38071,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.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)); }; @@ -28571,18 +38079,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -28591,7 +38099,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -28600,7 +38108,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.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)); }; @@ -28608,18 +38116,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setMetadata = function(value) { +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -28628,35 +38136,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetVotePollsByEndDateResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ -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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this + * @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.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.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.GetVotePollsByEndDateResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -28665,7 +38173,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.GetContestedResourceIdentityVotesResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -28679,21 +38187,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.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.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])); }; @@ -28711,8 +38219,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.GetPrefundedSpecializedBalanceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject(opt_includeInstance, this); }; @@ -28721,13 +38229,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.GetPrefundedSpecializedBalanceRequest} 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.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -28741,23 +38249,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.GetPrefundedSpecializedBalanceRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateRequest} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28765,8 +38273,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -28782,9 +38290,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.GetPrefundedSpecializedBalanceRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28792,31 +38300,24 @@ 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.GetPrefundedSpecializedBalanceRequest} 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.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -28832,8 +38333,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(opt_includeInstance, this); }; @@ -28842,21 +38343,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} msg The msg instance to transform. + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false) + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -28870,23 +38364,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28895,38 +38389,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + msg.setId(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.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 {!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; @@ -28943,9 +38408,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28953,88 +38418,151 @@ 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.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.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( - 7, - f, - 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, + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = { - DOCUMENTS: 0, - VOTE_TALLY: 1, - DOCUMENTS_AND_VOTE_TALLY: 2 +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])); +}; @@ -29051,8 +38579,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.GetPrefundedSpecializedBalanceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject(opt_includeInstance, this); }; @@ -29061,14 +38589,13 @@ 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.GetPrefundedSpecializedBalanceResponse} 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.GetPrefundedSpecializedBalanceResponse.toObject = function(includeInstance, msg) { var f, obj = { - startIdentifier: msg.getStartIdentifier_asB64(), - startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -29082,23 +38609,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.GetPrefundedSpecializedBalanceResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -29106,12 +38633,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartIdentifier(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartIdentifierIncluded(value); + 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(); @@ -29126,9 +38650,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.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29136,289 +38660,250 @@ 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.GetPrefundedSpecializedBalanceResponse} 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.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartIdentifier_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getStartIdentifierIncluded(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes start_identifier = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes start_identifier = 1; - * This is a type-conversion wrapper around `getStartIdentifier()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartIdentifier())); -}; - - -/** - * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartIdentifier())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this - */ -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 - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]]; /** - * optional string index_name = 3; - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE: 1, + PROOF: 2 }; - /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +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) { /** - * repeated bytes index_values = 4; - * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); +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); }; /** - * repeated bytes index_values = 4; - * This is a type-conversion wrapper around `getIndexValuesList()` - * @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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIndexValuesList())); +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; }; +} /** - * 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} + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIndexValuesList())); +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); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} 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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexValuesList = function(value) { - return jspb.Message.setField(this, 4, value || []); +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 {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.addIndexValues = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 4, value, opt_index); +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(); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearIndexValuesList = function() { - return this.setIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional ResultType result_type = 5; - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} + * optional uint64 balance = 1; + * @return {number} */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setBalance = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bool allow_include_locked_and_abstaining_vote_tally = 6; - * @return {boolean} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearBalance = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasBalance = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional StartAtIdentifierInfo start_at_identifier_info = 7; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setStartAtIdentifierInfo = function(value) { - return jspb.Message.setWrapperField(this, 7, value); +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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() { - return this.setStartAtIdentifierInfo(undefined); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -29426,35 +38911,36 @@ 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional uint32 count = 8; - * @return {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -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.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 {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); + * @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 field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -29462,53 +38948,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.hasCount = function() { - return jspb.Message.getField(this, 8) != null; -}; - - -/** - * optional bool prove = 9; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 9, value); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetContestedResourceVoteStateRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} */ -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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this + * @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.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.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.GetContestedResourceVoteStateRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -29517,7 +38985,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.GetPrefundedSpecializedBalanceResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -29531,21 +38999,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.GetTotalCreditsInPlatformRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.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])); }; @@ -29563,8 +39031,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.GetTotalCreditsInPlatformRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.toObject(opt_includeInstance, this); }; @@ -29573,13 +39041,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.GetTotalCreditsInPlatformRequest} 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.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -29593,23 +39061,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.GetTotalCreditsInPlatformRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateResponse; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateResponse} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -29617,8 +39085,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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -29634,9 +39102,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.GetTotalCreditsInPlatformRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29644,23 +39112,190 @@ 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.GetTotalCreditsInPlatformRequest} 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.GetTotalCreditsInPlatformRequest.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.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 @@ -29670,22 +39305,21 @@ 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.GetTotalCreditsInPlatformResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - CONTESTED_RESOURCE_CONTENDERS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase} */ -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.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])); }; @@ -29703,8 +39337,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.GetTotalCreditsInPlatformResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject(opt_includeInstance, this); }; @@ -29713,15 +39347,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.GetTotalCreditsInPlatformResponse} 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.GetTotalCreditsInPlatformResponse.toObject = function(includeInstance, msg) { var f, obj = { - 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) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -29735,43 +39367,33 @@ 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.GetTotalCreditsInPlatformResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader = function(msg, reader) { +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.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 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 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(); @@ -29786,9 +39408,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.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29796,40 +39418,50 @@ 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.GetTotalCreditsInPlatformResponse} 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.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceContenders(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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.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) { @@ -29845,8 +39477,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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(opt_includeInstance, this); }; @@ -29855,18 +39487,15 @@ 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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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) + 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) { @@ -29880,23 +39509,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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -29904,28 +39533,18 @@ 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); + var value = /** @type {number} */ (reader.readUint64()); + msg.setCredits(value); break; case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWonByIdentityId(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {number} */ (reader.readUint64()); - msg.setFinishedAtBlockHeight(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setFinishedAtCoreBlockHeight(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint64()); - msg.setFinishedAtBlockTimeMs(value); - break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setFinishedAtEpoch(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(); @@ -29940,9 +39559,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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29950,132 +39569,99 @@ 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getFinishedVoteOutcome(); - if (f !== 0.0) { - writer.writeEnum( + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( 1, f ); } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + f = message.getProof(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getFinishedAtBlockHeight(); - if (f !== 0) { - writer.writeUint64( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f - ); - } - f = message.getFinishedAtCoreBlockHeight(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getFinishedAtBlockTimeMs(); - if (f !== 0) { - writer.writeUint64( - 5, - f - ); - } - f = message.getFinishedAtEpoch(); - if (f !== 0) { - writer.writeUint32( - 6, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = { - TOWARDS_IDENTITY: 0, - LOCKED: 1, - NO_PREVIOUS_WINNER: 2 -}; - -/** - * optional FinishedVoteOutcome finished_vote_outcome = 1; - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} + * optional uint64 credits = 1; + * @return {number} */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getCredits = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setCredits = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value); }; /** - * optional bytes won_by_identity_id = 2; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearCredits = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], undefined); }; /** - * optional bytes won_by_identity_id = 2; - * This is a type-conversion wrapper around `getWonByIdentityId()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasCredits = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * 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} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.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 {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) { - return jspb.Message.setField(this, 2, value); + * @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 field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -30083,90 +39669,110 @@ 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() { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional uint64 finished_at_block_height = 3; - * @return {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); + * @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); }; /** - * optional uint32 finished_at_core_block_height = 4; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {number} 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.setFinishedAtCoreBlockHeight = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional uint64 finished_at_block_time_ms = 5; - * @return {number} + * optional GetTotalCreditsInPlatformResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); + * @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); }; /** - * optional uint32 finished_at_epoch = 6; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this */ -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.GetTotalCreditsInPlatformResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {number} 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.setFinishedAtEpoch = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.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])); +}; @@ -30183,8 +39789,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.GetPathElementsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject(opt_includeInstance, this); }; @@ -30193,17 +39799,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.GetPathElementsRequest} 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.GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -30217,23 +39819,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.GetPathElementsRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -30241,22 +39843,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.GetPathElementsRequest.GetPathElementsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -30271,9 +39860,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.GetPathElementsRequest.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.GetPathElementsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -30281,192 +39870,30 @@ 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.GetPathElementsRequest} 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.GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.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); -}; - - -/** - * @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.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); -}; - - -/** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() { - return this.setContendersList([]); -}; - - -/** - * 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)); -}; - - -/** - * @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.setAbstainVoteTally = function(value) { - return jspb.Message.setField(this, 2, 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.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); -}; - - -/** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() { - return this.setFinishedVoteInfo(undefined); -}; - /** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() { - return jspb.Message.getField(this, 4) != null; -}; - - +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.repeatedFields_ = [1,2]; @@ -30483,8 +39910,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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject(opt_includeInstance, this); }; @@ -30493,15 +39920,15 @@ 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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identifier: msg.getIdentifier_asB64(), - voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0), - document: msg.getDocument_asB64() + pathList: msg.getPathList_asB64(), + keysList: msg.getKeysList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -30515,23 +39942,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.GetPathElementsRequest.GetPathElementsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -30540,15 +39967,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentifier(value); + msg.addPath(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setVoteCount(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addKeys(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocument(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -30563,9 +39990,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.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -30573,29 +40000,29 @@ 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.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentifier_asU8(); + f = message.getPathList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = /** @type {number} */ (jspb.Message.getField(message, 2)); - if (f != null) { - writer.writeUint32( + f = message.getKeysList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 2, f ); } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3)); - if (f != null) { - writer.writeBytes( + f = message.getProve(); + if (f) { + writer.writeBool( 3, f ); @@ -30604,278 +40031,169 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest /** - * optional bytes identifier = 1; - * @return {string} + * repeated bytes path = 1; + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes identifier = 1; - * This is a type-conversion wrapper around `getIdentifier()` - * @return {string} + * repeated bytes path = 1; + * This is a type-conversion wrapper around `getPathList()` + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getPathList())); }; /** - * optional bytes identifier = 1; + * 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 `getIdentifier()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentifier())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional uint32 vote_count = 2; - * @return {number} + * This is a type-conversion wrapper around `getPathList()` + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getPathList())); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setPathList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() { - return jspb.Message.setField(this, 2, undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = 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.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() { + return this.setPathList([]); }; /** - * optional bytes document = 3; - * @return {string} + * repeated bytes keys = 2; + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2)); }; /** - * optional bytes document = 3; - * This is a type-conversion wrapper around `getDocument()` - * @return {string} + * repeated bytes keys = 2; + * This is a type-conversion wrapper around `getKeysList()` + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getKeysList())); }; /** - * optional bytes document = 3; + * 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 `getDocument()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocument())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) { - return jspb.Message.setField(this, 3, value); -}; - - -/** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() { - return jspb.Message.setField(this, 3, undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() { - return jspb.Message.getField(this, 3) != null; -}; - - -/** - * optional ContestedResourceContenders contested_resource_contenders = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} - */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} 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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this + * This is a type-conversion wrapper around `getKeysList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() { - return this.setContestedResourceContenders(undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getKeysList())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setKeysList = function(value) { + return jspb.Message.setField(this, 2, value || []); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * @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.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)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addKeys = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 2, value, opt_index); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() { + return this.setKeysList([]); }; /** - * Returns whether this field is set. + * optional bool prove = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.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)); -}; - - -/** - * @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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional GetContestedResourceVoteStateResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + * optional GetPathElementsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ -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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this + * @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.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.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.GetContestedResourceVoteStateResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -30884,7 +40202,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.GetPathElementsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -30898,21 +40216,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.GetPathElementsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.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])); }; @@ -30930,8 +40248,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.GetPathElementsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject(opt_includeInstance, this); }; @@ -30940,13 +40258,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.GetPathElementsResponse} 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.GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -30960,23 +40278,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.GetPathElementsResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityRequest} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -30984,8 +40302,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.GetPathElementsResponse.GetPathElementsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -31001,9 +40319,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.GetPathElementsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31011,18 +40329,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.GetPathElementsResponse} 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.GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter ); } }; @@ -31030,11 +40348,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.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])); +}; @@ -31051,8 +40388,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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(opt_includeInstance, this); }; @@ -31061,21 +40398,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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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) + 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) { @@ -31089,23 +40420,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.GetPathElementsResponse.GetPathElementsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31113,41 +40444,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader); + msg.setElements(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(); @@ -31162,9 +40471,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.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31172,80 +40481,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.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getElements(); + 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -31261,8 +40537,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(opt_includeInstance, this); }; @@ -31271,14 +40547,13 @@ 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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) { var f, obj = { - startIdentifier: msg.getStartIdentifier_asB64(), - startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + elementsList: msg.getElementsList_asB64() }; if (includeInstance) { @@ -31292,23 +40567,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31317,11 +40592,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartIdentifier(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartIdentifierIncluded(value); + msg.addElements(value); break; default: reader.skipField(); @@ -31336,9 +40607,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31346,403 +40617,495 @@ 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartIdentifier_asU8(); + f = message.getElementsList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = message.getStartIdentifierIncluded(); - if (f) { - writer.writeBool( - 2, - f - ); - } }; /** - * optional bytes start_identifier = 1; - * @return {string} + * repeated bytes elements = 1; + * @return {!Array} */ -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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes start_identifier = 1; - * This is a type-conversion wrapper around `getStartIdentifier()` - * @return {string} + * repeated bytes elements = 1; + * This is a type-conversion wrapper around `getElementsList()` + * @return {!Array} */ -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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getElementsList())); }; /** - * optional bytes start_identifier = 1; + * 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 `getStartIdentifier()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getElementsList()` + * @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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getElementsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this */ -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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional bool start_identifier_included = 2; - * @return {boolean} + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() { + return this.setElementsList([]); }; /** - * optional bytes contract_id = 1; - * @return {string} + * optional Elements elements = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ -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.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)); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + * @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); }; /** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() { + return this.setElements(undefined); }; /** - * @param {!(string|Uint8Array)} 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.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional string document_type_name = 2; - * @return {string} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.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 {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); + * @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); }; /** - * optional string index_name = 3; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this */ -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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * @param {string} 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.setIndexName = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * repeated bytes index_values = 4; - * @return {!Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -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.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)); }; /** - * 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())); + * @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); }; /** - * 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} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this */ -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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {!(Array|Array)} 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.setIndexValuesList = function(value) { - return jspb.Message.setField(this, 4, value || []); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this + * optional GetPathElementsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ -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.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)); }; /** - * 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([]); + * @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); }; /** - * optional bytes contestant_id = 5; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes contestant_id = 5; - * This is a type-conversion wrapper around `getContestantId()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -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.GetPathElementsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * 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} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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.prototype.getContestantId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContestantId())); -}; +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 +}; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this + * @return {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase} */ -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.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) { /** - * optional StartAtIdentifierInfo start_at_identifier_info = 6; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.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.GetStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject(opt_includeInstance, this); }; /** - * @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); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance 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; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() { - return this.setStartAtIdentifierInfo(undefined); +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); }; /** - * 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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() { - return jspb.Message.getField(this, 6) != null; +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; }; /** - * optional uint32 count = 7; - * @return {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -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.GetStatusRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetStatusRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setCount = function(value) { - return jspb.Message.setField(this, 7, value); +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) { /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() { - return jspb.Message.setField(this, 7, undefined); +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); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() { - return jspb.Message.getField(this, 7) != null; +proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bool order_ascending = 8; - * @return {boolean} + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getOrderAscending = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +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); }; /** - * @param {boolean} 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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +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; }; /** - * optional bool prove = 9; - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -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.GetStatusRequest.GetStatusRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetStatusRequest.GetStatusRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -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.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; /** - * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} + * optional GetStatusRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} */ -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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this + * @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.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.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.GetContestedResourceVotersForIdentityRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -31751,7 +41114,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.GetStatusRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -31765,21 +41128,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.GetStatusResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetStatusResponse.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.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])); }; @@ -31797,8 +41160,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.GetStatusResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject(opt_includeInstance, this); }; @@ -31807,13 +41170,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.GetStatusResponse} 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.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -31827,23 +41190,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.GetStatusResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityResponse; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityResponse} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31851,8 +41214,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.GetStatusResponse.GetStatusResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -31868,9 +41231,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.GetStatusResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31878,50 +41241,24 @@ 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.GetStatusResponse} 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.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.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.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])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -31937,8 +41274,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.GetStatusResponse.GetStatusResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject(opt_includeInstance, this); }; @@ -31947,15 +41284,18 @@ 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.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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) + 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) { @@ -31969,23 +41309,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.GetStatusResponse.GetStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31993,19 +41333,34 @@ 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 = 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.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + 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.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + 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(); @@ -32020,9 +41375,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.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32030,47 +41385,64 @@ 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.GetStatusResponse.GetStatusResponseV0} 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.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceVoters(); + f = message.getVersion(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter ); } - f = message.getProof(); + f = message.getNode(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getChain(); if (f != null) { writer.writeMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + 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 ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -32086,8 +41458,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.GetStatusResponse.GetStatusResponseV0.Version.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(opt_includeInstance, this); }; @@ -32096,14 +41468,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.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject = function(includeInstance, msg) { var f, obj = { - votersList: msg.getVotersList_asB64(), - finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + 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) { @@ -32117,23 +41489,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.GetStatusResponse.GetStatusResponseV0.Version} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32141,12 +41513,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addVoters(value); + 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 = /** @type {boolean} */ (reader.readBool()); - msg.setFinishedResults(value); + 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(); @@ -32161,9 +41535,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.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32171,281 +41545,31 @@ 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.GetStatusResponse.GetStatusResponseV0.Version} 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.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotersList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getSoftware(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter ); } - f = message.getFinishedResults(); - if (f) { - writer.writeBool( + f = message.getProtocol(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter ); } }; -/** - * 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.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)); -}; - - -/** - * @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); -}; - - -/** - * 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.clearMetadata = function() { - return this.setMetadata(undefined); -}; - - -/** - * 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; -}; - - -/** - * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} - */ -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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} 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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.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.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.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])); -}; @@ -32462,8 +41586,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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(opt_includeInstance, this); }; @@ -32472,13 +41596,15 @@ 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.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.GetContestedResourceIdentityVotesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f) + dapi: jspb.Message.getFieldWithDefault(msg, 1, ""), + drive: jspb.Message.getFieldWithDefault(msg, 2, ""), + tenderdash: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -32492,23 +41618,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.GetStatusResponse.GetStatusResponseV0.Version.Software} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesRequest} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32516,9 +41642,16 @@ 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); - msg.setV0(value); + 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(); @@ -32533,9 +41666,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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32543,23 +41676,126 @@ 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.GetStatusResponse.GetStatusResponseV0.Version.Software} 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.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDapi(); + if (f.length > 0) { + writer.writeString( 1, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter + 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; +}; + + @@ -32576,8 +41812,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(opt_includeInstance, this); }; @@ -32586,18 +41822,14 @@ 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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) + 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) { @@ -32611,23 +41843,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32635,31 +41867,14 @@ 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.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 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); + 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(); @@ -32674,9 +41889,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32684,55 +41899,26 @@ 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); + f = message.getTenderdash(); if (f != null) { writer.writeMessage( - 3, + 1, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOrderAscending(); - if (f) { - writer.writeBool( - 4, - f + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter ); } - f = message.getStartAtVotePollIdInfo(); + f = message.getDrive(); if (f != null) { writer.writeMessage( - 5, + 2, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter ); } }; @@ -32754,8 +41940,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.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); }; @@ -32764,14 +41950,14 @@ 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject = function(includeInstance, msg) { var f, obj = { - startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(), - startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + p2p: jspb.Message.getFieldWithDefault(msg, 1, 0), + block: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -32785,23 +41971,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32809,12 +41995,12 @@ 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 {number} */ (reader.readUint32()); + msg.setP2p(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartPollIdentifierIncluded(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setBlock(value); break; default: reader.skipField(); @@ -32829,9 +42015,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32839,22 +42025,22 @@ 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartAtPollIdentifier_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getP2p(); + if (f !== 0) { + writer.writeUint32( 1, f ); } - f = message.getStartPollIdentifierIncluded(); - if (f) { - writer.writeBool( + f = message.getBlock(); + if (f !== 0) { + writer.writeUint32( 2, f ); @@ -32863,169 +42049,226 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont /** - * optional bytes start_at_poll_identifier = 1; - * @return {string} + * optional uint32 p2p = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getP2p = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes start_at_poll_identifier = 1; - * This is a type-conversion wrapper around `getStartAtPollIdentifier()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAtPollIdentifier())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setP2p = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * 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} + * optional uint32 block = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAtPollIdentifier())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getBlock = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setBlock = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bool start_poll_identifier_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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartPollIdentifierIncluded = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +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); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +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; }; +} /** - * optional bytes identity_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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ -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.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); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +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; }; /** - * 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()` + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); +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(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +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 google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * optional uint32 latest = 3; + * @return {number} */ -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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getLatest = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * @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); + * @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); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * optional uint32 current = 4; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getCurrent = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setCurrent = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * optional Tenderdash tenderdash = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ -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)); +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.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearTenderdash = function() { + return this.setTenderdash(undefined); }; @@ -33033,54 +42276,36 @@ 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.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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasTenderdash = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional StartAtVotePollIdInfo start_at_vote_poll_id_info = 5; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} + * optional Drive drive = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ -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)); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setStartAtVotePollIdInfo = function(value) { - return jspb.Message.setWrapperField(this, 5, value); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() { - return this.setStartAtVotePollIdInfo(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearDrive = function() { + return this.setDrive(undefined); }; @@ -33088,54 +42313,36 @@ 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.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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasDrive = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} + * optional Software software = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ -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)); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this + * @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.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.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.GetContestedResourceIdentityVotesRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearSoftware = function() { + return this.setSoftware(undefined); }; @@ -33143,179 +42350,51 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasSoftware = 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.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])); -}; - - - -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.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.GetContestedResourceIdentityVotesResponse} 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) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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} - */ -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.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.GetContestedResourceIdentityVotesResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} + * optional Protocol protocol = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +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)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); + * @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); }; /** - * 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 {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * 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.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearProtocol = function() { + return this.setProtocol(undefined); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.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} + * Returns whether this field is set. + * @return {boolean} */ -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])); +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. @@ -33329,8 +42408,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * 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.GetStatusResponse.GetStatusResponseV0.Time.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(opt_includeInstance, this); }; @@ -33339,15 +42418,16 @@ 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} msg The msg instance to transform. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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) + 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) { @@ -33361,23 +42441,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} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -33385,19 +42465,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon 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); + var value = /** @type {number} */ (reader.readUint64()); + msg.setLocal(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBlock(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.setGenesis(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); break; default: reader.skipField(); @@ -33412,9 +42493,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.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -33422,226 +42503,166 @@ 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} message + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotes(); - if (f != null) { - writer.writeMessage( + f = message.getLocal(); + if (f !== 0) { + writer.writeUint64( 1, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter + f ); } - f = message.getProof(); + f = /** @type {number} */ (jspb.Message.getField(message, 2)); if (f != null) { - writer.writeMessage( + writer.writeUint64( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); + f = /** @type {number} */ (jspb.Message.getField(message, 3)); if (f != null) { - writer.writeMessage( + writer.writeUint64( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 4)); + if (f != null) { + writer.writeUint32( + 4, + f ); } }; - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * optional uint64 local = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.repeatedFields_ = [1]; - +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getLocal = 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.GetStatusResponse.GetStatusResponseV0.Time} 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.GetStatusResponse.GetStatusResponseV0.Time.prototype.setLocal = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional uint64 block = 2; + * @return {number} */ -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) - }; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getBlock = 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.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); }; -} /** - * 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} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearBlock = function() { + return jspb.Message.setField(this, 2, undefined); }; /** - * 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} + * Returns whether this field is set. + * @return {boolean} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasBlock = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional uint64 genesis = 3; + * @return {number} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.getGenesis = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.setGenesis = function(value) { + return jspb.Message.setField(this, 3, value); }; /** - * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1; - * @return {!Array} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearGenesis = function() { + return jspb.Message.setField(this, 3, undefined); }; /** - * @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); + * 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; }; /** - * @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} + * optional uint32 epoch = 4; + * @return {number} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() { - return this.setContestedResourceIdentityVotesList([]); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setEpoch = function(value) { + return jspb.Message.setField(this, 4, value); }; /** - * optional bool finished_results = 2; - * @return {boolean} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getFinishedResults = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearEpoch = function() { + return jspb.Message.setField(this, 4, undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasEpoch = function() { + return jspb.Message.getField(this, 4) != null; }; @@ -33661,8 +42682,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.GetStatusResponse.GetStatusResponseV0.Node.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(opt_includeInstance, this); }; @@ -33671,14 +42692,14 @@ 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.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject = function(includeInstance, msg) { var f, obj = { - voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0), - identityId: msg.getIdentityId_asB64() + id: msg.getId_asB64(), + proTxHash: msg.getProTxHash_asB64() }; if (includeInstance) { @@ -33692,23 +42713,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.GetStatusResponse.GetStatusResponseV0.Node} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -33716,12 +42737,12 @@ 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.setId(value); break; case 2: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); + msg.setProTxHash(value); break; default: reader.skipField(); @@ -33736,9 +42757,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.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -33746,15 +42767,15 @@ 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.GetStatusResponse.GetStatusResponseV0.Node} 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.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVoteChoiceType(); - if (f !== 0.0) { - writer.writeEnum( + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); @@ -33770,79 +42791,94 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon /** - * @enum {number} + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType = { - TOWARDS_IDENTITY: 0, - ABSTAIN: 1, - LOCK: 2 +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; + /** - * optional VoteChoiceType vote_choice_type = 1; - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * @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 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) { - return jspb.Message.setProto3EnumField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * optional bytes identity_id = 2; + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * optional bytes identity_id = 2; - * This is a type-conversion wrapper around `getIdentityId()` + * optional bytes pro_tx_hash = 2; + * This is a type-conversion wrapper around `getProTxHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); + this.getProTxHash())); }; /** - * optional bytes identity_id = 2; + * 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 `getIdentityId()` + * This is a type-conversion wrapper around `getProTxHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); + this.getProTxHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) { +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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.clearProTxHash = function() { return jspb.Message.setField(this, 2, undefined); }; @@ -33851,19 +42887,12 @@ 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.hasProTxHash = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -33879,8 +42908,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(opt_includeInstance, this); }; @@ -33889,16 +42918,21 @@ 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.ContestedResourceIdentityVote} msg The msg instance to transform. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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) + 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) { @@ -33912,23 +42946,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.ContestedResourceIdentityVote} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -33936,21 +42970,40 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setCatchingUp(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentTypeName(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setLatestBlockHash(value); break; case 3: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addSerializedIndexStorageValues(value); + msg.setLatestAppHash(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); + var value = /** @type {number} */ (reader.readUint64()); + 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 {number} */ (reader.readUint64()); + msg.setEarliestBlockHeight(value); + break; + case 9: + var value = /** @type {number} */ (reader.readUint64()); + msg.setMaxPeerBlockHeight(value); + break; + case 10: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreChainLockedHeight(value); break; default: reader.skipField(); @@ -33965,9 +43018,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.ContestedResourceIdentityVote.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -33975,378 +43028,357 @@ 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.ContestedResourceIdentityVote} message + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getCatchingUp(); + if (f) { + writer.writeBool( 1, f ); } - f = message.getDocumentTypeName(); + f = message.getLatestBlockHash_asU8(); if (f.length > 0) { - writer.writeString( + writer.writeBytes( 2, f ); } - f = message.getSerializedIndexStorageValuesList_asU8(); + f = message.getLatestAppHash_asU8(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeBytes( 3, f ); } - f = message.getVoteChoice(); - if (f != null) { - writer.writeMessage( + f = message.getLatestBlockHeight(); + if (f !== 0) { + writer.writeUint64( 4, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter + 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 (f !== 0) { + writer.writeUint64( + 7, + f + ); + } + f = message.getMaxPeerBlockHeight(); + if (f !== 0) { + writer.writeUint64( + 9, + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 10)); + if (f != null) { + writer.writeUint32( + 10, + f ); } }; /** - * 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} + * optional bool catching_up = 1; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCatchingUp = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCatchingUp = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); }; /** - * optional string document_type_name = 2; + * optional bytes latest_block_hash = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getDocumentTypeName = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash = 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} + * optional bytes latest_block_hash = 2; + * This is a type-conversion wrapper around `getLatestBlockHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getSerializedIndexStorageValuesList())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getLatestBlockHash())); }; /** - * repeated bytes serialized_index_storage_values = 3; + * 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 `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 + * This is a type-conversion wrapper around `getLatestBlockHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() { - return this.setSerializedIndexStorageValuesList([]); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getLatestBlockHash())); }; /** - * optional ResourceVoteChoice vote_choice = 4; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); }; /** - * @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); + * 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, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this + * optional bytes latest_app_hash = 3; + * This is a type-conversion wrapper around `getLatestAppHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() { - return this.setVoteChoice(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getLatestAppHash())); }; /** - * Returns whether this field is set. - * @return {boolean} + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getLatestAppHash())); }; /** - * optional ContestedResourceIdentityVotes votes = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestAppHash = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); }; /** - * @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); + * optional uint64 latest_block_height = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() { - return this.setVotes(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes earliest_block_hash = 5; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes earliest_block_hash = 5; + * This is a type-conversion wrapper around `getEarliestBlockHash()` + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getEarliestBlockHash())); }; /** - * @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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHash = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes earliest_app_hash = 6; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes earliest_app_hash = 6; + * This is a type-conversion wrapper around `getEarliestAppHash()` + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getEarliestAppHash())); }; /** - * @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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestAppHash = function(value) { + return jspb.Message.setProto3BytesField(this, 6, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional uint64 earliest_block_height = 7; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); }; /** - * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 7, value); }; /** - * @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); + * optional uint64 max_peer_block_height = 9; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getMaxPeerBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setMaxPeerBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 9, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional uint32 core_chain_locked_height = 10; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCoreChainLockedHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0)); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCoreChainLockedHeight = function(value) { + return jspb.Message.setField(this, 10, value); +}; + /** - * @enum {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.clearCoreChainLockedHeight = function() { + return jspb.Message.setField(this, 10, undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase} + * Returns whether this field is set. + * @return {boolean} */ -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.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. @@ -34360,8 +43392,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.GetStatusResponse.GetStatusResponseV0.Network.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(opt_includeInstance, this); }; @@ -34370,13 +43402,15 @@ 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.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.GetPrefundedSpecializedBalanceRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(includeInstance, f) + chainId: jspb.Message.getFieldWithDefault(msg, 1, ""), + peersCount: jspb.Message.getFieldWithDefault(msg, 2, 0), + listening: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -34390,23 +43424,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.GetStatusResponse.GetStatusResponseV0.Network} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinary = function(bytes) { +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.GetPrefundedSpecializedBalanceRequest; - return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader(msg, reader); + 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.GetPrefundedSpecializedBalanceRequest} msg The message object to deserialize into. + * @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.GetPrefundedSpecializedBalanceRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -34414,9 +43448,16 @@ 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); - msg.setV0(value); + 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(); @@ -34431,9 +43472,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.GetStatusResponse.GetStatusResponseV0.Network.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -34441,23 +43482,90 @@ 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.GetStatusResponse.GetStatusResponseV0.Network} 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.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getChainId(); + if (f.length > 0) { + writer.writeString( 1, - f, - proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter + 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); +}; + + @@ -34474,8 +43582,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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(opt_includeInstance, this); }; @@ -34484,14 +43592,20 @@ 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.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + 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) { @@ -34505,23 +43619,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.GetStatusResponse.GetStatusResponseV0.StateSync} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinary = function(bytes) { +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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0; - return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The message object to deserialize into. + * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -34529,12 +43643,36 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setTotalSyncedTime(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setRemainingTime(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint32()); + msg.setTotalSnapshots(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setChunkProcessAvgTime(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint64()); + msg.setSnapshotHeight(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint64()); + msg.setSnapshotChunksCount(value); + break; + case 7: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBackfilledBlocks(value); + break; + case 8: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBackfillBlocksTotal(value); break; default: reader.skipField(); @@ -34549,9 +43687,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.GetStatusResponse.GetStatusResponseV0.StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -34559,455 +43697,351 @@ 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.GetStatusResponse.GetStatusResponseV0.StateSync} 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.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getTotalSyncedTime(); + if (f !== 0) { + writer.writeUint64( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getRemainingTime(); + if (f !== 0) { + writer.writeUint64( 2, f ); } + f = message.getTotalSnapshots(); + if (f !== 0) { + writer.writeUint32( + 3, + f + ); + } + f = message.getChunkProcessAvgTime(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getSnapshotHeight(); + if (f !== 0) { + writer.writeUint64( + 5, + f + ); + } + f = message.getSnapshotChunksCount(); + if (f !== 0) { + writer.writeUint64( + 6, + f + ); + } + f = message.getBackfilledBlocks(); + if (f !== 0) { + writer.writeUint64( + 7, + f + ); + } + f = message.getBackfillBlocksTotal(); + if (f !== 0) { + writer.writeUint64( + 8, + 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 + * optional uint64 total_synced_time = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSyncedTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSyncedTime = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this + * optional uint64 remaining_time = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getRemainingTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * optional GetPrefundedSpecializedBalanceRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setRemainingTime = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this + * optional uint32 total_snapshots = 3; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSnapshots = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSnapshots = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.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} + * optional uint64 chunk_process_avg_time = 4; + * @return {number} */ -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])); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getChunkProcessAvgTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setChunkProcessAvgTime = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional uint64 snapshot_height = 5; + * @return {number} */ -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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotHeight = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.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; + * optional uint64 snapshot_chunks_count = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotChunksCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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(); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotChunksCount = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); }; /** - * 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 + * optional uint64 backfilled_blocks = 7; + * @return {number} */ -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 - ); - } +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfilledBlocks = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 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.setBackfilledBlocks = function(value) { + return jspb.Message.setProto3IntField(this, 7, value); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional uint64 backfill_blocks_total = 8; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfillBlocksTotal = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); +}; + /** - * @enum {number} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfillBlocksTotal = function(value) { + return jspb.Message.setProto3IntField(this, 8, value); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} + * optional Version version = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ -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.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); +}; + -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.GetStatusResponse.GetStatusResponseV0} 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.GetStatusResponse.GetStatusResponseV0.prototype.clearVersion = function() { + return this.setVersion(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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.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.GetStatusResponse.GetStatusResponseV0.prototype.hasVersion = function() { + return jspb.Message.getField(this, 1) != null; +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * 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)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} + * @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.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.GetStatusResponse.GetStatusResponseV0.prototype.clearNode = function() { + return this.setNode(undefined); }; /** - * 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} + * Returns whether this field is set. + * @return {boolean} */ -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 {number} */ (reader.readUint64()); - msg.setBalance(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNode = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional Chain chain = 3; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ -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.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)); }; /** - * 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 {?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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = /** @type {number} */ (jspb.Message.getField(message, 1)); - if (f != null) { - writer.writeUint64( - 1, - f - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearChain = function() { + return this.setChain(undefined); }; /** - * optional uint64 balance = 1; - * @return {number} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasChain = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * optional Network network = 4; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ -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.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)); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.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.GetStatusResponse.GetStatusResponseV0} 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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNetwork = function() { + return this.setNetwork(undefined); }; @@ -35015,36 +44049,36 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefun * 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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNetwork = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional StateSync state_sync = 5; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setStateSync = function(value) { + return jspb.Message.setWrapperField(this, 5, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearStateSync = function() { + return this.setStateSync(undefined); }; @@ -35052,36 +44086,36 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefun * 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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasStateSync = function() { + return jspb.Message.getField(this, 5) != null; }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional Time time = 6; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setTime = function(value) { + return jspb.Message.setWrapperField(this, 6, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearTime = function() { + return this.setTime(undefined); }; @@ -35089,35 +44123,35 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefun * 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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasTime = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} + * optional GetStatusResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns 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.GetPrefundedSpecializedBalanceResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0], value); +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); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -35126,7 +44160,7 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -35140,21 +44174,21 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.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.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])); }; @@ -35172,8 +44206,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.GetCurrentQuorumsInfoRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject(opt_includeInstance, this); }; @@ -35182,13 +44216,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.GetCurrentQuorumsInfoRequest} 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.GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -35202,23 +44236,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.GetCurrentQuorumsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest; - return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} 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.GetPathElementsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35226,8 +44260,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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -35243,9 +44277,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.GetCurrentQuorumsInfoRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35253,31 +44287,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.GetCurrentQuorumsInfoRequest} 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.GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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) { @@ -35293,8 +44320,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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(opt_includeInstance, this); }; @@ -35303,15 +44330,13 @@ 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.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - pathList: msg.getPathList_asB64(), - keysList: msg.getKeysList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) + }; if (includeInstance) { @@ -35325,41 +44350,29 @@ 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0; - return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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 {!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; @@ -35373,9 +44386,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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35383,238 +44396,191 @@ 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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} + * optional GetCurrentQuorumsInfoRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ -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.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 {!(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 {?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); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() { - return this.setPathList([]); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * 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} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getKeysList())); -}; - +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_ = [[1]]; /** - * 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} + * @enum {number} */ -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.GetCurrentQuorumsInfoResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this + * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase} */ -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.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])); }; -/** - * @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); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() { - return this.setKeysList([]); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject(opt_includeInstance, this); }; /** - * optional bool prove = 3; - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} 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.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); -}; - +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(includeInstance, f) + }; -/** - * @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); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional GetPathElementsRequestV0 v0 = 1; - * @return {?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.GetCurrentQuorumsInfoResponse} */ -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); +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.GetCurrentQuorumsInfoResponse; + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} 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.GetCurrentQuorumsInfoResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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 + ); + } }; -/** - * @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])); -}; + @@ -35631,8 +44597,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.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(opt_includeInstance, this); }; @@ -35641,13 +44607,15 @@ 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.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.GetPathElementsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(includeInstance, f) + proTxHash: msg.getProTxHash_asB64(), + nodeIp: jspb.Message.getFieldWithDefault(msg, 2, ""), + isBanned: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -35661,23 +44629,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.GetCurrentQuorumsInfoResponse.ValidatorV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse; - return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} 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.GetPathElementsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35685,9 +44653,16 @@ 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); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setProTxHash(value); + break; + case 2: + 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(); @@ -35702,9 +44677,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.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35712,52 +44687,124 @@ 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.GetCurrentQuorumsInfoResponse.ValidatorV0} 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.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getNodeIp(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getIsBanned(); + if (f) { + writer.writeBool( + 3, + f ); } }; +/** + * 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, "")); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 pro_tx_hash = 1; + * This is a type-conversion wrapper around `getProTxHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getProTxHash())); +}; + /** - * @enum {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.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - ELEMENTS: 1, - PROOF: 2 +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); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase} + * optional string node_ip = 2; + * @return {string} */ -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.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) { /** * Creates an object representation of this proto. @@ -35771,8 +44818,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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(opt_includeInstance, this); }; @@ -35781,15 +44828,17 @@ 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.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.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) + 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) { @@ -35803,23 +44852,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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0; - return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetPathElementsResponse.GetPathElementsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35827,19 +44876,21 @@ 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 = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setQuorumHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreHeight(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.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); break; default: reader.skipField(); @@ -35854,9 +44905,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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35864,46 +44915,191 @@ 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getElements(); - if (f != null) { - writer.writeMessage( + f = message.getQuorumHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getCoreHeight(); + if (f !== 0) { + writer.writeUint32( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getMembersList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + 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; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes quorum_hash = 1; + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getQuorumHash())); +}; + + +/** + * 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getQuorumHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint32 core_height = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getCoreHeight = 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} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getThresholdPublicKey())); +}; + + +/** + * 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())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setThresholdPublicKey = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; + + /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_ = [1,3]; @@ -35920,8 +45116,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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(opt_includeInstance, this); }; @@ -35930,13 +45126,18 @@ 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.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - elementsList: msg.getElementsList_asB64() + 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) { @@ -35950,23 +45151,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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.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.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35975,7 +45176,25 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addElements(value); + 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(); @@ -35990,9 +45209,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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -36000,60 +45219,90 @@ 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getElementsList_asU8(); + 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 elements = 1; + * repeated bytes quorum_hashes = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes elements = 1; - * This is a type-conversion wrapper around `getElementsList()` + * repeated bytes quorum_hashes = 1; + * This is a type-conversion wrapper around `getQuorumHashesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getElementsList())); + this.getQuorumHashesList())); }; /** - * repeated bytes elements = 1; + * 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 `getElementsList()` + * This is a type-conversion wrapper around `getQuorumHashesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getElementsList())); + this.getQuorumHashesList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setQuorumHashesList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -36061,120 +45310,168 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addQuorumHashes = 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 + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() { - return this.setElementsList([]); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearQuorumHashesList = function() { + return this.setQuorumHashesList([]); }; /** - * optional Elements elements = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} + * optional bytes current_quorum_hash = 2; + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() { - return this.setElements(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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setCurrentQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * repeated ValidatorSetV0 validator_sets = 3; + * @return {!Array} */ -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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getValidatorSetsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} 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); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setValidatorSetsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +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); }; /** - * 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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearValidatorSetsList = function() { + return this.setValidatorSetsList([]); }; /** - * optional ResponseMetadata metadata = 3; + * optional bytes last_block_proposer = 4; + * @return {string} + */ +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())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setLastBlockProposer = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; + + +/** + * optional ResponseMetadata metadata = 5; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getMetadata = function() { +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, 3)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 5)); }; /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 5, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -36183,35 +45480,35 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV * 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; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 5) != null; }; /** - * optional GetPathElementsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} + * optional GetCurrentQuorumsInfoResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this + * @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.GetPathElementsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0], value); +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); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -36220,7 +45517,7 @@ 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() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index 9c5039270c2..bafa69fcb78 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 @@ -54,6 +54,10 @@ CF_EXTERN_C_BEGIN @class GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo; @class GetContestedResourcesResponse_GetContestedResourcesResponseV0; @class GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues; +@class GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0; +@class GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0; +@class GetCurrentQuorumsInfoResponse_ValidatorSetV0; +@class GetCurrentQuorumsInfoResponse_ValidatorV0; @class GetDataContractHistoryRequest_GetDataContractHistoryRequestV0; @class GetDataContractHistoryResponse_GetDataContractHistoryResponseV0; @class GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory; @@ -71,6 +75,15 @@ CF_EXTERN_C_BEGIN @class GetEpochsInfoResponse_GetEpochsInfoResponseV0; @class GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo; @class GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos; +@class GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0; +@class GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0; +@class GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0; +@class GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks; +@class GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks; +@class GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0; +@class GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0; +@class GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances; +@class GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance; @class GetIdentitiesContractKeysRequest_GetIdentitiesContractKeysRequestV0; @class GetIdentitiesContractKeysResponse_GetIdentitiesContractKeysResponseV0; @class GetIdentitiesContractKeysResponse_GetIdentitiesContractKeysResponseV0_IdentitiesKeys; @@ -112,6 +125,20 @@ CF_EXTERN_C_BEGIN @class GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0; @class GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal; @class GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals; +@class GetStatusRequest_GetStatusRequestV0; +@class GetStatusResponse_GetStatusResponseV0; +@class GetStatusResponse_GetStatusResponseV0_Chain; +@class GetStatusResponse_GetStatusResponseV0_Network; +@class GetStatusResponse_GetStatusResponseV0_Node; +@class GetStatusResponse_GetStatusResponseV0_StateSync; +@class GetStatusResponse_GetStatusResponseV0_Time; +@class GetStatusResponse_GetStatusResponseV0_Version; +@class GetStatusResponse_GetStatusResponseV0_Version_Protocol; +@class GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive; +@class GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash; +@class GetStatusResponse_GetStatusResponseV0_Version_Software; +@class GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0; +@class GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0; @class GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0; @class GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo; @class GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo; @@ -1338,6 +1365,339 @@ GPB_FINAL @interface GetIdentitiesContractKeysResponse_GetIdentitiesContractKeys @end +#pragma mark - GetEvonodesProposedEpochBlocksByIdsRequest + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksByIdsRequest_FieldNumber) { + GetEvonodesProposedEpochBlocksByIdsRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksByIdsRequest_Version_OneOfCase) { + GetEvonodesProposedEpochBlocksByIdsRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetEvonodesProposedEpochBlocksByIdsRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksByIdsRequest : GPBMessage + +@property(nonatomic, readonly) GetEvonodesProposedEpochBlocksByIdsRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetEvonodesProposedEpochBlocksByIdsRequest_ClearVersionOneOfCase(GetEvonodesProposedEpochBlocksByIdsRequest *message); + +#pragma mark - GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0 + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0_FieldNumber) { + GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0_FieldNumber_Epoch = 1, + GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0_FieldNumber_IdsArray = 2, + GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0_FieldNumber_Prove = 3, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0 : GPBMessage + +/** The epoch we are querying for, if none is set, get current epoch */ +@property(nonatomic, readwrite) uint32_t epoch; + +@property(nonatomic, readwrite) BOOL hasEpoch; +/** IDs of the evonodes for which we want to get their proposed blocks */ +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *idsArray; +/** The number of items in @c idsArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger idsArray_Count; + +/** Flag to request a proof as the response */ +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetEvonodesProposedEpochBlocksResponse + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksResponse_FieldNumber) { + GetEvonodesProposedEpochBlocksResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksResponse_Version_OneOfCase) { + GetEvonodesProposedEpochBlocksResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetEvonodesProposedEpochBlocksResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksResponse : GPBMessage + +@property(nonatomic, readonly) GetEvonodesProposedEpochBlocksResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetEvonodesProposedEpochBlocksResponse_ClearVersionOneOfCase(GetEvonodesProposedEpochBlocksResponse *message); + +#pragma mark - GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_FieldNumber) { + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_FieldNumber_EvonodesProposedBlockCountsInfo = 1, + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_FieldNumber_Proof = 2, + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_Result_OneOfCase) { + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_Result_OneOfCase_EvonodesProposedBlockCountsInfo = 1, + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_Result_OneOfCase resultOneOfCase; + +/** The actual result */ +@property(nonatomic, readwrite, strong, null_resettable) GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks *evonodesProposedBlockCountsInfo; + +/** Proof of the keys data, 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 GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_ClearResultOneOfCase(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 *message); + +#pragma mark - GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks_FieldNumber) { + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks_FieldNumber_ProTxHash = 1, + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks_FieldNumber_Count = 2, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *proTxHash; + +@property(nonatomic, readwrite) uint64_t count; + +@end + +#pragma mark - GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks_FieldNumber) { + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks_FieldNumber_EvonodesProposedBlockCountsArray = 1, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *evonodesProposedBlockCountsArray; +/** The number of items in @c evonodesProposedBlockCountsArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger evonodesProposedBlockCountsArray_Count; + +@end + +#pragma mark - GetEvonodesProposedEpochBlocksByRangeRequest + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksByRangeRequest_FieldNumber) { + GetEvonodesProposedEpochBlocksByRangeRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksByRangeRequest_Version_OneOfCase) { + GetEvonodesProposedEpochBlocksByRangeRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetEvonodesProposedEpochBlocksByRangeRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksByRangeRequest : GPBMessage + +@property(nonatomic, readonly) GetEvonodesProposedEpochBlocksByRangeRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetEvonodesProposedEpochBlocksByRangeRequest_ClearVersionOneOfCase(GetEvonodesProposedEpochBlocksByRangeRequest *message); + +#pragma mark - GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber) { + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_Epoch = 1, + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_Limit = 2, + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_StartAfter = 3, + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_StartAt = 4, + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_Prove = 5, +}; + +typedef GPB_ENUM(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_Start_OneOfCase) { + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_Start_OneOfCase_GPBUnsetOneOfCase = 0, + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_Start_OneOfCase_StartAfter = 3, + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_Start_OneOfCase_StartAt = 4, +}; + +GPB_FINAL @interface GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 : GPBMessage + +/** The epoch we are querying for, if none is set, get current epoch */ +@property(nonatomic, readwrite) uint32_t epoch; + +@property(nonatomic, readwrite) BOOL hasEpoch; +/** Maximum number of evonodes proposed epoch blocks to return */ +@property(nonatomic, readwrite) uint32_t limit; + +@property(nonatomic, readwrite) BOOL hasLimit; +@property(nonatomic, readonly) GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_Start_OneOfCase startOneOfCase; + +/** Start retrieval after this document */ +@property(nonatomic, readwrite, copy, null_resettable) NSData *startAfter; + +/** Start retrieval at this document */ +@property(nonatomic, readwrite, copy, null_resettable) NSData *startAt; + +/** Flag to request a proof as the response */ +@property(nonatomic, readwrite) BOOL prove; + +@end + +/** + * Clears whatever value was set for the oneof 'start'. + **/ +void GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_ClearStartOneOfCase(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 *message); + +#pragma mark - GetIdentitiesBalancesRequest + +typedef GPB_ENUM(GetIdentitiesBalancesRequest_FieldNumber) { + GetIdentitiesBalancesRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentitiesBalancesRequest_Version_OneOfCase) { + GetIdentitiesBalancesRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesBalancesRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetIdentitiesBalancesRequest : GPBMessage + +@property(nonatomic, readonly) GetIdentitiesBalancesRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentitiesBalancesRequest_ClearVersionOneOfCase(GetIdentitiesBalancesRequest *message); + +#pragma mark - GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0 + +typedef GPB_ENUM(GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0_FieldNumber) { + GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0_FieldNumber_IdsArray = 1, + GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0 : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *idsArray; +/** The number of items in @c idsArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger idsArray_Count; + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetIdentitiesBalancesResponse + +typedef GPB_ENUM(GetIdentitiesBalancesResponse_FieldNumber) { + GetIdentitiesBalancesResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentitiesBalancesResponse_Version_OneOfCase) { + GetIdentitiesBalancesResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesBalancesResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetIdentitiesBalancesResponse : GPBMessage + +@property(nonatomic, readonly) GetIdentitiesBalancesResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentitiesBalancesResponse_ClearVersionOneOfCase(GetIdentitiesBalancesResponse *message); + +#pragma mark - GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 + +typedef GPB_ENUM(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_FieldNumber) { + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_FieldNumber_IdentitiesBalances = 1, + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_FieldNumber_Proof = 2, + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_Result_OneOfCase) { + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_Result_OneOfCase_IdentitiesBalances = 1, + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances *identitiesBalances; + +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_ClearResultOneOfCase(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 *message); + +#pragma mark - GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance + +typedef GPB_ENUM(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance_FieldNumber) { + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance_FieldNumber_IdentityId = 1, + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance_FieldNumber_Balance = 2, +}; + +GPB_FINAL @interface GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *identityId; + +@property(nonatomic, readwrite) uint64_t balance; + +@property(nonatomic, readwrite) BOOL hasBalance; +@end + +#pragma mark - GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances + +typedef GPB_ENUM(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances_FieldNumber) { + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances_FieldNumber_EntriesArray = 1, +}; + +GPB_FINAL @interface GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *entriesArray; +/** The number of items in @c entriesArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger entriesArray_Count; + +@end + #pragma mark - GetProofsRequest typedef GPB_ENUM(GetProofsRequest_FieldNumber) { @@ -3944,6 +4304,99 @@ GPB_FINAL @interface GetPrefundedSpecializedBalanceResponse_GetPrefundedSpeciali **/ void GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_ClearResultOneOfCase(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *message); +#pragma mark - GetTotalCreditsInPlatformRequest + +typedef GPB_ENUM(GetTotalCreditsInPlatformRequest_FieldNumber) { + GetTotalCreditsInPlatformRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetTotalCreditsInPlatformRequest_Version_OneOfCase) { + GetTotalCreditsInPlatformRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetTotalCreditsInPlatformRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetTotalCreditsInPlatformRequest : GPBMessage + +@property(nonatomic, readonly) GetTotalCreditsInPlatformRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetTotalCreditsInPlatformRequest_ClearVersionOneOfCase(GetTotalCreditsInPlatformRequest *message); + +#pragma mark - GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 + +typedef GPB_ENUM(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0_FieldNumber) { + GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0_FieldNumber_Prove = 1, +}; + +GPB_FINAL @interface GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 : GPBMessage + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetTotalCreditsInPlatformResponse + +typedef GPB_ENUM(GetTotalCreditsInPlatformResponse_FieldNumber) { + GetTotalCreditsInPlatformResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetTotalCreditsInPlatformResponse_Version_OneOfCase) { + GetTotalCreditsInPlatformResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetTotalCreditsInPlatformResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetTotalCreditsInPlatformResponse : GPBMessage + +@property(nonatomic, readonly) GetTotalCreditsInPlatformResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetTotalCreditsInPlatformResponse_ClearVersionOneOfCase(GetTotalCreditsInPlatformResponse *message); + +#pragma mark - GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 + +typedef GPB_ENUM(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber) { + GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Credits = 1, + GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Proof = 2, + GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_Result_OneOfCase) { + GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_Result_OneOfCase_Credits = 1, + GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite) uint64_t credits; + +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_ClearResultOneOfCase(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 *message); + #pragma mark - GetPathElementsRequest typedef GPB_ENUM(GetPathElementsRequest_FieldNumber) { @@ -4061,6 +4514,454 @@ GPB_FINAL @interface GetPathElementsResponse_GetPathElementsResponseV0_Elements @end +#pragma mark - GetStatusRequest + +typedef GPB_ENUM(GetStatusRequest_FieldNumber) { + GetStatusRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetStatusRequest_Version_OneOfCase) { + GetStatusRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetStatusRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetStatusRequest : GPBMessage + +@property(nonatomic, readonly) GetStatusRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusRequest_GetStatusRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetStatusRequest_ClearVersionOneOfCase(GetStatusRequest *message); + +#pragma mark - GetStatusRequest_GetStatusRequestV0 + +GPB_FINAL @interface GetStatusRequest_GetStatusRequestV0 : GPBMessage + +@end + +#pragma mark - GetStatusResponse + +typedef GPB_ENUM(GetStatusResponse_FieldNumber) { + GetStatusResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetStatusResponse_Version_OneOfCase) { + GetStatusResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetStatusResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetStatusResponse : GPBMessage + +@property(nonatomic, readonly) GetStatusResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetStatusResponse_ClearVersionOneOfCase(GetStatusResponse *message); + +#pragma mark - GetStatusResponse_GetStatusResponseV0 + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_FieldNumber_Version = 1, + GetStatusResponse_GetStatusResponseV0_FieldNumber_Node = 2, + GetStatusResponse_GetStatusResponseV0_FieldNumber_Chain = 3, + GetStatusResponse_GetStatusResponseV0_FieldNumber_Network = 4, + GetStatusResponse_GetStatusResponseV0_FieldNumber_StateSync = 5, + GetStatusResponse_GetStatusResponseV0_FieldNumber_Time = 6, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0 : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Version *version; +/** Test to see if @c version has been set. */ +@property(nonatomic, readwrite) BOOL hasVersion; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Node *node; +/** Test to see if @c node has been set. */ +@property(nonatomic, readwrite) BOOL hasNode; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Chain *chain; +/** Test to see if @c chain has been set. */ +@property(nonatomic, readwrite) BOOL hasChain; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Network *network; +/** Test to see if @c network has been set. */ +@property(nonatomic, readwrite) BOOL hasNetwork; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_StateSync *stateSync; +/** Test to see if @c stateSync has been set. */ +@property(nonatomic, readwrite) BOOL hasStateSync; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Time *time; +/** Test to see if @c time has been set. */ +@property(nonatomic, readwrite) BOOL hasTime; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Version_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Software = 1, + GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Protocol = 2, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Version : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Version_Software *software; +/** Test to see if @c software has been set. */ +@property(nonatomic, readwrite) BOOL hasSoftware; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Version_Protocol *protocol; +/** Test to see if @c protocol has been set. */ +@property(nonatomic, readwrite) BOOL hasProtocol; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Software + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Dapi = 1, + GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Drive = 2, + GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Tenderdash = 3, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Version_Software : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSString *dapi; + +/** It will be missing if Drive is not responding */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *drive; +/** Test to see if @c drive has been set. */ +@property(nonatomic, readwrite) BOOL hasDrive; + +/** It will be missing if Tenderdash is not responding */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *tenderdash; +/** Test to see if @c tenderdash has been set. */ +@property(nonatomic, readwrite) BOOL hasTenderdash; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Version_Protocol_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Version_Protocol_FieldNumber_Tenderdash = 1, + GetStatusResponse_GetStatusResponseV0_Version_Protocol_FieldNumber_Drive = 2, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Version_Protocol : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash *tenderdash; +/** Test to see if @c tenderdash has been set. */ +@property(nonatomic, readwrite) BOOL hasTenderdash; + +@property(nonatomic, readwrite, strong, null_resettable) GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive *drive; +/** Test to see if @c drive has been set. */ +@property(nonatomic, readwrite) BOOL hasDrive; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash_FieldNumber_P2P = 1, + GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash_FieldNumber_Block = 2, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash : GPBMessage + +@property(nonatomic, readwrite) uint32_t p2P; + +@property(nonatomic, readwrite) uint32_t block; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Latest = 3, + GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Current = 4, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive : GPBMessage + +@property(nonatomic, readwrite) uint32_t latest; + +@property(nonatomic, readwrite) uint32_t current; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Time + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Time_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Local = 1, + GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Block = 2, + GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Genesis = 3, + GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Epoch = 4, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Time : GPBMessage + +@property(nonatomic, readwrite) uint64_t local; + +/** It will be missing if Drive is not responding */ +@property(nonatomic, readwrite) uint64_t block; + +@property(nonatomic, readwrite) BOOL hasBlock; +/** It will be missing if Drive is not responding */ +@property(nonatomic, readwrite) uint64_t genesis; + +@property(nonatomic, readwrite) BOOL hasGenesis; +/** It will be missing if Drive is not responding */ +@property(nonatomic, readwrite) uint32_t epoch; + +@property(nonatomic, readwrite) BOOL hasEpoch; +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Node + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Node_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Node_FieldNumber_Id_p = 1, + GetStatusResponse_GetStatusResponseV0_Node_FieldNumber_ProTxHash = 2, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Node : GPBMessage + +/** Platform node ID */ +@property(nonatomic, readwrite, copy, null_resettable) NSData *id_p; + +/** Evo masternode pro tx hash. It will be absent if the node is a fullnode */ +@property(nonatomic, readwrite, copy, null_resettable) NSData *proTxHash; +/** Test to see if @c proTxHash has been set. */ +@property(nonatomic, readwrite) BOOL hasProTxHash; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Chain + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_CatchingUp = 1, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestBlockHash = 2, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestAppHash = 3, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestBlockHeight = 4, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestBlockHash = 5, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestAppHash = 6, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestBlockHeight = 7, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_MaxPeerBlockHeight = 9, + GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_CoreChainLockedHeight = 10, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Chain : GPBMessage + +@property(nonatomic, readwrite) BOOL catchingUp; + +@property(nonatomic, readwrite, copy, null_resettable) NSData *latestBlockHash; + +@property(nonatomic, readwrite, copy, null_resettable) NSData *latestAppHash; + +@property(nonatomic, readwrite) uint64_t latestBlockHeight; + +@property(nonatomic, readwrite, copy, null_resettable) NSData *earliestBlockHash; + +@property(nonatomic, readwrite, copy, null_resettable) NSData *earliestAppHash; + +@property(nonatomic, readwrite) uint64_t earliestBlockHeight; + +@property(nonatomic, readwrite) uint64_t maxPeerBlockHeight; + +/** + * Latest known core height in consensus. + * It will be missing if Drive is not responding + **/ +@property(nonatomic, readwrite) uint32_t coreChainLockedHeight; + +@property(nonatomic, readwrite) BOOL hasCoreChainLockedHeight; +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_Network + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_Network_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_ChainId = 1, + GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_PeersCount = 2, + GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_Listening = 3, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_Network : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSString *chainId; + +@property(nonatomic, readwrite) uint32_t peersCount; + +@property(nonatomic, readwrite) BOOL listening; + +@end + +#pragma mark - GetStatusResponse_GetStatusResponseV0_StateSync + +typedef GPB_ENUM(GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber) { + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_TotalSyncedTime = 1, + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_RemainingTime = 2, + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_TotalSnapshots = 3, + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_ChunkProcessAvgTime = 4, + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_SnapshotHeight = 5, + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_SnapshotChunksCount = 6, + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_BackfilledBlocks = 7, + GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_BackfillBlocksTotal = 8, +}; + +GPB_FINAL @interface GetStatusResponse_GetStatusResponseV0_StateSync : GPBMessage + +@property(nonatomic, readwrite) uint64_t totalSyncedTime; + +@property(nonatomic, readwrite) uint64_t remainingTime; + +@property(nonatomic, readwrite) uint32_t totalSnapshots; + +@property(nonatomic, readwrite) uint64_t chunkProcessAvgTime; + +@property(nonatomic, readwrite) uint64_t snapshotHeight; + +@property(nonatomic, readwrite) uint64_t snapshotChunksCount; + +@property(nonatomic, readwrite) uint64_t backfilledBlocks; + +@property(nonatomic, readwrite) uint64_t backfillBlocksTotal; + +@end + +#pragma mark - GetCurrentQuorumsInfoRequest + +typedef GPB_ENUM(GetCurrentQuorumsInfoRequest_FieldNumber) { + GetCurrentQuorumsInfoRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetCurrentQuorumsInfoRequest_Version_OneOfCase) { + GetCurrentQuorumsInfoRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetCurrentQuorumsInfoRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetCurrentQuorumsInfoRequest : GPBMessage + +@property(nonatomic, readonly) GetCurrentQuorumsInfoRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetCurrentQuorumsInfoRequest_ClearVersionOneOfCase(GetCurrentQuorumsInfoRequest *message); + +#pragma mark - GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 + +GPB_FINAL @interface GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 : GPBMessage + +@end + +#pragma mark - GetCurrentQuorumsInfoResponse + +typedef GPB_ENUM(GetCurrentQuorumsInfoResponse_FieldNumber) { + GetCurrentQuorumsInfoResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetCurrentQuorumsInfoResponse_Version_OneOfCase) { + GetCurrentQuorumsInfoResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetCurrentQuorumsInfoResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetCurrentQuorumsInfoResponse : GPBMessage + +@property(nonatomic, readonly) GetCurrentQuorumsInfoResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetCurrentQuorumsInfoResponse_ClearVersionOneOfCase(GetCurrentQuorumsInfoResponse *message); + +#pragma mark - GetCurrentQuorumsInfoResponse_ValidatorV0 + +typedef GPB_ENUM(GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber) { + GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_ProTxHash = 1, + GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_NodeIp = 2, + GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_IsBanned = 3, +}; + +GPB_FINAL @interface GetCurrentQuorumsInfoResponse_ValidatorV0 : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *proTxHash; + +@property(nonatomic, readwrite, copy, null_resettable) NSString *nodeIp; + +@property(nonatomic, readwrite) BOOL isBanned; + +@end + +#pragma mark - GetCurrentQuorumsInfoResponse_ValidatorSetV0 + +typedef GPB_ENUM(GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber) { + GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_QuorumHash = 1, + GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_CoreHeight = 2, + GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_MembersArray = 3, + GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_ThresholdPublicKey = 4, +}; + +GPB_FINAL @interface GetCurrentQuorumsInfoResponse_ValidatorSetV0 : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *quorumHash; + +@property(nonatomic, readwrite) uint32_t coreHeight; + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *membersArray; +/** The number of items in @c membersArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger membersArray_Count; + +@property(nonatomic, readwrite, copy, null_resettable) NSData *thresholdPublicKey; + +@end + +#pragma mark - GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 + +typedef GPB_ENUM(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber) { + GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_QuorumHashesArray = 1, + GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_CurrentQuorumHash = 2, + GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_ValidatorSetsArray = 3, + GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_LastBlockProposer = 4, + GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_Metadata = 5, +}; + +GPB_FINAL @interface GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *quorumHashesArray; +/** The number of items in @c quorumHashesArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger quorumHashesArray_Count; + +@property(nonatomic, readwrite, copy, null_resettable) NSData *currentQuorumHash; + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *validatorSetsArray; +/** The number of items in @c validatorSetsArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger validatorSetsArray_Count; + +@property(nonatomic, readwrite, copy, null_resettable) NSData *lastBlockProposer; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + NS_ASSUME_NONNULL_END CF_EXTERN_C_END diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m index a9c0cf03622..e0bff0f273a 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 @@ -64,6 +64,12 @@ GPBObjCClassDeclaration(GetContestedResourcesResponse); GPBObjCClassDeclaration(GetContestedResourcesResponse_GetContestedResourcesResponseV0); GPBObjCClassDeclaration(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues); +GPBObjCClassDeclaration(GetCurrentQuorumsInfoRequest); +GPBObjCClassDeclaration(GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0); +GPBObjCClassDeclaration(GetCurrentQuorumsInfoResponse); +GPBObjCClassDeclaration(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0); +GPBObjCClassDeclaration(GetCurrentQuorumsInfoResponse_ValidatorSetV0); +GPBObjCClassDeclaration(GetCurrentQuorumsInfoResponse_ValidatorV0); GPBObjCClassDeclaration(GetDataContractHistoryRequest); GPBObjCClassDeclaration(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0); GPBObjCClassDeclaration(GetDataContractHistoryResponse); @@ -91,6 +97,20 @@ GPBObjCClassDeclaration(GetEpochsInfoResponse_GetEpochsInfoResponseV0); GPBObjCClassDeclaration(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo); GPBObjCClassDeclaration(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksByIdsRequest); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksByRangeRequest); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksResponse); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks); +GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks); +GPBObjCClassDeclaration(GetIdentitiesBalancesRequest); +GPBObjCClassDeclaration(GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0); +GPBObjCClassDeclaration(GetIdentitiesBalancesResponse); +GPBObjCClassDeclaration(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0); +GPBObjCClassDeclaration(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances); +GPBObjCClassDeclaration(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance); GPBObjCClassDeclaration(GetIdentitiesContractKeysRequest); GPBObjCClassDeclaration(GetIdentitiesContractKeysRequest_GetIdentitiesContractKeysRequestV0); GPBObjCClassDeclaration(GetIdentitiesContractKeysResponse); @@ -158,6 +178,24 @@ GPBObjCClassDeclaration(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0); GPBObjCClassDeclaration(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal); GPBObjCClassDeclaration(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals); +GPBObjCClassDeclaration(GetStatusRequest); +GPBObjCClassDeclaration(GetStatusRequest_GetStatusRequestV0); +GPBObjCClassDeclaration(GetStatusResponse); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Chain); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Network); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Node); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_StateSync); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Time); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version_Protocol); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash); +GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version_Software); +GPBObjCClassDeclaration(GetTotalCreditsInPlatformRequest); +GPBObjCClassDeclaration(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0); +GPBObjCClassDeclaration(GetTotalCreditsInPlatformResponse); +GPBObjCClassDeclaration(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0); GPBObjCClassDeclaration(GetVotePollsByEndDateRequest); GPBObjCClassDeclaration(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0); GPBObjCClassDeclaration(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo); @@ -2971,17 +3009,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsRequest +#pragma mark - GetEvonodesProposedEpochBlocksByIdsRequest -@implementation GetProofsRequest +@implementation GetEvonodesProposedEpochBlocksByIdsRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetProofsRequest__storage_ { +typedef struct GetEvonodesProposedEpochBlocksByIdsRequest__storage_ { uint32_t _has_storage_[2]; - GetProofsRequest_GetProofsRequestV0 *v0; -} GetProofsRequest__storage_; + GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0 *v0; +} GetEvonodesProposedEpochBlocksByIdsRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2991,21 +3029,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0), - .number = GetProofsRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0), + .number = GetEvonodesProposedEpochBlocksByIdsRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProofsRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByIdsRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksByIdsRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest__storage_) + storageSize:sizeof(GetEvonodesProposedEpochBlocksByIdsRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -3023,27 +3061,24 @@ + (GPBDescriptor *)descriptor { @end -void GetProofsRequest_ClearVersionOneOfCase(GetProofsRequest *message) { - GPBDescriptor *descriptor = [GetProofsRequest descriptor]; +void GetEvonodesProposedEpochBlocksByIdsRequest_ClearVersionOneOfCase(GetEvonodesProposedEpochBlocksByIdsRequest *message) { + GPBDescriptor *descriptor = [GetEvonodesProposedEpochBlocksByIdsRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetProofsRequest_GetProofsRequestV0 +#pragma mark - GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0 -@implementation GetProofsRequest_GetProofsRequestV0 +@implementation GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0 -@dynamic identitiesArray, identitiesArray_Count; -@dynamic contractsArray, contractsArray_Count; -@dynamic documentsArray, documentsArray_Count; -@dynamic votesArray, votesArray_Count; +@dynamic hasEpoch, epoch; +@dynamic idsArray, idsArray_Count; +@dynamic prove; -typedef struct GetProofsRequest_GetProofsRequestV0__storage_ { +typedef struct GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *identitiesArray; - NSMutableArray *contractsArray; - NSMutableArray *documentsArray; - NSMutableArray *votesArray; -} GetProofsRequest_GetProofsRequestV0__storage_; + uint32_t epoch; + NSMutableArray *idsArray; +} GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3052,51 +3087,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identitiesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_IdentityRequest), - .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_IdentitiesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, identitiesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - { - .name = "contractsArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_ContractRequest), - .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_ContractsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, contractsArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, + .name = "epoch", + .dataTypeSpecific.clazz = Nil, + .number = GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0_FieldNumber_Epoch, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0__storage_, epoch), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt32, }, { - .name = "documentsArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_DocumentRequest), - .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_DocumentsArray, + .name = "idsArray", + .dataTypeSpecific.clazz = Nil, + .number = GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0_FieldNumber_IdsArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, documentsArray), + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0__storage_, idsArray), .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeBytes, }, { - .name = "votesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest), - .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_VotesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, votesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0_FieldNumber_Prove, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_GetProofsRequestV0__storage_) + storageSize:sizeof(GetEvonodesProposedEpochBlocksByIdsRequest_GetEvonodesProposedEpochBlocksByIdsRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEvonodesProposedEpochBlocksByIdsRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3107,23 +3133,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsRequest_GetProofsRequestV0_DocumentRequest +#pragma mark - GetEvonodesProposedEpochBlocksResponse -@implementation GetProofsRequest_GetProofsRequestV0_DocumentRequest +@implementation GetEvonodesProposedEpochBlocksResponse -@dynamic contractId; -@dynamic documentType; -@dynamic documentTypeKeepsHistory; -@dynamic documentId; -@dynamic documentContestedStatus; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_ { - uint32_t _has_storage_[1]; - GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus documentContestedStatus; - NSData *contractId; - NSString *documentType; - NSData *documentId; -} GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_; +typedef struct GetEvonodesProposedEpochBlocksResponse__storage_ { + uint32_t _has_storage_[2]; + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 *v0; +} GetEvonodesProposedEpochBlocksResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3132,60 +3152,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contractId", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_ContractId, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, contractId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "documentType", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentType, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentType), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, - }, - { - .name = "documentTypeKeepsHistory", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentTypeKeepsHistory, - .hasIndex = 2, - .offset = 3, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, - }, - { - .name = "documentId", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentId, - .hasIndex = 4, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "documentContestedStatus", - .dataTypeSpecific.enumDescFunc = GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_EnumDescriptor, - .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentContestedStatus, - .hasIndex = 5, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentContestedStatus), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeEnum, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0), + .number = GetEvonodesProposedEpochBlocksResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_DocumentRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_) + storageSize:sizeof(GetEvonodesProposedEpochBlocksResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + 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 @@ -3196,67 +3185,26 @@ + (GPBDescriptor *)descriptor { @end -int32_t GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_RawValue(GetProofsRequest_GetProofsRequestV0_DocumentRequest *message) { - GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_DocumentRequest descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentContestedStatus]; - return GPBGetMessageRawEnumField(message, field); -} - -void SetGetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_RawValue(GetProofsRequest_GetProofsRequestV0_DocumentRequest *message, int32_t value) { - GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_DocumentRequest descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentContestedStatus]; - GPBSetMessageRawEnumField(message, field, value); -} - -#pragma mark - Enum GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus - -GPBEnumDescriptor *GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = - "NotContested\000MaybeContested\000Contested\000"; - static const int32_t values[] = { - GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_NotContested, - GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_MaybeContested, - GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_Contested, - }; - GPBEnumDescriptor *worker = - [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus) - valueNames:valueNames - values:values - count:(uint32_t)(sizeof(values) / sizeof(int32_t)) - enumVerifier:GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_IsValidValue]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; - } - } - return descriptor; -} - -BOOL GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_IsValidValue(int32_t value__) { - switch (value__) { - case GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_NotContested: - case GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_MaybeContested: - case GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_Contested: - return YES; - default: - return NO; - } +void GetEvonodesProposedEpochBlocksResponse_ClearVersionOneOfCase(GetEvonodesProposedEpochBlocksResponse *message) { + GPBDescriptor *descriptor = [GetEvonodesProposedEpochBlocksResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); } +#pragma mark - GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 -#pragma mark - GetProofsRequest_GetProofsRequestV0_IdentityRequest - -@implementation GetProofsRequest_GetProofsRequestV0_IdentityRequest +@implementation GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 -@dynamic identityId; -@dynamic requestType; +@dynamic resultOneOfCase; +@dynamic evonodesProposedBlockCountsInfo; +@dynamic proof; +@dynamic hasMetadata, metadata; -typedef struct GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_ { - uint32_t _has_storage_[1]; - GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type requestType; - NSData *identityId; -} GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_; +typedef struct GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks *evonodesProposedBlockCountsInfo; + Proof *proof; + ResponseMetadata *metadata; +} GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3265,33 +3213,48 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identityId", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_IdentityId, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_, identityId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .name = "evonodesProposedBlockCountsInfo", + .dataTypeSpecific.clazz = GPBObjCClass(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks), + .number = GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_FieldNumber_EvonodesProposedBlockCountsInfo, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0__storage_, evonodesProposedBlockCountsInfo), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, { - .name = "requestType", - .dataTypeSpecific.enumDescFunc = GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_EnumDescriptor, - .number = GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_, requestType), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeEnum, + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_IdentityRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_) + storageSize:sizeof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEvonodesProposedEpochBlocksResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3302,67 +3265,78 @@ + (GPBDescriptor *)descriptor { @end -int32_t GetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message) { - GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_IdentityRequest descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType]; - return GPBGetMessageRawEnumField(message, field); +void GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_ClearResultOneOfCase(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 *message) { + GPBDescriptor *descriptor = [GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); } +#pragma mark - GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks -void SetGetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message, int32_t value) { - GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_IdentityRequest descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType]; - GPBSetMessageRawEnumField(message, field, value); -} +@implementation GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks -#pragma mark - Enum GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type +@dynamic proTxHash; +@dynamic count; -GPBEnumDescriptor *GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; +typedef struct GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks__storage_ { + uint32_t _has_storage_[1]; + NSData *proTxHash; + uint64_t count; +} GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; if (!descriptor) { - static const char *valueNames = - "FullIdentity\000Balance\000Keys\000Revision\000"; - static const int32_t values[] = { - GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_FullIdentity, - GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Balance, - GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Keys, - GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Revision, + static GPBMessageFieldDescription fields[] = { + { + .name = "proTxHash", + .dataTypeSpecific.clazz = Nil, + .number = GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks_FieldNumber_ProTxHash, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks__storage_, proTxHash), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "count", + .dataTypeSpecific.clazz = Nil, + .number = GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks_FieldNumber_Count, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks__storage_, count), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, }; - GPBEnumDescriptor *worker = - [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type) - valueNames:valueNames - values:values - count:(uint32_t)(sizeof(values) / sizeof(int32_t)) - enumVerifier:GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_IsValidValue]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; - } + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; } return descriptor; } -BOOL GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_IsValidValue(int32_t value__) { - switch (value__) { - case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_FullIdentity: - case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Balance: - case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Keys: - case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Revision: - return YES; - default: - return NO; - } -} +@end -#pragma mark - GetProofsRequest_GetProofsRequestV0_ContractRequest +#pragma mark - GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks -@implementation GetProofsRequest_GetProofsRequestV0_ContractRequest +@implementation GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks -@dynamic contractId; +@dynamic evonodesProposedBlockCountsArray, evonodesProposedBlockCountsArray_Count; -typedef struct GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_ { +typedef struct GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks__storage_ { uint32_t _has_storage_[1]; - NSData *contractId; -} GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_; + NSMutableArray *evonodesProposedBlockCountsArray; +} GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3371,24 +3345,24 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contractId", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_ContractRequest_FieldNumber_ContractId, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_, contractId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .name = "evonodesProposedBlockCountsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks), + .number = GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks_FieldNumber_EvonodesProposedBlockCountsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks__storage_, evonodesProposedBlockCountsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_ContractRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_) + storageSize:sizeof(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3399,17 +3373,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsRequest_GetProofsRequestV0_VoteStatusRequest +#pragma mark - GetEvonodesProposedEpochBlocksByRangeRequest -@implementation GetProofsRequest_GetProofsRequestV0_VoteStatusRequest +@implementation GetEvonodesProposedEpochBlocksByRangeRequest -@dynamic requestTypeOneOfCase; -@dynamic contestedResourceVoteStatusRequest; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__storage_ { +typedef struct GetEvonodesProposedEpochBlocksByRangeRequest__storage_ { uint32_t _has_storage_[2]; - GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest *contestedResourceVoteStatusRequest; -} GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__storage_; + GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 *v0; +} GetEvonodesProposedEpochBlocksByRangeRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3418,30 +3392,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contestedResourceVoteStatusRequest", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest), - .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_FieldNumber_ContestedResourceVoteStatusRequest, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0), + .number = GetEvonodesProposedEpochBlocksByRangeRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__storage_, contestedResourceVoteStatusRequest), + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByRangeRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_VoteStatusRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksByRangeRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__storage_) + storageSize:sizeof(GetEvonodesProposedEpochBlocksByRangeRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "requestType", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3452,29 +3425,29 @@ + (GPBDescriptor *)descriptor { @end -void GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ClearRequestTypeOneOfCase(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest *message) { - GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_VoteStatusRequest descriptor]; +void GetEvonodesProposedEpochBlocksByRangeRequest_ClearVersionOneOfCase(GetEvonodesProposedEpochBlocksByRangeRequest *message) { + GPBDescriptor *descriptor = [GetEvonodesProposedEpochBlocksByRangeRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest +#pragma mark - GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 -@implementation GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest +@implementation GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 -@dynamic contractId; -@dynamic documentTypeName; -@dynamic indexName; -@dynamic indexValuesArray, indexValuesArray_Count; -@dynamic voterIdentifier; +@dynamic startOneOfCase; +@dynamic hasEpoch, epoch; +@dynamic hasLimit, limit; +@dynamic startAfter; +@dynamic startAt; +@dynamic prove; -typedef struct GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_ { - uint32_t _has_storage_[1]; - NSData *contractId; - NSString *documentTypeName; - NSString *indexName; - NSMutableArray *indexValuesArray; - NSData *voterIdentifier; -} GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_; +typedef struct GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0__storage_ { + uint32_t _has_storage_[2]; + uint32_t epoch; + uint32_t limit; + NSData *startAfter; + NSData *startAt; +} GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3483,60 +3456,66 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contractId", + .name = "epoch", .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_ContractId, + .number = GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_Epoch, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, contractId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0__storage_, epoch), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt32, }, { - .name = "documentTypeName", + .name = "limit", .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_DocumentTypeName, + .number = GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_Limit, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, documentTypeName), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0__storage_, limit), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt32, }, { - .name = "indexName", + .name = "startAfter", .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_IndexName, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, indexName), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, + .number = GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_StartAfter, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0__storage_, startAfter), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, }, { - .name = "indexValuesArray", + .name = "startAt", .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_IndexValuesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, indexValuesArray), - .flags = GPBFieldRepeated, + .number = GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_StartAt, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0__storage_, startAt), + .flags = GPBFieldOptional, .dataType = GPBDataTypeBytes, }, { - .name = "voterIdentifier", + .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_VoterIdentifier, - .hasIndex = 3, - .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, voterIdentifier), + .number = GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_FieldNumber_Prove, + .hasIndex = 2, + .offset = 3, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_) + storageSize:sizeof(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest)]; + static const char *oneofs[] = { + "start", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEvonodesProposedEpochBlocksByRangeRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3547,17 +3526,22 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsResponse +void GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0_ClearStartOneOfCase(GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 *message) { + GPBDescriptor *descriptor = [GetEvonodesProposedEpochBlocksByRangeRequest_GetEvonodesProposedEpochBlocksByRangeRequestV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentitiesBalancesRequest -@implementation GetProofsResponse +@implementation GetIdentitiesBalancesRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetProofsResponse__storage_ { +typedef struct GetIdentitiesBalancesRequest__storage_ { uint32_t _has_storage_[2]; - GetProofsResponse_GetProofsResponseV0 *v0; -} GetProofsResponse__storage_; + GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0 *v0; +} GetIdentitiesBalancesRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3567,21 +3551,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsResponse_GetProofsResponseV0), - .number = GetProofsResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0), + .number = GetIdentitiesBalancesRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProofsResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetIdentitiesBalancesRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesBalancesRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsResponse__storage_) + storageSize:sizeof(GetIdentitiesBalancesRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -3599,24 +3583,22 @@ + (GPBDescriptor *)descriptor { @end -void GetProofsResponse_ClearVersionOneOfCase(GetProofsResponse *message) { - GPBDescriptor *descriptor = [GetProofsResponse descriptor]; +void GetIdentitiesBalancesRequest_ClearVersionOneOfCase(GetIdentitiesBalancesRequest *message) { + GPBDescriptor *descriptor = [GetIdentitiesBalancesRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetProofsResponse_GetProofsResponseV0 +#pragma mark - GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0 -@implementation GetProofsResponse_GetProofsResponseV0 +@implementation GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0 -@dynamic resultOneOfCase; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic idsArray, idsArray_Count; +@dynamic prove; -typedef struct GetProofsResponse_GetProofsResponseV0__storage_ { - uint32_t _has_storage_[2]; - Proof *proof; - ResponseMetadata *metadata; -} GetProofsResponse_GetProofsResponseV0__storage_; +typedef struct GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *idsArray; +} GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3625,39 +3607,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Proof, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .name = "idsArray", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0_FieldNumber_IdsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0__storage_, idsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, }, { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Metadata, + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0_FieldNumber_Prove, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__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:[GetProofsResponse_GetProofsResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsResponse_GetProofsResponseV0__storage_) + storageSize:sizeof(GetIdentitiesBalancesRequest_GetIdentitiesBalancesRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - static const char *oneofs[] = { - "result", - }; - [localDescriptor setupOneofs:oneofs - count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) - firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesBalancesRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3668,135 +3644,17 @@ + (GPBDescriptor *)descriptor { @end -void GetProofsResponse_GetProofsResponseV0_ClearResultOneOfCase(GetProofsResponse_GetProofsResponseV0 *message) { - GPBDescriptor *descriptor = [GetProofsResponse_GetProofsResponseV0 descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetDataContractRequest +#pragma mark - GetIdentitiesBalancesResponse -@implementation GetDataContractRequest +@implementation GetIdentitiesBalancesResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetDataContractRequest__storage_ { +typedef struct GetIdentitiesBalancesResponse__storage_ { uint32_t _has_storage_[2]; - GetDataContractRequest_GetDataContractRequestV0 *v0; -} GetDataContractRequest__storage_; - -// This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractRequest_GetDataContractRequestV0), - .number = GetDataContractRequest_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractRequest__storage_, v0), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractRequest class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractRequest__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - static const char *oneofs[] = { - "version", - }; - [localDescriptor setupOneofs:oneofs - count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) - firstHasIndex:-1]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -void GetDataContractRequest_ClearVersionOneOfCase(GetDataContractRequest *message) { - GPBDescriptor *descriptor = [GetDataContractRequest descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetDataContractRequest_GetDataContractRequestV0 - -@implementation GetDataContractRequest_GetDataContractRequestV0 - -@dynamic id_p; -@dynamic prove; - -typedef struct GetDataContractRequest_GetDataContractRequestV0__storage_ { - uint32_t _has_storage_[1]; - NSData *id_p; -} GetDataContractRequest_GetDataContractRequestV0__storage_; - -// This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "id_p", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Id_p, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractRequest_GetDataContractRequestV0__storage_, id_p), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Prove, - .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, - }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractRequest_GetDataContractRequestV0 class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractRequest_GetDataContractRequestV0__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractRequest)]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -#pragma mark - GetDataContractResponse - -@implementation GetDataContractResponse - -@dynamic versionOneOfCase; -@dynamic v0; - -typedef struct GetDataContractResponse__storage_ { - uint32_t _has_storage_[2]; - GetDataContractResponse_GetDataContractResponseV0 *v0; -} GetDataContractResponse__storage_; + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 *v0; +} GetIdentitiesBalancesResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3806,21 +3664,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractResponse_GetDataContractResponseV0), - .number = GetDataContractResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0), + .number = GetIdentitiesBalancesResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetIdentitiesBalancesResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesBalancesResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractResponse__storage_) + storageSize:sizeof(GetIdentitiesBalancesResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -3838,26 +3696,26 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractResponse_ClearVersionOneOfCase(GetDataContractResponse *message) { - GPBDescriptor *descriptor = [GetDataContractResponse descriptor]; +void GetIdentitiesBalancesResponse_ClearVersionOneOfCase(GetIdentitiesBalancesResponse *message) { + GPBDescriptor *descriptor = [GetIdentitiesBalancesResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractResponse_GetDataContractResponseV0 +#pragma mark - GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 -@implementation GetDataContractResponse_GetDataContractResponseV0 +@implementation GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 @dynamic resultOneOfCase; -@dynamic dataContract; +@dynamic identitiesBalances; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetDataContractResponse_GetDataContractResponseV0__storage_ { +typedef struct GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0__storage_ { uint32_t _has_storage_[2]; - NSData *dataContract; + GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances *identitiesBalances; Proof *proof; ResponseMetadata *metadata; -} GetDataContractResponse_GetDataContractResponseV0__storage_; +} GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3866,40 +3724,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContract", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_DataContract, + .name = "identitiesBalances", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances), + .number = GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_FieldNumber_IdentitiesBalances, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, dataContract), + .offset = (uint32_t)offsetof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0__storage_, identitiesBalances), .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Proof, + .number = GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Metadata, + .number = GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractResponse_GetDataContractResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractResponse_GetDataContractResponseV0__storage_) + storageSize:sizeof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -3907,7 +3765,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesBalancesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3918,22 +3776,23 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractResponse_GetDataContractResponseV0_ClearResultOneOfCase(GetDataContractResponse_GetDataContractResponseV0 *message) { - GPBDescriptor *descriptor = [GetDataContractResponse_GetDataContractResponseV0 descriptor]; +void GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_ClearResultOneOfCase(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractsRequest +#pragma mark - GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance -@implementation GetDataContractsRequest +@implementation GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance -@dynamic versionOneOfCase; -@dynamic v0; +@dynamic identityId; +@dynamic hasBalance, balance; -typedef struct GetDataContractsRequest__storage_ { - uint32_t _has_storage_[2]; - GetDataContractsRequest_GetDataContractsRequestV0 *v0; -} GetDataContractsRequest__storage_; +typedef struct GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance__storage_ { + uint32_t _has_storage_[1]; + NSData *identityId; + uint64_t balance; +} GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3942,29 +3801,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsRequest_GetDataContractsRequestV0), - .number = GetDataContractsRequest_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractsRequest__storage_, v0), + .name = "identityId", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance_FieldNumber_IdentityId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance__storage_, identityId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "balance", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance_FieldNumber_Balance, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance__storage_, balance), .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeUInt64, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsRequest__storage_) + storageSize:sizeof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance__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(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3975,22 +3838,16 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractsRequest_ClearVersionOneOfCase(GetDataContractsRequest *message) { - GPBDescriptor *descriptor = [GetDataContractsRequest descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetDataContractsRequest_GetDataContractsRequestV0 +#pragma mark - GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances -@implementation GetDataContractsRequest_GetDataContractsRequestV0 +@implementation GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances -@dynamic idsArray, idsArray_Count; -@dynamic prove; +@dynamic entriesArray, entriesArray_Count; -typedef struct GetDataContractsRequest_GetDataContractsRequestV0__storage_ { +typedef struct GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *idsArray; -} GetDataContractsRequest_GetDataContractsRequestV0__storage_; + NSMutableArray *entriesArray; +} GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3999,33 +3856,24 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "idsArray", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_IdsArray, + .name = "entriesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentityBalance), + .number = GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances_FieldNumber_EntriesArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDataContractsRequest_GetDataContractsRequestV0__storage_, idsArray), + .offset = (uint32_t)offsetof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances__storage_, entriesArray), .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, - }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_Prove, - .hasIndex = 0, - .offset = 1, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsRequest_GetDataContractsRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsRequest_GetDataContractsRequestV0__storage_) + storageSize:sizeof(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0_IdentitiesBalances__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesBalancesResponse_GetIdentitiesBalancesResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4036,17 +3884,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractsResponse +#pragma mark - GetProofsRequest -@implementation GetDataContractsResponse +@implementation GetProofsRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetDataContractsResponse__storage_ { +typedef struct GetProofsRequest__storage_ { uint32_t _has_storage_[2]; - GetDataContractsResponse_GetDataContractsResponseV0 *v0; -} GetDataContractsResponse__storage_; + GetProofsRequest_GetProofsRequestV0 *v0; +} GetProofsRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4056,21 +3904,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_GetDataContractsResponseV0), - .number = GetDataContractsResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0), + .number = GetProofsRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractsResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetProofsRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse__storage_) + storageSize:sizeof(GetProofsRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -4088,58 +3936,2372 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractsResponse_ClearVersionOneOfCase(GetDataContractsResponse *message) { - GPBDescriptor *descriptor = [GetDataContractsResponse descriptor]; +void GetProofsRequest_ClearVersionOneOfCase(GetProofsRequest *message) { + GPBDescriptor *descriptor = [GetProofsRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractsResponse_DataContractEntry +#pragma mark - GetProofsRequest_GetProofsRequestV0 -@implementation GetDataContractsResponse_DataContractEntry +@implementation GetProofsRequest_GetProofsRequestV0 -@dynamic identifier; -@dynamic hasDataContract, dataContract; +@dynamic identitiesArray, identitiesArray_Count; +@dynamic contractsArray, contractsArray_Count; +@dynamic documentsArray, documentsArray_Count; +@dynamic votesArray, votesArray_Count; -typedef struct GetDataContractsResponse_DataContractEntry__storage_ { +typedef struct GetProofsRequest_GetProofsRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *identifier; - GPBBytesValue *dataContract; -} GetDataContractsResponse_DataContractEntry__storage_; - -// This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { + NSMutableArray *identitiesArray; + NSMutableArray *contractsArray; + NSMutableArray *documentsArray; + NSMutableArray *votesArray; +} GetProofsRequest_GetProofsRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "identitiesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_IdentityRequest), + .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_IdentitiesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, identitiesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "contractsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_ContractRequest), + .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_ContractsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, contractsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "documentsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_DocumentRequest), + .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_DocumentsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, documentsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "votesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest), + .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_VotesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, votesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProofsRequest_GetProofsRequestV0_DocumentRequest + +@implementation GetProofsRequest_GetProofsRequestV0_DocumentRequest + +@dynamic contractId; +@dynamic documentType; +@dynamic documentTypeKeepsHistory; +@dynamic documentId; +@dynamic documentContestedStatus; + +typedef struct GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_ { + uint32_t _has_storage_[1]; + GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus documentContestedStatus; + NSData *contractId; + NSString *documentType; + NSData *documentId; +} GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "contractId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_ContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, contractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "documentType", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentType, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentType), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "documentTypeKeepsHistory", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentTypeKeepsHistory, + .hasIndex = 2, + .offset = 3, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + { + .name = "documentId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentId, + .hasIndex = 4, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "documentContestedStatus", + .dataTypeSpecific.enumDescFunc = GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_EnumDescriptor, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentContestedStatus, + .hasIndex = 5, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentContestedStatus), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeEnum, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_DocumentRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +int32_t GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_RawValue(GetProofsRequest_GetProofsRequestV0_DocumentRequest *message) { + GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_DocumentRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentContestedStatus]; + return GPBGetMessageRawEnumField(message, field); +} + +void SetGetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_RawValue(GetProofsRequest_GetProofsRequestV0_DocumentRequest *message, int32_t value) { + GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_DocumentRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentContestedStatus]; + GPBSetMessageRawEnumField(message, field, value); +} + +#pragma mark - Enum GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus + +GPBEnumDescriptor *GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_EnumDescriptor(void) { + static _Atomic(GPBEnumDescriptor*) descriptor = nil; + if (!descriptor) { + static const char *valueNames = + "NotContested\000MaybeContested\000Contested\000"; + static const int32_t values[] = { + GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_NotContested, + GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_MaybeContested, + GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_Contested, + }; + GPBEnumDescriptor *worker = + [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus) + valueNames:valueNames + values:values + count:(uint32_t)(sizeof(values) / sizeof(int32_t)) + enumVerifier:GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_IsValidValue]; + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { + [worker release]; + } + } + return descriptor; +} + +BOOL GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_IsValidValue(int32_t value__) { + switch (value__) { + case GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_NotContested: + case GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_MaybeContested: + case GetProofsRequest_GetProofsRequestV0_DocumentRequest_DocumentContestedStatus_Contested: + return YES; + default: + return NO; + } +} + +#pragma mark - GetProofsRequest_GetProofsRequestV0_IdentityRequest + +@implementation GetProofsRequest_GetProofsRequestV0_IdentityRequest + +@dynamic identityId; +@dynamic requestType; + +typedef struct GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_ { + uint32_t _has_storage_[1]; + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type requestType; + NSData *identityId; +} GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "identityId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_IdentityId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_, identityId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "requestType", + .dataTypeSpecific.enumDescFunc = GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_EnumDescriptor, + .number = GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_, requestType), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeEnum, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_IdentityRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +int32_t GetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message) { + GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_IdentityRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType]; + return GPBGetMessageRawEnumField(message, field); +} + +void SetGetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message, int32_t value) { + GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_IdentityRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType]; + GPBSetMessageRawEnumField(message, field, value); +} + +#pragma mark - Enum GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type + +GPBEnumDescriptor *GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_EnumDescriptor(void) { + static _Atomic(GPBEnumDescriptor*) descriptor = nil; + if (!descriptor) { + static const char *valueNames = + "FullIdentity\000Balance\000Keys\000Revision\000"; + static const int32_t values[] = { + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_FullIdentity, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Balance, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Keys, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Revision, + }; + GPBEnumDescriptor *worker = + [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type) + valueNames:valueNames + values:values + count:(uint32_t)(sizeof(values) / sizeof(int32_t)) + enumVerifier:GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_IsValidValue]; + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { + [worker release]; + } + } + return descriptor; +} + +BOOL GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_IsValidValue(int32_t value__) { + switch (value__) { + case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_FullIdentity: + case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Balance: + case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Keys: + case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Revision: + return YES; + default: + return NO; + } +} + +#pragma mark - GetProofsRequest_GetProofsRequestV0_ContractRequest + +@implementation GetProofsRequest_GetProofsRequestV0_ContractRequest + +@dynamic contractId; + +typedef struct GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_ { + uint32_t _has_storage_[1]; + NSData *contractId; +} GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "contractId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_ContractRequest_FieldNumber_ContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_, contractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_ContractRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProofsRequest_GetProofsRequestV0_VoteStatusRequest + +@implementation GetProofsRequest_GetProofsRequestV0_VoteStatusRequest + +@dynamic requestTypeOneOfCase; +@dynamic contestedResourceVoteStatusRequest; + +typedef struct GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__storage_ { + uint32_t _has_storage_[2]; + GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest *contestedResourceVoteStatusRequest; +} GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__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 = "contestedResourceVoteStatusRequest", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest), + .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_FieldNumber_ContestedResourceVoteStatusRequest, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__storage_, contestedResourceVoteStatusRequest), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_VoteStatusRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "requestType", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ClearRequestTypeOneOfCase(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest *message) { + GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_VoteStatusRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest + +@implementation GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest + +@dynamic contractId; +@dynamic documentTypeName; +@dynamic indexName; +@dynamic indexValuesArray, indexValuesArray_Count; +@dynamic voterIdentifier; + +typedef struct GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_ { + uint32_t _has_storage_[1]; + NSData *contractId; + NSString *documentTypeName; + NSString *indexName; + NSMutableArray *indexValuesArray; + NSData *voterIdentifier; +} GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "contractId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_ContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, contractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "documentTypeName", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_DocumentTypeName, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, documentTypeName), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "indexName", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_IndexName, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, indexName), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "indexValuesArray", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_IndexValuesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, indexValuesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, + }, + { + .name = "voterIdentifier", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest_FieldNumber_VoterIdentifier, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_, voterIdentifier), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest_ContestedResourceVoteStatusRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0_VoteStatusRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProofsResponse + +@implementation GetProofsResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetProofsResponse__storage_ { + uint32_t _has_storage_[2]; + GetProofsResponse_GetProofsResponseV0 *v0; +} GetProofsResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsResponse_GetProofsResponseV0), + .number = GetProofsResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetProofsResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetProofsResponse_ClearVersionOneOfCase(GetProofsResponse *message) { + GPBDescriptor *descriptor = [GetProofsResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetProofsResponse_GetProofsResponseV0 + +@implementation GetProofsResponse_GetProofsResponseV0 + +@dynamic resultOneOfCase; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetProofsResponse_GetProofsResponseV0__storage_ { + uint32_t _has_storage_[2]; + Proof *proof; + ResponseMetadata *metadata; +} GetProofsResponse_GetProofsResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsResponse_GetProofsResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsResponse_GetProofsResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetProofsResponse_GetProofsResponseV0_ClearResultOneOfCase(GetProofsResponse_GetProofsResponseV0 *message) { + GPBDescriptor *descriptor = [GetProofsResponse_GetProofsResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractRequest + +@implementation GetDataContractRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractRequest__storage_ { + uint32_t _has_storage_[2]; + GetDataContractRequest_GetDataContractRequestV0 *v0; +} GetDataContractRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractRequest_GetDataContractRequestV0), + .number = GetDataContractRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractRequest_ClearVersionOneOfCase(GetDataContractRequest *message) { + GPBDescriptor *descriptor = [GetDataContractRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractRequest_GetDataContractRequestV0 + +@implementation GetDataContractRequest_GetDataContractRequestV0 + +@dynamic id_p; +@dynamic prove; + +typedef struct GetDataContractRequest_GetDataContractRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSData *id_p; +} GetDataContractRequest_GetDataContractRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "id_p", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Id_p, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractRequest_GetDataContractRequestV0__storage_, id_p), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Prove, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractRequest_GetDataContractRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractRequest_GetDataContractRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractResponse + +@implementation GetDataContractResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractResponse__storage_ { + uint32_t _has_storage_[2]; + GetDataContractResponse_GetDataContractResponseV0 *v0; +} GetDataContractResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractResponse_GetDataContractResponseV0), + .number = GetDataContractResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractResponse_ClearVersionOneOfCase(GetDataContractResponse *message) { + GPBDescriptor *descriptor = [GetDataContractResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractResponse_GetDataContractResponseV0 + +@implementation GetDataContractResponse_GetDataContractResponseV0 + +@dynamic resultOneOfCase; +@dynamic dataContract; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetDataContractResponse_GetDataContractResponseV0__storage_ { + uint32_t _has_storage_[2]; + NSData *dataContract; + Proof *proof; + ResponseMetadata *metadata; +} GetDataContractResponse_GetDataContractResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContract", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_DataContract, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, dataContract), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractResponse_GetDataContractResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractResponse_GetDataContractResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractResponse_GetDataContractResponseV0_ClearResultOneOfCase(GetDataContractResponse_GetDataContractResponseV0 *message) { + GPBDescriptor *descriptor = [GetDataContractResponse_GetDataContractResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractsRequest + +@implementation GetDataContractsRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractsRequest__storage_ { + uint32_t _has_storage_[2]; + GetDataContractsRequest_GetDataContractsRequestV0 *v0; +} GetDataContractsRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsRequest_GetDataContractsRequestV0), + .number = GetDataContractsRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractsRequest_ClearVersionOneOfCase(GetDataContractsRequest *message) { + GPBDescriptor *descriptor = [GetDataContractsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractsRequest_GetDataContractsRequestV0 + +@implementation GetDataContractsRequest_GetDataContractsRequestV0 + +@dynamic idsArray, idsArray_Count; +@dynamic prove; + +typedef struct GetDataContractsRequest_GetDataContractsRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *idsArray; +} GetDataContractsRequest_GetDataContractsRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "idsArray", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_IdsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDataContractsRequest_GetDataContractsRequestV0__storage_, idsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_Prove, + .hasIndex = 0, + .offset = 1, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsRequest_GetDataContractsRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsRequest_GetDataContractsRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractsResponse + +@implementation GetDataContractsResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractsResponse__storage_ { + uint32_t _has_storage_[2]; + GetDataContractsResponse_GetDataContractsResponseV0 *v0; +} GetDataContractsResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_GetDataContractsResponseV0), + .number = GetDataContractsResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractsResponse_ClearVersionOneOfCase(GetDataContractsResponse *message) { + GPBDescriptor *descriptor = [GetDataContractsResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractsResponse_DataContractEntry + +@implementation GetDataContractsResponse_DataContractEntry + +@dynamic identifier; +@dynamic hasDataContract, dataContract; + +typedef struct GetDataContractsResponse_DataContractEntry__storage_ { + uint32_t _has_storage_[1]; + NSData *identifier; + GPBBytesValue *dataContract; +} GetDataContractsResponse_DataContractEntry__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "identifier", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractsResponse_DataContractEntry_FieldNumber_Identifier, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, identifier), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "dataContract", + .dataTypeSpecific.clazz = GPBObjCClass(GPBBytesValue), + .number = GetDataContractsResponse_DataContractEntry_FieldNumber_DataContract, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, dataContract), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContractEntry class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse_DataContractEntry__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractsResponse_DataContracts + +@implementation GetDataContractsResponse_DataContracts + +@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; + +typedef struct GetDataContractsResponse_DataContracts__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *dataContractEntriesArray; +} GetDataContractsResponse_DataContracts__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContractEntriesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContractEntry), + .number = GetDataContractsResponse_DataContracts_FieldNumber_DataContractEntriesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContracts__storage_, dataContractEntriesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContracts class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse_DataContracts__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractsResponse_GetDataContractsResponseV0 + +@implementation GetDataContractsResponse_GetDataContractsResponseV0 + +@dynamic resultOneOfCase; +@dynamic dataContracts; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetDataContractsResponse_GetDataContractsResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetDataContractsResponse_DataContracts *dataContracts; + Proof *proof; + ResponseMetadata *metadata; +} GetDataContractsResponse_GetDataContractsResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContracts", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContracts), + .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_DataContracts, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, dataContracts), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_GetDataContractsResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse_GetDataContractsResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractsResponse_GetDataContractsResponseV0_ClearResultOneOfCase(GetDataContractsResponse_GetDataContractsResponseV0 *message) { + GPBDescriptor *descriptor = [GetDataContractsResponse_GetDataContractsResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryRequest + +@implementation GetDataContractHistoryRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractHistoryRequest__storage_ { + uint32_t _has_storage_[2]; + GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 *v0; +} GetDataContractHistoryRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0), + .number = GetDataContractHistoryRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractHistoryRequest_ClearVersionOneOfCase(GetDataContractHistoryRequest *message) { + GPBDescriptor *descriptor = [GetDataContractHistoryRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 + +@implementation GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 + +@dynamic id_p; +@dynamic hasLimit, limit; +@dynamic hasOffset, offset; +@dynamic startAtMs; +@dynamic prove; + +typedef struct GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSData *id_p; + GPBUInt32Value *limit; + GPBUInt32Value *offset; + uint64_t startAtMs; +} GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "id_p", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Id_p, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, id_p), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "limit", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Limit, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, limit), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "offset", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Offset, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, offset), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "startAtMs", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_StartAtMs, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, startAtMs), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Prove, + .hasIndex = 4, + .offset = 5, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractHistoryResponse + +@implementation GetDataContractHistoryResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractHistoryResponse__storage_ { + uint32_t _has_storage_[2]; + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *v0; +} GetDataContractHistoryResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0), + .number = GetDataContractHistoryResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractHistoryResponse_ClearVersionOneOfCase(GetDataContractHistoryResponse *message) { + GPBDescriptor *descriptor = [GetDataContractHistoryResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 + +@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 + +@dynamic resultOneOfCase; +@dynamic dataContractHistory; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory *dataContractHistory; + Proof *proof; + ResponseMetadata *metadata; +} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__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 = "dataContractHistory", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_DataContractHistory, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_, dataContractHistory), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_ClearResultOneOfCase(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *message) { + GPBDescriptor *descriptor = [GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry + +@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry + +@dynamic date; +@dynamic value; + +typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_ { + uint32_t _has_storage_[1]; + NSData *value; + uint64_t date; +} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__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 = "date", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Date, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_, date), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "value", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Value, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_, value), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory + +@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory + +@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; + +typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *dataContractEntriesArray; +} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContractEntriesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory_FieldNumber_DataContractEntriesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_, dataContractEntriesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDocumentsRequest + +@implementation GetDocumentsRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDocumentsRequest__storage_ { + uint32_t _has_storage_[2]; + GetDocumentsRequest_GetDocumentsRequestV0 *v0; +} GetDocumentsRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsRequest_GetDocumentsRequestV0), + .number = GetDocumentsRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDocumentsRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDocumentsRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDocumentsRequest_ClearVersionOneOfCase(GetDocumentsRequest *message) { + GPBDescriptor *descriptor = [GetDocumentsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDocumentsRequest_GetDocumentsRequestV0 + +@implementation GetDocumentsRequest_GetDocumentsRequestV0 + +@dynamic startOneOfCase; +@dynamic dataContractId; +@dynamic documentType; +@dynamic where; +@dynamic orderBy; +@dynamic limit; +@dynamic startAfter; +@dynamic startAt; +@dynamic prove; + +typedef struct GetDocumentsRequest_GetDocumentsRequestV0__storage_ { + uint32_t _has_storage_[2]; + uint32_t limit; + NSData *dataContractId; + NSString *documentType; + NSData *where; + NSData *orderBy; + NSData *startAfter; + NSData *startAt; +} GetDocumentsRequest_GetDocumentsRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContractId", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DataContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, dataContractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "documentType", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DocumentType, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, documentType), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "where", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Where, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, where), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "orderBy", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_OrderBy, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, orderBy), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "limit", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Limit, + .hasIndex = 4, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, limit), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "startAfter", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAfter, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, startAfter), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + }, + { + .name = "startAt", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAt, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, startAt), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Prove, + .hasIndex = 5, + .offset = 6, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDocumentsRequest_GetDocumentsRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDocumentsRequest_GetDocumentsRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "start", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDocumentsRequest_GetDocumentsRequestV0_ClearStartOneOfCase(GetDocumentsRequest_GetDocumentsRequestV0 *message) { + GPBDescriptor *descriptor = [GetDocumentsRequest_GetDocumentsRequestV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDocumentsResponse + +@implementation GetDocumentsResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDocumentsResponse__storage_ { + uint32_t _has_storage_[2]; + GetDocumentsResponse_GetDocumentsResponseV0 *v0; +} GetDocumentsResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0), + .number = GetDocumentsResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDocumentsResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDocumentsResponse_ClearVersionOneOfCase(GetDocumentsResponse *message) { + GPBDescriptor *descriptor = [GetDocumentsResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0 + +@implementation GetDocumentsResponse_GetDocumentsResponseV0 + +@dynamic resultOneOfCase; +@dynamic documents; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetDocumentsResponse_GetDocumentsResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetDocumentsResponse_GetDocumentsResponseV0_Documents *documents; + Proof *proof; + ResponseMetadata *metadata; +} GetDocumentsResponse_GetDocumentsResponseV0__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 = "documents", + .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0_Documents), + .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Documents, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, documents), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse_GetDocumentsResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDocumentsResponse_GetDocumentsResponseV0__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(GetDocumentsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDocumentsResponse_GetDocumentsResponseV0_ClearResultOneOfCase(GetDocumentsResponse_GetDocumentsResponseV0 *message) { + GPBDescriptor *descriptor = [GetDocumentsResponse_GetDocumentsResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0_Documents + +@implementation GetDocumentsResponse_GetDocumentsResponseV0_Documents + +@dynamic documentsArray, documentsArray_Count; + +typedef struct GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *documentsArray; +} GetDocumentsResponse_GetDocumentsResponseV0_Documents__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 = "documentsArray", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsResponse_GetDocumentsResponseV0_Documents_FieldNumber_DocumentsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_, documentsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse_GetDocumentsResponseV0_Documents class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetIdentityByPublicKeyHashRequest + +@implementation GetIdentityByPublicKeyHashRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetIdentityByPublicKeyHashRequest__storage_ { + uint32_t _has_storage_[2]; + GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 *v0; +} GetIdentityByPublicKeyHashRequest__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(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0), + .number = GetIdentityByPublicKeyHashRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityByPublicKeyHashRequest__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 GetIdentityByPublicKeyHashRequest_ClearVersionOneOfCase(GetIdentityByPublicKeyHashRequest *message) { + GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 + +@implementation GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 + +@dynamic publicKeyHash; +@dynamic prove; + +typedef struct GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSData *publicKeyHash; +} GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__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 = "publicKeyHash", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_PublicKeyHash, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_, publicKeyHash), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_Prove, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByPublicKeyHashRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetIdentityByPublicKeyHashResponse + +@implementation GetIdentityByPublicKeyHashResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetIdentityByPublicKeyHashResponse__storage_ { + uint32_t _has_storage_[2]; + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *v0; +} GetIdentityByPublicKeyHashResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0), + .number = GetIdentityByPublicKeyHashResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityByPublicKeyHashResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetIdentityByPublicKeyHashResponse_ClearVersionOneOfCase(GetIdentityByPublicKeyHashResponse *message) { + GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 + +@implementation GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 + +@dynamic resultOneOfCase; +@dynamic identity; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_ { + uint32_t _has_storage_[2]; + NSData *identity; + Proof *proof; + ResponseMetadata *metadata; +} GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__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 = "identity", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Identity, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, identity), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__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(GetIdentityByPublicKeyHashResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_ClearResultOneOfCase(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - WaitForStateTransitionResultRequest + +@implementation WaitForStateTransitionResultRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct WaitForStateTransitionResultRequest__storage_ { + uint32_t _has_storage_[2]; + WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 *v0; +} WaitForStateTransitionResultRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identifier", + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0), + .number = WaitForStateTransitionResultRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(WaitForStateTransitionResultRequest__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 WaitForStateTransitionResultRequest_ClearVersionOneOfCase(WaitForStateTransitionResultRequest *message) { + GPBDescriptor *descriptor = [WaitForStateTransitionResultRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 + +@implementation WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 + +@dynamic stateTransitionHash; +@dynamic prove; + +typedef struct WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSData *stateTransitionHash; +} WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__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 = "stateTransitionHash", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractsResponse_DataContractEntry_FieldNumber_Identifier, + .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_StateTransitionHash, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, identifier), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_, stateTransitionHash), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { - .name = "dataContract", - .dataTypeSpecific.clazz = GPBObjCClass(GPBBytesValue), - .number = GetDataContractsResponse_DataContractEntry_FieldNumber_DataContract, + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_Prove, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, dataContract), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContractEntry class] + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse_DataContractEntry__storage_) + storageSize:sizeof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4150,16 +6312,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractsResponse_DataContracts +#pragma mark - WaitForStateTransitionResultResponse -@implementation GetDataContractsResponse_DataContracts +@implementation WaitForStateTransitionResultResponse -@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetDataContractsResponse_DataContracts__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *dataContractEntriesArray; -} GetDataContractsResponse_DataContracts__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. @@ -4168,24 +6331,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContractEntriesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContractEntry), - .number = GetDataContractsResponse_DataContracts_FieldNumber_DataContractEntriesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContracts__storage_, dataContractEntriesArray), - .flags = GPBFieldRepeated, + .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:[GetDataContractsResponse_DataContracts class] + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse_DataContracts__storage_) + storageSize:sizeof(WaitForStateTransitionResultResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + 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 @@ -4196,21 +6364,26 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractsResponse_GetDataContractsResponseV0 +void WaitForStateTransitionResultResponse_ClearVersionOneOfCase(WaitForStateTransitionResultResponse *message) { + GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 -@implementation GetDataContractsResponse_GetDataContractsResponseV0 +@implementation WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 @dynamic resultOneOfCase; -@dynamic dataContracts; +@dynamic error; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetDataContractsResponse_GetDataContractsResponseV0__storage_ { +typedef struct WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_ { uint32_t _has_storage_[2]; - GetDataContractsResponse_DataContracts *dataContracts; + StateTransitionBroadcastError *error; Proof *proof; ResponseMetadata *metadata; -} GetDataContractsResponse_GetDataContractsResponseV0__storage_; +} WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4219,40 +6392,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContracts", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContracts), - .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_DataContracts, + .name = "error", + .dataTypeSpecific.clazz = GPBObjCClass(StateTransitionBroadcastError), + .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Error, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, dataContracts), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, error), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Proof, + .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Metadata, + .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_GetDataContractsResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse_GetDataContractsResponseV0__storage_) + storageSize:sizeof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -4260,7 +6433,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4271,22 +6444,22 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractsResponse_GetDataContractsResponseV0_ClearResultOneOfCase(GetDataContractsResponse_GetDataContractsResponseV0 *message) { - GPBDescriptor *descriptor = [GetDataContractsResponse_GetDataContractsResponseV0 descriptor]; +void WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_ClearResultOneOfCase(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *message) { + GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractHistoryRequest +#pragma mark - GetConsensusParamsRequest -@implementation GetDataContractHistoryRequest +@implementation GetConsensusParamsRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetDataContractHistoryRequest__storage_ { +typedef struct GetConsensusParamsRequest__storage_ { uint32_t _has_storage_[2]; - GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 *v0; -} GetDataContractHistoryRequest__storage_; + GetConsensusParamsRequest_GetConsensusParamsRequestV0 *v0; +} GetConsensusParamsRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4296,21 +6469,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0), - .number = GetDataContractHistoryRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsRequest_GetConsensusParamsRequestV0), + .number = GetConsensusParamsRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetConsensusParamsRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryRequest class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryRequest__storage_) + storageSize:sizeof(GetConsensusParamsRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -4328,28 +6501,22 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractHistoryRequest_ClearVersionOneOfCase(GetDataContractHistoryRequest *message) { - GPBDescriptor *descriptor = [GetDataContractHistoryRequest descriptor]; +void GetConsensusParamsRequest_ClearVersionOneOfCase(GetConsensusParamsRequest *message) { + GPBDescriptor *descriptor = [GetConsensusParamsRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 +#pragma mark - GetConsensusParamsRequest_GetConsensusParamsRequestV0 -@implementation GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 +@implementation GetConsensusParamsRequest_GetConsensusParamsRequestV0 -@dynamic id_p; -@dynamic hasLimit, limit; -@dynamic hasOffset, offset; -@dynamic startAtMs; +@dynamic height; @dynamic prove; -typedef struct GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_ { +typedef struct GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *id_p; - GPBUInt32Value *limit; - GPBUInt32Value *offset; - uint64_t startAtMs; -} GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_; + int32_t height; +} GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4358,60 +6525,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "id_p", + .name = "height", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Id_p, + .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Height, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, id_p), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "limit", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Limit, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, limit), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "offset", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Offset, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, offset), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "startAtMs", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_StartAtMs, - .hasIndex = 3, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, startAtMs), + .offset = (uint32_t)offsetof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_, height), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt64, + .dataType = GPBDataTypeInt32, }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Prove, - .hasIndex = 4, - .offset = 5, // Stored in _has_storage_ to save space. + .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:[GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest_GetConsensusParamsRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_) + storageSize:sizeof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4422,17 +6562,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractHistoryResponse +#pragma mark - GetConsensusParamsResponse -@implementation GetDataContractHistoryResponse +@implementation GetConsensusParamsResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetDataContractHistoryResponse__storage_ { +typedef struct GetConsensusParamsResponse__storage_ { uint32_t _has_storage_[2]; - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *v0; -} GetDataContractHistoryResponse__storage_; + GetConsensusParamsResponse_GetConsensusParamsResponseV0 *v0; +} GetConsensusParamsResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4442,21 +6582,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0), - .number = GetDataContractHistoryResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_GetConsensusParamsResponseV0), + .number = GetConsensusParamsResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryResponse__storage_) + storageSize:sizeof(GetConsensusParamsResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -4474,26 +6614,25 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractHistoryResponse_ClearVersionOneOfCase(GetDataContractHistoryResponse *message) { - GPBDescriptor *descriptor = [GetDataContractHistoryResponse descriptor]; +void GetConsensusParamsResponse_ClearVersionOneOfCase(GetConsensusParamsResponse *message) { + GPBDescriptor *descriptor = [GetConsensusParamsResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 +#pragma mark - GetConsensusParamsResponse_ConsensusParamsBlock -@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 +@implementation GetConsensusParamsResponse_ConsensusParamsBlock -@dynamic resultOneOfCase; -@dynamic dataContractHistory; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic maxBytes; +@dynamic maxGas; +@dynamic timeIotaMs; -typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_ { - uint32_t _has_storage_[2]; - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory *dataContractHistory; - Proof *proof; - ResponseMetadata *metadata; -} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__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. @@ -4502,48 +6641,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContractHistory", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory), - .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_DataContractHistory, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_, dataContractHistory), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .name = "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 = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Proof, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__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 = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__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:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsBlock class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__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(GetDataContractHistoryResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4554,23 +6687,20 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_ClearResultOneOfCase(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *message) { - GPBDescriptor *descriptor = [GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry +#pragma mark - GetConsensusParamsResponse_ConsensusParamsEvidence -@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry +@implementation GetConsensusParamsResponse_ConsensusParamsEvidence -@dynamic date; -@dynamic value; +@dynamic maxAgeNumBlocks; +@dynamic maxAgeDuration; +@dynamic maxBytes; -typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_ { +typedef struct GetConsensusParamsResponse_ConsensusParamsEvidence__storage_ { uint32_t _has_storage_[1]; - NSData *value; - uint64_t date; -} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_; + NSString *maxAgeNumBlocks; + NSString *maxAgeDuration; + NSString *maxBytes; +} GetConsensusParamsResponse_ConsensusParamsEvidence__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4579,33 +6709,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "date", + .name = "maxAgeNumBlocks", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Date, + .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_, date), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeNumBlocks), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt64, + .dataType = GPBDataTypeString, }, { - .name = "value", + .name = "maxAgeDuration", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Value, + .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeDuration, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_, value), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeDuration), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .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:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsEvidence class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_) + storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4616,16 +6755,18 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory +#pragma mark - GetConsensusParamsResponse_GetConsensusParamsResponseV0 -@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory +@implementation GetConsensusParamsResponse_GetConsensusParamsResponseV0 -@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; +@dynamic hasBlock, block; +@dynamic hasEvidence, evidence; -typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_ { +typedef struct GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *dataContractEntriesArray; -} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_; + GetConsensusParamsResponse_ConsensusParamsBlock *block; + GetConsensusParamsResponse_ConsensusParamsEvidence *evidence; +} GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4634,24 +6775,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContractEntriesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry), - .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory_FieldNumber_DataContractEntriesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_, dataContractEntriesArray), - .flags = GPBFieldRepeated, + .name = "block", + .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsBlock), + .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Block, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, block), + .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), + .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_GetConsensusParamsResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_) + storageSize:sizeof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4662,17 +6812,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDocumentsRequest +#pragma mark - GetProtocolVersionUpgradeStateRequest -@implementation GetDocumentsRequest +@implementation GetProtocolVersionUpgradeStateRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetDocumentsRequest__storage_ { +typedef struct GetProtocolVersionUpgradeStateRequest__storage_ { uint32_t _has_storage_[2]; - GetDocumentsRequest_GetDocumentsRequestV0 *v0; -} GetDocumentsRequest__storage_; + GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 *v0; +} GetProtocolVersionUpgradeStateRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4682,21 +6832,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsRequest_GetDocumentsRequestV0), - .number = GetDocumentsRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0), + .number = GetProtocolVersionUpgradeStateRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDocumentsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsRequest__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeStateRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -4714,35 +6864,20 @@ + (GPBDescriptor *)descriptor { @end -void GetDocumentsRequest_ClearVersionOneOfCase(GetDocumentsRequest *message) { - GPBDescriptor *descriptor = [GetDocumentsRequest descriptor]; +void GetProtocolVersionUpgradeStateRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateRequest *message) { + GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDocumentsRequest_GetDocumentsRequestV0 +#pragma mark - GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 -@implementation GetDocumentsRequest_GetDocumentsRequestV0 +@implementation GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 -@dynamic startOneOfCase; -@dynamic dataContractId; -@dynamic documentType; -@dynamic where; -@dynamic orderBy; -@dynamic limit; -@dynamic startAfter; -@dynamic startAt; @dynamic prove; -typedef struct GetDocumentsRequest_GetDocumentsRequestV0__storage_ { - uint32_t _has_storage_[2]; - uint32_t limit; - NSData *dataContractId; - NSString *documentType; - NSData *where; - NSData *orderBy; - NSData *startAfter; - NSData *startAt; -} GetDocumentsRequest_GetDocumentsRequestV0__storage_; +typedef struct GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_ { + uint32_t _has_storage_[1]; +} GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4750,94 +6885,25 @@ + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { - { - .name = "dataContractId", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DataContractId, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, dataContractId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "documentType", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DocumentType, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, documentType), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, - }, - { - .name = "where", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Where, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, where), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "orderBy", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_OrderBy, - .hasIndex = 3, - .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, orderBy), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "limit", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Limit, - .hasIndex = 4, - .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, limit), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt32, - }, - { - .name = "startAfter", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAfter, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, startAfter), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, - }, - { - .name = "startAt", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAt, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, startAt), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, - }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Prove, - .hasIndex = 5, - .offset = 6, // 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:[GetDocumentsRequest_GetDocumentsRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsRequest_GetDocumentsRequestV0__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - static const char *oneofs[] = { - "start", - }; - [localDescriptor setupOneofs:oneofs - count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) - firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4848,22 +6914,17 @@ + (GPBDescriptor *)descriptor { @end -void GetDocumentsRequest_GetDocumentsRequestV0_ClearStartOneOfCase(GetDocumentsRequest_GetDocumentsRequestV0 *message) { - GPBDescriptor *descriptor = [GetDocumentsRequest_GetDocumentsRequestV0 descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetDocumentsResponse +#pragma mark - GetProtocolVersionUpgradeStateResponse -@implementation GetDocumentsResponse +@implementation GetProtocolVersionUpgradeStateResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetDocumentsResponse__storage_ { +typedef struct GetProtocolVersionUpgradeStateResponse__storage_ { uint32_t _has_storage_[2]; - GetDocumentsResponse_GetDocumentsResponseV0 *v0; -} GetDocumentsResponse__storage_; + GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *v0; +} GetProtocolVersionUpgradeStateResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4873,21 +6934,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0), - .number = GetDocumentsResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0), + .number = GetProtocolVersionUpgradeStateResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsResponse__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeStateResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -4905,26 +6966,26 @@ + (GPBDescriptor *)descriptor { @end -void GetDocumentsResponse_ClearVersionOneOfCase(GetDocumentsResponse *message) { - GPBDescriptor *descriptor = [GetDocumentsResponse descriptor]; +void GetProtocolVersionUpgradeStateResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateResponse *message) { + GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0 +#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 -@implementation GetDocumentsResponse_GetDocumentsResponseV0 +@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 @dynamic resultOneOfCase; -@dynamic documents; +@dynamic versions; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetDocumentsResponse_GetDocumentsResponseV0__storage_ { +typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_ { uint32_t _has_storage_[2]; - GetDocumentsResponse_GetDocumentsResponseV0_Documents *documents; + GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions *versions; Proof *proof; ResponseMetadata *metadata; -} GetDocumentsResponse_GetDocumentsResponseV0__storage_; +} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -4933,40 +6994,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "documents", - .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0_Documents), - .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Documents, + .name = "versions", + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions), + .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Versions, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, documents), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, versions), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Proof, + .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Metadata, + .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse_GetDocumentsResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsResponse_GetDocumentsResponseV0__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -4974,7 +7035,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -4985,21 +7046,69 @@ + (GPBDescriptor *)descriptor { @end -void GetDocumentsResponse_GetDocumentsResponseV0_ClearResultOneOfCase(GetDocumentsResponse_GetDocumentsResponseV0 *message) { - GPBDescriptor *descriptor = [GetDocumentsResponse_GetDocumentsResponseV0 descriptor]; +void GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *message) { + GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0_Documents +#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions -@implementation GetDocumentsResponse_GetDocumentsResponseV0_Documents +@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions -@dynamic documentsArray, documentsArray_Count; +@dynamic versionsArray, versionsArray_Count; -typedef struct GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_ { +typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *documentsArray; -} GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_; + NSMutableArray *versionsArray; +} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "versionsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry), + .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions_FieldNumber_VersionsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_, versionsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry + +@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry + +@dynamic versionNumber; +@dynamic voteCount; + +typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_ { + uint32_t _has_storage_[1]; + uint32_t versionNumber; + uint32_t voteCount; +} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5008,24 +7117,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "documentsArray", + .name = "versionNumber", .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsResponse_GetDocumentsResponseV0_Documents_FieldNumber_DocumentsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_, documentsArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, + .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VersionNumber, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, versionNumber), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "voteCount", + .dataTypeSpecific.clazz = Nil, + .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VoteCount, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, voteCount), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse_GetDocumentsResponseV0_Documents class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5036,17 +7154,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentityByPublicKeyHashRequest +#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest -@implementation GetIdentityByPublicKeyHashRequest +@implementation GetProtocolVersionUpgradeVoteStatusRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetIdentityByPublicKeyHashRequest__storage_ { +typedef struct GetProtocolVersionUpgradeVoteStatusRequest__storage_ { uint32_t _has_storage_[2]; - GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 *v0; -} GetIdentityByPublicKeyHashRequest__storage_; + GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 *v0; +} GetProtocolVersionUpgradeVoteStatusRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5056,21 +7174,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0), - .number = GetIdentityByPublicKeyHashRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0), + .number = GetProtocolVersionUpgradeVoteStatusRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashRequest class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityByPublicKeyHashRequest__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -5088,22 +7206,24 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityByPublicKeyHashRequest_ClearVersionOneOfCase(GetIdentityByPublicKeyHashRequest *message) { - GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashRequest descriptor]; +void GetProtocolVersionUpgradeVoteStatusRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusRequest *message) { + GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 +#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 -@implementation GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 +@implementation GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 -@dynamic publicKeyHash; +@dynamic startProTxHash; +@dynamic count; @dynamic prove; -typedef struct GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_ { +typedef struct GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *publicKeyHash; -} GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_; + uint32_t count; + NSData *startProTxHash; +} GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5112,33 +7232,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "publicKeyHash", + .name = "startProTxHash", .dataTypeSpecific.clazz = Nil, - .number = GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_PublicKeyHash, + .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_StartProTxHash, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_, publicKeyHash), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_, startProTxHash), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { - .name = "prove", + .name = "count", .dataTypeSpecific.clazz = Nil, - .number = GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_Prove, + .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_Count, .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. + .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. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByPublicKeyHashRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5149,17 +7278,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentityByPublicKeyHashResponse +#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse -@implementation GetIdentityByPublicKeyHashResponse +@implementation GetProtocolVersionUpgradeVoteStatusResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetIdentityByPublicKeyHashResponse__storage_ { +typedef struct GetProtocolVersionUpgradeVoteStatusResponse__storage_ { uint32_t _has_storage_[2]; - GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *v0; -} GetIdentityByPublicKeyHashResponse__storage_; + GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *v0; +} GetProtocolVersionUpgradeVoteStatusResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5169,21 +7298,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0), - .number = GetIdentityByPublicKeyHashResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0), + .number = GetProtocolVersionUpgradeVoteStatusResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashResponse class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityByPublicKeyHashResponse__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -5201,26 +7330,26 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityByPublicKeyHashResponse_ClearVersionOneOfCase(GetIdentityByPublicKeyHashResponse *message) { - GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashResponse descriptor]; +void GetProtocolVersionUpgradeVoteStatusResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse *message) { + GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 +#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 -@implementation GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 +@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 @dynamic resultOneOfCase; -@dynamic identity; +@dynamic versions; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_ { +typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_ { uint32_t _has_storage_[2]; - NSData *identity; + GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals *versions; Proof *proof; ResponseMetadata *metadata; -} GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_; +} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5229,40 +7358,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identity", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Identity, + .name = "versions", + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals), + .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Versions, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, identity), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, versions), .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Proof, + .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Metadata, + .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_) + storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -5270,7 +7399,115 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByPublicKeyHashResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *message) { + GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals + +@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals + +@dynamic versionSignalsArray, versionSignalsArray_Count; + +typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *versionSignalsArray; +} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "versionSignalsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal), + .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals_FieldNumber_VersionSignalsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_, versionSignalsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal + +@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal + +@dynamic proTxHash; +@dynamic version; + +typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_ { + uint32_t _has_storage_[1]; + uint32_t version; + NSData *proTxHash; +} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "proTxHash", + .dataTypeSpecific.clazz = Nil, + .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_ProTxHash, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, proTxHash), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "version", + .dataTypeSpecific.clazz = Nil, + .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_Version, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, version), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5281,22 +7518,17 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_ClearResultOneOfCase(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *message) { - GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - WaitForStateTransitionResultRequest +#pragma mark - GetEpochsInfoRequest -@implementation WaitForStateTransitionResultRequest +@implementation GetEpochsInfoRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct WaitForStateTransitionResultRequest__storage_ { +typedef struct GetEpochsInfoRequest__storage_ { uint32_t _has_storage_[2]; - WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 *v0; -} WaitForStateTransitionResultRequest__storage_; + GetEpochsInfoRequest_GetEpochsInfoRequestV0 *v0; +} GetEpochsInfoRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5306,21 +7538,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0), - .number = WaitForStateTransitionResultRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoRequest_GetEpochsInfoRequestV0), + .number = GetEpochsInfoRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetEpochsInfoRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(WaitForStateTransitionResultRequest__storage_) + storageSize:sizeof(GetEpochsInfoRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -5338,22 +7570,25 @@ + (GPBDescriptor *)descriptor { @end -void WaitForStateTransitionResultRequest_ClearVersionOneOfCase(WaitForStateTransitionResultRequest *message) { - GPBDescriptor *descriptor = [WaitForStateTransitionResultRequest descriptor]; +void GetEpochsInfoRequest_ClearVersionOneOfCase(GetEpochsInfoRequest *message) { + GPBDescriptor *descriptor = [GetEpochsInfoRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 +#pragma mark - GetEpochsInfoRequest_GetEpochsInfoRequestV0 -@implementation WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 +@implementation GetEpochsInfoRequest_GetEpochsInfoRequestV0 -@dynamic stateTransitionHash; +@dynamic hasStartEpoch, startEpoch; +@dynamic count; +@dynamic ascending; @dynamic prove; -typedef struct WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_ { +typedef struct GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *stateTransitionHash; -} WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_; + uint32_t count; + GPBUInt32Value *startEpoch; +} GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5362,33 +7597,51 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "stateTransitionHash", - .dataTypeSpecific.clazz = Nil, - .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_StateTransitionHash, + .name = "startEpoch", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_StartEpoch, .hasIndex = 0, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_, stateTransitionHash), + .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, startEpoch), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "count", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Count, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, count), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeUInt32, + }, + { + .name = "ascending", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Ascending, + .hasIndex = 2, + .offset = 3, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_Prove, - .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:[WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest_GetEpochsInfoRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_) + storageSize:sizeof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5399,17 +7652,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - WaitForStateTransitionResultResponse +#pragma mark - GetEpochsInfoResponse -@implementation WaitForStateTransitionResultResponse +@implementation GetEpochsInfoResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct WaitForStateTransitionResultResponse__storage_ { +typedef struct GetEpochsInfoResponse__storage_ { uint32_t _has_storage_[2]; - WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *v0; -} WaitForStateTransitionResultResponse__storage_; + GetEpochsInfoResponse_GetEpochsInfoResponseV0 *v0; +} GetEpochsInfoResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5419,21 +7672,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0), - .number = WaitForStateTransitionResultResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0), + .number = GetEpochsInfoResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetEpochsInfoResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse class] + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(WaitForStateTransitionResultResponse__storage_) + storageSize:sizeof(GetEpochsInfoResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -5451,26 +7704,26 @@ + (GPBDescriptor *)descriptor { @end -void WaitForStateTransitionResultResponse_ClearVersionOneOfCase(WaitForStateTransitionResultResponse *message) { - GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse descriptor]; +void GetEpochsInfoResponse_ClearVersionOneOfCase(GetEpochsInfoResponse *message) { + GPBDescriptor *descriptor = [GetEpochsInfoResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0 -@implementation WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 +@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0 @dynamic resultOneOfCase; -@dynamic error; +@dynamic epochs; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_ { +typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_ { uint32_t _has_storage_[2]; - StateTransitionBroadcastError *error; + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos *epochs; Proof *proof; ResponseMetadata *metadata; -} WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_; +} GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5479,40 +7732,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "error", - .dataTypeSpecific.clazz = GPBObjCClass(StateTransitionBroadcastError), - .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Error, + .name = "epochs", + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos), + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Epochs, .hasIndex = -1, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, error), + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, epochs), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Proof, + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Metadata, + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_) + storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -5520,7 +7773,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5531,22 +7784,21 @@ + (GPBDescriptor *)descriptor { @end -void WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_ClearResultOneOfCase(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *message) { - GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 descriptor]; +void GetEpochsInfoResponse_GetEpochsInfoResponseV0_ClearResultOneOfCase(GetEpochsInfoResponse_GetEpochsInfoResponseV0 *message) { + GPBDescriptor *descriptor = [GetEpochsInfoResponse_GetEpochsInfoResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetConsensusParamsRequest +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos -@implementation GetConsensusParamsRequest +@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos -@dynamic versionOneOfCase; -@dynamic v0; +@dynamic epochInfosArray, epochInfosArray_Count; -typedef struct GetConsensusParamsRequest__storage_ { - uint32_t _has_storage_[2]; - GetConsensusParamsRequest_GetConsensusParamsRequestV0 *v0; -} GetConsensusParamsRequest__storage_; +typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *epochInfosArray; +} GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5555,29 +7807,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), - .flags = GPBFieldOptional, + .name = "epochInfosArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo), + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos_FieldNumber_EpochInfosArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_, epochInfosArray), + .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsRequest__storage_) + storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__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(GetEpochsInfoResponse_GetEpochsInfoResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5588,22 +7835,26 @@ + (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 - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo -@implementation GetConsensusParamsRequest_GetConsensusParamsRequestV0 +@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo -@dynamic height; -@dynamic prove; +@dynamic number; +@dynamic firstBlockHeight; +@dynamic firstCoreBlockHeight; +@dynamic startTime; +@dynamic feeMultiplier; +@dynamic protocolVersion; -typedef struct GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_ { +typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_ { uint32_t _has_storage_[1]; - int32_t height; -} GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_; + 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. @@ -5612,33 +7863,69 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "height", + .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 = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Height, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_, height), + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FeeMultiplier, + .hasIndex = 4, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, feeMultiplier), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeInt32, + .dataType = GPBDataTypeDouble, }, { - .name = "prove", + .name = "protocolVersion", .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Prove, - .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_ProtocolVersion, + .hasIndex = 5, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, protocolVersion), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .dataType = GPBDataTypeUInt32, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest_GetConsensusParamsRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_) + storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5649,17 +7936,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetConsensusParamsResponse +#pragma mark - GetContestedResourcesRequest -@implementation GetConsensusParamsResponse +@implementation GetContestedResourcesRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetConsensusParamsResponse__storage_ { +typedef struct GetContestedResourcesRequest__storage_ { uint32_t _has_storage_[2]; - GetConsensusParamsResponse_GetConsensusParamsResponseV0 *v0; -} GetConsensusParamsResponse__storage_; + GetContestedResourcesRequest_GetContestedResourcesRequestV0 *v0; +} GetContestedResourcesRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5669,21 +7956,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_GetConsensusParamsResponseV0), - .number = GetConsensusParamsResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0), + .number = GetContestedResourcesRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourcesRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsResponse__storage_) + storageSize:sizeof(GetContestedResourcesRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -5701,25 +7988,35 @@ + (GPBDescriptor *)descriptor { @end -void GetConsensusParamsResponse_ClearVersionOneOfCase(GetConsensusParamsResponse *message) { - GPBDescriptor *descriptor = [GetConsensusParamsResponse descriptor]; +void GetContestedResourcesRequest_ClearVersionOneOfCase(GetContestedResourcesRequest *message) { + GPBDescriptor *descriptor = [GetContestedResourcesRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetConsensusParamsResponse_ConsensusParamsBlock +#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0 -@implementation GetConsensusParamsResponse_ConsensusParamsBlock +@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0 -@dynamic maxBytes; -@dynamic maxGas; -@dynamic timeIotaMs; +@dynamic contractId; +@dynamic documentTypeName; +@dynamic indexName; +@dynamic startIndexValuesArray, startIndexValuesArray_Count; +@dynamic endIndexValuesArray, endIndexValuesArray_Count; +@dynamic hasStartAtValueInfo, startAtValueInfo; +@dynamic hasCount, count; +@dynamic orderAscending; +@dynamic prove; -typedef struct GetConsensusParamsResponse_ConsensusParamsBlock__storage_ { +typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_ { uint32_t _has_storage_[1]; - NSString *maxBytes; - NSString *maxGas; - NSString *timeIotaMs; -} GetConsensusParamsResponse_ConsensusParamsBlock__storage_; + uint32_t count; + NSData *contractId; + NSString *documentTypeName; + NSString *indexName; + 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. @@ -5728,110 +8025,96 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "maxBytes", + .name = "contractId", .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxBytes, + .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_ContractId, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxBytes), + .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, contractId), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, + .dataType = GPBDataTypeBytes, }, { - .name = "maxGas", + .name = "documentTypeName", .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxGas, + .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_DocumentTypeName, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxGas), + .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, documentTypeName), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { - .name = "timeIotaMs", + .name = "indexName", .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_TimeIotaMs, + .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_IndexName, .hasIndex = 2, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, timeIotaMs), + .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, indexName), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsBlock class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -#pragma mark - GetConsensusParamsResponse_ConsensusParamsEvidence - -@implementation GetConsensusParamsResponse_ConsensusParamsEvidence - -@dynamic maxAgeNumBlocks; -@dynamic maxAgeDuration; -@dynamic maxBytes; - -typedef struct GetConsensusParamsResponse_ConsensusParamsEvidence__storage_ { - uint32_t _has_storage_[1]; - NSString *maxAgeNumBlocks; - NSString *maxAgeDuration; - NSString *maxBytes; -} GetConsensusParamsResponse_ConsensusParamsEvidence__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 = "maxAgeNumBlocks", + .name = "startIndexValuesArray", .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeNumBlocks), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, + .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_StartIndexValuesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, startIndexValuesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, }, { - .name = "maxAgeDuration", + .name = "endIndexValuesArray", .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeDuration, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeDuration), + .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), + .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, + .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 = GPBDataTypeString, + .dataType = GPBDataTypeBool, }, { - .name = "maxBytes", + .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxBytes, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxBytes), + .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_Prove, + .hasIndex = 7, + .offset = 8, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsEvidence class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest_GetContestedResourcesRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_) + storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5842,18 +8125,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetConsensusParamsResponse_GetConsensusParamsResponseV0 +#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo -@implementation GetConsensusParamsResponse_GetConsensusParamsResponseV0 +@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo -@dynamic hasBlock, block; -@dynamic hasEvidence, evidence; +@dynamic startValue; +@dynamic startValueIncluded; -typedef struct GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_ { +typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_ { uint32_t _has_storage_[1]; - GetConsensusParamsResponse_ConsensusParamsBlock *block; - GetConsensusParamsResponse_ConsensusParamsEvidence *evidence; -} GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_; + NSData *startValue; +} GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5862,33 +8144,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "block", - .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsBlock), - .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Block, + .name = "startValue", + .dataTypeSpecific.clazz = Nil, + .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValue, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, block), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_, startValue), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, }, { - .name = "evidence", - .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsEvidence), - .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Evidence, + .name = "startValueIncluded", + .dataTypeSpecific.clazz = Nil, + .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValueIncluded, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, evidence), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_GetConsensusParamsResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_) + storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -5899,17 +8181,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProtocolVersionUpgradeStateRequest +#pragma mark - GetContestedResourcesResponse -@implementation GetProtocolVersionUpgradeStateRequest +@implementation GetContestedResourcesResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetProtocolVersionUpgradeStateRequest__storage_ { +typedef struct GetContestedResourcesResponse__storage_ { uint32_t _has_storage_[2]; - GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 *v0; -} GetProtocolVersionUpgradeStateRequest__storage_; + GetContestedResourcesResponse_GetContestedResourcesResponseV0 *v0; +} GetContestedResourcesResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5919,21 +8201,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0), - .number = GetProtocolVersionUpgradeStateRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0), + .number = GetContestedResourcesResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourcesResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeStateRequest__storage_) + storageSize:sizeof(GetContestedResourcesResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -5951,20 +8233,26 @@ + (GPBDescriptor *)descriptor { @end -void GetProtocolVersionUpgradeStateRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateRequest *message) { - GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateRequest descriptor]; +void GetContestedResourcesResponse_ClearVersionOneOfCase(GetContestedResourcesResponse *message) { + GPBDescriptor *descriptor = [GetContestedResourcesResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 +#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0 -@implementation GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 +@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0 -@dynamic prove; +@dynamic resultOneOfCase; +@dynamic contestedResourceValues; +@dynamic proof; +@dynamic hasMetadata, metadata; -typedef struct GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_ { - uint32_t _has_storage_[1]; -} GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_; +typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues *contestedResourceValues; + Proof *proof; + ResponseMetadata *metadata; +} GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -5973,24 +8261,48 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0_FieldNumber_Prove, + .name = "contestedResourceValues", + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues), + .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_ContestedResourceValues, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, contestedResourceValues), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = 1, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse_GetContestedResourcesResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_) + storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateRequest)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6001,17 +8313,21 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProtocolVersionUpgradeStateResponse +void GetContestedResourcesResponse_GetContestedResourcesResponseV0_ClearResultOneOfCase(GetContestedResourcesResponse_GetContestedResourcesResponseV0 *message) { + GPBDescriptor *descriptor = [GetContestedResourcesResponse_GetContestedResourcesResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues -@implementation GetProtocolVersionUpgradeStateResponse +@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues -@dynamic versionOneOfCase; -@dynamic v0; +@dynamic contestedResourceValuesArray, contestedResourceValuesArray_Count; -typedef struct GetProtocolVersionUpgradeStateResponse__storage_ { - uint32_t _has_storage_[2]; - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *v0; -} GetProtocolVersionUpgradeStateResponse__storage_; +typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *contestedResourceValuesArray; +} GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6020,29 +8336,24 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0), - .number = GetProtocolVersionUpgradeStateResponse_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse__storage_, v0), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .name = "contestedResourceValuesArray", + .dataTypeSpecific.clazz = Nil, + .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues_FieldNumber_ContestedResourceValuesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_, contestedResourceValuesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeStateResponse__storage_) + storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__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(GetContestedResourcesResponse_GetContestedResourcesResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6053,26 +8364,17 @@ + (GPBDescriptor *)descriptor { @end -void GetProtocolVersionUpgradeStateResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateResponse *message) { - GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 +#pragma mark - GetVotePollsByEndDateRequest -@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 +@implementation GetVotePollsByEndDateRequest -@dynamic resultOneOfCase; -@dynamic versions; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_ { +typedef struct GetVotePollsByEndDateRequest__storage_ { uint32_t _has_storage_[2]; - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions *versions; - Proof *proof; - ResponseMetadata *metadata; -} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_; + GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 *v0; +} GetVotePollsByEndDateRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6081,48 +8383,29 @@ + (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 = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Proof, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0), + .number = GetVotePollsByEndDateRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_) + storageSize:sizeof(GetVotePollsByEndDateRequest__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(GetProtocolVersionUpgradeStateResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6133,21 +8416,29 @@ + (GPBDescriptor *)descriptor { @end -void GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *message) { - GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 descriptor]; +void GetVotePollsByEndDateRequest_ClearVersionOneOfCase(GetVotePollsByEndDateRequest *message) { + GPBDescriptor *descriptor = [GetVotePollsByEndDateRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions +#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 -@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions +@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 -@dynamic versionsArray, versionsArray_Count; +@dynamic hasStartTimeInfo, startTimeInfo; +@dynamic hasEndTimeInfo, endTimeInfo; +@dynamic hasLimit, limit; +@dynamic hasOffset, offset; +@dynamic ascending; +@dynamic prove; -typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_ { +typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *versionsArray; -} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__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. @@ -6156,24 +8447,69 @@ + (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, + .name = "startTimeInfo", + .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo), + .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_StartTimeInfo, + .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, }, + { + .name = "limit", + .dataTypeSpecific.clazz = Nil, + .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Limit, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, limit), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt32, + }, + { + .name = "offset", + .dataTypeSpecific.clazz = Nil, + .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Offset, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, offset), + .flags = GPBFieldOptional, + .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:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_) + storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6184,18 +8520,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry +#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo -@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry +@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo -@dynamic versionNumber; -@dynamic voteCount; +@dynamic startTimeMs; +@dynamic startTimeIncluded; -typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_ { +typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_ { uint32_t _has_storage_[1]; - uint32_t versionNumber; - uint32_t voteCount; -} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_; + uint64_t startTimeMs; +} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6204,85 +8539,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "versionNumber", + .name = "startTimeMs", .dataTypeSpecific.clazz = Nil, - .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VersionNumber, + .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo_FieldNumber_StartTimeMs, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, versionNumber), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_, startTimeMs), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt32, + .dataType = GPBDataTypeUInt64, }, { - .name = "voteCount", + .name = "startTimeIncluded", .dataTypeSpecific.clazz = Nil, - .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VoteCount, + .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo_FieldNumber_StartTimeIncluded, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, voteCount), + .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt32, - }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest - -@implementation GetProtocolVersionUpgradeVoteStatusRequest - -@dynamic versionOneOfCase; -@dynamic v0; - -typedef struct GetProtocolVersionUpgradeVoteStatusRequest__storage_ { - uint32_t _has_storage_[2]; - GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 *v0; -} GetProtocolVersionUpgradeVoteStatusRequest__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(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0), - .number = GetProtocolVersionUpgradeVoteStatusRequest_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest__storage_, v0), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest__storage_) + storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__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_GetVotePollsByEndDateRequestV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6293,24 +8576,17 @@ + (GPBDescriptor *)descriptor { @end -void GetProtocolVersionUpgradeVoteStatusRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusRequest *message) { - GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusRequest descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 +#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo -@implementation GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 +@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo -@dynamic startProTxHash; -@dynamic count; -@dynamic prove; +@dynamic endTimeMs; +@dynamic endTimeIncluded; -typedef struct GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_ { +typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_ { uint32_t _has_storage_[1]; - uint32_t count; - NSData *startProTxHash; -} GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_; + uint64_t endTimeMs; +} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6319,42 +8595,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "startProTxHash", + .name = "endTimeMs", .dataTypeSpecific.clazz = Nil, - .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_StartProTxHash, + .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeMs, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_, startProTxHash), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_, endTimeMs), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeUInt64, }, { - .name = "count", + .name = "endTimeIncluded", .dataTypeSpecific.clazz = Nil, - .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_Count, + .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeIncluded, .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. + .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_) + storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6365,17 +8632,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse +#pragma mark - GetVotePollsByEndDateResponse -@implementation GetProtocolVersionUpgradeVoteStatusResponse +@implementation GetVotePollsByEndDateResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetProtocolVersionUpgradeVoteStatusResponse__storage_ { +typedef struct GetVotePollsByEndDateResponse__storage_ { uint32_t _has_storage_[2]; - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *v0; -} GetProtocolVersionUpgradeVoteStatusResponse__storage_; + GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *v0; +} GetVotePollsByEndDateResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6385,21 +8652,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0), - .number = GetProtocolVersionUpgradeVoteStatusResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0), + .number = GetVotePollsByEndDateResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse__storage_) + storageSize:sizeof(GetVotePollsByEndDateResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -6417,26 +8684,26 @@ + (GPBDescriptor *)descriptor { @end -void GetProtocolVersionUpgradeVoteStatusResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse *message) { - GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse descriptor]; +void GetVotePollsByEndDateResponse_ClearVersionOneOfCase(GetVotePollsByEndDateResponse *message) { + GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 +#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 -@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 +@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 @dynamic resultOneOfCase; -@dynamic versions; +@dynamic votePollsByTimestamps; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_ { +typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_ { uint32_t _has_storage_[2]; - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals *versions; + GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps *votePollsByTimestamps; Proof *proof; ResponseMetadata *metadata; -} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_; +} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6445,40 +8712,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "versions", - .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals), - .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Versions, + .name = "votePollsByTimestamps", + .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps), + .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_VotePollsByTimestamps, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, versions), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, votePollsByTimestamps), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Proof, + .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Metadata, + .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_) + storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -6486,7 +8753,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6497,21 +8764,23 @@ + (GPBDescriptor *)descriptor { @end -void GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *message) { - GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 descriptor]; +void GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_ClearResultOneOfCase(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *message) { + GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals +#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp -@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals +@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp -@dynamic versionSignalsArray, versionSignalsArray_Count; +@dynamic timestamp; +@dynamic serializedVotePollsArray, serializedVotePollsArray_Count; -typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_ { +typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *versionSignalsArray; -} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_; + NSMutableArray *serializedVotePollsArray; + uint64_t timestamp; +} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6520,24 +8789,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "versionSignalsArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal), - .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals_FieldNumber_VersionSignalsArray, + .name = "timestamp", + .dataTypeSpecific.clazz = Nil, + .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(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_, versionSignalsArray), + .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_, serializedVotePollsArray), .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeBytes, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_) + storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6548,18 +8826,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal +#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps -@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal +@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps -@dynamic proTxHash; -@dynamic version; +@dynamic votePollsByTimestampsArray, votePollsByTimestampsArray_Count; +@dynamic finishedResults; -typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_ { +typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_ { uint32_t _has_storage_[1]; - uint32_t version; - NSData *proTxHash; -} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_; + NSMutableArray *votePollsByTimestampsArray; +} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6568,33 +8845,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "proTxHash", - .dataTypeSpecific.clazz = Nil, - .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_ProTxHash, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, proTxHash), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .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 = "version", + .name = "finishedResults", .dataTypeSpecific.clazz = Nil, - .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_Version, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, version), + .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps_FieldNumber_FinishedResults, + .hasIndex = 0, + .offset = 1, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt32, + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal class] + [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_) + storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6605,17 +8882,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetEpochsInfoRequest +#pragma mark - GetContestedResourceVoteStateRequest -@implementation GetEpochsInfoRequest +@implementation GetContestedResourceVoteStateRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetEpochsInfoRequest__storage_ { +typedef struct GetContestedResourceVoteStateRequest__storage_ { uint32_t _has_storage_[2]; - GetEpochsInfoRequest_GetEpochsInfoRequestV0 *v0; -} GetEpochsInfoRequest__storage_; + GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *v0; +} GetContestedResourceVoteStateRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6625,21 +8902,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoRequest_GetEpochsInfoRequestV0), - .number = GetEpochsInfoRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0), + .number = GetContestedResourceVoteStateRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetEpochsInfoRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetEpochsInfoRequest__storage_) + storageSize:sizeof(GetContestedResourceVoteStateRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -6657,25 +8934,35 @@ + (GPBDescriptor *)descriptor { @end -void GetEpochsInfoRequest_ClearVersionOneOfCase(GetEpochsInfoRequest *message) { - GPBDescriptor *descriptor = [GetEpochsInfoRequest descriptor]; +void GetContestedResourceVoteStateRequest_ClearVersionOneOfCase(GetContestedResourceVoteStateRequest *message) { + GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetEpochsInfoRequest_GetEpochsInfoRequestV0 +#pragma mark - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 -@implementation GetEpochsInfoRequest_GetEpochsInfoRequestV0 +@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 -@dynamic hasStartEpoch, startEpoch; -@dynamic count; -@dynamic ascending; +@dynamic contractId; +@dynamic documentTypeName; +@dynamic indexName; +@dynamic indexValuesArray, indexValuesArray_Count; +@dynamic resultType; +@dynamic allowIncludeLockedAndAbstainingVoteTally; +@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo; +@dynamic hasCount, count; @dynamic prove; -typedef struct GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_ { +typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_ { uint32_t _has_storage_[1]; + GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType resultType; uint32_t count; - GPBUInt32Value *startEpoch; -} GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_; + 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. @@ -6684,51 +8971,202 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "startEpoch", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_StartEpoch, + .name = "contractId", + .dataTypeSpecific.clazz = Nil, + .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ContractId, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, startEpoch), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, contractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "documentTypeName", + .dataTypeSpecific.clazz = Nil, + .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_DocumentTypeName, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, documentTypeName), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "indexName", + .dataTypeSpecific.clazz = Nil, + .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_IndexName, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, indexName), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "indexValuesArray", + .dataTypeSpecific.clazz = Nil, + .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 = (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 = "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 = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Count, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, count), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_Count, + .hasIndex = 7, + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, count), + .flags = GPBFieldOptional, .dataType = GPBDataTypeUInt32, }, { - .name = "ascending", + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .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:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return 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 + +@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo + +@dynamic startIdentifier; +@dynamic startIdentifierIncluded; + +typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_ { + uint32_t _has_storage_[1]; + NSData *startIdentifier; +} GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_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 = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Ascending, - .hasIndex = 2, - .offset = 3, // Stored in _has_storage_ to save space. + .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_, startIdentifier), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .dataType = GPBDataTypeBytes, }, { - .name = "prove", + .name = "startIdentifierIncluded", .dataTypeSpecific.clazz = Nil, - .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Prove, - .hasIndex = 4, - .offset = 5, // Stored in _has_storage_ to save space. + .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest_GetEpochsInfoRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_) + storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6739,17 +9177,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetEpochsInfoResponse +#pragma mark - GetContestedResourceVoteStateResponse -@implementation GetEpochsInfoResponse +@implementation GetContestedResourceVoteStateResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetEpochsInfoResponse__storage_ { +typedef struct GetContestedResourceVoteStateResponse__storage_ { uint32_t _has_storage_[2]; - GetEpochsInfoResponse_GetEpochsInfoResponseV0 *v0; -} GetEpochsInfoResponse__storage_; + GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *v0; +} GetContestedResourceVoteStateResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6759,21 +9197,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0), - .number = GetEpochsInfoResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0), + .number = GetContestedResourceVoteStateResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetEpochsInfoResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetEpochsInfoResponse__storage_) + storageSize:sizeof(GetContestedResourceVoteStateResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -6791,26 +9229,26 @@ + (GPBDescriptor *)descriptor { @end -void GetEpochsInfoResponse_ClearVersionOneOfCase(GetEpochsInfoResponse *message) { - GPBDescriptor *descriptor = [GetEpochsInfoResponse descriptor]; +void GetContestedResourceVoteStateResponse_ClearVersionOneOfCase(GetContestedResourceVoteStateResponse *message) { + GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0 +#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 -@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0 +@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 @dynamic resultOneOfCase; -@dynamic epochs; +@dynamic contestedResourceContenders; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_ { +typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_ { uint32_t _has_storage_[2]; - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos *epochs; + GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders *contestedResourceContenders; Proof *proof; ResponseMetadata *metadata; -} GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_; +} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6819,40 +9257,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "epochs", - .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos), - .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Epochs, + .name = "contestedResourceContenders", + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders), + .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_ContestedResourceContenders, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, epochs), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, contestedResourceContenders), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Proof, + .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Metadata, + .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_) + storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -6860,7 +9298,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6871,21 +9309,31 @@ + (GPBDescriptor *)descriptor { @end -void GetEpochsInfoResponse_GetEpochsInfoResponseV0_ClearResultOneOfCase(GetEpochsInfoResponse_GetEpochsInfoResponseV0 *message) { - GPBDescriptor *descriptor = [GetEpochsInfoResponse_GetEpochsInfoResponseV0 descriptor]; +void GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ClearResultOneOfCase(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *message) { + GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos +#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo -@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos +@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo -@dynamic epochInfosArray, epochInfosArray_Count; +@dynamic finishedVoteOutcome; +@dynamic hasWonByIdentityId, wonByIdentityId; +@dynamic finishedAtBlockHeight; +@dynamic finishedAtCoreBlockHeight; +@dynamic finishedAtBlockTimeMs; +@dynamic finishedAtEpoch; -typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_ { +typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *epochInfosArray; -} GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__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. @@ -6894,24 +9342,197 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "epochInfosArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo), - .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos_FieldNumber_EpochInfosArray, + .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", + .dataTypeSpecific.clazz = Nil, + .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 = 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] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__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 + +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 + +@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]; + 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. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + 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(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_, epochInfosArray), + .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), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_) + storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -6922,26 +9543,20 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo +#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender -@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo +@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender -@dynamic number; -@dynamic firstBlockHeight; -@dynamic firstCoreBlockHeight; -@dynamic startTime; -@dynamic feeMultiplier; -@dynamic protocolVersion; +@dynamic identifier; +@dynamic hasVoteCount, voteCount; +@dynamic hasDocument, document; -typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_ { +typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__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 voteCount; + NSData *identifier; + NSData *document; +} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -6950,69 +9565,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "number", + .name = "identifier", .dataTypeSpecific.clazz = Nil, - .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_Number, + .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Identifier, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, number), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, identifier), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt32, + .dataType = GPBDataTypeBytes, }, { - .name = "firstBlockHeight", + .name = "voteCount", .dataTypeSpecific.clazz = Nil, - .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FirstBlockHeight, + .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_VoteCount, .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), + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, voteCount), + .flags = GPBFieldOptional, .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", + .name = "document", .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, + .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Document, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, document), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_) + storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7023,17 +9611,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourcesRequest +#pragma mark - GetContestedResourceVotersForIdentityRequest -@implementation GetContestedResourcesRequest +@implementation GetContestedResourceVotersForIdentityRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetContestedResourcesRequest__storage_ { +typedef struct GetContestedResourceVotersForIdentityRequest__storage_ { uint32_t _has_storage_[2]; - GetContestedResourcesRequest_GetContestedResourcesRequestV0 *v0; -} GetContestedResourcesRequest__storage_; + GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 *v0; +} GetContestedResourceVotersForIdentityRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7043,21 +9631,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0), - .number = GetContestedResourcesRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0), + .number = GetContestedResourceVotersForIdentityRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourcesRequest__storage_) + storageSize:sizeof(GetContestedResourceVotersForIdentityRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -7075,35 +9663,35 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourcesRequest_ClearVersionOneOfCase(GetContestedResourcesRequest *message) { - GPBDescriptor *descriptor = [GetContestedResourcesRequest descriptor]; +void GetContestedResourceVotersForIdentityRequest_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityRequest *message) { + GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0 +#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 -@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0 +@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 @dynamic contractId; @dynamic documentTypeName; @dynamic indexName; -@dynamic startIndexValuesArray, startIndexValuesArray_Count; -@dynamic endIndexValuesArray, endIndexValuesArray_Count; -@dynamic hasStartAtValueInfo, startAtValueInfo; +@dynamic indexValuesArray, indexValuesArray_Count; +@dynamic contestantId; +@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo; @dynamic hasCount, count; @dynamic orderAscending; @dynamic prove; -typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_ { +typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__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_; + 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. @@ -7114,94 +9702,94 @@ + (GPBDescriptor *)descriptor { { .name = "contractId", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_ContractId, + .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContractId, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, contractId), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, contractId), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { .name = "documentTypeName", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_DocumentTypeName, + .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_DocumentTypeName, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, documentTypeName), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, documentTypeName), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { .name = "indexName", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_IndexName, + .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_IndexName, .hasIndex = 2, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, indexName), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, indexName), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { - .name = "startIndexValuesArray", + .name = "indexValuesArray", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_StartIndexValuesArray, + .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_IndexValuesArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, startIndexValuesArray), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, indexValuesArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeBytes, }, { - .name = "endIndexValuesArray", + .name = "contestantId", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_EndIndexValuesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, endIndexValuesArray), - .flags = GPBFieldRepeated, + .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContestantId, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, contestantId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .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), + .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 = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_Count, - .hasIndex = 4, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, count), + .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 = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_OrderAscending, - .hasIndex = 5, - .offset = 6, // Stored in _has_storage_ to save space. + .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 = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_Prove, - .hasIndex = 7, - .offset = 8, // Stored in _has_storage_ to save space. + .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:[GetContestedResourcesRequest_GetContestedResourcesRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_) + storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7212,17 +9800,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo +#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo -@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo +@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo -@dynamic startValue; -@dynamic startValueIncluded; +@dynamic startIdentifier; +@dynamic startIdentifierIncluded; -typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_ { +typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_ { uint32_t _has_storage_[1]; - NSData *startValue; -} GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_; + NSData *startIdentifier; +} GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7231,18 +9819,18 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "startValue", + .name = "startIdentifier", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValue, + .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_, startValue), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_, startIdentifier), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { - .name = "startValueIncluded", + .name = "startIdentifierIncluded", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValueIncluded, + .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded, .hasIndex = 1, .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), @@ -7250,14 +9838,14 @@ + (GPBDescriptor *)descriptor { }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_) + storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7268,17 +9856,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourcesResponse +#pragma mark - GetContestedResourceVotersForIdentityResponse -@implementation GetContestedResourcesResponse +@implementation GetContestedResourceVotersForIdentityResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetContestedResourcesResponse__storage_ { +typedef struct GetContestedResourceVotersForIdentityResponse__storage_ { uint32_t _has_storage_[2]; - GetContestedResourcesResponse_GetContestedResourcesResponseV0 *v0; -} GetContestedResourcesResponse__storage_; + GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *v0; +} GetContestedResourceVotersForIdentityResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7288,21 +9876,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0), - .number = GetContestedResourcesResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0), + .number = GetContestedResourceVotersForIdentityResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourcesResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourcesResponse__storage_) + storageSize:sizeof(GetContestedResourceVotersForIdentityResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -7320,26 +9908,26 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourcesResponse_ClearVersionOneOfCase(GetContestedResourcesResponse *message) { - GPBDescriptor *descriptor = [GetContestedResourcesResponse descriptor]; +void GetContestedResourceVotersForIdentityResponse_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityResponse *message) { + GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0 +#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 -@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0 +@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 @dynamic resultOneOfCase; -@dynamic contestedResourceValues; +@dynamic contestedResourceVoters; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_ { +typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_ { uint32_t _has_storage_[2]; - GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues *contestedResourceValues; + GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters *contestedResourceVoters; Proof *proof; ResponseMetadata *metadata; -} GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_; +} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7348,40 +9936,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contestedResourceValues", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues), - .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_ContestedResourceValues, + .name = "contestedResourceVoters", + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters), + .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_ContestedResourceVoters, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, contestedResourceValues), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, contestedResourceVoters), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Proof, + .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Metadata, + .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse_GetContestedResourcesResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_) + storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -7389,7 +9977,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7400,21 +9988,22 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourcesResponse_GetContestedResourcesResponseV0_ClearResultOneOfCase(GetContestedResourcesResponse_GetContestedResourcesResponseV0 *message) { - GPBDescriptor *descriptor = [GetContestedResourcesResponse_GetContestedResourcesResponseV0 descriptor]; +void GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ClearResultOneOfCase(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *message) { + GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues +#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters -@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues +@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters -@dynamic contestedResourceValuesArray, contestedResourceValuesArray_Count; +@dynamic votersArray, votersArray_Count; +@dynamic finishedResults; -typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_ { +typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *contestedResourceValuesArray; -} GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_; + NSMutableArray *votersArray; +} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7423,24 +10012,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contestedResourceValuesArray", + .name = "votersArray", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues_FieldNumber_ContestedResourceValuesArray, + .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters_FieldNumber_VotersArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_, contestedResourceValuesArray), + .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:[GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_) + storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7451,17 +10049,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetVotePollsByEndDateRequest +#pragma mark - GetContestedResourceIdentityVotesRequest -@implementation GetVotePollsByEndDateRequest +@implementation GetContestedResourceIdentityVotesRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetVotePollsByEndDateRequest__storage_ { +typedef struct GetContestedResourceIdentityVotesRequest__storage_ { uint32_t _has_storage_[2]; - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 *v0; -} GetVotePollsByEndDateRequest__storage_; + GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 *v0; +} GetContestedResourceIdentityVotesRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7471,21 +10069,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0), - .number = GetVotePollsByEndDateRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0), + .number = GetContestedResourceIdentityVotesRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateRequest__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -7503,29 +10101,29 @@ + (GPBDescriptor *)descriptor { @end -void GetVotePollsByEndDateRequest_ClearVersionOneOfCase(GetVotePollsByEndDateRequest *message) { - GPBDescriptor *descriptor = [GetVotePollsByEndDateRequest descriptor]; +void GetContestedResourceIdentityVotesRequest_ClearVersionOneOfCase(GetContestedResourceIdentityVotesRequest *message) { + GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 +#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 -@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 +@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 -@dynamic hasStartTimeInfo, startTimeInfo; -@dynamic hasEndTimeInfo, endTimeInfo; +@dynamic identityId; @dynamic hasLimit, limit; @dynamic hasOffset, offset; -@dynamic ascending; +@dynamic orderAscending; +@dynamic hasStartAtVotePollIdInfo, startAtVotePollIdInfo; @dynamic prove; -typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_ { +typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_ { uint32_t _has_storage_[1]; - uint32_t limit; - uint32_t offset; - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo *startTimeInfo; - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo *endTimeInfo; -} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__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. @@ -7534,125 +10132,69 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "startTimeInfo", - .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo), - .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_StartTimeInfo, + .name = "identityId", + .dataTypeSpecific.clazz = Nil, + .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_IdentityId, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, startTimeInfo), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, identityId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, }, { - .name = "endTimeInfo", - .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo), - .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_EndTimeInfo, + .name = "limit", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Limit, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, endTimeInfo), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, limit), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { - .name = "limit", - .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Limit, + .name = "offset", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Offset, .hasIndex = 2, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, limit), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, offset), .flags = GPBFieldOptional, - .dataType = GPBDataTypeUInt32, + .dataType = GPBDataTypeMessage, }, { - .name = "offset", + .name = "orderAscending", .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Offset, + .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_OrderAscending, .hasIndex = 3, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, offset), - .flags = GPBFieldOptional, - .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. + .offset = 4, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBool, }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest)]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo - -@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo - -@dynamic startTimeMs; -@dynamic startTimeIncluded; - -typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_ { - uint32_t _has_storage_[1]; - uint64_t startTimeMs; -} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__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 = "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 = "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 = "startTimeIncluded", + .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo_FieldNumber_StartTimeIncluded, - .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. + .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:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7663,17 +10205,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo +#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo -@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo +@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo -@dynamic endTimeMs; -@dynamic endTimeIncluded; +@dynamic startAtPollIdentifier; +@dynamic startPollIdentifierIncluded; -typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_ { +typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_ { uint32_t _has_storage_[1]; - uint64_t endTimeMs; -} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_; + NSData *startAtPollIdentifier; +} GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7682,18 +10224,18 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "endTimeMs", + .name = "startAtPollIdentifier", .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeMs, + .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartAtPollIdentifier, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_, endTimeMs), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_, startAtPollIdentifier), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt64, + .dataType = GPBDataTypeBytes, }, { - .name = "endTimeIncluded", + .name = "startPollIdentifierIncluded", .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeIncluded, + .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartPollIdentifierIncluded, .hasIndex = 1, .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), @@ -7701,14 +10243,14 @@ + (GPBDescriptor *)descriptor { }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7719,17 +10261,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetVotePollsByEndDateResponse +#pragma mark - GetContestedResourceIdentityVotesResponse -@implementation GetVotePollsByEndDateResponse +@implementation GetContestedResourceIdentityVotesResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetVotePollsByEndDateResponse__storage_ { +typedef struct GetContestedResourceIdentityVotesResponse__storage_ { uint32_t _has_storage_[2]; - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *v0; -} GetVotePollsByEndDateResponse__storage_; + GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *v0; +} GetContestedResourceIdentityVotesResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7739,21 +10281,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0), - .number = GetVotePollsByEndDateResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0), + .number = GetContestedResourceIdentityVotesResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateResponse__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -7771,26 +10313,26 @@ + (GPBDescriptor *)descriptor { @end -void GetVotePollsByEndDateResponse_ClearVersionOneOfCase(GetVotePollsByEndDateResponse *message) { - GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse descriptor]; +void GetContestedResourceIdentityVotesResponse_ClearVersionOneOfCase(GetContestedResourceIdentityVotesResponse *message) { + GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 +#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 -@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 +@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 @dynamic resultOneOfCase; -@dynamic votePollsByTimestamps; +@dynamic votes; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_ { +typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_ { uint32_t _has_storage_[2]; - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps *votePollsByTimestamps; + GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes *votes; Proof *proof; ResponseMetadata *metadata; -} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_; +} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7799,40 +10341,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "votePollsByTimestamps", - .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps), - .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_VotePollsByTimestamps, + .name = "votes", + .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes), + .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Votes, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, votePollsByTimestamps), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, votes), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Proof, + .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Metadata, + .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -7840,7 +10382,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7851,23 +10393,22 @@ + (GPBDescriptor *)descriptor { @end -void GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_ClearResultOneOfCase(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *message) { - GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 descriptor]; +void GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ClearResultOneOfCase(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *message) { + GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp +#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes -@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp +@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes -@dynamic timestamp; -@dynamic serializedVotePollsArray, serializedVotePollsArray_Count; +@dynamic contestedResourceIdentityVotesArray, contestedResourceIdentityVotesArray_Count; +@dynamic finishedResults; -typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_ { +typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *serializedVotePollsArray; - uint64_t timestamp; -} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_; + NSMutableArray *contestedResourceIdentityVotesArray; +} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -7876,33 +10417,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "timestamp", - .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp_FieldNumber_Timestamp, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_, timestamp), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt64, + .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 = "serializedVotePollsArray", + .name = "finishedResults", .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp_FieldNumber_SerializedVotePollsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_, serializedVotePollsArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, + .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:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7913,17 +10454,18 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps +#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice -@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps +@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice -@dynamic votePollsByTimestampsArray, votePollsByTimestampsArray_Count; -@dynamic finishedResults; +@dynamic voteChoiceType; +@dynamic hasIdentityId, identityId; -typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_ { +typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *votePollsByTimestampsArray; -} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_; + 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. @@ -7932,33 +10474,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 = "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 = "finishedResults", + .name = "identityId", .dataTypeSpecific.clazz = Nil, - .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps_FieldNumber_FinishedResults, - .hasIndex = 0, - .offset = 1, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_IdentityId, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_, identityId), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -7969,87 +10511,71 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceVoteStateRequest - -@implementation GetContestedResourceVoteStateRequest +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); +} -@dynamic versionOneOfCase; -@dynamic v0; +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); +} -typedef struct GetContestedResourceVoteStateRequest__storage_ { - uint32_t _has_storage_[2]; - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *v0; -} GetContestedResourceVoteStateRequest__storage_; +#pragma mark - Enum GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType -// This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; +GPBEnumDescriptor *GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_EnumDescriptor(void) { + static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0), - .number = GetContestedResourceVoteStateRequest_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest__storage_, v0), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateRequest__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; + 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; } -@end - -void GetContestedResourceVoteStateRequest_ClearVersionOneOfCase(GetContestedResourceVoteStateRequest *message) { - GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); +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 - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 -@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 +#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote + +@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote @dynamic contractId; @dynamic documentTypeName; -@dynamic indexName; -@dynamic indexValuesArray, indexValuesArray_Count; -@dynamic resultType; -@dynamic allowIncludeLockedAndAbstainingVoteTally; -@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo; -@dynamic hasCount, count; -@dynamic prove; +@dynamic serializedIndexStorageValuesArray, serializedIndexStorageValuesArray_Count; +@dynamic hasVoteChoice, voteChoice; -typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_ { +typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__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 *serializedIndexStorageValuesArray; + GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *voteChoice; +} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8060,94 +10586,49 @@ + (GPBDescriptor *)descriptor { { .name = "contractId", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ContractId, + .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_ContractId, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, contractId), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, contractId), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { .name = "documentTypeName", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_DocumentTypeName, + .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_DocumentTypeName, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, documentTypeName), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, - }, - { - .name = "indexName", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_IndexName, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, indexName), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, documentTypeName), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { - .name = "indexValuesArray", + .name = "serializedIndexStorageValuesArray", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_IndexValuesArray, + .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_SerializedIndexStorageValuesArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, indexValuesArray), + .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, serializedIndexStorageValuesArray), .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", - .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 = "startAtIdentifierInfo", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo), - .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_StartAtIdentifierInfo, - .hasIndex = 6, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, startAtIdentifierInfo), + .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, }, - { - .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 = 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:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_) + storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -8158,67 +10639,74 @@ + (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); -} +#pragma mark - GetPrefundedSpecializedBalanceRequest -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); -} +@implementation GetPrefundedSpecializedBalanceRequest -#pragma mark - Enum GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType +@dynamic versionOneOfCase; +@dynamic v0; -GPBEnumDescriptor *GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; +typedef struct GetPrefundedSpecializedBalanceRequest__storage_ { + uint32_t _has_storage_[2]; + GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 *v0; +} GetPrefundedSpecializedBalanceRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; if (!descriptor) { - static const char *valueNames = - "Documents\000VoteTally\000DocumentsAndVoteTall" - "y\000"; - static const int32_t values[] = { - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_Documents, - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_VoteTally, - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_DocumentsAndVoteTally, + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0), + .number = GetPrefundedSpecializedBalanceRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, }; - 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]; - } + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetPrefundedSpecializedBalanceRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; } return descriptor; } -BOOL 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; - } -} +@end -#pragma mark - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo +void GetPrefundedSpecializedBalanceRequest_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceRequest *message) { + GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 -@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo +@implementation GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 -@dynamic startIdentifier; -@dynamic startIdentifierIncluded; +@dynamic id_p; +@dynamic prove; -typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_ { +typedef struct GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *startIdentifier; -} GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_; + NSData *id_p; +} GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8227,18 +10715,18 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "startIdentifier", + .name = "id_p", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier, + .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Id_p, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_, startIdentifier), + .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_, id_p), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { - .name = "startIdentifierIncluded", + .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded, + .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Prove, .hasIndex = 1, .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), @@ -8246,14 +10734,14 @@ + (GPBDescriptor *)descriptor { }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo class] + [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_) + storageSize:sizeof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPrefundedSpecializedBalanceRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -8264,17 +10752,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceVoteStateResponse +#pragma mark - GetPrefundedSpecializedBalanceResponse -@implementation GetContestedResourceVoteStateResponse +@implementation GetPrefundedSpecializedBalanceResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetContestedResourceVoteStateResponse__storage_ { +typedef struct GetPrefundedSpecializedBalanceResponse__storage_ { uint32_t _has_storage_[2]; - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *v0; -} GetContestedResourceVoteStateResponse__storage_; + GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *v0; +} GetPrefundedSpecializedBalanceResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8284,21 +10772,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0), - .number = GetContestedResourceVoteStateResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0), + .number = GetPrefundedSpecializedBalanceResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse class] + [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateResponse__storage_) + storageSize:sizeof(GetPrefundedSpecializedBalanceResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -8316,26 +10804,26 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceVoteStateResponse_ClearVersionOneOfCase(GetContestedResourceVoteStateResponse *message) { - GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse descriptor]; +void GetPrefundedSpecializedBalanceResponse_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceResponse *message) { + GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 +#pragma mark - GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 -@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 +@implementation GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 @dynamic resultOneOfCase; -@dynamic contestedResourceContenders; +@dynamic balance; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_ { +typedef struct GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_ { uint32_t _has_storage_[2]; - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders *contestedResourceContenders; Proof *proof; ResponseMetadata *metadata; -} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_; + uint64_t balance; +} GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8344,40 +10832,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contestedResourceContenders", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders), - .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_ContestedResourceContenders, + .name = "balance", + .dataTypeSpecific.clazz = Nil, + .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Balance, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, contestedResourceContenders), + .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, balance), .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeUInt64, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Proof, + .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Metadata, + .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_) + storageSize:sizeof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -8385,7 +10873,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPrefundedSpecializedBalanceResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -8396,230 +10884,53 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ClearResultOneOfCase(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *message) { - GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 descriptor]; +void GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_ClearResultOneOfCase(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *message) { + GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo - -@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo - -@dynamic finishedVoteOutcome; -@dynamic hasWonByIdentityId, wonByIdentityId; -@dynamic finishedAtBlockHeight; -@dynamic finishedAtCoreBlockHeight; -@dynamic finishedAtBlockTimeMs; -@dynamic finishedAtEpoch; - -typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__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_; - -// 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 = "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", - .dataTypeSpecific.clazz = Nil, - .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 = 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] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__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 - -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 - -@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders - -@dynamic contendersArray, contendersArray_Count; -@dynamic hasAbstainVoteTally, abstainVoteTally; -@dynamic hasLockVoteTally, lockVoteTally; -@dynamic hasFinishedVoteInfo, finishedVoteInfo; +#pragma mark - GetTotalCreditsInPlatformRequest -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_; +@implementation GetTotalCreditsInPlatformRequest -// 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 = "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, - }, +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetTotalCreditsInPlatformRequest__storage_ { + uint32_t _has_storage_[2]; + GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 *v0; +} GetTotalCreditsInPlatformRequest__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 = "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(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0), + .number = GetTotalCreditsInPlatformRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders class] + [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_) + storageSize:sizeof(GetTotalCreditsInPlatformRequest__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 @@ -8630,20 +10941,20 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender +void GetTotalCreditsInPlatformRequest_ClearVersionOneOfCase(GetTotalCreditsInPlatformRequest *message) { + GPBDescriptor *descriptor = [GetTotalCreditsInPlatformRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 -@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender +@implementation GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 -@dynamic identifier; -@dynamic hasVoteCount, voteCount; -@dynamic hasDocument, document; +@dynamic prove; -typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_ { +typedef struct GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_ { uint32_t _has_storage_[1]; - uint32_t voteCount; - NSData *identifier; - NSData *document; -} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_; +} GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8652,42 +10963,24 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identifier", + .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Identifier, + .number = GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0_FieldNumber_Prove, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, identifier), + .offset = 1, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "voteCount", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_VoteCount, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, voteCount), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeUInt32, - }, - { - .name = "document", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Document, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, document), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender class] + [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_) + storageSize:sizeof(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTotalCreditsInPlatformRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -8698,17 +10991,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceVotersForIdentityRequest +#pragma mark - GetTotalCreditsInPlatformResponse -@implementation GetContestedResourceVotersForIdentityRequest +@implementation GetTotalCreditsInPlatformResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetContestedResourceVotersForIdentityRequest__storage_ { +typedef struct GetTotalCreditsInPlatformResponse__storage_ { uint32_t _has_storage_[2]; - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 *v0; -} GetContestedResourceVotersForIdentityRequest__storage_; + GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 *v0; +} GetTotalCreditsInPlatformResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8718,21 +11011,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0), - .number = GetContestedResourceVotersForIdentityRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0), + .number = GetTotalCreditsInPlatformResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest class] + [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVotersForIdentityRequest__storage_) + storageSize:sizeof(GetTotalCreditsInPlatformResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -8750,35 +11043,26 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceVotersForIdentityRequest_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityRequest *message) { - GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityRequest descriptor]; +void GetTotalCreditsInPlatformResponse_ClearVersionOneOfCase(GetTotalCreditsInPlatformResponse *message) { + GPBDescriptor *descriptor = [GetTotalCreditsInPlatformResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 +#pragma mark - GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 -@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 +@implementation GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 -@dynamic contractId; -@dynamic documentTypeName; -@dynamic indexName; -@dynamic indexValuesArray, indexValuesArray_Count; -@dynamic contestantId; -@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo; -@dynamic hasCount, count; -@dynamic orderAscending; -@dynamic prove; +@dynamic resultOneOfCase; +@dynamic credits; +@dynamic proof; +@dynamic hasMetadata, metadata; -typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__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_; +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. @@ -8787,96 +11071,105 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contractId", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContractId, - .hasIndex = 0, - .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", + .name = "credits", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContestantId, - .hasIndex = 3, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, contestantId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Credits, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, credits), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt64, }, { - .name = "startAtIdentifierInfo", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo), - .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_StartAtIdentifierInfo, - .hasIndex = 4, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, startAtIdentifierInfo), + .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 = "count", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_Count, - .hasIndex = 5, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, count), + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, metadata), .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, + .dataType = GPBDataTypeMessage, }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__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(GetTotalCreditsInPlatformResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +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 GetPathElementsRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +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. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_Prove, - .hasIndex = 8, - .offset = 9, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .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:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_) + storageSize:sizeof(GetPathElementsRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest)]; + 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 @@ -8887,17 +11180,24 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo +void GetPathElementsRequest_ClearVersionOneOfCase(GetPathElementsRequest *message) { + GPBDescriptor *descriptor = [GetPathElementsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetPathElementsRequest_GetPathElementsRequestV0 -@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo +@implementation GetPathElementsRequest_GetPathElementsRequestV0 -@dynamic startIdentifier; -@dynamic startIdentifierIncluded; +@dynamic pathArray, pathArray_Count; +@dynamic keysArray, keysArray_Count; +@dynamic prove; -typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_ { +typedef struct GetPathElementsRequest_GetPathElementsRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *startIdentifier; -} GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_; + NSMutableArray *pathArray; + NSMutableArray *keysArray; +} GetPathElementsRequest_GetPathElementsRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8906,33 +11206,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "startIdentifier", + .name = "pathArray", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_, startIdentifier), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_PathArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, pathArray), + .flags = GPBFieldRepeated, .dataType = GPBDataTypeBytes, }, { - .name = "startIdentifierIncluded", + .name = "keysArray", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded, - .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. + .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_KeysArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, keysArray), + .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, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo class] + [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest_GetPathElementsRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_) + storageSize:sizeof(GetPathElementsRequest_GetPathElementsRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -8943,17 +11252,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceVotersForIdentityResponse +#pragma mark - GetPathElementsResponse -@implementation GetContestedResourceVotersForIdentityResponse +@implementation GetPathElementsResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetContestedResourceVotersForIdentityResponse__storage_ { +typedef struct GetPathElementsResponse__storage_ { uint32_t _has_storage_[2]; - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *v0; -} GetContestedResourceVotersForIdentityResponse__storage_; + GetPathElementsResponse_GetPathElementsResponseV0 *v0; +} GetPathElementsResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -8963,21 +11272,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0), - .number = GetContestedResourceVotersForIdentityResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0), + .number = GetPathElementsResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetPathElementsResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse class] + [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVotersForIdentityResponse__storage_) + storageSize:sizeof(GetPathElementsResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -8995,26 +11304,26 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceVotersForIdentityResponse_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityResponse *message) { - GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse descriptor]; +void GetPathElementsResponse_ClearVersionOneOfCase(GetPathElementsResponse *message) { + GPBDescriptor *descriptor = [GetPathElementsResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 +#pragma mark - GetPathElementsResponse_GetPathElementsResponseV0 -@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 +@implementation GetPathElementsResponse_GetPathElementsResponseV0 @dynamic resultOneOfCase; -@dynamic contestedResourceVoters; +@dynamic elements; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_ { +typedef struct GetPathElementsResponse_GetPathElementsResponseV0__storage_ { uint32_t _has_storage_[2]; - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters *contestedResourceVoters; + GetPathElementsResponse_GetPathElementsResponseV0_Elements *elements; Proof *proof; ResponseMetadata *metadata; -} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_; +} GetPathElementsResponse_GetPathElementsResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -9023,40 +11332,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contestedResourceVoters", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters), - .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_ContestedResourceVoters, + .name = "elements", + .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0_Elements), + .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Elements, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, contestedResourceVoters), + .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, elements), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Proof, + .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, proof), + .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Metadata, + .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, metadata), + .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse_GetPathElementsResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_) + storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -9064,7 +11373,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9075,22 +11384,21 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ClearResultOneOfCase(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *message) { - GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 descriptor]; +void GetPathElementsResponse_GetPathElementsResponseV0_ClearResultOneOfCase(GetPathElementsResponse_GetPathElementsResponseV0 *message) { + GPBDescriptor *descriptor = [GetPathElementsResponse_GetPathElementsResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters +#pragma mark - GetPathElementsResponse_GetPathElementsResponseV0_Elements -@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters +@implementation GetPathElementsResponse_GetPathElementsResponseV0_Elements -@dynamic votersArray, votersArray_Count; -@dynamic finishedResults; +@dynamic elementsArray, elementsArray_Count; -typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_ { +typedef struct GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *votersArray; -} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_; + NSMutableArray *elementsArray; +} GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -9099,33 +11407,76 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "votersArray", + .name = "elementsArray", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters_FieldNumber_VotersArray, + .number = GetPathElementsResponse_GetPathElementsResponseV0_Elements_FieldNumber_ElementsArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_, votersArray), + .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_, elementsArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeBytes, }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse_GetPathElementsResponseV0_Elements class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetStatusRequest + +@implementation GetStatusRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +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. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { { - .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, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusRequest_GetStatusRequestV0), + .number = GetStatusRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetStatusRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters class] + [GPBDescriptor allocDescriptorForClass:[GetStatusRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_) + storageSize:sizeof(GetStatusRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0)]; + 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 @@ -9136,17 +11487,55 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceIdentityVotesRequest +void GetStatusRequest_ClearVersionOneOfCase(GetStatusRequest *message) { + GPBDescriptor *descriptor = [GetStatusRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetStatusRequest_GetStatusRequestV0 -@implementation GetContestedResourceIdentityVotesRequest +@implementation GetStatusRequest_GetStatusRequestV0 + + +typedef struct GetStatusRequest_GetStatusRequestV0__storage_ { + uint32_t _has_storage_[1]; +} 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) { + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetStatusRequest_GetStatusRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:NULL + fieldCount:0 + storageSize:sizeof(GetStatusRequest_GetStatusRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetStatusResponse + +@implementation GetStatusResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetContestedResourceIdentityVotesRequest__storage_ { +typedef struct GetStatusResponse__storage_ { uint32_t _has_storage_[2]; - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 *v0; -} GetContestedResourceIdentityVotesRequest__storage_; + GetStatusResponse_GetStatusResponseV0 *v0; +} GetStatusResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -9156,21 +11545,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0), - .number = GetContestedResourceIdentityVotesRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0), + .number = GetStatusResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetStatusResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceIdentityVotesRequest__storage_) + storageSize:sizeof(GetStatusResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -9188,29 +11577,31 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceIdentityVotesRequest_ClearVersionOneOfCase(GetContestedResourceIdentityVotesRequest *message) { - GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesRequest descriptor]; +void GetStatusResponse_ClearVersionOneOfCase(GetStatusResponse *message) { + GPBDescriptor *descriptor = [GetStatusResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 +#pragma mark - GetStatusResponse_GetStatusResponseV0 -@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 +@implementation GetStatusResponse_GetStatusResponseV0 -@dynamic identityId; -@dynamic hasLimit, limit; -@dynamic hasOffset, offset; -@dynamic orderAscending; -@dynamic hasStartAtVotePollIdInfo, startAtVotePollIdInfo; -@dynamic prove; +@dynamic hasVersion, version; +@dynamic hasNode, node; +@dynamic hasChain, chain; +@dynamic hasNetwork, network; +@dynamic hasStateSync, stateSync; +@dynamic hasTime, time; -typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_ { +typedef struct GetStatusResponse_GetStatusResponseV0__storage_ { uint32_t _has_storage_[1]; - NSData *identityId; - GPBUInt32Value *limit; - GPBUInt32Value *offset; - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo *startAtVotePollIdInfo; -} GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__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. @@ -9219,69 +11610,69 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identityId", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_IdentityId, + .name = "version", + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version), + .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Version, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, identityId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, version), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, { - .name = "limit", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Limit, + .name = "node", + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Node), + .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Node, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, limit), + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, node), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { - .name = "offset", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Offset, + .name = "chain", + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Chain), + .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Chain, .hasIndex = 2, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, offset), + .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 = "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 = "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 = "startAtVotePollIdInfo", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo), - .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_StartAtVotePollIdInfo, + .name = "time", + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Time), + .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Time, .hasIndex = 5, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, startAtVotePollIdInfo), + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, time), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .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] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9292,17 +11683,18 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version -@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo +@implementation GetStatusResponse_GetStatusResponseV0_Version -@dynamic startAtPollIdentifier; -@dynamic startPollIdentifierIncluded; +@dynamic hasSoftware, software; +@dynamic hasProtocol, protocol; -typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_ { +typedef struct GetStatusResponse_GetStatusResponseV0_Version__storage_ { uint32_t _has_storage_[1]; - NSData *startAtPollIdentifier; -} GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__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. @@ -9311,33 +11703,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "startAtPollIdentifier", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartAtPollIdentifier, + .name = "software", + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Software), + .number = GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Software, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_, startAtPollIdentifier), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version__storage_, software), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, { - .name = "startPollIdentifierIncluded", - .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartPollIdentifierIncluded, + .name = "protocol", + .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol), + .number = GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Protocol, .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version__storage_, protocol), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9348,17 +11740,20 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceIdentityVotesResponse +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Software -@implementation GetContestedResourceIdentityVotesResponse +@implementation GetStatusResponse_GetStatusResponseV0_Version_Software -@dynamic versionOneOfCase; -@dynamic v0; +@dynamic dapi; +@dynamic hasDrive, drive; +@dynamic hasTenderdash, tenderdash; -typedef struct GetContestedResourceIdentityVotesResponse__storage_ { - uint32_t _has_storage_[2]; - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *v0; -} GetContestedResourceIdentityVotesResponse__storage_; +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. @@ -9367,29 +11762,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0), - .number = GetContestedResourceIdentityVotesResponse_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse__storage_, v0), + .name = "dapi", + .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, + }, + { + .name = "drive", + .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 = GPBDataTypeMessage, + .dataType = GPBDataTypeString, + }, + { + .name = "tenderdash", + .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, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Software class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceIdentityVotesResponse__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Software__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(GetStatusResponse_GetStatusResponseV0_Version)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9400,26 +11808,18 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceIdentityVotesResponse_ClearVersionOneOfCase(GetContestedResourceIdentityVotesResponse *message) { - GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol -@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 +@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol -@dynamic resultOneOfCase; -@dynamic votes; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic hasTenderdash, tenderdash; +@dynamic hasDrive, drive; -typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_ { - uint32_t _has_storage_[2]; - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes *votes; - Proof *proof; - ResponseMetadata *metadata; -} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_; +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. @@ -9428,48 +11828,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "votes", - .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes), - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Votes, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, votes), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Proof, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, proof), + .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 = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, metadata), + .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:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Protocol class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol__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(GetContestedResourceIdentityVotesResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9480,22 +11865,18 @@ + (GPBDescriptor *)descriptor { @end -void GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ClearResultOneOfCase(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *message) { - GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash -@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes +@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash -@dynamic contestedResourceIdentityVotesArray, contestedResourceIdentityVotesArray_Count; -@dynamic finishedResults; +@dynamic p2P; +@dynamic block; -typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_ { +typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *contestedResourceIdentityVotesArray; -} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_; + 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. @@ -9504,33 +11885,38 @@ + (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 = "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 = "finishedResults", + .name = "block", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes_FieldNumber_FinishedResults, - .hasIndex = 0, - .offset = 1, // Stored in _has_storage_ to save space. + .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 = GPBDataTypeBool, + .dataType = GPBDataTypeUInt32, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes class] + [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(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)]; +#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 @@ -9541,18 +11927,18 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice +#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive -@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice +@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive -@dynamic voteChoiceType; -@dynamic hasIdentityId, identityId; +@dynamic latest; +@dynamic current; -typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_ { +typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_ { uint32_t _has_storage_[1]; - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType voteChoiceType; - NSData *identityId; -} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_; + 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. @@ -9561,33 +11947,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "voteChoiceType", - .dataTypeSpecific.enumDescFunc = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_EnumDescriptor, - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_VoteChoiceType, + .name = "latest", + .dataTypeSpecific.clazz = Nil, + .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Latest, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_, voteChoiceType), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeEnum, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_, latest), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, }, { - .name = "identityId", + .name = "current", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_IdentityId, + .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Current, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_, identityId), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_, current), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice class] + [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(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9598,71 +11984,22 @@ + (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 - -@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote - -@dynamic contractId; -@dynamic documentTypeName; -@dynamic serializedIndexStorageValuesArray, serializedIndexStorageValuesArray_Count; -@dynamic hasVoteChoice, voteChoice; - -typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_ { +#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]; - NSData *contractId; - NSString *documentTypeName; - NSMutableArray *serializedIndexStorageValuesArray; - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *voteChoice; -} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_; + 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. @@ -9671,51 +12008,51 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contractId", + .name = "local", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_ContractId, + .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Local, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, contractId), + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, local), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeUInt64, }, { - .name = "documentTypeName", + .name = "block", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_DocumentTypeName, + .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Block, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, documentTypeName), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, block), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt64, }, { - .name = "serializedIndexStorageValuesArray", + .name = "genesis", .dataTypeSpecific.clazz = Nil, - .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_SerializedIndexStorageValuesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, serializedIndexStorageValuesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, + .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Genesis, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, genesis), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt64, }, { - .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), + .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 = GPBDataTypeMessage, + .dataType = GPBDataTypeUInt32, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Time class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Time__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9726,17 +12063,18 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetPrefundedSpecializedBalanceRequest +#pragma mark - GetStatusResponse_GetStatusResponseV0_Node -@implementation GetPrefundedSpecializedBalanceRequest +@implementation GetStatusResponse_GetStatusResponseV0_Node -@dynamic versionOneOfCase; -@dynamic v0; +@dynamic id_p; +@dynamic hasProTxHash, proTxHash; -typedef struct GetPrefundedSpecializedBalanceRequest__storage_ { - uint32_t _has_storage_[2]; - GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 *v0; -} GetPrefundedSpecializedBalanceRequest__storage_; +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. @@ -9745,29 +12083,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0), - .number = GetPrefundedSpecializedBalanceRequest_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest__storage_, v0), + .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 = GPBDataTypeMessage, + .dataType = GPBDataTypeBytes, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceRequest class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Node class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPrefundedSpecializedBalanceRequest__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Node__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(GetStatusResponse_GetStatusResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9778,22 +12120,31 @@ + (GPBDescriptor *)descriptor { @end -void GetPrefundedSpecializedBalanceRequest_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceRequest *message) { - GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceRequest descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 +#pragma mark - GetStatusResponse_GetStatusResponseV0_Chain -@implementation GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 +@implementation GetStatusResponse_GetStatusResponseV0_Chain -@dynamic id_p; -@dynamic prove; +@dynamic catchingUp; +@dynamic latestBlockHash; +@dynamic latestAppHash; +@dynamic latestBlockHeight; +@dynamic earliestBlockHash; +@dynamic earliestAppHash; +@dynamic earliestBlockHeight; +@dynamic maxPeerBlockHeight; +@dynamic hasCoreChainLockedHeight, coreChainLockedHeight; -typedef struct GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_ { +typedef struct GetStatusResponse_GetStatusResponseV0_Chain__storage_ { uint32_t _has_storage_[1]; - NSData *id_p; -} GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_; + 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. @@ -9802,33 +12153,96 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "id_p", + .name = "catchingUp", .dataTypeSpecific.clazz = Nil, - .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Id_p, + .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_CatchingUp, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_, id_p), + .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 = "prove", + .name = "latestAppHash", .dataTypeSpecific.clazz = Nil, - .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Prove, - .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. + .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestAppHash, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, latestAppHash), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .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:[GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Chain class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Chain__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPrefundedSpecializedBalanceRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9839,17 +12253,19 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetPrefundedSpecializedBalanceResponse +#pragma mark - GetStatusResponse_GetStatusResponseV0_Network -@implementation GetPrefundedSpecializedBalanceResponse +@implementation GetStatusResponse_GetStatusResponseV0_Network -@dynamic versionOneOfCase; -@dynamic v0; +@dynamic chainId; +@dynamic peersCount; +@dynamic listening; -typedef struct GetPrefundedSpecializedBalanceResponse__storage_ { - uint32_t _has_storage_[2]; - GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *v0; -} GetPrefundedSpecializedBalanceResponse__storage_; +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. @@ -9858,29 +12274,42 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0), - .number = GetPrefundedSpecializedBalanceResponse_FieldNumber_V0, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse__storage_, v0), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .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:[GetPrefundedSpecializedBalanceResponse class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Network class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPrefundedSpecializedBalanceResponse__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Network__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(GetStatusResponse_GetStatusResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9891,26 +12320,30 @@ + (GPBDescriptor *)descriptor { @end -void GetPrefundedSpecializedBalanceResponse_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceResponse *message) { - GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 +#pragma mark - GetStatusResponse_GetStatusResponseV0_StateSync -@implementation GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 +@implementation GetStatusResponse_GetStatusResponseV0_StateSync -@dynamic resultOneOfCase; -@dynamic balance; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic totalSyncedTime; +@dynamic remainingTime; +@dynamic totalSnapshots; +@dynamic chunkProcessAvgTime; +@dynamic snapshotHeight; +@dynamic snapshotChunksCount; +@dynamic backfilledBlocks; +@dynamic backfillBlocksTotal; -typedef struct GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_ { - uint32_t _has_storage_[2]; - Proof *proof; - ResponseMetadata *metadata; - uint64_t balance; -} GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_; +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. @@ -9919,48 +12352,87 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "balance", + .name = "totalSyncedTime", .dataTypeSpecific.clazz = Nil, - .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Balance, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, balance), - .flags = GPBFieldOptional, + .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 = "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, + .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:[GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_StateSync class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_) + storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_StateSync__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(GetPrefundedSpecializedBalanceResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -9971,22 +12443,17 @@ + (GPBDescriptor *)descriptor { @end -void GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_ClearResultOneOfCase(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *message) { - GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBClearOneof(message, oneof); -} -#pragma mark - GetPathElementsRequest +#pragma mark - GetCurrentQuorumsInfoRequest -@implementation GetPathElementsRequest +@implementation GetCurrentQuorumsInfoRequest @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetPathElementsRequest__storage_ { +typedef struct GetCurrentQuorumsInfoRequest__storage_ { uint32_t _has_storage_[2]; - GetPathElementsRequest_GetPathElementsRequestV0 *v0; -} GetPathElementsRequest__storage_; + GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 *v0; +} GetCurrentQuorumsInfoRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -9996,21 +12463,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsRequest_GetPathElementsRequestV0), - .number = GetPathElementsRequest_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0), + .number = GetCurrentQuorumsInfoRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetPathElementsRequest__storage_, v0), + .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPathElementsRequest__storage_) + storageSize:sizeof(GetCurrentQuorumsInfoRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -10028,68 +12495,34 @@ + (GPBDescriptor *)descriptor { @end -void GetPathElementsRequest_ClearVersionOneOfCase(GetPathElementsRequest *message) { - GPBDescriptor *descriptor = [GetPathElementsRequest descriptor]; +void GetCurrentQuorumsInfoRequest_ClearVersionOneOfCase(GetCurrentQuorumsInfoRequest *message) { + GPBDescriptor *descriptor = [GetCurrentQuorumsInfoRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetPathElementsRequest_GetPathElementsRequestV0 +#pragma mark - GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 -@implementation GetPathElementsRequest_GetPathElementsRequestV0 +@implementation GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 -@dynamic pathArray, pathArray_Count; -@dynamic keysArray, keysArray_Count; -@dynamic prove; -typedef struct GetPathElementsRequest_GetPathElementsRequestV0__storage_ { +typedef struct GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *pathArray; - NSMutableArray *keysArray; -} GetPathElementsRequest_GetPathElementsRequestV0__storage_; +} 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) { - static GPBMessageFieldDescription fields[] = { - { - .name = "pathArray", - .dataTypeSpecific.clazz = Nil, - .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_PathArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, pathArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, - }, - { - .name = "keysArray", - .dataTypeSpecific.clazz = Nil, - .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_KeysArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, keysArray), - .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, - }, - }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest_GetPathElementsRequestV0 class] + [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPathElementsRequest_GetPathElementsRequestV0__storage_) + fields:NULL + fieldCount:0 + storageSize:sizeof(GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -10100,17 +12533,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetPathElementsResponse +#pragma mark - GetCurrentQuorumsInfoResponse -@implementation GetPathElementsResponse +@implementation GetCurrentQuorumsInfoResponse @dynamic versionOneOfCase; @dynamic v0; -typedef struct GetPathElementsResponse__storage_ { +typedef struct GetCurrentQuorumsInfoResponse__storage_ { uint32_t _has_storage_[2]; - GetPathElementsResponse_GetPathElementsResponseV0 *v0; -} GetPathElementsResponse__storage_; + GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 *v0; +} GetCurrentQuorumsInfoResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -10120,21 +12553,21 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "v0", - .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0), - .number = GetPathElementsResponse_FieldNumber_V0, + .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0), + .number = GetCurrentQuorumsInfoResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetPathElementsResponse__storage_, v0), + .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPathElementsResponse__storage_) + storageSize:sizeof(GetCurrentQuorumsInfoResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "version", @@ -10152,26 +12585,24 @@ + (GPBDescriptor *)descriptor { @end -void GetPathElementsResponse_ClearVersionOneOfCase(GetPathElementsResponse *message) { - GPBDescriptor *descriptor = [GetPathElementsResponse descriptor]; +void GetCurrentQuorumsInfoResponse_ClearVersionOneOfCase(GetCurrentQuorumsInfoResponse *message) { + GPBDescriptor *descriptor = [GetCurrentQuorumsInfoResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetPathElementsResponse_GetPathElementsResponseV0 +#pragma mark - GetCurrentQuorumsInfoResponse_ValidatorV0 -@implementation GetPathElementsResponse_GetPathElementsResponseV0 +@implementation GetCurrentQuorumsInfoResponse_ValidatorV0 -@dynamic resultOneOfCase; -@dynamic elements; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic proTxHash; +@dynamic nodeIp; +@dynamic isBanned; -typedef struct GetPathElementsResponse_GetPathElementsResponseV0__storage_ { - uint32_t _has_storage_[2]; - GetPathElementsResponse_GetPathElementsResponseV0_Elements *elements; - Proof *proof; - ResponseMetadata *metadata; -} GetPathElementsResponse_GetPathElementsResponseV0__storage_; +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. @@ -10180,48 +12611,121 @@ + (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 = "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 = "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 = "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 = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Metadata, + .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(GetPathElementsResponse_GetPathElementsResponseV0__storage_, metadata), - .flags = GPBFieldOptional, + .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:[GetPathElementsResponse_GetPathElementsResponseV0 class] + [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_ValidatorSetV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0__storage_) + storageSize:sizeof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__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(GetPathElementsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -10232,21 +12736,24 @@ + (GPBDescriptor *)descriptor { @end -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 +#pragma mark - GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 -@implementation GetPathElementsResponse_GetPathElementsResponseV0_Elements +@implementation GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 -@dynamic elementsArray, elementsArray_Count; +@dynamic quorumHashesArray, quorumHashesArray_Count; +@dynamic currentQuorumHash; +@dynamic validatorSetsArray, validatorSetsArray_Count; +@dynamic lastBlockProposer; +@dynamic hasMetadata, metadata; -typedef struct GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_ { +typedef struct GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *elementsArray; -} GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_; + 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. @@ -10255,24 +12762,60 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "elementsArray", + .name = "quorumHashesArray", .dataTypeSpecific.clazz = Nil, - .number = GetPathElementsResponse_GetPathElementsResponseV0_Elements_FieldNumber_ElementsArray, + .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_QuorumHashesArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_, elementsArray), + .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:[GetPathElementsResponse_GetPathElementsResponseV0_Elements class] + [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_) + storageSize:sizeof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h index 2394e5f33ea..9bfcd4ba161 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h @@ -26,6 +26,8 @@ @class GetContestedResourceVotersForIdentityResponse; @class GetContestedResourcesRequest; @class GetContestedResourcesResponse; +@class GetCurrentQuorumsInfoRequest; +@class GetCurrentQuorumsInfoResponse; @class GetDataContractHistoryRequest; @class GetDataContractHistoryResponse; @class GetDataContractRequest; @@ -36,6 +38,11 @@ @class GetDocumentsResponse; @class GetEpochsInfoRequest; @class GetEpochsInfoResponse; +@class GetEvonodesProposedEpochBlocksByIdsRequest; +@class GetEvonodesProposedEpochBlocksByRangeRequest; +@class GetEvonodesProposedEpochBlocksResponse; +@class GetIdentitiesBalancesRequest; +@class GetIdentitiesBalancesResponse; @class GetIdentitiesContractKeysRequest; @class GetIdentitiesContractKeysResponse; @class GetIdentityBalanceAndRevisionRequest; @@ -62,6 +69,10 @@ @class GetProtocolVersionUpgradeStateResponse; @class GetProtocolVersionUpgradeVoteStatusRequest; @class GetProtocolVersionUpgradeVoteStatusResponse; +@class GetStatusRequest; +@class GetStatusResponse; +@class GetTotalCreditsInPlatformRequest; +@class GetTotalCreditsInPlatformResponse; @class GetVotePollsByEndDateRequest; @class GetVotePollsByEndDateResponse; @class WaitForStateTransitionResultRequest; @@ -124,10 +135,22 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCUnaryProtoCall *)getIdentityBalanceWithMessage:(GetIdentityBalanceRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +#pragma mark getIdentitiesBalances(GetIdentitiesBalancesRequest) returns (GetIdentitiesBalancesResponse) + +- (GRPCUnaryProtoCall *)getIdentitiesBalancesWithMessage:(GetIdentitiesBalancesRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + #pragma mark getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse) - (GRPCUnaryProtoCall *)getIdentityBalanceAndRevisionWithMessage:(GetIdentityBalanceAndRevisionRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +#pragma mark getEvonodesProposedEpochBlocksByIds(GetEvonodesProposedEpochBlocksByIdsRequest) returns (GetEvonodesProposedEpochBlocksResponse) + +- (GRPCUnaryProtoCall *)getEvonodesProposedEpochBlocksByIdsWithMessage:(GetEvonodesProposedEpochBlocksByIdsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + +#pragma mark getEvonodesProposedEpochBlocksByRange(GetEvonodesProposedEpochBlocksByRangeRequest) returns (GetEvonodesProposedEpochBlocksResponse) + +- (GRPCUnaryProtoCall *)getEvonodesProposedEpochBlocksByRangeWithMessage:(GetEvonodesProposedEpochBlocksByRangeRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + #pragma mark getProofs(GetProofsRequest) returns (GetProofsResponse) - (GRPCUnaryProtoCall *)getProofsWithMessage:(GetProofsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; @@ -211,10 +234,22 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCUnaryProtoCall *)getPrefundedSpecializedBalanceWithMessage:(GetPrefundedSpecializedBalanceRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +#pragma mark getTotalCreditsInPlatform(GetTotalCreditsInPlatformRequest) returns (GetTotalCreditsInPlatformResponse) + +- (GRPCUnaryProtoCall *)getTotalCreditsInPlatformWithMessage:(GetTotalCreditsInPlatformRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + #pragma mark getPathElements(GetPathElementsRequest) returns (GetPathElementsResponse) - (GRPCUnaryProtoCall *)getPathElementsWithMessage:(GetPathElementsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +#pragma mark getStatus(GetStatusRequest) returns (GetStatusResponse) + +- (GRPCUnaryProtoCall *)getStatusWithMessage:(GetStatusRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + +#pragma mark getCurrentQuorumsInfo(GetCurrentQuorumsInfoRequest) returns (GetCurrentQuorumsInfoResponse) + +- (GRPCUnaryProtoCall *)getCurrentQuorumsInfoWithMessage:(GetCurrentQuorumsInfoRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + @end /** @@ -272,6 +307,13 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetIdentityBalanceWithRequest:(GetIdentityBalanceRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler; +#pragma mark getIdentitiesBalances(GetIdentitiesBalancesRequest) returns (GetIdentitiesBalancesResponse) + +- (void)getIdentitiesBalancesWithRequest:(GetIdentitiesBalancesRequest *)request handler:(void(^)(GetIdentitiesBalancesResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetIdentitiesBalancesWithRequest:(GetIdentitiesBalancesRequest *)request handler:(void(^)(GetIdentitiesBalancesResponse *_Nullable response, NSError *_Nullable error))handler; + + #pragma mark getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse) - (void)getIdentityBalanceAndRevisionWithRequest:(GetIdentityBalanceAndRevisionRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler; @@ -279,6 +321,20 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetIdentityBalanceAndRevisionWithRequest:(GetIdentityBalanceAndRevisionRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler; +#pragma mark getEvonodesProposedEpochBlocksByIds(GetEvonodesProposedEpochBlocksByIdsRequest) returns (GetEvonodesProposedEpochBlocksResponse) + +- (void)getEvonodesProposedEpochBlocksByIdsWithRequest:(GetEvonodesProposedEpochBlocksByIdsRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetEvonodesProposedEpochBlocksByIdsWithRequest:(GetEvonodesProposedEpochBlocksByIdsRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler; + + +#pragma mark getEvonodesProposedEpochBlocksByRange(GetEvonodesProposedEpochBlocksByRangeRequest) returns (GetEvonodesProposedEpochBlocksResponse) + +- (void)getEvonodesProposedEpochBlocksByRangeWithRequest:(GetEvonodesProposedEpochBlocksByRangeRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetEvonodesProposedEpochBlocksByRangeWithRequest:(GetEvonodesProposedEpochBlocksByRangeRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler; + + #pragma mark getProofs(GetProofsRequest) returns (GetProofsResponse) - (void)getProofsWithRequest:(GetProofsRequest *)request handler:(void(^)(GetProofsResponse *_Nullable response, NSError *_Nullable error))handler; @@ -448,6 +504,13 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetPrefundedSpecializedBalanceWithRequest:(GetPrefundedSpecializedBalanceRequest *)request handler:(void(^)(GetPrefundedSpecializedBalanceResponse *_Nullable response, NSError *_Nullable error))handler; +#pragma mark getTotalCreditsInPlatform(GetTotalCreditsInPlatformRequest) returns (GetTotalCreditsInPlatformResponse) + +- (void)getTotalCreditsInPlatformWithRequest:(GetTotalCreditsInPlatformRequest *)request handler:(void(^)(GetTotalCreditsInPlatformResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetTotalCreditsInPlatformWithRequest:(GetTotalCreditsInPlatformRequest *)request handler:(void(^)(GetTotalCreditsInPlatformResponse *_Nullable response, NSError *_Nullable error))handler; + + #pragma mark getPathElements(GetPathElementsRequest) returns (GetPathElementsResponse) - (void)getPathElementsWithRequest:(GetPathElementsRequest *)request handler:(void(^)(GetPathElementsResponse *_Nullable response, NSError *_Nullable error))handler; @@ -455,6 +518,20 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetPathElementsWithRequest:(GetPathElementsRequest *)request handler:(void(^)(GetPathElementsResponse *_Nullable response, NSError *_Nullable error))handler; +#pragma mark getStatus(GetStatusRequest) returns (GetStatusResponse) + +- (void)getStatusWithRequest:(GetStatusRequest *)request handler:(void(^)(GetStatusResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetStatusWithRequest:(GetStatusRequest *)request handler:(void(^)(GetStatusResponse *_Nullable response, NSError *_Nullable error))handler; + + +#pragma mark getCurrentQuorumsInfo(GetCurrentQuorumsInfoRequest) returns (GetCurrentQuorumsInfoResponse) + +- (void)getCurrentQuorumsInfoWithRequest:(GetCurrentQuorumsInfoRequest *)request handler:(void(^)(GetCurrentQuorumsInfoResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetCurrentQuorumsInfoWithRequest:(GetCurrentQuorumsInfoRequest *)request handler:(void(^)(GetCurrentQuorumsInfoResponse *_Nullable response, NSError *_Nullable error))handler; + + @end diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m index 438ae4a6021..b8e6852fe61 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 @@ -210,6 +210,26 @@ - (GRPCUnaryProtoCall *)getIdentityBalanceWithMessage:(GetIdentityBalanceRequest responseClass:[GetIdentityBalanceResponse class]]; } +#pragma mark getIdentitiesBalances(GetIdentitiesBalancesRequest) returns (GetIdentitiesBalancesResponse) + +- (void)getIdentitiesBalancesWithRequest:(GetIdentitiesBalancesRequest *)request handler:(void(^)(GetIdentitiesBalancesResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetIdentitiesBalancesWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetIdentitiesBalancesWithRequest:(GetIdentitiesBalancesRequest *)request handler:(void(^)(GetIdentitiesBalancesResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getIdentitiesBalances" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetIdentitiesBalancesResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getIdentitiesBalancesWithMessage:(GetIdentitiesBalancesRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getIdentitiesBalances" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetIdentitiesBalancesResponse class]]; +} + #pragma mark getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse) - (void)getIdentityBalanceAndRevisionWithRequest:(GetIdentityBalanceAndRevisionRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler{ @@ -230,6 +250,46 @@ - (GRPCUnaryProtoCall *)getIdentityBalanceAndRevisionWithMessage:(GetIdentityBal responseClass:[GetIdentityBalanceAndRevisionResponse class]]; } +#pragma mark getEvonodesProposedEpochBlocksByIds(GetEvonodesProposedEpochBlocksByIdsRequest) returns (GetEvonodesProposedEpochBlocksResponse) + +- (void)getEvonodesProposedEpochBlocksByIdsWithRequest:(GetEvonodesProposedEpochBlocksByIdsRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetEvonodesProposedEpochBlocksByIdsWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetEvonodesProposedEpochBlocksByIdsWithRequest:(GetEvonodesProposedEpochBlocksByIdsRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getEvonodesProposedEpochBlocksByIds" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetEvonodesProposedEpochBlocksResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getEvonodesProposedEpochBlocksByIdsWithMessage:(GetEvonodesProposedEpochBlocksByIdsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getEvonodesProposedEpochBlocksByIds" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetEvonodesProposedEpochBlocksResponse class]]; +} + +#pragma mark getEvonodesProposedEpochBlocksByRange(GetEvonodesProposedEpochBlocksByRangeRequest) returns (GetEvonodesProposedEpochBlocksResponse) + +- (void)getEvonodesProposedEpochBlocksByRangeWithRequest:(GetEvonodesProposedEpochBlocksByRangeRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetEvonodesProposedEpochBlocksByRangeWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetEvonodesProposedEpochBlocksByRangeWithRequest:(GetEvonodesProposedEpochBlocksByRangeRequest *)request handler:(void(^)(GetEvonodesProposedEpochBlocksResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getEvonodesProposedEpochBlocksByRange" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetEvonodesProposedEpochBlocksResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getEvonodesProposedEpochBlocksByRangeWithMessage:(GetEvonodesProposedEpochBlocksByRangeRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getEvonodesProposedEpochBlocksByRange" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetEvonodesProposedEpochBlocksResponse class]]; +} + #pragma mark getProofs(GetProofsRequest) returns (GetProofsResponse) - (void)getProofsWithRequest:(GetProofsRequest *)request handler:(void(^)(GetProofsResponse *_Nullable response, NSError *_Nullable error))handler{ @@ -635,6 +695,26 @@ - (GRPCUnaryProtoCall *)getPrefundedSpecializedBalanceWithMessage:(GetPrefundedS responseClass:[GetPrefundedSpecializedBalanceResponse class]]; } +#pragma mark getTotalCreditsInPlatform(GetTotalCreditsInPlatformRequest) returns (GetTotalCreditsInPlatformResponse) + +- (void)getTotalCreditsInPlatformWithRequest:(GetTotalCreditsInPlatformRequest *)request handler:(void(^)(GetTotalCreditsInPlatformResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetTotalCreditsInPlatformWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetTotalCreditsInPlatformWithRequest:(GetTotalCreditsInPlatformRequest *)request handler:(void(^)(GetTotalCreditsInPlatformResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getTotalCreditsInPlatform" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetTotalCreditsInPlatformResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getTotalCreditsInPlatformWithMessage:(GetTotalCreditsInPlatformRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getTotalCreditsInPlatform" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetTotalCreditsInPlatformResponse class]]; +} + #pragma mark getPathElements(GetPathElementsRequest) returns (GetPathElementsResponse) - (void)getPathElementsWithRequest:(GetPathElementsRequest *)request handler:(void(^)(GetPathElementsResponse *_Nullable response, NSError *_Nullable error))handler{ @@ -655,5 +735,45 @@ - (GRPCUnaryProtoCall *)getPathElementsWithMessage:(GetPathElementsRequest *)mes responseClass:[GetPathElementsResponse class]]; } +#pragma mark getStatus(GetStatusRequest) returns (GetStatusResponse) + +- (void)getStatusWithRequest:(GetStatusRequest *)request handler:(void(^)(GetStatusResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetStatusWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetStatusWithRequest:(GetStatusRequest *)request handler:(void(^)(GetStatusResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getStatus" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetStatusResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getStatusWithMessage:(GetStatusRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getStatus" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetStatusResponse class]]; +} + +#pragma mark getCurrentQuorumsInfo(GetCurrentQuorumsInfoRequest) returns (GetCurrentQuorumsInfoResponse) + +- (void)getCurrentQuorumsInfoWithRequest:(GetCurrentQuorumsInfoRequest *)request handler:(void(^)(GetCurrentQuorumsInfoResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetCurrentQuorumsInfoWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetCurrentQuorumsInfoWithRequest:(GetCurrentQuorumsInfoRequest *)request handler:(void(^)(GetCurrentQuorumsInfoResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getCurrentQuorumsInfo" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetCurrentQuorumsInfoResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getCurrentQuorumsInfoWithMessage:(GetCurrentQuorumsInfoRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getCurrentQuorumsInfo" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetCurrentQuorumsInfoResponse class]]; +} + @end #endif diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py index 8b4a2aa9bac..be8a64f309d 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\"\x90\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x0f\n\x07time_ms\x18\x04 \x01(\x04\x12\x18\n\x10protocol_version\x18\x05 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x06 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\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\"\xb8\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb2\x01\n\x1aGetIdentityNonceResponseV0\x12\x18\n\x0eidentity_nonce\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xe1\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc3\x01\n\"GetIdentityContractNonceResponseV0\x12!\n\x17identity_contract_nonce\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xad\x01\n\x1cGetIdentityBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xa9\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\xfc\x02\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x12\x42\x61lanceAndRevision\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\x10\n\x08revision\x18\x02 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\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\"\xcb\x0b\n\x10GetProofsRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0H\x00\x1a\xdd\n\n\x12GetProofsRequestV0\x12\x62\n\nidentities\x18\x01 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest\x12\x61\n\tcontracts\x18\x02 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest\x12\x61\n\tdocuments\x18\x03 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest\x12_\n\x05votes\x18\x04 \x03(\x0b\x32P.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest\x1a\xd5\x02\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x12\x89\x01\n\x19\x64ocument_contested_status\x18\x05 \x01(\x0e\x32\x66.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus\"P\n\x17\x44ocumentContestedStatus\x12\x11\n\rNOT_CONTESTED\x10\x00\x12\x13\n\x0fMAYBE_CONTESTED\x10\x01\x12\r\n\tCONTESTED\x10\x02\x1a\xd1\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12i\n\x0crequest_type\x18\x02 \x01(\x0e\x32S.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type\">\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x12\x0c\n\x08REVISION\x10\x03\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x1a\xe7\x02\n\x11VoteStatusRequest\x12\xa5\x01\n&contested_resource_vote_status_request\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequestH\x00\x1a\x99\x01\n\"ContestedResourceVoteStatusRequest\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\x18\n\x10voter_identifier\x18\x05 \x01(\x0c\x42\x0e\n\x0crequest_typeB\t\n\x07version\"\x82\x02\n\x11GetProofsResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0H\x00\x1a\x91\x01\n\x13GetProofsResponseV0\x12\x31\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc1\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xac\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xae\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x96\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xb2\x02\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05startB\t\n\x07version\"\x95\x03\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\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\"\x91\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x94\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\x9e\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1a\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x12\n\nstart_time\x18\x04 \x01(\x04\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\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\"\xca\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xb8\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\x1a\x45\n\x0fStartAtTimeInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a?\n\rEndAtTimeInfo\x12\x13\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\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\"\xff\x05\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xea\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\x1aR\n\x1eSerializedVotePollsByTimestamp\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\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\"\x8c\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xdf\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\xd2\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\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12!\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\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\"\xe9\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xb9\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\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*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\xa1\x1d\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\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\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\x12x\n\x0fgetPathElements\x12\x31.org.dash.platform.dapi.v0.GetPathElementsRequest\x1a\x32.org.dash.platform.dapi.v0.GetPathElementsResponseb\x06proto3' + serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x90\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x0f\n\x07time_ms\x18\x04 \x01(\x04\x12\x18\n\x10protocol_version\x18\x05 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x06 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\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\"\xb8\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb2\x01\n\x1aGetIdentityNonceResponseV0\x12\x18\n\x0eidentity_nonce\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xe1\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc3\x01\n\"GetIdentityContractNonceResponseV0\x12!\n\x17identity_contract_nonce\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xad\x01\n\x1cGetIdentityBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xa9\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\xfc\x02\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x12\x42\x61lanceAndRevision\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\x10\n\x08revision\x18\x02 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\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\"\x8e\x06\n&GetEvonodesProposedEpochBlocksResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0H\x00\x1a\xde\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\r\n\x05\x63ount\x18\x02 \x01(\x04\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\"\x9b\x05\n\x1dGetIdentitiesBalancesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0H\x00\x1a\x86\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\x1aH\n\x0fIdentityBalance\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\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\"\xcb\x0b\n\x10GetProofsRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0H\x00\x1a\xdd\n\n\x12GetProofsRequestV0\x12\x62\n\nidentities\x18\x01 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest\x12\x61\n\tcontracts\x18\x02 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest\x12\x61\n\tdocuments\x18\x03 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest\x12_\n\x05votes\x18\x04 \x03(\x0b\x32P.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest\x1a\xd5\x02\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x12\x89\x01\n\x19\x64ocument_contested_status\x18\x05 \x01(\x0e\x32\x66.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus\"P\n\x17\x44ocumentContestedStatus\x12\x11\n\rNOT_CONTESTED\x10\x00\x12\x13\n\x0fMAYBE_CONTESTED\x10\x01\x12\r\n\tCONTESTED\x10\x02\x1a\xd1\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12i\n\x0crequest_type\x18\x02 \x01(\x0e\x32S.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type\">\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x12\x0c\n\x08REVISION\x10\x03\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x1a\xe7\x02\n\x11VoteStatusRequest\x12\xa5\x01\n&contested_resource_vote_status_request\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequestH\x00\x1a\x99\x01\n\"ContestedResourceVoteStatusRequest\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\x18\n\x10voter_identifier\x18\x05 \x01(\x0c\x42\x0e\n\x0crequest_typeB\t\n\x07version\"\x82\x02\n\x11GetProofsResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0H\x00\x1a\x91\x01\n\x13GetProofsResponseV0\x12\x31\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc1\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xac\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xae\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x96\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xb2\x02\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05startB\t\n\x07version\"\x95\x03\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\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\"\x91\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x94\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\x9e\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1a\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x12\n\nstart_time\x18\x04 \x01(\x04\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\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\"\xca\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xb8\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\x1a\x45\n\x0fStartAtTimeInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a?\n\rEndAtTimeInfo\x12\x13\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\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\"\xff\x05\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xea\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\x1aR\n\x1eSerializedVotePollsByTimestamp\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\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\"\x8c\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xdf\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\xd2\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\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12!\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\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\"\xe9\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xb9\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\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\"\xd5\x02\n!GetTotalCreditsInPlatformResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0H\x00\x1a\xb4\x01\n#GetTotalCreditsInPlatformResponseV0\x12\x11\n\x07\x63redits\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\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\"\x9c\x10\n\x11GetStatusResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0H\x00\x1a\xab\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\x1as\n\x04Time\x12\r\n\x05local\x18\x01 \x01(\x04\x12\x12\n\x05\x62lock\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07genesis\x18\x03 \x01(\x04H\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\xa7\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\x1b\n\x13latest_block_height\x18\x04 \x01(\x04\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\x1d\n\x15\x65\x61rliest_block_height\x18\x07 \x01(\x04\x12\x1d\n\x15max_peer_block_height\x18\t \x01(\x04\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\xe9\x01\n\tStateSync\x12\x19\n\x11total_synced_time\x18\x01 \x01(\x04\x12\x16\n\x0eremaining_time\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_snapshots\x18\x03 \x01(\r\x12\x1e\n\x16\x63hunk_process_avg_time\x18\x04 \x01(\x04\x12\x17\n\x0fsnapshot_height\x18\x05 \x01(\x04\x12\x1d\n\x15snapshot_chunks_count\x18\x06 \x01(\x04\x12\x19\n\x11\x62\x61\x63kfilled_blocks\x18\x07 \x01(\x04\x12\x1d\n\x15\x62\x61\x63kfill_blocks_total\x18\x08 \x01(\x04\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*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\xa4$\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\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\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.GetCurrentQuorumsInfoResponseb\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=25559, - serialized_end=25649, + serialized_start=31512, + serialized_end=31602, ) _sym_db.RegisterEnumDescriptor(_KEYPURPOSE) @@ -125,8 +125,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=7011, - serialized_end=7091, + serialized_start=9342, + serialized_end=9422, ) _sym_db.RegisterEnumDescriptor(_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST_DOCUMENTCONTESTEDSTATUS) @@ -160,8 +160,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=7241, - serialized_end=7303, + serialized_start=9572, + serialized_end=9634, ) _sym_db.RegisterEnumDescriptor(_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE) @@ -190,8 +190,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=19256, - serialized_end=19329, + serialized_start=21587, + serialized_end=21660, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_RESULTTYPE) @@ -220,8 +220,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=20243, - serialized_end=20322, + serialized_start=22574, + serialized_end=22653, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO_FINISHEDVOTEOUTCOME) @@ -250,8 +250,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=23951, - serialized_end=24012, + serialized_start=26282, + serialized_end=26343, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE_VOTECHOICETYPE) @@ -2106,84 +2106,111 @@ ) -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST = _descriptor.Descriptor( - name='DocumentRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest', +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0 = _descriptor.Descriptor( + name='GetEvonodesProposedEpochBlocksByIdsRequestV0', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.contract_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='epoch', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.epoch', 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='document_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='ids', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.ids', index=1, + number=2, 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='document_type_keeps_history', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_type_keeps_history', index=2, + name='prove', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.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='_epoch', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0._epoch', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=6410, + serialized_end=6514, +) + +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST = _descriptor.Descriptor( + name='GetEvonodesProposedEpochBlocksByIdsRequest', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ _descriptor.FieldDescriptor( - name='document_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_id', index=3, - number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='document_contested_status', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_contested_status', index=4, - number=5, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.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=[_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0, ], enum_types=[ - _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST_DOCUMENTCONTESTEDSTATUS, ], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=6750, - serialized_end=7091, + serialized_start=6233, + serialized_end=6525, ) -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST = _descriptor.Descriptor( - name='IdentityRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest', + +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODEPROPOSEDBLOCKS = _descriptor.Descriptor( + name='EvonodeProposedBlocks', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.identity_id', index=0, + name='pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.pro_tx_hash', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='request_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.request_type', index=1, - number=2, type=14, cpp_type=8, label=1, + name='count', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.count', 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, @@ -2193,7 +2220,6 @@ ], nested_types=[], enum_types=[ - _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE, ], serialized_options=None, is_extendable=False, @@ -2201,22 +2227,22 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7094, - serialized_end=7303, + serialized_start=7031, + serialized_end=7090, ) -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST = _descriptor.Descriptor( - name='ContractRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest', +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODESPROPOSEDBLOCKS = _descriptor.Descriptor( + name='EvonodesProposedBlocks', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.contract_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='evonodes_proposed_block_counts', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.evonodes_proposed_block_counts', 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), @@ -2232,57 +2258,43 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7305, - serialized_end=7343, + serialized_start=7093, + serialized_end=7289, ) -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST_CONTESTEDRESOURCEVOTESTATUSREQUEST = _descriptor.Descriptor( - name='ContestedResourceVoteStatusRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest', +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0 = _descriptor.Descriptor( + name='GetEvonodesProposedEpochBlocksResponseV0', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.index_name', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='evonodes_proposed_block_counts_info', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.evonodes_proposed_block_counts_info', 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='index_values', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.index_values', index=3, - number=4, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='proof', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.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='voter_identifier', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.voter_identifier', index=4, - number=5, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='metadata', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.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=[_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODEPROPOSEDBLOCKS, _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODESPROPOSEDBLOCKS, ], enum_types=[ ], serialized_options=None, @@ -2290,21 +2302,26 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=7536, - serialized_end=7689, + serialized_start=6693, + serialized_end=7299, ) -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST = _descriptor.Descriptor( - name='VoteStatusRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest', +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE = _descriptor.Descriptor( + name='GetEvonodesProposedEpochBlocksResponse', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contested_resource_vote_status_request', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.contested_resource_vote_status_request', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.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, @@ -2313,7 +2330,7 @@ ], extensions=[ ], - nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST_CONTESTEDRESOURCEVOTESTATUSREQUEST, ], + nested_types=[_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -2322,55 +2339,63 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='request_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.request_type', + name='version', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7346, - serialized_end=7705, + serialized_start=6528, + serialized_end=7310, ) -_GETPROOFSREQUEST_GETPROOFSREQUESTV0 = _descriptor.Descriptor( - name='GetProofsRequestV0', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0', + +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0 = _descriptor.Descriptor( + name='GetEvonodesProposedEpochBlocksByRangeRequestV0', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identities', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='epoch', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.epoch', 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='contracts', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='limit', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.limit', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='documents', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='start_after', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.start_after', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='votes', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.votes', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='start_at', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.start_at', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prove', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -2378,21 +2403,36 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='start', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.start', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_epoch', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0._epoch', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_limit', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0._limit', + index=2, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=6332, - serialized_end=7705, + serialized_start=7497, + serialized_end=7672, ) -_GETPROOFSREQUEST = _descriptor.Descriptor( - name='GetProofsRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest', +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST = _descriptor.Descriptor( + name='GetEvonodesProposedEpochBlocksByRangeRequest', + full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetProofsRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.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, @@ -2401,7 +2441,7 @@ ], extensions=[ ], - nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0, ], + nested_types=[_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -2410,35 +2450,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetProofsRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6233, - serialized_end=7716, + serialized_start=7313, + serialized_end=7683, ) -_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0 = _descriptor.Descriptor( - name='GetProofsResponseV0', - full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', +_GETIDENTITIESBALANCESREQUEST_GETIDENTITIESBALANCESREQUESTV0 = _descriptor.Descriptor( + name='GetIdentitiesBalancesRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.proof', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='ids', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.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='metadata', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.metadata', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.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), @@ -2453,26 +2493,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=7821, - serialized_end=7966, + serialized_start=7820, + serialized_end=7880, ) -_GETPROOFSRESPONSE = _descriptor.Descriptor( - name='GetProofsResponse', - full_name='org.dash.platform.dapi.v0.GetProofsResponse', +_GETIDENTITIESBALANCESREQUEST = _descriptor.Descriptor( + name='GetIdentitiesBalancesRequest', + full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetProofsResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.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, @@ -2481,7 +2516,7 @@ ], extensions=[ ], - nested_types=[_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0, ], + nested_types=[_GETIDENTITIESBALANCESREQUEST_GETIDENTITIESBALANCESREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -2490,35 +2525,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetProofsResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7719, - serialized_end=7977, + serialized_start=7686, + serialized_end=7891, ) -_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0 = _descriptor.Descriptor( - name='GetDataContractRequestV0', - full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0', +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE = _descriptor.Descriptor( + name='IdentityBalance', + full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='id', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.id', index=0, + name='identity_id', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.identity_id', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='balance', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.balance', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2533,30 +2568,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='_balance', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance._balance', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=8096, - serialized_end=8149, + serialized_start=8322, + serialized_end=8394, ) -_GETDATACONTRACTREQUEST = _descriptor.Descriptor( - name='GetDataContractRequest', - full_name='org.dash.platform.dapi.v0.GetDataContractRequest', +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITIESBALANCES = _descriptor.Descriptor( + name='IdentitiesBalances', + full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='entries', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.entries', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -2564,41 +2604,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=7980, - serialized_end=8160, + serialized_start=8397, + serialized_end=8540, ) - -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0 = _descriptor.Descriptor( - name='GetDataContractResponseV0', - full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0', +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentitiesBalancesResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.data_contract', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='identities_balances', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.identities_balances', 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.GetDataContractResponse.GetDataContractResponseV0.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.proof', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.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, @@ -2607,7 +2641,7 @@ ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE, _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITIESBALANCES, ], enum_types=[ ], serialized_options=None, @@ -2616,25 +2650,25 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.result', + name='result', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8283, - serialized_end=8459, + serialized_start=8032, + serialized_end=8550, ) -_GETDATACONTRACTRESPONSE = _descriptor.Descriptor( - name='GetDataContractResponse', - full_name='org.dash.platform.dapi.v0.GetDataContractResponse', +_GETIDENTITIESBALANCESRESPONSE = _descriptor.Descriptor( + name='GetIdentitiesBalancesResponse', + full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.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, @@ -2643,7 +2677,7 @@ ], extensions=[ ], - nested_types=[_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0, ], + nested_types=[_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -2652,110 +2686,95 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8163, - serialized_end=8470, + serialized_start=7894, + serialized_end=8561, ) -_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0 = _descriptor.Descriptor( - name='GetDataContractsRequestV0', - full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0', +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST = _descriptor.Descriptor( + name='DocumentRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='ids', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.ids', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.contract_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='document_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_type', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8592, - serialized_end=8647, -) - -_GETDATACONTRACTSREQUEST = _descriptor.Descriptor( - name='GetDataContractsRequest', - full_name='org.dash.platform.dapi.v0.GetDataContractsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='document_type_keeps_history', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_type_keeps_history', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='document_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_id', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='document_contested_status', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_contested_status', index=4, + number=5, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0, ], + nested_types=[], enum_types=[ + _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST_DOCUMENTCONTESTEDSTATUS, ], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=8473, - serialized_end=8658, + serialized_start=9081, + serialized_end=9422, ) - -_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY = _descriptor.Descriptor( - name='DataContractEntry', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry', +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST = _descriptor.Descriptor( + name='IdentityRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identifier', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.identifier', index=0, + name='identity_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.identity_id', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='data_contract', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.data_contract', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='request_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.request_type', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2764,6 +2783,7 @@ ], nested_types=[], enum_types=[ + _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE, ], serialized_options=None, is_extendable=False, @@ -2771,22 +2791,22 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8783, - serialized_end=8874, + serialized_start=9425, + serialized_end=9634, ) -_GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( - name='DataContracts', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts', +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST = _descriptor.Descriptor( + name='ContractRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.data_contract_entries', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.contract_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2802,36 +2822,50 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8876, - serialized_end=8993, + serialized_start=9636, + serialized_end=9674, ) -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 = _descriptor.Descriptor( - name='GetDataContractsResponseV0', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0', +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST_CONTESTEDRESOURCEVOTESTATUSREQUEST = _descriptor.Descriptor( + name='ContestedResourceVoteStatusRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contracts', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.data_contracts', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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='proof', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='document_type_name', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='index_name', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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='index_values', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='voter_identifier', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.voter_identifier', index=4, + number=5, 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), @@ -2846,26 +2880,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=8996, - serialized_end=9241, + serialized_start=9867, + serialized_end=10020, ) -_GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( - name='GetDataContractsResponse', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse', +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST = _descriptor.Descriptor( + name='VoteStatusRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.v0', index=0, + name='contested_resource_vote_status_request', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.contested_resource_vote_status_request', 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, @@ -2874,7 +2903,7 @@ ], extensions=[ ], - nested_types=[_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY, _GETDATACONTRACTSRESPONSE_DATACONTRACTS, _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0, ], + nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST_CONTESTEDRESOURCEVOTESTATUSREQUEST, ], enum_types=[ ], serialized_options=None, @@ -2883,63 +2912,55 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.version', + name='request_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.request_type', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8661, - serialized_end=9252, + serialized_start=9677, + serialized_end=10036, ) - -_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0 = _descriptor.Descriptor( - name='GetDataContractHistoryRequestV0', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0', +_GETPROOFSREQUEST_GETPROOFSREQUESTV0 = _descriptor.Descriptor( + name='GetProofsRequestV0', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='id', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='limit', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.limit', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='identities', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='offset', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.offset', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='contracts', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='start_at_ms', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.start_at_ms', index=3, - number=4, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, + name='documents', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prove', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='votes', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.votes', index=3, + number=4, 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=[], + nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_VOTESTATUSREQUEST, ], enum_types=[ ], serialized_options=None, @@ -2948,20 +2969,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9393, - serialized_end=9565, + serialized_start=8663, + serialized_end=10036, ) -_GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( - name='GetDataContractHistoryRequest', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest', +_GETPROOFSREQUEST = _descriptor.Descriptor( + name='GetProofsRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetProofsRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -2970,7 +2991,7 @@ ], extensions=[ ], - nested_types=[_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0, ], + nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -2979,35 +3000,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetProofsRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9255, - serialized_end=9576, + serialized_start=8564, + serialized_end=10047, ) -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY = _descriptor.Descriptor( - name='DataContractHistoryEntry', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry', +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0 = _descriptor.Descriptor( + name='GetProofsResponseV0', + full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='date', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.date', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, + name='proof', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.proof', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.value', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='metadata', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.metadata', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -3022,30 +3043,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=10016, - serialized_end=10071, + serialized_start=10152, + serialized_end=10297, ) -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY = _descriptor.Descriptor( - name='DataContractHistory', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory', +_GETPROOFSRESPONSE = _descriptor.Descriptor( + name='GetProofsResponse', + full_name='org.dash.platform.dapi.v0.GetProofsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.data_contract_entries', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='v0', full_name='org.dash.platform.dapi.v0.GetProofsResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -3053,44 +3079,43 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetProofsResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=10074, - serialized_end=10244, + serialized_start=10050, + serialized_end=10308, ) -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 = _descriptor.Descriptor( - name='GetDataContractHistoryResponseV0', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0', + +_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0 = _descriptor.Descriptor( + name='GetDataContractRequestV0', + full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_history', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.data_contract_history', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='id', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY, _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -3098,26 +3123,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=9720, - serialized_end=10254, + serialized_start=10427, + serialized_end=10480, ) -_GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( - name='GetDataContractHistoryResponse', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse', +_GETDATACONTRACTREQUEST = _descriptor.Descriptor( + name='GetDataContractRequest', + full_name='org.dash.platform.dapi.v0.GetDataContractRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3126,7 +3146,7 @@ ], extensions=[ ], - nested_types=[_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0, ], + nested_types=[_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -3135,77 +3155,42 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9579, - serialized_end=10265, + serialized_start=10311, + serialized_end=10491, ) -_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 = _descriptor.Descriptor( - name='GetDocumentsRequestV0', - full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0', +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0 = _descriptor.Descriptor( + name='GetDataContractResponseV0', + full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_id', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.data_contract_id', index=0, + name='data_contract', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.data_contract', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='document_type', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.document_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='where', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.where', index=2, - number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='order_by', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.order_by', index=3, - number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='limit', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.limit', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_after', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start_after', index=5, - number=6, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_at', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start_at', index=6, - number=7, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prove', index=7, - number=8, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -3221,25 +3206,25 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='start', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start', + name='result', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10376, - serialized_end=10563, + serialized_start=10614, + serialized_end=10790, ) -_GETDOCUMENTSREQUEST = _descriptor.Descriptor( - name='GetDocumentsRequest', - full_name='org.dash.platform.dapi.v0.GetDocumentsRequest', +_GETDATACONTRACTRESPONSE = _descriptor.Descriptor( + name='GetDataContractResponse', + full_name='org.dash.platform.dapi.v0.GetDataContractResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3248,7 +3233,7 @@ ], extensions=[ ], - nested_types=[_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0, ], + nested_types=[_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -3257,80 +3242,42 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10268, - serialized_end=10574, + serialized_start=10494, + serialized_end=10801, ) -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS = _descriptor.Descriptor( - name='Documents', - full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents', +_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0 = _descriptor.Descriptor( + name='GetDataContractsRequestV0', + full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.documents', index=0, + name='ids', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.ids', index=0, number=1, type=12, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10931, - serialized_end=10961, -) - -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 = _descriptor.Descriptor( - name='GetDocumentsResponseV0', - full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.documents', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -3338,26 +3285,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=10688, - serialized_end=10971, + serialized_start=10923, + serialized_end=10978, ) -_GETDOCUMENTSRESPONSE = _descriptor.Descriptor( - name='GetDocumentsResponse', - full_name='org.dash.platform.dapi.v0.GetDocumentsResponse', +_GETDATACONTRACTSREQUEST = _descriptor.Descriptor( + name='GetDataContractsRequest', + full_name='org.dash.platform.dapi.v0.GetDataContractsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3366,7 +3308,7 @@ ], extensions=[ ], - nested_types=[_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0, ], + nested_types=[_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -3375,35 +3317,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10577, - serialized_end=10982, + serialized_start=10804, + serialized_end=10989, ) -_GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0 = _descriptor.Descriptor( - name='GetIdentityByPublicKeyHashRequestV0', - full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0', +_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY = _descriptor.Descriptor( + name='DataContractEntry', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='public_key_hash', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.public_key_hash', index=0, + name='identifier', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.identifier', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='data_contract', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.data_contract', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -3419,29 +3361,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11134, - serialized_end=11211, + serialized_start=11114, + serialized_end=11205, ) -_GETIDENTITYBYPUBLICKEYHASHREQUEST = _descriptor.Descriptor( - name='GetIdentityByPublicKeyHashRequest', - full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest', +_GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( + name='DataContracts', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.data_contract_entries', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -3449,41 +3391,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=10985, - serialized_end=11222, + serialized_start=11207, + serialized_end=11324, ) - -_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0 = _descriptor.Descriptor( - name='GetIdentityByPublicKeyHashResponseV0', - full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0', +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 = _descriptor.Descriptor( + name='GetDataContractsResponseV0', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.identity', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='data_contracts', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.data_contracts', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.proof', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.metadata', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3501,25 +3437,25 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.result', + name='result', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=11378, - serialized_end=11560, + serialized_start=11327, + serialized_end=11572, ) -_GETIDENTITYBYPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( - name='GetIdentityByPublicKeyHashResponse', - full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse', +_GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( + name='GetDataContractsResponse', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3528,7 +3464,7 @@ ], extensions=[ ], - nested_types=[_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0, ], + nested_types=[_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY, _GETDATACONTRACTSRESPONSE_DATACONTRACTS, _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -3537,34 +3473,55 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=11225, - serialized_end=11571, + serialized_start=10992, + serialized_end=11583, ) -_WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0 = _descriptor.Descriptor( - name='WaitForStateTransitionResultRequestV0', - full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0', +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0 = _descriptor.Descriptor( + name='GetDataContractHistoryRequestV0', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='state_transition_hash', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.state_transition_hash', index=0, + name='id', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.id', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prove', index=1, - number=2, type=8, cpp_type=7, label=1, + name='limit', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.limit', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='offset', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.offset', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_at_ms', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.start_at_ms', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prove', index=4, + number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -3581,20 +3538,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11729, - serialized_end=11814, + serialized_start=11724, + serialized_end=11896, ) -_WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( - name='WaitForStateTransitionResultRequest', - full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest', - filename=None, - file=DESCRIPTOR, +_GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( + name='GetDataContractHistoryRequest', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest', + filename=None, + file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3603,7 +3560,7 @@ ], extensions=[ ], - nested_types=[_WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0, ], + nested_types=[_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -3612,42 +3569,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=11574, - serialized_end=11825, + serialized_start=11586, + serialized_end=11907, ) -_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0 = _descriptor.Descriptor( - name='WaitForStateTransitionResultResponseV0', - full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0', +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY = _descriptor.Descriptor( + name='DataContractHistoryEntry', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='error', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.error', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='date', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.date', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='value', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.value', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -3662,35 +3612,30 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=11987, - serialized_end=12226, + serialized_start=12347, + serialized_end=12402, ) -_WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( - name='WaitForStateTransitionResultResponse', - full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse', +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY = _descriptor.Descriptor( + name='DataContractHistory', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.data_contract_entries', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -3698,43 +3643,44 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=11828, - serialized_end=12237, + serialized_start=12405, + serialized_end=12575, ) - -_GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0 = _descriptor.Descriptor( - name='GetConsensusParamsRequestV0', - full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0', +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 = _descriptor.Descriptor( + name='GetDataContractHistoryResponseV0', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='height', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.height', index=0, - number=1, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, + name='data_contract_history', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.data_contract_history', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY, _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY, ], enum_types=[ ], serialized_options=None, @@ -3742,21 +3688,26 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=12365, - serialized_end=12425, + serialized_start=12051, + serialized_end=12585, ) -_GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( - name='GetConsensusParamsRequest', - full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest', +_GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( + name='GetDataContractHistoryResponse', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3765,7 +3716,7 @@ ], extensions=[ ], - nested_types=[_GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0, ], + nested_types=[_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -3774,125 +3725,77 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=12240, - serialized_end=12436, + serialized_start=11910, + serialized_end=12596, ) -_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK = _descriptor.Descriptor( - name='ConsensusParamsBlock', - full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock', +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 = _descriptor.Descriptor( + name='GetDocumentsRequestV0', + full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='max_bytes', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.max_bytes', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='data_contract_id', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.data_contract_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='max_gas', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.max_gas', index=1, + name='document_type', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.document_type', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='time_iota_ms', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.time_iota_ms', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='where', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.where', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12567, - serialized_end=12647, -) - -_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( - name='ConsensusParamsEvidence', - full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ _descriptor.FieldDescriptor( - name='max_age_num_blocks', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_age_num_blocks', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='order_by', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.order_by', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='max_age_duration', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_age_duration', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='limit', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.limit', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='max_bytes', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_bytes', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='start_after', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start_after', index=5, + number=6, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12649, - serialized_end=12747, -) - -_GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor( - name='GetConsensusParamsResponseV0', - full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ _descriptor.FieldDescriptor( - name='block', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.block', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='start_at', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start_at', index=6, + number=7, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='evidence', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.evidence', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='prove', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prove', index=7, + number=8, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -3907,21 +3810,26 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='start', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=12750, - serialized_end=12968, + serialized_start=12707, + serialized_end=12894, ) -_GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor( - name='GetConsensusParamsResponse', - full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse', +_GETDOCUMENTSREQUEST = _descriptor.Descriptor( + name='GetDocumentsRequest', + full_name='org.dash.platform.dapi.v0.GetDocumentsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3930,7 +3838,7 @@ ], extensions=[ ], - nested_types=[_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK, _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE, _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0, ], + nested_types=[_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -3939,28 +3847,28 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=12439, - serialized_end=12979, + serialized_start=12599, + serialized_end=12905, ) -_GETPROTOCOLVERSIONUPGRADESTATEREQUEST_GETPROTOCOLVERSIONUPGRADESTATEREQUESTV0 = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeStateRequestV0', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0', +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS = _descriptor.Descriptor( + name='Documents', + full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prove', index=0, - number=1, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.documents', index=0, + number=1, type=12, cpp_type=9, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -3976,29 +3884,43 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13143, - serialized_end=13199, + serialized_start=13262, + serialized_end=13292, ) -_GETPROTOCOLVERSIONUPGRADESTATEREQUEST = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeStateRequest', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest', +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 = _descriptor.Descriptor( + name='GetDocumentsResponseV0', + full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.v0', index=0, + name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.documents', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETPROTOCOLVERSIONUPGRADESTATEREQUEST_GETPROTOCOLVERSIONUPGRADESTATEREQUESTV0, ], + nested_types=[_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS, ], enum_types=[ ], serialized_options=None, @@ -4007,35 +3929,34 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.version', + name='result', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=12982, - serialized_end=13210, + serialized_start=13019, + serialized_end=13302, ) - -_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONS = _descriptor.Descriptor( - name='Versions', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions', +_GETDOCUMENTSRESPONSE = _descriptor.Descriptor( + name='GetDocumentsResponse', + full_name='org.dash.platform.dapi.v0.GetDocumentsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='versions', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.versions', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='v0', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -4043,82 +3964,43 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=13675, - serialized_end=13825, + serialized_start=12908, + serialized_end=13313, ) -_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY = _descriptor.Descriptor( - name='VersionEntry', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='version_number', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.version_number', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='vote_count', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.vote_count', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13827, - serialized_end=13885, -) -_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0 = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeStateResponseV0', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0', +_GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0 = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='versions', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.versions', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='public_key_hash', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.public_key_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONS, _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -4126,26 +4008,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=13378, - serialized_end=13895, + serialized_start=13465, + serialized_end=13542, ) -_GETPROTOCOLVERSIONUPGRADESTATERESPONSE = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeStateResponse', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse', +_GETIDENTITYBYPUBLICKEYHASHREQUEST = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashRequest', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -4154,7 +4031,7 @@ ], extensions=[ ], - nested_types=[_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0, ], + nested_types=[_GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -4163,42 +4040,42 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=13213, - serialized_end=13906, + serialized_start=13316, + serialized_end=13553, ) -_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUESTV0 = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeVoteStatusRequestV0', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0', +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='start_pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.start_pro_tx_hash', index=0, + name='identity', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.identity', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='count', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.count', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prove', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -4213,21 +4090,26 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=14086, - serialized_end=14189, + serialized_start=13709, + serialized_end=13891, ) -_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeVoteStatusRequest', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest', +_GETIDENTITYBYPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashResponse', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -4236,7 +4118,7 @@ ], extensions=[ ], - nested_types=[_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUESTV0, ], + nested_types=[_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -4245,28 +4127,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=13909, - serialized_end=14200, + serialized_start=13556, + serialized_end=13902, ) -_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS = _descriptor.Descriptor( - name='VersionSignals', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals', +_WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0 = _descriptor.Descriptor( + name='WaitForStateTransitionResultRequestV0', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='version_signals', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.version_signals', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='state_transition_hash', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.state_transition_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -4282,36 +4171,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14703, - serialized_end=14878, + serialized_start=14060, + serialized_end=14145, ) -_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL = _descriptor.Descriptor( - name='VersionSignal', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal', +_WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( + name='WaitForStateTransitionResultRequest', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.pro_tx_hash', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.version', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='v0', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -4319,35 +4201,41 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=14880, - serialized_end=14933, + serialized_start=13905, + serialized_end=14156, ) -_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0 = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeVoteStatusResponseV0', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0', + +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0 = _descriptor.Descriptor( + name='WaitForStateTransitionResultResponseV0', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='versions', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.versions', index=0, + name='error', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.error', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.proof', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -4356,7 +4244,7 @@ ], extensions=[ ], - nested_types=[_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS, _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -4365,25 +4253,25 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.result', + name='result', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=14384, - serialized_end=14943, + serialized_start=14318, + serialized_end=14557, ) -_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE = _descriptor.Descriptor( - name='GetProtocolVersionUpgradeVoteStatusResponse', - full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse', +_WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( + name='WaitForStateTransitionResultResponse', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -4392,7 +4280,7 @@ ], extensions=[ ], - nested_types=[_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0, ], + nested_types=[_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -4401,48 +4289,34 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=14203, - serialized_end=14954, + serialized_start=14159, + serialized_end=14568, ) -_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0 = _descriptor.Descriptor( - name='GetEpochsInfoRequestV0', - full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0', +_GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0 = _descriptor.Descriptor( + name='GetConsensusParamsRequestV0', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='start_epoch', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.start_epoch', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='count', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.count', index=1, - number=2, type=13, cpp_type=3, label=1, + name='height', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.height', index=0, + number=1, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='ascending', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.ascending', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prove', index=3, - number=4, type=8, cpp_type=7, label=1, + name='prove', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -4459,20 +4333,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15067, - serialized_end=15191, + serialized_start=14696, + serialized_end=14756, ) -_GETEPOCHSINFOREQUEST = _descriptor.Descriptor( - name='GetEpochsInfoRequest', - full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest', +_GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( + name='GetConsensusParamsRequest', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -4481,7 +4355,7 @@ ], extensions=[ ], - nested_types=[_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0, ], + nested_types=[_GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -4490,28 +4364,42 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=14957, - serialized_end=15202, + serialized_start=14571, + serialized_end=14767, ) -_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS = _descriptor.Descriptor( - name='EpochInfos', - full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos', +_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK = _descriptor.Descriptor( + name='ConsensusParamsBlock', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='epoch_infos', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.epoch_infos', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='max_bytes', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.max_bytes', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_gas', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.max_gas', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_iota_ms', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.time_iota_ms', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -4527,57 +4415,36 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15563, - serialized_end=15680, + serialized_start=14898, + serialized_end=14978, ) -_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO = _descriptor.Descriptor( - name='EpochInfo', - full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo', +_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( + name='ConsensusParamsEvidence', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='number', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.number', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='first_block_height', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.first_block_height', index=1, - number=2, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='first_core_block_height', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.first_core_block_height', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_time', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.start_time', index=3, - number=4, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, + name='max_age_num_blocks', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_age_num_blocks', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='fee_multiplier', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.fee_multiplier', index=4, - number=5, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), + name='max_age_duration', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_age_duration', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='protocol_version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.protocol_version', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='max_bytes', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_bytes', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -4593,43 +4460,36 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15683, - serialized_end=15841, + serialized_start=14980, + serialized_end=15078, ) -_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 = _descriptor.Descriptor( - name='GetEpochsInfoResponseV0', - full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0', +_GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor( + name='GetConsensusParamsResponseV0', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='epochs', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.epochs', index=0, + name='block', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.block', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof', index=1, + name='evidence', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.evidence', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS, _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -4637,26 +4497,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=15319, - serialized_end=15851, + serialized_start=15081, + serialized_end=15299, ) -_GETEPOCHSINFORESPONSE = _descriptor.Descriptor( - name='GetEpochsInfoResponse', - full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse', +_GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor( + name='GetConsensusParamsResponse', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='v0', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -4665,7 +4520,7 @@ ], extensions=[ ], - nested_types=[_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0, ], + nested_types=[_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK, _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE, _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -4674,34 +4529,27 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=15205, - serialized_end=15862, + serialized_start=14770, + serialized_end=15310, ) -_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0_STARTATVALUEINFO = _descriptor.Descriptor( - name='StartAtValueInfo', - full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo', +_GETPROTOCOLVERSIONUPGRADESTATEREQUEST_GETPROTOCOLVERSIONUPGRADESTATEREQUESTV0 = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeStateRequestV0', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0', 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, + name='prove', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prove', index=0, + number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -4718,85 +4566,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16357, - serialized_end=16426, + serialized_start=15474, + serialized_end=15530, ) -_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0 = _descriptor.Descriptor( - name='GetContestedResourcesRequestV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0', +_GETPROTOCOLVERSIONUPGRADESTATEREQUEST = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeStateRequest', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest', 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, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='end_index_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.end_index_values', index=4, - number=5, 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='start_at_value_info', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.start_at_value_info', index=5, - number=6, type=11, cpp_type=10, label=1, + name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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='count', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.count', index=6, - number=7, 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='order_ascending', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.order_ascending', index=7, - number=8, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prove', index=8, - number=9, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0_STARTATVALUEINFO, ], + nested_types=[_GETPROTOCOLVERSIONUPGRADESTATEREQUEST_GETPROTOCOLVERSIONUPGRADESTATEREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -4805,39 +4597,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='_start_at_value_info', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0._start_at_value_info', + name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), - _descriptor.OneofDescriptor( - name='_count', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0._count', - index=1, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=16000, - serialized_end=16460, + serialized_start=15313, + serialized_end=15541, ) -_GETCONTESTEDRESOURCESREQUEST = _descriptor.Descriptor( - name='GetContestedResourcesRequest', - full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest', + +_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONS = _descriptor.Descriptor( + name='Versions', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions', 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.GetContestedResourcesRequest.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='versions', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.versions', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -4845,29 +4633,30 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=15865, - serialized_end=16471, + serialized_start=16006, + serialized_end=16156, ) - -_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0_CONTESTEDRESOURCEVALUES = _descriptor.Descriptor( - name='ContestedResourceValues', - full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues', +_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY = _descriptor.Descriptor( + name='VersionEntry', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contested_resource_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.contested_resource_values', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='version_number', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.version_number', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='vote_count', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.vote_count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -4883,34 +4672,34 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16913, - serialized_end=16973, + serialized_start=16158, + serialized_end=16216, ) -_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0 = _descriptor.Descriptor( - name='GetContestedResourcesResponseV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0', +_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0 = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeStateResponseV0', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contested_resource_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.contested_resource_values', index=0, + name='versions', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.versions', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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, @@ -4919,7 +4708,7 @@ ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0_CONTESTEDRESOURCEVALUES, ], + nested_types=[_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONS, _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY, ], enum_types=[ ], serialized_options=None, @@ -4928,25 +4717,25 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.result', + name='result', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=16612, - serialized_end=16983, + serialized_start=15709, + serialized_end=16226, ) -_GETCONTESTEDRESOURCESRESPONSE = _descriptor.Descriptor( - name='GetContestedResourcesResponse', - full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse', +_GETPROTOCOLVERSIONUPGRADESTATERESPONSE = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeStateResponse', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse', 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.GetContestedResourcesResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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, @@ -4955,7 +4744,7 @@ ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0, ], + nested_types=[_GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -4964,72 +4753,41 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=16474, - serialized_end=16994, + serialized_start=15544, + serialized_end=16237, ) -_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_STARTATTIMEINFO = _descriptor.Descriptor( - name='StartAtTimeInfo', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo', +_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUESTV0 = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeVoteStatusRequestV0', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='start_time_ms', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.start_time_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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_time_included', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.start_time_included', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='start_pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.start_pro_tx_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=17507, - serialized_end=17576, -) - -_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO = _descriptor.Descriptor( - name='EndAtTimeInfo', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ _descriptor.FieldDescriptor( - name='end_time_ms', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.end_time_ms', index=0, - number=1, type=4, cpp_type=4, label=1, + name='count', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.count', index=1, + number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='end_time_included', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.end_time_included', index=1, - number=2, type=8, cpp_type=7, label=1, + name='prove', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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, @@ -5046,106 +4804,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17578, - serialized_end=17641, -) - -_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0 = _descriptor.Descriptor( - name='GetVotePollsByEndDateRequestV0', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='start_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.start_time_info', 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='end_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.end_time_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='limit', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.limit', 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='offset', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.offset', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='ascending', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.ascending', 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), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prove', index=5, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_STARTATTIMEINFO, _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='_start_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._start_time_info', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - _descriptor.OneofDescriptor( - name='_end_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._end_time_info', - index=1, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - _descriptor.OneofDescriptor( - name='_limit', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._limit', - index=2, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - _descriptor.OneofDescriptor( - name='_offset', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._offset', - index=3, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=17132, - serialized_end=17700, + serialized_start=16417, + serialized_end=16520, ) -_GETVOTEPOLLSBYENDDATEREQUEST = _descriptor.Descriptor( - name='GetVotePollsByEndDateRequest', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest', +_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeVoteStatusRequest', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest', 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.GetVotePollsByEndDateRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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, @@ -5154,7 +4826,7 @@ ], extensions=[ ], - nested_types=[_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0, ], + nested_types=[_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -5163,34 +4835,27 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=16997, - serialized_end=17711, + serialized_start=16240, + serialized_end=16531, ) -_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMP = _descriptor.Descriptor( - name='SerializedVotePollsByTimestamp', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp', +_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS = _descriptor.Descriptor( + name='VersionSignals', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='timestamp', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.timestamp', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='serialized_vote_polls', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serialized_vote_polls', index=1, - number=2, type=12, cpp_type=9, label=3, + name='version_signals', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.version_signals', index=0, + number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -5207,29 +4872,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18160, - serialized_end=18242, + serialized_start=17034, + serialized_end=17209, ) -_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMPS = _descriptor.Descriptor( - name='SerializedVotePollsByTimestamps', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps', +_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL = _descriptor.Descriptor( + name='VersionSignal', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='vote_polls_by_timestamps', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.vote_polls_by_timestamps', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.pro_tx_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='finished_results', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.finished_results', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.version', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -5245,34 +4910,34 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18245, - serialized_end=18460, + serialized_start=17211, + serialized_end=17264, ) -_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0 = _descriptor.Descriptor( - name='GetVotePollsByEndDateResponseV0', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0', +_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0 = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeVoteStatusResponseV0', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='vote_polls_by_timestamps', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.vote_polls_by_timestamps', index=0, + name='versions', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.versions', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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, @@ -5281,7 +4946,7 @@ ], extensions=[ ], - nested_types=[_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMP, _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMPS, ], + nested_types=[_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS, _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL, ], enum_types=[ ], serialized_options=None, @@ -5290,25 +4955,25 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.result', + name='result', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17852, - serialized_end=18470, + serialized_start=16715, + serialized_end=17274, ) -_GETVOTEPOLLSBYENDDATERESPONSE = _descriptor.Descriptor( - name='GetVotePollsByEndDateResponse', - full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse', +_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE = _descriptor.Descriptor( + name='GetProtocolVersionUpgradeVoteStatusResponse', + full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse', 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.GetVotePollsByEndDateResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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, @@ -5317,7 +4982,7 @@ ], extensions=[ ], - nested_types=[_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0, ], + nested_types=[_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -5326,34 +4991,48 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17714, - serialized_end=18481, + serialized_start=16534, + serialized_end=17285, ) -_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_STARTATIDENTIFIERINFO = _descriptor.Descriptor( - name='StartAtIdentifierInfo', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo', +_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0 = _descriptor.Descriptor( + name='GetEpochsInfoRequestV0', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='start_identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.start_identifier', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='start_epoch', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.start_epoch', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='start_identifier_included', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.start_identifier_included', index=1, - number=2, type=8, cpp_type=7, label=1, + name='count', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ascending', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.ascending', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prove', index=3, + number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -5370,77 +5049,2174 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19170, - serialized_end=19254, + serialized_start=17398, + serialized_end=17522, ) -_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0 = _descriptor.Descriptor( - name='GetContestedResourceVoteStateRequestV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0', +_GETEPOCHSINFOREQUEST = _descriptor.Descriptor( + name='GetEpochsInfoRequest', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contract_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.contract_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='v0', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='document_type_name', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.document_type_name', index=1, - number=2, type=9, cpp_type=9, label=1, + ], + extensions=[ + ], + nested_types=[_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=17288, + serialized_end=17533, +) + + +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS = _descriptor.Descriptor( + name='EpochInfos', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='epoch_infos', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.epoch_infos', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=17894, + serialized_end=18011, +) + +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO = _descriptor.Descriptor( + name='EpochInfo', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='number', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.number', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='first_block_height', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.first_block_height', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='first_core_block_height', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.first_core_block_height', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.start_time', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_multiplier', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.fee_multiplier', index=4, + number=5, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='protocol_version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18014, + serialized_end=18172, +) + +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 = _descriptor.Descriptor( + name='GetEpochsInfoResponseV0', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='epochs', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.epochs', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS, _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=17650, + serialized_end=18182, +) + +_GETEPOCHSINFORESPONSE = _descriptor.Descriptor( + name='GetEpochsInfoResponse', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=17536, + serialized_end=18193, +) + + +_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=18688, + serialized_end=18757, +) + +_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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.index_name', index=2, - number=3, type=9, cpp_type=9, label=1, + 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, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='end_index_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.end_index_values', index=4, + number=5, 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='start_at_value_info', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.start_at_value_info', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.count', index=6, + number=7, 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='order_ascending', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.order_ascending', index=7, + number=8, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prove', index=8, + number=9, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0_STARTATVALUEINFO, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_start_at_value_info', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0._start_at_value_info', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_count', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0._count', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=18331, + serialized_end=18791, +) + +_GETCONTESTEDRESOURCESREQUEST = _descriptor.Descriptor( + name='GetContestedResourcesRequest', + full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest', + 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.GetContestedResourcesRequest.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=[_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=18196, + serialized_end=18802, +) + + +_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0_CONTESTEDRESOURCEVALUES = _descriptor.Descriptor( + name='ContestedResourceValues', + full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contested_resource_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.contested_resource_values', index=0, + number=1, type=12, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19244, + serialized_end=19304, +) + +_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0 = _descriptor.Descriptor( + name='GetContestedResourcesResponseV0', + full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contested_resource_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.contested_resource_values', 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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=[_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0_CONTESTEDRESOURCEVALUES, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=18943, + serialized_end=19314, +) + +_GETCONTESTEDRESOURCESRESPONSE = _descriptor.Descriptor( + name='GetContestedResourcesResponse', + full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse', + 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.GetContestedResourcesResponse.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=[_GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourcesResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=18805, + serialized_end=19325, +) + + +_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_STARTATTIMEINFO = _descriptor.Descriptor( + name='StartAtTimeInfo', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_time_ms', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.start_time_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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time_included', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.start_time_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=19838, + serialized_end=19907, +) + +_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO = _descriptor.Descriptor( + name='EndAtTimeInfo', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='end_time_ms', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.end_time_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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='end_time_included', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.end_time_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=19909, + serialized_end=19972, +) + +_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0 = _descriptor.Descriptor( + name='GetVotePollsByEndDateRequestV0', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.start_time_info', 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='end_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.end_time_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='limit', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.limit', 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='offset', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.offset', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ascending', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.ascending', 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), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prove', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_STARTATTIMEINFO, _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_start_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._start_time_info', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_end_time_info', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._end_time_info', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_limit', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._limit', + index=2, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_offset', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0._offset', + index=3, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=19463, + serialized_end=20031, +) + +_GETVOTEPOLLSBYENDDATEREQUEST = _descriptor.Descriptor( + name='GetVotePollsByEndDateRequest', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest', + 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.GetVotePollsByEndDateRequest.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=[_GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=19328, + serialized_end=20042, +) + + +_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMP = _descriptor.Descriptor( + name='SerializedVotePollsByTimestamp', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='timestamp', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.timestamp', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='serialized_vote_polls', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serialized_vote_polls', index=1, + number=2, type=12, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20491, + serialized_end=20573, +) + +_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMPS = _descriptor.Descriptor( + name='SerializedVotePollsByTimestamps', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='vote_polls_by_timestamps', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.vote_polls_by_timestamps', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='finished_results', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.finished_results', 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=20576, + serialized_end=20791, +) + +_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0 = _descriptor.Descriptor( + name='GetVotePollsByEndDateResponseV0', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='vote_polls_by_timestamps', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.vote_polls_by_timestamps', 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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=[_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMP, _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMPS, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=20183, + serialized_end=20801, +) + +_GETVOTEPOLLSBYENDDATERESPONSE = _descriptor.Descriptor( + name='GetVotePollsByEndDateResponse', + full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse', + 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.GetVotePollsByEndDateResponse.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=[_GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=20045, + serialized_end=20812, +) + + +_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_STARTATIDENTIFIERINFO = _descriptor.Descriptor( + name='StartAtIdentifierInfo', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.start_identifier', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_identifier_included', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.start_identifier_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=21501, + serialized_end=21585, +) + +_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0 = _descriptor.Descriptor( + name='GetContestedResourceVoteStateRequestV0', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0', + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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='index_values', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='result_type', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.result_type', index=4, + number=5, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allow_include_locked_and_abstaining_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.allow_include_locked_and_abstaining_vote_tally', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.start_at_identifier_info', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.count', 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='prove', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prove', index=8, + number=9, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_STARTATIDENTIFIERINFO, ], + enum_types=[ + _GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_RESULTTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0._start_at_identifier_info', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0._count', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=20974, + serialized_end=21699, +) + +_GETCONTESTEDRESOURCEVOTESTATEREQUEST = _descriptor.Descriptor( + name='GetContestedResourceVoteStateRequest', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest', + 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.GetContestedResourceVoteStateRequest.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=[_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=20815, + serialized_end=21710, +) + + +_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO = _descriptor.Descriptor( + name='FinishedVoteInfo', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='finished_vote_outcome', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_vote_outcome', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='won_by_identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.won_by_identity_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='finished_at_block_height', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_block_height', index=2, + number=3, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='finished_at_core_block_height', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_core_block_height', index=3, + number=4, 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='finished_at_block_time_ms', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_block_time_ms', index=4, + number=5, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='finished_at_epoch', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_epoch', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO_FINISHEDVOTEOUTCOME, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_won_by_identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo._won_by_identity_id', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=22210, + serialized_end=22676, +) + +_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTESTEDRESOURCECONTENDERS = _descriptor.Descriptor( + name='ContestedResourceContenders', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contenders', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='abstain_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.abstain_vote_tally', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='lock_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.lock_vote_tally', 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='finished_vote_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.finished_vote_info', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_abstain_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders._abstain_vote_tally', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_lock_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders._lock_vote_tally', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_finished_vote_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders._finished_vote_info', + index=2, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=22679, + serialized_end=23131, +) + +_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTENDER = _descriptor.Descriptor( + name='Contender', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.identifier', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='vote_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.vote_count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='document', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.document', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_vote_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender._vote_count', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_document', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender._document', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=23133, + serialized_end=23240, +) + +_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0 = _descriptor.Descriptor( + name='GetContestedResourceVoteStateResponseV0', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contested_resource_contenders', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.contested_resource_contenders', 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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=[_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO, _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTESTEDRESOURCECONTENDERS, _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTENDER, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=21875, + serialized_end=23250, +) + +_GETCONTESTEDRESOURCEVOTESTATERESPONSE = _descriptor.Descriptor( + name='GetContestedResourceVoteStateResponse', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse', + 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.GetContestedResourceVoteStateResponse.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=[_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=21713, + serialized_end=23261, +) + + +_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0_STARTATIDENTIFIERINFO = _descriptor.Descriptor( + name='StartAtIdentifierInfo', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.start_identifier', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_identifier_included', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.start_identifier_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=21501, + serialized_end=21585, +) + +_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0 = _descriptor.Descriptor( + name='GetContestedResourceVotersForIdentityRequestV0', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0', + 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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='index_values', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='contestant_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.contestant_id', index=4, + number=5, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.start_at_identifier_info', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.count', index=6, + number=7, 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='order_ascending', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.order_ascending', index=7, + number=8, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prove', index=8, + number=9, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0_STARTATIDENTIFIERINFO, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0._start_at_identifier_info', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0._count', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=23448, + serialized_end=23978, +) + +_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST = _descriptor.Descriptor( + name='GetContestedResourceVotersForIdentityRequest', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest', + 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.GetContestedResourceVotersForIdentityRequest.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=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=23264, + serialized_end=23989, +) + + +_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0_CONTESTEDRESOURCEVOTERS = _descriptor.Descriptor( + name='ContestedResourceVoters', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='voters', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.voters', 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='finished_results', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.finished_results', 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=24529, + serialized_end=24596, +) + +_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0 = _descriptor.Descriptor( + name='GetContestedResourceVotersForIdentityResponseV0', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contested_resource_voters', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.contested_resource_voters', 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0_CONTESTEDRESOURCEVOTERS, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=24179, + serialized_end=24606, +) + +_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE = _descriptor.Descriptor( + name='GetContestedResourceVotersForIdentityResponse', + full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse', + 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.GetContestedResourceVotersForIdentityResponse.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=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=23992, + serialized_end=24617, +) + + +_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0_STARTATVOTEPOLLIDINFO = _descriptor.Descriptor( + name='StartAtVotePollIdInfo', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_at_poll_identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.start_at_poll_identifier', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_poll_identifier_included', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.start_poll_identifier_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=25166, + serialized_end=25263, +) + +_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0 = _descriptor.Descriptor( + name='GetContestedResourceIdentityVotesRequestV0', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.identity_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='limit', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.limit', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='offset', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.offset', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='order_ascending', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.order_ascending', 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='start_at_vote_poll_id_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.start_at_vote_poll_id_info', index=4, + number=5, 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prove', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0_STARTATVOTEPOLLIDINFO, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_start_at_vote_poll_id_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0._start_at_vote_poll_id_info', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=24791, + serialized_end=25294, +) + +_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST = _descriptor.Descriptor( + name='GetContestedResourceIdentityVotesRequest', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest', + 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.GetContestedResourceIdentityVotesRequest.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=[_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=24620, + serialized_end=25305, +) + + +_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTES = _descriptor.Descriptor( + name='ContestedResourceIdentityVotes', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contested_resource_identity_votes', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contested_resource_identity_votes', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='finished_results', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.finished_results', 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=25808, + serialized_end=26055, +) + +_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE = _descriptor.Descriptor( + name='ResourceVoteChoice', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='vote_choice_type', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.vote_choice_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.identity_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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE_VOTECHOICETYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice._identity_id', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=26058, + serialized_end=26359, +) + +_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTE = _descriptor.Descriptor( + name='ContestedResourceIdentityVote', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote', + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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_values', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.index_values', index=3, - number=4, type=12, cpp_type=9, label=3, + name='serialized_index_storage_values', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serialized_index_storage_values', index=2, + number=3, 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='result_type', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.result_type', index=4, - number=5, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, + name='vote_choice', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.vote_choice', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=26362, + serialized_end=26639, +) + +_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0 = _descriptor.Descriptor( + name='GetContestedResourceIdentityVotesResponseV0', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='votes', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.votes', 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='allow_include_locked_and_abstaining_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.allow_include_locked_and_abstaining_vote_tally', index=5, - number=6, type=8, cpp_type=7, label=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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=[_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTES, _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE, _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTE, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=25482, + serialized_end=26649, +) + +_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE = _descriptor.Descriptor( + name='GetContestedResourceIdentityVotesResponse', + full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse', + 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.GetContestedResourceIdentityVotesResponse.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=[_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=25308, + serialized_end=26660, +) + + +_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST_GETPREFUNDEDSPECIALIZEDBALANCEREQUESTV0 = _descriptor.Descriptor( + name='GetPrefundedSpecializedBalanceRequestV0', + full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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=26824, + serialized_end=26892, +) + +_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST = _descriptor.Descriptor( + name='GetPrefundedSpecializedBalanceRequest', + full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ _descriptor.FieldDescriptor( - name='start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.start_at_identifier_info', index=6, - number=7, type=11, cpp_type=10, label=1, + name='v0', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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=[_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST_GETPREFUNDEDSPECIALIZEDBALANCEREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=26663, + serialized_end=26903, +) + + +_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE_GETPREFUNDEDSPECIALIZEDBALANCERESPONSEV0 = _descriptor.Descriptor( + name='GetPrefundedSpecializedBalanceResponseV0', + full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ _descriptor.FieldDescriptor( - name='count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.count', index=7, - number=8, type=13, cpp_type=3, label=1, + name='balance', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.balance', index=0, + number=1, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prove', index=8, - number=9, type=8, cpp_type=7, label=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=27071, + serialized_end=27256, +) + +_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE = _descriptor.Descriptor( + name='GetPrefundedSpecializedBalanceResponse', + full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse', + 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.GetPrefundedSpecializedBalanceResponse.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=[_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE_GETPREFUNDEDSPECIALIZEDBALANCERESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=26906, + serialized_end=27267, +) + + +_GETTOTALCREDITSINPLATFORMREQUEST_GETTOTALCREDITSINPLATFORMREQUESTV0 = _descriptor.Descriptor( + name='GetTotalCreditsInPlatformRequestV0', + full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prove', index=0, + number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -5448,40 +7224,29 @@ ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_STARTATIDENTIFIERINFO, ], + nested_types=[], enum_types=[ - _GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_RESULTTYPE, ], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='_start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0._start_at_identifier_info', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - _descriptor.OneofDescriptor( - name='_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0._count', - index=1, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=18643, - serialized_end=19368, + serialized_start=27416, + serialized_end=27467, ) -_GETCONTESTEDRESOURCEVOTESTATEREQUEST = _descriptor.Descriptor( - name='GetContestedResourceVoteStateRequest', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest', +_GETTOTALCREDITSINPLATFORMREQUEST = _descriptor.Descriptor( + name='GetTotalCreditsInPlatformRequest', + full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest', 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.GetContestedResourceVoteStateRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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, @@ -5490,7 +7255,7 @@ ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0, ], + nested_types=[_GETTOTALCREDITSINPLATFORMREQUEST_GETTOTALCREDITSINPLATFORMREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -5499,72 +7264,86 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18484, - serialized_end=19379, + serialized_start=27270, + serialized_end=27478, ) -_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO = _descriptor.Descriptor( - name='FinishedVoteInfo', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo', +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0 = _descriptor.Descriptor( + name='GetTotalCreditsInPlatformResponseV0', + full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='finished_vote_outcome', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_vote_outcome', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='won_by_identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.won_by_identity_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='finished_at_block_height', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_block_height', index=2, - number=3, type=4, cpp_type=4, label=1, + name='credits', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.credits', index=0, + number=1, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='finished_at_core_block_height', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_core_block_height', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='proof', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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='finished_at_block_time_ms', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_block_time_ms', index=4, - number=5, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, + name='metadata', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=27631, + serialized_end=27811, +) + +_GETTOTALCREDITSINPLATFORMRESPONSE = _descriptor.Descriptor( + name='GetTotalCreditsInPlatformResponse', + full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ _descriptor.FieldDescriptor( - name='finished_at_epoch', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.finished_at_epoch', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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=[_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0, ], enum_types=[ - _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO_FINISHEDVOTEOUTCOME, ], serialized_options=None, is_extendable=False, @@ -5572,47 +7351,72 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='_won_by_identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo._won_by_identity_id', + name='version', full_name='org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19879, - serialized_end=20345, + serialized_start=27481, + serialized_end=27822, ) -_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTESTEDRESOURCECONTENDERS = _descriptor.Descriptor( - name='ContestedResourceContenders', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders', + +_GETPATHELEMENTSREQUEST_GETPATHELEMENTSREQUESTV0 = _descriptor.Descriptor( + name='GetPathElementsRequestV0', + full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contenders', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders', index=0, - number=1, type=11, cpp_type=10, label=3, + name='path', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.path', 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='abstain_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.abstain_vote_tally', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='keys', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.keys', index=1, + number=2, 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='lock_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.lock_vote_tally', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='prove', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prove', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=27941, + serialized_end=28010, +) + +_GETPATHELEMENTSREQUEST = _descriptor.Descriptor( + name='GetPathElementsRequest', + full_name='org.dash.platform.dapi.v0.GetPathElementsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ _descriptor.FieldDescriptor( - name='finished_vote_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.finished_vote_info', index=3, - number=4, type=11, cpp_type=10, label=1, + name='v0', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.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, @@ -5620,7 +7424,7 @@ ], extensions=[ ], - nested_types=[], + nested_types=[_GETPATHELEMENTSREQUEST_GETPATHELEMENTSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -5629,51 +7433,28 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='_abstain_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders._abstain_vote_tally', + name='version', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), - _descriptor.OneofDescriptor( - name='_lock_vote_tally', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders._lock_vote_tally', - index=1, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - _descriptor.OneofDescriptor( - name='_finished_vote_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders._finished_vote_info', - index=2, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=20348, - serialized_end=20800, + serialized_start=27825, + serialized_end=28021, ) -_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTENDER = _descriptor.Descriptor( - name='Contender', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender', + +_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0_ELEMENTS = _descriptor.Descriptor( + name='Elements', + full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.identifier', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='vote_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.vote_count', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='document', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.document', index=2, - number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='elements', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.elements', 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), @@ -5688,45 +7469,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='_vote_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender._vote_count', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - _descriptor.OneofDescriptor( - name='_document', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender._document', - index=1, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=20802, - serialized_end=20909, + serialized_start=28394, + serialized_end=28422, ) -_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0 = _descriptor.Descriptor( - name='GetContestedResourceVoteStateResponseV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0', +_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0 = _descriptor.Descriptor( + name='GetPathElementsResponseV0', + full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contested_resource_contenders', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.contested_resource_contenders', index=0, + name='elements', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.elements', 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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, @@ -5735,7 +7506,7 @@ ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO, _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTESTEDRESOURCECONTENDERS, _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTENDER, ], + nested_types=[_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0_ELEMENTS, ], enum_types=[ ], serialized_options=None, @@ -5744,25 +7515,25 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.result', + name='result', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19544, - serialized_end=20919, + serialized_start=28144, + serialized_end=28432, ) -_GETCONTESTEDRESOURCEVOTESTATERESPONSE = _descriptor.Descriptor( - name='GetContestedResourceVoteStateResponse', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse', +_GETPATHELEMENTSRESPONSE = _descriptor.Descriptor( + name='GetPathElementsResponse', + full_name='org.dash.platform.dapi.v0.GetPathElementsResponse', 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.GetContestedResourceVoteStateResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.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, @@ -5771,7 +7542,7 @@ ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0, ], + nested_types=[_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -5780,42 +7551,59 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19382, - serialized_end=20930, + serialized_start=28024, + serialized_end=28443, ) -_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0_STARTATIDENTIFIERINFO = _descriptor.Descriptor( - name='StartAtIdentifierInfo', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo', +_GETSTATUSREQUEST_GETSTATUSREQUESTV0 = _descriptor.Descriptor( + name='GetStatusRequestV0', + full_name='org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=28544, + serialized_end=28564, +) + +_GETSTATUSREQUEST = _descriptor.Descriptor( + name='GetStatusRequest', + full_name='org.dash.platform.dapi.v0.GetStatusRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='start_identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.start_identifier', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_identifier_included', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.start_identifier_included', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='v0', full_name='org.dash.platform.dapi.v0.GetStatusRequest.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=[_GETSTATUSREQUEST_GETSTATUSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -5823,86 +7611,50 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetStatusRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=19170, - serialized_end=19254, + serialized_start=28446, + serialized_end=28575, ) -_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0 = _descriptor.Descriptor( - name='GetContestedResourceVotersForIdentityRequestV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0', + +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE = _descriptor.Descriptor( + name='Software', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software', 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.contract_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='dapi', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.dapi', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='document_type_name', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.document_type_name', index=1, + name='drive', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.drive', 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.index_name', index=2, + name='tenderdash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.tenderdash', 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='index_values', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='contestant_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.contestant_id', index=4, - number=5, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.start_at_identifier_info', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.count', index=6, - number=7, 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='order_ascending', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.order_ascending', index=7, - number=8, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prove', index=8, - number=9, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0_STARTATIDENTIFIERINFO, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -5911,39 +7663,46 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='_start_at_identifier_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0._start_at_identifier_info', + name='_drive', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software._drive', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor( - name='_count', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0._count', + name='_tenderdash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software._tenderdash', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=21117, - serialized_end=21647, + serialized_start=29452, + serialized_end=29546, ) -_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST = _descriptor.Descriptor( - name='GetContestedResourceVotersForIdentityRequest', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH = _descriptor.Descriptor( + name='Tenderdash', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash', 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.GetContestedResourceVotersForIdentityRequest.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='p2p', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.p2p', 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='block', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.block', 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=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -5951,36 +7710,30 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=20933, - serialized_end=21658, + serialized_start=29779, + serialized_end=29819, ) - -_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0_CONTESTEDRESOURCEVOTERS = _descriptor.Descriptor( - name='ContestedResourceVoters', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE = _descriptor.Descriptor( + name='Drive', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='voters', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.voters', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='latest', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.latest', index=0, + 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='finished_results', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.finished_results', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='current', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.current', index=1, + number=4, 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), @@ -5996,35 +7749,66 @@ extension_ranges=[], oneofs=[ ], - serialized_start=22198, - serialized_end=22265, + serialized_start=29821, + serialized_end=29861, ) -_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0 = _descriptor.Descriptor( - name='GetContestedResourceVotersForIdentityResponseV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL = _descriptor.Descriptor( + name='Protocol', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contested_resource_voters', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.contested_resource_voters', index=0, + name='tenderdash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.tenderdash', 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.proof', index=1, + name='drive', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.drive', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH, _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=29549, + serialized_end=29861, +) + +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION = _descriptor.Descriptor( + name='Version', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='software', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.software', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, + name='protocol', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.protocol', 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, @@ -6032,7 +7816,7 @@ ], extensions=[ ], - nested_types=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0_CONTESTEDRESOURCEVOTERS, ], + nested_types=[_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE, _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL, ], enum_types=[ ], serialized_options=None, @@ -6040,35 +7824,51 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=21848, - serialized_end=22275, + serialized_start=29239, + serialized_end=29861, ) -_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE = _descriptor.Descriptor( - name='GetContestedResourceVotersForIdentityResponse', - full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME = _descriptor.Descriptor( + name='Time', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time', 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.GetContestedResourceVotersForIdentityResponse.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='local', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.local', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.block', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='genesis', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.genesis', index=2, + number=3, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='epoch', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.epoch', index=3, + number=4, 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=[_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -6077,35 +7877,44 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.version', + name='_block', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time._block', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor( + name='_genesis', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time._genesis', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_epoch', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time._epoch', + index=2, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=21661, - serialized_end=22286, + serialized_start=29863, + serialized_end=29978, ) - -_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0_STARTATVOTEPOLLIDINFO = _descriptor.Descriptor( - name='StartAtVotePollIdInfo', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE = _descriptor.Descriptor( + name='Node', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='start_at_poll_identifier', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.start_at_poll_identifier', index=0, + name='id', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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='start_poll_identifier_included', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.start_poll_identifier_included', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.pro_tx_hash', 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), @@ -6120,101 +7929,91 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='_pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node._pro_tx_hash', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=22835, - serialized_end=22932, + serialized_start=29980, + serialized_end=30040, ) -_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0 = _descriptor.Descriptor( - name='GetContestedResourceIdentityVotesRequestV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN = _descriptor.Descriptor( + name='Chain', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.identity_id', index=0, - number=1, type=12, cpp_type=9, label=1, + name='catching_up', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.catching_up', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='latest_block_hash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.latest_block_hash', 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='limit', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.limit', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='latest_app_hash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.latest_app_hash', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='offset', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.offset', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='latest_block_height', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.latest_block_height', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='order_ascending', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.order_ascending', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='earliest_block_hash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.earliest_block_hash', index=4, + number=5, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='start_at_vote_poll_id_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.start_at_vote_poll_id_info', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='earliest_app_hash', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.earliest_app_hash', index=5, + number=6, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prove', index=5, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='earliest_block_height', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.earliest_block_height', 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0_STARTATVOTEPOLLIDINFO, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='_start_at_vote_poll_id_info', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0._start_at_vote_poll_id_info', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=22460, - serialized_end=22963, -) - -_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST = _descriptor.Descriptor( - name='GetContestedResourceIdentityVotesRequest', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest', - 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.GetContestedResourceIdentityVotesRequest.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='max_peer_block_height', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.max_peer_block_height', index=7, + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='core_chain_locked_height', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.core_chain_locked_height', index=8, + number=10, 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=[_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -6223,34 +8022,40 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.version', + name='_core_chain_locked_height', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain._core_chain_locked_height', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=22289, - serialized_end=22974, + serialized_start=30043, + serialized_end=30338, ) - -_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTES = _descriptor.Descriptor( - name='ContestedResourceIdentityVotes', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK = _descriptor.Descriptor( + name='Network', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contested_resource_identity_votes', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contested_resource_identity_votes', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='chain_id', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.chain_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='finished_results', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.finished_results', index=1, - number=2, type=8, cpp_type=7, label=1, + name='peers_count', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.peers_count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='listening', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.listening', 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, @@ -6267,87 +8072,71 @@ extension_ranges=[], oneofs=[ ], - serialized_start=23477, - serialized_end=23724, + serialized_start=30340, + serialized_end=30407, ) -_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE = _descriptor.Descriptor( - name='ResourceVoteChoice', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC = _descriptor.Descriptor( + name='StateSync', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='vote_choice_type', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.vote_choice_type', index=0, - number=1, type=14, cpp_type=8, label=1, + name='total_synced_time', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.total_synced_time', index=0, + number=1, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.identity_id', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='remaining_time', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.remaining_time', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE_VOTECHOICETYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='_identity_id', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice._identity_id', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=23727, - serialized_end=24028, -) - -_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTE = _descriptor.Descriptor( - name='ContestedResourceIdentityVote', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote', - 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.contract_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='total_snapshots', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.total_snapshots', 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='document_type_name', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.document_type_name', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='chunk_process_avg_time', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.chunk_process_avg_time', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='serialized_index_storage_values', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serialized_index_storage_values', index=2, - number=3, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='snapshot_height', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.snapshot_height', index=4, + number=5, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='vote_choice', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.vote_choice', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='snapshot_chunks_count', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.snapshot_chunks_count', index=5, + number=6, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='backfilled_blocks', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.backfilled_blocks', 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='backfill_blocks_total', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.backfill_blocks_total', index=7, + number=8, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -6363,123 +8152,64 @@ extension_ranges=[], oneofs=[ ], - serialized_start=24031, - serialized_end=24308, + serialized_start=30410, + serialized_end=30643, ) -_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0 = _descriptor.Descriptor( - name='GetContestedResourceIdentityVotesResponseV0', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0', +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 = _descriptor.Descriptor( + name='GetStatusResponseV0', + full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='votes', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.votes', index=0, + name='version', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.version', 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.proof', index=1, + name='node', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.node', 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.metadata', index=2, + name='chain', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.chain', 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=[_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTES, _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE, _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTE, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=23151, - serialized_end=24318, -) - -_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE = _descriptor.Descriptor( - name='GetContestedResourceIdentityVotesResponse', - full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse', - 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.GetContestedResourceIdentityVotesResponse.v0', index=0, - number=1, type=11, cpp_type=10, label=1, + name='network', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.network', index=3, + number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=22977, - serialized_end=24329, -) - - -_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST_GETPREFUNDEDSPECIALIZEDBALANCEREQUESTV0 = _descriptor.Descriptor( - name='GetPrefundedSpecializedBalanceRequestV0', - full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ _descriptor.FieldDescriptor( - name='id', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='state_sync', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.state_sync', index=4, + number=5, 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='time', full_name='org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.time', index=5, + number=6, 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=[_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION, _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME, _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE, _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN, _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK, _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC, ], enum_types=[ ], serialized_options=None, @@ -6488,20 +8218,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=24493, - serialized_end=24561, + serialized_start=28680, + serialized_end=30643, ) -_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST = _descriptor.Descriptor( - name='GetPrefundedSpecializedBalanceRequest', - full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest', +_GETSTATUSRESPONSE = _descriptor.Descriptor( + name='GetStatusResponse', + full_name='org.dash.platform.dapi.v0.GetStatusResponse', 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.GetPrefundedSpecializedBalanceRequest.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetStatusResponse.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, @@ -6510,7 +8240,7 @@ ], extensions=[ ], - nested_types=[_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST_GETPREFUNDEDSPECIALIZEDBALANCEREQUESTV0, ], + nested_types=[_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -6519,45 +8249,24 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.version', + name='version', full_name='org.dash.platform.dapi.v0.GetStatusResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24332, - serialized_end=24572, + serialized_start=28578, + serialized_end=30654, ) -_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE_GETPREFUNDEDSPECIALIZEDBALANCERESPONSEV0 = _descriptor.Descriptor( - name='GetPrefundedSpecializedBalanceResponseV0', - full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0', +_GETCURRENTQUORUMSINFOREQUEST_GETCURRENTQUORUMSINFOREQUESTV0 = _descriptor.Descriptor( + name='GetCurrentQuorumsInfoRequestV0', + full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ - _descriptor.FieldDescriptor( - name='balance', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.balance', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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=[ ], @@ -6569,26 +8278,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=24740, - serialized_end=24925, + serialized_start=30791, + serialized_end=30823, ) -_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE = _descriptor.Descriptor( - name='GetPrefundedSpecializedBalanceResponse', - full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse', +_GETCURRENTQUORUMSINFOREQUEST = _descriptor.Descriptor( + name='GetCurrentQuorumsInfoRequest', + full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest', 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.GetPrefundedSpecializedBalanceResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.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, @@ -6597,7 +8301,7 @@ ], extensions=[ ], - nested_types=[_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE_GETPREFUNDEDSPECIALIZEDBALANCERESPONSEV0, ], + nested_types=[_GETCURRENTQUORUMSINFOREQUEST_GETCURRENTQUORUMSINFOREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -6606,40 +8310,40 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24575, - serialized_end=24936, + serialized_start=30657, + serialized_end=30834, ) -_GETPATHELEMENTSREQUEST_GETPATHELEMENTSREQUESTV0 = _descriptor.Descriptor( - name='GetPathElementsRequestV0', - full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0', +_GETCURRENTQUORUMSINFORESPONSE_VALIDATORV0 = _descriptor.Descriptor( + name='ValidatorV0', + full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='path', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.path', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.pro_tx_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='keys', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.keys', index=1, - number=2, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='node_ip', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.node_ip', 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='prove', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prove', index=2, + name='is_banned', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.is_banned', 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, @@ -6657,62 +8361,46 @@ extension_ranges=[], oneofs=[ ], - serialized_start=25055, - serialized_end=25124, + serialized_start=30974, + serialized_end=31044, ) -_GETPATHELEMENTSREQUEST = _descriptor.Descriptor( - name='GetPathElementsRequest', - full_name='org.dash.platform.dapi.v0.GetPathElementsRequest', +_GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0 = _descriptor.Descriptor( + name='ValidatorSetV0', + full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0', 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.GetPathElementsRequest.v0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='quorum_hash', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.quorum_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), - ], - extensions=[ - ], - nested_types=[_GETPATHELEMENTSREQUEST_GETPATHELEMENTSREQUESTV0, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetPathElementsRequest.version', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=24939, - serialized_end=25135, -) - - -_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0_ELEMENTS = _descriptor.Descriptor( - name='Elements', - full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='elements', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.elements', index=0, - number=1, type=12, cpp_type=9, label=3, + name='core_height', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.core_height', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='members', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members', index=2, + number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='threshold_public_key', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.threshold_public_key', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -6725,35 +8413,49 @@ extension_ranges=[], oneofs=[ ], - serialized_start=25508, - serialized_end=25536, + serialized_start=31047, + serialized_end=31222, ) -_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0 = _descriptor.Descriptor( - name='GetPathElementsResponseV0', - full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0', +_GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0 = _descriptor.Descriptor( + name='GetCurrentQuorumsInfoResponseV0', + full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='elements', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.elements', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='quorum_hashes', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.quorum_hashes', index=0, + number=1, type=12, cpp_type=9, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='current_quorum_hash', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.current_quorum_hash', 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='metadata', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, + name='validator_sets', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validator_sets', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_block_proposer', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.last_block_proposer', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.metadata', index=4, + number=5, 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, @@ -6761,7 +8463,7 @@ ], extensions=[ ], - nested_types=[_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0_ELEMENTS, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -6769,26 +8471,21 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.result', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=25258, - serialized_end=25546, + serialized_start=31225, + serialized_end=31499, ) -_GETPATHELEMENTSRESPONSE = _descriptor.Descriptor( - name='GetPathElementsResponse', - full_name='org.dash.platform.dapi.v0.GetPathElementsResponse', +_GETCURRENTQUORUMSINFORESPONSE = _descriptor.Descriptor( + name='GetCurrentQuorumsInfoResponse', + full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse', 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.GetPathElementsResponse.v0', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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, @@ -6797,7 +8494,7 @@ ], extensions=[ ], - nested_types=[_GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0, ], + nested_types=[_GETCURRENTQUORUMSINFORESPONSE_VALIDATORV0, _GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0, _GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -6806,13 +8503,13 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='version', full_name='org.dash.platform.dapi.v0.GetPathElementsResponse.version', + name='version', full_name='org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25138, - serialized_end=25557, + serialized_start=30837, + serialized_end=31510, ) _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST @@ -6978,6 +8675,73 @@ _GETIDENTITIESCONTRACTKEYSRESPONSE.oneofs_by_name['version'].fields.append( _GETIDENTITIESCONTRACTKEYSRESPONSE.fields_by_name['v0']) _GETIDENTITIESCONTRACTKEYSRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITIESCONTRACTKEYSRESPONSE.oneofs_by_name['version'] +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0.containing_type = _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0.oneofs_by_name['_epoch'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0.fields_by_name['epoch']) +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0.fields_by_name['epoch'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0.oneofs_by_name['_epoch'] +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST.fields_by_name['v0'].message_type = _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0 +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST.oneofs_by_name['version'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST.fields_by_name['v0']) +_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST.fields_by_name['v0'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST.oneofs_by_name['version'] +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODEPROPOSEDBLOCKS.containing_type = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0 +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODESPROPOSEDBLOCKS.fields_by_name['evonodes_proposed_block_counts'].message_type = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODEPROPOSEDBLOCKS +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODESPROPOSEDBLOCKS.containing_type = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0 +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.fields_by_name['evonodes_proposed_block_counts_info'].message_type = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODESPROPOSEDBLOCKS +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.containing_type = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.fields_by_name['evonodes_proposed_block_counts_info']) +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.fields_by_name['evonodes_proposed_block_counts_info'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.oneofs_by_name['result'] +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.fields_by_name['proof']) +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0.oneofs_by_name['result'] +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE.fields_by_name['v0'].message_type = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0 +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE.oneofs_by_name['version'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE.fields_by_name['v0']) +_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE.fields_by_name['v0'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE.oneofs_by_name['version'] +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.containing_type = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['start'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['start_after']) +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['start_after'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['start'] +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['start'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['start_at']) +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['start_at'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['start'] +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['_epoch'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['epoch']) +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['epoch'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['_epoch'] +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['_limit'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['limit']) +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.fields_by_name['limit'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0.oneofs_by_name['_limit'] +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST.fields_by_name['v0'].message_type = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0 +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST.oneofs_by_name['version'].fields.append( + _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST.fields_by_name['v0']) +_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST.fields_by_name['v0'].containing_oneof = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST.oneofs_by_name['version'] +_GETIDENTITIESBALANCESREQUEST_GETIDENTITIESBALANCESREQUESTV0.containing_type = _GETIDENTITIESBALANCESREQUEST +_GETIDENTITIESBALANCESREQUEST.fields_by_name['v0'].message_type = _GETIDENTITIESBALANCESREQUEST_GETIDENTITIESBALANCESREQUESTV0 +_GETIDENTITIESBALANCESREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITIESBALANCESREQUEST.fields_by_name['v0']) +_GETIDENTITIESBALANCESREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITIESBALANCESREQUEST.oneofs_by_name['version'] +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE.containing_type = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0 +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE.oneofs_by_name['_balance'].fields.append( + _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE.fields_by_name['balance']) +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE.fields_by_name['balance'].containing_oneof = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE.oneofs_by_name['_balance'] +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITIESBALANCES.fields_by_name['entries'].message_type = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITIESBALANCES.containing_type = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0 +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.fields_by_name['identities_balances'].message_type = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITIESBALANCES +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.containing_type = _GETIDENTITIESBALANCESRESPONSE +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.fields_by_name['identities_balances']) +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.fields_by_name['identities_balances'].containing_oneof = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.fields_by_name['proof']) +_GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESBALANCESRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0 +_GETIDENTITIESBALANCESRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITIESBALANCESRESPONSE.fields_by_name['v0']) +_GETIDENTITIESBALANCESRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITIESBALANCESRESPONSE.oneofs_by_name['version'] _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST.fields_by_name['document_contested_status'].enum_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST_DOCUMENTCONTESTEDSTATUS _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST_DOCUMENTCONTESTEDSTATUS.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST @@ -7421,6 +9185,24 @@ _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE.oneofs_by_name['version'].fields.append( _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE.fields_by_name['v0']) _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE.fields_by_name['v0'].containing_oneof = _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE.oneofs_by_name['version'] +_GETTOTALCREDITSINPLATFORMREQUEST_GETTOTALCREDITSINPLATFORMREQUESTV0.containing_type = _GETTOTALCREDITSINPLATFORMREQUEST +_GETTOTALCREDITSINPLATFORMREQUEST.fields_by_name['v0'].message_type = _GETTOTALCREDITSINPLATFORMREQUEST_GETTOTALCREDITSINPLATFORMREQUESTV0 +_GETTOTALCREDITSINPLATFORMREQUEST.oneofs_by_name['version'].fields.append( + _GETTOTALCREDITSINPLATFORMREQUEST.fields_by_name['v0']) +_GETTOTALCREDITSINPLATFORMREQUEST.fields_by_name['v0'].containing_oneof = _GETTOTALCREDITSINPLATFORMREQUEST.oneofs_by_name['version'] +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.containing_type = _GETTOTALCREDITSINPLATFORMRESPONSE +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.fields_by_name['credits']) +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.fields_by_name['credits'].containing_oneof = _GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.oneofs_by_name['result'] +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.fields_by_name['proof']) +_GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0.oneofs_by_name['result'] +_GETTOTALCREDITSINPLATFORMRESPONSE.fields_by_name['v0'].message_type = _GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0 +_GETTOTALCREDITSINPLATFORMRESPONSE.oneofs_by_name['version'].fields.append( + _GETTOTALCREDITSINPLATFORMRESPONSE.fields_by_name['v0']) +_GETTOTALCREDITSINPLATFORMRESPONSE.fields_by_name['v0'].containing_oneof = _GETTOTALCREDITSINPLATFORMRESPONSE.oneofs_by_name['version'] _GETPATHELEMENTSREQUEST_GETPATHELEMENTSREQUESTV0.containing_type = _GETPATHELEMENTSREQUEST _GETPATHELEMENTSREQUEST.fields_by_name['v0'].message_type = _GETPATHELEMENTSREQUEST_GETPATHELEMENTSREQUESTV0 _GETPATHELEMENTSREQUEST.oneofs_by_name['version'].fields.append( @@ -7441,6 +9223,72 @@ _GETPATHELEMENTSRESPONSE.oneofs_by_name['version'].fields.append( _GETPATHELEMENTSRESPONSE.fields_by_name['v0']) _GETPATHELEMENTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETPATHELEMENTSRESPONSE.oneofs_by_name['version'] +_GETSTATUSREQUEST_GETSTATUSREQUESTV0.containing_type = _GETSTATUSREQUEST +_GETSTATUSREQUEST.fields_by_name['v0'].message_type = _GETSTATUSREQUEST_GETSTATUSREQUESTV0 +_GETSTATUSREQUEST.oneofs_by_name['version'].fields.append( + _GETSTATUSREQUEST.fields_by_name['v0']) +_GETSTATUSREQUEST.fields_by_name['v0'].containing_oneof = _GETSTATUSREQUEST.oneofs_by_name['version'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.oneofs_by_name['_drive'].fields.append( + _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.fields_by_name['drive']) +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.fields_by_name['drive'].containing_oneof = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.oneofs_by_name['_drive'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.oneofs_by_name['_tenderdash'].fields.append( + _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.fields_by_name['tenderdash']) +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.fields_by_name['tenderdash'].containing_oneof = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE.oneofs_by_name['_tenderdash'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL.fields_by_name['tenderdash'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL.fields_by_name['drive'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION.fields_by_name['software'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION.fields_by_name['protocol'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.oneofs_by_name['_block'].fields.append( + _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.fields_by_name['block']) +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.fields_by_name['block'].containing_oneof = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.oneofs_by_name['_block'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.oneofs_by_name['_genesis'].fields.append( + _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.fields_by_name['genesis']) +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.fields_by_name['genesis'].containing_oneof = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.oneofs_by_name['_genesis'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.oneofs_by_name['_epoch'].fields.append( + _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.fields_by_name['epoch']) +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.fields_by_name['epoch'].containing_oneof = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME.oneofs_by_name['_epoch'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE.oneofs_by_name['_pro_tx_hash'].fields.append( + _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE.fields_by_name['pro_tx_hash']) +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE.fields_by_name['pro_tx_hash'].containing_oneof = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE.oneofs_by_name['_pro_tx_hash'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN.oneofs_by_name['_core_chain_locked_height'].fields.append( + _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN.fields_by_name['core_chain_locked_height']) +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN.fields_by_name['core_chain_locked_height'].containing_oneof = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN.oneofs_by_name['_core_chain_locked_height'] +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC.containing_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0.fields_by_name['version'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0.fields_by_name['node'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0.fields_by_name['chain'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0.fields_by_name['network'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0.fields_by_name['state_sync'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0.fields_by_name['time'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME +_GETSTATUSRESPONSE_GETSTATUSRESPONSEV0.containing_type = _GETSTATUSRESPONSE +_GETSTATUSRESPONSE.fields_by_name['v0'].message_type = _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 +_GETSTATUSRESPONSE.oneofs_by_name['version'].fields.append( + _GETSTATUSRESPONSE.fields_by_name['v0']) +_GETSTATUSRESPONSE.fields_by_name['v0'].containing_oneof = _GETSTATUSRESPONSE.oneofs_by_name['version'] +_GETCURRENTQUORUMSINFOREQUEST_GETCURRENTQUORUMSINFOREQUESTV0.containing_type = _GETCURRENTQUORUMSINFOREQUEST +_GETCURRENTQUORUMSINFOREQUEST.fields_by_name['v0'].message_type = _GETCURRENTQUORUMSINFOREQUEST_GETCURRENTQUORUMSINFOREQUESTV0 +_GETCURRENTQUORUMSINFOREQUEST.oneofs_by_name['version'].fields.append( + _GETCURRENTQUORUMSINFOREQUEST.fields_by_name['v0']) +_GETCURRENTQUORUMSINFOREQUEST.fields_by_name['v0'].containing_oneof = _GETCURRENTQUORUMSINFOREQUEST.oneofs_by_name['version'] +_GETCURRENTQUORUMSINFORESPONSE_VALIDATORV0.containing_type = _GETCURRENTQUORUMSINFORESPONSE +_GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0.fields_by_name['members'].message_type = _GETCURRENTQUORUMSINFORESPONSE_VALIDATORV0 +_GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0.containing_type = _GETCURRENTQUORUMSINFORESPONSE +_GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0.fields_by_name['validator_sets'].message_type = _GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0 +_GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0.containing_type = _GETCURRENTQUORUMSINFORESPONSE +_GETCURRENTQUORUMSINFORESPONSE.fields_by_name['v0'].message_type = _GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0 +_GETCURRENTQUORUMSINFORESPONSE.oneofs_by_name['version'].fields.append( + _GETCURRENTQUORUMSINFORESPONSE.fields_by_name['v0']) +_GETCURRENTQUORUMSINFORESPONSE.fields_by_name['v0'].containing_oneof = _GETCURRENTQUORUMSINFORESPONSE.oneofs_by_name['version'] DESCRIPTOR.message_types_by_name['Proof'] = _PROOF DESCRIPTOR.message_types_by_name['ResponseMetadata'] = _RESPONSEMETADATA DESCRIPTOR.message_types_by_name['StateTransitionBroadcastError'] = _STATETRANSITIONBROADCASTERROR @@ -7465,6 +9313,11 @@ DESCRIPTOR.message_types_by_name['GetIdentityKeysResponse'] = _GETIDENTITYKEYSRESPONSE DESCRIPTOR.message_types_by_name['GetIdentitiesContractKeysRequest'] = _GETIDENTITIESCONTRACTKEYSREQUEST DESCRIPTOR.message_types_by_name['GetIdentitiesContractKeysResponse'] = _GETIDENTITIESCONTRACTKEYSRESPONSE +DESCRIPTOR.message_types_by_name['GetEvonodesProposedEpochBlocksByIdsRequest'] = _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST +DESCRIPTOR.message_types_by_name['GetEvonodesProposedEpochBlocksResponse'] = _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE +DESCRIPTOR.message_types_by_name['GetEvonodesProposedEpochBlocksByRangeRequest'] = _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST +DESCRIPTOR.message_types_by_name['GetIdentitiesBalancesRequest'] = _GETIDENTITIESBALANCESREQUEST +DESCRIPTOR.message_types_by_name['GetIdentitiesBalancesResponse'] = _GETIDENTITIESBALANCESRESPONSE DESCRIPTOR.message_types_by_name['GetProofsRequest'] = _GETPROOFSREQUEST DESCRIPTOR.message_types_by_name['GetProofsResponse'] = _GETPROOFSRESPONSE DESCRIPTOR.message_types_by_name['GetDataContractRequest'] = _GETDATACONTRACTREQUEST @@ -7499,8 +9352,14 @@ DESCRIPTOR.message_types_by_name['GetContestedResourceIdentityVotesResponse'] = _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE DESCRIPTOR.message_types_by_name['GetPrefundedSpecializedBalanceRequest'] = _GETPREFUNDEDSPECIALIZEDBALANCEREQUEST DESCRIPTOR.message_types_by_name['GetPrefundedSpecializedBalanceResponse'] = _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE +DESCRIPTOR.message_types_by_name['GetTotalCreditsInPlatformRequest'] = _GETTOTALCREDITSINPLATFORMREQUEST +DESCRIPTOR.message_types_by_name['GetTotalCreditsInPlatformResponse'] = _GETTOTALCREDITSINPLATFORMRESPONSE DESCRIPTOR.message_types_by_name['GetPathElementsRequest'] = _GETPATHELEMENTSREQUEST DESCRIPTOR.message_types_by_name['GetPathElementsResponse'] = _GETPATHELEMENTSRESPONSE +DESCRIPTOR.message_types_by_name['GetStatusRequest'] = _GETSTATUSREQUEST +DESCRIPTOR.message_types_by_name['GetStatusResponse'] = _GETSTATUSRESPONSE +DESCRIPTOR.message_types_by_name['GetCurrentQuorumsInfoRequest'] = _GETCURRENTQUORUMSINFOREQUEST +DESCRIPTOR.message_types_by_name['GetCurrentQuorumsInfoResponse'] = _GETCURRENTQUORUMSINFORESPONSE DESCRIPTOR.enum_types_by_name['KeyPurpose'] = _KEYPURPOSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -7840,6 +9699,113 @@ _sym_db.RegisterMessage(GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentityKeys) _sym_db.RegisterMessage(GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeys) +GetEvonodesProposedEpochBlocksByIdsRequest = _reflection.GeneratedProtocolMessageType('GetEvonodesProposedEpochBlocksByIdsRequest', (_message.Message,), { + + 'GetEvonodesProposedEpochBlocksByIdsRequestV0' : _reflection.GeneratedProtocolMessageType('GetEvonodesProposedEpochBlocksByIdsRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0) + }) + , + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest) + }) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksByIdsRequest) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0) + +GetEvonodesProposedEpochBlocksResponse = _reflection.GeneratedProtocolMessageType('GetEvonodesProposedEpochBlocksResponse', (_message.Message,), { + + 'GetEvonodesProposedEpochBlocksResponseV0' : _reflection.GeneratedProtocolMessageType('GetEvonodesProposedEpochBlocksResponseV0', (_message.Message,), { + + 'EvonodeProposedBlocks' : _reflection.GeneratedProtocolMessageType('EvonodeProposedBlocks', (_message.Message,), { + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODEPROPOSEDBLOCKS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks) + }) + , + + 'EvonodesProposedBlocks' : _reflection.GeneratedProtocolMessageType('EvonodesProposedBlocks', (_message.Message,), { + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODESPROPOSEDBLOCKS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks) + }) + , + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0) + }) + , + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse) + }) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksResponse) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks) + +GetEvonodesProposedEpochBlocksByRangeRequest = _reflection.GeneratedProtocolMessageType('GetEvonodesProposedEpochBlocksByRangeRequest', (_message.Message,), { + + 'GetEvonodesProposedEpochBlocksByRangeRequestV0' : _reflection.GeneratedProtocolMessageType('GetEvonodesProposedEpochBlocksByRangeRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0) + }) + , + 'DESCRIPTOR' : _GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest) + }) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksByRangeRequest) +_sym_db.RegisterMessage(GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0) + +GetIdentitiesBalancesRequest = _reflection.GeneratedProtocolMessageType('GetIdentitiesBalancesRequest', (_message.Message,), { + + 'GetIdentitiesBalancesRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentitiesBalancesRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESBALANCESREQUEST_GETIDENTITIESBALANCESREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0) + }) + , + 'DESCRIPTOR' : _GETIDENTITIESBALANCESREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest) + }) +_sym_db.RegisterMessage(GetIdentitiesBalancesRequest) +_sym_db.RegisterMessage(GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0) + +GetIdentitiesBalancesResponse = _reflection.GeneratedProtocolMessageType('GetIdentitiesBalancesResponse', (_message.Message,), { + + 'GetIdentitiesBalancesResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentitiesBalancesResponseV0', (_message.Message,), { + + 'IdentityBalance' : _reflection.GeneratedProtocolMessageType('IdentityBalance', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance) + }) + , + + 'IdentitiesBalances' : _reflection.GeneratedProtocolMessageType('IdentitiesBalances', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITIESBALANCES, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances) + }) + , + 'DESCRIPTOR' : _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0) + }) + , + 'DESCRIPTOR' : _GETIDENTITIESBALANCESRESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse) + }) +_sym_db.RegisterMessage(GetIdentitiesBalancesResponse) +_sym_db.RegisterMessage(GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0) +_sym_db.RegisterMessage(GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance) +_sym_db.RegisterMessage(GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances) + GetProofsRequest = _reflection.GeneratedProtocolMessageType('GetProofsRequest', (_message.Message,), { 'GetProofsRequestV0' : _reflection.GeneratedProtocolMessageType('GetProofsRequestV0', (_message.Message,), { @@ -8622,6 +10588,36 @@ _sym_db.RegisterMessage(GetPrefundedSpecializedBalanceResponse) _sym_db.RegisterMessage(GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0) +GetTotalCreditsInPlatformRequest = _reflection.GeneratedProtocolMessageType('GetTotalCreditsInPlatformRequest', (_message.Message,), { + + 'GetTotalCreditsInPlatformRequestV0' : _reflection.GeneratedProtocolMessageType('GetTotalCreditsInPlatformRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETTOTALCREDITSINPLATFORMREQUEST_GETTOTALCREDITSINPLATFORMREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0) + }) + , + 'DESCRIPTOR' : _GETTOTALCREDITSINPLATFORMREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest) + }) +_sym_db.RegisterMessage(GetTotalCreditsInPlatformRequest) +_sym_db.RegisterMessage(GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0) + +GetTotalCreditsInPlatformResponse = _reflection.GeneratedProtocolMessageType('GetTotalCreditsInPlatformResponse', (_message.Message,), { + + 'GetTotalCreditsInPlatformResponseV0' : _reflection.GeneratedProtocolMessageType('GetTotalCreditsInPlatformResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETTOTALCREDITSINPLATFORMRESPONSE_GETTOTALCREDITSINPLATFORMRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0) + }) + , + 'DESCRIPTOR' : _GETTOTALCREDITSINPLATFORMRESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse) + }) +_sym_db.RegisterMessage(GetTotalCreditsInPlatformResponse) +_sym_db.RegisterMessage(GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0) + GetPathElementsRequest = _reflection.GeneratedProtocolMessageType('GetPathElementsRequest', (_message.Message,), { 'GetPathElementsRequestV0' : _reflection.GeneratedProtocolMessageType('GetPathElementsRequestV0', (_message.Message,), { @@ -8660,6 +10656,162 @@ _sym_db.RegisterMessage(GetPathElementsResponse.GetPathElementsResponseV0) _sym_db.RegisterMessage(GetPathElementsResponse.GetPathElementsResponseV0.Elements) +GetStatusRequest = _reflection.GeneratedProtocolMessageType('GetStatusRequest', (_message.Message,), { + + 'GetStatusRequestV0' : _reflection.GeneratedProtocolMessageType('GetStatusRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSREQUEST_GETSTATUSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0) + }) + , + 'DESCRIPTOR' : _GETSTATUSREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusRequest) + }) +_sym_db.RegisterMessage(GetStatusRequest) +_sym_db.RegisterMessage(GetStatusRequest.GetStatusRequestV0) + +GetStatusResponse = _reflection.GeneratedProtocolMessageType('GetStatusResponse', (_message.Message,), { + + 'GetStatusResponseV0' : _reflection.GeneratedProtocolMessageType('GetStatusResponseV0', (_message.Message,), { + + 'Version' : _reflection.GeneratedProtocolMessageType('Version', (_message.Message,), { + + 'Software' : _reflection.GeneratedProtocolMessageType('Software', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_SOFTWARE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software) + }) + , + + 'Protocol' : _reflection.GeneratedProtocolMessageType('Protocol', (_message.Message,), { + + 'Tenderdash' : _reflection.GeneratedProtocolMessageType('Tenderdash', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash) + }) + , + + 'Drive' : _reflection.GeneratedProtocolMessageType('Drive', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive) + }) + , + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol) + }) + , + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version) + }) + , + + 'Time' : _reflection.GeneratedProtocolMessageType('Time', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time) + }) + , + + 'Node' : _reflection.GeneratedProtocolMessageType('Node', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node) + }) + , + + 'Chain' : _reflection.GeneratedProtocolMessageType('Chain', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain) + }) + , + + 'Network' : _reflection.GeneratedProtocolMessageType('Network', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network) + }) + , + + 'StateSync' : _reflection.GeneratedProtocolMessageType('StateSync', (_message.Message,), { + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync) + }) + , + 'DESCRIPTOR' : _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0) + }) + , + 'DESCRIPTOR' : _GETSTATUSRESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetStatusResponse) + }) +_sym_db.RegisterMessage(GetStatusResponse) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Version) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Version.Software) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Version.Protocol) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Time) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Node) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Chain) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.Network) +_sym_db.RegisterMessage(GetStatusResponse.GetStatusResponseV0.StateSync) + +GetCurrentQuorumsInfoRequest = _reflection.GeneratedProtocolMessageType('GetCurrentQuorumsInfoRequest', (_message.Message,), { + + 'GetCurrentQuorumsInfoRequestV0' : _reflection.GeneratedProtocolMessageType('GetCurrentQuorumsInfoRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCURRENTQUORUMSINFOREQUEST_GETCURRENTQUORUMSINFOREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0) + }) + , + 'DESCRIPTOR' : _GETCURRENTQUORUMSINFOREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest) + }) +_sym_db.RegisterMessage(GetCurrentQuorumsInfoRequest) +_sym_db.RegisterMessage(GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0) + +GetCurrentQuorumsInfoResponse = _reflection.GeneratedProtocolMessageType('GetCurrentQuorumsInfoResponse', (_message.Message,), { + + 'ValidatorV0' : _reflection.GeneratedProtocolMessageType('ValidatorV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCURRENTQUORUMSINFORESPONSE_VALIDATORV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0) + }) + , + + 'ValidatorSetV0' : _reflection.GeneratedProtocolMessageType('ValidatorSetV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0) + }) + , + + 'GetCurrentQuorumsInfoResponseV0' : _reflection.GeneratedProtocolMessageType('GetCurrentQuorumsInfoResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0) + }) + , + 'DESCRIPTOR' : _GETCURRENTQUORUMSINFORESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse) + }) +_sym_db.RegisterMessage(GetCurrentQuorumsInfoResponse) +_sym_db.RegisterMessage(GetCurrentQuorumsInfoResponse.ValidatorV0) +_sym_db.RegisterMessage(GetCurrentQuorumsInfoResponse.ValidatorSetV0) +_sym_db.RegisterMessage(GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0) + _SEARCHKEY_PURPOSEMAPENTRY._options = None _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY._options = None @@ -8671,8 +10823,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=25652, - serialized_end=29397, + serialized_start=31605, + serialized_end=36249, methods=[ _descriptor.MethodDescriptor( name='broadcastStateTransition', @@ -8744,20 +10896,50 @@ serialized_options=None, create_key=_descriptor._internal_create_key, ), + _descriptor.MethodDescriptor( + name='getIdentitiesBalances', + full_name='org.dash.platform.dapi.v0.Platform.getIdentitiesBalances', + index=7, + containing_service=None, + input_type=_GETIDENTITIESBALANCESREQUEST, + output_type=_GETIDENTITIESBALANCESRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), _descriptor.MethodDescriptor( name='getIdentityBalanceAndRevision', full_name='org.dash.platform.dapi.v0.Platform.getIdentityBalanceAndRevision', - index=7, + index=8, containing_service=None, input_type=_GETIDENTITYBALANCEANDREVISIONREQUEST, output_type=_GETIDENTITYBALANCEANDREVISIONRESPONSE, serialized_options=None, create_key=_descriptor._internal_create_key, ), + _descriptor.MethodDescriptor( + name='getEvonodesProposedEpochBlocksByIds', + full_name='org.dash.platform.dapi.v0.Platform.getEvonodesProposedEpochBlocksByIds', + index=9, + containing_service=None, + input_type=_GETEVONODESPROPOSEDEPOCHBLOCKSBYIDSREQUEST, + output_type=_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='getEvonodesProposedEpochBlocksByRange', + full_name='org.dash.platform.dapi.v0.Platform.getEvonodesProposedEpochBlocksByRange', + index=10, + containing_service=None, + input_type=_GETEVONODESPROPOSEDEPOCHBLOCKSBYRANGEREQUEST, + output_type=_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), _descriptor.MethodDescriptor( name='getProofs', full_name='org.dash.platform.dapi.v0.Platform.getProofs', - index=8, + index=11, containing_service=None, input_type=_GETPROOFSREQUEST, output_type=_GETPROOFSRESPONSE, @@ -8767,7 +10949,7 @@ _descriptor.MethodDescriptor( name='getDataContract', full_name='org.dash.platform.dapi.v0.Platform.getDataContract', - index=9, + index=12, containing_service=None, input_type=_GETDATACONTRACTREQUEST, output_type=_GETDATACONTRACTRESPONSE, @@ -8777,7 +10959,7 @@ _descriptor.MethodDescriptor( name='getDataContractHistory', full_name='org.dash.platform.dapi.v0.Platform.getDataContractHistory', - index=10, + index=13, containing_service=None, input_type=_GETDATACONTRACTHISTORYREQUEST, output_type=_GETDATACONTRACTHISTORYRESPONSE, @@ -8787,7 +10969,7 @@ _descriptor.MethodDescriptor( name='getDataContracts', full_name='org.dash.platform.dapi.v0.Platform.getDataContracts', - index=11, + index=14, containing_service=None, input_type=_GETDATACONTRACTSREQUEST, output_type=_GETDATACONTRACTSRESPONSE, @@ -8797,7 +10979,7 @@ _descriptor.MethodDescriptor( name='getDocuments', full_name='org.dash.platform.dapi.v0.Platform.getDocuments', - index=12, + index=15, containing_service=None, input_type=_GETDOCUMENTSREQUEST, output_type=_GETDOCUMENTSRESPONSE, @@ -8807,7 +10989,7 @@ _descriptor.MethodDescriptor( name='getIdentityByPublicKeyHash', full_name='org.dash.platform.dapi.v0.Platform.getIdentityByPublicKeyHash', - index=13, + index=16, containing_service=None, input_type=_GETIDENTITYBYPUBLICKEYHASHREQUEST, output_type=_GETIDENTITYBYPUBLICKEYHASHRESPONSE, @@ -8817,7 +10999,7 @@ _descriptor.MethodDescriptor( name='waitForStateTransitionResult', full_name='org.dash.platform.dapi.v0.Platform.waitForStateTransitionResult', - index=14, + index=17, containing_service=None, input_type=_WAITFORSTATETRANSITIONRESULTREQUEST, output_type=_WAITFORSTATETRANSITIONRESULTRESPONSE, @@ -8827,7 +11009,7 @@ _descriptor.MethodDescriptor( name='getConsensusParams', full_name='org.dash.platform.dapi.v0.Platform.getConsensusParams', - index=15, + index=18, containing_service=None, input_type=_GETCONSENSUSPARAMSREQUEST, output_type=_GETCONSENSUSPARAMSRESPONSE, @@ -8837,7 +11019,7 @@ _descriptor.MethodDescriptor( name='getProtocolVersionUpgradeState', full_name='org.dash.platform.dapi.v0.Platform.getProtocolVersionUpgradeState', - index=16, + index=19, containing_service=None, input_type=_GETPROTOCOLVERSIONUPGRADESTATEREQUEST, output_type=_GETPROTOCOLVERSIONUPGRADESTATERESPONSE, @@ -8847,7 +11029,7 @@ _descriptor.MethodDescriptor( name='getProtocolVersionUpgradeVoteStatus', full_name='org.dash.platform.dapi.v0.Platform.getProtocolVersionUpgradeVoteStatus', - index=17, + index=20, containing_service=None, input_type=_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST, output_type=_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE, @@ -8857,7 +11039,7 @@ _descriptor.MethodDescriptor( name='getEpochsInfo', full_name='org.dash.platform.dapi.v0.Platform.getEpochsInfo', - index=18, + index=21, containing_service=None, input_type=_GETEPOCHSINFOREQUEST, output_type=_GETEPOCHSINFORESPONSE, @@ -8867,7 +11049,7 @@ _descriptor.MethodDescriptor( name='getContestedResources', full_name='org.dash.platform.dapi.v0.Platform.getContestedResources', - index=19, + index=22, containing_service=None, input_type=_GETCONTESTEDRESOURCESREQUEST, output_type=_GETCONTESTEDRESOURCESRESPONSE, @@ -8877,7 +11059,7 @@ _descriptor.MethodDescriptor( name='getContestedResourceVoteState', full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceVoteState', - index=20, + index=23, containing_service=None, input_type=_GETCONTESTEDRESOURCEVOTESTATEREQUEST, output_type=_GETCONTESTEDRESOURCEVOTESTATERESPONSE, @@ -8887,7 +11069,7 @@ _descriptor.MethodDescriptor( name='getContestedResourceVotersForIdentity', full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceVotersForIdentity', - index=21, + index=24, containing_service=None, input_type=_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST, output_type=_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE, @@ -8897,7 +11079,7 @@ _descriptor.MethodDescriptor( name='getContestedResourceIdentityVotes', full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceIdentityVotes', - index=22, + index=25, containing_service=None, input_type=_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST, output_type=_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE, @@ -8907,7 +11089,7 @@ _descriptor.MethodDescriptor( name='getVotePollsByEndDate', full_name='org.dash.platform.dapi.v0.Platform.getVotePollsByEndDate', - index=23, + index=26, containing_service=None, input_type=_GETVOTEPOLLSBYENDDATEREQUEST, output_type=_GETVOTEPOLLSBYENDDATERESPONSE, @@ -8917,23 +11099,53 @@ _descriptor.MethodDescriptor( name='getPrefundedSpecializedBalance', full_name='org.dash.platform.dapi.v0.Platform.getPrefundedSpecializedBalance', - index=24, + index=27, containing_service=None, input_type=_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST, output_type=_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE, serialized_options=None, create_key=_descriptor._internal_create_key, ), + _descriptor.MethodDescriptor( + name='getTotalCreditsInPlatform', + full_name='org.dash.platform.dapi.v0.Platform.getTotalCreditsInPlatform', + index=28, + containing_service=None, + input_type=_GETTOTALCREDITSINPLATFORMREQUEST, + output_type=_GETTOTALCREDITSINPLATFORMRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), _descriptor.MethodDescriptor( name='getPathElements', full_name='org.dash.platform.dapi.v0.Platform.getPathElements', - index=25, + index=29, containing_service=None, input_type=_GETPATHELEMENTSREQUEST, output_type=_GETPATHELEMENTSRESPONSE, serialized_options=None, create_key=_descriptor._internal_create_key, ), + _descriptor.MethodDescriptor( + name='getStatus', + full_name='org.dash.platform.dapi.v0.Platform.getStatus', + index=30, + containing_service=None, + input_type=_GETSTATUSREQUEST, + output_type=_GETSTATUSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='getCurrentQuorumsInfo', + full_name='org.dash.platform.dapi.v0.Platform.getCurrentQuorumsInfo', + index=31, + containing_service=None, + input_type=_GETCURRENTQUORUMSINFOREQUEST, + output_type=_GETCURRENTQUORUMSINFORESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), ]) _sym_db.RegisterServiceDescriptor(_PLATFORM) diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py index 35666c19286..b8c38478693 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 @@ -49,11 +49,26 @@ def __init__(self, channel): request_serializer=platform__pb2.GetIdentityBalanceRequest.SerializeToString, response_deserializer=platform__pb2.GetIdentityBalanceResponse.FromString, ) + self.getIdentitiesBalances = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getIdentitiesBalances', + request_serializer=platform__pb2.GetIdentitiesBalancesRequest.SerializeToString, + response_deserializer=platform__pb2.GetIdentitiesBalancesResponse.FromString, + ) self.getIdentityBalanceAndRevision = channel.unary_unary( '/org.dash.platform.dapi.v0.Platform/getIdentityBalanceAndRevision', request_serializer=platform__pb2.GetIdentityBalanceAndRevisionRequest.SerializeToString, response_deserializer=platform__pb2.GetIdentityBalanceAndRevisionResponse.FromString, ) + self.getEvonodesProposedEpochBlocksByIds = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getEvonodesProposedEpochBlocksByIds', + request_serializer=platform__pb2.GetEvonodesProposedEpochBlocksByIdsRequest.SerializeToString, + response_deserializer=platform__pb2.GetEvonodesProposedEpochBlocksResponse.FromString, + ) + self.getEvonodesProposedEpochBlocksByRange = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getEvonodesProposedEpochBlocksByRange', + request_serializer=platform__pb2.GetEvonodesProposedEpochBlocksByRangeRequest.SerializeToString, + response_deserializer=platform__pb2.GetEvonodesProposedEpochBlocksResponse.FromString, + ) self.getProofs = channel.unary_unary( '/org.dash.platform.dapi.v0.Platform/getProofs', request_serializer=platform__pb2.GetProofsRequest.SerializeToString, @@ -139,11 +154,26 @@ def __init__(self, channel): request_serializer=platform__pb2.GetPrefundedSpecializedBalanceRequest.SerializeToString, response_deserializer=platform__pb2.GetPrefundedSpecializedBalanceResponse.FromString, ) + self.getTotalCreditsInPlatform = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getTotalCreditsInPlatform', + request_serializer=platform__pb2.GetTotalCreditsInPlatformRequest.SerializeToString, + response_deserializer=platform__pb2.GetTotalCreditsInPlatformResponse.FromString, + ) self.getPathElements = channel.unary_unary( '/org.dash.platform.dapi.v0.Platform/getPathElements', request_serializer=platform__pb2.GetPathElementsRequest.SerializeToString, response_deserializer=platform__pb2.GetPathElementsResponse.FromString, ) + self.getStatus = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getStatus', + request_serializer=platform__pb2.GetStatusRequest.SerializeToString, + response_deserializer=platform__pb2.GetStatusResponse.FromString, + ) + self.getCurrentQuorumsInfo = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getCurrentQuorumsInfo', + request_serializer=platform__pb2.GetCurrentQuorumsInfoRequest.SerializeToString, + response_deserializer=platform__pb2.GetCurrentQuorumsInfoResponse.FromString, + ) class PlatformServicer(object): @@ -191,12 +221,30 @@ def getIdentityBalance(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def getIdentitiesBalances(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 getIdentityBalanceAndRevision(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 getEvonodesProposedEpochBlocksByIds(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 getEvonodesProposedEpochBlocksByRange(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 getProofs(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -304,12 +352,30 @@ def getPrefundedSpecializedBalance(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def getTotalCreditsInPlatform(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 getPathElements(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 getStatus(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 getCurrentQuorumsInfo(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_PlatformServicer_to_server(servicer, server): rpc_method_handlers = { @@ -348,11 +414,26 @@ def add_PlatformServicer_to_server(servicer, server): request_deserializer=platform__pb2.GetIdentityBalanceRequest.FromString, response_serializer=platform__pb2.GetIdentityBalanceResponse.SerializeToString, ), + 'getIdentitiesBalances': grpc.unary_unary_rpc_method_handler( + servicer.getIdentitiesBalances, + request_deserializer=platform__pb2.GetIdentitiesBalancesRequest.FromString, + response_serializer=platform__pb2.GetIdentitiesBalancesResponse.SerializeToString, + ), 'getIdentityBalanceAndRevision': grpc.unary_unary_rpc_method_handler( servicer.getIdentityBalanceAndRevision, request_deserializer=platform__pb2.GetIdentityBalanceAndRevisionRequest.FromString, response_serializer=platform__pb2.GetIdentityBalanceAndRevisionResponse.SerializeToString, ), + 'getEvonodesProposedEpochBlocksByIds': grpc.unary_unary_rpc_method_handler( + servicer.getEvonodesProposedEpochBlocksByIds, + request_deserializer=platform__pb2.GetEvonodesProposedEpochBlocksByIdsRequest.FromString, + response_serializer=platform__pb2.GetEvonodesProposedEpochBlocksResponse.SerializeToString, + ), + 'getEvonodesProposedEpochBlocksByRange': grpc.unary_unary_rpc_method_handler( + servicer.getEvonodesProposedEpochBlocksByRange, + request_deserializer=platform__pb2.GetEvonodesProposedEpochBlocksByRangeRequest.FromString, + response_serializer=platform__pb2.GetEvonodesProposedEpochBlocksResponse.SerializeToString, + ), 'getProofs': grpc.unary_unary_rpc_method_handler( servicer.getProofs, request_deserializer=platform__pb2.GetProofsRequest.FromString, @@ -438,11 +519,26 @@ def add_PlatformServicer_to_server(servicer, server): request_deserializer=platform__pb2.GetPrefundedSpecializedBalanceRequest.FromString, response_serializer=platform__pb2.GetPrefundedSpecializedBalanceResponse.SerializeToString, ), + 'getTotalCreditsInPlatform': grpc.unary_unary_rpc_method_handler( + servicer.getTotalCreditsInPlatform, + request_deserializer=platform__pb2.GetTotalCreditsInPlatformRequest.FromString, + response_serializer=platform__pb2.GetTotalCreditsInPlatformResponse.SerializeToString, + ), 'getPathElements': grpc.unary_unary_rpc_method_handler( servicer.getPathElements, request_deserializer=platform__pb2.GetPathElementsRequest.FromString, response_serializer=platform__pb2.GetPathElementsResponse.SerializeToString, ), + 'getStatus': grpc.unary_unary_rpc_method_handler( + servicer.getStatus, + request_deserializer=platform__pb2.GetStatusRequest.FromString, + response_serializer=platform__pb2.GetStatusResponse.SerializeToString, + ), + 'getCurrentQuorumsInfo': grpc.unary_unary_rpc_method_handler( + servicer.getCurrentQuorumsInfo, + request_deserializer=platform__pb2.GetCurrentQuorumsInfoRequest.FromString, + response_serializer=platform__pb2.GetCurrentQuorumsInfoResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'org.dash.platform.dapi.v0.Platform', rpc_method_handlers) @@ -572,6 +668,23 @@ def getIdentityBalance(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def getIdentitiesBalances(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/getIdentitiesBalances', + platform__pb2.GetIdentitiesBalancesRequest.SerializeToString, + platform__pb2.GetIdentitiesBalancesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def getIdentityBalanceAndRevision(request, target, @@ -589,6 +702,40 @@ def getIdentityBalanceAndRevision(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def getEvonodesProposedEpochBlocksByIds(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/getEvonodesProposedEpochBlocksByIds', + platform__pb2.GetEvonodesProposedEpochBlocksByIdsRequest.SerializeToString, + platform__pb2.GetEvonodesProposedEpochBlocksResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def getEvonodesProposedEpochBlocksByRange(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/getEvonodesProposedEpochBlocksByRange', + platform__pb2.GetEvonodesProposedEpochBlocksByRangeRequest.SerializeToString, + platform__pb2.GetEvonodesProposedEpochBlocksResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def getProofs(request, target, @@ -878,6 +1025,23 @@ def getPrefundedSpecializedBalance(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def getTotalCreditsInPlatform(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/getTotalCreditsInPlatform', + platform__pb2.GetTotalCreditsInPlatformRequest.SerializeToString, + platform__pb2.GetTotalCreditsInPlatformResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def getPathElements(request, target, @@ -894,3 +1058,37 @@ def getPathElements(request, platform__pb2.GetPathElementsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def getStatus(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/getStatus', + platform__pb2.GetStatusRequest.SerializeToString, + platform__pb2.GetStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def getCurrentQuorumsInfo(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/getCurrentQuorumsInfo', + platform__pb2.GetCurrentQuorumsInfoRequest.SerializeToString, + platform__pb2.GetCurrentQuorumsInfoResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js b/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js index 9805cd84ffb..13be28a2d50 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js +++ b/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js @@ -232,6 +232,20 @@ class PlatformPromiseClient { ); } + /** + * @param {!GetStatusRequest} getStatusRequest + * @param {?Object} metadata + * @return {Promise} + */ + getStatus(getStatusRequest, metadata = {}) { + return promisify( + this.client.getStatus.bind(this.client), + )( + getStatusRequest, + metadata, + ); + } + /** * @param {string} protocolVersion */ diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts index 9614ea37c38..e9028523b99 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 @@ -1320,242 +1320,176 @@ export namespace GetIdentitiesContractKeysResponse { } } -export class GetProofsRequest extends jspb.Message { +export class GetEvonodesProposedEpochBlocksByIdsRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetProofsRequest.GetProofsRequestV0 | undefined; - setV0(value?: GetProofsRequest.GetProofsRequestV0): void; + getV0(): GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 | undefined; + setV0(value?: GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0): void; - getVersionCase(): GetProofsRequest.VersionCase; + getVersionCase(): GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProofsRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetProofsRequest): GetProofsRequest.AsObject; + toObject(includeInstance?: boolean): GetEvonodesProposedEpochBlocksByIdsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetEvonodesProposedEpochBlocksByIdsRequest): GetEvonodesProposedEpochBlocksByIdsRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProofsRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProofsRequest; - static deserializeBinaryFromReader(message: GetProofsRequest, reader: jspb.BinaryReader): GetProofsRequest; + static serializeBinaryToWriter(message: GetEvonodesProposedEpochBlocksByIdsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEvonodesProposedEpochBlocksByIdsRequest; + static deserializeBinaryFromReader(message: GetEvonodesProposedEpochBlocksByIdsRequest, reader: jspb.BinaryReader): GetEvonodesProposedEpochBlocksByIdsRequest; } -export namespace GetProofsRequest { +export namespace GetEvonodesProposedEpochBlocksByIdsRequest { export type AsObject = { - v0?: GetProofsRequest.GetProofsRequestV0.AsObject, + v0?: GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.AsObject, } - export class GetProofsRequestV0 extends jspb.Message { - clearIdentitiesList(): void; - getIdentitiesList(): Array; - setIdentitiesList(value: Array): void; - addIdentities(value?: GetProofsRequest.GetProofsRequestV0.IdentityRequest, index?: number): GetProofsRequest.GetProofsRequestV0.IdentityRequest; - - clearContractsList(): void; - getContractsList(): Array; - setContractsList(value: Array): void; - addContracts(value?: GetProofsRequest.GetProofsRequestV0.ContractRequest, index?: number): GetProofsRequest.GetProofsRequestV0.ContractRequest; + export class GetEvonodesProposedEpochBlocksByIdsRequestV0 extends jspb.Message { + hasEpoch(): boolean; + clearEpoch(): void; + getEpoch(): number; + setEpoch(value: number): void; - clearDocumentsList(): void; - getDocumentsList(): Array; - setDocumentsList(value: Array): void; - addDocuments(value?: GetProofsRequest.GetProofsRequestV0.DocumentRequest, index?: number): GetProofsRequest.GetProofsRequestV0.DocumentRequest; + clearIdsList(): void; + getIdsList(): Array; + getIdsList_asU8(): Array; + getIdsList_asB64(): Array; + setIdsList(value: Array): void; + addIds(value: Uint8Array | string, index?: number): Uint8Array | string; - clearVotesList(): void; - getVotesList(): Array; - setVotesList(value: Array): void; - addVotes(value?: GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, index?: number): GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; + getProve(): boolean; + setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProofsRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetProofsRequestV0): GetProofsRequestV0.AsObject; + toObject(includeInstance?: boolean): GetEvonodesProposedEpochBlocksByIdsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetEvonodesProposedEpochBlocksByIdsRequestV0): GetEvonodesProposedEpochBlocksByIdsRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProofsRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProofsRequestV0; - static deserializeBinaryFromReader(message: GetProofsRequestV0, reader: jspb.BinaryReader): GetProofsRequestV0; + static serializeBinaryToWriter(message: GetEvonodesProposedEpochBlocksByIdsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEvonodesProposedEpochBlocksByIdsRequestV0; + static deserializeBinaryFromReader(message: GetEvonodesProposedEpochBlocksByIdsRequestV0, reader: jspb.BinaryReader): GetEvonodesProposedEpochBlocksByIdsRequestV0; } - export namespace GetProofsRequestV0 { + export namespace GetEvonodesProposedEpochBlocksByIdsRequestV0 { export type AsObject = { - identitiesList: Array, - contractsList: Array, - documentsList: Array, - votesList: Array, + epoch: number, + idsList: Array, + prove: boolean, } + } - export class DocumentRequest extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} - getDocumentType(): string; - setDocumentType(value: string): void; +export class GetEvonodesProposedEpochBlocksResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 | undefined; + setV0(value?: GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0): void; - getDocumentTypeKeepsHistory(): boolean; - setDocumentTypeKeepsHistory(value: boolean): void; + getVersionCase(): GetEvonodesProposedEpochBlocksResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetEvonodesProposedEpochBlocksResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetEvonodesProposedEpochBlocksResponse): GetEvonodesProposedEpochBlocksResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetEvonodesProposedEpochBlocksResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEvonodesProposedEpochBlocksResponse; + static deserializeBinaryFromReader(message: GetEvonodesProposedEpochBlocksResponse, reader: jspb.BinaryReader): GetEvonodesProposedEpochBlocksResponse; +} - getDocumentId(): Uint8Array | string; - getDocumentId_asU8(): Uint8Array; - getDocumentId_asB64(): string; - setDocumentId(value: Uint8Array | string): void; +export namespace GetEvonodesProposedEpochBlocksResponse { + export type AsObject = { + v0?: GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.AsObject, + } - getDocumentContestedStatus(): GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap[keyof GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap]; - setDocumentContestedStatus(value: GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap[keyof GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap]): void; + export class GetEvonodesProposedEpochBlocksResponseV0 extends jspb.Message { + hasEvonodesProposedBlockCountsInfo(): boolean; + clearEvonodesProposedBlockCountsInfo(): void; + getEvonodesProposedBlockCountsInfo(): GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks | undefined; + setEvonodesProposedBlockCountsInfo(value?: GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DocumentRequest.AsObject; - static toObject(includeInstance: boolean, msg: DocumentRequest): DocumentRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DocumentRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DocumentRequest; - static deserializeBinaryFromReader(message: DocumentRequest, reader: jspb.BinaryReader): DocumentRequest; - } + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; - export namespace DocumentRequest { - export type AsObject = { - contractId: Uint8Array | string, - documentType: string, - documentTypeKeepsHistory: boolean, - documentId: Uint8Array | string, - documentContestedStatus: GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap[keyof GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap], - } + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; - export interface DocumentContestedStatusMap { - NOT_CONTESTED: 0; - MAYBE_CONTESTED: 1; - CONTESTED: 2; - } + getResultCase(): GetEvonodesProposedEpochBlocksResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetEvonodesProposedEpochBlocksResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetEvonodesProposedEpochBlocksResponseV0): GetEvonodesProposedEpochBlocksResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetEvonodesProposedEpochBlocksResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEvonodesProposedEpochBlocksResponseV0; + static deserializeBinaryFromReader(message: GetEvonodesProposedEpochBlocksResponseV0, reader: jspb.BinaryReader): GetEvonodesProposedEpochBlocksResponseV0; + } - export const DocumentContestedStatus: DocumentContestedStatusMap; + export namespace GetEvonodesProposedEpochBlocksResponseV0 { + export type AsObject = { + evonodesProposedBlockCountsInfo?: GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } - export class IdentityRequest extends jspb.Message { - getIdentityId(): Uint8Array | string; - getIdentityId_asU8(): Uint8Array; - getIdentityId_asB64(): string; - setIdentityId(value: Uint8Array | string): void; + export class EvonodeProposedBlocks extends jspb.Message { + getProTxHash(): Uint8Array | string; + getProTxHash_asU8(): Uint8Array; + getProTxHash_asB64(): string; + setProTxHash(value: Uint8Array | string): void; - getRequestType(): GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap]; - setRequestType(value: GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap]): void; + getCount(): number; + setCount(value: number): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): IdentityRequest.AsObject; - static toObject(includeInstance: boolean, msg: IdentityRequest): IdentityRequest.AsObject; + toObject(includeInstance?: boolean): EvonodeProposedBlocks.AsObject; + static toObject(includeInstance: boolean, msg: EvonodeProposedBlocks): EvonodeProposedBlocks.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: IdentityRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): IdentityRequest; - static deserializeBinaryFromReader(message: IdentityRequest, reader: jspb.BinaryReader): IdentityRequest; + static serializeBinaryToWriter(message: EvonodeProposedBlocks, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EvonodeProposedBlocks; + static deserializeBinaryFromReader(message: EvonodeProposedBlocks, reader: jspb.BinaryReader): EvonodeProposedBlocks; } - export namespace IdentityRequest { + export namespace EvonodeProposedBlocks { export type AsObject = { - identityId: Uint8Array | string, - requestType: GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap], - } - - export interface TypeMap { - FULL_IDENTITY: 0; - BALANCE: 1; - KEYS: 2; - REVISION: 3; + proTxHash: Uint8Array | string, + count: number, } - - export const Type: TypeMap; } - export class ContractRequest extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; + export class EvonodesProposedBlocks extends jspb.Message { + clearEvonodesProposedBlockCountsList(): void; + getEvonodesProposedBlockCountsList(): Array; + setEvonodesProposedBlockCountsList(value: Array): void; + addEvonodesProposedBlockCounts(value?: GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks, index?: number): GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContractRequest.AsObject; - static toObject(includeInstance: boolean, msg: ContractRequest): ContractRequest.AsObject; + toObject(includeInstance?: boolean): EvonodesProposedBlocks.AsObject; + static toObject(includeInstance: boolean, msg: EvonodesProposedBlocks): EvonodesProposedBlocks.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContractRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContractRequest; - static deserializeBinaryFromReader(message: ContractRequest, reader: jspb.BinaryReader): ContractRequest; + static serializeBinaryToWriter(message: EvonodesProposedBlocks, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EvonodesProposedBlocks; + static deserializeBinaryFromReader(message: EvonodesProposedBlocks, reader: jspb.BinaryReader): EvonodesProposedBlocks; } - export namespace ContractRequest { + export namespace EvonodesProposedBlocks { export type AsObject = { - contractId: Uint8Array | string, + evonodesProposedBlockCountsList: Array, } } - export class VoteStatusRequest extends jspb.Message { - hasContestedResourceVoteStatusRequest(): boolean; - clearContestedResourceVoteStatusRequest(): void; - getContestedResourceVoteStatusRequest(): GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest | undefined; - setContestedResourceVoteStatusRequest(value?: GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest): void; - - getRequestTypeCase(): VoteStatusRequest.RequestTypeCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): VoteStatusRequest.AsObject; - static toObject(includeInstance: boolean, msg: VoteStatusRequest): VoteStatusRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: VoteStatusRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): VoteStatusRequest; - static deserializeBinaryFromReader(message: VoteStatusRequest, reader: jspb.BinaryReader): VoteStatusRequest; - } - - export namespace VoteStatusRequest { - export type AsObject = { - contestedResourceVoteStatusRequest?: GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.AsObject, - } - - export class ContestedResourceVoteStatusRequest extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; - - getDocumentTypeName(): string; - setDocumentTypeName(value: string): void; - - getIndexName(): string; - setIndexName(value: string): void; - - clearIndexValuesList(): void; - getIndexValuesList(): Array; - getIndexValuesList_asU8(): Array; - getIndexValuesList_asB64(): Array; - setIndexValuesList(value: Array): void; - addIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; - - getVoterIdentifier(): Uint8Array | string; - getVoterIdentifier_asU8(): Uint8Array; - getVoterIdentifier_asB64(): string; - setVoterIdentifier(value: Uint8Array | string): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContestedResourceVoteStatusRequest.AsObject; - static toObject(includeInstance: boolean, msg: ContestedResourceVoteStatusRequest): ContestedResourceVoteStatusRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContestedResourceVoteStatusRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContestedResourceVoteStatusRequest; - static deserializeBinaryFromReader(message: ContestedResourceVoteStatusRequest, reader: jspb.BinaryReader): ContestedResourceVoteStatusRequest; - } - - export namespace ContestedResourceVoteStatusRequest { - export type AsObject = { - contractId: Uint8Array | string, - documentTypeName: string, - indexName: string, - indexValuesList: Array, - voterIdentifier: Uint8Array | string, - } - } - - export enum RequestTypeCase { - REQUEST_TYPE_NOT_SET = 0, - CONTESTED_RESOURCE_VOTE_STATUS_REQUEST = 1, - } + export enum ResultCase { + RESULT_NOT_SET = 0, + EVONODES_PROPOSED_BLOCK_COUNTS_INFO = 1, + PROOF = 2, } } @@ -1565,59 +1499,80 @@ export namespace GetProofsRequest { } } -export class GetProofsResponse extends jspb.Message { +export class GetEvonodesProposedEpochBlocksByRangeRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetProofsResponse.GetProofsResponseV0 | undefined; - setV0(value?: GetProofsResponse.GetProofsResponseV0): void; + getV0(): GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 | undefined; + setV0(value?: GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0): void; - getVersionCase(): GetProofsResponse.VersionCase; + getVersionCase(): GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProofsResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetProofsResponse): GetProofsResponse.AsObject; + toObject(includeInstance?: boolean): GetEvonodesProposedEpochBlocksByRangeRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetEvonodesProposedEpochBlocksByRangeRequest): GetEvonodesProposedEpochBlocksByRangeRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProofsResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProofsResponse; - static deserializeBinaryFromReader(message: GetProofsResponse, reader: jspb.BinaryReader): GetProofsResponse; + static serializeBinaryToWriter(message: GetEvonodesProposedEpochBlocksByRangeRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEvonodesProposedEpochBlocksByRangeRequest; + static deserializeBinaryFromReader(message: GetEvonodesProposedEpochBlocksByRangeRequest, reader: jspb.BinaryReader): GetEvonodesProposedEpochBlocksByRangeRequest; } -export namespace GetProofsResponse { +export namespace GetEvonodesProposedEpochBlocksByRangeRequest { export type AsObject = { - v0?: GetProofsResponse.GetProofsResponseV0.AsObject, + v0?: GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.AsObject, } - export class GetProofsResponseV0 extends jspb.Message { - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + export class GetEvonodesProposedEpochBlocksByRangeRequestV0 extends jspb.Message { + hasEpoch(): boolean; + clearEpoch(): void; + getEpoch(): number; + setEpoch(value: number): void; - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; + hasLimit(): boolean; + clearLimit(): void; + getLimit(): number; + setLimit(value: number): void; - getResultCase(): GetProofsResponseV0.ResultCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProofsResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetProofsResponseV0): GetProofsResponseV0.AsObject; + hasStartAfter(): boolean; + clearStartAfter(): void; + getStartAfter(): Uint8Array | string; + getStartAfter_asU8(): Uint8Array; + getStartAfter_asB64(): string; + setStartAfter(value: Uint8Array | string): void; + + hasStartAt(): boolean; + clearStartAt(): void; + getStartAt(): Uint8Array | string; + getStartAt_asU8(): Uint8Array; + getStartAt_asB64(): string; + setStartAt(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + getStartCase(): GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetEvonodesProposedEpochBlocksByRangeRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetEvonodesProposedEpochBlocksByRangeRequestV0): GetEvonodesProposedEpochBlocksByRangeRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProofsResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProofsResponseV0; - static deserializeBinaryFromReader(message: GetProofsResponseV0, reader: jspb.BinaryReader): GetProofsResponseV0; + static serializeBinaryToWriter(message: GetEvonodesProposedEpochBlocksByRangeRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEvonodesProposedEpochBlocksByRangeRequestV0; + static deserializeBinaryFromReader(message: GetEvonodesProposedEpochBlocksByRangeRequestV0, reader: jspb.BinaryReader): GetEvonodesProposedEpochBlocksByRangeRequestV0; } - export namespace GetProofsResponseV0 { + export namespace GetEvonodesProposedEpochBlocksByRangeRequestV0 { export type AsObject = { - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + epoch: number, + limit: number, + startAfter: Uint8Array | string, + startAt: Uint8Array | string, + prove: boolean, } - export enum ResultCase { - RESULT_NOT_SET = 0, - PROOF = 1, + export enum StartCase { + START_NOT_SET = 0, + START_AFTER = 3, + START_AT = 4, } } @@ -1627,50 +1582,52 @@ export namespace GetProofsResponse { } } -export class GetDataContractRequest extends jspb.Message { +export class GetIdentitiesBalancesRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetDataContractRequest.GetDataContractRequestV0 | undefined; - setV0(value?: GetDataContractRequest.GetDataContractRequestV0): void; + getV0(): GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 | undefined; + setV0(value?: GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0): void; - getVersionCase(): GetDataContractRequest.VersionCase; + getVersionCase(): GetIdentitiesBalancesRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractRequest): GetDataContractRequest.AsObject; + toObject(includeInstance?: boolean): GetIdentitiesBalancesRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesBalancesRequest): GetIdentitiesBalancesRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractRequest; - static deserializeBinaryFromReader(message: GetDataContractRequest, reader: jspb.BinaryReader): GetDataContractRequest; + static serializeBinaryToWriter(message: GetIdentitiesBalancesRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesBalancesRequest; + static deserializeBinaryFromReader(message: GetIdentitiesBalancesRequest, reader: jspb.BinaryReader): GetIdentitiesBalancesRequest; } -export namespace GetDataContractRequest { +export namespace GetIdentitiesBalancesRequest { export type AsObject = { - v0?: GetDataContractRequest.GetDataContractRequestV0.AsObject, + v0?: GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.AsObject, } - export class GetDataContractRequestV0 extends jspb.Message { - getId(): Uint8Array | string; - getId_asU8(): Uint8Array; - getId_asB64(): string; - setId(value: Uint8Array | string): void; + export class GetIdentitiesBalancesRequestV0 extends jspb.Message { + clearIdsList(): void; + getIdsList(): Array; + getIdsList_asU8(): Array; + getIdsList_asB64(): Array; + setIdsList(value: Array): void; + addIds(value: Uint8Array | string, index?: number): Uint8Array | string; getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractRequestV0): GetDataContractRequestV0.AsObject; + toObject(includeInstance?: boolean): GetIdentitiesBalancesRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesBalancesRequestV0): GetIdentitiesBalancesRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractRequestV0; - static deserializeBinaryFromReader(message: GetDataContractRequestV0, reader: jspb.BinaryReader): GetDataContractRequestV0; + static serializeBinaryToWriter(message: GetIdentitiesBalancesRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesBalancesRequestV0; + static deserializeBinaryFromReader(message: GetIdentitiesBalancesRequestV0, reader: jspb.BinaryReader): GetIdentitiesBalancesRequestV0; } - export namespace GetDataContractRequestV0 { + export namespace GetIdentitiesBalancesRequestV0 { export type AsObject = { - id: Uint8Array | string, + idsList: Array, prove: boolean, } } @@ -1681,35 +1638,33 @@ export namespace GetDataContractRequest { } } -export class GetDataContractResponse extends jspb.Message { +export class GetIdentitiesBalancesResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetDataContractResponse.GetDataContractResponseV0 | undefined; - setV0(value?: GetDataContractResponse.GetDataContractResponseV0): void; + getV0(): GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 | undefined; + setV0(value?: GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0): void; - getVersionCase(): GetDataContractResponse.VersionCase; + getVersionCase(): GetIdentitiesBalancesResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractResponse): GetDataContractResponse.AsObject; + toObject(includeInstance?: boolean): GetIdentitiesBalancesResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesBalancesResponse): GetIdentitiesBalancesResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractResponse; - static deserializeBinaryFromReader(message: GetDataContractResponse, reader: jspb.BinaryReader): GetDataContractResponse; + static serializeBinaryToWriter(message: GetIdentitiesBalancesResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesBalancesResponse; + static deserializeBinaryFromReader(message: GetIdentitiesBalancesResponse, reader: jspb.BinaryReader): GetIdentitiesBalancesResponse; } -export namespace GetDataContractResponse { +export namespace GetIdentitiesBalancesResponse { export type AsObject = { - v0?: GetDataContractResponse.GetDataContractResponseV0.AsObject, + v0?: GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.AsObject, } - export class GetDataContractResponseV0 extends jspb.Message { - hasDataContract(): boolean; - clearDataContract(): void; - getDataContract(): Uint8Array | string; - getDataContract_asU8(): Uint8Array; - getDataContract_asB64(): string; - setDataContract(value: Uint8Array | string): void; + export class GetIdentitiesBalancesResponseV0 extends jspb.Message { + hasIdentitiesBalances(): boolean; + clearIdentitiesBalances(): void; + getIdentitiesBalances(): GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances | undefined; + setIdentitiesBalances(value?: GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances): void; hasProof(): boolean; clearProof(): void; @@ -1721,27 +1676,77 @@ export namespace GetDataContractResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetDataContractResponseV0.ResultCase; + getResultCase(): GetIdentitiesBalancesResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractResponseV0): GetDataContractResponseV0.AsObject; + toObject(includeInstance?: boolean): GetIdentitiesBalancesResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesBalancesResponseV0): GetIdentitiesBalancesResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractResponseV0; - static deserializeBinaryFromReader(message: GetDataContractResponseV0, reader: jspb.BinaryReader): GetDataContractResponseV0; + static serializeBinaryToWriter(message: GetIdentitiesBalancesResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesBalancesResponseV0; + static deserializeBinaryFromReader(message: GetIdentitiesBalancesResponseV0, reader: jspb.BinaryReader): GetIdentitiesBalancesResponseV0; } - export namespace GetDataContractResponseV0 { + export namespace GetIdentitiesBalancesResponseV0 { export type AsObject = { - dataContract: Uint8Array | string, + identitiesBalances?: GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } + export class IdentityBalance extends jspb.Message { + getIdentityId(): Uint8Array | string; + getIdentityId_asU8(): Uint8Array; + getIdentityId_asB64(): string; + setIdentityId(value: Uint8Array | string): void; + + hasBalance(): boolean; + clearBalance(): void; + getBalance(): number; + setBalance(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): IdentityBalance.AsObject; + static toObject(includeInstance: boolean, msg: IdentityBalance): IdentityBalance.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: IdentityBalance, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): IdentityBalance; + static deserializeBinaryFromReader(message: IdentityBalance, reader: jspb.BinaryReader): IdentityBalance; + } + + export namespace IdentityBalance { + export type AsObject = { + identityId: Uint8Array | string, + balance: number, + } + } + + export class IdentitiesBalances extends jspb.Message { + clearEntriesList(): void; + getEntriesList(): Array; + setEntriesList(value: Array): void; + addEntries(value?: GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance, index?: number): GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): IdentitiesBalances.AsObject; + static toObject(includeInstance: boolean, msg: IdentitiesBalances): IdentitiesBalances.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: IdentitiesBalances, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): IdentitiesBalances; + static deserializeBinaryFromReader(message: IdentitiesBalances, reader: jspb.BinaryReader): IdentitiesBalances; + } + + export namespace IdentitiesBalances { + export type AsObject = { + entriesList: Array, + } + } + export enum ResultCase { RESULT_NOT_SET = 0, - DATA_CONTRACT = 1, + IDENTITIES_BALANCES = 1, PROOF = 2, } } @@ -1752,140 +1757,274 @@ export namespace GetDataContractResponse { } } -export class GetDataContractsRequest extends jspb.Message { +export class GetProofsRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetDataContractsRequest.GetDataContractsRequestV0 | undefined; - setV0(value?: GetDataContractsRequest.GetDataContractsRequestV0): void; + getV0(): GetProofsRequest.GetProofsRequestV0 | undefined; + setV0(value?: GetProofsRequest.GetProofsRequestV0): void; - getVersionCase(): GetDataContractsRequest.VersionCase; + getVersionCase(): GetProofsRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractsRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractsRequest): GetDataContractsRequest.AsObject; + toObject(includeInstance?: boolean): GetProofsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsRequest): GetProofsRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractsRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractsRequest; - static deserializeBinaryFromReader(message: GetDataContractsRequest, reader: jspb.BinaryReader): GetDataContractsRequest; + static serializeBinaryToWriter(message: GetProofsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsRequest; + static deserializeBinaryFromReader(message: GetProofsRequest, reader: jspb.BinaryReader): GetProofsRequest; } -export namespace GetDataContractsRequest { +export namespace GetProofsRequest { export type AsObject = { - v0?: GetDataContractsRequest.GetDataContractsRequestV0.AsObject, + v0?: GetProofsRequest.GetProofsRequestV0.AsObject, } - export class GetDataContractsRequestV0 extends jspb.Message { - clearIdsList(): void; - getIdsList(): Array; - getIdsList_asU8(): Array; - getIdsList_asB64(): Array; - setIdsList(value: Array): void; - addIds(value: Uint8Array | string, index?: number): Uint8Array | string; + export class GetProofsRequestV0 extends jspb.Message { + clearIdentitiesList(): void; + getIdentitiesList(): Array; + setIdentitiesList(value: Array): void; + addIdentities(value?: GetProofsRequest.GetProofsRequestV0.IdentityRequest, index?: number): GetProofsRequest.GetProofsRequestV0.IdentityRequest; - getProve(): boolean; - setProve(value: boolean): void; + clearContractsList(): void; + getContractsList(): Array; + setContractsList(value: Array): void; + addContracts(value?: GetProofsRequest.GetProofsRequestV0.ContractRequest, index?: number): GetProofsRequest.GetProofsRequestV0.ContractRequest; + + clearDocumentsList(): void; + getDocumentsList(): Array; + setDocumentsList(value: Array): void; + addDocuments(value?: GetProofsRequest.GetProofsRequestV0.DocumentRequest, index?: number): GetProofsRequest.GetProofsRequestV0.DocumentRequest; + + clearVotesList(): void; + getVotesList(): Array; + setVotesList(value: Array): void; + addVotes(value?: GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, index?: number): GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractsRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractsRequestV0): GetDataContractsRequestV0.AsObject; + toObject(includeInstance?: boolean): GetProofsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsRequestV0): GetProofsRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractsRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractsRequestV0; - static deserializeBinaryFromReader(message: GetDataContractsRequestV0, reader: jspb.BinaryReader): GetDataContractsRequestV0; + static serializeBinaryToWriter(message: GetProofsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsRequestV0; + static deserializeBinaryFromReader(message: GetProofsRequestV0, reader: jspb.BinaryReader): GetProofsRequestV0; } - export namespace GetDataContractsRequestV0 { + export namespace GetProofsRequestV0 { export type AsObject = { - idsList: Array, - prove: boolean, + identitiesList: Array, + contractsList: Array, + documentsList: Array, + votesList: Array, } - } - export enum VersionCase { - VERSION_NOT_SET = 0, - V0 = 1, - } -} + export class DocumentRequest extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; -export class GetDataContractsResponse extends jspb.Message { - hasV0(): boolean; - clearV0(): void; - getV0(): GetDataContractsResponse.GetDataContractsResponseV0 | undefined; - setV0(value?: GetDataContractsResponse.GetDataContractsResponseV0): void; + getDocumentType(): string; + setDocumentType(value: string): void; - getVersionCase(): GetDataContractsResponse.VersionCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractsResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractsResponse): GetDataContractsResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractsResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractsResponse; - static deserializeBinaryFromReader(message: GetDataContractsResponse, reader: jspb.BinaryReader): GetDataContractsResponse; -} + getDocumentTypeKeepsHistory(): boolean; + setDocumentTypeKeepsHistory(value: boolean): void; -export namespace GetDataContractsResponse { - export type AsObject = { - v0?: GetDataContractsResponse.GetDataContractsResponseV0.AsObject, - } + getDocumentId(): Uint8Array | string; + getDocumentId_asU8(): Uint8Array; + getDocumentId_asB64(): string; + setDocumentId(value: Uint8Array | string): void; - export class DataContractEntry extends jspb.Message { - getIdentifier(): Uint8Array | string; - getIdentifier_asU8(): Uint8Array; - getIdentifier_asB64(): string; - setIdentifier(value: Uint8Array | string): void; + getDocumentContestedStatus(): GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap[keyof GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap]; + setDocumentContestedStatus(value: GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap[keyof GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap]): void; - hasDataContract(): boolean; - clearDataContract(): void; - getDataContract(): google_protobuf_wrappers_pb.BytesValue | undefined; - setDataContract(value?: google_protobuf_wrappers_pb.BytesValue): void; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DocumentRequest.AsObject; + static toObject(includeInstance: boolean, msg: DocumentRequest): DocumentRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DocumentRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DocumentRequest; + static deserializeBinaryFromReader(message: DocumentRequest, reader: jspb.BinaryReader): DocumentRequest; + } - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DataContractEntry.AsObject; - static toObject(includeInstance: boolean, msg: DataContractEntry): DataContractEntry.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DataContractEntry, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DataContractEntry; - static deserializeBinaryFromReader(message: DataContractEntry, reader: jspb.BinaryReader): DataContractEntry; - } + export namespace DocumentRequest { + export type AsObject = { + contractId: Uint8Array | string, + documentType: string, + documentTypeKeepsHistory: boolean, + documentId: Uint8Array | string, + documentContestedStatus: GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap[keyof GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatusMap], + } - export namespace DataContractEntry { - export type AsObject = { - identifier: Uint8Array | string, - dataContract?: google_protobuf_wrappers_pb.BytesValue.AsObject, + export interface DocumentContestedStatusMap { + NOT_CONTESTED: 0; + MAYBE_CONTESTED: 1; + CONTESTED: 2; + } + + export const DocumentContestedStatus: DocumentContestedStatusMap; } - } - export class DataContracts extends jspb.Message { - clearDataContractEntriesList(): void; - getDataContractEntriesList(): Array; - setDataContractEntriesList(value: Array): void; - addDataContractEntries(value?: GetDataContractsResponse.DataContractEntry, index?: number): GetDataContractsResponse.DataContractEntry; + export class IdentityRequest extends jspb.Message { + getIdentityId(): Uint8Array | string; + getIdentityId_asU8(): Uint8Array; + getIdentityId_asB64(): string; + setIdentityId(value: Uint8Array | string): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DataContracts.AsObject; - static toObject(includeInstance: boolean, msg: DataContracts): DataContracts.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DataContracts, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DataContracts; - static deserializeBinaryFromReader(message: DataContracts, reader: jspb.BinaryReader): DataContracts; - } + getRequestType(): GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap]; + setRequestType(value: GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap]): void; - export namespace DataContracts { - export type AsObject = { - dataContractEntriesList: Array, + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): IdentityRequest.AsObject; + static toObject(includeInstance: boolean, msg: IdentityRequest): IdentityRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: IdentityRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): IdentityRequest; + static deserializeBinaryFromReader(message: IdentityRequest, reader: jspb.BinaryReader): IdentityRequest; + } + + export namespace IdentityRequest { + export type AsObject = { + identityId: Uint8Array | string, + requestType: GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap], + } + + export interface TypeMap { + FULL_IDENTITY: 0; + BALANCE: 1; + KEYS: 2; + REVISION: 3; + } + + export const Type: TypeMap; + } + + export class ContractRequest extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContractRequest.AsObject; + static toObject(includeInstance: boolean, msg: ContractRequest): ContractRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContractRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContractRequest; + static deserializeBinaryFromReader(message: ContractRequest, reader: jspb.BinaryReader): ContractRequest; + } + + export namespace ContractRequest { + export type AsObject = { + contractId: Uint8Array | string, + } + } + + export class VoteStatusRequest extends jspb.Message { + hasContestedResourceVoteStatusRequest(): boolean; + clearContestedResourceVoteStatusRequest(): void; + getContestedResourceVoteStatusRequest(): GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest | undefined; + setContestedResourceVoteStatusRequest(value?: GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest): void; + + getRequestTypeCase(): VoteStatusRequest.RequestTypeCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): VoteStatusRequest.AsObject; + static toObject(includeInstance: boolean, msg: VoteStatusRequest): VoteStatusRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: VoteStatusRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VoteStatusRequest; + static deserializeBinaryFromReader(message: VoteStatusRequest, reader: jspb.BinaryReader): VoteStatusRequest; + } + + export namespace VoteStatusRequest { + export type AsObject = { + contestedResourceVoteStatusRequest?: GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.AsObject, + } + + export class ContestedResourceVoteStatusRequest extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + getDocumentTypeName(): string; + setDocumentTypeName(value: string): void; + + getIndexName(): string; + setIndexName(value: string): void; + + clearIndexValuesList(): void; + getIndexValuesList(): Array; + getIndexValuesList_asU8(): Array; + getIndexValuesList_asB64(): Array; + setIndexValuesList(value: Array): void; + addIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; + + getVoterIdentifier(): Uint8Array | string; + getVoterIdentifier_asU8(): Uint8Array; + getVoterIdentifier_asB64(): string; + setVoterIdentifier(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContestedResourceVoteStatusRequest.AsObject; + static toObject(includeInstance: boolean, msg: ContestedResourceVoteStatusRequest): ContestedResourceVoteStatusRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContestedResourceVoteStatusRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContestedResourceVoteStatusRequest; + static deserializeBinaryFromReader(message: ContestedResourceVoteStatusRequest, reader: jspb.BinaryReader): ContestedResourceVoteStatusRequest; + } + + export namespace ContestedResourceVoteStatusRequest { + export type AsObject = { + contractId: Uint8Array | string, + documentTypeName: string, + indexName: string, + indexValuesList: Array, + voterIdentifier: Uint8Array | string, + } + } + + export enum RequestTypeCase { + REQUEST_TYPE_NOT_SET = 0, + CONTESTED_RESOURCE_VOTE_STATUS_REQUEST = 1, + } } } - export class GetDataContractsResponseV0 extends jspb.Message { - hasDataContracts(): boolean; - clearDataContracts(): void; - getDataContracts(): GetDataContractsResponse.DataContracts | undefined; - setDataContracts(value?: GetDataContractsResponse.DataContracts): void; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetProofsResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetProofsResponse.GetProofsResponseV0 | undefined; + setV0(value?: GetProofsResponse.GetProofsResponseV0): void; + + getVersionCase(): GetProofsResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetProofsResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsResponse): GetProofsResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetProofsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsResponse; + static deserializeBinaryFromReader(message: GetProofsResponse, reader: jspb.BinaryReader): GetProofsResponse; +} + +export namespace GetProofsResponse { + export type AsObject = { + v0?: GetProofsResponse.GetProofsResponseV0.AsObject, + } + export class GetProofsResponseV0 extends jspb.Message { hasProof(): boolean; clearProof(): void; getProof(): Proof | undefined; @@ -1896,28 +2035,26 @@ export namespace GetDataContractsResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetDataContractsResponseV0.ResultCase; + getResultCase(): GetProofsResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractsResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractsResponseV0): GetDataContractsResponseV0.AsObject; + toObject(includeInstance?: boolean): GetProofsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsResponseV0): GetProofsResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractsResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractsResponseV0; - static deserializeBinaryFromReader(message: GetDataContractsResponseV0, reader: jspb.BinaryReader): GetDataContractsResponseV0; + static serializeBinaryToWriter(message: GetProofsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsResponseV0; + static deserializeBinaryFromReader(message: GetProofsResponseV0, reader: jspb.BinaryReader): GetProofsResponseV0; } - export namespace GetDataContractsResponseV0 { + export namespace GetProofsResponseV0 { export type AsObject = { - dataContracts?: GetDataContractsResponse.DataContracts.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } export enum ResultCase { RESULT_NOT_SET = 0, - DATA_CONTRACTS = 1, - PROOF = 2, + PROOF = 1, } } @@ -1927,66 +2064,50 @@ export namespace GetDataContractsResponse { } } -export class GetDataContractHistoryRequest extends jspb.Message { +export class GetDataContractRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 | undefined; - setV0(value?: GetDataContractHistoryRequest.GetDataContractHistoryRequestV0): void; + getV0(): GetDataContractRequest.GetDataContractRequestV0 | undefined; + setV0(value?: GetDataContractRequest.GetDataContractRequestV0): void; - getVersionCase(): GetDataContractHistoryRequest.VersionCase; + getVersionCase(): GetDataContractRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractHistoryRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractHistoryRequest): GetDataContractHistoryRequest.AsObject; + toObject(includeInstance?: boolean): GetDataContractRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractRequest): GetDataContractRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractHistoryRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryRequest; - static deserializeBinaryFromReader(message: GetDataContractHistoryRequest, reader: jspb.BinaryReader): GetDataContractHistoryRequest; + static serializeBinaryToWriter(message: GetDataContractRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractRequest; + static deserializeBinaryFromReader(message: GetDataContractRequest, reader: jspb.BinaryReader): GetDataContractRequest; } -export namespace GetDataContractHistoryRequest { +export namespace GetDataContractRequest { export type AsObject = { - v0?: GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.AsObject, + v0?: GetDataContractRequest.GetDataContractRequestV0.AsObject, } - export class GetDataContractHistoryRequestV0 extends jspb.Message { + export class GetDataContractRequestV0 extends jspb.Message { getId(): Uint8Array | string; getId_asU8(): Uint8Array; getId_asB64(): string; setId(value: Uint8Array | string): void; - hasLimit(): boolean; - clearLimit(): void; - getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; - - hasOffset(): boolean; - clearOffset(): void; - getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; - - getStartAtMs(): number; - setStartAtMs(value: number): void; - getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractHistoryRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractHistoryRequestV0): GetDataContractHistoryRequestV0.AsObject; + toObject(includeInstance?: boolean): GetDataContractRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractRequestV0): GetDataContractRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractHistoryRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryRequestV0; - static deserializeBinaryFromReader(message: GetDataContractHistoryRequestV0, reader: jspb.BinaryReader): GetDataContractHistoryRequestV0; + static serializeBinaryToWriter(message: GetDataContractRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractRequestV0; + static deserializeBinaryFromReader(message: GetDataContractRequestV0, reader: jspb.BinaryReader): GetDataContractRequestV0; } - export namespace GetDataContractHistoryRequestV0 { + export namespace GetDataContractRequestV0 { export type AsObject = { id: Uint8Array | string, - limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - startAtMs: number, prove: boolean, } } @@ -1997,33 +2118,35 @@ export namespace GetDataContractHistoryRequest { } } -export class GetDataContractHistoryResponse extends jspb.Message { +export class GetDataContractResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 | undefined; - setV0(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0): void; + getV0(): GetDataContractResponse.GetDataContractResponseV0 | undefined; + setV0(value?: GetDataContractResponse.GetDataContractResponseV0): void; - getVersionCase(): GetDataContractHistoryResponse.VersionCase; + getVersionCase(): GetDataContractResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractHistoryResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractHistoryResponse): GetDataContractHistoryResponse.AsObject; + toObject(includeInstance?: boolean): GetDataContractResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractResponse): GetDataContractResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractHistoryResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryResponse; - static deserializeBinaryFromReader(message: GetDataContractHistoryResponse, reader: jspb.BinaryReader): GetDataContractHistoryResponse; + static serializeBinaryToWriter(message: GetDataContractResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractResponse; + static deserializeBinaryFromReader(message: GetDataContractResponse, reader: jspb.BinaryReader): GetDataContractResponse; } -export namespace GetDataContractHistoryResponse { +export namespace GetDataContractResponse { export type AsObject = { - v0?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.AsObject, + v0?: GetDataContractResponse.GetDataContractResponseV0.AsObject, } - export class GetDataContractHistoryResponseV0 extends jspb.Message { - hasDataContractHistory(): boolean; - clearDataContractHistory(): void; - getDataContractHistory(): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory | undefined; - setDataContractHistory(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory): void; + export class GetDataContractResponseV0 extends jspb.Message { + hasDataContract(): boolean; + clearDataContract(): void; + getDataContract(): Uint8Array | string; + getDataContract_asU8(): Uint8Array; + getDataContract_asB64(): string; + setDataContract(value: Uint8Array | string): void; hasProof(): boolean; clearProof(): void; @@ -2035,75 +2158,27 @@ export namespace GetDataContractHistoryResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetDataContractHistoryResponseV0.ResultCase; + getResultCase(): GetDataContractResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractHistoryResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractHistoryResponseV0): GetDataContractHistoryResponseV0.AsObject; + toObject(includeInstance?: boolean): GetDataContractResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractResponseV0): GetDataContractResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractHistoryResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryResponseV0; - static deserializeBinaryFromReader(message: GetDataContractHistoryResponseV0, reader: jspb.BinaryReader): GetDataContractHistoryResponseV0; + static serializeBinaryToWriter(message: GetDataContractResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractResponseV0; + static deserializeBinaryFromReader(message: GetDataContractResponseV0, reader: jspb.BinaryReader): GetDataContractResponseV0; } - export namespace GetDataContractHistoryResponseV0 { + export namespace GetDataContractResponseV0 { export type AsObject = { - dataContractHistory?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.AsObject, + dataContract: Uint8Array | string, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } - export class DataContractHistoryEntry extends jspb.Message { - getDate(): number; - setDate(value: number): void; - - getValue(): Uint8Array | string; - getValue_asU8(): Uint8Array; - getValue_asB64(): string; - setValue(value: Uint8Array | string): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DataContractHistoryEntry.AsObject; - static toObject(includeInstance: boolean, msg: DataContractHistoryEntry): DataContractHistoryEntry.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DataContractHistoryEntry, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DataContractHistoryEntry; - static deserializeBinaryFromReader(message: DataContractHistoryEntry, reader: jspb.BinaryReader): DataContractHistoryEntry; - } - - export namespace DataContractHistoryEntry { - export type AsObject = { - date: number, - value: Uint8Array | string, - } - } - - export class DataContractHistory extends jspb.Message { - clearDataContractEntriesList(): void; - getDataContractEntriesList(): Array; - setDataContractEntriesList(value: Array): void; - addDataContractEntries(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, index?: number): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DataContractHistory.AsObject; - static toObject(includeInstance: boolean, msg: DataContractHistory): DataContractHistory.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DataContractHistory, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DataContractHistory; - static deserializeBinaryFromReader(message: DataContractHistory, reader: jspb.BinaryReader): DataContractHistory; - } - - export namespace DataContractHistory { - export type AsObject = { - dataContractEntriesList: Array, - } - } - export enum ResultCase { RESULT_NOT_SET = 0, - DATA_CONTRACT_HISTORY = 1, + DATA_CONTRACT = 1, PROOF = 2, } } @@ -2114,95 +2189,54 @@ export namespace GetDataContractHistoryResponse { } } -export class GetDocumentsRequest extends jspb.Message { +export class GetDataContractsRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetDocumentsRequest.GetDocumentsRequestV0 | undefined; - setV0(value?: GetDocumentsRequest.GetDocumentsRequestV0): void; + getV0(): GetDataContractsRequest.GetDataContractsRequestV0 | undefined; + setV0(value?: GetDataContractsRequest.GetDataContractsRequestV0): void; - getVersionCase(): GetDocumentsRequest.VersionCase; + getVersionCase(): GetDataContractsRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDocumentsRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetDocumentsRequest): GetDocumentsRequest.AsObject; + toObject(includeInstance?: boolean): GetDataContractsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractsRequest): GetDataContractsRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDocumentsRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDocumentsRequest; - static deserializeBinaryFromReader(message: GetDocumentsRequest, reader: jspb.BinaryReader): GetDocumentsRequest; + static serializeBinaryToWriter(message: GetDataContractsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractsRequest; + static deserializeBinaryFromReader(message: GetDataContractsRequest, reader: jspb.BinaryReader): GetDataContractsRequest; } -export namespace GetDocumentsRequest { +export namespace GetDataContractsRequest { export type AsObject = { - v0?: GetDocumentsRequest.GetDocumentsRequestV0.AsObject, + v0?: GetDataContractsRequest.GetDataContractsRequestV0.AsObject, } - export class GetDocumentsRequestV0 extends jspb.Message { - getDataContractId(): Uint8Array | string; - getDataContractId_asU8(): Uint8Array; - getDataContractId_asB64(): string; - setDataContractId(value: Uint8Array | string): void; - - getDocumentType(): string; - setDocumentType(value: string): void; - - getWhere(): Uint8Array | string; - getWhere_asU8(): Uint8Array; - getWhere_asB64(): string; - setWhere(value: Uint8Array | string): void; - - getOrderBy(): Uint8Array | string; - getOrderBy_asU8(): Uint8Array; - getOrderBy_asB64(): string; - setOrderBy(value: Uint8Array | string): void; - - getLimit(): number; - setLimit(value: number): void; - - hasStartAfter(): boolean; - clearStartAfter(): void; - getStartAfter(): Uint8Array | string; - getStartAfter_asU8(): Uint8Array; - getStartAfter_asB64(): string; - setStartAfter(value: Uint8Array | string): void; - - hasStartAt(): boolean; - clearStartAt(): void; - getStartAt(): Uint8Array | string; - getStartAt_asU8(): Uint8Array; - getStartAt_asB64(): string; - setStartAt(value: Uint8Array | string): void; + export class GetDataContractsRequestV0 extends jspb.Message { + clearIdsList(): void; + getIdsList(): Array; + getIdsList_asU8(): Array; + getIdsList_asB64(): Array; + setIdsList(value: Array): void; + addIds(value: Uint8Array | string, index?: number): Uint8Array | string; getProve(): boolean; setProve(value: boolean): void; - getStartCase(): GetDocumentsRequestV0.StartCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDocumentsRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDocumentsRequestV0): GetDocumentsRequestV0.AsObject; + toObject(includeInstance?: boolean): GetDataContractsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractsRequestV0): GetDataContractsRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDocumentsRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDocumentsRequestV0; - static deserializeBinaryFromReader(message: GetDocumentsRequestV0, reader: jspb.BinaryReader): GetDocumentsRequestV0; + static serializeBinaryToWriter(message: GetDataContractsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractsRequestV0; + static deserializeBinaryFromReader(message: GetDataContractsRequestV0, reader: jspb.BinaryReader): GetDataContractsRequestV0; } - export namespace GetDocumentsRequestV0 { + export namespace GetDataContractsRequestV0 { export type AsObject = { - dataContractId: Uint8Array | string, - documentType: string, - where: Uint8Array | string, - orderBy: Uint8Array | string, - limit: number, - startAfter: Uint8Array | string, - startAt: Uint8Array | string, + idsList: Array, prove: boolean, } - - export enum StartCase { - START_NOT_SET = 0, - START_AFTER = 6, - START_AT = 7, - } } export enum VersionCase { @@ -2211,182 +2245,83 @@ export namespace GetDocumentsRequest { } } -export class GetDocumentsResponse extends jspb.Message { +export class GetDataContractsResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetDocumentsResponse.GetDocumentsResponseV0 | undefined; - setV0(value?: GetDocumentsResponse.GetDocumentsResponseV0): void; + getV0(): GetDataContractsResponse.GetDataContractsResponseV0 | undefined; + setV0(value?: GetDataContractsResponse.GetDataContractsResponseV0): void; - getVersionCase(): GetDocumentsResponse.VersionCase; + getVersionCase(): GetDataContractsResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDocumentsResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetDocumentsResponse): GetDocumentsResponse.AsObject; + toObject(includeInstance?: boolean): GetDataContractsResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractsResponse): GetDataContractsResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDocumentsResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDocumentsResponse; - static deserializeBinaryFromReader(message: GetDocumentsResponse, reader: jspb.BinaryReader): GetDocumentsResponse; + static serializeBinaryToWriter(message: GetDataContractsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractsResponse; + static deserializeBinaryFromReader(message: GetDataContractsResponse, reader: jspb.BinaryReader): GetDataContractsResponse; } -export namespace GetDocumentsResponse { +export namespace GetDataContractsResponse { export type AsObject = { - v0?: GetDocumentsResponse.GetDocumentsResponseV0.AsObject, + v0?: GetDataContractsResponse.GetDataContractsResponseV0.AsObject, } - export class GetDocumentsResponseV0 extends jspb.Message { - hasDocuments(): boolean; - clearDocuments(): void; - getDocuments(): GetDocumentsResponse.GetDocumentsResponseV0.Documents | undefined; - setDocuments(value?: GetDocumentsResponse.GetDocumentsResponseV0.Documents): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + export class DataContractEntry extends jspb.Message { + getIdentifier(): Uint8Array | string; + getIdentifier_asU8(): Uint8Array; + getIdentifier_asB64(): string; + setIdentifier(value: Uint8Array | string): void; - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; + hasDataContract(): boolean; + clearDataContract(): void; + getDataContract(): google_protobuf_wrappers_pb.BytesValue | undefined; + setDataContract(value?: google_protobuf_wrappers_pb.BytesValue): void; - getResultCase(): GetDocumentsResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDocumentsResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetDocumentsResponseV0): GetDocumentsResponseV0.AsObject; + toObject(includeInstance?: boolean): DataContractEntry.AsObject; + static toObject(includeInstance: boolean, msg: DataContractEntry): DataContractEntry.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDocumentsResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDocumentsResponseV0; - static deserializeBinaryFromReader(message: GetDocumentsResponseV0, reader: jspb.BinaryReader): GetDocumentsResponseV0; - } - - export namespace GetDocumentsResponseV0 { - export type AsObject = { - documents?: GetDocumentsResponse.GetDocumentsResponseV0.Documents.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, - } - - export class Documents extends jspb.Message { - clearDocumentsList(): void; - getDocumentsList(): Array; - getDocumentsList_asU8(): Array; - getDocumentsList_asB64(): Array; - setDocumentsList(value: Array): void; - addDocuments(value: Uint8Array | string, index?: number): Uint8Array | string; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Documents.AsObject; - static toObject(includeInstance: boolean, msg: Documents): Documents.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Documents, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Documents; - static deserializeBinaryFromReader(message: Documents, reader: jspb.BinaryReader): Documents; - } - - export namespace Documents { - export type AsObject = { - documentsList: Array, - } - } - - export enum ResultCase { - RESULT_NOT_SET = 0, - DOCUMENTS = 1, - PROOF = 2, - } - } - - export enum VersionCase { - VERSION_NOT_SET = 0, - V0 = 1, + static serializeBinaryToWriter(message: DataContractEntry, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DataContractEntry; + static deserializeBinaryFromReader(message: DataContractEntry, reader: jspb.BinaryReader): DataContractEntry; } -} - -export class GetIdentityByPublicKeyHashRequest extends jspb.Message { - hasV0(): boolean; - clearV0(): void; - getV0(): GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 | undefined; - setV0(value?: GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0): void; - - getVersionCase(): GetIdentityByPublicKeyHashRequest.VersionCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashRequest): GetIdentityByPublicKeyHashRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashRequest; - static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashRequest, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashRequest; -} -export namespace GetIdentityByPublicKeyHashRequest { - export type AsObject = { - v0?: GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.AsObject, + export namespace DataContractEntry { + export type AsObject = { + identifier: Uint8Array | string, + dataContract?: google_protobuf_wrappers_pb.BytesValue.AsObject, + } } - export class GetIdentityByPublicKeyHashRequestV0 extends jspb.Message { - getPublicKeyHash(): Uint8Array | string; - getPublicKeyHash_asU8(): Uint8Array; - getPublicKeyHash_asB64(): string; - setPublicKeyHash(value: Uint8Array | string): void; - - getProve(): boolean; - setProve(value: boolean): void; + export class DataContracts extends jspb.Message { + clearDataContractEntriesList(): void; + getDataContractEntriesList(): Array; + setDataContractEntriesList(value: Array): void; + addDataContractEntries(value?: GetDataContractsResponse.DataContractEntry, index?: number): GetDataContractsResponse.DataContractEntry; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashRequestV0): GetIdentityByPublicKeyHashRequestV0.AsObject; + toObject(includeInstance?: boolean): DataContracts.AsObject; + static toObject(includeInstance: boolean, msg: DataContracts): DataContracts.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashRequestV0; - static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashRequestV0, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashRequestV0; + static serializeBinaryToWriter(message: DataContracts, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DataContracts; + static deserializeBinaryFromReader(message: DataContracts, reader: jspb.BinaryReader): DataContracts; } - export namespace GetIdentityByPublicKeyHashRequestV0 { + export namespace DataContracts { export type AsObject = { - publicKeyHash: Uint8Array | string, - prove: boolean, + dataContractEntriesList: Array, } } - export enum VersionCase { - VERSION_NOT_SET = 0, - V0 = 1, - } -} - -export class GetIdentityByPublicKeyHashResponse extends jspb.Message { - hasV0(): boolean; - clearV0(): void; - getV0(): GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 | undefined; - setV0(value?: GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0): void; - - getVersionCase(): GetIdentityByPublicKeyHashResponse.VersionCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashResponse): GetIdentityByPublicKeyHashResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashResponse; - static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashResponse, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashResponse; -} - -export namespace GetIdentityByPublicKeyHashResponse { - export type AsObject = { - v0?: GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.AsObject, - } - - export class GetIdentityByPublicKeyHashResponseV0 extends jspb.Message { - hasIdentity(): boolean; - clearIdentity(): void; - getIdentity(): Uint8Array | string; - getIdentity_asU8(): Uint8Array; - getIdentity_asB64(): string; - setIdentity(value: Uint8Array | string): void; + export class GetDataContractsResponseV0 extends jspb.Message { + hasDataContracts(): boolean; + clearDataContracts(): void; + getDataContracts(): GetDataContractsResponse.DataContracts | undefined; + setDataContracts(value?: GetDataContractsResponse.DataContracts): void; hasProof(): boolean; clearProof(): void; @@ -2398,27 +2333,27 @@ export namespace GetIdentityByPublicKeyHashResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetIdentityByPublicKeyHashResponseV0.ResultCase; + getResultCase(): GetDataContractsResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashResponseV0): GetIdentityByPublicKeyHashResponseV0.AsObject; + toObject(includeInstance?: boolean): GetDataContractsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractsResponseV0): GetDataContractsResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashResponseV0; - static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashResponseV0, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashResponseV0; + static serializeBinaryToWriter(message: GetDataContractsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractsResponseV0; + static deserializeBinaryFromReader(message: GetDataContractsResponseV0, reader: jspb.BinaryReader): GetDataContractsResponseV0; } - export namespace GetIdentityByPublicKeyHashResponseV0 { + export namespace GetDataContractsResponseV0 { export type AsObject = { - identity: Uint8Array | string, + dataContracts?: GetDataContractsResponse.DataContracts.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } export enum ResultCase { RESULT_NOT_SET = 0, - IDENTITY = 1, + DATA_CONTRACTS = 1, PROOF = 2, } } @@ -2429,50 +2364,66 @@ export namespace GetIdentityByPublicKeyHashResponse { } } -export class WaitForStateTransitionResultRequest extends jspb.Message { +export class GetDataContractHistoryRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 | undefined; - setV0(value?: WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0): void; + getV0(): GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 | undefined; + setV0(value?: GetDataContractHistoryRequest.GetDataContractHistoryRequestV0): void; - getVersionCase(): WaitForStateTransitionResultRequest.VersionCase; + getVersionCase(): GetDataContractHistoryRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): WaitForStateTransitionResultRequest.AsObject; - static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultRequest): WaitForStateTransitionResultRequest.AsObject; + toObject(includeInstance?: boolean): GetDataContractHistoryRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractHistoryRequest): GetDataContractHistoryRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: WaitForStateTransitionResultRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultRequest; - static deserializeBinaryFromReader(message: WaitForStateTransitionResultRequest, reader: jspb.BinaryReader): WaitForStateTransitionResultRequest; + static serializeBinaryToWriter(message: GetDataContractHistoryRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryRequest; + static deserializeBinaryFromReader(message: GetDataContractHistoryRequest, reader: jspb.BinaryReader): GetDataContractHistoryRequest; } -export namespace WaitForStateTransitionResultRequest { +export namespace GetDataContractHistoryRequest { export type AsObject = { - v0?: WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.AsObject, + v0?: GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.AsObject, } - export class WaitForStateTransitionResultRequestV0 extends jspb.Message { - getStateTransitionHash(): Uint8Array | string; - getStateTransitionHash_asU8(): Uint8Array; - getStateTransitionHash_asB64(): string; - setStateTransitionHash(value: Uint8Array | string): void; + export class GetDataContractHistoryRequestV0 extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + hasLimit(): boolean; + clearLimit(): void; + getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + hasOffset(): boolean; + clearOffset(): void; + getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + getStartAtMs(): number; + setStartAtMs(value: number): void; getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): WaitForStateTransitionResultRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultRequestV0): WaitForStateTransitionResultRequestV0.AsObject; + toObject(includeInstance?: boolean): GetDataContractHistoryRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractHistoryRequestV0): GetDataContractHistoryRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: WaitForStateTransitionResultRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultRequestV0; - static deserializeBinaryFromReader(message: WaitForStateTransitionResultRequestV0, reader: jspb.BinaryReader): WaitForStateTransitionResultRequestV0; + static serializeBinaryToWriter(message: GetDataContractHistoryRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryRequestV0; + static deserializeBinaryFromReader(message: GetDataContractHistoryRequestV0, reader: jspb.BinaryReader): GetDataContractHistoryRequestV0; } - export namespace WaitForStateTransitionResultRequestV0 { + export namespace GetDataContractHistoryRequestV0 { export type AsObject = { - stateTransitionHash: Uint8Array | string, + id: Uint8Array | string, + limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + startAtMs: number, prove: boolean, } } @@ -2483,33 +2434,33 @@ export namespace WaitForStateTransitionResultRequest { } } -export class WaitForStateTransitionResultResponse extends jspb.Message { +export class GetDataContractHistoryResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 | undefined; - setV0(value?: WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0): void; + getV0(): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 | undefined; + setV0(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0): void; - getVersionCase(): WaitForStateTransitionResultResponse.VersionCase; + getVersionCase(): GetDataContractHistoryResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): WaitForStateTransitionResultResponse.AsObject; - static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultResponse): WaitForStateTransitionResultResponse.AsObject; + toObject(includeInstance?: boolean): GetDataContractHistoryResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractHistoryResponse): GetDataContractHistoryResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: WaitForStateTransitionResultResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultResponse; - static deserializeBinaryFromReader(message: WaitForStateTransitionResultResponse, reader: jspb.BinaryReader): WaitForStateTransitionResultResponse; + static serializeBinaryToWriter(message: GetDataContractHistoryResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryResponse; + static deserializeBinaryFromReader(message: GetDataContractHistoryResponse, reader: jspb.BinaryReader): GetDataContractHistoryResponse; } -export namespace WaitForStateTransitionResultResponse { +export namespace GetDataContractHistoryResponse { export type AsObject = { - v0?: WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.AsObject, + v0?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.AsObject, } - export class WaitForStateTransitionResultResponseV0 extends jspb.Message { - hasError(): boolean; - clearError(): void; - getError(): StateTransitionBroadcastError | undefined; - setError(value?: StateTransitionBroadcastError): void; + export class GetDataContractHistoryResponseV0 extends jspb.Message { + hasDataContractHistory(): boolean; + clearDataContractHistory(): void; + getDataContractHistory(): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory | undefined; + setDataContractHistory(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory): void; hasProof(): boolean; clearProof(): void; @@ -2521,27 +2472,75 @@ export namespace WaitForStateTransitionResultResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): WaitForStateTransitionResultResponseV0.ResultCase; + getResultCase(): GetDataContractHistoryResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): WaitForStateTransitionResultResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultResponseV0): WaitForStateTransitionResultResponseV0.AsObject; + toObject(includeInstance?: boolean): GetDataContractHistoryResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractHistoryResponseV0): GetDataContractHistoryResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: WaitForStateTransitionResultResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultResponseV0; - static deserializeBinaryFromReader(message: WaitForStateTransitionResultResponseV0, reader: jspb.BinaryReader): WaitForStateTransitionResultResponseV0; + static serializeBinaryToWriter(message: GetDataContractHistoryResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryResponseV0; + static deserializeBinaryFromReader(message: GetDataContractHistoryResponseV0, reader: jspb.BinaryReader): GetDataContractHistoryResponseV0; } - export namespace WaitForStateTransitionResultResponseV0 { + export namespace GetDataContractHistoryResponseV0 { export type AsObject = { - error?: StateTransitionBroadcastError.AsObject, + dataContractHistory?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } + export class DataContractHistoryEntry extends jspb.Message { + getDate(): number; + setDate(value: number): void; + + getValue(): Uint8Array | string; + getValue_asU8(): Uint8Array; + getValue_asB64(): string; + setValue(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DataContractHistoryEntry.AsObject; + static toObject(includeInstance: boolean, msg: DataContractHistoryEntry): DataContractHistoryEntry.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DataContractHistoryEntry, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DataContractHistoryEntry; + static deserializeBinaryFromReader(message: DataContractHistoryEntry, reader: jspb.BinaryReader): DataContractHistoryEntry; + } + + export namespace DataContractHistoryEntry { + export type AsObject = { + date: number, + value: Uint8Array | string, + } + } + + export class DataContractHistory extends jspb.Message { + clearDataContractEntriesList(): void; + getDataContractEntriesList(): Array; + setDataContractEntriesList(value: Array): void; + addDataContractEntries(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, index?: number): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DataContractHistory.AsObject; + static toObject(includeInstance: boolean, msg: DataContractHistory): DataContractHistory.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DataContractHistory, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DataContractHistory; + static deserializeBinaryFromReader(message: DataContractHistory, reader: jspb.BinaryReader): DataContractHistory; + } + + export namespace DataContractHistory { + export type AsObject = { + dataContractEntriesList: Array, + } + } + export enum ResultCase { RESULT_NOT_SET = 0, - ERROR = 1, + DATA_CONTRACT_HISTORY = 1, PROOF = 2, } } @@ -2552,50 +2551,95 @@ export namespace WaitForStateTransitionResultResponse { } } -export class GetConsensusParamsRequest extends jspb.Message { +export class GetDocumentsRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetConsensusParamsRequest.GetConsensusParamsRequestV0 | undefined; - setV0(value?: GetConsensusParamsRequest.GetConsensusParamsRequestV0): void; + getV0(): GetDocumentsRequest.GetDocumentsRequestV0 | undefined; + setV0(value?: GetDocumentsRequest.GetDocumentsRequestV0): void; - getVersionCase(): GetConsensusParamsRequest.VersionCase; + getVersionCase(): GetDocumentsRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetConsensusParamsRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetConsensusParamsRequest): GetConsensusParamsRequest.AsObject; + toObject(includeInstance?: boolean): GetDocumentsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetDocumentsRequest): GetDocumentsRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetConsensusParamsRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetConsensusParamsRequest; - static deserializeBinaryFromReader(message: GetConsensusParamsRequest, reader: jspb.BinaryReader): GetConsensusParamsRequest; + static serializeBinaryToWriter(message: GetDocumentsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDocumentsRequest; + static deserializeBinaryFromReader(message: GetDocumentsRequest, reader: jspb.BinaryReader): GetDocumentsRequest; } -export namespace GetConsensusParamsRequest { +export namespace GetDocumentsRequest { export type AsObject = { - v0?: GetConsensusParamsRequest.GetConsensusParamsRequestV0.AsObject, + v0?: GetDocumentsRequest.GetDocumentsRequestV0.AsObject, } - export class GetConsensusParamsRequestV0 extends jspb.Message { - getHeight(): number; - setHeight(value: number): void; + export class GetDocumentsRequestV0 extends jspb.Message { + getDataContractId(): Uint8Array | string; + getDataContractId_asU8(): Uint8Array; + getDataContractId_asB64(): string; + setDataContractId(value: Uint8Array | string): void; + + getDocumentType(): string; + setDocumentType(value: string): void; + + getWhere(): Uint8Array | string; + getWhere_asU8(): Uint8Array; + getWhere_asB64(): string; + setWhere(value: Uint8Array | string): void; + + getOrderBy(): Uint8Array | string; + getOrderBy_asU8(): Uint8Array; + getOrderBy_asB64(): string; + setOrderBy(value: Uint8Array | string): void; + + getLimit(): number; + setLimit(value: number): void; + + hasStartAfter(): boolean; + clearStartAfter(): void; + getStartAfter(): Uint8Array | string; + getStartAfter_asU8(): Uint8Array; + getStartAfter_asB64(): string; + setStartAfter(value: Uint8Array | string): void; + + hasStartAt(): boolean; + clearStartAt(): void; + getStartAt(): Uint8Array | string; + getStartAt_asU8(): Uint8Array; + getStartAt_asB64(): string; + setStartAt(value: Uint8Array | string): void; getProve(): boolean; setProve(value: boolean): void; + getStartCase(): GetDocumentsRequestV0.StartCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetConsensusParamsRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetConsensusParamsRequestV0): GetConsensusParamsRequestV0.AsObject; + toObject(includeInstance?: boolean): GetDocumentsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDocumentsRequestV0): GetDocumentsRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetConsensusParamsRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetConsensusParamsRequestV0; - static deserializeBinaryFromReader(message: GetConsensusParamsRequestV0, reader: jspb.BinaryReader): GetConsensusParamsRequestV0; + static serializeBinaryToWriter(message: GetDocumentsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDocumentsRequestV0; + static deserializeBinaryFromReader(message: GetDocumentsRequestV0, reader: jspb.BinaryReader): GetDocumentsRequestV0; } - export namespace GetConsensusParamsRequestV0 { + export namespace GetDocumentsRequestV0 { export type AsObject = { - height: number, + dataContractId: Uint8Array | string, + documentType: string, + where: Uint8Array | string, + orderBy: Uint8Array | string, + limit: number, + startAfter: Uint8Array | string, + startAt: Uint8Array | string, prove: boolean, } + + export enum StartCase { + START_NOT_SET = 0, + START_AFTER = 6, + START_AT = 7, + } } export enum VersionCase { @@ -2604,109 +2648,90 @@ export namespace GetConsensusParamsRequest { } } -export class GetConsensusParamsResponse extends jspb.Message { +export class GetDocumentsResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetConsensusParamsResponse.GetConsensusParamsResponseV0 | undefined; - setV0(value?: GetConsensusParamsResponse.GetConsensusParamsResponseV0): void; + getV0(): GetDocumentsResponse.GetDocumentsResponseV0 | undefined; + setV0(value?: GetDocumentsResponse.GetDocumentsResponseV0): void; - getVersionCase(): GetConsensusParamsResponse.VersionCase; + getVersionCase(): GetDocumentsResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetConsensusParamsResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetConsensusParamsResponse): GetConsensusParamsResponse.AsObject; + toObject(includeInstance?: boolean): GetDocumentsResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetDocumentsResponse): GetDocumentsResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetConsensusParamsResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetConsensusParamsResponse; - static deserializeBinaryFromReader(message: GetConsensusParamsResponse, reader: jspb.BinaryReader): GetConsensusParamsResponse; + static serializeBinaryToWriter(message: GetDocumentsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDocumentsResponse; + static deserializeBinaryFromReader(message: GetDocumentsResponse, reader: jspb.BinaryReader): GetDocumentsResponse; } -export namespace GetConsensusParamsResponse { +export namespace GetDocumentsResponse { export type AsObject = { - v0?: GetConsensusParamsResponse.GetConsensusParamsResponseV0.AsObject, + v0?: GetDocumentsResponse.GetDocumentsResponseV0.AsObject, } - export class ConsensusParamsBlock extends jspb.Message { - getMaxBytes(): string; - setMaxBytes(value: string): void; + export class GetDocumentsResponseV0 extends jspb.Message { + hasDocuments(): boolean; + clearDocuments(): void; + getDocuments(): GetDocumentsResponse.GetDocumentsResponseV0.Documents | undefined; + setDocuments(value?: GetDocumentsResponse.GetDocumentsResponseV0.Documents): void; - getMaxGas(): string; - setMaxGas(value: string): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; - getTimeIotaMs(): string; - setTimeIotaMs(value: string): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + getResultCase(): GetDocumentsResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ConsensusParamsBlock.AsObject; - static toObject(includeInstance: boolean, msg: ConsensusParamsBlock): ConsensusParamsBlock.AsObject; + toObject(includeInstance?: boolean): GetDocumentsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDocumentsResponseV0): GetDocumentsResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ConsensusParamsBlock, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ConsensusParamsBlock; - static deserializeBinaryFromReader(message: ConsensusParamsBlock, reader: jspb.BinaryReader): ConsensusParamsBlock; + static serializeBinaryToWriter(message: GetDocumentsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDocumentsResponseV0; + static deserializeBinaryFromReader(message: GetDocumentsResponseV0, reader: jspb.BinaryReader): GetDocumentsResponseV0; } - export namespace ConsensusParamsBlock { + export namespace GetDocumentsResponseV0 { export type AsObject = { - maxBytes: string, - maxGas: string, - timeIotaMs: string, + documents?: GetDocumentsResponse.GetDocumentsResponseV0.Documents.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } - } - - export class ConsensusParamsEvidence extends jspb.Message { - getMaxAgeNumBlocks(): string; - setMaxAgeNumBlocks(value: string): void; - getMaxAgeDuration(): string; - setMaxAgeDuration(value: string): void; + export class Documents extends jspb.Message { + clearDocumentsList(): void; + getDocumentsList(): Array; + getDocumentsList_asU8(): Array; + getDocumentsList_asB64(): Array; + setDocumentsList(value: Array): void; + addDocuments(value: Uint8Array | string, index?: number): Uint8Array | string; - getMaxBytes(): string; - setMaxBytes(value: string): void; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Documents.AsObject; + static toObject(includeInstance: boolean, msg: Documents): Documents.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Documents, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Documents; + static deserializeBinaryFromReader(message: Documents, reader: jspb.BinaryReader): Documents; + } - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ConsensusParamsEvidence.AsObject; - static toObject(includeInstance: boolean, msg: ConsensusParamsEvidence): ConsensusParamsEvidence.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ConsensusParamsEvidence, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ConsensusParamsEvidence; - static deserializeBinaryFromReader(message: ConsensusParamsEvidence, reader: jspb.BinaryReader): ConsensusParamsEvidence; - } + export namespace Documents { + export type AsObject = { + documentsList: Array, + } + } - export namespace ConsensusParamsEvidence { - export type AsObject = { - maxAgeNumBlocks: string, - maxAgeDuration: string, - maxBytes: string, - } - } - - export class GetConsensusParamsResponseV0 extends jspb.Message { - hasBlock(): boolean; - clearBlock(): void; - getBlock(): GetConsensusParamsResponse.ConsensusParamsBlock | undefined; - setBlock(value?: GetConsensusParamsResponse.ConsensusParamsBlock): void; - - hasEvidence(): boolean; - clearEvidence(): void; - getEvidence(): GetConsensusParamsResponse.ConsensusParamsEvidence | undefined; - setEvidence(value?: GetConsensusParamsResponse.ConsensusParamsEvidence): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetConsensusParamsResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetConsensusParamsResponseV0): GetConsensusParamsResponseV0.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetConsensusParamsResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetConsensusParamsResponseV0; - static deserializeBinaryFromReader(message: GetConsensusParamsResponseV0, reader: jspb.BinaryReader): GetConsensusParamsResponseV0; - } - - export namespace GetConsensusParamsResponseV0 { - export type AsObject = { - block?: GetConsensusParamsResponse.ConsensusParamsBlock.AsObject, - evidence?: GetConsensusParamsResponse.ConsensusParamsEvidence.AsObject, + export enum ResultCase { + RESULT_NOT_SET = 0, + DOCUMENTS = 1, + PROOF = 2, } } @@ -2716,44 +2741,50 @@ export namespace GetConsensusParamsResponse { } } -export class GetProtocolVersionUpgradeStateRequest extends jspb.Message { +export class GetIdentityByPublicKeyHashRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 | undefined; - setV0(value?: GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0): void; + getV0(): GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 | undefined; + setV0(value?: GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0): void; - getVersionCase(): GetProtocolVersionUpgradeStateRequest.VersionCase; + getVersionCase(): GetIdentityByPublicKeyHashRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateRequest): GetProtocolVersionUpgradeStateRequest.AsObject; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashRequest): GetIdentityByPublicKeyHashRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateRequest; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateRequest, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateRequest; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashRequest; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashRequest, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashRequest; } -export namespace GetProtocolVersionUpgradeStateRequest { +export namespace GetIdentityByPublicKeyHashRequest { export type AsObject = { - v0?: GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.AsObject, + v0?: GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.AsObject, } - export class GetProtocolVersionUpgradeStateRequestV0 extends jspb.Message { + export class GetIdentityByPublicKeyHashRequestV0 extends jspb.Message { + getPublicKeyHash(): Uint8Array | string; + getPublicKeyHash_asU8(): Uint8Array; + getPublicKeyHash_asB64(): string; + setPublicKeyHash(value: Uint8Array | string): void; + getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateRequestV0): GetProtocolVersionUpgradeStateRequestV0.AsObject; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashRequestV0): GetIdentityByPublicKeyHashRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateRequestV0; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateRequestV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateRequestV0; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashRequestV0; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashRequestV0, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashRequestV0; } - export namespace GetProtocolVersionUpgradeStateRequestV0 { + export namespace GetIdentityByPublicKeyHashRequestV0 { export type AsObject = { + publicKeyHash: Uint8Array | string, prove: boolean, } } @@ -2764,33 +2795,35 @@ export namespace GetProtocolVersionUpgradeStateRequest { } } -export class GetProtocolVersionUpgradeStateResponse extends jspb.Message { +export class GetIdentityByPublicKeyHashResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 | undefined; - setV0(value?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0): void; + getV0(): GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 | undefined; + setV0(value?: GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0): void; - getVersionCase(): GetProtocolVersionUpgradeStateResponse.VersionCase; + getVersionCase(): GetIdentityByPublicKeyHashResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateResponse): GetProtocolVersionUpgradeStateResponse.AsObject; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashResponse): GetIdentityByPublicKeyHashResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateResponse; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateResponse, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateResponse; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashResponse; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashResponse, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashResponse; } -export namespace GetProtocolVersionUpgradeStateResponse { +export namespace GetIdentityByPublicKeyHashResponse { export type AsObject = { - v0?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.AsObject, + v0?: GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.AsObject, } - export class GetProtocolVersionUpgradeStateResponseV0 extends jspb.Message { - hasVersions(): boolean; - clearVersions(): void; - getVersions(): GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions | undefined; - setVersions(value?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions): void; + export class GetIdentityByPublicKeyHashResponseV0 extends jspb.Message { + hasIdentity(): boolean; + clearIdentity(): void; + getIdentity(): Uint8Array | string; + getIdentity_asU8(): Uint8Array; + getIdentity_asB64(): string; + setIdentity(value: Uint8Array | string): void; hasProof(): boolean; clearProof(): void; @@ -2802,73 +2835,27 @@ export namespace GetProtocolVersionUpgradeStateResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetProtocolVersionUpgradeStateResponseV0.ResultCase; + getResultCase(): GetIdentityByPublicKeyHashResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateResponseV0): GetProtocolVersionUpgradeStateResponseV0.AsObject; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashResponseV0): GetIdentityByPublicKeyHashResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateResponseV0; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateResponseV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateResponseV0; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashResponseV0; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashResponseV0, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashResponseV0; } - export namespace GetProtocolVersionUpgradeStateResponseV0 { + export namespace GetIdentityByPublicKeyHashResponseV0 { export type AsObject = { - versions?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.AsObject, + identity: Uint8Array | string, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } - export class Versions extends jspb.Message { - clearVersionsList(): void; - getVersionsList(): Array; - setVersionsList(value: Array): void; - addVersions(value?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, index?: number): GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Versions.AsObject; - static toObject(includeInstance: boolean, msg: Versions): Versions.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Versions, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Versions; - static deserializeBinaryFromReader(message: Versions, reader: jspb.BinaryReader): Versions; - } - - export namespace Versions { - export type AsObject = { - versionsList: Array, - } - } - - export class VersionEntry extends jspb.Message { - getVersionNumber(): number; - setVersionNumber(value: number): void; - - getVoteCount(): number; - setVoteCount(value: number): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): VersionEntry.AsObject; - static toObject(includeInstance: boolean, msg: VersionEntry): VersionEntry.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: VersionEntry, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): VersionEntry; - static deserializeBinaryFromReader(message: VersionEntry, reader: jspb.BinaryReader): VersionEntry; - } - - export namespace VersionEntry { - export type AsObject = { - versionNumber: number, - voteCount: number, - } - } - export enum ResultCase { RESULT_NOT_SET = 0, - VERSIONS = 1, + IDENTITY = 1, PROOF = 2, } } @@ -2879,54 +2866,50 @@ export namespace GetProtocolVersionUpgradeStateResponse { } } -export class GetProtocolVersionUpgradeVoteStatusRequest extends jspb.Message { +export class WaitForStateTransitionResultRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 | undefined; - setV0(value?: GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0): void; + getV0(): WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 | undefined; + setV0(value?: WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0): void; - getVersionCase(): GetProtocolVersionUpgradeVoteStatusRequest.VersionCase; + getVersionCase(): WaitForStateTransitionResultRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusRequest): GetProtocolVersionUpgradeVoteStatusRequest.AsObject; + toObject(includeInstance?: boolean): WaitForStateTransitionResultRequest.AsObject; + static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultRequest): WaitForStateTransitionResultRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusRequest; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusRequest, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusRequest; + static serializeBinaryToWriter(message: WaitForStateTransitionResultRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultRequest; + static deserializeBinaryFromReader(message: WaitForStateTransitionResultRequest, reader: jspb.BinaryReader): WaitForStateTransitionResultRequest; } -export namespace GetProtocolVersionUpgradeVoteStatusRequest { +export namespace WaitForStateTransitionResultRequest { export type AsObject = { - v0?: GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.AsObject, + v0?: WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.AsObject, } - export class GetProtocolVersionUpgradeVoteStatusRequestV0 extends jspb.Message { - getStartProTxHash(): Uint8Array | string; - getStartProTxHash_asU8(): Uint8Array; - getStartProTxHash_asB64(): string; - setStartProTxHash(value: Uint8Array | string): void; - - getCount(): number; - setCount(value: number): void; + export class WaitForStateTransitionResultRequestV0 extends jspb.Message { + getStateTransitionHash(): Uint8Array | string; + getStateTransitionHash_asU8(): Uint8Array; + getStateTransitionHash_asB64(): string; + setStateTransitionHash(value: Uint8Array | string): void; getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusRequestV0): GetProtocolVersionUpgradeVoteStatusRequestV0.AsObject; + toObject(includeInstance?: boolean): WaitForStateTransitionResultRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultRequestV0): WaitForStateTransitionResultRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusRequestV0; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusRequestV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusRequestV0; + static serializeBinaryToWriter(message: WaitForStateTransitionResultRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultRequestV0; + static deserializeBinaryFromReader(message: WaitForStateTransitionResultRequestV0, reader: jspb.BinaryReader): WaitForStateTransitionResultRequestV0; } - export namespace GetProtocolVersionUpgradeVoteStatusRequestV0 { + export namespace WaitForStateTransitionResultRequestV0 { export type AsObject = { - startProTxHash: Uint8Array | string, - count: number, + stateTransitionHash: Uint8Array | string, prove: boolean, } } @@ -2937,33 +2920,33 @@ export namespace GetProtocolVersionUpgradeVoteStatusRequest { } } -export class GetProtocolVersionUpgradeVoteStatusResponse extends jspb.Message { +export class WaitForStateTransitionResultResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 | undefined; - setV0(value?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0): void; + getV0(): WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 | undefined; + setV0(value?: WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0): void; - getVersionCase(): GetProtocolVersionUpgradeVoteStatusResponse.VersionCase; + getVersionCase(): WaitForStateTransitionResultResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusResponse): GetProtocolVersionUpgradeVoteStatusResponse.AsObject; + toObject(includeInstance?: boolean): WaitForStateTransitionResultResponse.AsObject; + static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultResponse): WaitForStateTransitionResultResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusResponse; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusResponse, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusResponse; + static serializeBinaryToWriter(message: WaitForStateTransitionResultResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultResponse; + static deserializeBinaryFromReader(message: WaitForStateTransitionResultResponse, reader: jspb.BinaryReader): WaitForStateTransitionResultResponse; } -export namespace GetProtocolVersionUpgradeVoteStatusResponse { +export namespace WaitForStateTransitionResultResponse { export type AsObject = { - v0?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.AsObject, + v0?: WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.AsObject, } - export class GetProtocolVersionUpgradeVoteStatusResponseV0 extends jspb.Message { - hasVersions(): boolean; - clearVersions(): void; - getVersions(): GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals | undefined; - setVersions(value?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals): void; + export class WaitForStateTransitionResultResponseV0 extends jspb.Message { + hasError(): boolean; + clearError(): void; + getError(): StateTransitionBroadcastError | undefined; + setError(value?: StateTransitionBroadcastError): void; hasProof(): boolean; clearProof(): void; @@ -2975,75 +2958,27 @@ export namespace GetProtocolVersionUpgradeVoteStatusResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase; + getResultCase(): WaitForStateTransitionResultResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusResponseV0): GetProtocolVersionUpgradeVoteStatusResponseV0.AsObject; + toObject(includeInstance?: boolean): WaitForStateTransitionResultResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultResponseV0): WaitForStateTransitionResultResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusResponseV0; - static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusResponseV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusResponseV0; + static serializeBinaryToWriter(message: WaitForStateTransitionResultResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultResponseV0; + static deserializeBinaryFromReader(message: WaitForStateTransitionResultResponseV0, reader: jspb.BinaryReader): WaitForStateTransitionResultResponseV0; } - export namespace GetProtocolVersionUpgradeVoteStatusResponseV0 { + export namespace WaitForStateTransitionResultResponseV0 { export type AsObject = { - versions?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.AsObject, + error?: StateTransitionBroadcastError.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } - export class VersionSignals extends jspb.Message { - clearVersionSignalsList(): void; - getVersionSignalsList(): Array; - setVersionSignalsList(value: Array): void; - addVersionSignals(value?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, index?: number): GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): VersionSignals.AsObject; - static toObject(includeInstance: boolean, msg: VersionSignals): VersionSignals.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: VersionSignals, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): VersionSignals; - static deserializeBinaryFromReader(message: VersionSignals, reader: jspb.BinaryReader): VersionSignals; - } - - export namespace VersionSignals { - export type AsObject = { - versionSignalsList: Array, - } - } - - export class VersionSignal extends jspb.Message { - getProTxHash(): Uint8Array | string; - getProTxHash_asU8(): Uint8Array; - getProTxHash_asB64(): string; - setProTxHash(value: Uint8Array | string): void; - - getVersion(): number; - setVersion(value: number): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): VersionSignal.AsObject; - static toObject(includeInstance: boolean, msg: VersionSignal): VersionSignal.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: VersionSignal, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): VersionSignal; - static deserializeBinaryFromReader(message: VersionSignal, reader: jspb.BinaryReader): VersionSignal; - } - - export namespace VersionSignal { - export type AsObject = { - proTxHash: Uint8Array | string, - version: number, - } - } - export enum ResultCase { RESULT_NOT_SET = 0, - VERSIONS = 1, + ERROR = 1, PROOF = 2, } } @@ -3054,58 +2989,48 @@ export namespace GetProtocolVersionUpgradeVoteStatusResponse { } } -export class GetEpochsInfoRequest extends jspb.Message { +export class GetConsensusParamsRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetEpochsInfoRequest.GetEpochsInfoRequestV0 | undefined; - setV0(value?: GetEpochsInfoRequest.GetEpochsInfoRequestV0): void; + getV0(): GetConsensusParamsRequest.GetConsensusParamsRequestV0 | undefined; + setV0(value?: GetConsensusParamsRequest.GetConsensusParamsRequestV0): void; - getVersionCase(): GetEpochsInfoRequest.VersionCase; + getVersionCase(): GetConsensusParamsRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetEpochsInfoRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetEpochsInfoRequest): GetEpochsInfoRequest.AsObject; + toObject(includeInstance?: boolean): GetConsensusParamsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetConsensusParamsRequest): GetConsensusParamsRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetEpochsInfoRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetEpochsInfoRequest; - static deserializeBinaryFromReader(message: GetEpochsInfoRequest, reader: jspb.BinaryReader): GetEpochsInfoRequest; + static serializeBinaryToWriter(message: GetConsensusParamsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetConsensusParamsRequest; + static deserializeBinaryFromReader(message: GetConsensusParamsRequest, reader: jspb.BinaryReader): GetConsensusParamsRequest; } -export namespace GetEpochsInfoRequest { +export namespace GetConsensusParamsRequest { export type AsObject = { - v0?: GetEpochsInfoRequest.GetEpochsInfoRequestV0.AsObject, + v0?: GetConsensusParamsRequest.GetConsensusParamsRequestV0.AsObject, } - export class GetEpochsInfoRequestV0 extends jspb.Message { - hasStartEpoch(): boolean; - clearStartEpoch(): void; - getStartEpoch(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setStartEpoch(value?: google_protobuf_wrappers_pb.UInt32Value): void; - - getCount(): number; - setCount(value: number): void; - - getAscending(): boolean; - setAscending(value: boolean): void; + export class GetConsensusParamsRequestV0 extends jspb.Message { + getHeight(): number; + setHeight(value: number): void; getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetEpochsInfoRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetEpochsInfoRequestV0): GetEpochsInfoRequestV0.AsObject; + toObject(includeInstance?: boolean): GetConsensusParamsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetConsensusParamsRequestV0): GetConsensusParamsRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetEpochsInfoRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetEpochsInfoRequestV0; - static deserializeBinaryFromReader(message: GetEpochsInfoRequestV0, reader: jspb.BinaryReader): GetEpochsInfoRequestV0; + static serializeBinaryToWriter(message: GetConsensusParamsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetConsensusParamsRequestV0; + static deserializeBinaryFromReader(message: GetConsensusParamsRequestV0, reader: jspb.BinaryReader): GetConsensusParamsRequestV0; } - export namespace GetEpochsInfoRequestV0 { + export namespace GetConsensusParamsRequestV0 { export type AsObject = { - startEpoch?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - count: number, - ascending: boolean, + height: number, prove: boolean, } } @@ -3116,130 +3041,111 @@ export namespace GetEpochsInfoRequest { } } -export class GetEpochsInfoResponse extends jspb.Message { +export class GetConsensusParamsResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetEpochsInfoResponse.GetEpochsInfoResponseV0 | undefined; - setV0(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0): void; + getV0(): GetConsensusParamsResponse.GetConsensusParamsResponseV0 | undefined; + setV0(value?: GetConsensusParamsResponse.GetConsensusParamsResponseV0): void; - getVersionCase(): GetEpochsInfoResponse.VersionCase; + getVersionCase(): GetConsensusParamsResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetEpochsInfoResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetEpochsInfoResponse): GetEpochsInfoResponse.AsObject; + toObject(includeInstance?: boolean): GetConsensusParamsResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetConsensusParamsResponse): GetConsensusParamsResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetEpochsInfoResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetEpochsInfoResponse; - static deserializeBinaryFromReader(message: GetEpochsInfoResponse, reader: jspb.BinaryReader): GetEpochsInfoResponse; + static serializeBinaryToWriter(message: GetConsensusParamsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetConsensusParamsResponse; + static deserializeBinaryFromReader(message: GetConsensusParamsResponse, reader: jspb.BinaryReader): GetConsensusParamsResponse; } -export namespace GetEpochsInfoResponse { +export namespace GetConsensusParamsResponse { export type AsObject = { - v0?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.AsObject, + v0?: GetConsensusParamsResponse.GetConsensusParamsResponseV0.AsObject, } - export class GetEpochsInfoResponseV0 extends jspb.Message { - hasEpochs(): boolean; - clearEpochs(): void; - getEpochs(): GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos | undefined; - setEpochs(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos): void; + export class ConsensusParamsBlock extends jspb.Message { + getMaxBytes(): string; + setMaxBytes(value: string): void; - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + getMaxGas(): string; + setMaxGas(value: string): void; - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; + getTimeIotaMs(): string; + setTimeIotaMs(value: string): void; - getResultCase(): GetEpochsInfoResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetEpochsInfoResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetEpochsInfoResponseV0): GetEpochsInfoResponseV0.AsObject; + toObject(includeInstance?: boolean): ConsensusParamsBlock.AsObject; + static toObject(includeInstance: boolean, msg: ConsensusParamsBlock): ConsensusParamsBlock.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetEpochsInfoResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetEpochsInfoResponseV0; - static deserializeBinaryFromReader(message: GetEpochsInfoResponseV0, reader: jspb.BinaryReader): GetEpochsInfoResponseV0; + static serializeBinaryToWriter(message: ConsensusParamsBlock, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConsensusParamsBlock; + static deserializeBinaryFromReader(message: ConsensusParamsBlock, reader: jspb.BinaryReader): ConsensusParamsBlock; } - export namespace GetEpochsInfoResponseV0 { + export namespace ConsensusParamsBlock { export type AsObject = { - epochs?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + maxBytes: string, + maxGas: string, + timeIotaMs: string, } + } - export class EpochInfos extends jspb.Message { - clearEpochInfosList(): void; - getEpochInfosList(): Array; - setEpochInfosList(value: Array): void; - addEpochInfos(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, index?: number): GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + export class ConsensusParamsEvidence extends jspb.Message { + getMaxAgeNumBlocks(): string; + setMaxAgeNumBlocks(value: string): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): EpochInfos.AsObject; - static toObject(includeInstance: boolean, msg: EpochInfos): EpochInfos.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: EpochInfos, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): EpochInfos; - static deserializeBinaryFromReader(message: EpochInfos, reader: jspb.BinaryReader): EpochInfos; - } + getMaxAgeDuration(): string; + setMaxAgeDuration(value: string): void; - export namespace EpochInfos { - export type AsObject = { - epochInfosList: Array, - } - } + getMaxBytes(): string; + setMaxBytes(value: string): void; - export class EpochInfo extends jspb.Message { - getNumber(): number; - setNumber(value: number): void; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ConsensusParamsEvidence.AsObject; + static toObject(includeInstance: boolean, msg: ConsensusParamsEvidence): ConsensusParamsEvidence.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ConsensusParamsEvidence, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConsensusParamsEvidence; + static deserializeBinaryFromReader(message: ConsensusParamsEvidence, reader: jspb.BinaryReader): ConsensusParamsEvidence; + } - getFirstBlockHeight(): number; - setFirstBlockHeight(value: number): void; + export namespace ConsensusParamsEvidence { + export type AsObject = { + maxAgeNumBlocks: string, + maxAgeDuration: string, + maxBytes: string, + } + } - getFirstCoreBlockHeight(): number; - setFirstCoreBlockHeight(value: number): void; + export class GetConsensusParamsResponseV0 extends jspb.Message { + hasBlock(): boolean; + clearBlock(): void; + getBlock(): GetConsensusParamsResponse.ConsensusParamsBlock | undefined; + setBlock(value?: GetConsensusParamsResponse.ConsensusParamsBlock): void; - getStartTime(): number; - setStartTime(value: number): void; + hasEvidence(): boolean; + clearEvidence(): void; + getEvidence(): GetConsensusParamsResponse.ConsensusParamsEvidence | undefined; + setEvidence(value?: GetConsensusParamsResponse.ConsensusParamsEvidence): void; - getFeeMultiplier(): number; - setFeeMultiplier(value: number): void; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetConsensusParamsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetConsensusParamsResponseV0): GetConsensusParamsResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetConsensusParamsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetConsensusParamsResponseV0; + static deserializeBinaryFromReader(message: GetConsensusParamsResponseV0, reader: jspb.BinaryReader): GetConsensusParamsResponseV0; + } - getProtocolVersion(): number; - setProtocolVersion(value: number): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): EpochInfo.AsObject; - static toObject(includeInstance: boolean, msg: EpochInfo): EpochInfo.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: EpochInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): EpochInfo; - static deserializeBinaryFromReader(message: EpochInfo, reader: jspb.BinaryReader): EpochInfo; - } - - export namespace EpochInfo { - export type AsObject = { - number: number, - firstBlockHeight: number, - firstCoreBlockHeight: number, - startTime: number, - feeMultiplier: number, - protocolVersion: number, - } - } - - export enum ResultCase { - RESULT_NOT_SET = 0, - EPOCHS = 1, - PROOF = 2, - } - } + export namespace GetConsensusParamsResponseV0 { + export type AsObject = { + block?: GetConsensusParamsResponse.ConsensusParamsBlock.AsObject, + evidence?: GetConsensusParamsResponse.ConsensusParamsEvidence.AsObject, + } + } export enum VersionCase { VERSION_NOT_SET = 0, @@ -3247,118 +3153,46 @@ export namespace GetEpochsInfoResponse { } } -export class GetContestedResourcesRequest extends jspb.Message { +export class GetProtocolVersionUpgradeStateRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourcesRequest.GetContestedResourcesRequestV0 | undefined; - setV0(value?: GetContestedResourcesRequest.GetContestedResourcesRequestV0): void; + getV0(): GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 | undefined; + setV0(value?: GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0): void; - getVersionCase(): GetContestedResourcesRequest.VersionCase; + getVersionCase(): GetProtocolVersionUpgradeStateRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourcesRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourcesRequest): GetContestedResourcesRequest.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateRequest): GetProtocolVersionUpgradeStateRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourcesRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourcesRequest; - static deserializeBinaryFromReader(message: GetContestedResourcesRequest, reader: jspb.BinaryReader): GetContestedResourcesRequest; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateRequest; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateRequest, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateRequest; } -export namespace GetContestedResourcesRequest { +export namespace GetProtocolVersionUpgradeStateRequest { export type AsObject = { - v0?: GetContestedResourcesRequest.GetContestedResourcesRequestV0.AsObject, + v0?: GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.AsObject, } - export class GetContestedResourcesRequestV0 extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; - - getDocumentTypeName(): string; - setDocumentTypeName(value: string): void; - - getIndexName(): string; - setIndexName(value: string): void; - - clearStartIndexValuesList(): void; - getStartIndexValuesList(): Array; - getStartIndexValuesList_asU8(): Array; - getStartIndexValuesList_asB64(): Array; - setStartIndexValuesList(value: Array): void; - addStartIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; - - clearEndIndexValuesList(): void; - getEndIndexValuesList(): Array; - getEndIndexValuesList_asU8(): Array; - getEndIndexValuesList_asB64(): Array; - setEndIndexValuesList(value: Array): void; - addEndIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; - - hasStartAtValueInfo(): boolean; - clearStartAtValueInfo(): void; - getStartAtValueInfo(): GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo | undefined; - setStartAtValueInfo(value?: GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo): void; - - hasCount(): boolean; - clearCount(): void; - getCount(): number; - setCount(value: number): void; - - getOrderAscending(): boolean; - setOrderAscending(value: boolean): void; - + export class GetProtocolVersionUpgradeStateRequestV0 extends jspb.Message { getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourcesRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourcesRequestV0): GetContestedResourcesRequestV0.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateRequestV0): GetProtocolVersionUpgradeStateRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourcesRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourcesRequestV0; - static deserializeBinaryFromReader(message: GetContestedResourcesRequestV0, reader: jspb.BinaryReader): GetContestedResourcesRequestV0; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateRequestV0; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateRequestV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateRequestV0; } - export namespace GetContestedResourcesRequestV0 { + export namespace GetProtocolVersionUpgradeStateRequestV0 { export type AsObject = { - contractId: Uint8Array | string, - documentTypeName: string, - indexName: string, - startIndexValuesList: Array, - endIndexValuesList: Array, - startAtValueInfo?: GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.AsObject, - count: number, - orderAscending: boolean, prove: boolean, } - - export class StartAtValueInfo extends jspb.Message { - getStartValue(): Uint8Array | string; - getStartValue_asU8(): Uint8Array; - getStartValue_asB64(): string; - setStartValue(value: Uint8Array | string): void; - - getStartValueIncluded(): boolean; - setStartValueIncluded(value: boolean): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): StartAtValueInfo.AsObject; - static toObject(includeInstance: boolean, msg: StartAtValueInfo): StartAtValueInfo.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: StartAtValueInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): StartAtValueInfo; - static deserializeBinaryFromReader(message: StartAtValueInfo, reader: jspb.BinaryReader): StartAtValueInfo; - } - - export namespace StartAtValueInfo { - export type AsObject = { - startValue: Uint8Array | string, - startValueIncluded: boolean, - } - } } export enum VersionCase { @@ -3367,33 +3201,33 @@ export namespace GetContestedResourcesRequest { } } -export class GetContestedResourcesResponse extends jspb.Message { +export class GetProtocolVersionUpgradeStateResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourcesResponse.GetContestedResourcesResponseV0 | undefined; - setV0(value?: GetContestedResourcesResponse.GetContestedResourcesResponseV0): void; + getV0(): GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 | undefined; + setV0(value?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0): void; - getVersionCase(): GetContestedResourcesResponse.VersionCase; + getVersionCase(): GetProtocolVersionUpgradeStateResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourcesResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourcesResponse): GetContestedResourcesResponse.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateResponse): GetProtocolVersionUpgradeStateResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourcesResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourcesResponse; - static deserializeBinaryFromReader(message: GetContestedResourcesResponse, reader: jspb.BinaryReader): GetContestedResourcesResponse; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateResponse; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateResponse, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateResponse; } -export namespace GetContestedResourcesResponse { +export namespace GetProtocolVersionUpgradeStateResponse { export type AsObject = { - v0?: GetContestedResourcesResponse.GetContestedResourcesResponseV0.AsObject, + v0?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.AsObject, } - export class GetContestedResourcesResponseV0 extends jspb.Message { - hasContestedResourceValues(): boolean; - clearContestedResourceValues(): void; - getContestedResourceValues(): GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues | undefined; - setContestedResourceValues(value?: GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues): void; + export class GetProtocolVersionUpgradeStateResponseV0 extends jspb.Message { + hasVersions(): boolean; + clearVersions(): void; + getVersions(): GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions | undefined; + setVersions(value?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions): void; hasProof(): boolean; clearProof(): void; @@ -3405,51 +3239,73 @@ export namespace GetContestedResourcesResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetContestedResourcesResponseV0.ResultCase; + getResultCase(): GetProtocolVersionUpgradeStateResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourcesResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourcesResponseV0): GetContestedResourcesResponseV0.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeStateResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeStateResponseV0): GetProtocolVersionUpgradeStateResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourcesResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourcesResponseV0; - static deserializeBinaryFromReader(message: GetContestedResourcesResponseV0, reader: jspb.BinaryReader): GetContestedResourcesResponseV0; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeStateResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeStateResponseV0; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeStateResponseV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeStateResponseV0; } - export namespace GetContestedResourcesResponseV0 { + export namespace GetProtocolVersionUpgradeStateResponseV0 { export type AsObject = { - contestedResourceValues?: GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.AsObject, + versions?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } - export class ContestedResourceValues extends jspb.Message { - clearContestedResourceValuesList(): void; - getContestedResourceValuesList(): Array; - getContestedResourceValuesList_asU8(): Array; - getContestedResourceValuesList_asB64(): Array; - setContestedResourceValuesList(value: Array): void; - addContestedResourceValues(value: Uint8Array | string, index?: number): Uint8Array | string; + export class Versions extends jspb.Message { + clearVersionsList(): void; + getVersionsList(): Array; + setVersionsList(value: Array): void; + addVersions(value?: GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, index?: number): GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContestedResourceValues.AsObject; - static toObject(includeInstance: boolean, msg: ContestedResourceValues): ContestedResourceValues.AsObject; + toObject(includeInstance?: boolean): Versions.AsObject; + static toObject(includeInstance: boolean, msg: Versions): Versions.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContestedResourceValues, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContestedResourceValues; - static deserializeBinaryFromReader(message: ContestedResourceValues, reader: jspb.BinaryReader): ContestedResourceValues; + static serializeBinaryToWriter(message: Versions, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Versions; + static deserializeBinaryFromReader(message: Versions, reader: jspb.BinaryReader): Versions; } - export namespace ContestedResourceValues { + export namespace Versions { export type AsObject = { - contestedResourceValuesList: Array, + versionsList: Array, + } + } + + export class VersionEntry extends jspb.Message { + getVersionNumber(): number; + setVersionNumber(value: number): void; + + getVoteCount(): number; + setVoteCount(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): VersionEntry.AsObject; + static toObject(includeInstance: boolean, msg: VersionEntry): VersionEntry.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: VersionEntry, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VersionEntry; + static deserializeBinaryFromReader(message: VersionEntry, reader: jspb.BinaryReader): VersionEntry; + } + + export namespace VersionEntry { + export type AsObject = { + versionNumber: number, + voteCount: number, } } export enum ResultCase { RESULT_NOT_SET = 0, - CONTESTED_RESOURCE_VALUES = 1, + VERSIONS = 1, PROOF = 2, } } @@ -3460,122 +3316,56 @@ export namespace GetContestedResourcesResponse { } } -export class GetVotePollsByEndDateRequest extends jspb.Message { +export class GetProtocolVersionUpgradeVoteStatusRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 | undefined; - setV0(value?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0): void; + getV0(): GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 | undefined; + setV0(value?: GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0): void; - getVersionCase(): GetVotePollsByEndDateRequest.VersionCase; + getVersionCase(): GetProtocolVersionUpgradeVoteStatusRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetVotePollsByEndDateRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateRequest): GetVotePollsByEndDateRequest.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusRequest): GetProtocolVersionUpgradeVoteStatusRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetVotePollsByEndDateRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateRequest; - static deserializeBinaryFromReader(message: GetVotePollsByEndDateRequest, reader: jspb.BinaryReader): GetVotePollsByEndDateRequest; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusRequest; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusRequest, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusRequest; } -export namespace GetVotePollsByEndDateRequest { +export namespace GetProtocolVersionUpgradeVoteStatusRequest { export type AsObject = { - v0?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.AsObject, + v0?: GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.AsObject, } - export class GetVotePollsByEndDateRequestV0 extends jspb.Message { - hasStartTimeInfo(): boolean; - clearStartTimeInfo(): void; - getStartTimeInfo(): GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo | undefined; - setStartTimeInfo(value?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo): void; - - hasEndTimeInfo(): boolean; - clearEndTimeInfo(): void; - getEndTimeInfo(): GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo | undefined; - setEndTimeInfo(value?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo): void; - - hasLimit(): boolean; - clearLimit(): void; - getLimit(): number; - setLimit(value: number): void; - - hasOffset(): boolean; - clearOffset(): void; - getOffset(): number; - setOffset(value: number): void; + export class GetProtocolVersionUpgradeVoteStatusRequestV0 extends jspb.Message { + getStartProTxHash(): Uint8Array | string; + getStartProTxHash_asU8(): Uint8Array; + getStartProTxHash_asB64(): string; + setStartProTxHash(value: Uint8Array | string): void; - getAscending(): boolean; - setAscending(value: boolean): void; + getCount(): number; + setCount(value: number): void; getProve(): boolean; setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetVotePollsByEndDateRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateRequestV0): GetVotePollsByEndDateRequestV0.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusRequestV0): GetProtocolVersionUpgradeVoteStatusRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetVotePollsByEndDateRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateRequestV0; - static deserializeBinaryFromReader(message: GetVotePollsByEndDateRequestV0, reader: jspb.BinaryReader): GetVotePollsByEndDateRequestV0; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusRequestV0; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusRequestV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusRequestV0; } - export namespace GetVotePollsByEndDateRequestV0 { + export namespace GetProtocolVersionUpgradeVoteStatusRequestV0 { export type AsObject = { - startTimeInfo?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.AsObject, - endTimeInfo?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.AsObject, - limit: number, - offset: number, - ascending: boolean, + startProTxHash: Uint8Array | string, + count: number, prove: boolean, } - - export class StartAtTimeInfo extends jspb.Message { - getStartTimeMs(): number; - setStartTimeMs(value: number): void; - - getStartTimeIncluded(): boolean; - setStartTimeIncluded(value: boolean): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): StartAtTimeInfo.AsObject; - static toObject(includeInstance: boolean, msg: StartAtTimeInfo): StartAtTimeInfo.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: StartAtTimeInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): StartAtTimeInfo; - static deserializeBinaryFromReader(message: StartAtTimeInfo, reader: jspb.BinaryReader): StartAtTimeInfo; - } - - export namespace StartAtTimeInfo { - export type AsObject = { - startTimeMs: number, - startTimeIncluded: boolean, - } - } - - export class EndAtTimeInfo extends jspb.Message { - getEndTimeMs(): number; - setEndTimeMs(value: number): void; - - getEndTimeIncluded(): boolean; - setEndTimeIncluded(value: boolean): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): EndAtTimeInfo.AsObject; - static toObject(includeInstance: boolean, msg: EndAtTimeInfo): EndAtTimeInfo.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: EndAtTimeInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): EndAtTimeInfo; - static deserializeBinaryFromReader(message: EndAtTimeInfo, reader: jspb.BinaryReader): EndAtTimeInfo; - } - - export namespace EndAtTimeInfo { - export type AsObject = { - endTimeMs: number, - endTimeIncluded: boolean, - } - } } export enum VersionCase { @@ -3584,33 +3374,33 @@ export namespace GetVotePollsByEndDateRequest { } } -export class GetVotePollsByEndDateResponse extends jspb.Message { +export class GetProtocolVersionUpgradeVoteStatusResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 | undefined; - setV0(value?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0): void; + getV0(): GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 | undefined; + setV0(value?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0): void; - getVersionCase(): GetVotePollsByEndDateResponse.VersionCase; + getVersionCase(): GetProtocolVersionUpgradeVoteStatusResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetVotePollsByEndDateResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateResponse): GetVotePollsByEndDateResponse.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusResponse): GetProtocolVersionUpgradeVoteStatusResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetVotePollsByEndDateResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateResponse; - static deserializeBinaryFromReader(message: GetVotePollsByEndDateResponse, reader: jspb.BinaryReader): GetVotePollsByEndDateResponse; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusResponse; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusResponse, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusResponse; } -export namespace GetVotePollsByEndDateResponse { +export namespace GetProtocolVersionUpgradeVoteStatusResponse { export type AsObject = { - v0?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.AsObject, + v0?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.AsObject, } - export class GetVotePollsByEndDateResponseV0 extends jspb.Message { - hasVotePollsByTimestamps(): boolean; - clearVotePollsByTimestamps(): void; - getVotePollsByTimestamps(): GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps | undefined; - setVotePollsByTimestamps(value?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps): void; + export class GetProtocolVersionUpgradeVoteStatusResponseV0 extends jspb.Message { + hasVersions(): boolean; + clearVersions(): void; + getVersions(): GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals | undefined; + setVersions(value?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals): void; hasProof(): boolean; clearProof(): void; @@ -3622,81 +3412,75 @@ export namespace GetVotePollsByEndDateResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetVotePollsByEndDateResponseV0.ResultCase; + getResultCase(): GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetVotePollsByEndDateResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateResponseV0): GetVotePollsByEndDateResponseV0.AsObject; + toObject(includeInstance?: boolean): GetProtocolVersionUpgradeVoteStatusResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProtocolVersionUpgradeVoteStatusResponseV0): GetProtocolVersionUpgradeVoteStatusResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetVotePollsByEndDateResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateResponseV0; - static deserializeBinaryFromReader(message: GetVotePollsByEndDateResponseV0, reader: jspb.BinaryReader): GetVotePollsByEndDateResponseV0; + static serializeBinaryToWriter(message: GetProtocolVersionUpgradeVoteStatusResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProtocolVersionUpgradeVoteStatusResponseV0; + static deserializeBinaryFromReader(message: GetProtocolVersionUpgradeVoteStatusResponseV0, reader: jspb.BinaryReader): GetProtocolVersionUpgradeVoteStatusResponseV0; } - export namespace GetVotePollsByEndDateResponseV0 { + export namespace GetProtocolVersionUpgradeVoteStatusResponseV0 { export type AsObject = { - votePollsByTimestamps?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.AsObject, + versions?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } - export class SerializedVotePollsByTimestamp extends jspb.Message { - getTimestamp(): number; - setTimestamp(value: number): void; - - clearSerializedVotePollsList(): void; - getSerializedVotePollsList(): Array; - getSerializedVotePollsList_asU8(): Array; - getSerializedVotePollsList_asB64(): Array; - setSerializedVotePollsList(value: Array): void; - addSerializedVotePolls(value: Uint8Array | string, index?: number): Uint8Array | string; + export class VersionSignals extends jspb.Message { + clearVersionSignalsList(): void; + getVersionSignalsList(): Array; + setVersionSignalsList(value: Array): void; + addVersionSignals(value?: GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, index?: number): GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SerializedVotePollsByTimestamp.AsObject; - static toObject(includeInstance: boolean, msg: SerializedVotePollsByTimestamp): SerializedVotePollsByTimestamp.AsObject; + toObject(includeInstance?: boolean): VersionSignals.AsObject; + static toObject(includeInstance: boolean, msg: VersionSignals): VersionSignals.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SerializedVotePollsByTimestamp, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SerializedVotePollsByTimestamp; - static deserializeBinaryFromReader(message: SerializedVotePollsByTimestamp, reader: jspb.BinaryReader): SerializedVotePollsByTimestamp; + static serializeBinaryToWriter(message: VersionSignals, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VersionSignals; + static deserializeBinaryFromReader(message: VersionSignals, reader: jspb.BinaryReader): VersionSignals; } - export namespace SerializedVotePollsByTimestamp { + export namespace VersionSignals { export type AsObject = { - timestamp: number, - serializedVotePollsList: Array, + versionSignalsList: Array, } } - export class SerializedVotePollsByTimestamps extends jspb.Message { - clearVotePollsByTimestampsList(): void; - getVotePollsByTimestampsList(): Array; - setVotePollsByTimestampsList(value: Array): void; - addVotePollsByTimestamps(value?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, index?: number): GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp; + export class VersionSignal extends jspb.Message { + getProTxHash(): Uint8Array | string; + getProTxHash_asU8(): Uint8Array; + getProTxHash_asB64(): string; + setProTxHash(value: Uint8Array | string): void; - getFinishedResults(): boolean; - setFinishedResults(value: boolean): void; + getVersion(): number; + setVersion(value: number): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SerializedVotePollsByTimestamps.AsObject; - static toObject(includeInstance: boolean, msg: SerializedVotePollsByTimestamps): SerializedVotePollsByTimestamps.AsObject; + toObject(includeInstance?: boolean): VersionSignal.AsObject; + static toObject(includeInstance: boolean, msg: VersionSignal): VersionSignal.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SerializedVotePollsByTimestamps, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SerializedVotePollsByTimestamps; - static deserializeBinaryFromReader(message: SerializedVotePollsByTimestamps, reader: jspb.BinaryReader): SerializedVotePollsByTimestamps; + static serializeBinaryToWriter(message: VersionSignal, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VersionSignal; + static deserializeBinaryFromReader(message: VersionSignal, reader: jspb.BinaryReader): VersionSignal; } - export namespace SerializedVotePollsByTimestamps { + export namespace VersionSignal { export type AsObject = { - votePollsByTimestampsList: Array, - finishedResults: boolean, + proTxHash: Uint8Array | string, + version: number, } } export enum ResultCase { RESULT_NOT_SET = 0, - VOTE_POLLS_BY_TIMESTAMPS = 1, + VERSIONS = 1, PROOF = 2, } } @@ -3707,122 +3491,60 @@ export namespace GetVotePollsByEndDateResponse { } } -export class GetContestedResourceVoteStateRequest extends jspb.Message { +export class GetEpochsInfoRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 | undefined; - setV0(value?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0): void; + getV0(): GetEpochsInfoRequest.GetEpochsInfoRequestV0 | undefined; + setV0(value?: GetEpochsInfoRequest.GetEpochsInfoRequestV0): void; - getVersionCase(): GetContestedResourceVoteStateRequest.VersionCase; + getVersionCase(): GetEpochsInfoRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVoteStateRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateRequest): GetContestedResourceVoteStateRequest.AsObject; + toObject(includeInstance?: boolean): GetEpochsInfoRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoRequest): GetEpochsInfoRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVoteStateRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateRequest; - static deserializeBinaryFromReader(message: GetContestedResourceVoteStateRequest, reader: jspb.BinaryReader): GetContestedResourceVoteStateRequest; + static serializeBinaryToWriter(message: GetEpochsInfoRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoRequest; + static deserializeBinaryFromReader(message: GetEpochsInfoRequest, reader: jspb.BinaryReader): GetEpochsInfoRequest; } -export namespace GetContestedResourceVoteStateRequest { +export namespace GetEpochsInfoRequest { export type AsObject = { - v0?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.AsObject, + v0?: GetEpochsInfoRequest.GetEpochsInfoRequestV0.AsObject, } - export class GetContestedResourceVoteStateRequestV0 extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; - - getDocumentTypeName(): string; - setDocumentTypeName(value: string): void; + export class GetEpochsInfoRequestV0 extends jspb.Message { + hasStartEpoch(): boolean; + clearStartEpoch(): void; + getStartEpoch(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setStartEpoch(value?: google_protobuf_wrappers_pb.UInt32Value): void; - getIndexName(): string; - setIndexName(value: string): void; + getCount(): number; + setCount(value: number): void; - clearIndexValuesList(): void; - getIndexValuesList(): Array; - getIndexValuesList_asU8(): Array; - getIndexValuesList_asB64(): Array; - setIndexValuesList(value: Array): void; - addIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; + getAscending(): boolean; + setAscending(value: boolean): void; - getResultType(): GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap[keyof GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap]; - setResultType(value: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap[keyof GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap]): void; - - getAllowIncludeLockedAndAbstainingVoteTally(): boolean; - setAllowIncludeLockedAndAbstainingVoteTally(value: boolean): void; - - hasStartAtIdentifierInfo(): boolean; - clearStartAtIdentifierInfo(): void; - getStartAtIdentifierInfo(): GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo | undefined; - setStartAtIdentifierInfo(value?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo): void; - - hasCount(): boolean; - clearCount(): void; - getCount(): number; - setCount(value: number): void; - - getProve(): boolean; - setProve(value: boolean): void; + getProve(): boolean; + setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVoteStateRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateRequestV0): GetContestedResourceVoteStateRequestV0.AsObject; + toObject(includeInstance?: boolean): GetEpochsInfoRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoRequestV0): GetEpochsInfoRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVoteStateRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateRequestV0; - static deserializeBinaryFromReader(message: GetContestedResourceVoteStateRequestV0, reader: jspb.BinaryReader): GetContestedResourceVoteStateRequestV0; + static serializeBinaryToWriter(message: GetEpochsInfoRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoRequestV0; + static deserializeBinaryFromReader(message: GetEpochsInfoRequestV0, reader: jspb.BinaryReader): GetEpochsInfoRequestV0; } - export namespace GetContestedResourceVoteStateRequestV0 { + export namespace GetEpochsInfoRequestV0 { export type AsObject = { - contractId: Uint8Array | string, - documentTypeName: string, - indexName: string, - indexValuesList: Array, - resultType: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap[keyof GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap], - allowIncludeLockedAndAbstainingVoteTally: boolean, - startAtIdentifierInfo?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.AsObject, + startEpoch?: google_protobuf_wrappers_pb.UInt32Value.AsObject, count: number, + ascending: boolean, prove: boolean, } - - export class StartAtIdentifierInfo extends jspb.Message { - getStartIdentifier(): Uint8Array | string; - getStartIdentifier_asU8(): Uint8Array; - getStartIdentifier_asB64(): string; - setStartIdentifier(value: Uint8Array | string): void; - - getStartIdentifierIncluded(): boolean; - setStartIdentifierIncluded(value: boolean): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): StartAtIdentifierInfo.AsObject; - static toObject(includeInstance: boolean, msg: StartAtIdentifierInfo): StartAtIdentifierInfo.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: StartAtIdentifierInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): StartAtIdentifierInfo; - static deserializeBinaryFromReader(message: StartAtIdentifierInfo, reader: jspb.BinaryReader): StartAtIdentifierInfo; - } - - export namespace StartAtIdentifierInfo { - export type AsObject = { - startIdentifier: Uint8Array | string, - startIdentifierIncluded: boolean, - } - } - - export interface ResultTypeMap { - DOCUMENTS: 0; - VOTE_TALLY: 1; - DOCUMENTS_AND_VOTE_TALLY: 2; - } - - export const ResultType: ResultTypeMap; } export enum VersionCase { @@ -3831,33 +3553,33 @@ export namespace GetContestedResourceVoteStateRequest { } } -export class GetContestedResourceVoteStateResponse extends jspb.Message { +export class GetEpochsInfoResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 | undefined; - setV0(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0): void; + getV0(): GetEpochsInfoResponse.GetEpochsInfoResponseV0 | undefined; + setV0(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0): void; - getVersionCase(): GetContestedResourceVoteStateResponse.VersionCase; + getVersionCase(): GetEpochsInfoResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVoteStateResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateResponse): GetContestedResourceVoteStateResponse.AsObject; + toObject(includeInstance?: boolean): GetEpochsInfoResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoResponse): GetEpochsInfoResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVoteStateResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateResponse; - static deserializeBinaryFromReader(message: GetContestedResourceVoteStateResponse, reader: jspb.BinaryReader): GetContestedResourceVoteStateResponse; + static serializeBinaryToWriter(message: GetEpochsInfoResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoResponse; + static deserializeBinaryFromReader(message: GetEpochsInfoResponse, reader: jspb.BinaryReader): GetEpochsInfoResponse; } -export namespace GetContestedResourceVoteStateResponse { +export namespace GetEpochsInfoResponse { export type AsObject = { - v0?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.AsObject, + v0?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.AsObject, } - export class GetContestedResourceVoteStateResponseV0 extends jspb.Message { - hasContestedResourceContenders(): boolean; - clearContestedResourceContenders(): void; - getContestedResourceContenders(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders | undefined; - setContestedResourceContenders(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders): void; + export class GetEpochsInfoResponseV0 extends jspb.Message { + hasEpochs(): boolean; + clearEpochs(): void; + getEpochs(): GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos | undefined; + setEpochs(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos): void; hasProof(): boolean; clearProof(): void; @@ -3869,155 +3591,1481 @@ export namespace GetContestedResourceVoteStateResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetContestedResourceVoteStateResponseV0.ResultCase; + getResultCase(): GetEpochsInfoResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVoteStateResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateResponseV0): GetContestedResourceVoteStateResponseV0.AsObject; + toObject(includeInstance?: boolean): GetEpochsInfoResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoResponseV0): GetEpochsInfoResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVoteStateResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateResponseV0; - static deserializeBinaryFromReader(message: GetContestedResourceVoteStateResponseV0, reader: jspb.BinaryReader): GetContestedResourceVoteStateResponseV0; + static serializeBinaryToWriter(message: GetEpochsInfoResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoResponseV0; + static deserializeBinaryFromReader(message: GetEpochsInfoResponseV0, reader: jspb.BinaryReader): GetEpochsInfoResponseV0; } - export namespace GetContestedResourceVoteStateResponseV0 { + export namespace GetEpochsInfoResponseV0 { export type AsObject = { - contestedResourceContenders?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.AsObject, + epochs?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } - export class FinishedVoteInfo extends jspb.Message { - getFinishedVoteOutcome(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap[keyof GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap]; - setFinishedVoteOutcome(value: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap[keyof GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap]): void; - - hasWonByIdentityId(): boolean; - clearWonByIdentityId(): void; - getWonByIdentityId(): Uint8Array | string; - getWonByIdentityId_asU8(): Uint8Array; - getWonByIdentityId_asB64(): string; - setWonByIdentityId(value: Uint8Array | string): void; - - getFinishedAtBlockHeight(): number; - setFinishedAtBlockHeight(value: number): void; - - getFinishedAtCoreBlockHeight(): number; - setFinishedAtCoreBlockHeight(value: number): void; - - getFinishedAtBlockTimeMs(): number; - setFinishedAtBlockTimeMs(value: number): void; - - getFinishedAtEpoch(): number; - setFinishedAtEpoch(value: number): void; + export class EpochInfos extends jspb.Message { + clearEpochInfosList(): void; + getEpochInfosList(): Array; + setEpochInfosList(value: Array): void; + addEpochInfos(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, index?: number): GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): FinishedVoteInfo.AsObject; - static toObject(includeInstance: boolean, msg: FinishedVoteInfo): FinishedVoteInfo.AsObject; + toObject(includeInstance?: boolean): EpochInfos.AsObject; + static toObject(includeInstance: boolean, msg: EpochInfos): EpochInfos.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: FinishedVoteInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): FinishedVoteInfo; - static deserializeBinaryFromReader(message: FinishedVoteInfo, reader: jspb.BinaryReader): FinishedVoteInfo; + static serializeBinaryToWriter(message: EpochInfos, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EpochInfos; + static deserializeBinaryFromReader(message: EpochInfos, reader: jspb.BinaryReader): EpochInfos; } - export namespace FinishedVoteInfo { + export namespace EpochInfos { export type AsObject = { - finishedVoteOutcome: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap[keyof GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap], - wonByIdentityId: Uint8Array | string, - finishedAtBlockHeight: number, - finishedAtCoreBlockHeight: number, - finishedAtBlockTimeMs: number, - finishedAtEpoch: number, + epochInfosList: Array, } + } - export interface FinishedVoteOutcomeMap { - TOWARDS_IDENTITY: 0; - LOCKED: 1; - NO_PREVIOUS_WINNER: 2; - } + export class EpochInfo extends jspb.Message { + getNumber(): number; + setNumber(value: number): void; - export const FinishedVoteOutcome: FinishedVoteOutcomeMap; - } + getFirstBlockHeight(): number; + setFirstBlockHeight(value: number): void; - export class ContestedResourceContenders extends jspb.Message { - clearContendersList(): void; - getContendersList(): Array; - setContendersList(value: Array): void; - addContenders(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, index?: number): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender; + getFirstCoreBlockHeight(): number; + setFirstCoreBlockHeight(value: number): void; - hasAbstainVoteTally(): boolean; - clearAbstainVoteTally(): void; - getAbstainVoteTally(): number; - setAbstainVoteTally(value: number): void; + getStartTime(): number; + setStartTime(value: number): void; - hasLockVoteTally(): boolean; - clearLockVoteTally(): void; - getLockVoteTally(): number; - setLockVoteTally(value: number): void; + getFeeMultiplier(): number; + setFeeMultiplier(value: number): void; - hasFinishedVoteInfo(): boolean; - clearFinishedVoteInfo(): void; - getFinishedVoteInfo(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo | undefined; - setFinishedVoteInfo(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo): void; + getProtocolVersion(): number; + setProtocolVersion(value: number): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContestedResourceContenders.AsObject; - static toObject(includeInstance: boolean, msg: ContestedResourceContenders): ContestedResourceContenders.AsObject; + toObject(includeInstance?: boolean): EpochInfo.AsObject; + static toObject(includeInstance: boolean, msg: EpochInfo): EpochInfo.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContestedResourceContenders, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContestedResourceContenders; - static deserializeBinaryFromReader(message: ContestedResourceContenders, reader: jspb.BinaryReader): ContestedResourceContenders; + static serializeBinaryToWriter(message: EpochInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EpochInfo; + static deserializeBinaryFromReader(message: EpochInfo, reader: jspb.BinaryReader): EpochInfo; } - export namespace ContestedResourceContenders { + export namespace EpochInfo { export type AsObject = { - contendersList: Array, - abstainVoteTally: number, - lockVoteTally: number, - finishedVoteInfo?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.AsObject, + number: number, + firstBlockHeight: number, + firstCoreBlockHeight: number, + startTime: number, + feeMultiplier: number, + protocolVersion: number, } } - export class Contender extends jspb.Message { - getIdentifier(): Uint8Array | string; - getIdentifier_asU8(): Uint8Array; - getIdentifier_asB64(): string; - setIdentifier(value: Uint8Array | string): void; + 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; + getV0(): GetContestedResourcesRequest.GetContestedResourcesRequestV0 | undefined; + setV0(value?: GetContestedResourcesRequest.GetContestedResourcesRequestV0): void; + + getVersionCase(): GetContestedResourcesRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourcesRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourcesRequest): GetContestedResourcesRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourcesRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourcesRequest; + static deserializeBinaryFromReader(message: GetContestedResourcesRequest, reader: jspb.BinaryReader): GetContestedResourcesRequest; +} + +export namespace GetContestedResourcesRequest { + export type AsObject = { + v0?: GetContestedResourcesRequest.GetContestedResourcesRequestV0.AsObject, + } + + export class GetContestedResourcesRequestV0 extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + getDocumentTypeName(): string; + setDocumentTypeName(value: string): void; + + getIndexName(): string; + setIndexName(value: string): void; + + clearStartIndexValuesList(): void; + getStartIndexValuesList(): Array; + getStartIndexValuesList_asU8(): Array; + getStartIndexValuesList_asB64(): Array; + setStartIndexValuesList(value: Array): void; + addStartIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; + + clearEndIndexValuesList(): void; + getEndIndexValuesList(): Array; + getEndIndexValuesList_asU8(): Array; + getEndIndexValuesList_asB64(): Array; + setEndIndexValuesList(value: Array): void; + addEndIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; + + hasStartAtValueInfo(): boolean; + clearStartAtValueInfo(): void; + getStartAtValueInfo(): GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo | undefined; + setStartAtValueInfo(value?: GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo): void; + + hasCount(): boolean; + clearCount(): void; + getCount(): number; + setCount(value: number): void; + + getOrderAscending(): boolean; + setOrderAscending(value: boolean): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourcesRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourcesRequestV0): GetContestedResourcesRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourcesRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourcesRequestV0; + static deserializeBinaryFromReader(message: GetContestedResourcesRequestV0, reader: jspb.BinaryReader): GetContestedResourcesRequestV0; + } + + export namespace GetContestedResourcesRequestV0 { + export type AsObject = { + contractId: Uint8Array | string, + documentTypeName: string, + indexName: string, + startIndexValuesList: Array, + endIndexValuesList: Array, + startAtValueInfo?: GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.AsObject, + count: number, + orderAscending: boolean, + prove: boolean, + } + + export class StartAtValueInfo extends jspb.Message { + getStartValue(): Uint8Array | string; + getStartValue_asU8(): Uint8Array; + getStartValue_asB64(): string; + setStartValue(value: Uint8Array | string): void; + + getStartValueIncluded(): boolean; + setStartValueIncluded(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): StartAtValueInfo.AsObject; + static toObject(includeInstance: boolean, msg: StartAtValueInfo): StartAtValueInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: StartAtValueInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): StartAtValueInfo; + static deserializeBinaryFromReader(message: StartAtValueInfo, reader: jspb.BinaryReader): StartAtValueInfo; + } + + export namespace StartAtValueInfo { + export type AsObject = { + startValue: Uint8Array | string, + startValueIncluded: boolean, + } + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContestedResourcesResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContestedResourcesResponse.GetContestedResourcesResponseV0 | undefined; + setV0(value?: GetContestedResourcesResponse.GetContestedResourcesResponseV0): void; + + getVersionCase(): GetContestedResourcesResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourcesResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourcesResponse): GetContestedResourcesResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourcesResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourcesResponse; + static deserializeBinaryFromReader(message: GetContestedResourcesResponse, reader: jspb.BinaryReader): GetContestedResourcesResponse; +} + +export namespace GetContestedResourcesResponse { + export type AsObject = { + v0?: GetContestedResourcesResponse.GetContestedResourcesResponseV0.AsObject, + } + + export class GetContestedResourcesResponseV0 extends jspb.Message { + hasContestedResourceValues(): boolean; + clearContestedResourceValues(): void; + getContestedResourceValues(): GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues | undefined; + setContestedResourceValues(value?: GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetContestedResourcesResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourcesResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourcesResponseV0): GetContestedResourcesResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourcesResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourcesResponseV0; + static deserializeBinaryFromReader(message: GetContestedResourcesResponseV0, reader: jspb.BinaryReader): GetContestedResourcesResponseV0; + } + + export namespace GetContestedResourcesResponseV0 { + export type AsObject = { + contestedResourceValues?: GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class ContestedResourceValues extends jspb.Message { + clearContestedResourceValuesList(): void; + getContestedResourceValuesList(): Array; + getContestedResourceValuesList_asU8(): Array; + getContestedResourceValuesList_asB64(): Array; + setContestedResourceValuesList(value: Array): void; + addContestedResourceValues(value: Uint8Array | string, index?: number): Uint8Array | string; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContestedResourceValues.AsObject; + static toObject(includeInstance: boolean, msg: ContestedResourceValues): ContestedResourceValues.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContestedResourceValues, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContestedResourceValues; + static deserializeBinaryFromReader(message: ContestedResourceValues, reader: jspb.BinaryReader): ContestedResourceValues; + } + + export namespace ContestedResourceValues { + export type AsObject = { + contestedResourceValuesList: Array, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + CONTESTED_RESOURCE_VALUES = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetVotePollsByEndDateRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 | undefined; + setV0(value?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0): void; + + getVersionCase(): GetVotePollsByEndDateRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVotePollsByEndDateRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateRequest): GetVotePollsByEndDateRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVotePollsByEndDateRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateRequest; + static deserializeBinaryFromReader(message: GetVotePollsByEndDateRequest, reader: jspb.BinaryReader): GetVotePollsByEndDateRequest; +} + +export namespace GetVotePollsByEndDateRequest { + export type AsObject = { + v0?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.AsObject, + } + + export class GetVotePollsByEndDateRequestV0 extends jspb.Message { + hasStartTimeInfo(): boolean; + clearStartTimeInfo(): void; + getStartTimeInfo(): GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo | undefined; + setStartTimeInfo(value?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo): void; + + hasEndTimeInfo(): boolean; + clearEndTimeInfo(): void; + getEndTimeInfo(): GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo | undefined; + setEndTimeInfo(value?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo): void; + + hasLimit(): boolean; + clearLimit(): void; + getLimit(): number; + setLimit(value: number): void; + + hasOffset(): boolean; + clearOffset(): void; + getOffset(): number; + setOffset(value: number): void; + + getAscending(): boolean; + setAscending(value: boolean): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVotePollsByEndDateRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateRequestV0): GetVotePollsByEndDateRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVotePollsByEndDateRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateRequestV0; + static deserializeBinaryFromReader(message: GetVotePollsByEndDateRequestV0, reader: jspb.BinaryReader): GetVotePollsByEndDateRequestV0; + } + + export namespace GetVotePollsByEndDateRequestV0 { + export type AsObject = { + startTimeInfo?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.AsObject, + endTimeInfo?: GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.AsObject, + limit: number, + offset: number, + ascending: boolean, + prove: boolean, + } + + export class StartAtTimeInfo extends jspb.Message { + getStartTimeMs(): number; + setStartTimeMs(value: number): void; + + getStartTimeIncluded(): boolean; + setStartTimeIncluded(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): StartAtTimeInfo.AsObject; + static toObject(includeInstance: boolean, msg: StartAtTimeInfo): StartAtTimeInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: StartAtTimeInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): StartAtTimeInfo; + static deserializeBinaryFromReader(message: StartAtTimeInfo, reader: jspb.BinaryReader): StartAtTimeInfo; + } + + export namespace StartAtTimeInfo { + export type AsObject = { + startTimeMs: number, + startTimeIncluded: boolean, + } + } + + export class EndAtTimeInfo extends jspb.Message { + getEndTimeMs(): number; + setEndTimeMs(value: number): void; + + getEndTimeIncluded(): boolean; + setEndTimeIncluded(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): EndAtTimeInfo.AsObject; + static toObject(includeInstance: boolean, msg: EndAtTimeInfo): EndAtTimeInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: EndAtTimeInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EndAtTimeInfo; + static deserializeBinaryFromReader(message: EndAtTimeInfo, reader: jspb.BinaryReader): EndAtTimeInfo; + } + + export namespace EndAtTimeInfo { + export type AsObject = { + endTimeMs: number, + endTimeIncluded: boolean, + } + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetVotePollsByEndDateResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 | undefined; + setV0(value?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0): void; + + getVersionCase(): GetVotePollsByEndDateResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVotePollsByEndDateResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateResponse): GetVotePollsByEndDateResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVotePollsByEndDateResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateResponse; + static deserializeBinaryFromReader(message: GetVotePollsByEndDateResponse, reader: jspb.BinaryReader): GetVotePollsByEndDateResponse; +} + +export namespace GetVotePollsByEndDateResponse { + export type AsObject = { + v0?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.AsObject, + } + + export class GetVotePollsByEndDateResponseV0 extends jspb.Message { + hasVotePollsByTimestamps(): boolean; + clearVotePollsByTimestamps(): void; + getVotePollsByTimestamps(): GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps | undefined; + setVotePollsByTimestamps(value?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetVotePollsByEndDateResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVotePollsByEndDateResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetVotePollsByEndDateResponseV0): GetVotePollsByEndDateResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVotePollsByEndDateResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVotePollsByEndDateResponseV0; + static deserializeBinaryFromReader(message: GetVotePollsByEndDateResponseV0, reader: jspb.BinaryReader): GetVotePollsByEndDateResponseV0; + } + + export namespace GetVotePollsByEndDateResponseV0 { + export type AsObject = { + votePollsByTimestamps?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class SerializedVotePollsByTimestamp extends jspb.Message { + getTimestamp(): number; + setTimestamp(value: number): void; + + clearSerializedVotePollsList(): void; + getSerializedVotePollsList(): Array; + getSerializedVotePollsList_asU8(): Array; + getSerializedVotePollsList_asB64(): Array; + setSerializedVotePollsList(value: Array): void; + addSerializedVotePolls(value: Uint8Array | string, index?: number): Uint8Array | string; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SerializedVotePollsByTimestamp.AsObject; + static toObject(includeInstance: boolean, msg: SerializedVotePollsByTimestamp): SerializedVotePollsByTimestamp.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SerializedVotePollsByTimestamp, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SerializedVotePollsByTimestamp; + static deserializeBinaryFromReader(message: SerializedVotePollsByTimestamp, reader: jspb.BinaryReader): SerializedVotePollsByTimestamp; + } + + export namespace SerializedVotePollsByTimestamp { + export type AsObject = { + timestamp: number, + serializedVotePollsList: Array, + } + } + + export class SerializedVotePollsByTimestamps extends jspb.Message { + clearVotePollsByTimestampsList(): void; + getVotePollsByTimestampsList(): Array; + setVotePollsByTimestampsList(value: Array): void; + addVotePollsByTimestamps(value?: GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, index?: number): GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp; + + getFinishedResults(): boolean; + setFinishedResults(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SerializedVotePollsByTimestamps.AsObject; + static toObject(includeInstance: boolean, msg: SerializedVotePollsByTimestamps): SerializedVotePollsByTimestamps.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SerializedVotePollsByTimestamps, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SerializedVotePollsByTimestamps; + static deserializeBinaryFromReader(message: SerializedVotePollsByTimestamps, reader: jspb.BinaryReader): SerializedVotePollsByTimestamps; + } + + export namespace SerializedVotePollsByTimestamps { + export type AsObject = { + votePollsByTimestampsList: Array, + finishedResults: boolean, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + VOTE_POLLS_BY_TIMESTAMPS = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContestedResourceVoteStateRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 | undefined; + setV0(value?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0): void; + + getVersionCase(): GetContestedResourceVoteStateRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVoteStateRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateRequest): GetContestedResourceVoteStateRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVoteStateRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateRequest; + static deserializeBinaryFromReader(message: GetContestedResourceVoteStateRequest, reader: jspb.BinaryReader): GetContestedResourceVoteStateRequest; +} + +export namespace GetContestedResourceVoteStateRequest { + export type AsObject = { + v0?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.AsObject, + } + + export class GetContestedResourceVoteStateRequestV0 extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + getDocumentTypeName(): string; + setDocumentTypeName(value: string): void; + + getIndexName(): string; + setIndexName(value: string): void; + + clearIndexValuesList(): void; + getIndexValuesList(): Array; + getIndexValuesList_asU8(): Array; + getIndexValuesList_asB64(): Array; + setIndexValuesList(value: Array): void; + addIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; + + getResultType(): GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap[keyof GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap]; + setResultType(value: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap[keyof GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap]): void; + + getAllowIncludeLockedAndAbstainingVoteTally(): boolean; + setAllowIncludeLockedAndAbstainingVoteTally(value: boolean): void; + + hasStartAtIdentifierInfo(): boolean; + clearStartAtIdentifierInfo(): void; + getStartAtIdentifierInfo(): GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo | undefined; + setStartAtIdentifierInfo(value?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo): void; + + hasCount(): boolean; + clearCount(): void; + getCount(): number; + setCount(value: number): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVoteStateRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateRequestV0): GetContestedResourceVoteStateRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVoteStateRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateRequestV0; + static deserializeBinaryFromReader(message: GetContestedResourceVoteStateRequestV0, reader: jspb.BinaryReader): GetContestedResourceVoteStateRequestV0; + } + + export namespace GetContestedResourceVoteStateRequestV0 { + export type AsObject = { + contractId: Uint8Array | string, + documentTypeName: string, + indexName: string, + indexValuesList: Array, + resultType: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap[keyof GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultTypeMap], + allowIncludeLockedAndAbstainingVoteTally: boolean, + startAtIdentifierInfo?: GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.AsObject, + count: number, + prove: boolean, + } + + export class StartAtIdentifierInfo extends jspb.Message { + getStartIdentifier(): Uint8Array | string; + getStartIdentifier_asU8(): Uint8Array; + getStartIdentifier_asB64(): string; + setStartIdentifier(value: Uint8Array | string): void; + + getStartIdentifierIncluded(): boolean; + setStartIdentifierIncluded(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): StartAtIdentifierInfo.AsObject; + static toObject(includeInstance: boolean, msg: StartAtIdentifierInfo): StartAtIdentifierInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: StartAtIdentifierInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): StartAtIdentifierInfo; + static deserializeBinaryFromReader(message: StartAtIdentifierInfo, reader: jspb.BinaryReader): StartAtIdentifierInfo; + } + + export namespace StartAtIdentifierInfo { + export type AsObject = { + startIdentifier: Uint8Array | string, + startIdentifierIncluded: boolean, + } + } + + export interface ResultTypeMap { + DOCUMENTS: 0; + VOTE_TALLY: 1; + DOCUMENTS_AND_VOTE_TALLY: 2; + } + + export const ResultType: ResultTypeMap; + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContestedResourceVoteStateResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 | undefined; + setV0(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0): void; + + getVersionCase(): GetContestedResourceVoteStateResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVoteStateResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateResponse): GetContestedResourceVoteStateResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVoteStateResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateResponse; + static deserializeBinaryFromReader(message: GetContestedResourceVoteStateResponse, reader: jspb.BinaryReader): GetContestedResourceVoteStateResponse; +} + +export namespace GetContestedResourceVoteStateResponse { + export type AsObject = { + v0?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.AsObject, + } + + export class GetContestedResourceVoteStateResponseV0 extends jspb.Message { + hasContestedResourceContenders(): boolean; + clearContestedResourceContenders(): void; + getContestedResourceContenders(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders | undefined; + setContestedResourceContenders(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetContestedResourceVoteStateResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVoteStateResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVoteStateResponseV0): GetContestedResourceVoteStateResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVoteStateResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVoteStateResponseV0; + static deserializeBinaryFromReader(message: GetContestedResourceVoteStateResponseV0, reader: jspb.BinaryReader): GetContestedResourceVoteStateResponseV0; + } + + export namespace GetContestedResourceVoteStateResponseV0 { + export type AsObject = { + contestedResourceContenders?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class FinishedVoteInfo extends jspb.Message { + getFinishedVoteOutcome(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap[keyof GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap]; + setFinishedVoteOutcome(value: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap[keyof GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap]): void; + + hasWonByIdentityId(): boolean; + clearWonByIdentityId(): void; + getWonByIdentityId(): Uint8Array | string; + getWonByIdentityId_asU8(): Uint8Array; + getWonByIdentityId_asB64(): string; + setWonByIdentityId(value: Uint8Array | string): void; + + getFinishedAtBlockHeight(): number; + setFinishedAtBlockHeight(value: number): void; + + getFinishedAtCoreBlockHeight(): number; + setFinishedAtCoreBlockHeight(value: number): void; + + getFinishedAtBlockTimeMs(): number; + setFinishedAtBlockTimeMs(value: number): void; + + getFinishedAtEpoch(): number; + setFinishedAtEpoch(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): FinishedVoteInfo.AsObject; + static toObject(includeInstance: boolean, msg: FinishedVoteInfo): FinishedVoteInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: FinishedVoteInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): FinishedVoteInfo; + static deserializeBinaryFromReader(message: FinishedVoteInfo, reader: jspb.BinaryReader): FinishedVoteInfo; + } + + export namespace FinishedVoteInfo { + export type AsObject = { + finishedVoteOutcome: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap[keyof GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcomeMap], + wonByIdentityId: Uint8Array | string, + finishedAtBlockHeight: number, + finishedAtCoreBlockHeight: number, + finishedAtBlockTimeMs: number, + finishedAtEpoch: number, + } + + export interface FinishedVoteOutcomeMap { + TOWARDS_IDENTITY: 0; + LOCKED: 1; + NO_PREVIOUS_WINNER: 2; + } + + export const FinishedVoteOutcome: FinishedVoteOutcomeMap; + } + + export class ContestedResourceContenders extends jspb.Message { + clearContendersList(): void; + getContendersList(): Array; + setContendersList(value: Array): void; + addContenders(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, index?: number): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender; + + hasAbstainVoteTally(): boolean; + clearAbstainVoteTally(): void; + getAbstainVoteTally(): number; + setAbstainVoteTally(value: number): void; + + hasLockVoteTally(): boolean; + clearLockVoteTally(): void; + getLockVoteTally(): number; + setLockVoteTally(value: number): void; + + hasFinishedVoteInfo(): boolean; + clearFinishedVoteInfo(): void; + getFinishedVoteInfo(): GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo | undefined; + setFinishedVoteInfo(value?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContestedResourceContenders.AsObject; + static toObject(includeInstance: boolean, msg: ContestedResourceContenders): ContestedResourceContenders.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContestedResourceContenders, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContestedResourceContenders; + static deserializeBinaryFromReader(message: ContestedResourceContenders, reader: jspb.BinaryReader): ContestedResourceContenders; + } + + export namespace ContestedResourceContenders { + export type AsObject = { + contendersList: Array, + abstainVoteTally: number, + lockVoteTally: number, + finishedVoteInfo?: GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.AsObject, + } + } + + export class Contender extends jspb.Message { + getIdentifier(): Uint8Array | string; + getIdentifier_asU8(): Uint8Array; + getIdentifier_asB64(): string; + setIdentifier(value: Uint8Array | string): void; + + hasVoteCount(): boolean; + clearVoteCount(): void; + getVoteCount(): number; + setVoteCount(value: number): void; + + hasDocument(): boolean; + clearDocument(): void; + getDocument(): Uint8Array | string; + getDocument_asU8(): Uint8Array; + getDocument_asB64(): string; + setDocument(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Contender.AsObject; + static toObject(includeInstance: boolean, msg: Contender): Contender.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Contender, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Contender; + static deserializeBinaryFromReader(message: Contender, reader: jspb.BinaryReader): Contender; + } + + export namespace Contender { + export type AsObject = { + identifier: Uint8Array | string, + voteCount: number, + document: Uint8Array | string, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + CONTESTED_RESOURCE_CONTENDERS = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContestedResourceVotersForIdentityRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 | undefined; + setV0(value?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0): void; + + getVersionCase(): GetContestedResourceVotersForIdentityRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityRequest): GetContestedResourceVotersForIdentityRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityRequest; + static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityRequest, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityRequest; +} + +export namespace GetContestedResourceVotersForIdentityRequest { + export type AsObject = { + v0?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.AsObject, + } + + export class GetContestedResourceVotersForIdentityRequestV0 extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + getDocumentTypeName(): string; + setDocumentTypeName(value: string): void; + + getIndexName(): string; + setIndexName(value: string): void; + + clearIndexValuesList(): void; + getIndexValuesList(): Array; + getIndexValuesList_asU8(): Array; + getIndexValuesList_asB64(): Array; + setIndexValuesList(value: Array): void; + addIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; + + getContestantId(): Uint8Array | string; + getContestantId_asU8(): Uint8Array; + getContestantId_asB64(): string; + setContestantId(value: Uint8Array | string): void; + + hasStartAtIdentifierInfo(): boolean; + clearStartAtIdentifierInfo(): void; + getStartAtIdentifierInfo(): GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo | undefined; + setStartAtIdentifierInfo(value?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo): void; + + hasCount(): boolean; + clearCount(): void; + getCount(): number; + setCount(value: number): void; + + getOrderAscending(): boolean; + setOrderAscending(value: boolean): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityRequestV0): GetContestedResourceVotersForIdentityRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityRequestV0; + static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityRequestV0, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityRequestV0; + } + + export namespace GetContestedResourceVotersForIdentityRequestV0 { + export type AsObject = { + contractId: Uint8Array | string, + documentTypeName: string, + indexName: string, + indexValuesList: Array, + contestantId: Uint8Array | string, + startAtIdentifierInfo?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.AsObject, + count: number, + orderAscending: boolean, + prove: boolean, + } + + export class StartAtIdentifierInfo extends jspb.Message { + getStartIdentifier(): Uint8Array | string; + getStartIdentifier_asU8(): Uint8Array; + getStartIdentifier_asB64(): string; + setStartIdentifier(value: Uint8Array | string): void; + + getStartIdentifierIncluded(): boolean; + setStartIdentifierIncluded(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): StartAtIdentifierInfo.AsObject; + static toObject(includeInstance: boolean, msg: StartAtIdentifierInfo): StartAtIdentifierInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: StartAtIdentifierInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): StartAtIdentifierInfo; + static deserializeBinaryFromReader(message: StartAtIdentifierInfo, reader: jspb.BinaryReader): StartAtIdentifierInfo; + } + + export namespace StartAtIdentifierInfo { + export type AsObject = { + startIdentifier: Uint8Array | string, + startIdentifierIncluded: boolean, + } + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContestedResourceVotersForIdentityResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 | undefined; + setV0(value?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0): void; + + getVersionCase(): GetContestedResourceVotersForIdentityResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityResponse): GetContestedResourceVotersForIdentityResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityResponse; + static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityResponse, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityResponse; +} + +export namespace GetContestedResourceVotersForIdentityResponse { + export type AsObject = { + v0?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.AsObject, + } + + export class GetContestedResourceVotersForIdentityResponseV0 extends jspb.Message { + hasContestedResourceVoters(): boolean; + clearContestedResourceVoters(): void; + getContestedResourceVoters(): GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters | undefined; + setContestedResourceVoters(value?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetContestedResourceVotersForIdentityResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityResponseV0): GetContestedResourceVotersForIdentityResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityResponseV0; + static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityResponseV0, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityResponseV0; + } + + export namespace GetContestedResourceVotersForIdentityResponseV0 { + export type AsObject = { + contestedResourceVoters?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class ContestedResourceVoters extends jspb.Message { + clearVotersList(): void; + getVotersList(): Array; + getVotersList_asU8(): Array; + getVotersList_asB64(): Array; + setVotersList(value: Array): void; + addVoters(value: Uint8Array | string, index?: number): Uint8Array | string; + + getFinishedResults(): boolean; + setFinishedResults(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContestedResourceVoters.AsObject; + static toObject(includeInstance: boolean, msg: ContestedResourceVoters): ContestedResourceVoters.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContestedResourceVoters, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContestedResourceVoters; + static deserializeBinaryFromReader(message: ContestedResourceVoters, reader: jspb.BinaryReader): ContestedResourceVoters; + } + + export namespace ContestedResourceVoters { + export type AsObject = { + votersList: Array, + finishedResults: boolean, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + CONTESTED_RESOURCE_VOTERS = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContestedResourceIdentityVotesRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 | undefined; + setV0(value?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0): void; + + getVersionCase(): GetContestedResourceIdentityVotesRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesRequest): GetContestedResourceIdentityVotesRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesRequest; + static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesRequest, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesRequest; +} + +export namespace GetContestedResourceIdentityVotesRequest { + export type AsObject = { + v0?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.AsObject, + } + + export class GetContestedResourceIdentityVotesRequestV0 extends jspb.Message { + getIdentityId(): Uint8Array | string; + getIdentityId_asU8(): Uint8Array; + getIdentityId_asB64(): string; + setIdentityId(value: Uint8Array | string): void; + + hasLimit(): boolean; + clearLimit(): void; + getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + hasOffset(): boolean; + clearOffset(): void; + getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + getOrderAscending(): boolean; + setOrderAscending(value: boolean): void; + + hasStartAtVotePollIdInfo(): boolean; + clearStartAtVotePollIdInfo(): void; + getStartAtVotePollIdInfo(): GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo | undefined; + setStartAtVotePollIdInfo(value?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesRequestV0): GetContestedResourceIdentityVotesRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesRequestV0; + static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesRequestV0, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesRequestV0; + } + + export namespace GetContestedResourceIdentityVotesRequestV0 { + export type AsObject = { + identityId: Uint8Array | string, + limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + orderAscending: boolean, + startAtVotePollIdInfo?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.AsObject, + prove: boolean, + } + + export class StartAtVotePollIdInfo extends jspb.Message { + getStartAtPollIdentifier(): Uint8Array | string; + getStartAtPollIdentifier_asU8(): Uint8Array; + getStartAtPollIdentifier_asB64(): string; + setStartAtPollIdentifier(value: Uint8Array | string): void; + + getStartPollIdentifierIncluded(): boolean; + setStartPollIdentifierIncluded(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): StartAtVotePollIdInfo.AsObject; + static toObject(includeInstance: boolean, msg: StartAtVotePollIdInfo): StartAtVotePollIdInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: StartAtVotePollIdInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): StartAtVotePollIdInfo; + static deserializeBinaryFromReader(message: StartAtVotePollIdInfo, reader: jspb.BinaryReader): StartAtVotePollIdInfo; + } + + export namespace StartAtVotePollIdInfo { + export type AsObject = { + startAtPollIdentifier: Uint8Array | string, + startPollIdentifierIncluded: boolean, + } + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContestedResourceIdentityVotesResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 | undefined; + setV0(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0): void; + + getVersionCase(): GetContestedResourceIdentityVotesResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesResponse): GetContestedResourceIdentityVotesResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesResponse; + static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesResponse, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesResponse; +} + +export namespace GetContestedResourceIdentityVotesResponse { + export type AsObject = { + v0?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.AsObject, + } + + export class GetContestedResourceIdentityVotesResponseV0 extends jspb.Message { + hasVotes(): boolean; + clearVotes(): void; + getVotes(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes | undefined; + setVotes(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetContestedResourceIdentityVotesResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesResponseV0): GetContestedResourceIdentityVotesResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesResponseV0; + static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesResponseV0, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesResponseV0; + } + + export namespace GetContestedResourceIdentityVotesResponseV0 { + export type AsObject = { + votes?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class ContestedResourceIdentityVotes extends jspb.Message { + clearContestedResourceIdentityVotesList(): void; + getContestedResourceIdentityVotesList(): Array; + setContestedResourceIdentityVotesList(value: Array): void; + addContestedResourceIdentityVotes(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, index?: number): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote; + + getFinishedResults(): boolean; + setFinishedResults(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContestedResourceIdentityVotes.AsObject; + static toObject(includeInstance: boolean, msg: ContestedResourceIdentityVotes): ContestedResourceIdentityVotes.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContestedResourceIdentityVotes, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContestedResourceIdentityVotes; + static deserializeBinaryFromReader(message: ContestedResourceIdentityVotes, reader: jspb.BinaryReader): ContestedResourceIdentityVotes; + } + + export namespace ContestedResourceIdentityVotes { + export type AsObject = { + contestedResourceIdentityVotesList: Array, + finishedResults: boolean, + } + } + + export class ResourceVoteChoice extends jspb.Message { + getVoteChoiceType(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap[keyof GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap]; + setVoteChoiceType(value: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap[keyof GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap]): void; + + hasIdentityId(): boolean; + clearIdentityId(): void; + getIdentityId(): Uint8Array | string; + getIdentityId_asU8(): Uint8Array; + getIdentityId_asB64(): string; + setIdentityId(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ResourceVoteChoice.AsObject; + static toObject(includeInstance: boolean, msg: ResourceVoteChoice): ResourceVoteChoice.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ResourceVoteChoice, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ResourceVoteChoice; + static deserializeBinaryFromReader(message: ResourceVoteChoice, reader: jspb.BinaryReader): ResourceVoteChoice; + } + + export namespace ResourceVoteChoice { + export type AsObject = { + voteChoiceType: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap[keyof GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap], + identityId: Uint8Array | string, + } + + export interface VoteChoiceTypeMap { + TOWARDS_IDENTITY: 0; + ABSTAIN: 1; + LOCK: 2; + } + + export const VoteChoiceType: VoteChoiceTypeMap; + } + + export class ContestedResourceIdentityVote extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + getDocumentTypeName(): string; + setDocumentTypeName(value: string): void; + + clearSerializedIndexStorageValuesList(): void; + getSerializedIndexStorageValuesList(): Array; + getSerializedIndexStorageValuesList_asU8(): Array; + getSerializedIndexStorageValuesList_asB64(): Array; + setSerializedIndexStorageValuesList(value: Array): void; + addSerializedIndexStorageValues(value: Uint8Array | string, index?: number): Uint8Array | string; + + hasVoteChoice(): boolean; + clearVoteChoice(): void; + getVoteChoice(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice | undefined; + setVoteChoice(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContestedResourceIdentityVote.AsObject; + static toObject(includeInstance: boolean, msg: ContestedResourceIdentityVote): ContestedResourceIdentityVote.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContestedResourceIdentityVote, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContestedResourceIdentityVote; + static deserializeBinaryFromReader(message: ContestedResourceIdentityVote, reader: jspb.BinaryReader): ContestedResourceIdentityVote; + } + + export namespace ContestedResourceIdentityVote { + export type AsObject = { + contractId: Uint8Array | string, + documentTypeName: string, + serializedIndexStorageValuesList: Array, + voteChoice?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.AsObject, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + VOTES = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetPrefundedSpecializedBalanceRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 | undefined; + setV0(value?: GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0): void; + + getVersionCase(): GetPrefundedSpecializedBalanceRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceRequest): GetPrefundedSpecializedBalanceRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceRequest; + static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceRequest, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceRequest; +} + +export namespace GetPrefundedSpecializedBalanceRequest { + export type AsObject = { + v0?: GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.AsObject, + } + + export class GetPrefundedSpecializedBalanceRequestV0 extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceRequestV0): GetPrefundedSpecializedBalanceRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceRequestV0; + static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceRequestV0, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceRequestV0; + } + + export namespace GetPrefundedSpecializedBalanceRequestV0 { + export type AsObject = { + id: Uint8Array | string, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetPrefundedSpecializedBalanceResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 | undefined; + setV0(value?: GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0): void; + + getVersionCase(): GetPrefundedSpecializedBalanceResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceResponse): GetPrefundedSpecializedBalanceResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceResponse; + static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceResponse, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceResponse; +} + +export namespace GetPrefundedSpecializedBalanceResponse { + export type AsObject = { + v0?: GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.AsObject, + } + + export class GetPrefundedSpecializedBalanceResponseV0 extends jspb.Message { + hasBalance(): boolean; + clearBalance(): void; + getBalance(): number; + setBalance(value: number): void; - hasVoteCount(): boolean; - clearVoteCount(): void; - getVoteCount(): number; - setVoteCount(value: number): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; - hasDocument(): boolean; - clearDocument(): void; - getDocument(): Uint8Array | string; - getDocument_asU8(): Uint8Array; - getDocument_asB64(): string; - setDocument(value: Uint8Array | string): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Contender.AsObject; - static toObject(includeInstance: boolean, msg: Contender): Contender.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Contender, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Contender; - static deserializeBinaryFromReader(message: Contender, reader: jspb.BinaryReader): Contender; - } + getResultCase(): GetPrefundedSpecializedBalanceResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceResponseV0): GetPrefundedSpecializedBalanceResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceResponseV0; + static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceResponseV0, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceResponseV0; + } - export namespace Contender { - export type AsObject = { - identifier: Uint8Array | string, - voteCount: number, - document: Uint8Array | string, - } + export namespace GetPrefundedSpecializedBalanceResponseV0 { + export type AsObject = { + balance: number, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } export enum ResultCase { RESULT_NOT_SET = 0, - CONTESTED_RESOURCE_CONTENDERS = 1, + BALANCE = 1, PROOF = 2, } } @@ -4028,115 +5076,178 @@ export namespace GetContestedResourceVoteStateResponse { } } -export class GetContestedResourceVotersForIdentityRequest extends jspb.Message { +export class GetTotalCreditsInPlatformRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 | undefined; - setV0(value?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0): void; + getV0(): GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 | undefined; + setV0(value?: GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0): void; - getVersionCase(): GetContestedResourceVotersForIdentityRequest.VersionCase; + getVersionCase(): GetTotalCreditsInPlatformRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityRequest): GetContestedResourceVotersForIdentityRequest.AsObject; + toObject(includeInstance?: boolean): GetTotalCreditsInPlatformRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetTotalCreditsInPlatformRequest): GetTotalCreditsInPlatformRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityRequest; - static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityRequest, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityRequest; + static serializeBinaryToWriter(message: GetTotalCreditsInPlatformRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetTotalCreditsInPlatformRequest; + static deserializeBinaryFromReader(message: GetTotalCreditsInPlatformRequest, reader: jspb.BinaryReader): GetTotalCreditsInPlatformRequest; } -export namespace GetContestedResourceVotersForIdentityRequest { +export namespace GetTotalCreditsInPlatformRequest { export type AsObject = { - v0?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.AsObject, + v0?: GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.AsObject, } - export class GetContestedResourceVotersForIdentityRequestV0 extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; + export class GetTotalCreditsInPlatformRequestV0 extends jspb.Message { + getProve(): boolean; + setProve(value: boolean): void; - getDocumentTypeName(): string; - setDocumentTypeName(value: string): void; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetTotalCreditsInPlatformRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetTotalCreditsInPlatformRequestV0): GetTotalCreditsInPlatformRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetTotalCreditsInPlatformRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetTotalCreditsInPlatformRequestV0; + static deserializeBinaryFromReader(message: GetTotalCreditsInPlatformRequestV0, reader: jspb.BinaryReader): GetTotalCreditsInPlatformRequestV0; + } - getIndexName(): string; - setIndexName(value: string): void; + export namespace GetTotalCreditsInPlatformRequestV0 { + export type AsObject = { + prove: boolean, + } + } - clearIndexValuesList(): void; - getIndexValuesList(): Array; - getIndexValuesList_asU8(): Array; - getIndexValuesList_asB64(): Array; - setIndexValuesList(value: Array): void; - addIndexValues(value: Uint8Array | string, index?: number): Uint8Array | string; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} - getContestantId(): Uint8Array | string; - getContestantId_asU8(): Uint8Array; - getContestantId_asB64(): string; - setContestantId(value: Uint8Array | string): void; +export class GetTotalCreditsInPlatformResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 | undefined; + setV0(value?: GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0): void; - hasStartAtIdentifierInfo(): boolean; - clearStartAtIdentifierInfo(): void; - getStartAtIdentifierInfo(): GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo | undefined; - setStartAtIdentifierInfo(value?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo): void; + getVersionCase(): GetTotalCreditsInPlatformResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetTotalCreditsInPlatformResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetTotalCreditsInPlatformResponse): GetTotalCreditsInPlatformResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetTotalCreditsInPlatformResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetTotalCreditsInPlatformResponse; + static deserializeBinaryFromReader(message: GetTotalCreditsInPlatformResponse, reader: jspb.BinaryReader): GetTotalCreditsInPlatformResponse; +} - hasCount(): boolean; - clearCount(): void; - getCount(): number; - setCount(value: number): void; +export namespace GetTotalCreditsInPlatformResponse { + export type AsObject = { + v0?: GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.AsObject, + } - getOrderAscending(): boolean; - setOrderAscending(value: boolean): void; + export class GetTotalCreditsInPlatformResponseV0 extends jspb.Message { + hasCredits(): boolean; + clearCredits(): void; + getCredits(): number; + setCredits(value: number): void; - getProve(): boolean; - setProve(value: boolean): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + getResultCase(): GetTotalCreditsInPlatformResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityRequestV0): GetContestedResourceVotersForIdentityRequestV0.AsObject; + toObject(includeInstance?: boolean): GetTotalCreditsInPlatformResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetTotalCreditsInPlatformResponseV0): GetTotalCreditsInPlatformResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityRequestV0; - static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityRequestV0, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityRequestV0; + static serializeBinaryToWriter(message: GetTotalCreditsInPlatformResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetTotalCreditsInPlatformResponseV0; + static deserializeBinaryFromReader(message: GetTotalCreditsInPlatformResponseV0, reader: jspb.BinaryReader): GetTotalCreditsInPlatformResponseV0; } - export namespace GetContestedResourceVotersForIdentityRequestV0 { + export namespace GetTotalCreditsInPlatformResponseV0 { export type AsObject = { - contractId: Uint8Array | string, - documentTypeName: string, - indexName: string, - indexValuesList: Array, - contestantId: Uint8Array | string, - startAtIdentifierInfo?: GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.AsObject, - count: number, - orderAscending: boolean, - prove: boolean, + credits: number, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } - export class StartAtIdentifierInfo extends jspb.Message { - getStartIdentifier(): Uint8Array | string; - getStartIdentifier_asU8(): Uint8Array; - getStartIdentifier_asB64(): string; - setStartIdentifier(value: Uint8Array | string): void; + export enum ResultCase { + RESULT_NOT_SET = 0, + CREDITS = 1, + PROOF = 2, + } + } - getStartIdentifierIncluded(): boolean; - setStartIdentifierIncluded(value: boolean): void; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): StartAtIdentifierInfo.AsObject; - static toObject(includeInstance: boolean, msg: StartAtIdentifierInfo): StartAtIdentifierInfo.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: StartAtIdentifierInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): StartAtIdentifierInfo; - static deserializeBinaryFromReader(message: StartAtIdentifierInfo, reader: jspb.BinaryReader): StartAtIdentifierInfo; - } +export class GetPathElementsRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetPathElementsRequest.GetPathElementsRequestV0 | undefined; + setV0(value?: GetPathElementsRequest.GetPathElementsRequestV0): void; - export namespace StartAtIdentifierInfo { - export type AsObject = { - startIdentifier: Uint8Array | string, - startIdentifierIncluded: boolean, - } + getVersionCase(): GetPathElementsRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPathElementsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetPathElementsRequest): GetPathElementsRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPathElementsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPathElementsRequest; + static deserializeBinaryFromReader(message: GetPathElementsRequest, reader: jspb.BinaryReader): GetPathElementsRequest; +} + +export namespace GetPathElementsRequest { + export type AsObject = { + v0?: GetPathElementsRequest.GetPathElementsRequestV0.AsObject, + } + + export class GetPathElementsRequestV0 extends jspb.Message { + clearPathList(): void; + getPathList(): Array; + getPathList_asU8(): Array; + getPathList_asB64(): Array; + setPathList(value: Array): void; + addPath(value: Uint8Array | string, index?: number): Uint8Array | string; + + clearKeysList(): void; + getKeysList(): Array; + getKeysList_asU8(): Array; + getKeysList_asB64(): Array; + setKeysList(value: Array): void; + addKeys(value: Uint8Array | string, index?: number): Uint8Array | string; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPathElementsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetPathElementsRequestV0): GetPathElementsRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPathElementsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPathElementsRequestV0; + static deserializeBinaryFromReader(message: GetPathElementsRequestV0, reader: jspb.BinaryReader): GetPathElementsRequestV0; + } + + export namespace GetPathElementsRequestV0 { + export type AsObject = { + pathList: Array, + keysList: Array, + prove: boolean, } } @@ -4146,33 +5257,33 @@ export namespace GetContestedResourceVotersForIdentityRequest { } } -export class GetContestedResourceVotersForIdentityResponse extends jspb.Message { +export class GetPathElementsResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 | undefined; - setV0(value?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0): void; + getV0(): GetPathElementsResponse.GetPathElementsResponseV0 | undefined; + setV0(value?: GetPathElementsResponse.GetPathElementsResponseV0): void; - getVersionCase(): GetContestedResourceVotersForIdentityResponse.VersionCase; + getVersionCase(): GetPathElementsResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityResponse): GetContestedResourceVotersForIdentityResponse.AsObject; + toObject(includeInstance?: boolean): GetPathElementsResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetPathElementsResponse): GetPathElementsResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityResponse; - static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityResponse, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityResponse; + static serializeBinaryToWriter(message: GetPathElementsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPathElementsResponse; + static deserializeBinaryFromReader(message: GetPathElementsResponse, reader: jspb.BinaryReader): GetPathElementsResponse; } -export namespace GetContestedResourceVotersForIdentityResponse { +export namespace GetPathElementsResponse { export type AsObject = { - v0?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.AsObject, + v0?: GetPathElementsResponse.GetPathElementsResponseV0.AsObject, } - export class GetContestedResourceVotersForIdentityResponseV0 extends jspb.Message { - hasContestedResourceVoters(): boolean; - clearContestedResourceVoters(): void; - getContestedResourceVoters(): GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters | undefined; - setContestedResourceVoters(value?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters): void; + export class GetPathElementsResponseV0 extends jspb.Message { + hasElements(): boolean; + clearElements(): void; + getElements(): GetPathElementsResponse.GetPathElementsResponseV0.Elements | undefined; + setElements(value?: GetPathElementsResponse.GetPathElementsResponseV0.Elements): void; hasProof(): boolean; clearProof(): void; @@ -4184,55 +5295,51 @@ export namespace GetContestedResourceVotersForIdentityResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetContestedResourceVotersForIdentityResponseV0.ResultCase; + getResultCase(): GetPathElementsResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceVotersForIdentityResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceVotersForIdentityResponseV0): GetContestedResourceVotersForIdentityResponseV0.AsObject; + toObject(includeInstance?: boolean): GetPathElementsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetPathElementsResponseV0): GetPathElementsResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceVotersForIdentityResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceVotersForIdentityResponseV0; - static deserializeBinaryFromReader(message: GetContestedResourceVotersForIdentityResponseV0, reader: jspb.BinaryReader): GetContestedResourceVotersForIdentityResponseV0; + static serializeBinaryToWriter(message: GetPathElementsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPathElementsResponseV0; + static deserializeBinaryFromReader(message: GetPathElementsResponseV0, reader: jspb.BinaryReader): GetPathElementsResponseV0; } - export namespace GetContestedResourceVotersForIdentityResponseV0 { + export namespace GetPathElementsResponseV0 { export type AsObject = { - contestedResourceVoters?: GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.AsObject, + elements?: GetPathElementsResponse.GetPathElementsResponseV0.Elements.AsObject, proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } - export class ContestedResourceVoters extends jspb.Message { - clearVotersList(): void; - getVotersList(): Array; - getVotersList_asU8(): Array; - getVotersList_asB64(): Array; - setVotersList(value: Array): void; - addVoters(value: Uint8Array | string, index?: number): Uint8Array | string; - - getFinishedResults(): boolean; - setFinishedResults(value: boolean): void; + export class Elements extends jspb.Message { + clearElementsList(): void; + getElementsList(): Array; + getElementsList_asU8(): Array; + getElementsList_asB64(): Array; + setElementsList(value: Array): void; + addElements(value: Uint8Array | string, index?: number): Uint8Array | string; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContestedResourceVoters.AsObject; - static toObject(includeInstance: boolean, msg: ContestedResourceVoters): ContestedResourceVoters.AsObject; + toObject(includeInstance?: boolean): Elements.AsObject; + static toObject(includeInstance: boolean, msg: Elements): Elements.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContestedResourceVoters, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContestedResourceVoters; - static deserializeBinaryFromReader(message: ContestedResourceVoters, reader: jspb.BinaryReader): ContestedResourceVoters; + static serializeBinaryToWriter(message: Elements, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Elements; + static deserializeBinaryFromReader(message: Elements, reader: jspb.BinaryReader): Elements; } - export namespace ContestedResourceVoters { + export namespace Elements { export type AsObject = { - votersList: Array, - finishedResults: boolean, + elementsList: Array, } } export enum ResultCase { RESULT_NOT_SET = 0, - CONTESTED_RESOURCE_VOTERS = 1, + ELEMENTS = 1, PROOF = 2, } } @@ -4243,99 +5350,41 @@ export namespace GetContestedResourceVotersForIdentityResponse { } } -export class GetContestedResourceIdentityVotesRequest extends jspb.Message { +export class GetStatusRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 | undefined; - setV0(value?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0): void; + getV0(): GetStatusRequest.GetStatusRequestV0 | undefined; + setV0(value?: GetStatusRequest.GetStatusRequestV0): void; - getVersionCase(): GetContestedResourceIdentityVotesRequest.VersionCase; + getVersionCase(): GetStatusRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesRequest): GetContestedResourceIdentityVotesRequest.AsObject; + toObject(includeInstance?: boolean): GetStatusRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetStatusRequest): GetStatusRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesRequest; - static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesRequest, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesRequest; + static serializeBinaryToWriter(message: GetStatusRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetStatusRequest; + static deserializeBinaryFromReader(message: GetStatusRequest, reader: jspb.BinaryReader): GetStatusRequest; } -export namespace GetContestedResourceIdentityVotesRequest { +export namespace GetStatusRequest { export type AsObject = { - v0?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.AsObject, + v0?: GetStatusRequest.GetStatusRequestV0.AsObject, } - export class GetContestedResourceIdentityVotesRequestV0 extends jspb.Message { - getIdentityId(): Uint8Array | string; - getIdentityId_asU8(): Uint8Array; - getIdentityId_asB64(): string; - setIdentityId(value: Uint8Array | string): void; - - hasLimit(): boolean; - clearLimit(): void; - getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; - - hasOffset(): boolean; - clearOffset(): void; - getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; - - getOrderAscending(): boolean; - setOrderAscending(value: boolean): void; - - hasStartAtVotePollIdInfo(): boolean; - clearStartAtVotePollIdInfo(): void; - getStartAtVotePollIdInfo(): GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo | undefined; - setStartAtVotePollIdInfo(value?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo): void; - - getProve(): boolean; - setProve(value: boolean): void; - + export class GetStatusRequestV0 extends jspb.Message { serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesRequestV0): GetContestedResourceIdentityVotesRequestV0.AsObject; + toObject(includeInstance?: boolean): GetStatusRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetStatusRequestV0): GetStatusRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesRequestV0; - static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesRequestV0, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesRequestV0; + static serializeBinaryToWriter(message: GetStatusRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetStatusRequestV0; + static deserializeBinaryFromReader(message: GetStatusRequestV0, reader: jspb.BinaryReader): GetStatusRequestV0; } - export namespace GetContestedResourceIdentityVotesRequestV0 { + export namespace GetStatusRequestV0 { export type AsObject = { - identityId: Uint8Array | string, - limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - orderAscending: boolean, - startAtVotePollIdInfo?: GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.AsObject, - prove: boolean, - } - - export class StartAtVotePollIdInfo extends jspb.Message { - getStartAtPollIdentifier(): Uint8Array | string; - getStartAtPollIdentifier_asU8(): Uint8Array; - getStartAtPollIdentifier_asB64(): string; - setStartAtPollIdentifier(value: Uint8Array | string): void; - - getStartPollIdentifierIncluded(): boolean; - setStartPollIdentifierIncluded(value: boolean): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): StartAtVotePollIdInfo.AsObject; - static toObject(includeInstance: boolean, msg: StartAtVotePollIdInfo): StartAtVotePollIdInfo.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: StartAtVotePollIdInfo, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): StartAtVotePollIdInfo; - static deserializeBinaryFromReader(message: StartAtVotePollIdInfo, reader: jspb.BinaryReader): StartAtVotePollIdInfo; - } - - export namespace StartAtVotePollIdInfo { - export type AsObject = { - startAtPollIdentifier: Uint8Array | string, - startPollIdentifierIncluded: boolean, - } } } @@ -4345,169 +5394,420 @@ export namespace GetContestedResourceIdentityVotesRequest { } } -export class GetContestedResourceIdentityVotesResponse extends jspb.Message { +export class GetStatusResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 | undefined; - setV0(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0): void; + getV0(): GetStatusResponse.GetStatusResponseV0 | undefined; + setV0(value?: GetStatusResponse.GetStatusResponseV0): void; - getVersionCase(): GetContestedResourceIdentityVotesResponse.VersionCase; + getVersionCase(): GetStatusResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesResponse): GetContestedResourceIdentityVotesResponse.AsObject; + toObject(includeInstance?: boolean): GetStatusResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetStatusResponse): GetStatusResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesResponse; - static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesResponse, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesResponse; + static serializeBinaryToWriter(message: GetStatusResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetStatusResponse; + static deserializeBinaryFromReader(message: GetStatusResponse, reader: jspb.BinaryReader): GetStatusResponse; } -export namespace GetContestedResourceIdentityVotesResponse { +export namespace GetStatusResponse { export type AsObject = { - v0?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.AsObject, + v0?: GetStatusResponse.GetStatusResponseV0.AsObject, } - export class GetContestedResourceIdentityVotesResponseV0 extends jspb.Message { - hasVotes(): boolean; - clearVotes(): void; - getVotes(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes | undefined; - setVotes(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes): void; + export class GetStatusResponseV0 extends jspb.Message { + hasVersion(): boolean; + clearVersion(): void; + getVersion(): GetStatusResponse.GetStatusResponseV0.Version | undefined; + setVersion(value?: GetStatusResponse.GetStatusResponseV0.Version): void; - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + hasNode(): boolean; + clearNode(): void; + getNode(): GetStatusResponse.GetStatusResponseV0.Node | undefined; + setNode(value?: GetStatusResponse.GetStatusResponseV0.Node): void; - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; + hasChain(): boolean; + clearChain(): void; + getChain(): GetStatusResponse.GetStatusResponseV0.Chain | undefined; + setChain(value?: GetStatusResponse.GetStatusResponseV0.Chain): void; + + hasNetwork(): boolean; + clearNetwork(): void; + getNetwork(): GetStatusResponse.GetStatusResponseV0.Network | undefined; + setNetwork(value?: GetStatusResponse.GetStatusResponseV0.Network): void; + + hasStateSync(): boolean; + clearStateSync(): void; + getStateSync(): GetStatusResponse.GetStatusResponseV0.StateSync | undefined; + setStateSync(value?: GetStatusResponse.GetStatusResponseV0.StateSync): void; + + hasTime(): boolean; + clearTime(): void; + getTime(): GetStatusResponse.GetStatusResponseV0.Time | undefined; + setTime(value?: GetStatusResponse.GetStatusResponseV0.Time): void; - getResultCase(): GetContestedResourceIdentityVotesResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetContestedResourceIdentityVotesResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetContestedResourceIdentityVotesResponseV0): GetContestedResourceIdentityVotesResponseV0.AsObject; + toObject(includeInstance?: boolean): GetStatusResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetStatusResponseV0): GetStatusResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetContestedResourceIdentityVotesResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetContestedResourceIdentityVotesResponseV0; - static deserializeBinaryFromReader(message: GetContestedResourceIdentityVotesResponseV0, reader: jspb.BinaryReader): GetContestedResourceIdentityVotesResponseV0; + static serializeBinaryToWriter(message: GetStatusResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetStatusResponseV0; + static deserializeBinaryFromReader(message: GetStatusResponseV0, reader: jspb.BinaryReader): GetStatusResponseV0; } - export namespace GetContestedResourceIdentityVotesResponseV0 { + export namespace GetStatusResponseV0 { export type AsObject = { - votes?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + version?: GetStatusResponse.GetStatusResponseV0.Version.AsObject, + node?: GetStatusResponse.GetStatusResponseV0.Node.AsObject, + chain?: GetStatusResponse.GetStatusResponseV0.Chain.AsObject, + network?: GetStatusResponse.GetStatusResponseV0.Network.AsObject, + stateSync?: GetStatusResponse.GetStatusResponseV0.StateSync.AsObject, + time?: GetStatusResponse.GetStatusResponseV0.Time.AsObject, } - export class ContestedResourceIdentityVotes extends jspb.Message { - clearContestedResourceIdentityVotesList(): void; - getContestedResourceIdentityVotesList(): Array; - setContestedResourceIdentityVotesList(value: Array): void; - addContestedResourceIdentityVotes(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, index?: number): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote; + export class Version extends jspb.Message { + hasSoftware(): boolean; + clearSoftware(): void; + getSoftware(): GetStatusResponse.GetStatusResponseV0.Version.Software | undefined; + setSoftware(value?: GetStatusResponse.GetStatusResponseV0.Version.Software): void; - getFinishedResults(): boolean; - setFinishedResults(value: boolean): void; + hasProtocol(): boolean; + clearProtocol(): void; + getProtocol(): GetStatusResponse.GetStatusResponseV0.Version.Protocol | undefined; + setProtocol(value?: GetStatusResponse.GetStatusResponseV0.Version.Protocol): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContestedResourceIdentityVotes.AsObject; - static toObject(includeInstance: boolean, msg: ContestedResourceIdentityVotes): ContestedResourceIdentityVotes.AsObject; + toObject(includeInstance?: boolean): Version.AsObject; + static toObject(includeInstance: boolean, msg: Version): Version.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContestedResourceIdentityVotes, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContestedResourceIdentityVotes; - static deserializeBinaryFromReader(message: ContestedResourceIdentityVotes, reader: jspb.BinaryReader): ContestedResourceIdentityVotes; + static serializeBinaryToWriter(message: Version, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Version; + static deserializeBinaryFromReader(message: Version, reader: jspb.BinaryReader): Version; } - export namespace ContestedResourceIdentityVotes { + export namespace Version { + export type AsObject = { + software?: GetStatusResponse.GetStatusResponseV0.Version.Software.AsObject, + protocol?: GetStatusResponse.GetStatusResponseV0.Version.Protocol.AsObject, + } + + export class Software extends jspb.Message { + getDapi(): string; + setDapi(value: string): void; + + hasDrive(): boolean; + clearDrive(): void; + getDrive(): string; + setDrive(value: string): void; + + hasTenderdash(): boolean; + clearTenderdash(): void; + getTenderdash(): string; + setTenderdash(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Software.AsObject; + static toObject(includeInstance: boolean, msg: Software): Software.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Software, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Software; + static deserializeBinaryFromReader(message: Software, reader: jspb.BinaryReader): Software; + } + + export namespace Software { + export type AsObject = { + dapi: string, + drive: string, + tenderdash: string, + } + } + + export class Protocol extends jspb.Message { + hasTenderdash(): boolean; + clearTenderdash(): void; + getTenderdash(): GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash | undefined; + setTenderdash(value?: GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash): void; + + hasDrive(): boolean; + clearDrive(): void; + getDrive(): GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive | undefined; + setDrive(value?: GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Protocol.AsObject; + static toObject(includeInstance: boolean, msg: Protocol): Protocol.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Protocol, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Protocol; + static deserializeBinaryFromReader(message: Protocol, reader: jspb.BinaryReader): Protocol; + } + + export namespace Protocol { + export type AsObject = { + tenderdash?: GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.AsObject, + drive?: GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.AsObject, + } + + export class Tenderdash extends jspb.Message { + getP2p(): number; + setP2p(value: number): void; + + getBlock(): number; + setBlock(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Tenderdash.AsObject; + static toObject(includeInstance: boolean, msg: Tenderdash): Tenderdash.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Tenderdash, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Tenderdash; + static deserializeBinaryFromReader(message: Tenderdash, reader: jspb.BinaryReader): Tenderdash; + } + + export namespace Tenderdash { + export type AsObject = { + p2p: number, + block: number, + } + } + + export class Drive extends jspb.Message { + getLatest(): number; + setLatest(value: number): void; + + getCurrent(): number; + setCurrent(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Drive.AsObject; + static toObject(includeInstance: boolean, msg: Drive): Drive.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Drive, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Drive; + static deserializeBinaryFromReader(message: Drive, reader: jspb.BinaryReader): Drive; + } + + export namespace Drive { + export type AsObject = { + latest: number, + current: number, + } + } + } + } + + export class Time extends jspb.Message { + getLocal(): number; + setLocal(value: number): void; + + hasBlock(): boolean; + clearBlock(): void; + getBlock(): number; + setBlock(value: number): void; + + hasGenesis(): boolean; + clearGenesis(): void; + getGenesis(): number; + setGenesis(value: number): void; + + hasEpoch(): boolean; + clearEpoch(): void; + getEpoch(): number; + setEpoch(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Time.AsObject; + static toObject(includeInstance: boolean, msg: Time): Time.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Time, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Time; + static deserializeBinaryFromReader(message: Time, reader: jspb.BinaryReader): Time; + } + + export namespace Time { + export type AsObject = { + local: number, + block: number, + genesis: number, + epoch: number, + } + } + + export class Node extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + hasProTxHash(): boolean; + clearProTxHash(): void; + getProTxHash(): Uint8Array | string; + getProTxHash_asU8(): Uint8Array; + getProTxHash_asB64(): string; + setProTxHash(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Node.AsObject; + static toObject(includeInstance: boolean, msg: Node): Node.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Node, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Node; + static deserializeBinaryFromReader(message: Node, reader: jspb.BinaryReader): Node; + } + + export namespace Node { + export type AsObject = { + id: Uint8Array | string, + proTxHash: Uint8Array | string, + } + } + + export class Chain extends jspb.Message { + getCatchingUp(): boolean; + setCatchingUp(value: boolean): void; + + getLatestBlockHash(): Uint8Array | string; + getLatestBlockHash_asU8(): Uint8Array; + getLatestBlockHash_asB64(): string; + setLatestBlockHash(value: Uint8Array | string): void; + + getLatestAppHash(): Uint8Array | string; + getLatestAppHash_asU8(): Uint8Array; + getLatestAppHash_asB64(): string; + setLatestAppHash(value: Uint8Array | string): void; + + getLatestBlockHeight(): number; + setLatestBlockHeight(value: number): void; + + getEarliestBlockHash(): Uint8Array | string; + getEarliestBlockHash_asU8(): Uint8Array; + getEarliestBlockHash_asB64(): string; + setEarliestBlockHash(value: Uint8Array | string): void; + + getEarliestAppHash(): Uint8Array | string; + getEarliestAppHash_asU8(): Uint8Array; + getEarliestAppHash_asB64(): string; + setEarliestAppHash(value: Uint8Array | string): void; + + getEarliestBlockHeight(): number; + setEarliestBlockHeight(value: number): void; + + getMaxPeerBlockHeight(): number; + setMaxPeerBlockHeight(value: number): void; + + hasCoreChainLockedHeight(): boolean; + clearCoreChainLockedHeight(): void; + getCoreChainLockedHeight(): number; + setCoreChainLockedHeight(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Chain.AsObject; + static toObject(includeInstance: boolean, msg: Chain): Chain.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Chain, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Chain; + static deserializeBinaryFromReader(message: Chain, reader: jspb.BinaryReader): Chain; + } + + export namespace Chain { export type AsObject = { - contestedResourceIdentityVotesList: Array, - finishedResults: boolean, + catchingUp: boolean, + latestBlockHash: Uint8Array | string, + latestAppHash: Uint8Array | string, + latestBlockHeight: number, + earliestBlockHash: Uint8Array | string, + earliestAppHash: Uint8Array | string, + earliestBlockHeight: number, + maxPeerBlockHeight: number, + coreChainLockedHeight: number, } } - export class ResourceVoteChoice extends jspb.Message { - getVoteChoiceType(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap[keyof GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap]; - setVoteChoiceType(value: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap[keyof GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap]): void; + export class Network extends jspb.Message { + getChainId(): string; + setChainId(value: string): void; - hasIdentityId(): boolean; - clearIdentityId(): void; - getIdentityId(): Uint8Array | string; - getIdentityId_asU8(): Uint8Array; - getIdentityId_asB64(): string; - setIdentityId(value: Uint8Array | string): void; + getPeersCount(): number; + setPeersCount(value: number): void; + + getListening(): boolean; + setListening(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ResourceVoteChoice.AsObject; - static toObject(includeInstance: boolean, msg: ResourceVoteChoice): ResourceVoteChoice.AsObject; + toObject(includeInstance?: boolean): Network.AsObject; + static toObject(includeInstance: boolean, msg: Network): Network.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ResourceVoteChoice, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ResourceVoteChoice; - static deserializeBinaryFromReader(message: ResourceVoteChoice, reader: jspb.BinaryReader): ResourceVoteChoice; + static serializeBinaryToWriter(message: Network, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Network; + static deserializeBinaryFromReader(message: Network, reader: jspb.BinaryReader): Network; } - export namespace ResourceVoteChoice { + export namespace Network { export type AsObject = { - voteChoiceType: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap[keyof GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceTypeMap], - identityId: Uint8Array | string, + chainId: string, + peersCount: number, + listening: boolean, } + } - export interface VoteChoiceTypeMap { - TOWARDS_IDENTITY: 0; - ABSTAIN: 1; - LOCK: 2; - } + export class StateSync extends jspb.Message { + getTotalSyncedTime(): number; + setTotalSyncedTime(value: number): void; - export const VoteChoiceType: VoteChoiceTypeMap; - } + getRemainingTime(): number; + setRemainingTime(value: number): void; - export class ContestedResourceIdentityVote extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; + getTotalSnapshots(): number; + setTotalSnapshots(value: number): void; - getDocumentTypeName(): string; - setDocumentTypeName(value: string): void; + getChunkProcessAvgTime(): number; + setChunkProcessAvgTime(value: number): void; - clearSerializedIndexStorageValuesList(): void; - getSerializedIndexStorageValuesList(): Array; - getSerializedIndexStorageValuesList_asU8(): Array; - getSerializedIndexStorageValuesList_asB64(): Array; - setSerializedIndexStorageValuesList(value: Array): void; - addSerializedIndexStorageValues(value: Uint8Array | string, index?: number): Uint8Array | string; + getSnapshotHeight(): number; + setSnapshotHeight(value: number): void; - hasVoteChoice(): boolean; - clearVoteChoice(): void; - getVoteChoice(): GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice | undefined; - setVoteChoice(value?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice): void; + getSnapshotChunksCount(): number; + setSnapshotChunksCount(value: number): void; + + getBackfilledBlocks(): number; + setBackfilledBlocks(value: number): void; + + getBackfillBlocksTotal(): number; + setBackfillBlocksTotal(value: number): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContestedResourceIdentityVote.AsObject; - static toObject(includeInstance: boolean, msg: ContestedResourceIdentityVote): ContestedResourceIdentityVote.AsObject; + toObject(includeInstance?: boolean): StateSync.AsObject; + static toObject(includeInstance: boolean, msg: StateSync): StateSync.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContestedResourceIdentityVote, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContestedResourceIdentityVote; - static deserializeBinaryFromReader(message: ContestedResourceIdentityVote, reader: jspb.BinaryReader): ContestedResourceIdentityVote; + static serializeBinaryToWriter(message: StateSync, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): StateSync; + static deserializeBinaryFromReader(message: StateSync, reader: jspb.BinaryReader): StateSync; } - export namespace ContestedResourceIdentityVote { + export namespace StateSync { export type AsObject = { - contractId: Uint8Array | string, - documentTypeName: string, - serializedIndexStorageValuesList: Array, - voteChoice?: GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.AsObject, + totalSyncedTime: number, + remainingTime: number, + totalSnapshots: number, + chunkProcessAvgTime: number, + snapshotHeight: number, + snapshotChunksCount: number, + backfilledBlocks: number, + backfillBlocksTotal: number, } } - - export enum ResultCase { - RESULT_NOT_SET = 0, - VOTES = 1, - PROOF = 2, - } } export enum VersionCase { @@ -4516,51 +5816,41 @@ export namespace GetContestedResourceIdentityVotesResponse { } } -export class GetPrefundedSpecializedBalanceRequest extends jspb.Message { +export class GetCurrentQuorumsInfoRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 | undefined; - setV0(value?: GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0): void; + getV0(): GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 | undefined; + setV0(value?: GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0): void; - getVersionCase(): GetPrefundedSpecializedBalanceRequest.VersionCase; + getVersionCase(): GetCurrentQuorumsInfoRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceRequest): GetPrefundedSpecializedBalanceRequest.AsObject; + toObject(includeInstance?: boolean): GetCurrentQuorumsInfoRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetCurrentQuorumsInfoRequest): GetCurrentQuorumsInfoRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceRequest; - static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceRequest, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceRequest; + static serializeBinaryToWriter(message: GetCurrentQuorumsInfoRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetCurrentQuorumsInfoRequest; + static deserializeBinaryFromReader(message: GetCurrentQuorumsInfoRequest, reader: jspb.BinaryReader): GetCurrentQuorumsInfoRequest; } -export namespace GetPrefundedSpecializedBalanceRequest { +export namespace GetCurrentQuorumsInfoRequest { export type AsObject = { - v0?: GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.AsObject, + v0?: GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.AsObject, } - export class GetPrefundedSpecializedBalanceRequestV0 extends jspb.Message { - getId(): Uint8Array | string; - getId_asU8(): Uint8Array; - getId_asB64(): string; - setId(value: Uint8Array | string): void; - - getProve(): boolean; - setProve(value: boolean): void; - + export class GetCurrentQuorumsInfoRequestV0 extends jspb.Message { serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceRequestV0): GetPrefundedSpecializedBalanceRequestV0.AsObject; + toObject(includeInstance?: boolean): GetCurrentQuorumsInfoRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetCurrentQuorumsInfoRequestV0): GetCurrentQuorumsInfoRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceRequestV0; - static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceRequestV0, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceRequestV0; + static serializeBinaryToWriter(message: GetCurrentQuorumsInfoRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetCurrentQuorumsInfoRequestV0; + static deserializeBinaryFromReader(message: GetCurrentQuorumsInfoRequestV0, reader: jspb.BinaryReader): GetCurrentQuorumsInfoRequestV0; } - export namespace GetPrefundedSpecializedBalanceRequestV0 { + export namespace GetCurrentQuorumsInfoRequestV0 { export type AsObject = { - id: Uint8Array | string, - prove: boolean, } } @@ -4570,224 +5860,142 @@ export namespace GetPrefundedSpecializedBalanceRequest { } } -export class GetPrefundedSpecializedBalanceResponse extends jspb.Message { +export class GetCurrentQuorumsInfoResponse extends jspb.Message { hasV0(): boolean; clearV0(): void; - getV0(): GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 | undefined; - setV0(value?: GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0): void; + getV0(): GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 | undefined; + setV0(value?: GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0): void; - getVersionCase(): GetPrefundedSpecializedBalanceResponse.VersionCase; + getVersionCase(): GetCurrentQuorumsInfoResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceResponse): GetPrefundedSpecializedBalanceResponse.AsObject; + toObject(includeInstance?: boolean): GetCurrentQuorumsInfoResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetCurrentQuorumsInfoResponse): GetCurrentQuorumsInfoResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceResponse; - static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceResponse, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceResponse; + static serializeBinaryToWriter(message: GetCurrentQuorumsInfoResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetCurrentQuorumsInfoResponse; + static deserializeBinaryFromReader(message: GetCurrentQuorumsInfoResponse, reader: jspb.BinaryReader): GetCurrentQuorumsInfoResponse; } -export namespace GetPrefundedSpecializedBalanceResponse { +export namespace GetCurrentQuorumsInfoResponse { export type AsObject = { - v0?: GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.AsObject, + v0?: GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.AsObject, } - export class GetPrefundedSpecializedBalanceResponseV0 extends jspb.Message { - hasBalance(): boolean; - clearBalance(): void; - getBalance(): number; - setBalance(value: number): void; + export class ValidatorV0 extends jspb.Message { + getProTxHash(): Uint8Array | string; + getProTxHash_asU8(): Uint8Array; + getProTxHash_asB64(): string; + setProTxHash(value: Uint8Array | string): void; - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + getNodeIp(): string; + setNodeIp(value: string): void; - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; + getIsBanned(): boolean; + setIsBanned(value: boolean): void; - getResultCase(): GetPrefundedSpecializedBalanceResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPrefundedSpecializedBalanceResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetPrefundedSpecializedBalanceResponseV0): GetPrefundedSpecializedBalanceResponseV0.AsObject; + toObject(includeInstance?: boolean): ValidatorV0.AsObject; + static toObject(includeInstance: boolean, msg: ValidatorV0): ValidatorV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPrefundedSpecializedBalanceResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPrefundedSpecializedBalanceResponseV0; - static deserializeBinaryFromReader(message: GetPrefundedSpecializedBalanceResponseV0, reader: jspb.BinaryReader): GetPrefundedSpecializedBalanceResponseV0; + static serializeBinaryToWriter(message: ValidatorV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ValidatorV0; + static deserializeBinaryFromReader(message: ValidatorV0, reader: jspb.BinaryReader): ValidatorV0; } - export namespace GetPrefundedSpecializedBalanceResponseV0 { + export namespace ValidatorV0 { export type AsObject = { - balance: number, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, - } - - export enum ResultCase { - RESULT_NOT_SET = 0, - BALANCE = 1, - PROOF = 2, + proTxHash: Uint8Array | string, + nodeIp: string, + isBanned: boolean, } } - export enum VersionCase { - VERSION_NOT_SET = 0, - V0 = 1, - } -} - -export class GetPathElementsRequest extends jspb.Message { - hasV0(): boolean; - clearV0(): void; - getV0(): GetPathElementsRequest.GetPathElementsRequestV0 | undefined; - setV0(value?: GetPathElementsRequest.GetPathElementsRequestV0): void; - - getVersionCase(): GetPathElementsRequest.VersionCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPathElementsRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetPathElementsRequest): GetPathElementsRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPathElementsRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPathElementsRequest; - static deserializeBinaryFromReader(message: GetPathElementsRequest, reader: jspb.BinaryReader): GetPathElementsRequest; -} - -export namespace GetPathElementsRequest { - export type AsObject = { - v0?: GetPathElementsRequest.GetPathElementsRequestV0.AsObject, - } + export class ValidatorSetV0 extends jspb.Message { + getQuorumHash(): Uint8Array | string; + getQuorumHash_asU8(): Uint8Array; + getQuorumHash_asB64(): string; + setQuorumHash(value: Uint8Array | string): void; - export class GetPathElementsRequestV0 extends jspb.Message { - clearPathList(): void; - getPathList(): Array; - getPathList_asU8(): Array; - getPathList_asB64(): Array; - setPathList(value: Array): void; - addPath(value: Uint8Array | string, index?: number): Uint8Array | string; + getCoreHeight(): number; + setCoreHeight(value: number): void; - clearKeysList(): void; - getKeysList(): Array; - getKeysList_asU8(): Array; - getKeysList_asB64(): Array; - setKeysList(value: Array): void; - addKeys(value: Uint8Array | string, index?: number): Uint8Array | string; + clearMembersList(): void; + getMembersList(): Array; + setMembersList(value: Array): void; + addMembers(value?: GetCurrentQuorumsInfoResponse.ValidatorV0, index?: number): GetCurrentQuorumsInfoResponse.ValidatorV0; - getProve(): boolean; - setProve(value: boolean): void; + getThresholdPublicKey(): Uint8Array | string; + getThresholdPublicKey_asU8(): Uint8Array; + getThresholdPublicKey_asB64(): string; + setThresholdPublicKey(value: Uint8Array | string): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPathElementsRequestV0.AsObject; - static toObject(includeInstance: boolean, msg: GetPathElementsRequestV0): GetPathElementsRequestV0.AsObject; + toObject(includeInstance?: boolean): ValidatorSetV0.AsObject; + static toObject(includeInstance: boolean, msg: ValidatorSetV0): ValidatorSetV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPathElementsRequestV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPathElementsRequestV0; - static deserializeBinaryFromReader(message: GetPathElementsRequestV0, reader: jspb.BinaryReader): GetPathElementsRequestV0; + static serializeBinaryToWriter(message: ValidatorSetV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ValidatorSetV0; + static deserializeBinaryFromReader(message: ValidatorSetV0, reader: jspb.BinaryReader): ValidatorSetV0; } - export namespace GetPathElementsRequestV0 { + export namespace ValidatorSetV0 { export type AsObject = { - pathList: Array, - keysList: Array, - prove: boolean, + quorumHash: Uint8Array | string, + coreHeight: number, + membersList: Array, + thresholdPublicKey: Uint8Array | string, } } - export enum VersionCase { - VERSION_NOT_SET = 0, - V0 = 1, - } -} - -export class GetPathElementsResponse extends jspb.Message { - hasV0(): boolean; - clearV0(): void; - getV0(): GetPathElementsResponse.GetPathElementsResponseV0 | undefined; - setV0(value?: GetPathElementsResponse.GetPathElementsResponseV0): void; - - getVersionCase(): GetPathElementsResponse.VersionCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPathElementsResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetPathElementsResponse): GetPathElementsResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPathElementsResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPathElementsResponse; - static deserializeBinaryFromReader(message: GetPathElementsResponse, reader: jspb.BinaryReader): GetPathElementsResponse; -} + export class GetCurrentQuorumsInfoResponseV0 extends jspb.Message { + clearQuorumHashesList(): void; + getQuorumHashesList(): Array; + getQuorumHashesList_asU8(): Array; + getQuorumHashesList_asB64(): Array; + setQuorumHashesList(value: Array): void; + addQuorumHashes(value: Uint8Array | string, index?: number): Uint8Array | string; -export namespace GetPathElementsResponse { - export type AsObject = { - v0?: GetPathElementsResponse.GetPathElementsResponseV0.AsObject, - } + getCurrentQuorumHash(): Uint8Array | string; + getCurrentQuorumHash_asU8(): Uint8Array; + getCurrentQuorumHash_asB64(): string; + setCurrentQuorumHash(value: Uint8Array | string): void; - export class GetPathElementsResponseV0 extends jspb.Message { - hasElements(): boolean; - clearElements(): void; - getElements(): GetPathElementsResponse.GetPathElementsResponseV0.Elements | undefined; - setElements(value?: GetPathElementsResponse.GetPathElementsResponseV0.Elements): void; + clearValidatorSetsList(): void; + getValidatorSetsList(): Array; + setValidatorSetsList(value: Array): void; + addValidatorSets(value?: GetCurrentQuorumsInfoResponse.ValidatorSetV0, index?: number): GetCurrentQuorumsInfoResponse.ValidatorSetV0; - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + getLastBlockProposer(): Uint8Array | string; + getLastBlockProposer_asU8(): Uint8Array; + getLastBlockProposer_asB64(): string; + setLastBlockProposer(value: Uint8Array | string): void; hasMetadata(): boolean; clearMetadata(): void; getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; - getResultCase(): GetPathElementsResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetPathElementsResponseV0.AsObject; - static toObject(includeInstance: boolean, msg: GetPathElementsResponseV0): GetPathElementsResponseV0.AsObject; + toObject(includeInstance?: boolean): GetCurrentQuorumsInfoResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetCurrentQuorumsInfoResponseV0): GetCurrentQuorumsInfoResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetPathElementsResponseV0, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetPathElementsResponseV0; - static deserializeBinaryFromReader(message: GetPathElementsResponseV0, reader: jspb.BinaryReader): GetPathElementsResponseV0; + static serializeBinaryToWriter(message: GetCurrentQuorumsInfoResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetCurrentQuorumsInfoResponseV0; + static deserializeBinaryFromReader(message: GetCurrentQuorumsInfoResponseV0, reader: jspb.BinaryReader): GetCurrentQuorumsInfoResponseV0; } - export namespace GetPathElementsResponseV0 { + export namespace GetCurrentQuorumsInfoResponseV0 { export type AsObject = { - elements?: GetPathElementsResponse.GetPathElementsResponseV0.Elements.AsObject, - proof?: Proof.AsObject, + quorumHashesList: Array, + currentQuorumHash: Uint8Array | string, + validatorSetsList: Array, + lastBlockProposer: Uint8Array | string, metadata?: ResponseMetadata.AsObject, } - - export class Elements extends jspb.Message { - clearElementsList(): void; - getElementsList(): Array; - getElementsList_asU8(): Array; - getElementsList_asB64(): Array; - setElementsList(value: Array): void; - addElements(value: Uint8Array | string, index?: number): Uint8Array | string; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Elements.AsObject; - static toObject(includeInstance: boolean, msg: Elements): Elements.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Elements, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Elements; - static deserializeBinaryFromReader(message: Elements, reader: jspb.BinaryReader): Elements; - } - - export namespace Elements { - export type AsObject = { - elementsList: Array, - } - } - - export enum ResultCase { - RESULT_NOT_SET = 0, - ELEMENTS = 1, - PROOF = 2, - } } export enum VersionCase { diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js index 8d995602b92..ca80ce2ad7f 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js @@ -75,6 +75,14 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase', null, { proto }); @@ -118,6 +126,28 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpoc goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks', null, { proto }); +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.GetIdentitiesBalancesRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.VersionCase', null, { proto }); @@ -227,6 +257,29 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVote goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive', null, { proto }); +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.GetTotalCreditsInPlatformRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo', null, { proto }); @@ -1158,6 +1211,300 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeys.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeys'; } +/** + * 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.GetEvonodesProposedEpochBlocksByIdsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest'; +} +/** + * 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.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks'; +} +/** + * 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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks'; +} +/** + * 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.GetEvonodesProposedEpochBlocksByRangeRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest'; +} +/** + * 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.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0'; +} +/** + * 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.GetIdentitiesBalancesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest'; +} +/** + * 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.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0'; +} +/** + * 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.GetIdentitiesBalancesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse'; +} +/** + * 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0'; +} +/** + * 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance'; +} +/** + * 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -3300,6 +3647,90 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0'; } +/** + * 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.GetTotalCreditsInPlatformRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest'; +} +/** + * 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0'; +} +/** + * 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.GetTotalCreditsInPlatformResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse'; +} +/** + * 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -3405,6 +3836,426 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.displayName = 'proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements'; } +/** + * 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.GetStatusRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusRequest'; +} +/** + * 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.GetStatusRequest.GetStatusRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0'; +} +/** + * 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.GetStatusResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Software = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Time = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Node = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Chain = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.Network = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network'; +} +/** + * 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.GetStatusResponse.GetStatusResponseV0.StateSync = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.displayName = 'proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync'; +} +/** + * 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.GetCurrentQuorumsInfoRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest'; +} +/** + * 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0'; +} +/** + * 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.GetCurrentQuorumsInfoResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse'; +} +/** + * 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.GetCurrentQuorumsInfoResponse.ValidatorV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0'; +} +/** + * 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0'; +} +/** + * 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0'; +} @@ -12379,21 +13230,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.prototype.hasV * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_[0])); }; @@ -12411,8 +13262,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.toObject(opt_includeInstance, this); }; @@ -12421,13 +13272,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12441,23 +13292,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12465,8 +13316,8 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -12482,9 +13333,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12492,18 +13343,18 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.serializeBinaryToWriter ); } }; @@ -12515,7 +13366,7 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = funct * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3,4]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.repeatedFields_ = [2]; @@ -12532,8 +13383,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject(opt_includeInstance, this); }; @@ -12542,20 +13393,15 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), - contractsList: jspb.Message.toObjectList(msg.getContractsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), - documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance), - votesList: jspb.Message.toObjectList(msg.getVotesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject, includeInstance) + epoch: jspb.Message.getFieldWithDefault(msg, 1, 0), + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -12569,23 +13415,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12593,24 +13439,16 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); - msg.addIdentities(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); - msg.addContracts(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); - msg.addDocuments(value); - break; - case 4: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader); - msg.addVotes(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -12625,9 +13463,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12635,354 +13473,213 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint32( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + f ); } - f = message.getContractsList(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeRepeatedBytes( 2, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + f ); } - f = message.getDocumentsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 3, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter - ); - } - f = message.getVotesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 4, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter + 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} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { - var f, obj = { - contractId: msg.getContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - documentId: msg.getDocumentId_asB64(), - documentContestedStatus: jspb.Message.getFieldWithDefault(msg, 5, 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.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * optional uint32 epoch = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.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.setDocumentType(value); - break; - case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setDocumentTypeKeepsHistory(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocumentId(value); - break; - case 5: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (reader.readEnum()); - msg.setDocumentContestedStatus(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.setEpoch = function(value) { + return jspb.Message.setField(this, 1, 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.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.clearEpoch = function() { + return jspb.Message.setField(this, 1, undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getDocumentTypeKeepsHistory(); - if (f) { - writer.writeBool( - 3, - f - ); - } - f = message.getDocumentId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getDocumentContestedStatus(); - if (f !== 0.0) { - writer.writeEnum( - 5, - f - ); - } +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.hasEpoch = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus = { - NOT_CONTESTED: 0, - MAYBE_CONTESTED: 1, - CONTESTED: 2 -}; - -/** - * optional bytes contract_id = 1; - * @return {string} + * repeated bytes ids = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2)); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} + * repeated bytes ids = 2; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * optional bytes contract_id = 1; + * repeated bytes ids = 2; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 2, value || []); }; /** - * optional string document_type = 2; - * @return {string} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 2, value, opt_index); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * optional bool document_type_keeps_history = 3; + * optional bool prove = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.getProve = function() { return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional bytes document_id = 4; - * @return {string} + * optional GetEvonodesProposedEpochBlocksByIdsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0, 1)); }; /** - * optional bytes document_id = 4; - * This is a type-conversion wrapper around `getDocumentId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDocumentId())); + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.oneofGroups_[0], value); }; /** - * optional bytes document_id = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocumentId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional DocumentContestedStatus document_contested_status = 5; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentContestedStatus = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_ = [[1]]; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentContestedStatus = function(value) { - return jspb.Message.setProto3EnumField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_[0])); +}; @@ -12999,8 +13696,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.toObject(opt_includeInstance, this); }; @@ -13009,14 +13706,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13030,23 +13726,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13054,12 +13750,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); - msg.setRequestType(value); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13074,9 +13767,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13084,102 +13777,52 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getRequestType(); - if (f !== 0.0) { - writer.writeEnum( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.serializeBinaryToWriter ); } }; -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { - FULL_IDENTITY: 0, - BALANCE: 1, - KEYS: 2, - REVISION: 3 -}; - -/** - * optional bytes identity_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); -}; - - -/** - * optional bytes identity_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); -}; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_ = [[1,2]]; /** - * optional Type request_type = 2; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + EVONODES_PROPOSED_BLOCK_COUNTS_INFO: 1, + PROOF: 2 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13193,8 +13836,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.toObject(opt_includeInstance, this); }; @@ -13203,13 +13846,15 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64() + evonodesProposedBlockCountsInfo: (f = msg.getEvonodesProposedBlockCountsInfo()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.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) { @@ -13223,23 +13868,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13247,8 +13892,19 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinaryFromReader); + msg.setEvonodesProposedBlockCountsInfo(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(); @@ -13263,9 +13919,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13273,89 +13929,39 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getEvonodesProposedBlockCountsInfo(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; -/** - * optional bytes contract_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); -}; - - -/** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase = { - REQUEST_TYPE_NOT_SET: 0, - CONTESTED_RESOURCE_VOTE_STATUS_REQUEST: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getRequestTypeCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0])); -}; @@ -13372,8 +13978,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.toObject(opt_includeInstance, this); }; @@ -13382,13 +13988,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.toObject = function(includeInstance, msg) { var f, obj = { - contestedResourceVoteStatusRequest: (f = msg.getContestedResourceVoteStatusRequest()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(includeInstance, f) + proTxHash: msg.getProTxHash_asB64(), + count: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -13402,23 +14009,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13426,9 +14033,12 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader); - msg.setContestedResourceVoteStatusRequest(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setProTxHash(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setCount(value); break; default: reader.skipField(); @@ -13443,9 +14053,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13453,20 +14063,86 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceVoteStatusRequest(); - if (f != null) { - writer.writeMessage( + f = message.getProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter + f ); } + f = message.getCount(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } +}; + + +/** + * optional bytes pro_tx_hash = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.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.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.getProTxHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getProTxHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.setProTxHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint64 count = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.prototype.setCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; @@ -13476,7 +14152,7 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.repeatedFields_ = [4]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.repeatedFields_ = [1]; @@ -13493,8 +14169,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.toObject(opt_includeInstance, this); }; @@ -13503,17 +14179,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.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(), - voterIdentifier: msg.getVoterIdentifier_asB64() + evonodesProposedBlockCountsList: jspb.Message.toObjectList(msg.getEvonodesProposedBlockCountsList(), + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.toObject, includeInstance) }; if (includeInstance) { @@ -13527,23 +14200,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13551,24 +14224,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe 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 {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.setVoterIdentifier(value); + var value = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.deserializeBinaryFromReader); + msg.addEvonodesProposedBlockCounts(value); break; default: reader.skipField(); @@ -13583,9 +14241,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13593,256 +14251,197 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getEvonodesProposedBlockCountsList(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedMessage( 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.getVoterIdentifier_asU8(); - if (f.length > 0) { - writer.writeBytes( - 5, - f + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks.serializeBinaryToWriter ); } }; /** - * optional bytes contract_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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} + * repeated EvonodeProposedBlocks evonodes_proposed_block_counts = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.getEvonodesProposedBlockCountsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.setEvonodesProposedBlockCountsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional string document_type_name = 2; - * @return {string} + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getDocumentTypeName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.addEvonodesProposedBlockCounts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocks, opt_index); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setDocumentTypeName = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks.prototype.clearEvonodesProposedBlockCountsList = function() { + return this.setEvonodesProposedBlockCountsList([]); }; /** - * optional string index_name = 3; - * @return {string} + * optional EvonodesProposedBlocks evonodes_proposed_block_counts_info = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.getEvonodesProposedBlockCountsInfo = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks, 1)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexName = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.setEvonodesProposedBlockCountsInfo = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_[0], value); }; /** - * repeated bytes index_values = 4; - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.clearEvonodesProposedBlockCountsInfo = function() { + return this.setEvonodesProposedBlockCountsInfo(undefined); }; /** - * repeated bytes index_values = 4; - * This is a type-conversion wrapper around `getIndexValuesList()` - * @return {!Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIndexValuesList())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.hasEvonodesProposedBlockCountsInfo = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * 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} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIndexValuesList())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.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|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexValuesList = function(value) { - return jspb.Message.setField(this, 4, value || []); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.oneofGroups_[0], value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.addIndexValues = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 4, value, opt_index); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.clearIndexValuesList = function() { - return this.setIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes voter_identifier = 5; - * @return {string} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.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 bytes voter_identifier = 5; - * This is a type-conversion wrapper around `getVoterIdentifier()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getVoterIdentifier())); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * optional bytes voter_identifier = 5; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getVoterIdentifier()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getVoterIdentifier())); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setVoterIdentifier = function(value) { - return jspb.Message.setProto3BytesField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional ContestedResourceVoteStatusRequest contested_resource_vote_status_request = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} + * optional GetEvonodesProposedEpochBlocksResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getContestedResourceVoteStatusRequest = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest, 1)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.setContestedResourceVoteStatusRequest = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.clearContestedResourceVoteStatusRequest = function() { - return this.setContestedResourceVoteStatusRequest(undefined); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -13850,197 +14449,147 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRe * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.hasContestedResourceVoteStatusRequest = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; + /** - * repeated IdentityRequest identities = 1; - * @return {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_ = [[1]]; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} 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.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.toObject(opt_includeInstance, this); }; /** - * repeated ContractRequest contracts = 2; - * @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.GetEvonodesProposedEpochBlocksByRangeRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); -}; - +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject(includeInstance, f) + }; -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 2, value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} 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.GetEvonodesProposedEpochBlocksByRangeRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { - return this.setContractsList([]); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.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.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * repeated DocumentRequest documents = 3; - * @return {!Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); -}; - - -/** - * repeated VoteStatusRequest votes = 4; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getVotesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, 4)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setVotesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 4, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addVotes = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearVotesList = function() { - return this.setVotesList([]); -}; - - -/** - * optional GetProofsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * 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.GetEvonodesProposedEpochBlocksByRangeRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.serializeBinaryToWriter + ); + } }; @@ -14053,21 +14602,22 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_ = [[3,4]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 3, + START_AT: 4 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0])); }; @@ -14085,8 +14635,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject(opt_includeInstance, this); }; @@ -14095,13 +14645,17 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) + epoch: jspb.Message.getFieldWithDefault(msg, 1, 0), + limit: jspb.Message.getFieldWithDefault(msg, 2, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -14115,23 +14669,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0; + return proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14139,9 +14693,24 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -14156,9 +14725,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14166,238 +14735,230 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = /** @type {number} */ (jspb.Message.getField(message, 1)); if (f != null) { - writer.writeMessage( + writer.writeUint32( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint32( + 2, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3)); + if (f != null) { + writer.writeBytes( + 3, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 4)); + if (f != null) { + writer.writeBytes( + 4, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; +/** + * optional uint32 epoch = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setEpoch = function(value) { + return jspb.Message.setField(this, 1, value); +}; + /** - * @enum {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - PROOF: 1 +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearEpoch = function() { + return jspb.Message.setField(this, 1, undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasEpoch = function() { + return jspb.Message.getField(this, 1) != null; }; +/** + * optional uint32 limit = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (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 {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setField(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.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearLimit = function() { + return jspb.Message.setField(this, 2, undefined); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasLimit = 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.GetProofsResponse.GetProofsResponseV0} + * optional bytes start_after = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * optional bytes start_after = 3; + * This is a type-conversion wrapper around `getStartAfter()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; /** - * Serializes the message to binary data (in protobuf wire format). + * optional bytes start_after = 3; + * 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.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], value); }; /** - * optional Proof proof = 1; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0], value); + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * optional bytes start_at = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes start_at = 4; + * This is a type-conversion wrapper around `getStartAt()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAt_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAt())); }; /** - * optional ResponseMetadata metadata = 2; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes start_at = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAt()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getStartAt_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAt())); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 2, value); + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.oneofGroups_[0], undefined); }; @@ -14405,35 +14966,53 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * optional GetProofsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * optional bool prove = 5; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + +/** + * optional GetEvonodesProposedEpochBlocksByRangeRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -14442,7 +15021,7 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -14456,21 +15035,21 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_[0])); }; @@ -14488,8 +15067,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.toObject(opt_includeInstance, this); }; @@ -14498,13 +15077,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -14518,23 +15097,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14542,8 +15121,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -14559,9 +15138,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14569,24 +15148,31 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.serializeBinaryToWriter ); } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -14602,8 +15188,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.toObject(opt_includeInstance, this); }; @@ -14612,13 +15198,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), + idsList: msg.getIdsList_asB64(), prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; @@ -14633,23 +15219,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14658,7 +15244,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + msg.addIds(value); break; case 2: var value = /** @type {boolean} */ (reader.readBool()); @@ -14677,9 +15263,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14687,15 +15273,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); @@ -14711,89 +15297,108 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** - * optional bytes id = 1; - * @return {string} + * repeated bytes ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * optional bytes id = 1; + * repeated bytes ids = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetDataContractRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * optional GetIdentitiesBalancesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -14802,7 +15407,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = funct * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -14816,21 +15421,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = functio * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_[0])); }; @@ -14848,8 +15453,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.toObject(opt_includeInstance, this); }; @@ -14858,13 +15463,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -14878,23 +15483,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14902,8 +15507,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -14919,9 +15524,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14929,18 +15534,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.serializeBinaryToWriter ); } }; @@ -14955,22 +15560,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase = { RESULT_NOT_SET: 0, - DATA_CONTRACT: 1, + IDENTITIES_BALANCES: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_[0])); }; @@ -14988,8 +15593,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.toObject(opt_includeInstance, this); }; @@ -14998,13 +15603,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContract: msg.getDataContract_asB64(), + identitiesBalances: (f = msg.getIdentitiesBalances()) && proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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) }; @@ -15020,23 +15625,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15044,8 +15649,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContract(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.deserializeBinaryFromReader); + msg.setIdentitiesBalances(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -15070,9 +15676,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15080,17 +15686,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getIdentitiesBalances(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.serializeBinaryToWriter ); } f = message.getProof(); @@ -15112,54 +15719,196 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes data_contract = 1; + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.toObject = function(includeInstance, msg) { + var f, obj = { + identityId: msg.getIdentityId_asB64(), + balance: 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint64( + 2, + f + ); + } +}; + + +/** + * optional bytes identity_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getIdentityId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes data_contract = 1; - * This is a type-conversion wrapper around `getDataContract()` + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getIdentityId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContract())); + this.getIdentityId())); }; /** - * optional bytes data_contract = 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 `getDataContract()` + * This is a type-conversion wrapper around `getIdentityId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getIdentityId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContract())); + this.getIdentityId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint64 balance = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.setBalance = function(value) { + return jspb.Message.setField(this, 2, value); }; /** * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.clearBalance = function() { + return jspb.Message.setField(this, 2, undefined); }; @@ -15167,7 +15916,204 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.prototype.hasBalance = 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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.toObject = function(includeInstance, msg) { + var f, obj = { + entriesList: jspb.Message.toObjectList(msg.getEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances; + return proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.deserializeBinaryFromReader); + msg.addEntries(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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.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.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated IdentityBalance entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.getEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.setEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.addEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalance, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances.prototype.clearEntriesList = function() { + return this.setEntriesList([]); +}; + + +/** + * optional IdentitiesBalances identities_balances = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getIdentitiesBalances = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalances|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.setIdentitiesBalances = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.clearIdentitiesBalances = function() { + return this.setIdentitiesBalances(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.hasIdentitiesBalances = function() { return jspb.Message.getField(this, 1) != null; }; @@ -15176,7 +16122,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -15184,18 +16130,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -15204,7 +16150,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -15213,7 +16159,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -15221,18 +16167,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -15241,35 +16187,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetDataContractResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * optional GetIdentitiesBalancesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -15278,7 +16224,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = func * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -15292,21 +16238,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = functi * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); }; @@ -15324,8 +16270,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); }; @@ -15334,13 +16280,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -15354,23 +16300,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15378,8 +16324,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -15395,9 +16341,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15405,18 +16351,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter ); } }; @@ -15428,7 +16374,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3,4]; @@ -15445,8 +16391,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); }; @@ -15455,14 +16401,20 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), + contractsList: jspb.Message.toObjectList(msg.getContractsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), + documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance), + votesList: jspb.Message.toObjectList(msg.getVotesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject, includeInstance) }; if (includeInstance) { @@ -15476,23 +16428,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15500,12 +16452,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); + msg.addIdentities(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); + msg.addContracts(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); + msg.addDocuments(value); + break; + case 4: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader); + msg.addVotes(value); break; default: reader.skipField(); @@ -15520,9 +16484,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15530,23 +16494,201 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getIdentitiesList(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + ); + } + f = message.getContractsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + ); + } + f = message.getDocumentsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter + ); + } + f = message.getVotesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 4, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { + var f, obj = { + contractId: msg.getContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + documentId: msg.getDocumentId_asB64(), + documentContestedStatus: jspb.Message.getFieldWithDefault(msg, 5, 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.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.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.setDocumentType(value); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDocumentTypeKeepsHistory(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocumentId(value); + break; + case 5: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (reader.readEnum()); + msg.setDocumentContestedStatus(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.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); } - f = message.getProve(); + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getDocumentTypeKeepsHistory(); if (f) { writer.writeBool( - 2, + 3, + f + ); + } + f = message.getDocumentId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getDocumentContestedStatus(); + if (f !== 0.0) { + writer.writeEnum( + 5, f ); } @@ -15554,149 +16696,155 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** - * repeated bytes ids = 1; - * @return {!Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus = { + NOT_CONTESTED: 0, + MAYBE_CONTESTED: 1, + CONTESTED: 2 +}; + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * repeated bytes ids = 1; + * optional bytes contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * optional string document_type = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional bool prove = 2; + * optional bool document_type_keeps_history = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional GetDataContractsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * optional bytes document_id = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); + * optional bytes document_id = 4; + * This is a type-conversion wrapper around `getDocumentId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocumentId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * optional bytes document_id = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocumentId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * optional DocumentContestedStatus document_contested_status = 5; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentContestedStatus = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.DocumentContestedStatus} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentContestedStatus = function(value) { + return jspb.Message.setProto3EnumField(this, 5, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -15710,8 +16858,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); }; @@ -15720,13 +16868,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -15740,23 +16889,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15764,9 +16913,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); + msg.setRequestType(value); break; default: reader.skipField(); @@ -15781,9 +16933,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15791,23 +16943,99 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getRequestType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f ); } }; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { + FULL_IDENTITY: 0, + BALANCE: 1, + KEYS: 2, + REVISION: 3 +}; + +/** + * optional bytes identity_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); +}; + + +/** + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional Type request_type = 2; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); +}; + + @@ -15824,8 +17052,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); }; @@ -15834,14 +17062,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - identifier: msg.getIdentifier_asB64(), - dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) + contractId: msg.getContractId_asB64() }; if (includeInstance) { @@ -15855,23 +17082,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15880,12 +17107,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentifier(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.BytesValue; - reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); - msg.setDataContract(value); + msg.setContractId(value); break; default: reader.skipField(); @@ -15900,9 +17122,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15910,116 +17132,89 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentifier_asU8(); + f = message.getContractId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDataContract(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter - ); - } }; /** - * optional bytes identifier = 1; + * optional bytes contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identifier = 1; - * This is a type-conversion wrapper around `getIdentifier()` + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentifier())); + this.getContractId())); }; /** - * optional bytes identifier = 1; + * optional bytes contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentifier()` + * This is a type-conversion wrapper around `getContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentifier())); + this.getContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; -/** - * optional google.protobuf.BytesValue data_contract = 2; - * @return {?proto.google.protobuf.BytesValue} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { - return /** @type{?proto.google.protobuf.BytesValue} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); -}; - - -/** - * @param {?proto.google.protobuf.BytesValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { - return this.setDataContract(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_ = [[1]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase = { + REQUEST_TYPE_NOT_SET: 0, + CONTESTED_RESOURCE_VOTE_STATUS_REQUEST: 1 }; - - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getRequestTypeCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.RequestTypeCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0])); +}; @@ -16036,8 +17231,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject(opt_includeInstance, this); }; @@ -16046,14 +17241,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) + contestedResourceVoteStatusRequest: (f = msg.getContestedResourceVoteStatusRequest()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(includeInstance, f) }; if (includeInstance) { @@ -16067,23 +17261,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16091,9 +17285,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader); + msg.setContestedResourceVoteStatusRequest(value); break; default: reader.skipField(); @@ -16108,9 +17302,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16118,87 +17312,30 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getContestedResourceVoteStatusRequest(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter ); } }; -/** - * repeated DataContractEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); -}; - - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in 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.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACTS: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.repeatedFields_ = [4]; @@ -16215,8 +17352,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject(opt_includeInstance, this); }; @@ -16225,15 +17362,17 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + contractId: msg.getContractId_asB64(), + documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""), + indexName: jspb.Message.getFieldWithDefault(msg, 3, ""), + indexValuesList: msg.getIndexValuesList_asB64(), + voterIdentifier: msg.getVoterIdentifier_asB64() }; if (includeInstance) { @@ -16247,23 +17386,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16271,19 +17410,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); - msg.setDataContracts(value); + 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 {!Uint8Array} */ (reader.readBytes()); + msg.setVoterIdentifier(value); break; default: reader.skipField(); @@ -16298,9 +17442,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16308,666 +17452,444 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContracts(); - if (f != null) { - writer.writeMessage( + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.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(); - if (f != null) { - writer.writeMessage( + f = message.getIndexName(); + if (f.length > 0) { + writer.writeString( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = message.getIndexValuesList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 4, + f + ); + } + f = message.getVoterIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( + 5, + f ); } }; /** - * optional DataContracts data_contracts = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * optional bytes contract_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { - return this.setDataContracts(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional string document_type_name = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getDocumentTypeName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setDocumentTypeName = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * optional string index_name = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexName = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * repeated bytes index_values = 4; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getIndexValuesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * repeated bytes index_values = 4; + * This is a type-conversion wrapper around `getIndexValuesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetDataContractsResponse.GetDataContractsResponseV0} 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.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.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.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setIndexValuesList = function(value) { + return jspb.Message.setField(this, 4, value || []); }; /** - * optional GetDataContractsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.addIndexValues = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 4, value, opt_index); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.clearIndexValuesList = function() { + return this.setIndexValuesList([]); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * optional bytes voter_identifier = 5; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes voter_identifier = 5; + * This is a type-conversion wrapper around `getVoterIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getVoterIdentifier())); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 voter_identifier = 5; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getVoterIdentifier()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.getVoterIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getVoterIdentifier())); +}; + /** - * @enum {number} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest.prototype.setVoterIdentifier = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} + * optional ContestedResourceVoteStatusRequest contested_resource_vote_status_request = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.getContestedResourceVoteStatusRequest = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest, 1)); }; +/** + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.ContestedResourceVoteStatusRequest|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.setContestedResourceVoteStatusRequest = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.oneofGroups_[0], value); +}; + -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.clearContestedResourceVoteStatusRequest = function() { + return this.setContestedResourceVoteStatusRequest(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.GetDataContractHistoryRequest} 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.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter - ); - } -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { - var f, obj = { - id: msg.getId_asB64(), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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 = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartAtMs(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getStartAtMs(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f - ); - } +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest.prototype.hasContestedResourceVoteStatusRequest = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bytes id = 1; - * @return {string} + * repeated IdentityRequest identities = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { + return this.setIdentitiesList([]); }; /** - * optional google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * repeated ContractRequest contracts = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { + return this.setContractsList([]); }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * repeated DocumentRequest documents = 3; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional uint64 start_at_ms = 4; - * @return {number} + * repeated VoteStatusRequest votes = 4; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getVotesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, 4)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setVotesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 4, value); }; /** - * optional bool prove = 5; - * @return {boolean} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addVotes = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.VoteStatusRequest, opt_index); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearVotesList = function() { + return this.setVotesList([]); }; /** - * optional GetDataContractHistoryRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * optional GetProofsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -16976,7 +17898,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -16990,21 +17912,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); }; @@ -17022,8 +17944,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); }; @@ -17032,13 +17954,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17052,23 +17974,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17076,8 +17998,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -17093,9 +18015,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17103,18 +18025,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter ); } }; @@ -17129,22 +18051,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryTo * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase = { RESULT_NOT_SET: 0, - DATA_CONTRACT_HISTORY: 1, - PROOF: 2 + PROOF: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0])); }; @@ -17162,8 +18083,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); }; @@ -17172,13 +18093,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -17194,23 +18114,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17218,16 +18138,11 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); - msg.setDataContractHistory(value); - 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: + case 2: var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); msg.setMetadata(value); @@ -17245,9 +18160,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17255,24 +18170,16 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractHistory(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter - ); - } f = message.getProof(); if (f != null) { writer.writeMessage( - 2, + 1, f, proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); @@ -17280,7 +18187,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi f = message.getMetadata(); if (f != null) { writer.writeMessage( - 3, + 2, f, proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); @@ -17288,197 +18195,142 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi }; - - - -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 Proof proof = 1; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { - var f, obj = { - date: jspb.Message.getFieldWithDefault(msg, 1, 0), - value: msg.getValue_asB64() - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setDate(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 2; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDate(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 2, - f - ); - } + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional uint64 date = 1; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes value = 2; - * @return {string} + * optional GetProofsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); }; /** - * optional bytes value = 2; - * This is a type-conversion wrapper around `getValue()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); + * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); }; /** - * optional bytes value = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +}; @@ -17495,8 +18347,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); }; @@ -17505,14 +18357,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17526,23 +18377,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17550,9 +18401,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -17567,9 +18418,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17577,196 +18428,231 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter ); } }; -/** - * repeated DataContractHistoryEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); }; /** - * optional DataContractHistory data_contract_history = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { - return this.setDataContractHistory(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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; }; /** - * 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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 + ); + } }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.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.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetDataContractHistoryResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * optional GetDataContractRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -17775,7 +18661,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17789,22 +18675,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +}; @@ -17821,8 +18707,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); }; @@ -17831,13 +18717,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17851,23 +18737,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17875,8 +18761,8 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -17892,9 +18778,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17902,18 +18788,18 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter ); } }; @@ -17928,22 +18814,22 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = fu * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { - START_NOT_SET: 0, - START_AFTER: 6, - START_AT: 7 +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACT: 1, + PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); }; @@ -17961,8 +18847,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); }; @@ -17971,20 +18857,15 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractId: msg.getDataContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - where: msg.getWhere_asB64(), - orderBy: msg.getOrderBy_asB64(), - limit: jspb.Message.getFieldWithDefault(msg, 5, 0), - startAfter: msg.getStartAfter_asB64(), - startAt: msg.getStartAt_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) + dataContract: msg.getDataContract_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -17998,23 +18879,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18023,35 +18904,17 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deseri switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContractId(value); + msg.setDataContract(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWhere(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setOrderBy(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); - break; - case 6: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAfter(value); - break; - case 7: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAt(value); - break; - case 8: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -18066,9 +18929,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18076,281 +18939,123 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractId_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getWhere_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getOrderBy_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getLimit(); - if (f !== 0) { - writer.writeUint32( - 5, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + f = message.getProof(); if (f != null) { - writer.writeBytes( - 6, - f + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + f = message.getMetadata(); if (f != null) { - writer.writeBytes( - 7, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 8, - f + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes data_contract_id = 1; + * optional bytes data_contract = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes data_contract_id = 1; - * This is a type-conversion wrapper around `getDataContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContractId())); -}; - - -/** - * optional bytes data_contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContractId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContractId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional string document_type = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bytes where = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * optional bytes where = 3; - * This is a type-conversion wrapper around `getWhere()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getWhere())); -}; - - -/** - * optional bytes where = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getWhere()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getWhere())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); -}; - - -/** - * optional bytes order_by = 4; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); -}; - - -/** - * optional bytes order_by = 4; - * This is a type-conversion wrapper around `getOrderBy()` + * optional bytes data_contract = 1; + * This is a type-conversion wrapper around `getDataContract()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getOrderBy())); + this.getDataContract())); }; /** - * optional bytes order_by = 4; + * optional bytes data_contract = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getOrderBy()` + * This is a type-conversion wrapper around `getDataContract()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getOrderBy())); + this.getDataContract())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); -}; - - -/** - * optional uint32 limit = 5; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); }; /** - * optional bytes start_after = 6; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); }; /** - * optional bytes start_after = 6; - * This is a type-conversion wrapper around `getStartAfter()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bytes start_after = 6; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAfter()` - * @return {!Uint8Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -18358,59 +19063,36 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { - return jspb.Message.getField(this, 6) != null; -}; - - -/** - * optional bytes start_at = 7; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); -}; - - -/** - * optional bytes start_at = 7; - * This is a type-conversion wrapper around `getStartAt()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes start_at = 7; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAt()` - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -18418,53 +19100,35 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { - return jspb.Message.getField(this, 7) != null; -}; - - -/** - * optional bool prove = 8; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetDocumentsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * optional GetDataContractResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -18473,7 +19137,7 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -18487,21 +19151,21 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); }; @@ -18519,8 +19183,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); }; @@ -18529,13 +19193,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -18549,23 +19213,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18573,8 +19237,8 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -18590,9 +19254,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18600,186 +19264,18 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter - ); - } -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DOCUMENTS: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); - msg.setDocuments(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDocuments(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter ); } }; @@ -18791,7 +19287,7 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.seri * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; @@ -18808,8 +19304,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); }; @@ -18818,13 +19314,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - documentsList: msg.getDocumentsList_asB64() + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -18838,23 +19335,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18863,7 +19360,11 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addDocuments(value); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -18878,9 +19379,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18888,60 +19389,67 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocumentsList_asU8(); + f = message.getIdsList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes documents = 1; + * repeated bytes ids = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes documents = 1; - * This is a type-conversion wrapper around `getDocumentsList()` + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getDocumentsList())); + this.getIdsList())); }; /** - * repeated bytes documents = 1; + * repeated bytes ids = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentsList()` + * This is a type-conversion wrapper around `getIdsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getDocumentsList())); + this.getIdsList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -18949,157 +19457,64 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); -}; - - -/** - * optional Documents documents = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { - return this.setDocuments(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = 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.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * Returns whether this field is set. + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetDocumentsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * optional GetDataContractsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -19108,7 +19523,7 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = functio * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -19122,21 +19537,21 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function( * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); }; @@ -19154,8 +19569,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); }; @@ -19164,13 +19579,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toOb * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -19184,23 +19599,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = fun /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19208,8 +19623,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -19225,9 +19640,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19235,18 +19650,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.seri /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter ); } }; @@ -19268,8 +19683,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); }; @@ -19278,14 +19693,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + identifier: msg.getIdentifier_asB64(), + dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -19299,23 +19714,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19324,11 +19739,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); + msg.setIdentifier(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setDataContract(value); break; default: reader.skipField(); @@ -19343,9 +19759,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19353,114 +19769,97 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHash_asU8(); + f = message.getIdentifier_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getDataContract(); + if (f != null) { + writer.writeMessage( 2, - f + f, + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; /** - * optional bytes public_key_hash = 1; + * optional bytes identifier = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); + this.getIdentifier())); }; /** - * optional bytes public_key_hash = 1; + * optional bytes identifier = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` + * This is a type-conversion wrapper around `getIdentifier()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); + this.getIdentifier())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * optional google.protobuf.BytesValue data_contract = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { + return this.setDataContract(undefined); }; @@ -19468,36 +19867,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clea * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = 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.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; @@ -19514,8 +19895,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); }; @@ -19524,13 +19905,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toO * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) }; if (includeInstance) { @@ -19544,23 +19926,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = fu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19568,9 +19950,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -19585,9 +19967,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19595,23 +19977,61 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.ser /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter ); } }; +/** + * repeated DataContractEntry data_contract_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -19621,22 +20041,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBina * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { RESULT_NOT_SET: 0, - IDENTITY: 1, + DATA_CONTRACTS: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); }; @@ -19654,8 +20074,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); }; @@ -19664,13 +20084,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), + dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -19686,23 +20106,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -19710,8 +20130,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); + msg.setDataContracts(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -19736,9 +20157,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -19746,17 +20167,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getDataContracts(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter ); } f = message.getProof(); @@ -19779,53 +20201,30 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** - * optional bytes identity = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); -}; - - -/** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` - * @return {!Uint8Array} + * optional DataContracts data_contracts = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { + return this.setDataContracts(undefined); }; @@ -19833,7 +20232,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { return jspb.Message.getField(this, 1) != null; }; @@ -19842,7 +20241,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -19850,18 +20249,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -19870,7 +20269,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -19879,7 +20278,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -19887,18 +20286,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -19907,35 +20306,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * optional GetDataContractsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -19944,7 +20343,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.cle * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -19958,21 +20357,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.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); }; @@ -19990,8 +20389,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.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); }; @@ -20000,13 +20399,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.GetDataContractHistoryRequest} 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.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -20020,23 +20419,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.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20044,8 +20443,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -20061,9 +20460,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.GetDataContractHistoryRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20071,18 +20470,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.GetDataContractHistoryRequest} 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.GetDataContractHistoryRequest.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter ); } }; @@ -20104,8 +20503,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); }; @@ -20114,14 +20513,17 @@ 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - stateTransitionHash: msg.getStateTransitionHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + id: msg.getId_asB64(), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -20135,23 +20537,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20160,9 +20562,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransitionHash(value); + msg.setId(value); break; case 2: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 3: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartAtMs(value); + break; + case 5: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -20179,9 +20595,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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20189,23 +20605,46 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} 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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransitionHash_asU8(); + f = message.getId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } + f = message.getLimit(); + if (f != null) { + writer.writeMessage( + 2, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getOffset(); + if (f != null) { + writer.writeMessage( + 3, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getStartAtMs(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } f = message.getProve(); if (f) { writer.writeBool( - 2, + 5, f ); } @@ -20213,89 +20652,181 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** - * optional bytes state_transition_hash = 1; + * optional bytes id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = 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 id = 1; + * This is a type-conversion wrapper around `getId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransitionHash())); + this.getId())); }; /** - * optional bytes state_transition_hash = 1; + * optional bytes id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransitionHash()` + * This is a type-conversion wrapper around `getId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransitionHash())); + this.getId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} */ -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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional WaitForStateTransitionResultRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.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.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional uint64 start_at_ms = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bool prove = 5; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + +/** + * optional GetDataContractHistoryRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -20304,7 +20835,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.GetDataContractHistoryRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -20318,21 +20849,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.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); }; @@ -20350,8 +20881,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.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); }; @@ -20360,13 +20891,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.GetDataContractHistoryResponse} 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.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -20380,23 +20911,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.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20404,8 +20935,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -20421,9 +20952,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.GetDataContractHistoryResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20431,18 +20962,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.GetDataContractHistoryResponse} 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.GetDataContractHistoryResponse.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter ); } }; @@ -20457,22 +20988,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { RESULT_NOT_SET: 0, - ERROR: 1, + DATA_CONTRACT_HISTORY: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); }; @@ -20490,8 +21021,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); }; @@ -20500,13 +21031,13 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), + dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -20522,23 +21053,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20546,9 +21077,9 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); + msg.setDataContractHistory(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -20573,9 +21104,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20583,18 +21114,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getError(); + f = message.getDataContractHistory(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter ); } f = message.getProof(); @@ -20616,179 +21147,197 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat }; -/** - * optional StateTransitionBroadcastError error = 1; - * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} - */ -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 {?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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { - return this.setError(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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); }; /** - * 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { + var f, obj = { + date: jspb.Message.getFieldWithDefault(msg, 1, 0), + value: msg.getValue_asB64() + }; -/** - * @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); + 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setDate(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional 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.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {?proto.org.dash.platform.dapi.v0.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); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDate(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * optional uint64 date = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional WaitForStateTransitionResultResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * optional bytes value = 2; + * @return {string} */ -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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @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); + * optional bytes value = 2; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * optional bytes value = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(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.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])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; @@ -20805,8 +21354,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); }; @@ -20815,13 +21364,14 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) }; if (includeInstance) { @@ -20835,23 +21385,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -20859,9 +21409,9 @@ 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); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -20876,9 +21426,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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -20886,207 +21436,196 @@ 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} 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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.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} + * repeated DataContractHistoryEntry data_contract_entries = 1; + * @return {!Array} */ -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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 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.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { - var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) - }; + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); }; /** - * 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 {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * optional DataContractHistory data_contract_history = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readInt32()); - msg.setHeight(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { + return this.setDataContractHistory(undefined); }; /** - * 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 {!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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeInt32( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional int32 height = 1; - * @return {number} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bool prove = 2; + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * optional GetConsensusParamsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.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.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDataContractHistoryResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.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.GetDataContractHistoryResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -21095,7 +21634,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.GetDataContractHistoryResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -21109,21 +21648,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.GetDocumentsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.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.GetDocumentsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); }; @@ -21141,8 +21680,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.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); }; @@ -21151,13 +21690,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.GetDocumentsRequest} 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.GetDocumentsRequest.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.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -21171,23 +21710,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.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -21195,8 +21734,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.GetDocumentsRequest.GetDocumentsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -21212,9 +21751,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.GetDocumentsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -21222,24 +21761,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.GetDocumentsRequest} 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.GetDocumentsRequest.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.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 6, + START_AT: 7 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -21255,8 +21820,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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); }; @@ -21265,15 +21830,20 @@ 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.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.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, "") + dataContractId: msg.getDataContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + where: msg.getWhere_asB64(), + orderBy: msg.getOrderBy_asB64(), + limit: jspb.Message.getFieldWithDefault(msg, 5, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) }; if (includeInstance) { @@ -21287,23 +21857,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.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -21311,16 +21881,36 @@ 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 = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDataContractId(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setMaxGas(value); + msg.setDocumentType(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTimeIotaMs(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setWhere(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setOrderBy(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 6: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 7: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 8: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -21335,9 +21925,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.GetDocumentsRequest.GetDocumentsRequestV0.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.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -21345,433 +21935,341 @@ 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.GetDocumentsRequest.GetDocumentsRequestV0} 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.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxBytes(); + f = message.getDataContractId_asU8(); if (f.length > 0) { - writer.writeString( + writer.writeBytes( 1, f ); } - f = message.getMaxGas(); + f = message.getDocumentType(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getTimeIotaMs(); + f = message.getWhere_asU8(); if (f.length > 0) { - writer.writeString( + writer.writeBytes( 3, f ); } + f = message.getOrderBy_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getLimit(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + if (f != null) { + writer.writeBytes( + 6, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + if (f != null) { + writer.writeBytes( + 7, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 8, + f + ); + } }; /** - * optional string max_bytes = 1; + * optional bytes data_contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * optional bytes data_contract_id = 1; + * This is a type-conversion wrapper around `getDataContractId()` + * @return {string} */ -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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDataContractId())); }; /** - * optional string max_gas = 2; + * optional bytes data_contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDataContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDataContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional string document_type = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string time_iota_ms = 3; + * optional bytes where = 3; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * optional bytes where = 3; + * This is a type-conversion wrapper around `getWhere()` + * @return {string} */ -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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWhere())); }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes where = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getWhere()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.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.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWhere())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * optional bytes order_by = 4; + * @return {string} */ -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.GetConsensusParamsResponse.ConsensusParamsEvidence; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * optional bytes order_by = 4; + * This is a type-conversion wrapper around `getOrderBy()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.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(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getOrderBy())); }; /** - * Serializes the message to binary data (in protobuf wire format). + * optional bytes order_by = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getOrderBy()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getOrderBy())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getMaxAgeNumBlocks(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getMaxAgeDuration(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; /** - * optional string max_age_num_blocks = 1; - * @return {string} + * optional uint32 limit = 5; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; /** - * optional string max_age_duration = 2; + * optional bytes start_after = 6; * @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); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** - * optional string max_bytes = 3; + * optional bytes start_after = 6; + * This is a type-conversion wrapper around `getStartAfter()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * optional bytes start_after = 6; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAfter()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; - - - -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.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), - evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional bytes start_at = 7; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); - msg.setBlock(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); - msg.setEvidence(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional bytes start_at = 7; + * This is a type-conversion wrapper around `getStartAt()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAt())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional bytes start_at = 7; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAt()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBlock(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter - ); - } - f = message.getEvidence(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAt())); }; /** - * optional ConsensusParamsBlock block = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { - return this.setBlock(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; @@ -21779,72 +22277,53 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional ConsensusParamsEvidence evidence = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} - */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.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); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 7) != null; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * optional bool prove = 8; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { - return this.setEvidence(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); }; /** - * optional GetConsensusParamsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional GetDocumentsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -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.GetDocumentsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -21853,7 +22332,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = f * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -21867,21 +22346,21 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = fun * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.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.GetDocumentsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); }; @@ -21899,8 +22378,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.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); }; @@ -21909,13 +22388,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.GetDocumentsResponse} 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.GetDocumentsResponse.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.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -21929,23 +22408,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.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -21953,8 +22432,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.GetDocumentsResponse.GetDocumentsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -21970,9 +22449,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.GetDocumentsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -21980,24 +22459,50 @@ 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.GetDocumentsResponse} 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.GetDocumentsResponse.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.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DOCUMENTS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -22013,8 +22518,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.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); }; @@ -22023,13 +22528,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.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -22043,23 +22550,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.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22067,8 +22574,19 @@ 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 = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); + msg.setDocuments(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -22083,9 +22601,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.GetDocumentsResponse.GetDocumentsResponseV0.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.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22093,102 +22611,46 @@ 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.GetDocumentsResponse.GetDocumentsResponseV0} 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.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getDocuments(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; -/** - * optional bool prove = 1; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); -}; - /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 1, value); -}; - - -/** - * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} - */ -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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @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])); -}; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; @@ -22205,8 +22667,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.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); }; @@ -22215,13 +22677,13 @@ 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.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(includeInstance, f) + documentsList: msg.getDocumentsList_asB64() }; if (includeInstance) { @@ -22235,23 +22697,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.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22259,9 +22721,8 @@ 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 {!Uint8Array} */ (reader.readBytes()); + msg.addDocuments(value); break; default: reader.skipField(); @@ -22276,9 +22737,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.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22286,23 +22747,231 @@ 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.GetDocumentsResponse.GetDocumentsResponseV0.Documents} 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.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDocumentsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter + f ); } }; +/** + * repeated bytes documents = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes documents = 1; + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getDocumentsList())); +}; + + +/** + * repeated bytes documents = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getDocumentsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); +}; + + +/** + * optional Documents documents = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { + return this.setDocuments(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = 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.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDocumentsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -22312,22 +22981,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serialize * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - VERSIONS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */ -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.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); }; @@ -22345,8 +23013,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.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); }; @@ -22355,15 +23023,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} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.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) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -22377,23 +23043,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.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22401,19 +23067,9 @@ 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); - 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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -22428,9 +23084,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.GetIdentityByPublicKeyHashRequest.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.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22438,47 +23094,24 @@ 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.GetIdentityByPublicKeyHashRequest} 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.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersions(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -22494,8 +23127,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); }; @@ -22504,14 +23137,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.Versions} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - versionsList: jspb.Message.toObjectList(msg.getVersionsList(), - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance) + publicKeyHash: msg.getPublicKeyHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -22525,23 +23158,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.Versions} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22549,9 +23182,12 @@ 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.VersionEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader); - msg.addVersions(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -22566,9 +23202,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.Versions.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22576,64 +23212,154 @@ 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.Versions} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersionsList(); + f = message.getPublicKeyHash_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f ); } }; /** - * repeated VersionEntry versions = 1; - * @return {!Array} + * optional bytes public_key_hash = 1; + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @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); + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); }; /** - * @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} + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.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.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() { - return this.setVersionsList([]); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; - - - +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +}; + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -22647,8 +23373,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.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); }; @@ -22657,14 +23383,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.GetIdentityByPublicKeyHashResponse} 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.GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -22678,23 +23403,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.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.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.GetIdentityByPublicKeyHashResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -22702,12 +23427,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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -22722,9 +23444,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.GetIdentityByPublicKeyHashResponse.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.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -22732,90 +23454,237 @@ 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.GetIdentityByPublicKeyHashResponse} 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.GetIdentityByPublicKeyHashResponse.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, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter ); } - f = message.getVoteCount(); - if (f !== 0) { - writer.writeUint32( - 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 + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; } + return obj; }; +} /** - * optional uint32 version_number = 1; - * @return {number} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional uint32 vote_count = 2; - * @return {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Versions versions = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} + * optional bytes identity = 1; + * @return {string} */ -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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @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); + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() { - return this.setVersions(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); }; @@ -22823,7 +23692,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasVersions = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { return jspb.Message.getField(this, 1) != null; }; @@ -22832,7 +23701,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -22840,18 +23709,18 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} 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.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -22860,7 +23729,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -22869,7 +23738,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -22877,18 +23746,18 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -22897,35 +23766,35 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -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.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.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.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -22934,7 +23803,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.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -22948,21 +23817,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.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.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.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])); }; @@ -22980,8 +23849,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.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); }; @@ -22990,13 +23859,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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -23010,23 +23879,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.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} 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.GetProtocolVersionUpgradeVoteStatusRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23034,8 +23903,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -23051,9 +23920,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.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23061,18 +23930,18 @@ 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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter ); } }; @@ -23094,8 +23963,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); }; @@ -23104,15 +23973,14 @@ 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.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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) + stateTransitionHash: msg.getStateTransitionHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -23126,23 +23994,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23151,13 +24019,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartProTxHash(value); + msg.setStateTransitionHash(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCount(value); - break; - case 3: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -23174,9 +24038,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23184,30 +24048,23 @@ 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartProTxHash_asU8(); + f = message.getStateTransitionHash_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getCount(); - if (f !== 0) { - writer.writeUint32( - 2, - f - ); - } f = message.getProve(); if (f) { writer.writeBool( - 3, + 2, f ); } @@ -23215,107 +24072,89 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr /** - * optional bytes start_pro_tx_hash = 1; + * optional bytes state_transition_hash = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes start_pro_tx_hash = 1; - * This is a type-conversion wrapper around `getStartProTxHash()` + * optional bytes state_transition_hash = 1; + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartProTxHash())); + this.getStateTransitionHash())); }; /** - * optional bytes start_pro_tx_hash = 1; + * optional bytes state_transition_hash = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartProTxHash()` + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartProTxHash())); + this.getStateTransitionHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = 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; + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); +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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetProtocolVersionUpgradeVoteStatusRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + * optional WaitForStateTransitionResultRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -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)); +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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} 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.GetProtocolVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -23324,7 +24163,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.proto * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -23338,21 +24177,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.proto * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.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.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])); }; @@ -23370,8 +24209,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.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); }; @@ -23380,13 +24219,13 @@ 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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -23400,23 +24239,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.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse} 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.GetProtocolVersionUpgradeVoteStatusResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23424,8 +24263,8 @@ 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); + 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: @@ -23441,9 +24280,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.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23451,18 +24290,18 @@ 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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter ); } }; @@ -23477,22 +24316,22 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.seri * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { RESULT_NOT_SET: 0, - VERSIONS: 1, + ERROR: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */ -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.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])); }; @@ -23510,8 +24349,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); }; @@ -23520,13 +24359,13 @@ 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.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(includeInstance, f), + 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) }; @@ -23542,23 +24381,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23566,9 +24405,9 @@ 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 = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); + msg.setError(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -23593,9 +24432,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23603,18 +24442,18 @@ 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersions(); + f = message.getError(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter ); } f = message.getProof(); @@ -23636,13 +24475,179 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP }; +/** + * optional StateTransitionBroadcastError error = 1; + * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +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 {?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); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} + * 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.clearError = function() { + return this.setError(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1]; +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])); +}; @@ -23659,8 +24664,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); }; @@ -23669,14 +24674,13 @@ 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.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { var f, obj = { - versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(), - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -23690,23 +24694,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.VersionSignals} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23714,9 +24718,9 @@ 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.VersionSignal; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader); - msg.addVersionSignals(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(); @@ -23731,9 +24735,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.VersionSignals.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23741,61 +24745,23 @@ 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.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersionSignalsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter ); } }; -/** - * repeated VersionSignal version_signals = 1; - * @return {!Array} - */ -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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this -*/ -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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} - */ -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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this - */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() { - return this.setVersionSignalsList([]); -}; - - @@ -23812,8 +24778,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * 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); +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); }; @@ -23822,14 +24788,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.VersionSignal} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - proTxHash: msg.getProTxHash_asB64(), - version: jspb.Message.getFieldWithDefault(msg, 2, 0) + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -23843,23 +24809,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.VersionSignal} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal; - return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -23867,12 +24833,12 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setProTxHash(value); + var value = /** @type {number} */ (reader.readInt32()); + msg.setHeight(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setVersion(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -23887,9 +24853,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.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -23897,22 +24863,22 @@ 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.VersionSignal} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProTxHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getHeight(); + if (f !== 0) { + writer.writeInt32( 1, f ); } - f = message.getVersion(); - if (f !== 0) { - writer.writeUint32( + f = message.getProve(); + if (f) { + writer.writeBool( 2, f ); @@ -23921,200 +24887,65 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP /** - * optional bytes pro_tx_hash = 1; - * @return {string} + * optional int32 height = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes pro_tx_hash = 1; - * This is a type-conversion wrapper around `getProTxHash()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getProTxHash())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * 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} + * optional bool prove = 2; + * @return {boolean} */ -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); -}; - - -/** - * 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.clearMetadata = function() { - return this.setMetadata(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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + * optional GetConsensusParamsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -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.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} 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.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.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.GetProtocolVersionUpgradeVoteStatusResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -24123,7 +24954,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.GetConsensusParamsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -24137,21 +24968,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.GetConsensusParamsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.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])); }; @@ -24169,8 +25000,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.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); }; @@ -24179,13 +25010,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.GetConsensusParamsResponse} 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.GetConsensusParamsResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -24199,23 +25030,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.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} 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.GetEpochsInfoRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24223,8 +25054,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.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -24240,9 +25071,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.GetConsensusParamsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24250,18 +25081,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.GetConsensusParamsResponse} 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.GetConsensusParamsResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter ); } }; @@ -24283,8 +25114,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.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); }; @@ -24293,16 +25124,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.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { var f, obj = { - 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) + maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), + timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -24316,23 +25146,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.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24340,21 +25170,16 @@ 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 {string} */ (reader.readString()); + msg.setMaxBytes(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCount(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxGas(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); + var value = /** @type {string} */ (reader.readString()); + msg.setTimeIotaMs(value); break; default: reader.skipField(); @@ -24369,9 +25194,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.GetConsensusParamsResponse.ConsensusParamsBlock.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.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24379,198 +25204,91 @@ 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.GetConsensusParamsResponse.ConsensusParamsBlock} 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.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartEpoch(); - if (f != null) { - writer.writeMessage( + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( 1, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + f ); } - f = message.getCount(); - if (f !== 0) { - writer.writeUint32( + f = message.getMaxGas(); + if (f.length > 0) { + writer.writeString( 2, f ); } - f = message.getAscending(); - if (f) { - writer.writeBool( + f = message.getTimeIotaMs(); + if (f.length > 0) { + writer.writeString( 3, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 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 + * optional string max_bytes = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bool prove = 4; - * @return {boolean} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this + * optional string max_gas = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * optional GetEpochsInfoRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this + * optional string time_iota_ms = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = 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.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.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])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -24586,8 +25304,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.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); }; @@ -24596,13 +25314,15 @@ 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.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.GetEpochsInfoResponse.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f) + maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), + maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -24616,23 +25336,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.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} 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.GetEpochsInfoResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24640,9 +25360,16 @@ 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); - 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(); @@ -24657,9 +25384,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.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24667,52 +25394,8303 @@ 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.GetConsensusParamsResponse.ConsensusParamsEvidence} 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getMaxAgeDuration(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 3, + 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 + * 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); +}; + + + + + +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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), + evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); + msg.setBlock(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); + msg.setEvidence(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBlock(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter + ); + } + f = message.getEvidence(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter + ); + } +}; + + +/** + * optional ConsensusParamsBlock block = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + */ +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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { + return this.setBlock(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional ConsensusParamsEvidence evidence = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { + return this.setEvidence(undefined); +}; + + +/** + * 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; +}; + + +/** + * optional GetConsensusParamsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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} + */ +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])); +}; + + + +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.GetProtocolVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest} + */ +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.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.GetProtocolVersionUpgradeStateRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} + */ +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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + +/** + * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} + */ +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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @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])); +}; + + + +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.GetProtocolVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse} + */ +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.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.GetProtocolVersionUpgradeStateResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + 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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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) + }; + + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + */ +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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.Versions; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader); + msg.setVersions(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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) { + var f = undefined; + f = message.getVersions(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.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.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.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; +}; +} + + +/** + * 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} + */ +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); +}; + + +/** + * 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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + +/** + * 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 {!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.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); +}; + + +/** + * 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() { + return this.setVersionsList([]); +}; + + + + + +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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) { + var f, obj = { + versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0), + voteCount: 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} + */ +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.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.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.setVersionNumber(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setVoteCount(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} 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) { + var f = undefined; + f = message.getVersionNumber(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getVoteCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } +}; + + +/** + * 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)); +}; + + +/** + * @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.setVoteCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional Versions versions = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} + */ +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)); +}; + + +/** + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() { + return this.setVersions(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.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); +}; + + +/** + * 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.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @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); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} + */ +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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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])); +}; + + + +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.GetProtocolVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest} + */ +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.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.GetProtocolVersionUpgradeVoteStatusRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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) + }; + + 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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + */ +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.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.setStartProTxHash(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCount(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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} 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) { + var f = undefined; + f = message.getStartProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 3, + f + ); + } +}; + + +/** + * 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>} + * @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])); +}; + + + +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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse} + */ +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.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.GetProtocolVersionUpgradeVoteStatusResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + VERSIONS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} + */ +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])); +}; + + + +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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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} 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) { + 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) + }; + + 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} + */ +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.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.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; + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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} 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) { + var f = undefined; + f = message.getVersions(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.VersionSignals} 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.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; +}; +} + + +/** + * 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} + */ +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); +}; + + +/** + * 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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + +/** + * repeated VersionSignal version_signals = 1; + * @return {!Array} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this +*/ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() { + return this.setVersionSignalsList([]); +}; + + + + + +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); +}; + + +/** + * 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.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} + */ +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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetEpochsInfoRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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])); +}; + + + +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.GetEpochsInfoRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest} + */ +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.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.GetEpochsInfoRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + 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) { + 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + */ +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.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + 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); + 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; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} 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) { + var f = undefined; + f = message.getStartEpoch(); + if (f != null) { + writer.writeMessage( + 1, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getAscending(); + if (f) { + writer.writeBool( + 3, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 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])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse} + */ +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.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.GetEpochsInfoResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + EPOCHS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.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.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; +}; +} + + +/** + * 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.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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.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 + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) { + var f, obj = { + epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(), + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader); + msg.addEpochInfos(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEpochInfosList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated EpochInfo epoch_infos = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.getEpochInfosList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.addEpochInfos = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() { + return this.setEpochInfosList([]); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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) + }; + + 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.setNumber(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setFirstBlockHeight(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFirstCoreBlockHeight(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartTime(value); + break; + case 5: + var value = /** @type {number} */ (reader.readDouble()); + msg.setFeeMultiplier(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setProtocolVersion(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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} 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) { + var f = undefined; + f = message.getNumber(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getFirstBlockHeight(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } + f = message.getFirstCoreBlockHeight(); + if (f !== 0) { + writer.writeUint32( + 3, + f + ); + } + f = message.getStartTime(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getFeeMultiplier(); + if (f !== 0.0) { + writer.writeDouble( + 5, + f + ); + } + f = message.getProtocolVersion(); + if (f !== 0) { + writer.writeUint32( + 6, + f + ); + } +}; + + +/** + * 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; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = 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 + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) { + return jspb.Message.setProto3IntField(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); +}; + + +/** + * optional uint64 start_time = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @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.setStartTime = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional double fee_multiplier = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() { + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.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.setFeeMultiplier = function(value) { + return jspb.Message.setProto3FloatField(this, 5, value); +}; + + +/** + * optional uint32 protocol_version = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getProtocolVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 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.setProtocolVersion = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + +/** + * optional EpochInfos epochs = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + */ +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setEpochs = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() { + return this.setEpochs(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this +*/ +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetEpochsInfoResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} + */ +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetContestedResourcesRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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])); +}; + + + +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.GetContestedResourcesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest} + */ +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.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.GetContestedResourcesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.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.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, ""), + 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) + }; + + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + */ +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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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 {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: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setOrderAscending(value); + break; + case 9: + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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) { + 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(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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 + ); + } +}; + + + + + +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) { + var f, obj = { + startValue: msg.getStartValue_asB64(), + startValueIncluded: 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + */ +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.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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.setStartValue(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setStartValueIncluded(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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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) { + var f = undefined; + f = message.getStartValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getStartValueIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * 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} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartValue())); +}; + + +/** + * 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} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool start_value_included = 2; + * @return {boolean} + */ +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetContestedResourcesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse} + */ +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.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.GetContestedResourcesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + CONTESTED_RESOURCE_VALUES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} + */ +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])); +}; + + + +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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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) + }; + + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + */ +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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.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; + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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) { + var f = undefined; + f = message.getContestedResourceValues(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) { + var f, obj = { + contestedResourceValuesList: msg.getContestedResourceValuesList_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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + */ +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); +}; + + +/** + * 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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + +/** + * repeated bytes contested_resource_values = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes contested_resource_values = 1; + * This is a type-conversion wrapper around `getContestedResourceValuesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getContestedResourceValuesList())); +}; + + +/** + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getContestedResourceValuesList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() { + return this.setContestedResourceValuesList([]); +}; + + +/** + * optional ContestedResourceValues contested_resource_values = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + */ +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)); +}; + + +/** + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() { + return this.setContestedResourceValues(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasContestedResourceValues = 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.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 {?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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.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)); +}; + + +/** + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetContestedResourcesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + */ +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 {?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.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; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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.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])); +}; + + + +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.GetVotePollsByEndDateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest} + */ +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.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.GetVotePollsByEndDateRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.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.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) + }; + + 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} + */ +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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.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 + ); + } +}; + + + + + +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) { + var f, obj = { + startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0), + startTimeIncluded: 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} + */ +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.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartTimeMs(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setStartTimeIncluded(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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} 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) { + var f = undefined; + f = message.getStartTimeMs(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getStartTimeIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional uint64 start_time_ms = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional bool start_time_included = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this + */ +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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.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.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.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; +}; +} + + +/** + * 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.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); +}; + + +/** + * 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.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 {number} */ (reader.readUint64()); + msg.setEndTimeMs(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setEndTimeIncluded(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.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(); +}; + + +/** + * 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEndTimeMs(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getEndTimeIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional uint64 end_time_ms = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} 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.setProto3IntField(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>} + * @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])); +}; + + + +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.GetVotePollsByEndDateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse} + */ +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.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.GetVotePollsByEndDateResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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])); +}; + + + +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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) + }; + + 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + */ +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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.SerializedVotePollsByTimestamps; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader); + msg.setVotePollsByTimestamps(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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} 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) { + var f = undefined; + f = message.getVotePollsByTimestamps(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) { + var f, obj = { + timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0), + serializedVotePollsList: msg.getSerializedVotePollsList_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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} + */ +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); +}; + + +/** + * 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} + */ +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 {number} */ (reader.readUint64()); + msg.setTimestamp(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addSerializedVotePolls(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.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(); +}; + + +/** + * 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 + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getTimestamp(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getSerializedVotePollsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 2, + f + ); + } +}; + + +/** + * optional uint64 timestamp = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * repeated bytes serialized_vote_polls = 2; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2)); +}; + + +/** + * repeated bytes serialized_vote_polls = 2; + * This is a type-conversion wrapper around `getSerializedVotePollsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getSerializedVotePollsList())); +}; + + +/** + * 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getSerializedVotePollsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setSerializedVotePollsList = function(value) { + return jspb.Message.setField(this, 2, value || []); +}; + + +/** + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() { + return this.setSerializedVotePollsList([]); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.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.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; +}; +} + + +/** + * 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.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); +}; + + +/** + * 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.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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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.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 SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1; + * @return {!Array} + */ +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} 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 {!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} + */ +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() { + return this.setVotePollsByTimestampsList([]); +}; + + +/** + * optional bool finished_results = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getFinishedResults = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} + */ +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() { + return this.setVotePollsByTimestamps(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasVotePollsByTimestamps = 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.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 {?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 message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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 {?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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetVotePollsByEndDateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + */ +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} 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); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetContestedResourceVoteStateRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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])); +}; + + + +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.GetContestedResourceVoteStateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest} + */ +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.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.GetContestedResourceVoteStateRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4]; + + + +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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + */ +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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 {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(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} 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) { + 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.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( + 7, + f, + 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 + ); + } +}; + + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = { + DOCUMENTS: 0, + VOTE_TALLY: 1, + DOCUMENTS_AND_VOTE_TALLY: 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) { + var f, obj = { + startIdentifier: msg.getStartIdentifier_asB64(), + startIdentifierIncluded: 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + */ +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.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.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.setStartIdentifier(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setStartIdentifierIncluded(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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} 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) { + var f = undefined; + f = message.getStartIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getStartIdentifierIncluded(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes start_identifier = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes start_identifier = 1; + * This is a type-conversion wrapper around `getStartIdentifier()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartIdentifier())); +}; + + +/** + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartIdentifier())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this + */ +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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string index_name = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) { + return jspb.Message.setProto3StringField(this, 3, 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)); +}; + + +/** + * repeated bytes index_values = 4; + * This is a type-conversion wrapper around `getIndexValuesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIndexValuesList())); +}; + + +/** + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getAllowIncludeLockedAndAbstainingVoteTally = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setAllowIncludeLockedAndAbstainingVoteTally = function(value) { + return jspb.Message.setProto3BooleanField(this, 6, value); +}; + + +/** + * 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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() { + return this.setStartAtIdentifierInfo(undefined); +}; + + +/** + * 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; +}; + + +/** + * optional uint32 count = 8; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); +}; + + +/** + * @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 field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearCount = function() { + return jspb.Message.setField(this, 8, undefined); +}; + + +/** + * 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; +}; + + +/** + * optional bool prove = 9; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + */ +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.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.GetContestedResourceVoteStateRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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])); +}; + + + +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.GetContestedResourceVoteStateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse} 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) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceVoteStateResponse} + */ +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.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.GetContestedResourceVoteStateResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceVoteStateResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse} 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) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + 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) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + 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) { + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + */ +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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.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 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; +}; + /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - EPOCHS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} + * 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 {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContestedResourceContenders(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -24726,8 +33704,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(opt_includeInstance, this); }; @@ -24736,15 +33714,18 @@ 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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) + 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) { @@ -24758,23 +33739,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -24782,19 +33763,28 @@ 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 = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (reader.readEnum()); + msg.setFinishedVoteOutcome(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 {!Uint8Array} */ (reader.readBytes()); + msg.setWonByIdentityId(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.setFinishedAtBlockHeight(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFinishedAtCoreBlockHeight(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint64()); + msg.setFinishedAtBlockTimeMs(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setFinishedAtEpoch(value); break; default: reader.skipField(); @@ -24809,9 +33799,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -24819,46 +33809,223 @@ 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getEpochs(); - if (f != null) { - writer.writeMessage( + f = message.getFinishedVoteOutcome(); + if (f !== 0.0) { + writer.writeEnum( 1, - f, - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter + f ); } - f = message.getProof(); + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); if (f != null) { - writer.writeMessage( + writer.writeBytes( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getFinishedAtBlockHeight(); + if (f !== 0) { + writer.writeUint64( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = message.getFinishedAtCoreBlockHeight(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getFinishedAtBlockTimeMs(); + if (f !== 0) { + writer.writeUint64( + 5, + f + ); + } + f = message.getFinishedAtEpoch(); + if (f !== 0) { + writer.writeUint32( + 6, + f ); } }; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = { + TOWARDS_IDENTITY: 0, + LOCKED: 1, + NO_PREVIOUS_WINNER: 2 +}; + +/** + * optional FinishedVoteOutcome finished_vote_outcome = 1; + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} + */ +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 {!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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedVoteOutcome = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); +}; + + +/** + * optional bytes won_by_identity_id = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes won_by_identity_id = 2; + * This is a type-conversion wrapper around `getWonByIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWonByIdentityId())); +}; + + +/** + * 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} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWonByIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) { + return jspb.Message.setField(this, 2, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.clearWonByIdentityId = function() { + return jspb.Message.setField(this, 2, undefined); +}; + + +/** + * 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; +}; + + +/** + * optional uint64 finished_at_block_height = 3; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional uint32 finished_at_core_block_height = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtCoreBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtCoreBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional uint64 finished_at_block_time_ms = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * optional uint32 finished_at_epoch = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtEpoch = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.repeatedFields_ = [1]; @@ -24875,8 +34042,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(opt_includeInstance, this); }; @@ -24885,14 +34052,17 @@ 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject = function(includeInstance, msg) { var f, obj = { - epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(), - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance) + 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) { @@ -24900,115 +34070,259 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep } return obj; }; -} +} + + +/** + * 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} + */ +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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.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(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} 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) { + 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(); + if (f != null) { + writer.writeMessage( + 4, + f, + proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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); +}; + + +/** + * @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.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); +}; + + +/** + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() { + return this.setContendersList([]); +}; + + +/** + * 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)); +}; + + +/** + * @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.setAbstainVoteTally = function(value) { + return jspb.Message.setField(this, 2, 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.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; +}; /** - * 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} + * optional uint32 lock_vote_tally = 3; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; - return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader(msg, reader); +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader); - msg.addEpochInfos(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getEpochInfosList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasLockVoteTally = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * repeated EpochInfo epoch_infos = 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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setFinishedVoteInfo = function(value) { + return jspb.Message.setWrapperField(this, 4, 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} + * 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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() { + return this.setFinishedVoteInfo(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() { - return this.setEpochInfosList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() { + return jspb.Message.getField(this, 4) != null; }; @@ -25028,8 +34342,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(opt_includeInstance, this); }; @@ -25038,18 +34352,15 @@ 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.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) + identifier: msg.getIdentifier_asB64(), + voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0), + document: msg.getDocument_asB64() }; if (includeInstance) { @@ -25063,23 +34374,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25087,28 +34398,16 @@ 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.setIdentifier(value); break; case 2: - var value = /** @type {number} */ (reader.readUint64()); - msg.setFirstBlockHeight(value); - break; - case 3: var value = /** @type {number} */ (reader.readUint32()); - msg.setFirstCoreBlockHeight(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartTime(value); - break; - case 5: - var value = /** @type {number} */ (reader.readDouble()); - msg.setFeeMultiplier(value); + msg.setVoteCount(value); break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setProtocolVersion(value); + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocument(value); break; default: reader.skipField(); @@ -25123,9 +34422,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25133,190 +34432,199 @@ 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getNumber(); - if (f !== 0) { - writer.writeUint32( + f = message.getIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); } - f = message.getFirstBlockHeight(); - if (f !== 0) { - writer.writeUint64( + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint32( 2, f ); } - f = message.getFirstCoreBlockHeight(); - if (f !== 0) { - writer.writeUint32( + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3)); + if (f != null) { + writer.writeBytes( 3, f ); } - f = message.getStartTime(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getFeeMultiplier(); - if (f !== 0.0) { - writer.writeDouble( - 5, - f - ); - } - f = message.getProtocolVersion(); - if (f !== 0) { - writer.writeUint32( - 6, - f - ); - } }; /** - * optional uint32 number = 1; - * @return {number} + * optional bytes identifier = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() { - return /** @type {number} */ (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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) { - return jspb.Message.setProto3IntField(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 uint64 first_block_height = 2; + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentifier())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint32 vote_count = 2; * @return {number} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getVoteCount = 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setVoteCount = function(value) { + return jspb.Message.setField(this, 2, value); }; /** - * optional uint32 first_core_block_height = 3; - * @return {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() { + return jspb.Message.setField(this, 2, undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasVoteCount = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional uint64 start_time = 4; - * @return {number} + * optional bytes document = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * optional bytes document = 3; + * This is a type-conversion wrapper around `getDocument()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocument())); }; /** - * optional double fee_multiplier = 5; - * @return {number} + * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() { - return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocument())); }; /** - * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) { + return jspb.Message.setField(this, 3, value); }; /** - * optional uint32 protocol_version = 6; - * @return {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() { + return jspb.Message.setField(this, 3, undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional EpochInfos epochs = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} + * optional ContestedResourceContenders contested_resource_contenders = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} */ -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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} 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.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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() { - return this.setEpochs(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() { + return this.setContestedResourceContenders(undefined); }; @@ -25324,7 +34632,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() { return jspb.Message.getField(this, 1) != null; }; @@ -25333,7 +34641,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.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)); }; @@ -25341,18 +34649,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} 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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -25361,7 +34669,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -25370,7 +34678,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.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)); }; @@ -25378,18 +34686,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -25398,35 +34706,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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetEpochsInfoResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} + * optional GetContestedResourceVoteStateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} */ -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.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} 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.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.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.GetEpochsInfoResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -25435,7 +34743,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.GetContestedResourceVoteStateResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -25449,21 +34757,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.GetContestedResourceVotersForIdentityRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.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.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])); }; @@ -25481,8 +34789,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.GetContestedResourceVotersForIdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject(opt_includeInstance, this); }; @@ -25491,13 +34799,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.GetContestedResourceVotersForIdentityRequest} 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.GetContestedResourceVotersForIdentityRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -25511,23 +34819,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.GetContestedResourceVotersForIdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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.GetContestedResourcesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25535,8 +34843,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -25552,9 +34860,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.GetContestedResourceVotersForIdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25562,18 +34870,18 @@ 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.GetContestedResourceVotersForIdentityRequest} 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.GetContestedResourceVotersForIdentityRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter ); } }; @@ -25585,7 +34893,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWr * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.repeatedFields_ = [4,5]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.repeatedFields_ = [4]; @@ -25602,8 +34910,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(opt_includeInstance, this); }; @@ -25612,18 +34920,18 @@ 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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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), + 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) @@ -25640,23 +34948,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25677,16 +34985,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc break; case 4: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addStartIndexValues(value); + msg.addIndexValues(value); break; case 5: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addEndIndexValues(value); + msg.setContestantId(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); + 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()); @@ -25713,9 +35021,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25723,11 +35031,11 @@ 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getContractId_asU8(); if (f.length > 0) { @@ -25750,26 +35058,26 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc f ); } - f = message.getStartIndexValuesList_asU8(); + f = message.getIndexValuesList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 4, f ); } - f = message.getEndIndexValuesList_asU8(); + f = message.getContestantId_asU8(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeBytes( 5, f ); } - f = message.getStartAtValueInfo(); + f = message.getStartAtIdentifierInfo(); if (f != null) { writer.writeMessage( 6, f, - proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter ); } f = /** @type {number} */ (jspb.Message.getField(message, 7)); @@ -25812,8 +35120,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this); }; @@ -25822,14 +35130,14 @@ 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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) { var f, obj = { - startValue: msg.getStartValue_asB64(), - startValueIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + startIdentifier: msg.getStartIdentifier_asB64(), + startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -25843,23 +35151,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.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.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -25868,11 +35176,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartValue(value); + msg.setStartIdentifier(value); break; case 2: var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartValueIncluded(value); + msg.setStartIdentifierIncluded(value); break; default: reader.skipField(); @@ -25887,9 +35195,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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -25897,20 +35205,20 @@ 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartValue_asU8(); + f = message.getStartIdentifier_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getStartValueIncluded(); + f = message.getStartIdentifierIncluded(); if (f) { writer.writeBool( 2, @@ -25921,61 +35229,61 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc /** - * optional bytes start_value = 1; + * optional bytes start_identifier = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes start_value = 1; - * This is a type-conversion wrapper around `getStartValue()` + * optional bytes start_identifier = 1; + * This is a type-conversion wrapper around `getStartIdentifier()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartValue())); + this.getStartIdentifier())); }; /** - * optional bytes start_value = 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 `getStartValue()` + * This is a type-conversion wrapper around `getStartIdentifier()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartValue())); + this.getStartIdentifier())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool start_value_included = 2; + * optional bool start_identifier_included = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValueIncluded = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() { return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) { return jspb.Message.setProto3BooleanField(this, 2, value); }; @@ -25984,7 +35292,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional bytes contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; @@ -25994,7 +35302,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * This is a type-conversion wrapper around `getContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( this.getContractId())); }; @@ -26007,7 +35315,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * This is a type-conversion wrapper around `getContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( this.getContractId())); }; @@ -26015,9 +35323,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setContractId = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; @@ -26026,16 +35334,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional string document_type_name = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() { +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setDocumentTypeName = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; @@ -26044,58 +35352,58 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional string index_name = 3; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getIndexName = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setIndexName = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexName = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; /** - * repeated bytes start_index_values = 4; + * repeated bytes index_values = 4; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); }; /** - * repeated bytes start_index_values = 4; - * This is a type-conversion wrapper around `getStartIndexValuesList()` + * repeated bytes index_values = 4; + * This is a type-conversion wrapper around `getIndexValuesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getStartIndexValuesList())); + this.getIndexValuesList())); }; /** - * repeated bytes start_index_values = 4; + * 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 `getStartIndexValuesList()` + * This is a type-conversion wrapper around `getIndexValuesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getStartIndexValuesList())); + this.getIndexValuesList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartIndexValuesList = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexValuesList = function(value) { return jspb.Message.setField(this, 4, value || []); }; @@ -26103,108 +35411,89 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addStartIndexValues = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartIndexValuesList = function() { - return this.setStartIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearIndexValuesList = function() { + return this.setIndexValuesList([]); }; /** - * repeated bytes end_index_values = 5; - * @return {!Array} + * optional bytes contestant_id = 5; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5)); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * repeated bytes end_index_values = 5; - * This is a type-conversion wrapper around `getEndIndexValuesList()` - * @return {!Array} + * optional bytes contestant_id = 5; + * This is a type-conversion wrapper around `getContestantId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getEndIndexValuesList())); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContestantId())); }; /** - * repeated bytes end_index_values = 5; + * 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 `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 + * This is a type-conversion wrapper around `getContestantId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setEndIndexValuesList = function(value) { - return jspb.Message.setField(this, 5, value || []); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContestantId())); }; /** * @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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearEndIndexValuesList = function() { - return this.setEndIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContestantId = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); }; /** - * optional StartAtValueInfo start_at_value_info = 6; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} + * optional StartAtIdentifierInfo start_at_identifier_info = 6; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ -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)); +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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartAtValueInfo = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setStartAtIdentifierInfo = 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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartAtValueInfo = function() { - return this.setStartAtValueInfo(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() { + return this.setStartAtIdentifierInfo(undefined); }; @@ -26212,7 +35501,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasStartAtValueInfo = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() { return jspb.Message.getField(this, 6) != null; }; @@ -26221,25 +35510,25 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional uint32 count = 7; * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getCount = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setCount = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearCount = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() { return jspb.Message.setField(this, 7, undefined); }; @@ -26248,7 +35537,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasCount = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() { return jspb.Message.getField(this, 7) != null; }; @@ -26257,16 +35546,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional bool order_ascending = 8; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getOrderAscending = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.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 + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setOrderAscending = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) { return jspb.Message.setProto3BooleanField(this, 8, value); }; @@ -26275,44 +35564,44 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc * optional bool prove = 9; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getProve = function() { +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setProve = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 9, value); }; /** - * optional GetContestedResourcesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} + * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ -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)); +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.GetContestedResourcesRequest.GetContestedResourcesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} 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.GetContestedResourcesRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -26321,7 +35610,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -26335,21 +35624,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.hasV0 = f * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.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])); +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])); }; @@ -26367,8 +35656,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.GetContestedResourceVotersForIdentityResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject(opt_includeInstance, this); }; @@ -26377,13 +35666,13 @@ 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.GetContestedResourceVotersForIdentityResponse} 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.GetContestedResourceVotersForIdentityResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -26397,23 +35686,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.GetContestedResourceVotersForIdentityResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} 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.GetContestedResourcesResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -26421,8 +35710,8 @@ 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); + 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: @@ -26438,9 +35727,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.GetContestedResourceVotersForIdentityResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -26448,18 +35737,18 @@ 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.GetContestedResourceVotersForIdentityResponse} 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.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter ); } }; @@ -26474,22 +35763,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToW * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase = { RESULT_NOT_SET: 0, - CONTESTED_RESOURCE_VALUES: 1, + CONTESTED_RESOURCE_VOTERS: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase} */ -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.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])); }; @@ -26507,8 +35796,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(opt_includeInstance, this); }; @@ -26517,13 +35806,13 @@ 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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - contestedResourceValues: (f = msg.getContestedResourceValues()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(includeInstance, f), + 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) }; @@ -26539,23 +35828,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -26563,9 +35852,9 @@ 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 = 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; @@ -26590,9 +35879,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -26600,18 +35889,18 @@ 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceValues(); + f = message.getContestedResourceVoters(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter ); } f = message.getProof(); @@ -26639,7 +35928,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1]; @@ -26656,8 +35945,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(opt_includeInstance, this); }; @@ -26666,13 +35955,14 @@ 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.ContestedResourceValues} msg The msg instance to transform. + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) { var f, obj = { - contestedResourceValuesList: msg.getContestedResourceValuesList_asB64() + votersList: msg.getVotersList_asB64(), + finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -26686,23 +35976,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.ContestedResourceValues} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinary = function(bytes) { +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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues; - return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader(msg, reader); + 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); }; /** * 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 {!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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -26711,7 +36001,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addContestedResourceValues(value); + msg.addVoters(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setFinishedResults(value); break; default: reader.skipField(); @@ -26726,9 +36020,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.ContestedResourceValues.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -26736,60 +36030,67 @@ 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.ContestedResourceValues} message + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceValuesList_asU8(); + f = message.getVotersList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } + f = message.getFinishedResults(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes contested_resource_values = 1; + * repeated bytes voters = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes contested_resource_values = 1; - * This is a type-conversion wrapper around `getContestedResourceValuesList()` + * repeated bytes voters = 1; + * This is a type-conversion wrapper around `getVotersList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getContestedResourceValuesList())); + this.getVotersList())); }; /** - * repeated bytes contested_resource_values = 1; + * 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 `getContestedResourceValuesList()` + * This is a type-conversion wrapper around `getVotersList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getContestedResourceValuesList())); + this.getVotersList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setVotersList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -26797,47 +36098,65 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = function(value, opt_index) { +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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() { - return this.setContestedResourceValuesList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.clearVotersList = function() { + return this.setVotersList([]); }; /** - * optional ContestedResourceValues contested_resource_values = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} + * optional bool finished_results = 2; + * @return {boolean} */ -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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getFinishedResults = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @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.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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() { - return this.setContestedResourceValues(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearContestedResourceVoters = function() { + return this.setContestedResourceVoters(undefined); }; @@ -26845,7 +36164,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasContestedResourceVoters = function() { return jspb.Message.getField(this, 1) != null; }; @@ -26854,7 +36173,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.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)); }; @@ -26862,18 +36181,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} 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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -26882,7 +36201,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -26891,7 +36210,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.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)); }; @@ -26899,18 +36218,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -26919,35 +36238,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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetContestedResourcesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} + * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ -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.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} 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.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.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.GetContestedResourcesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -26956,7 +36275,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.GetContestedResourceVotersForIdentityResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -26970,21 +36289,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.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.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.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])); }; @@ -27002,8 +36321,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.GetContestedResourceIdentityVotesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject(opt_includeInstance, this); }; @@ -27012,13 +36331,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.GetContestedResourceIdentityVotesRequest} 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.GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -27032,23 +36351,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.GetContestedResourceIdentityVotesRequest} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} 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.GetVotePollsByEndDateRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27056,8 +36375,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -27073,9 +36392,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.GetContestedResourceIdentityVotesRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27083,18 +36402,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.GetContestedResourceIdentityVotesRequest} 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.GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter ); } }; @@ -27116,8 +36435,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(opt_includeInstance, this); }; @@ -27126,17 +36445,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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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), + 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) }; @@ -27151,23 +36470,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27175,26 +36494,27 @@ 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 {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(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 = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); break; case 3: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); break; case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setOffset(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setOrderAscending(value); break; case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setAscending(value); + 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()); @@ -27213,9 +36533,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27223,216 +36543,57 @@ 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartTimeInfo(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter + f ); } - f = message.getEndTimeInfo(); + f = message.getLimit(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = /** @type {number} */ (jspb.Message.getField(message, 3)); + f = message.getOffset(); if (f != null) { - writer.writeUint32( + writer.writeMessage( 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 - ); - } -}; - - - - - -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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) { - var f, obj = { - startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0), - startTimeIncluded: 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} - */ -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.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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartTimeMs(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartTimeIncluded(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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} 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) { - var f = undefined; - f = message.getStartTimeMs(); - if (f !== 0) { - writer.writeUint64( - 1, - f + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getStartTimeIncluded(); + f = message.getOrderAscending(); if (f) { writer.writeBool( - 2, + 4, f - ); - } -}; - - -/** - * optional uint64 start_time_ms = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional bool start_time_included = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeIncluded = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); + ); + } + 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( + 6, + f + ); + } }; @@ -27452,8 +36613,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(opt_includeInstance, this); }; @@ -27462,14 +36623,14 @@ 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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) { var f, obj = { - endTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0), - endTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(), + startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -27483,23 +36644,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinary = function(bytes) { +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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo; + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader(msg, 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.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27507,12 +36668,12 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setEndTimeMs(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAtPollIdentifier(value); break; case 2: var value = /** @type {boolean} */ (reader.readBool()); - msg.setEndTimeIncluded(value); + msg.setStartPollIdentifierIncluded(value); break; default: reader.skipField(); @@ -27527,9 +36688,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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27537,20 +36698,20 @@ 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getEndTimeMs(); - if (f !== 0) { - writer.writeUint64( + f = message.getStartAtPollIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); } - f = message.getEndTimeIncluded(); + f = message.getStartPollIdentifierIncluded(); if (f) { writer.writeBool( 2, @@ -27561,103 +36722,132 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa /** - * optional uint64 end_time_ms = 1; - * @return {number} + * optional bytes start_at_poll_identifier = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this + * optional bytes start_at_poll_identifier = 1; + * This is a type-conversion wrapper around `getStartAtPollIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAtPollIdentifier())); }; /** - * optional bool end_time_included = 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 `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 + */ +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeIncluded = function() { +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeIncluded = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = 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} + * optional bytes identity_id = 1; + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearStartTimeInfo = function() { - return this.setStartTimeInfo(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasStartTimeInfo = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional EndAtTimeInfo end_time_info = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} */ -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)); +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.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setEndTimeInfo = function(value) { +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearEndTimeInfo = function() { - return this.setEndTimeInfo(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; @@ -27665,35 +36855,36 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasEndTimeInfo = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional uint32 limit = 3; - * @return {number} + * optional google.protobuf.UInt32Value offset = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +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 {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); + * @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 field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearLimit = function() { - return jspb.Message.setField(this, 3, undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; @@ -27701,62 +36892,63 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasLimit = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasOffset = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional uint32 offset = 4; - * @return {number} + * optional bool order_ascending = 4; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getOffset = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOrderAscending = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOrderAscending = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearOffset = function() { - return jspb.Message.setField(this, 4, undefined); +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)); }; /** - * 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; + * @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); }; /** - * optional bool ascending = 5; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getAscending = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() { + return this.setStartAtVotePollIdInfo(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setAscending = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasStartAtVotePollIdInfo = function() { + return jspb.Message.getField(this, 5) != null; }; @@ -27764,44 +36956,44 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa * optional bool prove = 6; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getProve = function() { +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setProve = function(value) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setProve = function(value) { return jspb.Message.setProto3BooleanField(this, 6, value); }; /** - * optional GetVotePollsByEndDateRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} + * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ -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)); +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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this + * @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.GetVotePollsByEndDateRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0], value); +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.GetVotePollsByEndDateRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -27810,7 +37002,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -27824,21 +37016,21 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.hasV0 = f * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.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])); }; @@ -27856,8 +37048,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.GetContestedResourceIdentityVotesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject(opt_includeInstance, this); }; @@ -27866,13 +37058,13 @@ 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.GetContestedResourceIdentityVotesResponse} 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.GetContestedResourceIdentityVotesResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -27886,23 +37078,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.GetContestedResourceIdentityVotesResponse} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} 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.GetVotePollsByEndDateResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -27910,8 +37102,8 @@ 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); + 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: @@ -27927,9 +37119,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.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -27937,18 +37129,18 @@ 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.GetContestedResourceIdentityVotesResponse} 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.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter ); } }; @@ -27963,22 +37155,22 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToW * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase = { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase = { RESULT_NOT_SET: 0, - VOTE_POLLS_BY_TIMESTAMPS: 1, + VOTES: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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])); +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])); }; @@ -27996,8 +37188,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(opt_includeInstance, this); }; @@ -28006,13 +37198,13 @@ 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - votePollsByTimestamps: (f = msg.getVotePollsByTimestamps()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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) }; @@ -28028,23 +37220,172 @@ 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.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} + */ +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; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +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(); +}; + + +/** + * 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 + */ +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 + ); + } +}; + + + +/** + * 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} + */ +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); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance 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 + */ +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; +}; +} + + +/** + * 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} + */ +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); }; /** * 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28052,19 +37393,13 @@ 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 = 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 = 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.setFinishedResults(value); break; default: reader.skipField(); @@ -28079,9 +37414,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28089,46 +37424,86 @@ 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotePollsByTimestamps(); - if (f != null) { - writer.writeMessage( + f = message.getContestedResourceIdentityVotesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getFinishedResults(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; +/** + * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1; + * @return {!Array} + */ +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)); +}; + + +/** + * @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); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [2]; +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); +}; + + +/** + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() { + return this.setContestedResourceIdentityVotesList([]); +}; + + +/** + * optional bool finished_results = 2; + * @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); +}; + + @@ -28145,8 +37520,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(opt_includeInstance, this); }; @@ -28155,14 +37530,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.SerializedVotePollsByTimestamp} msg The msg instance to transform. + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) { var f, obj = { - timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0), - serializedVotePollsList: msg.getSerializedVotePollsList_asB64() + voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0), + identityId: msg.getIdentityId_asB64() }; if (includeInstance) { @@ -28176,23 +37551,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.SerializedVotePollsByTimestamp} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinary = function(bytes) { +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp; - return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader(msg, reader); + 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); }; /** * 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 {!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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28200,12 +37575,12 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setTimestamp(value); + 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.addSerializedVotePolls(value); + msg.setIdentityId(value); break; default: reader.skipField(); @@ -28220,9 +37595,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.SerializedVotePollsByTimestamp.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28230,22 +37605,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.SerializedVotePollsByTimestamp} message + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getTimestamp(); - if (f !== 0) { - writer.writeUint64( + f = message.getVoteChoiceType(); + if (f !== 0.0) { + writer.writeEnum( 1, f ); } - f = message.getSerializedVotePollsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeBytes( 2, f ); @@ -28254,81 +37629,89 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD /** - * optional uint64 timestamp = 1; - * @return {number} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +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} + */ +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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); }; /** - * repeated bytes serialized_vote_polls = 2; - * @return {!Array} + * optional bytes identity_id = 2; + * @return {string} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * repeated bytes serialized_vote_polls = 2; - * This is a type-conversion wrapper around `getSerializedVotePollsList()` - * @return {!Array} + * optional bytes identity_id = 2; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); }; /** - * repeated bytes serialized_vote_polls = 2; + * 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 `getSerializedVotePollsList()` - * @return {!Array} + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) { + return jspb.Message.setField(this, 2, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 2, value, opt_index); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() { + return jspb.Message.setField(this, 2, undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() { - return this.setSerializedVotePollsList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.hasIdentityId = function() { + return jspb.Message.getField(this, 2) != null; }; @@ -28338,7 +37721,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3]; @@ -28355,8 +37738,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(opt_includeInstance, this); }; @@ -28365,15 +37748,16 @@ 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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) + 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) { @@ -28387,23 +37771,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28411,13 +37795,21 @@ 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.setContractId(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setFinishedResults(value); + 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(); @@ -28432,9 +37824,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28442,111 +37834,227 @@ 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotePollsByTimestampsList(); + f = message.getContractId_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.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 + ); + } }; /** - * repeated SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1; - * @return {!Array} + * optional bytes contract_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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId = 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 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())); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp=} opt_value + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_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 || []); +}; + + +/** + * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this */ -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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() { - return this.setVotePollsByTimestampsList([]); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() { + return this.setSerializedIndexStorageValuesList([]); }; /** - * optional bool finished_results = 2; - * @return {boolean} + * optional ResourceVoteChoice vote_choice = 4; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ -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.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 {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() { + return this.setVoteChoice(undefined); }; /** - * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} + * Returns whether this field is set. + * @return {boolean} */ -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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * 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.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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() { - return this.setVotePollsByTimestamps(undefined); +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() { + return this.setVotes(undefined); }; @@ -28554,7 +38062,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = function() { return jspb.Message.getField(this, 1) != null; }; @@ -28563,7 +38071,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.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)); }; @@ -28571,18 +38079,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} 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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -28591,7 +38099,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -28600,7 +38108,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.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)); }; @@ -28608,18 +38116,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setMetadata = function(value) { +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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -28628,35 +38136,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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetVotePollsByEndDateResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} + * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ -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.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this + * @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.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.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.GetVotePollsByEndDateResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -28665,7 +38173,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.GetContestedResourceIdentityVotesResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -28679,21 +38187,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.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.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])); }; @@ -28711,8 +38219,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.GetPrefundedSpecializedBalanceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject(opt_includeInstance, this); }; @@ -28721,13 +38229,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.GetPrefundedSpecializedBalanceRequest} 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.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -28741,23 +38249,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.GetPrefundedSpecializedBalanceRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateRequest} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28765,8 +38273,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -28782,9 +38290,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.GetPrefundedSpecializedBalanceRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28792,31 +38300,24 @@ 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.GetPrefundedSpecializedBalanceRequest} 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.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -28832,8 +38333,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(opt_includeInstance, this); }; @@ -28842,21 +38343,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} msg The msg instance to transform. + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false) + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -28870,23 +38364,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -28895,38 +38389,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + msg.setId(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.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 {!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; @@ -28943,9 +38408,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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -28953,88 +38418,151 @@ 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.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.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( - 7, - f, - 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, + 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = { - DOCUMENTS: 0, - VOTE_TALLY: 1, - DOCUMENTS_AND_VOTE_TALLY: 2 +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])); +}; @@ -29051,8 +38579,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.GetPrefundedSpecializedBalanceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject(opt_includeInstance, this); }; @@ -29061,14 +38589,13 @@ 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.GetPrefundedSpecializedBalanceResponse} 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.GetPrefundedSpecializedBalanceResponse.toObject = function(includeInstance, msg) { var f, obj = { - startIdentifier: msg.getStartIdentifier_asB64(), - startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -29082,23 +38609,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.GetPrefundedSpecializedBalanceResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -29106,12 +38633,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartIdentifier(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartIdentifierIncluded(value); + 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(); @@ -29126,9 +38650,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.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29136,289 +38660,250 @@ 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.GetPrefundedSpecializedBalanceResponse} 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.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartIdentifier_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getStartIdentifierIncluded(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes start_identifier = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes start_identifier = 1; - * This is a type-conversion wrapper around `getStartIdentifier()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartIdentifier())); -}; - - -/** - * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartIdentifier())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this - */ -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 - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]]; /** - * optional string index_name = 3; - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE: 1, + PROOF: 2 }; - /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +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) { /** - * repeated bytes index_values = 4; - * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); +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); }; /** - * repeated bytes index_values = 4; - * This is a type-conversion wrapper around `getIndexValuesList()` - * @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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIndexValuesList())); +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; }; +} /** - * 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} + * 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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIndexValuesList())); +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); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} 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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexValuesList = function(value) { - return jspb.Message.setField(this, 4, value || []); +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 {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.addIndexValues = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 4, value, opt_index); +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(); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearIndexValuesList = function() { - return this.setIndexValuesList([]); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional ResultType result_type = 5; - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} + * optional uint64 balance = 1; + * @return {number} */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setBalance = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bool allow_include_locked_and_abstaining_vote_tally = 6; - * @return {boolean} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearBalance = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasBalance = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional StartAtIdentifierInfo start_at_identifier_info = 7; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setStartAtIdentifierInfo = function(value) { - return jspb.Message.setWrapperField(this, 7, value); +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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() { - return this.setStartAtIdentifierInfo(undefined); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -29426,35 +38911,36 @@ 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional uint32 count = 8; - * @return {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -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.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 {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); + * @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 field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -29462,53 +38948,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.hasCount = function() { - return jspb.Message.getField(this, 8) != null; -}; - - -/** - * optional bool prove = 9; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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 - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 9, value); +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetContestedResourceVoteStateRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} + * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} */ -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.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this + * @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.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.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.GetContestedResourceVoteStateRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -29517,7 +38985,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.GetPrefundedSpecializedBalanceResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -29531,21 +38999,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.GetTotalCreditsInPlatformRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.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])); }; @@ -29563,8 +39031,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.GetTotalCreditsInPlatformRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.toObject(opt_includeInstance, this); }; @@ -29573,13 +39041,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.GetTotalCreditsInPlatformRequest} 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.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -29593,23 +39061,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.GetTotalCreditsInPlatformRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateResponse; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateResponse} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -29617,8 +39085,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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -29634,9 +39102,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.GetTotalCreditsInPlatformRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29644,23 +39112,190 @@ 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.GetTotalCreditsInPlatformRequest} 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.GetTotalCreditsInPlatformRequest.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.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 @@ -29670,22 +39305,21 @@ 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.GetTotalCreditsInPlatformResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - CONTESTED_RESOURCE_CONTENDERS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase} */ -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.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])); }; @@ -29703,8 +39337,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.GetTotalCreditsInPlatformResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject(opt_includeInstance, this); }; @@ -29713,15 +39347,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.GetTotalCreditsInPlatformResponse} 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.GetTotalCreditsInPlatformResponse.toObject = function(includeInstance, msg) { var f, obj = { - 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) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -29735,43 +39367,33 @@ 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.GetTotalCreditsInPlatformResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader = function(msg, reader) { +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.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 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 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(); @@ -29786,9 +39408,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.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29796,40 +39418,50 @@ 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.GetTotalCreditsInPlatformResponse} 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.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceContenders(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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.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) { @@ -29845,8 +39477,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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(opt_includeInstance, this); }; @@ -29855,18 +39487,15 @@ 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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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) + 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) { @@ -29880,23 +39509,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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -29904,28 +39533,18 @@ 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); + var value = /** @type {number} */ (reader.readUint64()); + msg.setCredits(value); break; case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWonByIdentityId(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {number} */ (reader.readUint64()); - msg.setFinishedAtBlockHeight(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setFinishedAtCoreBlockHeight(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint64()); - msg.setFinishedAtBlockTimeMs(value); - break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setFinishedAtEpoch(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(); @@ -29940,9 +39559,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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -29950,132 +39569,99 @@ 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getFinishedVoteOutcome(); - if (f !== 0.0) { - writer.writeEnum( + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( 1, f ); } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + f = message.getProof(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getFinishedAtBlockHeight(); - if (f !== 0) { - writer.writeUint64( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f - ); - } - f = message.getFinishedAtCoreBlockHeight(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getFinishedAtBlockTimeMs(); - if (f !== 0) { - writer.writeUint64( - 5, - f - ); - } - f = message.getFinishedAtEpoch(); - if (f !== 0) { - writer.writeUint32( - 6, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = { - TOWARDS_IDENTITY: 0, - LOCKED: 1, - NO_PREVIOUS_WINNER: 2 -}; - -/** - * optional FinishedVoteOutcome finished_vote_outcome = 1; - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} + * optional uint64 credits = 1; + * @return {number} */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getCredits = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setCredits = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value); }; /** - * optional bytes won_by_identity_id = 2; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearCredits = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], undefined); }; /** - * optional bytes won_by_identity_id = 2; - * This is a type-conversion wrapper around `getWonByIdentityId()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasCredits = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * 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} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.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 {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) { - return jspb.Message.setField(this, 2, value); + * @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 field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -30083,90 +39669,110 @@ 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() { +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional uint64 finished_at_block_height = 3; - * @return {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); + * @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); }; /** - * optional uint32 finished_at_core_block_height = 4; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this */ -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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {number} 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.setFinishedAtCoreBlockHeight = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional uint64 finished_at_block_time_ms = 5; - * @return {number} + * optional GetTotalCreditsInPlatformResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +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 {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); + * @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); }; /** - * optional uint32 finished_at_epoch = 6; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this */ -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.GetTotalCreditsInPlatformResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {number} 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.setFinishedAtEpoch = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); +proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.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])); +}; @@ -30183,8 +39789,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.GetPathElementsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject(opt_includeInstance, this); }; @@ -30193,17 +39799,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.GetPathElementsRequest} 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.GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -30217,23 +39819,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.GetPathElementsRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -30241,22 +39843,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.GetPathElementsRequest.GetPathElementsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -30271,9 +39860,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.GetPathElementsRequest.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.GetPathElementsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -30281,192 +39870,30 @@ 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.GetPathElementsRequest} 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.GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.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); -}; - - -/** - * @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.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); -}; - - -/** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() { - return this.setContendersList([]); -}; - - -/** - * 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)); -}; - - -/** - * @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.setAbstainVoteTally = function(value) { - return jspb.Message.setField(this, 2, 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.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); -}; - - -/** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() { - return this.setFinishedVoteInfo(undefined); -}; - /** - * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() { - return jspb.Message.getField(this, 4) != null; -}; - - +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.repeatedFields_ = [1,2]; @@ -30483,8 +39910,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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject(opt_includeInstance, this); }; @@ -30493,15 +39920,15 @@ 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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identifier: msg.getIdentifier_asB64(), - voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0), - document: msg.getDocument_asB64() + pathList: msg.getPathList_asB64(), + keysList: msg.getKeysList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -30515,23 +39942,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.GetPathElementsRequest.GetPathElementsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The message object to deserialize into. + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -30540,15 +39967,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentifier(value); + msg.addPath(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setVoteCount(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addKeys(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocument(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -30563,9 +39990,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.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -30573,29 +40000,29 @@ 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.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentifier_asU8(); + f = message.getPathList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = /** @type {number} */ (jspb.Message.getField(message, 2)); - if (f != null) { - writer.writeUint32( + f = message.getKeysList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 2, f ); } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3)); - if (f != null) { - writer.writeBytes( + f = message.getProve(); + if (f) { + writer.writeBool( 3, f ); @@ -30604,278 +40031,169 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest /** - * optional bytes identifier = 1; - * @return {string} + * repeated bytes path = 1; + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes identifier = 1; - * This is a type-conversion wrapper around `getIdentifier()` - * @return {string} + * repeated bytes path = 1; + * This is a type-conversion wrapper around `getPathList()` + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getPathList())); }; /** - * optional bytes identifier = 1; + * 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 `getIdentifier()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentifier())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional uint32 vote_count = 2; - * @return {number} + * This is a type-conversion wrapper around `getPathList()` + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getPathList())); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setPathList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this + * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() { - return jspb.Message.setField(this, 2, undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = 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.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() { + return this.setPathList([]); }; /** - * optional bytes document = 3; - * @return {string} + * repeated bytes keys = 2; + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2)); }; /** - * optional bytes document = 3; - * This is a type-conversion wrapper around `getDocument()` - * @return {string} + * repeated bytes keys = 2; + * This is a type-conversion wrapper around `getKeysList()` + * @return {!Array} */ -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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getKeysList())); }; /** - * optional bytes document = 3; + * 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 `getDocument()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocument())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) { - return jspb.Message.setField(this, 3, value); -}; - - -/** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() { - return jspb.Message.setField(this, 3, undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() { - return jspb.Message.getField(this, 3) != null; -}; - - -/** - * optional ContestedResourceContenders contested_resource_contenders = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} - */ -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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} 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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this + * This is a type-conversion wrapper around `getKeysList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() { - return this.setContestedResourceContenders(undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getKeysList())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setKeysList = function(value) { + return jspb.Message.setField(this, 2, value || []); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * @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.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)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addKeys = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 2, value, opt_index); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this + * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() { + return this.setKeysList([]); }; /** - * Returns whether this field is set. + * optional bool prove = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.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)); -}; - - -/** - * @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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional GetContestedResourceVoteStateResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} + * optional GetPathElementsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ -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.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this + * @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.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.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.GetContestedResourceVoteStateResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -30884,7 +40202,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.GetPathElementsRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -30898,21 +40216,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.GetPathElementsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.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])); }; @@ -30930,8 +40248,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.GetPathElementsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject(opt_includeInstance, this); }; @@ -30940,13 +40258,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.GetPathElementsResponse} 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.GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -30960,23 +40278,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.GetPathElementsResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityRequest} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -30984,8 +40302,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.GetPathElementsResponse.GetPathElementsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -31001,9 +40319,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.GetPathElementsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31011,18 +40329,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.GetPathElementsResponse} 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.GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter ); } }; @@ -31030,11 +40348,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.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])); +}; @@ -31051,8 +40388,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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(opt_includeInstance, this); }; @@ -31061,21 +40398,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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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) + 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) { @@ -31089,23 +40420,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.GetPathElementsResponse.GetPathElementsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31113,41 +40444,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader); + msg.setElements(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(); @@ -31162,9 +40471,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.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31172,80 +40481,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.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getElements(); + 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -31261,8 +40537,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(opt_includeInstance, this); }; @@ -31271,14 +40547,13 @@ 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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) { var f, obj = { - startIdentifier: msg.getStartIdentifier_asB64(), - startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + elementsList: msg.getElementsList_asB64() }; if (includeInstance) { @@ -31292,23 +40567,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31317,11 +40592,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartIdentifier(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartIdentifierIncluded(value); + msg.addElements(value); break; default: reader.skipField(); @@ -31336,9 +40607,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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31346,403 +40617,495 @@ 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartIdentifier_asU8(); + f = message.getElementsList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = message.getStartIdentifierIncluded(); - if (f) { - writer.writeBool( - 2, - f - ); - } }; /** - * optional bytes start_identifier = 1; - * @return {string} + * repeated bytes elements = 1; + * @return {!Array} */ -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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes start_identifier = 1; - * This is a type-conversion wrapper around `getStartIdentifier()` - * @return {string} + * repeated bytes elements = 1; + * This is a type-conversion wrapper around `getElementsList()` + * @return {!Array} */ -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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getElementsList())); }; /** - * optional bytes start_identifier = 1; + * 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 `getStartIdentifier()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getElementsList()` + * @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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getElementsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this */ -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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional bool start_identifier_included = 2; - * @return {boolean} + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() { + return this.setElementsList([]); }; /** - * optional bytes contract_id = 1; - * @return {string} + * optional Elements elements = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ -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.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)); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + * @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); }; /** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() { + return this.setElements(undefined); }; /** - * @param {!(string|Uint8Array)} 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.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional string document_type_name = 2; - * @return {string} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -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.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 {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); + * @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); }; /** - * optional string index_name = 3; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this */ -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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * @param {string} 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.setIndexName = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * repeated bytes index_values = 4; - * @return {!Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -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.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)); }; /** - * 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())); + * @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); }; /** - * 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} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this */ -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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {!(Array|Array)} 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.setIndexValuesList = function(value) { - return jspb.Message.setField(this, 4, value || []); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this + * optional GetPathElementsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ -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.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)); }; /** - * 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([]); + * @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); }; /** - * optional bytes contestant_id = 5; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes contestant_id = 5; - * This is a type-conversion wrapper around `getContestantId()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -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.GetPathElementsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * 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} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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.prototype.getContestantId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContestantId())); -}; +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 +}; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this + * @return {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase} */ -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.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) { /** - * optional StartAtIdentifierInfo start_at_identifier_info = 6; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#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.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.GetStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject(opt_includeInstance, this); }; /** - * @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); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance 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; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() { - return this.setStartAtIdentifierInfo(undefined); +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); }; /** - * 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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() { - return jspb.Message.getField(this, 6) != null; +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; }; /** - * optional uint32 count = 7; - * @return {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -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.GetStatusRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetStatusRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setCount = function(value) { - return jspb.Message.setField(this, 7, value); +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) { /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() { - return jspb.Message.setField(this, 7, undefined); +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); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() { - return jspb.Message.getField(this, 7) != null; +proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bool order_ascending = 8; - * @return {boolean} + * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getOrderAscending = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +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); }; /** - * @param {boolean} 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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +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; }; /** - * optional bool prove = 9; - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -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.GetStatusRequest.GetStatusRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetStatusRequest.GetStatusRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -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.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; /** - * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} + * optional GetStatusRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} */ -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.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this + * @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.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.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.GetContestedResourceVotersForIdentityRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -31751,7 +41114,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.GetStatusRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -31765,21 +41128,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.GetStatusResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetStatusResponse.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.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])); }; @@ -31797,8 +41160,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.GetStatusResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject(opt_includeInstance, this); }; @@ -31807,13 +41170,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.GetStatusResponse} 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.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -31827,23 +41190,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.GetStatusResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityResponse; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityResponse} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31851,8 +41214,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.GetStatusResponse.GetStatusResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -31868,9 +41231,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.GetStatusResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -31878,50 +41241,24 @@ 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.GetStatusResponse} 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.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.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.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])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -31937,8 +41274,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.GetStatusResponse.GetStatusResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject(opt_includeInstance, this); }; @@ -31947,15 +41284,18 @@ 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.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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) + 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) { @@ -31969,23 +41309,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.GetStatusResponse.GetStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinary = function(bytes) { +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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -31993,19 +41333,34 @@ 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 = 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.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + 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.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + 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(); @@ -32020,9 +41375,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.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32030,47 +41385,64 @@ 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.GetStatusResponse.GetStatusResponseV0} 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.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContestedResourceVoters(); + f = message.getVersion(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter ); } - f = message.getProof(); + f = message.getNode(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getChain(); if (f != null) { writer.writeMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + 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 ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -32086,8 +41458,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.GetStatusResponse.GetStatusResponseV0.Version.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(opt_includeInstance, this); }; @@ -32096,14 +41468,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.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject = function(includeInstance, msg) { var f, obj = { - votersList: msg.getVotersList_asB64(), - finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + 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) { @@ -32117,23 +41489,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.GetStatusResponse.GetStatusResponseV0.Version} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The message object to deserialize into. + * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32141,12 +41513,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addVoters(value); + 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 = /** @type {boolean} */ (reader.readBool()); - msg.setFinishedResults(value); + 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(); @@ -32161,9 +41535,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.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32171,281 +41545,31 @@ 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.GetStatusResponse.GetStatusResponseV0.Version} 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.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotersList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getSoftware(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter ); } - f = message.getFinishedResults(); - if (f) { - writer.writeBool( + f = message.getProtocol(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter ); } }; -/** - * 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.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)); -}; - - -/** - * @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); -}; - - -/** - * 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.clearMetadata = function() { - return this.setMetadata(undefined); -}; - - -/** - * 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; -}; - - -/** - * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} - */ -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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} 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); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.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.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.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])); -}; @@ -32462,8 +41586,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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(opt_includeInstance, this); }; @@ -32472,13 +41596,15 @@ 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.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.GetContestedResourceIdentityVotesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f) + dapi: jspb.Message.getFieldWithDefault(msg, 1, ""), + drive: jspb.Message.getFieldWithDefault(msg, 2, ""), + tenderdash: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -32492,23 +41618,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.GetStatusResponse.GetStatusResponseV0.Version.Software} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesRequest; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesRequest} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32516,9 +41642,16 @@ 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); - msg.setV0(value); + 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(); @@ -32533,9 +41666,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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32543,23 +41676,126 @@ 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.GetStatusResponse.GetStatusResponseV0.Version.Software} 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.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDapi(); + if (f.length > 0) { + writer.writeString( 1, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter + 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; +}; + + @@ -32576,8 +41812,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(opt_includeInstance, this); }; @@ -32586,18 +41822,14 @@ 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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) + 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) { @@ -32611,23 +41843,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32635,31 +41867,14 @@ 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.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 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); + 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(); @@ -32674,9 +41889,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32684,55 +41899,26 @@ 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); + f = message.getTenderdash(); if (f != null) { writer.writeMessage( - 3, + 1, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOrderAscending(); - if (f) { - writer.writeBool( - 4, - f + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter ); } - f = message.getStartAtVotePollIdInfo(); + f = message.getDrive(); if (f != null) { writer.writeMessage( - 5, + 2, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter ); } }; @@ -32754,8 +41940,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.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); }; @@ -32764,14 +41950,14 @@ 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject = function(includeInstance, msg) { var f, obj = { - startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(), - startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + p2p: jspb.Message.getFieldWithDefault(msg, 1, 0), + block: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -32785,23 +41971,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -32809,12 +41995,12 @@ 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 {number} */ (reader.readUint32()); + msg.setP2p(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setStartPollIdentifierIncluded(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setBlock(value); break; default: reader.skipField(); @@ -32829,9 +42015,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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -32839,22 +42025,22 @@ 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStartAtPollIdentifier_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getP2p(); + if (f !== 0) { + writer.writeUint32( 1, f ); } - f = message.getStartPollIdentifierIncluded(); - if (f) { - writer.writeBool( + f = message.getBlock(); + if (f !== 0) { + writer.writeUint32( 2, f ); @@ -32863,169 +42049,226 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont /** - * optional bytes start_at_poll_identifier = 1; - * @return {string} + * optional uint32 p2p = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getP2p = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes start_at_poll_identifier = 1; - * This is a type-conversion wrapper around `getStartAtPollIdentifier()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAtPollIdentifier())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setP2p = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * 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} + * optional uint32 block = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAtPollIdentifier())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getBlock = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setBlock = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bool start_poll_identifier_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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartPollIdentifierIncluded = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +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); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +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; }; +} /** - * optional bytes identity_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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ -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.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); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +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; }; /** - * 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()` + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); +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(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} 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.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +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 google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * optional uint32 latest = 3; + * @return {number} */ -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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getLatest = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * @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); + * @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); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * optional uint32 current = 4; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getCurrent = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setCurrent = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * optional Tenderdash tenderdash = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ -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)); +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.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearTenderdash = function() { + return this.setTenderdash(undefined); }; @@ -33033,54 +42276,36 @@ 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.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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasTenderdash = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional StartAtVotePollIdInfo start_at_vote_poll_id_info = 5; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} + * optional Drive drive = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ -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)); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setStartAtVotePollIdInfo = function(value) { - return jspb.Message.setWrapperField(this, 5, value); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() { - return this.setStartAtVotePollIdInfo(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearDrive = function() { + return this.setDrive(undefined); }; @@ -33088,54 +42313,36 @@ 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.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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasDrive = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} + * optional Software software = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ -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)); +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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this + * @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.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.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.GetContestedResourceIdentityVotesRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearSoftware = function() { + return this.setSoftware(undefined); }; @@ -33143,179 +42350,51 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototy * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasSoftware = 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.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])); -}; - - - -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.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.GetContestedResourceIdentityVotesResponse} 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) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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} - */ -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.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.GetContestedResourceIdentityVotesResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} + * optional Protocol protocol = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +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)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); + * @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); }; /** - * 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 {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * 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.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearProtocol = function() { + return this.setProtocol(undefined); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.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} + * Returns whether this field is set. + * @return {boolean} */ -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])); +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. @@ -33329,8 +42408,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * 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.GetStatusResponse.GetStatusResponseV0.Time.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(opt_includeInstance, this); }; @@ -33339,15 +42418,16 @@ 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} msg The msg instance to transform. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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) + 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) { @@ -33361,23 +42441,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} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -33385,19 +42465,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon 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); + var value = /** @type {number} */ (reader.readUint64()); + msg.setLocal(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBlock(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.setGenesis(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); break; default: reader.skipField(); @@ -33412,9 +42493,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.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -33422,226 +42503,166 @@ 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} message + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVotes(); - if (f != null) { - writer.writeMessage( + f = message.getLocal(); + if (f !== 0) { + writer.writeUint64( 1, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter + f ); } - f = message.getProof(); + f = /** @type {number} */ (jspb.Message.getField(message, 2)); if (f != null) { - writer.writeMessage( + writer.writeUint64( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); + f = /** @type {number} */ (jspb.Message.getField(message, 3)); if (f != null) { - writer.writeMessage( + writer.writeUint64( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 4)); + if (f != null) { + writer.writeUint32( + 4, + f ); } }; - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * optional uint64 local = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.repeatedFields_ = [1]; - +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getLocal = 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.GetStatusResponse.GetStatusResponseV0.Time} 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.GetStatusResponse.GetStatusResponseV0.Time.prototype.setLocal = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional uint64 block = 2; + * @return {number} */ -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) - }; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getBlock = 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.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); }; -} /** - * 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} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearBlock = function() { + return jspb.Message.setField(this, 2, undefined); }; /** - * 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} + * Returns whether this field is set. + * @return {boolean} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasBlock = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional uint64 genesis = 3; + * @return {number} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.getGenesis = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.setGenesis = function(value) { + return jspb.Message.setField(this, 3, value); }; /** - * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1; - * @return {!Array} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearGenesis = function() { + return jspb.Message.setField(this, 3, undefined); }; /** - * @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); + * 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; }; /** - * @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} + * optional uint32 epoch = 4; + * @return {number} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() { - return this.setContestedResourceIdentityVotesList([]); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setEpoch = function(value) { + return jspb.Message.setField(this, 4, value); }; /** - * optional bool finished_results = 2; - * @return {boolean} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getFinishedResults = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearEpoch = function() { + return jspb.Message.setField(this, 4, undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this + * Returns whether this field is set. + * @return {boolean} */ -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.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasEpoch = function() { + return jspb.Message.getField(this, 4) != null; }; @@ -33661,8 +42682,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.GetStatusResponse.GetStatusResponseV0.Node.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(opt_includeInstance, this); }; @@ -33671,14 +42692,14 @@ 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.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject = function(includeInstance, msg) { var f, obj = { - voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0), - identityId: msg.getIdentityId_asB64() + id: msg.getId_asB64(), + proTxHash: msg.getProTxHash_asB64() }; if (includeInstance) { @@ -33692,23 +42713,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.GetStatusResponse.GetStatusResponseV0.Node} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinary = function(bytes) { +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.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.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -33716,12 +42737,12 @@ 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.setId(value); break; case 2: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); + msg.setProTxHash(value); break; default: reader.skipField(); @@ -33736,9 +42757,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.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -33746,15 +42767,15 @@ 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.GetStatusResponse.GetStatusResponseV0.Node} 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.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVoteChoiceType(); - if (f !== 0.0) { - writer.writeEnum( + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, f ); @@ -33770,79 +42791,94 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon /** - * @enum {number} + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType = { - TOWARDS_IDENTITY: 0, - ABSTAIN: 1, - LOCK: 2 +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; + /** - * optional VoteChoiceType vote_choice_type = 1; - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * @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 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) { - return jspb.Message.setProto3EnumField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * optional bytes identity_id = 2; + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * optional bytes identity_id = 2; - * This is a type-conversion wrapper around `getIdentityId()` + * optional bytes pro_tx_hash = 2; + * This is a type-conversion wrapper around `getProTxHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); + this.getProTxHash())); }; /** - * optional bytes identity_id = 2; + * 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 `getIdentityId()` + * This is a type-conversion wrapper around `getProTxHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); + this.getProTxHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) { +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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.clearProTxHash = function() { return jspb.Message.setField(this, 2, undefined); }; @@ -33851,19 +42887,12 @@ 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.hasProTxHash = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -33879,8 +42908,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(opt_includeInstance, this); }; @@ -33889,16 +42918,21 @@ 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.ContestedResourceIdentityVote} msg The msg instance to transform. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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) + 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) { @@ -33912,23 +42946,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.ContestedResourceIdentityVote} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinary = function(bytes) { +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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote; - return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader(msg, reader); + 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The message object to deserialize into. + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -33936,21 +42970,40 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setCatchingUp(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentTypeName(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setLatestBlockHash(value); break; case 3: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addSerializedIndexStorageValues(value); + msg.setLatestAppHash(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); + var value = /** @type {number} */ (reader.readUint64()); + 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 {number} */ (reader.readUint64()); + msg.setEarliestBlockHeight(value); + break; + case 9: + var value = /** @type {number} */ (reader.readUint64()); + msg.setMaxPeerBlockHeight(value); + break; + case 10: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreChainLockedHeight(value); break; default: reader.skipField(); @@ -33965,9 +43018,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.ContestedResourceIdentityVote.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -33975,378 +43028,357 @@ 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.ContestedResourceIdentityVote} message + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getCatchingUp(); + if (f) { + writer.writeBool( 1, f ); } - f = message.getDocumentTypeName(); + f = message.getLatestBlockHash_asU8(); if (f.length > 0) { - writer.writeString( + writer.writeBytes( 2, f ); } - f = message.getSerializedIndexStorageValuesList_asU8(); + f = message.getLatestAppHash_asU8(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeBytes( 3, f ); } - f = message.getVoteChoice(); - if (f != null) { - writer.writeMessage( + f = message.getLatestBlockHeight(); + if (f !== 0) { + writer.writeUint64( 4, - f, - proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter + 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 (f !== 0) { + writer.writeUint64( + 7, + f + ); + } + f = message.getMaxPeerBlockHeight(); + if (f !== 0) { + writer.writeUint64( + 9, + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 10)); + if (f != null) { + writer.writeUint32( + 10, + f ); } }; /** - * 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} + * optional bool catching_up = 1; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCatchingUp = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCatchingUp = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); }; /** - * optional string document_type_name = 2; + * optional bytes latest_block_hash = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getDocumentTypeName = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash = 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} + * optional bytes latest_block_hash = 2; + * This is a type-conversion wrapper around `getLatestBlockHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getSerializedIndexStorageValuesList())); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getLatestBlockHash())); }; /** - * repeated bytes serialized_index_storage_values = 3; + * 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 `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 + * This is a type-conversion wrapper around `getLatestBlockHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() { - return this.setSerializedIndexStorageValuesList([]); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getLatestBlockHash())); }; /** - * optional ResourceVoteChoice vote_choice = 4; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); }; /** - * @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); + * 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, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this + * optional bytes latest_app_hash = 3; + * This is a type-conversion wrapper around `getLatestAppHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() { - return this.setVoteChoice(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getLatestAppHash())); }; /** - * Returns whether this field is set. - * @return {boolean} + * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getLatestAppHash())); }; /** - * optional ContestedResourceIdentityVotes votes = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestAppHash = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); }; /** - * @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); + * optional uint64 latest_block_height = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() { - return this.setVotes(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes earliest_block_hash = 5; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes earliest_block_hash = 5; + * This is a type-conversion wrapper around `getEarliestBlockHash()` + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getEarliestBlockHash())); }; /** - * @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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHash = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes earliest_app_hash = 6; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes earliest_app_hash = 6; + * This is a type-conversion wrapper around `getEarliestAppHash()` + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getEarliestAppHash())); }; /** - * @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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestAppHash = function(value) { + return jspb.Message.setProto3BytesField(this, 6, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional uint64 earliest_block_height = 7; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); }; /** - * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 7, value); }; /** - * @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); + * optional uint64 max_peer_block_height = 9; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getMaxPeerBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setMaxPeerBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 9, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional uint32 core_chain_locked_height = 10; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCoreChainLockedHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0)); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCoreChainLockedHeight = function(value) { + return jspb.Message.setField(this, 10, value); +}; + /** - * @enum {number} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.clearCoreChainLockedHeight = function() { + return jspb.Message.setField(this, 10, undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase} + * Returns whether this field is set. + * @return {boolean} */ -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.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. @@ -34360,8 +43392,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.GetStatusResponse.GetStatusResponseV0.Network.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(opt_includeInstance, this); }; @@ -34370,13 +43402,15 @@ 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.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.GetPrefundedSpecializedBalanceRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(includeInstance, f) + chainId: jspb.Message.getFieldWithDefault(msg, 1, ""), + peersCount: jspb.Message.getFieldWithDefault(msg, 2, 0), + listening: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -34390,23 +43424,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.GetStatusResponse.GetStatusResponseV0.Network} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinary = function(bytes) { +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.GetPrefundedSpecializedBalanceRequest; - return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader(msg, reader); + 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.GetPrefundedSpecializedBalanceRequest} msg The message object to deserialize into. + * @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.GetPrefundedSpecializedBalanceRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -34414,9 +43448,16 @@ 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); - msg.setV0(value); + 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(); @@ -34431,9 +43472,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.GetStatusResponse.GetStatusResponseV0.Network.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -34441,23 +43482,90 @@ 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.GetStatusResponse.GetStatusResponseV0.Network} 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.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getChainId(); + if (f.length > 0) { + writer.writeString( 1, - f, - proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter + 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); +}; + + @@ -34474,8 +43582,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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(opt_includeInstance, this); }; @@ -34484,14 +43592,20 @@ 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.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + 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) { @@ -34505,23 +43619,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.GetStatusResponse.GetStatusResponseV0.StateSync} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinary = function(bytes) { +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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0; - return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader(msg, reader); + 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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The message object to deserialize into. + * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -34529,12 +43643,36 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setTotalSyncedTime(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setRemainingTime(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint32()); + msg.setTotalSnapshots(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setChunkProcessAvgTime(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint64()); + msg.setSnapshotHeight(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint64()); + msg.setSnapshotChunksCount(value); + break; + case 7: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBackfilledBlocks(value); + break; + case 8: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBackfillBlocksTotal(value); break; default: reader.skipField(); @@ -34549,9 +43687,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.GetStatusResponse.GetStatusResponseV0.StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -34559,455 +43697,351 @@ 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.GetStatusResponse.GetStatusResponseV0.StateSync} 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.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getTotalSyncedTime(); + if (f !== 0) { + writer.writeUint64( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getRemainingTime(); + if (f !== 0) { + writer.writeUint64( 2, f ); } + f = message.getTotalSnapshots(); + if (f !== 0) { + writer.writeUint32( + 3, + f + ); + } + f = message.getChunkProcessAvgTime(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getSnapshotHeight(); + if (f !== 0) { + writer.writeUint64( + 5, + f + ); + } + f = message.getSnapshotChunksCount(); + if (f !== 0) { + writer.writeUint64( + 6, + f + ); + } + f = message.getBackfilledBlocks(); + if (f !== 0) { + writer.writeUint64( + 7, + f + ); + } + f = message.getBackfillBlocksTotal(); + if (f !== 0) { + writer.writeUint64( + 8, + 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 + * optional uint64 total_synced_time = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSyncedTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSyncedTime = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this + * optional uint64 remaining_time = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getRemainingTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * optional GetPrefundedSpecializedBalanceRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setRemainingTime = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this + * optional uint32 total_snapshots = 3; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSnapshots = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSnapshots = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.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} + * optional uint64 chunk_process_avg_time = 4; + * @return {number} */ -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])); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getChunkProcessAvgTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setChunkProcessAvgTime = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional uint64 snapshot_height = 5; + * @return {number} */ -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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotHeight = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.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; + * optional uint64 snapshot_chunks_count = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotChunksCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -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(); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotChunksCount = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); }; /** - * 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 + * optional uint64 backfilled_blocks = 7; + * @return {number} */ -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 - ); - } +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfilledBlocks = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 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.setBackfilledBlocks = function(value) { + return jspb.Message.setProto3IntField(this, 7, value); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional uint64 backfill_blocks_total = 8; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfillBlocksTotal = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); +}; + /** - * @enum {number} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfillBlocksTotal = function(value) { + return jspb.Message.setProto3IntField(this, 8, value); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} + * optional Version version = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ -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.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); +}; + -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.GetStatusResponse.GetStatusResponseV0} 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.GetStatusResponse.GetStatusResponseV0.prototype.clearVersion = function() { + return this.setVersion(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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.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.GetStatusResponse.GetStatusResponseV0.prototype.hasVersion = function() { + return jspb.Message.getField(this, 1) != null; +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * 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)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} + * @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.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.GetStatusResponse.GetStatusResponseV0.prototype.clearNode = function() { + return this.setNode(undefined); }; /** - * 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} + * Returns whether this field is set. + * @return {boolean} */ -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 {number} */ (reader.readUint64()); - msg.setBalance(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNode = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional Chain chain = 3; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ -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.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)); }; /** - * 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 {?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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = /** @type {number} */ (jspb.Message.getField(message, 1)); - if (f != null) { - writer.writeUint64( - 1, - f - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearChain = function() { + return this.setChain(undefined); }; /** - * optional uint64 balance = 1; - * @return {number} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasChain = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * optional Network network = 4; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ -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.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)); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.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.GetStatusResponse.GetStatusResponseV0} 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); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNetwork = function() { + return this.setNetwork(undefined); }; @@ -35015,36 +44049,36 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefun * 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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNetwork = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional StateSync state_sync = 5; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setStateSync = function(value) { + return jspb.Message.setWrapperField(this, 5, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearStateSync = function() { + return this.setStateSync(undefined); }; @@ -35052,36 +44086,36 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefun * 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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasStateSync = function() { + return jspb.Message.getField(this, 5) != null; }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional Time time = 6; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setTime = function(value) { + return jspb.Message.setWrapperField(this, 6, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearTime = function() { + return this.setTime(undefined); }; @@ -35089,35 +44123,35 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefun * 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; +proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasTime = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} + * optional GetStatusResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns 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.GetPrefundedSpecializedBalanceResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0], value); +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); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -35126,7 +44160,7 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -35140,21 +44174,21 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.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.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])); }; @@ -35172,8 +44206,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.GetCurrentQuorumsInfoRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject(opt_includeInstance, this); }; @@ -35182,13 +44216,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.GetCurrentQuorumsInfoRequest} 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.GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -35202,23 +44236,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.GetCurrentQuorumsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest; - return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} 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.GetPathElementsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35226,8 +44260,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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -35243,9 +44277,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.GetCurrentQuorumsInfoRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35253,31 +44287,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.GetCurrentQuorumsInfoRequest} 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.GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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) { @@ -35293,8 +44320,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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(opt_includeInstance, this); }; @@ -35303,15 +44330,13 @@ 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.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - pathList: msg.getPathList_asB64(), - keysList: msg.getKeysList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) + }; if (includeInstance) { @@ -35325,41 +44350,29 @@ 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0; - return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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 {!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; @@ -35373,9 +44386,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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35383,238 +44396,191 @@ 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} 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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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} + * optional GetCurrentQuorumsInfoRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ -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.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 {!(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 {?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); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() { - return this.setPathList([]); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * 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} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if 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.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getKeysList())); -}; - +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_ = [[1]]; /** - * 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} + * @enum {number} */ -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.GetCurrentQuorumsInfoResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this + * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase} */ -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.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])); }; -/** - * @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); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() { - return this.setKeysList([]); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject(opt_includeInstance, this); }; /** - * optional bool prove = 3; - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} 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.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); -}; - +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(includeInstance, f) + }; -/** - * @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); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional GetPathElementsRequestV0 v0 = 1; - * @return {?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.GetCurrentQuorumsInfoResponse} */ -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); +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.GetCurrentQuorumsInfoResponse; + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} 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.GetCurrentQuorumsInfoResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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 + ); + } }; -/** - * @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])); -}; + @@ -35631,8 +44597,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.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(opt_includeInstance, this); }; @@ -35641,13 +44607,15 @@ 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.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.GetPathElementsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(includeInstance, f) + proTxHash: msg.getProTxHash_asB64(), + nodeIp: jspb.Message.getFieldWithDefault(msg, 2, ""), + isBanned: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -35661,23 +44629,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.GetCurrentQuorumsInfoResponse.ValidatorV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse; - return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} 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.GetPathElementsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35685,9 +44653,16 @@ 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); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setProTxHash(value); + break; + case 2: + 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(); @@ -35702,9 +44677,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.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35712,52 +44687,124 @@ 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.GetCurrentQuorumsInfoResponse.ValidatorV0} 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.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getNodeIp(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getIsBanned(); + if (f) { + writer.writeBool( + 3, + f ); } }; +/** + * 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, "")); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the 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 pro_tx_hash = 1; + * This is a type-conversion wrapper around `getProTxHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getProTxHash())); +}; + /** - * @enum {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.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - ELEMENTS: 1, - PROOF: 2 +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); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase} + * optional string node_ip = 2; + * @return {string} */ -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.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) { /** * Creates an object representation of this proto. @@ -35771,8 +44818,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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(opt_includeInstance, this); }; @@ -35781,15 +44828,17 @@ 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.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.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) + 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) { @@ -35803,23 +44852,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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0; - return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetPathElementsResponse.GetPathElementsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35827,19 +44876,21 @@ 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 = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setQuorumHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreHeight(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.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); break; default: reader.skipField(); @@ -35854,9 +44905,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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -35864,46 +44915,191 @@ 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getElements(); - if (f != null) { - writer.writeMessage( + f = message.getQuorumHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getCoreHeight(); + if (f !== 0) { + writer.writeUint32( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getMembersList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + 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; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes quorum_hash = 1; + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getQuorumHash())); +}; + + +/** + * 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.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getQuorumHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint32 core_height = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getCoreHeight = 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} + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getThresholdPublicKey())); +}; + + +/** + * 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())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setThresholdPublicKey = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; + + /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_ = [1,3]; @@ -35920,8 +45116,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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(opt_includeInstance, this); }; @@ -35930,13 +45126,18 @@ 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.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - elementsList: msg.getElementsList_asB64() + 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) { @@ -35950,23 +45151,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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.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.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -35975,7 +45176,25 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addElements(value); + 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(); @@ -35990,9 +45209,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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -36000,60 +45219,90 @@ 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getElementsList_asU8(); + 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 elements = 1; + * repeated bytes quorum_hashes = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes elements = 1; - * This is a type-conversion wrapper around `getElementsList()` + * repeated bytes quorum_hashes = 1; + * This is a type-conversion wrapper around `getQuorumHashesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getElementsList())); + this.getQuorumHashesList())); }; /** - * repeated bytes elements = 1; + * 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 `getElementsList()` + * This is a type-conversion wrapper around `getQuorumHashesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getElementsList())); + this.getQuorumHashesList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setQuorumHashesList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -36061,120 +45310,168 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addQuorumHashes = 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 + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() { - return this.setElementsList([]); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearQuorumHashesList = function() { + return this.setQuorumHashesList([]); }; /** - * optional Elements elements = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} + * optional bytes current_quorum_hash = 2; + * @return {string} */ -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)); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @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); + * 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())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() { - return this.setElements(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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setCurrentQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * repeated ValidatorSetV0 validator_sets = 3; + * @return {!Array} */ -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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getValidatorSetsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} 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); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setValidatorSetsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +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); }; /** - * 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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearValidatorSetsList = function() { + return this.setValidatorSetsList([]); }; /** - * optional ResponseMetadata metadata = 3; + * optional bytes last_block_proposer = 4; + * @return {string} + */ +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())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setLastBlockProposer = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; + + +/** + * optional ResponseMetadata metadata = 5; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getMetadata = function() { +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, 3)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 5)); }; /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 5, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -36183,35 +45480,35 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV * 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; +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 5) != null; }; /** - * optional GetPathElementsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} + * optional GetCurrentQuorumsInfoResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ -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.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)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this + * @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.GetPathElementsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0], value); +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); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -36220,7 +45517,7 @@ 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() { +proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts index 09de0d560bd..11bc954b2d0 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 @@ -67,6 +67,15 @@ type PlatformgetIdentityBalance = { readonly responseType: typeof platform_pb.GetIdentityBalanceResponse; }; +type PlatformgetIdentitiesBalances = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetIdentitiesBalancesRequest; + readonly responseType: typeof platform_pb.GetIdentitiesBalancesResponse; +}; + type PlatformgetIdentityBalanceAndRevision = { readonly methodName: string; readonly service: typeof Platform; @@ -76,6 +85,24 @@ type PlatformgetIdentityBalanceAndRevision = { readonly responseType: typeof platform_pb.GetIdentityBalanceAndRevisionResponse; }; +type PlatformgetEvonodesProposedEpochBlocksByIds = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetEvonodesProposedEpochBlocksByIdsRequest; + readonly responseType: typeof platform_pb.GetEvonodesProposedEpochBlocksResponse; +}; + +type PlatformgetEvonodesProposedEpochBlocksByRange = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetEvonodesProposedEpochBlocksByRangeRequest; + readonly responseType: typeof platform_pb.GetEvonodesProposedEpochBlocksResponse; +}; + type PlatformgetProofs = { readonly methodName: string; readonly service: typeof Platform; @@ -229,6 +256,15 @@ type PlatformgetPrefundedSpecializedBalance = { readonly responseType: typeof platform_pb.GetPrefundedSpecializedBalanceResponse; }; +type PlatformgetTotalCreditsInPlatform = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetTotalCreditsInPlatformRequest; + readonly responseType: typeof platform_pb.GetTotalCreditsInPlatformResponse; +}; + type PlatformgetPathElements = { readonly methodName: string; readonly service: typeof Platform; @@ -238,6 +274,24 @@ type PlatformgetPathElements = { readonly responseType: typeof platform_pb.GetPathElementsResponse; }; +type PlatformgetStatus = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetStatusRequest; + readonly responseType: typeof platform_pb.GetStatusResponse; +}; + +type PlatformgetCurrentQuorumsInfo = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetCurrentQuorumsInfoRequest; + readonly responseType: typeof platform_pb.GetCurrentQuorumsInfoResponse; +}; + export class Platform { static readonly serviceName: string; static readonly broadcastStateTransition: PlatformbroadcastStateTransition; @@ -247,7 +301,10 @@ export class Platform { static readonly getIdentityNonce: PlatformgetIdentityNonce; static readonly getIdentityContractNonce: PlatformgetIdentityContractNonce; static readonly getIdentityBalance: PlatformgetIdentityBalance; + static readonly getIdentitiesBalances: PlatformgetIdentitiesBalances; static readonly getIdentityBalanceAndRevision: PlatformgetIdentityBalanceAndRevision; + static readonly getEvonodesProposedEpochBlocksByIds: PlatformgetEvonodesProposedEpochBlocksByIds; + static readonly getEvonodesProposedEpochBlocksByRange: PlatformgetEvonodesProposedEpochBlocksByRange; static readonly getProofs: PlatformgetProofs; static readonly getDataContract: PlatformgetDataContract; static readonly getDataContractHistory: PlatformgetDataContractHistory; @@ -265,7 +322,10 @@ export class Platform { static readonly getContestedResourceIdentityVotes: PlatformgetContestedResourceIdentityVotes; static readonly getVotePollsByEndDate: PlatformgetVotePollsByEndDate; static readonly getPrefundedSpecializedBalance: PlatformgetPrefundedSpecializedBalance; + static readonly getTotalCreditsInPlatform: PlatformgetTotalCreditsInPlatform; static readonly getPathElements: PlatformgetPathElements; + static readonly getStatus: PlatformgetStatus; + static readonly getCurrentQuorumsInfo: PlatformgetCurrentQuorumsInfo; } export type ServiceError = { message: string, code: number; metadata: grpc.Metadata } @@ -363,6 +423,15 @@ export class PlatformClient { requestMessage: platform_pb.GetIdentityBalanceRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityBalanceResponse|null) => void ): UnaryResponse; + getIdentitiesBalances( + requestMessage: platform_pb.GetIdentitiesBalancesRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentitiesBalancesResponse|null) => void + ): UnaryResponse; + getIdentitiesBalances( + requestMessage: platform_pb.GetIdentitiesBalancesRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentitiesBalancesResponse|null) => void + ): UnaryResponse; getIdentityBalanceAndRevision( requestMessage: platform_pb.GetIdentityBalanceAndRevisionRequest, metadata: grpc.Metadata, @@ -372,6 +441,24 @@ export class PlatformClient { requestMessage: platform_pb.GetIdentityBalanceAndRevisionRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityBalanceAndRevisionResponse|null) => void ): UnaryResponse; + getEvonodesProposedEpochBlocksByIds( + requestMessage: platform_pb.GetEvonodesProposedEpochBlocksByIdsRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetEvonodesProposedEpochBlocksResponse|null) => void + ): UnaryResponse; + getEvonodesProposedEpochBlocksByIds( + requestMessage: platform_pb.GetEvonodesProposedEpochBlocksByIdsRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetEvonodesProposedEpochBlocksResponse|null) => void + ): UnaryResponse; + getEvonodesProposedEpochBlocksByRange( + requestMessage: platform_pb.GetEvonodesProposedEpochBlocksByRangeRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetEvonodesProposedEpochBlocksResponse|null) => void + ): UnaryResponse; + getEvonodesProposedEpochBlocksByRange( + requestMessage: platform_pb.GetEvonodesProposedEpochBlocksByRangeRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetEvonodesProposedEpochBlocksResponse|null) => void + ): UnaryResponse; getProofs( requestMessage: platform_pb.GetProofsRequest, metadata: grpc.Metadata, @@ -525,6 +612,15 @@ export class PlatformClient { requestMessage: platform_pb.GetPrefundedSpecializedBalanceRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetPrefundedSpecializedBalanceResponse|null) => void ): UnaryResponse; + getTotalCreditsInPlatform( + requestMessage: platform_pb.GetTotalCreditsInPlatformRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetTotalCreditsInPlatformResponse|null) => void + ): UnaryResponse; + getTotalCreditsInPlatform( + requestMessage: platform_pb.GetTotalCreditsInPlatformRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetTotalCreditsInPlatformResponse|null) => void + ): UnaryResponse; getPathElements( requestMessage: platform_pb.GetPathElementsRequest, metadata: grpc.Metadata, @@ -534,5 +630,23 @@ export class PlatformClient { requestMessage: platform_pb.GetPathElementsRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetPathElementsResponse|null) => void ): UnaryResponse; + getStatus( + requestMessage: platform_pb.GetStatusRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetStatusResponse|null) => void + ): UnaryResponse; + getStatus( + requestMessage: platform_pb.GetStatusRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetStatusResponse|null) => void + ): UnaryResponse; + getCurrentQuorumsInfo( + requestMessage: platform_pb.GetCurrentQuorumsInfoRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetCurrentQuorumsInfoResponse|null) => void + ): UnaryResponse; + getCurrentQuorumsInfo( + requestMessage: platform_pb.GetCurrentQuorumsInfoRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetCurrentQuorumsInfoResponse|null) => void + ): UnaryResponse; } diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js index c8e21b94b0f..5ba77dbcd45 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 @@ -73,6 +73,15 @@ Platform.getIdentityBalance = { responseType: platform_pb.GetIdentityBalanceResponse }; +Platform.getIdentitiesBalances = { + methodName: "getIdentitiesBalances", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetIdentitiesBalancesRequest, + responseType: platform_pb.GetIdentitiesBalancesResponse +}; + Platform.getIdentityBalanceAndRevision = { methodName: "getIdentityBalanceAndRevision", service: Platform, @@ -82,6 +91,24 @@ Platform.getIdentityBalanceAndRevision = { responseType: platform_pb.GetIdentityBalanceAndRevisionResponse }; +Platform.getEvonodesProposedEpochBlocksByIds = { + methodName: "getEvonodesProposedEpochBlocksByIds", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetEvonodesProposedEpochBlocksByIdsRequest, + responseType: platform_pb.GetEvonodesProposedEpochBlocksResponse +}; + +Platform.getEvonodesProposedEpochBlocksByRange = { + methodName: "getEvonodesProposedEpochBlocksByRange", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetEvonodesProposedEpochBlocksByRangeRequest, + responseType: platform_pb.GetEvonodesProposedEpochBlocksResponse +}; + Platform.getProofs = { methodName: "getProofs", service: Platform, @@ -235,6 +262,15 @@ Platform.getPrefundedSpecializedBalance = { responseType: platform_pb.GetPrefundedSpecializedBalanceResponse }; +Platform.getTotalCreditsInPlatform = { + methodName: "getTotalCreditsInPlatform", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetTotalCreditsInPlatformRequest, + responseType: platform_pb.GetTotalCreditsInPlatformResponse +}; + Platform.getPathElements = { methodName: "getPathElements", service: Platform, @@ -244,6 +280,24 @@ Platform.getPathElements = { responseType: platform_pb.GetPathElementsResponse }; +Platform.getStatus = { + methodName: "getStatus", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetStatusRequest, + responseType: platform_pb.GetStatusResponse +}; + +Platform.getCurrentQuorumsInfo = { + methodName: "getCurrentQuorumsInfo", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetCurrentQuorumsInfoRequest, + responseType: platform_pb.GetCurrentQuorumsInfoResponse +}; + exports.Platform = Platform; function PlatformClient(serviceHost, options) { @@ -468,6 +522,37 @@ PlatformClient.prototype.getIdentityBalance = function getIdentityBalance(reques }; }; +PlatformClient.prototype.getIdentitiesBalances = function getIdentitiesBalances(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getIdentitiesBalances, { + 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.getIdentityBalanceAndRevision = function getIdentityBalanceAndRevision(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; @@ -499,6 +584,68 @@ PlatformClient.prototype.getIdentityBalanceAndRevision = function getIdentityBal }; }; +PlatformClient.prototype.getEvonodesProposedEpochBlocksByIds = function getEvonodesProposedEpochBlocksByIds(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getEvonodesProposedEpochBlocksByIds, { + 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.getEvonodesProposedEpochBlocksByRange = function getEvonodesProposedEpochBlocksByRange(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getEvonodesProposedEpochBlocksByRange, { + 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.getProofs = function getProofs(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; @@ -1026,6 +1173,37 @@ PlatformClient.prototype.getPrefundedSpecializedBalance = function getPrefundedS }; }; +PlatformClient.prototype.getTotalCreditsInPlatform = function getTotalCreditsInPlatform(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getTotalCreditsInPlatform, { + 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.getPathElements = function getPathElements(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; @@ -1057,5 +1235,67 @@ PlatformClient.prototype.getPathElements = function getPathElements(requestMessa }; }; +PlatformClient.prototype.getStatus = function getStatus(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getStatus, { + 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.getCurrentQuorumsInfo = function getCurrentQuorumsInfo(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getCurrentQuorumsInfo, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + exports.PlatformClient = PlatformClient; diff --git a/packages/dapi-grpc/package.json b/packages/dapi-grpc/package.json index 53eb1789e5b..a60b2363adc 100644 --- a/packages/dapi-grpc/package.json +++ b/packages/dapi-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-grpc", - "version": "1.0.2", + "version": "1.4.0-dev.1", "description": "DAPI GRPC definition file and generated clients", "browser": "browser.js", "main": "node.js", diff --git a/packages/dapi-grpc/protos/platform/v0/platform.proto b/packages/dapi-grpc/protos/platform/v0/platform.proto index cf17a805fb3..b46d784ceb7 100644 --- a/packages/dapi-grpc/protos/platform/v0/platform.proto +++ b/packages/dapi-grpc/protos/platform/v0/platform.proto @@ -16,8 +16,14 @@ service Platform { rpc getIdentityContractNonce(GetIdentityContractNonceRequest) returns (GetIdentityContractNonceResponse); rpc getIdentityBalance(GetIdentityBalanceRequest) returns (GetIdentityBalanceResponse); + rpc getIdentitiesBalances(GetIdentitiesBalancesRequest) + returns (GetIdentitiesBalancesResponse); rpc getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse); + rpc getEvonodesProposedEpochBlocksByIds(GetEvonodesProposedEpochBlocksByIdsRequest) + returns (GetEvonodesProposedEpochBlocksResponse); + rpc getEvonodesProposedEpochBlocksByRange(GetEvonodesProposedEpochBlocksByRangeRequest) + returns (GetEvonodesProposedEpochBlocksResponse); rpc getProofs(GetProofsRequest) returns (GetProofsResponse); rpc getDataContract(GetDataContractRequest) returns (GetDataContractResponse); rpc getDataContractHistory(GetDataContractHistoryRequest) @@ -45,7 +51,10 @@ service Platform { // What vote polls will end soon? rpc getVotePollsByEndDate(GetVotePollsByEndDateRequest) returns (GetVotePollsByEndDateResponse); rpc getPrefundedSpecializedBalance(GetPrefundedSpecializedBalanceRequest) returns (GetPrefundedSpecializedBalanceResponse); + rpc getTotalCreditsInPlatform(GetTotalCreditsInPlatformRequest) returns (GetTotalCreditsInPlatformResponse); rpc getPathElements(GetPathElementsRequest) returns (GetPathElementsResponse); + rpc getStatus(GetStatusRequest) returns (GetStatusResponse); + rpc getCurrentQuorumsInfo(GetCurrentQuorumsInfoRequest) returns (GetCurrentQuorumsInfoResponse); } // Proof message includes cryptographic proofs for validating responses @@ -305,6 +314,85 @@ message GetIdentitiesContractKeysResponse { oneof version { GetIdentitiesContractKeysResponseV0 v0 = 1; } } +message GetEvonodesProposedEpochBlocksByIdsRequest { + + message GetEvonodesProposedEpochBlocksByIdsRequestV0 { + optional uint32 epoch = 1; // The epoch we are querying for, if none is set, get current epoch + repeated bytes ids = 2; // IDs of the evonodes for which we want to get their proposed blocks + bool prove = 3; // Flag to request a proof as the response + } + + oneof version { GetEvonodesProposedEpochBlocksByIdsRequestV0 v0 = 1; } +} + +message GetEvonodesProposedEpochBlocksResponse { + + message GetEvonodesProposedEpochBlocksResponseV0 { + message EvonodeProposedBlocks { + bytes pro_tx_hash = 1; + uint64 count = 2; + } + + message EvonodesProposedBlocks { + repeated EvonodeProposedBlocks evonodes_proposed_block_counts = 1; + } + + oneof result { + EvonodesProposedBlocks evonodes_proposed_block_counts_info = 1; // The actual result + Proof proof = 2; // Proof of the keys data, if requested + } + ResponseMetadata metadata = 3; // Metadata about the blockchain state + } + oneof version { GetEvonodesProposedEpochBlocksResponseV0 v0 = 1; } +} + +message GetEvonodesProposedEpochBlocksByRangeRequest { + + message GetEvonodesProposedEpochBlocksByRangeRequestV0 { + optional uint32 epoch = 1; // The epoch we are querying for, if none is set, get current epoch + optional uint32 limit = 2; // Maximum number of evonodes proposed epoch blocks to return + oneof start { + bytes start_after = 3; // Start retrieval after this document + bytes start_at = 4; // Start retrieval at this document + } + bool prove = 5; // Flag to request a proof as the response + } + + oneof version { GetEvonodesProposedEpochBlocksByRangeRequestV0 v0 = 1; } +} + +message GetIdentitiesBalancesRequest { + message GetIdentitiesBalancesRequestV0 { + repeated bytes ids = 1; + bool prove = 2; + } + + oneof version { + GetIdentitiesBalancesRequestV0 v0 = 1; + } +} + +message GetIdentitiesBalancesResponse { + message GetIdentitiesBalancesResponseV0 { + message IdentityBalance { + bytes identity_id = 1; + optional uint64 balance = 2; + } + + message IdentitiesBalances { + repeated IdentityBalance entries = 1; + }; + + oneof result { + IdentitiesBalances identities_balances = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { GetIdentitiesBalancesResponseV0 v0 = 1; } +} + message GetProofsRequest { message GetProofsRequestV0 { // DocumentRequest specifies a request for a document proof @@ -945,6 +1033,30 @@ message GetPrefundedSpecializedBalanceResponse { oneof version { GetPrefundedSpecializedBalanceResponseV0 v0 = 1; } } +message GetTotalCreditsInPlatformRequest { + message GetTotalCreditsInPlatformRequestV0 { + bool prove = 1; + } + + oneof version { + GetTotalCreditsInPlatformRequestV0 v0 = 1; + } +} + +message GetTotalCreditsInPlatformResponse { + message GetTotalCreditsInPlatformResponseV0 { + oneof result { + uint64 credits = 1; + + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { + GetTotalCreditsInPlatformResponseV0 v0 = 1; + } +} message GetPathElementsRequest { message GetPathElementsRequestV0 { @@ -976,3 +1088,130 @@ message GetPathElementsResponse { GetPathElementsResponseV0 v0 = 1; } } + +message GetStatusRequest { + message GetStatusRequestV0 { + } + + oneof version { GetStatusRequestV0 v0 = 1; } +} + + +message GetStatusResponse { + message GetStatusResponseV0 { + message Version { + message Software { + string dapi = 1; + // It will be missing if Drive is not responding + optional string drive = 2; + // It will be missing if Tenderdash is not responding + optional string tenderdash = 3; + } + + message Protocol { + message Tenderdash { + uint32 p2p = 1; + uint32 block = 2; + } + + message Drive { + uint32 latest = 3; + uint32 current = 4; + } + + Tenderdash tenderdash = 1; + Drive drive = 2; + } + + Software software = 1; + Protocol protocol = 2; + } + + message Time { + uint64 local = 1; + // It will be missing if Drive is not responding + optional uint64 block = 2; + // It will be missing if Drive is not responding + optional uint64 genesis = 3; + // It will be missing if Drive is not responding + optional uint32 epoch = 4; + } + + message Node { + // Platform node ID + bytes id = 1; + // Evo masternode pro tx hash. It will be absent if the node is a fullnode + optional bytes pro_tx_hash = 2; + } + + message Chain { + bool catching_up = 1; + bytes latest_block_hash = 2; + bytes latest_app_hash = 3; + uint64 latest_block_height = 4; + bytes earliest_block_hash = 5; + bytes earliest_app_hash = 6; + uint64 earliest_block_height = 7; + uint64 max_peer_block_height = 9; + // Latest known core height in consensus. + // It will be missing if Drive is not responding + optional uint32 core_chain_locked_height = 10; + } + + message Network { + string chain_id = 1; + uint32 peers_count = 2; + bool listening = 3; + } + + message StateSync { + uint64 total_synced_time = 1; + uint64 remaining_time = 2; + uint32 total_snapshots = 3; + uint64 chunk_process_avg_time = 4; + uint64 snapshot_height = 5; + uint64 snapshot_chunks_count = 6; + uint64 backfilled_blocks = 7; + uint64 backfill_blocks_total = 8; + } + + Version version = 1; + Node node = 2; + Chain chain = 3; + Network network = 4; + StateSync state_sync = 5; + Time time = 6; + } + + oneof version { GetStatusResponseV0 v0 = 1; } +} + +message GetCurrentQuorumsInfoRequest { + message GetCurrentQuorumsInfoRequestV0 { + } + + oneof version { GetCurrentQuorumsInfoRequestV0 v0 = 1; } +} + +message GetCurrentQuorumsInfoResponse { + message ValidatorV0 { + bytes pro_tx_hash = 1; + string node_ip = 2; + bool is_banned = 3; + } + message ValidatorSetV0 { + bytes quorum_hash = 1; + uint32 core_height = 2; + repeated ValidatorV0 members = 3; + bytes threshold_public_key = 4; + } + + message GetCurrentQuorumsInfoResponseV0 { + repeated bytes quorum_hashes = 1; + bytes current_quorum_hash = 2; + repeated ValidatorSetV0 validator_sets = 3; + bytes last_block_proposer = 4; + ResponseMetadata metadata = 5; + } + oneof version { GetCurrentQuorumsInfoResponseV0 v0 = 1; } +} diff --git a/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js b/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js index 5987cbfd0f4..fc3eb575fad 100644 --- a/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js +++ b/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js @@ -22,6 +22,7 @@ describe('PlatformPromiseClient', () => { getIdentityContractNonce: this.sinon.stub().resolves(response), getIdentityNonce: this.sinon.stub().resolves(response), getIdentityKeys: this.sinon.stub().resolves(response), + getIdentityBalance: this.sinon.stub().resolves(response), }; }); @@ -170,4 +171,14 @@ describe('PlatformPromiseClient', () => { .to.be.calledOnceWith(request); }); }); + + describe('#getIdentityBalance', () => { + it('should get identity balance', async () => { + const result = await platformPromiseClient.getIdentityBalance(request); + + expect(result).to.equal(response); + expect(platformPromiseClient.client.getIdentityBalance) + .to.be.calledOnceWith(request); + }); + }); }); diff --git a/packages/dapi/.env.example b/packages/dapi/.env.example index 376ec250008..3f99bcdc9f6 100644 --- a/packages/dapi/.env.example +++ b/packages/dapi/.env.example @@ -42,3 +42,5 @@ DRIVE_RPC_PORT=26670 NODE_ENV=production LOG_LEVEL=trace + +WAIT_FOR_ST_RESULT_TIMEOUT=80000 diff --git a/packages/dapi/lib/externalApis/tenderdash/BlockchainListener.js b/packages/dapi/lib/externalApis/tenderdash/BlockchainListener.js index 6a0e1f5dc56..f6e3e7549fe 100644 --- a/packages/dapi/lib/externalApis/tenderdash/BlockchainListener.js +++ b/packages/dapi/lib/externalApis/tenderdash/BlockchainListener.js @@ -13,7 +13,12 @@ class BlockchainListener extends EventEmitter { */ constructor(tenderdashWsClient) { super(); + this.wsClient = tenderdashWsClient; + + this.processLogger = logger.child({ + process: 'BlockchainListener', + }); } /** @@ -30,14 +35,7 @@ class BlockchainListener extends EventEmitter { * Subscribe to blocks and transaction results */ start() { - const processLogger = logger.child({ - process: 'BlockchainListener', - }); - - processLogger.info('Subscribed to state transition results'); - // Emit transaction results - this.wsClient.subscribe(TX_QUERY); this.wsClient.on(TX_QUERY, (message) => { const [hashString] = (message.events || []).map((event) => { const hashAttribute = event.attributes.find((attribute) => attribute.key === 'hash'); @@ -53,15 +51,31 @@ class BlockchainListener extends EventEmitter { return; } - processLogger.trace(`received transaction result for ${hashString}`); + this.processLogger.trace(`Received transaction result for ${hashString}`); this.emit(BlockchainListener.getTransactionEventName(hashString), message); }); - // TODO: It's not using // Emit blocks and contained transactions - // this.wsClient.subscribe(NEW_BLOCK_QUERY); - // this.wsClient.on(NEW_BLOCK_QUERY, (message) => this.emit(EVENTS.NEW_BLOCK, message)); + this.wsClient.on(NEW_BLOCK_QUERY, (message) => { + this.processLogger.trace('Received new platform block'); + + this.emit(EVENTS.NEW_BLOCK, message); + }); + + this.wsClient.on('connect', () => { + this.#subscribe(); + }); + + if (this.wsClient.isConnected) { + this.#subscribe(); + } + } + + #subscribe() { + this.wsClient.subscribe(TX_QUERY); + this.wsClient.subscribe(NEW_BLOCK_QUERY); + this.processLogger.debug('Subscribed to platform blockchain events'); } } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js index 5d4f7e85ecd..0a6886aafa2 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js @@ -15,6 +15,7 @@ const { } = require('@dashevo/dapi-grpc'); const FailedPreconditionGrpcError = require('@dashevo/grpc-common/lib/server/error/FailedPreconditionGrpcError'); +const UnavailableGrpcError = require('@dashevo/grpc-common/lib/server/error/UnavailableGrpcError'); const RPCError = require('../../../rpcServer/RPCError'); /** @@ -46,6 +47,10 @@ function getConsensusParamsHandlerFactory(getConsensusParams) { try { consensusParams = await getConsensusParams(height); } catch (e) { + if (e.message === 'socket hang up') { + throw new UnavailableGrpcError('Tenderdash is not available'); + } + if (e instanceof RPCError) { if (e.code === -32603) { throw new FailedPreconditionGrpcError(`Invalid height: ${e.data}`); diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getIdentityContractNonceHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getIdentityContractNonceHandlerFactory.js deleted file mode 100644 index 3109022c925..00000000000 --- a/packages/dapi/lib/grpcServer/handlers/platform/getIdentityContractNonceHandlerFactory.js +++ /dev/null @@ -1,33 +0,0 @@ -const { - v0: { - GetIdentityContractNonceResponse, - }, -} = require('@dashevo/dapi-grpc'); - -/** - * @param {DriveClient} driveClient - * - * @returns {getIdentityContractNonceHandler} - */ -function getIdentityContractNonceHandlerFactory(driveClient) { - /** - * @typedef getIdentityContractNonceHandler - * - * @param {Object} call - * - * @return {Promise} - */ - async function getIdentityContractNonceHandler(call) { - const { request } = call; - - const identityContractNonceBuffer = await driveClient - .fetchIdentityContractNonce(request); - - return GetIdentityContractNonceResponse - .deserializeBinary(identityContractNonceBuffer); - } - - return getIdentityContractNonceHandler; -} - -module.exports = getIdentityContractNonceHandlerFactory; diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getIdentityNonceHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getIdentityNonceHandlerFactory.js deleted file mode 100644 index 5d38ca93064..00000000000 --- a/packages/dapi/lib/grpcServer/handlers/platform/getIdentityNonceHandlerFactory.js +++ /dev/null @@ -1,33 +0,0 @@ -const { - v0: { - GetIdentityNonceResponse, - }, -} = require('@dashevo/dapi-grpc'); - -/** - * @param {DriveClient} driveClient - * - * @returns {getIdentityNonceHandler} - */ -function getIdentityNonceHandlerFactory(driveClient) { - /** - * @typedef getIdentityNonceHandler - * - * @param {Object} call - * - * @return {Promise} - */ - async function getIdentityNonceHandler(call) { - const { request } = call; - - const identityNonceBuffer = await driveClient - .fetchIdentityNonce(request); - - return GetIdentityNonceResponse - .deserializeBinary(identityNonceBuffer); - } - - return getIdentityNonceHandler; -} - -module.exports = getIdentityNonceHandlerFactory; diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getStatusHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getStatusHandlerFactory.js new file mode 100644 index 00000000000..af86ebb3120 --- /dev/null +++ b/packages/dapi/lib/grpcServer/handlers/platform/getStatusHandlerFactory.js @@ -0,0 +1,240 @@ +const fs = require('node:fs'); +const path = require('node:path'); + +const { + v0: { + GetStatusRequest, + GetStatusResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const BlockchainListener = require('../../../externalApis/tenderdash/BlockchainListener'); +const logger = require('../../../logger'); + +/** + * @param {BlockchainListener} blockchainListener + * @param {PlatformPromiseClient} driveClient + * @param {jaysonClient} tenderdashRpcClient + * @return {getStatusHandler} + */ +function getStatusHandlerFactory(blockchainListener, driveClient, tenderdashRpcClient) { + let cachedResponse = null; + let cleanCacheTimeout = null; + + function cleanCache() { + cachedResponse = null; + + // cancel scheduled cache cleanup + if (cleanCacheTimeout !== null) { + clearTimeout(cleanCacheTimeout); + cleanCacheTimeout = null; + } + + logger.trace({ endpoint: 'getStatus' }, 'cleanup cache'); + } + + // Clean cache when new platform block committed + blockchainListener.on(BlockchainListener.EVENTS.NEW_BLOCK, cleanCache); + + // DAPI Software version + const packageJsonPath = path.resolve(__dirname, '..', '..', '..', '..', 'package.json'); + const packageJsonString = fs.readFileSync(packageJsonPath, 'utf-8'); + const packageJson = JSON.parse(packageJsonString); + const dapiSoftwareVersion = packageJson.version; + + /** + * @typedef {Function} getStatusHandler + * @return {Promise} + */ + async function getStatusHandler() { + // Return cached response if it exists + if (cachedResponse !== null) { + cachedResponse.getV0().getTime().setLocal(Date.now()); + + return cachedResponse; + } + + const request = new GetStatusRequest(); + + const promises = [ + driveClient.getStatus(request) + .then((response) => response.getV0()?.toObject() || {}), + tenderdashRpcClient.request('status', {}), + tenderdashRpcClient.request('net_info', {}), + ]; + + const [ + driveStatus, + tenderdashStatusResponse, + tenderdashNetInfoResponse, + ] = await Promise.allSettled(promises) + .then((results) => results.map((result) => { + if (result.status === 'fulfilled') { + return result.value; + } + + return {}; + })); + + let tenderdashStatus = {}; + if (tenderdashStatusResponse.result) { + tenderdashStatus = tenderdashStatusResponse.result; + } + + let tenderdashNetInfo = {}; + if (tenderdashNetInfoResponse.result) { + tenderdashNetInfo = tenderdashNetInfoResponse.result; + } + + const v0 = new GetStatusResponse + .GetStatusResponseV0(); + + const version = new GetStatusResponse + .GetStatusResponseV0.Version(); + + // Versions + + const versionProtocol = new GetStatusResponse + .GetStatusResponseV0.Version.Protocol(); + + if (tenderdashStatus.node_info?.protocol_version) { + const versionProtocolTenderdash = new GetStatusResponse + .GetStatusResponseV0.Version.Protocol.Tenderdash(); + + versionProtocolTenderdash.setBlock( + Number(tenderdashStatus.node_info.protocol_version.block), + ); + + versionProtocolTenderdash.setP2p( + Number(tenderdashStatus.node_info.protocol_version.p2p), + ); + + versionProtocol.setTenderdash(versionProtocolTenderdash); + } + + if (driveStatus.version?.protocol?.drive) { + const versionProtocolDrive = new GetStatusResponse + .GetStatusResponseV0.Version.Protocol.Drive(); + + versionProtocolDrive.setCurrent(driveStatus.version.protocol.drive.current); + versionProtocolDrive.setLatest(driveStatus.version.protocol.drive.latest); + + versionProtocol.setDrive(versionProtocolDrive); + } + + version.setProtocol(versionProtocol); + + const versionSoftware = new GetStatusResponse + .GetStatusResponseV0.Version.Software(); + + versionSoftware.setDapi(dapiSoftwareVersion); + + if (driveStatus.version?.software?.drive) { + versionSoftware.setDrive(driveStatus.version.software.drive); + } + + if (tenderdashStatus.node_info?.version) { + versionSoftware.setTenderdash(tenderdashStatus.node_info.version); + } + + version.setSoftware(versionSoftware); + + v0.setVersion(version); + + // Node + + if (tenderdashStatus.node_info) { + const node = new GetStatusResponse + .GetStatusResponseV0.Node(); + + node.setId(Buffer.from(tenderdashStatus.node_info.id, 'hex')); + + // ProTxHash is optional. This is present only for masternodes + if (tenderdashStatus.node_info.ProTxHash) { + node.setProTxHash(Buffer.from(tenderdashStatus.node_info.ProTxHash, 'hex')); + } + + v0.setNode(node); + } + + // Chain + if (tenderdashStatus.sync_info) { + const chain = new GetStatusResponse.GetStatusResponseV0.Chain(); + + chain.setCatchingUp(tenderdashStatus.sync_info.catching_up); + chain.setLatestBlockHash(Buffer.from(tenderdashStatus.sync_info.latest_block_hash, 'hex')); + chain.setLatestAppHash(Buffer.from(tenderdashStatus.sync_info.latest_app_hash, 'hex')); + chain.setLatestBlockHeight(Number(tenderdashStatus.sync_info.latest_block_height)); + chain.setEarliestBlockHash(Buffer.from(tenderdashStatus.sync_info.earliest_block_hash, 'hex')); + chain.setEarliestAppHash(Buffer.from(tenderdashStatus.sync_info.earliest_app_hash, 'hex')); + chain.setEarliestBlockHeight(Number(tenderdashStatus.sync_info.earliest_block_height)); + chain.setMaxPeerBlockHeight(Number(tenderdashStatus.sync_info.max_peer_block_height)); + if (driveStatus.chain?.coreChainLockedHeight) { + chain.setCoreChainLockedHeight(driveStatus.chain.coreChainLockedHeight); + } + + v0.setChain(chain); + + const stateSync = new GetStatusResponse.GetStatusResponseV0.StateSync(); + stateSync.setTotalSyncedTime(Number(tenderdashStatus.sync_info.total_synced_time)); + stateSync.setRemainingTime(Number(tenderdashStatus.sync_info.remaining_time)); + stateSync.setTotalSnapshots(Number(tenderdashStatus.sync_info.total_snapshots)); + stateSync.setChunkProcessAvgTime( + Number(tenderdashStatus.sync_info.chunk_process_avg_time), + ); + stateSync.setSnapshotHeight(Number(tenderdashStatus.sync_info.snapshot_height)); + stateSync.setSnapshotChunksCount(Number(tenderdashStatus.sync_info.snapshot_chunks_count)); + stateSync.setBackfilledBlocks(Number(tenderdashStatus.sync_info.backfilled_blocks)); + stateSync.setBackfillBlocksTotal(Number(tenderdashStatus.sync_info.backfill_blocks_total)); + + v0.setStateSync(stateSync); + } + + // Network + if (tenderdashNetInfo.listening !== undefined) { + const network = new GetStatusResponse.GetStatusResponseV0.Network(); + + network.setListening(tenderdashNetInfo.listening); + + if (tenderdashStatus.node_info) { + network.setChainId(tenderdashStatus.node_info.network); + } + + network.setPeersCount(Number(tenderdashNetInfo.n_peers)); + + v0.setNetwork(network); + } + + // Time + + const time = new GetStatusResponse.GetStatusResponseV0.Time(); + + if (driveStatus.time) { + time.setBlock(driveStatus.time.block); + time.setGenesis(driveStatus.time.genesis); + time.setEpoch(driveStatus.time.epoch); + } + + time.setLocal(Date.now()); + + v0.setTime(time); + + cachedResponse = new GetStatusResponse(); + cachedResponse.setV0(v0); + + // Cancel any existing scheduled cache cleanup + if (cleanCacheTimeout !== null) { + clearTimeout(cleanCacheTimeout); + cleanCacheTimeout = null; + } + + // Clean cache in 3 minutes + cleanCacheTimeout = setTimeout(cleanCache, 3 * 60 * 1000); + + return cachedResponse; + } + + return getStatusHandler; +} + +module.exports = getStatusHandlerFactory; diff --git a/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js index 91fc8fa9137..641071d3572 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js @@ -18,6 +18,7 @@ const { BroadcastStateTransitionRequest, WaitForStateTransitionResultRequest, GetConsensusParamsRequest, + GetStatusRequest, pbjs: { BroadcastStateTransitionRequest: PBJSBroadcastStateTransitionRequest, BroadcastStateTransitionResponse: PBJSBroadcastStateTransitionResponse, @@ -25,6 +26,8 @@ const { WaitForStateTransitionResultResponse: PBJSWaitForStateTransitionResultResponse, GetConsensusParamsRequest: PBJSGetConsensusParamsRequest, GetConsensusParamsResponse: PBJSGetConsensusParamsResponse, + GetStatusRequest: PBJSGetStatusRequest, + GetStatusResponse: PBJSGetStatusResponse, }, }, } = require('@dashevo/dapi-grpc'); @@ -45,6 +48,7 @@ const getConsensusParamsHandlerFactory = require( const unimplementedHandlerFactory = require( './unimplementedHandlerFactory', ); +const getStatusHandlerFactory = require('./getStatusHandlerFactory'); const fetchProofForStateTransitionFactory = require('../../../externalApis/drive/fetchProofForStateTransitionFactory'); const waitForTransactionToBeProvableFactory = require('../../../externalApis/tenderdash/waitForTransactionToBeProvable/waitForTransactionToBeProvableFactory'); @@ -104,6 +108,7 @@ function platformHandlersFactory( blockchainListener, dpp, createGrpcErrorFromDriveResponse, + parseInt(process.env.WAIT_FOR_ST_RESULT_TIMEOUT, 10), ); const wrappedWaitForStateTransitionResult = jsonToProtobufHandlerWrapper( @@ -117,7 +122,7 @@ function platformHandlersFactory( wrapInErrorHandler(waitForStateTransitionResultHandler), ); - // get Consensus Params + // Get Consensus Params const getConsensusParams = getConsensusParamsFactory(rpcClient); const getConsensusParamsHandler = getConsensusParamsHandlerFactory(getConsensusParams); @@ -132,6 +137,24 @@ function platformHandlersFactory( wrapInErrorHandler(getConsensusParamsHandler), ); + // Get Status + const getStatusHandler = getStatusHandlerFactory( + blockchainListener, + driveClient, + rpcClient, + ); + + const wrappedGetStatus = jsonToProtobufHandlerWrapper( + jsonToProtobufFactory( + GetStatusRequest, + PBJSGetStatusRequest, + ), + protobufToJsonFactory( + PBJSGetStatusResponse, + ), + wrapInErrorHandler(getStatusHandler), + ); + return { broadcastStateTransition: wrappedBroadcastStateTransition, getIdentity: wrapInErrorHandler(unimplementedHandlerFactory('getIdentity')), @@ -153,6 +176,7 @@ function platformHandlersFactory( getProtocolVersionUpgradeState: wrapInErrorHandler(unimplementedHandlerFactory('getProtocolVersionUpgradeState')), getIdentityContractNonce: wrapInErrorHandler(unimplementedHandlerFactory('getIdentityContractNonce')), getIdentityNonce: wrapInErrorHandler(unimplementedHandlerFactory('getIdentityNonce')), + getStatus: wrappedGetStatus, }; } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js index ae1c8dda1bc..4bfafbe30f9 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js @@ -15,6 +15,7 @@ const { } = require('@dashevo/dapi-grpc'); const cbor = require('cbor'); +const UnavailableGrpcError = require('@dashevo/grpc-common/lib/server/error/UnavailableGrpcError'); const TransactionWaitPeriodExceededError = require('../../../errors/TransactionWaitPeriodExceededError'); const TransactionErrorResult = require('../../../externalApis/tenderdash/waitForTransactionToBeProvable/transactionResult/TransactionErrorResult'); @@ -34,7 +35,7 @@ function waitForStateTransitionResultHandlerFactory( blockchainListener, dpp, createGrpcErrorFromDriveResponse, - stateTransitionWaitTimeout = 80000, + stateTransitionWaitTimeout, ) { /** * @param {Object} txDeliverResult @@ -63,6 +64,10 @@ function waitForStateTransitionResultHandlerFactory( async function waitForStateTransitionResultHandler(call) { const { request } = call; + if (!blockchainListener.wsClient.isConnected) { + throw new UnavailableGrpcError('Tenderdash is not available'); + } + const stateTransitionHash = request.getV0().getStateTransitionHash(); const prove = request.getV0().getProve(); diff --git a/packages/dapi/package.json b/packages/dapi/package.json index 5154c24d799..0e6a27e61ab 100644 --- a/packages/dapi/package.json +++ b/packages/dapi/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/dapi", "private": true, - "version": "1.0.2", + "version": "1.4.0-dev.1", "description": "A decentralized API for the Dash network", "scripts": { "api": "node scripts/api.js", diff --git a/packages/dapi/scripts/api.js b/packages/dapi/scripts/api.js index 6577f973bfa..7be1ce8857f 100644 --- a/packages/dapi/scripts/api.js +++ b/packages/dapi/scripts/api.js @@ -108,15 +108,18 @@ async function main() { }); tenderDashWsClient.on('disconnect', () => { - tenderdashLogger.fatal('Disconnected from Tenderdash... exiting'); - - process.exit(1); + tenderdashLogger.warn('Disconnected from tenderdash'); }); - await tenderDashWsClient.connect(); - const blockchainListener = new BlockchainListener(tenderDashWsClient); - blockchainListener.start(); + + tenderDashWsClient.connect().then(() => { + blockchainListener.start(); + }).catch((e) => { + tenderdashLogger.fatal(`Not able to connect to tenderdash: ${e}`); + + process.exit(1); + }); // Start JSON RPC server logger.info('Starting JSON RPC server'); diff --git a/packages/dapi/test/integration/externalApis/tenderdash/BlockchainListener.spec.js b/packages/dapi/test/integration/externalApis/tenderdash/BlockchainListener.spec.js index cc2c5fdd7c8..b31b79e32b0 100644 --- a/packages/dapi/test/integration/externalApis/tenderdash/BlockchainListener.spec.js +++ b/packages/dapi/test/integration/externalApis/tenderdash/BlockchainListener.spec.js @@ -15,8 +15,8 @@ describe('BlockchainListener', () => { ({ sinon } = this); wsClientMock = new EventEmitter(); wsClientMock.subscribe = sinon.stub(); + blockchainListener = new BlockchainListener(wsClientMock); - blockchainListener.start(); sinon.spy(blockchainListener, 'on'); sinon.spy(blockchainListener, 'off'); @@ -84,19 +84,23 @@ describe('BlockchainListener', () => { }); describe('#start', () => { - it('should subscribe to transaction events from WS client', () => { - // TODO: We don't use it for now - // expect(wsClientMock.subscribe).to.be.calledTwice(); - expect(wsClientMock.subscribe).to.be.calledOnce(); + it('should subscribe to transaction events from WS client if it is connected', () => { + wsClientMock.isConnected = true; + + blockchainListener.start(); + + expect(wsClientMock.subscribe).to.be.calledTwice(); expect(wsClientMock.subscribe.firstCall).to.be.calledWithExactly( BlockchainListener.TX_QUERY, ); - // expect(wsClientMock.subscribe.secondCall).to.be.calledWithExactly( - // BlockchainListener.NEW_BLOCK_QUERY, - // ); + expect(wsClientMock.subscribe.secondCall).to.be.calledWithExactly( + BlockchainListener.NEW_BLOCK_QUERY, + ); }); - it.skip('should emit block when new block is arrived', (done) => { + it('should emit block when new block is arrived', (done) => { + blockchainListener.start(); + blockchainListener.on(BlockchainListener.EVENTS.NEW_BLOCK, (message) => { expect(message).to.be.deep.equal(blockMessageMock); @@ -107,6 +111,8 @@ describe('BlockchainListener', () => { }); it('should emit transaction when transaction is arrived', (done) => { + blockchainListener.start(); + const topic = BlockchainListener.getTransactionEventName(transactionHash); blockchainListener.on(topic, (message) => { diff --git a/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js b/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js index 7f748d91c4b..9e996362167 100644 --- a/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js +++ b/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js @@ -25,13 +25,14 @@ const { EventEmitter } = require('events'); const cbor = require('cbor'); const NotFoundGrpcError = require('@dashevo/grpc-common/lib/server/error/NotFoundGrpcError'); -const BlockchainListener = require('../../../../../lib/externalApis/tenderdash/BlockchainListener'); +const UnavailableGrpcError = require('@dashevo/grpc-common/lib/server/error/UnavailableGrpcError'); +const BlockchainListener = require('../../../../../lib/externalApis/tenderdash/BlockchainListener'); const GrpcCallMock = require('../../../../../lib/test/mock/GrpcCallMock'); const fetchProofForStateTransitionFactory = require('../../../../../lib/externalApis/drive/fetchProofForStateTransitionFactory'); const waitForTransactionToBeProvableFactory = require('../../../../../lib/externalApis/tenderdash/waitForTransactionToBeProvable/waitForTransactionToBeProvableFactory'); -const waitForTransactionResult = require('../../../../../lib/externalApis/tenderdash/waitForTransactionToBeProvable/waitForTransactionResult'); +const waitForTransactionResult = require('../../../../../lib/externalApis/tenderdash/waitForTransactionToBeProvable/waitForTransactionResult'); const waitForStateTransitionResultHandlerFactory = require('../../../../../lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory'); describe('waitForStateTransitionResultHandlerFactory', () => { @@ -173,6 +174,7 @@ describe('waitForStateTransitionResultHandlerFactory', () => { tenderDashWsClientMock = new EventEmitter(); tenderDashWsClientMock.subscribe = this.sinon.stub(); + tenderDashWsClientMock.isConnected = true; const dpp = new DashPlatformProtocol(null, 1); @@ -372,4 +374,17 @@ describe('waitForStateTransitionResultHandlerFactory', () => { }); } }); + + it('should throw UnavailableGrpcError if Tenderdash is not available', async () => { + tenderDashWsClientMock.isConnected = false; + + try { + await waitForStateTransitionResultHandler(call); + + expect.fail('should throw an error'); + } catch (e) { + expect(e).to.be.instanceOf(UnavailableGrpcError); + expect(e.getMessage()).to.equal('Tenderdash is not available'); + } + }); }); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityContractNonceHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityContractNonceHandlerFactory.spec.js deleted file mode 100644 index 672776bac36..00000000000 --- a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityContractNonceHandlerFactory.spec.js +++ /dev/null @@ -1,110 +0,0 @@ -const { - v0: { - GetIdentityContractNonceResponse, - Proof, - }, -} = require('@dashevo/dapi-grpc'); - -const getIdentityContractNonceHandlerFactory = require('../../../../../lib/grpcServer/handlers/platform/getIdentityContractNonceHandlerFactory'); - -const GrpcCallMock = require('../../../../../lib/test/mock/GrpcCallMock'); - -describe('getIdentityContractNonceHandlerFactory', () => { - let call; - let driveStateRepositoryMock; - let getIdentityContractNonceHandler; - let nonce; - let proofFixture; - let proofMock; - let request; - let response; - let proofResponse; - - beforeEach(async function beforeEach() { - request = { - getProve: this.sinon.stub().returns(false), - }; - call = new GrpcCallMock(this.sinon, { - getV0: () => request, - }); - - proofFixture = { - merkleProof: Buffer.alloc(1, 1), - }; - - proofMock = new Proof(); - proofMock.setGrovedbProof(proofFixture.merkleProof); - - nonce = 1; - const { GetIdentityContractNonceResponseV0 } = GetIdentityContractNonceResponse; - response = new GetIdentityContractNonceResponse(); - response.setV0( - new GetIdentityContractNonceResponseV0() - .setIdentityContractNonce(1), - ); - - proofResponse = new GetIdentityContractNonceResponse(); - proofResponse.setV0( - new GetIdentityContractNonceResponseV0() - .setProof(proofMock), - ); - - driveStateRepositoryMock = { - fetchIdentityContractNonce: this.sinon.stub().resolves(response.serializeBinary()), - }; - - getIdentityContractNonceHandler = getIdentityContractNonceHandlerFactory( - driveStateRepositoryMock, - ); - }); - - it('should return valid result', async () => { - const result = await getIdentityContractNonceHandler(call); - - expect(result).to.be.an.instanceOf(GetIdentityContractNonceResponse); - expect(result.getV0() - .getIdentityContractNonce()).to.deep.equal(nonce); - expect(driveStateRepositoryMock.fetchIdentityContractNonce) - .to.be.calledOnceWith(call.request); - - const proof = result.getV0().getProof(); - expect(proof).to.be.undefined(); - }); - - it('should return proof', async () => { - request.getProve.returns(true); - - driveStateRepositoryMock.fetchIdentityContractNonce - .resolves(proofResponse.serializeBinary()); - - const result = await getIdentityContractNonceHandler(call); - - expect(result).to.be.an.instanceOf(GetIdentityContractNonceResponse); - - const proof = result.getV0().getProof(); - - expect(proof).to.be.an.instanceOf(Proof); - const merkleProof = proof.getGrovedbProof(); - - expect(merkleProof).to.deep.equal(proofFixture.merkleProof); - - expect(driveStateRepositoryMock.fetchIdentityContractNonce) - .to.be.calledOnceWith(call.request); - }); - - it('should throw an error when fetchIdentityContractNonce throws unknown error', async () => { - const error = new Error('Unknown error'); - - driveStateRepositoryMock.fetchIdentityContractNonce.throws(error); - - try { - await getIdentityContractNonceHandler(call); - - expect.fail('should throw an error'); - } catch (e) { - expect(e).to.equal(error); - expect(driveStateRepositoryMock.fetchIdentityContractNonce) - .to.be.calledOnceWith(call.request); - } - }); -}); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityNonceHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityNonceHandlerFactory.spec.js deleted file mode 100644 index cf0029c533b..00000000000 --- a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityNonceHandlerFactory.spec.js +++ /dev/null @@ -1,110 +0,0 @@ -const { - v0: { - GetIdentityNonceResponse, - Proof, - }, -} = require('@dashevo/dapi-grpc'); - -const getIdentityNonceHandlerFactory = require('../../../../../lib/grpcServer/handlers/platform/getIdentityNonceHandlerFactory'); - -const GrpcCallMock = require('../../../../../lib/test/mock/GrpcCallMock'); - -describe('getIdentityNonceHandlerFactory', () => { - let call; - let driveStateRepositoryMock; - let getIdentityNonceHandler; - let nonce; - let proofFixture; - let proofMock; - let request; - let response; - let proofResponse; - - beforeEach(async function beforeEach() { - request = { - getProve: this.sinon.stub().returns(false), - }; - call = new GrpcCallMock(this.sinon, { - getV0: () => request, - }); - - proofFixture = { - merkleProof: Buffer.alloc(1, 1), - }; - - proofMock = new Proof(); - proofMock.setGrovedbProof(proofFixture.merkleProof); - - nonce = 1; - const { GetIdentityNonceResponseV0 } = GetIdentityNonceResponse; - response = new GetIdentityNonceResponse(); - response.setV0( - new GetIdentityNonceResponseV0() - .setIdentityNonce(1), - ); - - proofResponse = new GetIdentityNonceResponse(); - proofResponse.setV0( - new GetIdentityNonceResponseV0() - .setProof(proofMock), - ); - - driveStateRepositoryMock = { - fetchIdentityNonce: this.sinon.stub().resolves(response.serializeBinary()), - }; - - getIdentityNonceHandler = getIdentityNonceHandlerFactory( - driveStateRepositoryMock, - ); - }); - - it('should return valid result', async () => { - const result = await getIdentityNonceHandler(call); - - expect(result).to.be.an.instanceOf(GetIdentityNonceResponse); - expect(result.getV0() - .getIdentityNonce()).to.deep.equal(nonce); - expect(driveStateRepositoryMock.fetchIdentityNonce) - .to.be.calledOnceWith(call.request); - - const proof = result.getV0().getProof(); - expect(proof).to.be.undefined(); - }); - - it('should return proof', async () => { - request.getProve.returns(true); - - driveStateRepositoryMock.fetchIdentityNonce - .resolves(proofResponse.serializeBinary()); - - const result = await getIdentityNonceHandler(call); - - expect(result).to.be.an.instanceOf(GetIdentityNonceResponse); - - const proof = result.getV0().getProof(); - - expect(proof).to.be.an.instanceOf(Proof); - const merkleProof = proof.getGrovedbProof(); - - expect(merkleProof).to.deep.equal(proofFixture.merkleProof); - - expect(driveStateRepositoryMock.fetchIdentityNonce) - .to.be.calledOnceWith(call.request); - }); - - it('should throw an error when fetchIdentityNonce throws unknown error', async () => { - const error = new Error('Unknown error'); - - driveStateRepositoryMock.fetchIdentityNonce.throws(error); - - try { - await getIdentityNonceHandler(call); - - expect.fail('should throw an error'); - } catch (e) { - expect(e).to.equal(error); - expect(driveStateRepositoryMock.fetchIdentityNonce) - .to.be.calledOnceWith(call.request); - } - }); -}); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getStatusHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getStatusHandlerFactory.spec.js new file mode 100644 index 00000000000..f5274cbf2c9 --- /dev/null +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getStatusHandlerFactory.spec.js @@ -0,0 +1,152 @@ +const EventEmitter = require('events'); +const getStatusHandlerFactory = require('../../../../../lib/grpcServer/handlers/platform/getStatusHandlerFactory'); + +describe('getStatusHandlerFactory', () => { + let blockchainListenerMock; + let driveStatus; + let driveStatusResponse; + let driveClientMock; + let tenderdashNetInfo; + let tenderdashNetInfoResponse; + let tenderdashStatus; + let tenderdashStatusResponse; + let tenderdashRpcClientMock; + let getStatusHandler; + + beforeEach(function beforeEach() { + blockchainListenerMock = new EventEmitter(); + + this.sinon.spy(blockchainListenerMock); + + driveStatus = { + version: { + software: { + drive: '1.1.1', + }, + protocol: { + drive: { + current: 1, + latest: 2, + }, + }, + }, + chain: { + coreChainLockedHeight: 1, + }, + time: { + block: 123, + genesis: 100, + epoch: 10, + }, + }; + + driveStatusResponse = { + getV0() { + return { + toObject() { + return driveStatus; + }, + }; + }, + }; + + driveClientMock = { + getStatus: this.sinon.stub(), + }; + + tenderdashStatus = { + node_info: { + protocol_version: { + p2p: '10', + block: '14', + app: '1', + }, + id: '68c506d43816d1a8389c860c1d162be44d1e777c', + ProTxHash: '85F15A31D3838293A9C1D72A1A0FA21E66110CE20878BD4C1024C4AE1D5BE824', + network: 'dash-testnet-51', + version: '1.2.0', + }, + sync_info: { + latest_block_hash: '17CF6008349C5C6E919BE05A9C53EC38565C0C5BF549AC38E204DEC8BF59729B', + latest_app_hash: '86FE2247F22C1AEB4E5138E97E6164D61C1E40481F8FF62D126700EDE0EC9B92', + latest_block_height: '1117', + latest_block_time: '2024-08-27T08:31:39.906Z', + earliest_block_hash: '08FA02C27EC0390BA301E4FC7E3D7EADB350C8193E3E62A093689706E3A20BFA', + earliest_app_hash: 'BF0CCB9CA071BA01AE6E67A0C090F97803D26D56D675DCD5131781CBCAC8EC8F', + earliest_block_height: '1', + earliest_block_time: '2024-07-19T01:40:09Z', + max_peer_block_height: '1117', + catching_up: false, + total_synced_time: '0', + remaining_time: '0', + total_snapshots: '0', + chunk_process_avg_time: '0', + snapshot_height: '0', + snapshot_chunks_count: '0', + backfilled_blocks: '0', + backfill_blocks_total: '0', + }, + }; + + tenderdashStatusResponse = { + result: tenderdashStatus, + }; + + tenderdashNetInfo = { + listening: true, + n_peers: 8, + }; + + tenderdashNetInfoResponse = { + result: tenderdashNetInfo, + }; + + tenderdashRpcClientMock = { + request: this.sinon.stub(), + }; + + getStatusHandler = getStatusHandlerFactory( + blockchainListenerMock, + driveClientMock, + tenderdashRpcClientMock, + ); + }); + + it('should respond with full status if drive and tenderdash are responding', async () => { + driveClientMock.getStatus.resolves(driveStatusResponse); + tenderdashRpcClientMock.request.withArgs('status').resolves(tenderdashStatusResponse); + tenderdashRpcClientMock.request.withArgs('net_info').resolves(tenderdashNetInfoResponse); + + const response = await getStatusHandler(); + + response.serializeBinary(); + }); + + it('should respond with DAPI only status if drive and tenderdash are not responding', async () => { + driveClientMock.getStatus.rejects(new Error('Connection failed')); + tenderdashRpcClientMock.request.rejects(new Error('Connection failed')); + + const response = await getStatusHandler(); + + response.serializeBinary(); + }); + + it('should respond with partial status if drive is not responding', async () => { + driveClientMock.getStatus.rejects(new Error('Connection failed')); + tenderdashRpcClientMock.request.withArgs('status').resolves(tenderdashStatusResponse); + tenderdashRpcClientMock.request.withArgs('net_info').resolves(tenderdashNetInfoResponse); + + const response = await getStatusHandler(); + + response.serializeBinary(); + }); + + it('should respond with partial status if tenderdash is not responding', async () => { + driveClientMock.getStatus.resolves(driveStatusResponse); + tenderdashRpcClientMock.request.rejects(new Error('Connection failed')); + + const response = await getStatusHandler(); + + response.serializeBinary(); + }); +}); diff --git a/packages/dash-spv/package.json b/packages/dash-spv/package.json index dd5d83e7a99..184d91d8acd 100644 --- a/packages/dash-spv/package.json +++ b/packages/dash-spv/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dash-spv", - "version": "2.0.2", + "version": "2.4.0-dev.1", "description": "Repository containing SPV functions used by @dashevo", "main": "index.js", "scripts": { diff --git a/packages/dashmate/README.md b/packages/dashmate/README.md index dec9b177136..96f04dc39bc 100644 --- a/packages/dashmate/README.md +++ b/packages/dashmate/README.md @@ -19,6 +19,7 @@ Distribution package for Dash node installation - [Restart node](#restart-node) - [Show node status](#show-node-status) - [Execute Core CLI command](#execute-core-cli-command) + - [Doctor](#doctor) - [Reset node data](#reset-node-data) - [Full node](#full-node) - [Node groups](#node-groups) @@ -277,6 +278,55 @@ $ dashmate core cli "getblockcount" 1337 ``` +### Doctor + +The `doctor` command analyzes the node configuration and state to provide a list of potential problems and solutions. + +``` +Dashmate node diagnostic. Bring your node to the doctor + +USAGE + $ dashmate doctor [--config ] [-v] [-s ] + +FLAGS + -s, --samples= path to the samples archive + -v, --verbose use verbose mode for output + --config= configuration name to use + +DESCRIPTION + Dashmate node diagnostic. Bring your node to the doctor + +COMMANDS + doctor report Dashmate node diagnostic report +``` + +The `doctor report` command collects all useful debugging info into a `.tar.gz` archive in your current working directory. + +The archive will include: + +- System information +- The node configuration +- Service logs, metrics and status + +Collected data will not contain any private information which is already not available publicly. +All sensitive data like private keys or passwords is obfuscated. + +``` +Dashmate node diagnostic report + +USAGE + $ dashmate doctor report [--config ] [-v] + +FLAGS + -v, --verbose use verbose mode for output + --config= configuration name to use + +DESCRIPTION + Dashmate node diagnostic report + + The command collects diagnostic information and creates an obfuscated archive for further investigation +``` + ### Reset node data The `reset` command removes all data corresponding to the specified config and allows you to start a node from scratch. diff --git a/packages/dashmate/configs/defaults/getBaseConfigFactory.js b/packages/dashmate/configs/defaults/getBaseConfigFactory.js index 71bce6f6456..f1e9237ba96 100644 --- a/packages/dashmate/configs/defaults/getBaseConfigFactory.js +++ b/packages/dashmate/configs/defaults/getBaseConfigFactory.js @@ -14,7 +14,7 @@ const { version } = JSON.parse(fs.readFileSync(path.join(PACKAGE_ROOT_DIR, 'pack * @param {HomeDir} homeDir * @returns {getBaseConfig} */ -export default function getBaseConfigFactory(homeDir) { +export default function getBaseConfigFactory() { const prereleaseTag = semver.prerelease(version) === null ? '' : `-${semver.prerelease(version)[0]}`; const dockerImageVersion = `${semver.major(version)}${prereleaseTag}`; @@ -134,12 +134,17 @@ export default function getBaseConfigFactory(homeDir) { }, }, log: { - file: { - categories: [], - path: homeDir.joinPath('logs', 'base', 'core.log'), + filePath: null, + debug: { + enabled: false, + ips: false, + sourceLocations: false, + threadNames: false, + timeMicros: false, + includeOnly: [], + exclude: [], }, }, - logIps: 0, indexes: [], }, platform: { @@ -178,6 +183,7 @@ export default function getBaseConfigFactory(homeDir) { http2: { maxConcurrentStreams: 10, }, + waitForStResultTimeout: '125s', host: '0.0.0.0', port: 443, }, @@ -235,6 +241,7 @@ export default function getBaseConfigFactory(homeDir) { target: 'dapi', }, }, + waitForStResultTimeout: 120000, }, }, drive: { @@ -296,12 +303,15 @@ export default function getBaseConfigFactory(homeDir) { host: '127.0.0.1', port: 8083, }, + proposer: { + txProcessingTimeLimit: null, + }, epochTime: 788400, }, tenderdash: { mode: 'full', docker: { - image: 'dashpay/tenderdash:1.1.0', + image: 'dashpay/tenderdash:1.3', }, p2p: { host: '0.0.0.0', @@ -312,6 +322,8 @@ export default function getBaseConfigFactory(homeDir) { maxPacketMsgPayloadSize: 10240, sendRate: 5120000, recvRate: 5120000, + maxConnections: 64, + maxOutgoingConnections: 30, }, rpc: { host: '127.0.0.1', @@ -337,6 +349,8 @@ export default function getBaseConfigFactory(homeDir) { txSendRateLimit: 10, txRecvRateLimit: 12, maxConcurrentCheckTx: 250, + ttlDuration: '0s', + ttlNumBlocks: 0, }, consensus: { createEmptyBlocks: true, @@ -388,15 +402,13 @@ export default function getBaseConfigFactory(homeDir) { app_version: '1', }, timeout: { - propose: '40000000000', + propose: '50000000000', propose_delta: '5000000000', - vote: '2000000000', - vote_delta: '500000000', - commit: '1000000000', - bypass_commit_timeout: false, + vote: '10000000000', + vote_delta: '1000000000', }, synchrony: { - message_delay: '32000000000', + message_delay: '70000000000', precision: '1000000000', }, abci: { diff --git a/packages/dashmate/configs/defaults/getLocalConfigFactory.js b/packages/dashmate/configs/defaults/getLocalConfigFactory.js index ebc4e014aed..42254deb5de 100644 --- a/packages/dashmate/configs/defaults/getLocalConfigFactory.js +++ b/packages/dashmate/configs/defaults/getLocalConfigFactory.js @@ -65,6 +65,7 @@ export default function getLocalConfigFactory(getBaseConfig) { }, }, abci: { + epochTime: 1200, validatorSet: { quorum: { llmqType: 106, diff --git a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js index 9331b44b077..0f83c4a7a13 100644 --- a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js +++ b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js @@ -26,13 +26,6 @@ export default function getMainnetConfigFactory(homeDir, getBaseConfig) { subnet: '172.26.24.0/24', }, }, - core: { - log: { - file: { - path: homeDir.joinPath('logs', 'mainnet', 'core.log'), - }, - }, - }, network: NETWORK_MAINNET, platform: { enable: false, @@ -57,7 +50,7 @@ export default function getMainnetConfigFactory(homeDir, getBaseConfig) { }, { id: '4cb4a8488eb1dbabda7fb79e47ac3c14eec73c4f', - host: '188.166.140.47', + host: '152.42.151.147', port: 26656, }, ], @@ -67,12 +60,19 @@ export default function getMainnetConfigFactory(homeDir, getBaseConfig) { txEnqueueTimeout: '30ms', txSendRateLimit: 100, txRecvRateLimit: 120, + ttlDuration: '24h', + ttlNumBlocks: 0, }, genesis: { - chain_id: 'dash-1', + chain_id: 'evo1', validator_quorum_type: 4, }, }, + abci: { + proposer: { + txProcessingTimeLimit: 5000, + }, + }, }, }, }; diff --git a/packages/dashmate/configs/defaults/getTestnetConfigFactory.js b/packages/dashmate/configs/defaults/getTestnetConfigFactory.js index d21310ee2d0..a8aec0152b1 100644 --- a/packages/dashmate/configs/defaults/getTestnetConfigFactory.js +++ b/packages/dashmate/configs/defaults/getTestnetConfigFactory.js @@ -30,11 +30,6 @@ export default function getTestnetConfigFactory(homeDir, getBaseConfig) { rpc: { port: 19998, }, - log: { - file: { - path: homeDir.joinPath('logs', 'testnet', 'core.log'), - }, - }, spork: { address: 'yjPtiKh2uwk3bDutTEA2q9mCtXyiZRWn55', }, @@ -74,6 +69,9 @@ export default function getTestnetConfigFactory(homeDir, getBaseConfig) { rotation: true, }, }, + proposer: { + txProcessingTimeLimit: 5000, + }, }, tenderdash: { p2p: { @@ -91,6 +89,14 @@ export default function getTestnetConfigFactory(homeDir, getBaseConfig) { ], port: 36656, }, + mempool: { + timeoutCheckTx: '3s', + txEnqueueTimeout: '30ms', + txSendRateLimit: 100, + txRecvRateLimit: 120, + ttlDuration: '24h', + ttlNumBlocks: 0, + }, rpc: { port: 36657, timeoutBroadcastTx: '1s', @@ -102,7 +108,7 @@ export default function getTestnetConfigFactory(homeDir, getBaseConfig) { port: 36660, }, genesis: { - chain_id: 'dash-testnet-49', + chain_id: 'dash-testnet-51', validator_quorum_type: 6, }, }, diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index aeca8274d8f..4b04f1376e9 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -439,6 +439,14 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) return configFile; }, + '0.25.22': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.dapi.api.docker.deploy = base.get('platform.dapi.api.docker.deploy'); + }); + + return configFile; + }, '1.0.0-dev.2': (configFile) => { Object.entries(configFile.configs) .forEach(([name, options]) => { @@ -765,6 +773,144 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) }); return configFile; }, + '1.1.0-dev.1': (configFile) => { + Object.entries(configFile.configs) + .forEach(([name, options]) => { + if (name === 'local') { + options.platform.drive.abci.epochTime = 1200; + } + + if (options.network === NETWORK_MAINNET && name !== 'base') { + options.platform.drive.tenderdash.p2p.seeds = mainnet.get('platform.drive.tenderdash.p2p.seeds'); + } + + options.platform.drive.abci.docker.image = 'dashpay/drive:1-dev'; + options.platform.dapi.api.docker.image = 'dashpay/dapi:1-dev'; + + options.platform.gateway.listeners.dapiAndDrive.waitForStResultTimeout = '125s'; + options.platform.dapi.api.waitForStResultTimeout = 120000; + + options.platform.drive.tenderdash.p2p.maxConnections = 64; + options.platform.drive.tenderdash.p2p.maxOutgoingConnections = 30; + options.platform.drive.tenderdash.genesis + .consensus_params = base.get('platform.drive.tenderdash.genesis.consensus_params'); + options.platform.drive.tenderdash.docker.image = base.get('platform.drive.tenderdash.docker.image'); + }); + return configFile; + }, + '1.1.0': (configFile) => { + Object.entries(configFile.configs) + .forEach(([name, options]) => { + options.platform.drive.abci.docker.image = 'dashpay/drive:1'; + options.platform.dapi.api.docker.image = 'dashpay/dapi:1'; + + if (options.network === NETWORK_TESTNET) { + options.platform.drive.abci.proposer = { + txProcessingTimeLimit: 5000, + }; + options.platform.drive.tenderdash.mempool.timeoutCheckTx = '3s'; + options.platform.drive.tenderdash.mempool.txEnqueueTimeout = '30ms'; + options.platform.drive.tenderdash.mempool.txSendRateLimit = 100; + options.platform.drive.tenderdash.mempool.txRecvRateLimit = 120; + options.platform.drive.tenderdash.mempool.ttlDuration = '24h'; + options.platform.drive.tenderdash.mempool.ttlNumBlocks = 0; + } else if (options.network === NETWORK_MAINNET && name !== 'base') { + options.platform.drive.abci.proposer = { + txProcessingTimeLimit: 5000, + }; + options.platform.drive.tenderdash.mempool.ttlDuration = '24h'; + options.platform.drive.tenderdash.mempool.ttlNumBlocks = 0; + } else { + options.platform.drive.tenderdash.mempool.ttlDuration = '0s'; + options.platform.drive.tenderdash.mempool.ttlNumBlocks = 0; + options.platform.drive.abci.proposer = { + txProcessingTimeLimit: null, + }; + } + }); + return configFile; + }, + '1.1.1': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.drive.tenderdash.docker.image = 'dashpay/tenderdash:1.2.0'; + if (options.network === NETWORK_TESTNET) { + options.platform.drive.tenderdash.genesis.chain_id = 'dash-testnet-51'; + } + }); + return configFile; + }, + '1.2.0-rc.1': (configFile) => { + Object.entries(configFile.configs) + .forEach(([name, options]) => { + options.platform.drive.tenderdash.docker.image = 'dashpay/tenderdash:1'; + if (options.network === NETWORK_MAINNET && name !== 'base') { + options.platform.drive.tenderdash.genesis.chain_id = 'evo1'; + } + if (options.network === NETWORK_TESTNET) { + delete options.platform.drive.tenderdash.genesis.initial_core_chain_locked_height; + } + }); + return configFile; + }, + '1.3.0-dev.3': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.drive.abci.docker.image = 'dashpay/drive:1-dev'; + options.platform.dapi.api.docker.image = 'dashpay/dapi:1-dev'; + + // Update core log settings + options.core.log.filePath = null; + options.core.log.debug = { + enabled: false, + ips: !!options.core.logIps, + sourceLocations: false, + threadNames: false, + timeMicros: false, + includeOnly: [], + exclude: [], + }; + + // If debug log was enabled + if (options.core.log.file.categories.length > 0) { + options.core.log.filePath = options.core.log.file.path; + options.core.log.debug.enabled = true; + + if (!options.core.log.file.categories.includes('all')) { + options.core.log.debug.includeOnly = options.core.log.file.categories; + } + } + + delete options.core.log.file; + delete options.core.logIps; + }); + return configFile; + }, + '1.3.0-dev.6': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.drive.tenderdash.docker.image = 'dashpay/tenderdash:fix-wrong-proposer-at-round'; + }); + return configFile; + }, + '1.3.0': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.drive.tenderdash.docker.image = 'dashpay/tenderdash:1.3'; + options.platform.drive.abci.docker.image = 'dashpay/drive:1'; + options.platform.dapi.api.docker.image = 'dashpay/dapi:1'; + }); + return configFile; + }, + '1.4.0-dev.1': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.drive.tenderdash.docker.image = 'dashpay/tenderdash:1.3'; + options.platform.drive.abci.docker.image = 'dashpay/drive:1-dev'; + options.platform.dapi.api.docker.image = 'dashpay/dapi:1-dev'; + }); + return configFile; + }, }; } diff --git a/packages/dashmate/docker-compose.build.base.yml b/packages/dashmate/docker-compose.build.base.yml index a6a310333d7..407463477c6 100644 --- a/packages/dashmate/docker-compose.build.base.yml +++ b/packages/dashmate/docker-compose.build.base.yml @@ -1,4 +1,4 @@ -version: '3.7' +--- services: _base: diff --git a/packages/dashmate/docker-compose.build.dapi_api.yml b/packages/dashmate/docker-compose.build.dapi_api.yml index c73fd7bfc92..3403b6ac3c0 100644 --- a/packages/dashmate/docker-compose.build.dapi_api.yml +++ b/packages/dashmate/docker-compose.build.dapi_api.yml @@ -1,4 +1,4 @@ -version: '3.7' +--- services: dapi_api: diff --git a/packages/dashmate/docker-compose.build.dapi_core_streams.yml b/packages/dashmate/docker-compose.build.dapi_core_streams.yml index ec9cfdcf450..fa9bce52651 100644 --- a/packages/dashmate/docker-compose.build.dapi_core_streams.yml +++ b/packages/dashmate/docker-compose.build.dapi_core_streams.yml @@ -1,4 +1,4 @@ -version: '3.7' +--- services: dapi_core_streams: diff --git a/packages/dashmate/docker-compose.build.dashmate_helper.yml b/packages/dashmate/docker-compose.build.dashmate_helper.yml index f2d1dc2209a..880a7b53ce1 100644 --- a/packages/dashmate/docker-compose.build.dashmate_helper.yml +++ b/packages/dashmate/docker-compose.build.dashmate_helper.yml @@ -1,4 +1,4 @@ -version: '3.7' +--- services: dashmate_helper: diff --git a/packages/dashmate/docker-compose.build.drive_abci.yml b/packages/dashmate/docker-compose.build.drive_abci.yml index c912d6033ce..7bf15b7c327 100644 --- a/packages/dashmate/docker-compose.build.drive_abci.yml +++ b/packages/dashmate/docker-compose.build.drive_abci.yml @@ -1,4 +1,4 @@ -version: '3.7' +--- services: drive_abci: diff --git a/packages/dashmate/docker-compose.insight_api.yml b/packages/dashmate/docker-compose.insight_api.yml index ad05c7e4d79..b6e52bdea52 100644 --- a/packages/dashmate/docker-compose.insight_api.yml +++ b/packages/dashmate/docker-compose.insight_api.yml @@ -1,4 +1,11 @@ -version: '3.7' +--- + +x-default-logging: &default-logging + driver: local + options: + max-size: "500m" + max-file: "5" + compress: "true" services: core_insight: @@ -6,6 +13,7 @@ services: labels: org.dashmate.service.title: "Core Insight API" restart: unless-stopped + logging: *default-logging ports: - 127.0.0.1:${CORE_INSIGHT_PORT:?err}:${CORE_INSIGHT_PORT:?err} depends_on: diff --git a/packages/dashmate/docker-compose.insight_ui.yml b/packages/dashmate/docker-compose.insight_ui.yml index 1d958caa23c..9db1ae84175 100644 --- a/packages/dashmate/docker-compose.insight_ui.yml +++ b/packages/dashmate/docker-compose.insight_ui.yml @@ -1,4 +1,11 @@ -version: '3.7' +--- + +x-default-logging: &default-logging + driver: local + options: + max-size: "500m" + max-file: "5" + compress: "true" services: core_insight: @@ -6,6 +13,7 @@ services: labels: org.dashmate.service.title: "Core Insight UI" restart: unless-stopped + logging: *default-logging ports: - 127.0.0.1:${CORE_INSIGHT_PORT:?err}:${CORE_INSIGHT_PORT:?err} depends_on: diff --git a/packages/dashmate/docker-compose.rate_limiter.metrics.yml b/packages/dashmate/docker-compose.rate_limiter.metrics.yml index 7e76d9959c3..8d0c3a85de6 100644 --- a/packages/dashmate/docker-compose.rate_limiter.metrics.yml +++ b/packages/dashmate/docker-compose.rate_limiter.metrics.yml @@ -1,4 +1,11 @@ -version: '3.7' +--- + +x-default-logging: &default-logging + driver: local + options: + max-size: "500m" + max-file: "5" + compress: "true" services: gateway_rate_limiter_metrics: @@ -6,6 +13,7 @@ services: labels: org.dashmate.service.title: "Gateway rate limiter metrics exporter" restart: unless-stopped + logging: *default-logging entrypoint: /bin/statsd_exporter command: - "--statsd.mapping-config=/etc/statsd-exporter/config.yaml" diff --git a/packages/dashmate/docker-compose.rate_limiter.yml b/packages/dashmate/docker-compose.rate_limiter.yml index 9833a620365..036589b6bb0 100644 --- a/packages/dashmate/docker-compose.rate_limiter.yml +++ b/packages/dashmate/docker-compose.rate_limiter.yml @@ -1,4 +1,11 @@ -version: '3.7' +--- + +x-default-logging: &default-logging + driver: local + options: + max-size: "500m" + max-file: "5" + compress: "true" services: gateway: @@ -9,10 +16,11 @@ services: - gateway_rate_limiter gateway_rate_limiter: + image: ${PLATFORM_GATEWAY_RATE_LIMITER_DOCKER_IMAGE:?err} labels: org.dashmate.service.title: "Gateway rate limiter" restart: unless-stopped - image: ${PLATFORM_GATEWAY_RATE_LIMITER_DOCKER_IMAGE:?err} + logging: *default-logging command: /bin/ratelimit depends_on: - gateway_rate_limiter_redis @@ -45,6 +53,7 @@ services: labels: org.dashmate.service.title: "Gateway rate limiter storage" restart: unless-stopped + logging: *default-logging image: redis:alpine expose: - 6379 diff --git a/packages/dashmate/docker-compose.yml b/packages/dashmate/docker-compose.yml index 53a3c835b99..67aae0bfa94 100644 --- a/packages/dashmate/docker-compose.yml +++ b/packages/dashmate/docker-compose.yml @@ -1,4 +1,11 @@ -version: '3.7' +--- + +x-default-logging: &default-logging + driver: local + options: + max-size: "500m" + max-file: "5" + compress: "true" services: dashmate_helper: @@ -6,6 +13,7 @@ services: labels: org.dashmate.service.title: "Dashmate Helper" restart: unless-stopped + logging: *default-logging environment: - LOCAL_UID=${LOCAL_UID:?err} - LOCAL_GID=${LOCAL_GID:?err} @@ -23,13 +31,13 @@ services: labels: org.dashmate.service.title: "Core" restart: unless-stopped + logging: *default-logging ports: - ${CORE_P2P_HOST:?err}:${CORE_P2P_PORT:?err}:${CORE_P2P_PORT:?err} - ${CORE_RPC_HOST:?err}:${CORE_RPC_PORT:?err}:${CORE_RPC_PORT:?err} volumes: - core_data:/home/dash - ${DASHMATE_HOME_DIR:?err}/${CONFIG_NAME:?err}/core/dash.conf:/home/dash/.dashcore/dash.conf:ro - - ${CORE_LOG_DIRECTORY_PATH:?err}:/var/log/dash command: - dashd stop_grace_period: 30s @@ -46,6 +54,7 @@ services: labels: org.dashmate.service.title: "Drive ABCI" restart: unless-stopped + logging: *default-logging volumes: - drive_abci_data:/var/lib/dash/rs-drive-abci/db environment: @@ -80,6 +89,8 @@ services: - TOKIO_CONSOLE_RETENTION_SECS=${PLATFORM_DRIVE_ABCI_TOKIO_CONSOLE_RETENTION:?err} - GROVEDB_VISUALIZER_ENABLED=${PLATFORM_DRIVE_ABCI_GROVEDB_VISUALIZER_ENABLED:?err} - GROVEDB_VISUALIZER_ADDRESS=0.0.0.0:${PLATFORM_DRIVE_ABCI_GROVEDB_VISUALIZER_PORT:?err} + - PROPOSER_TX_PROCESSING_TIME_LIMIT=${PLATFORM_DRIVE_ABCI_PROPOSER_TX_PROCESSING_TIME_LIMIT} + - NETWORK=${NETWORK:?err} stop_grace_period: 30s expose: - 26658 @@ -100,6 +111,7 @@ services: labels: org.dashmate.service.title: "Drive Tenderdash" restart: unless-stopped + logging: *default-logging depends_on: - drive_abci ports: @@ -110,7 +122,6 @@ services: volumes: - drive_tenderdash:/tenderdash - ${DASHMATE_HOME_DIR:?err}/${CONFIG_NAME:?err}/platform/drive/tenderdash:/tenderdash/config:ro - - ${PLATFORM_DRIVE_TENDERDASH_LOG_DIRECTORY_PATH:?err}:/var/log/tenderdash stop_grace_period: 10s profiles: - platform @@ -120,6 +131,7 @@ services: labels: org.dashmate.service.title: "DAPI API" restart: unless-stopped + logging: *default-logging deploy: mode: replicated replicas: ${PLATFORM_DAPI_API_DOCKER_DEPLOY_REPLICAS:-1} @@ -140,6 +152,7 @@ services: - NODE_ENV=${ENVIRONMENT:?err} - DRIVE_RPC_HOST=drive_abci - DRIVE_RPC_PORT=26670 + - WAIT_FOR_ST_RESULT_TIMEOUT=${PLATFORM_DAPI_API_WAIT_FOR_ST_RESULT_TIMEOUT:?err} command: yarn run api stop_grace_period: 10s expose: @@ -153,6 +166,7 @@ services: labels: org.dashmate.service.title: "DAPI Transactions Filter Stream" restart: unless-stopped + logging: *default-logging deploy: mode: replicated replicas: ${PLATFORM_DAPI_API_DOCKER_DEPLOY_REPLICAS:-1} @@ -181,6 +195,7 @@ services: labels: org.dashmate.service.title: "Gateway" restart: unless-stopped + logging: *default-logging ports: # HTTP entry point to the platform. # Supports HTTP1 and HTTP2 diff --git a/packages/dashmate/package.json b/packages/dashmate/package.json index a8cd0e4257f..0479cce9b8a 100644 --- a/packages/dashmate/package.json +++ b/packages/dashmate/package.json @@ -1,6 +1,6 @@ { "name": "dashmate", - "version": "1.0.2", + "version": "1.4.0-dev.1", "description": "Distribution package for Dash node installation", "scripts": { "lint": "eslint .", @@ -93,6 +93,7 @@ "semver": "^7.5.3", "systeminformation": "^5.22.11", "table": "^6.8.1", + "tar": "7.4.3", "wrap-ansi": "^7.0.0" }, "devDependencies": { @@ -158,6 +159,9 @@ }, "wallet": { "description": "Wallet related commands" + }, + "doctor": { + "description": "Node diagnostics and reporting" } }, "topicSeparator": " " diff --git a/packages/dashmate/src/commands/doctor/index.js b/packages/dashmate/src/commands/doctor/index.js new file mode 100644 index 00000000000..f4ecd4dba82 --- /dev/null +++ b/packages/dashmate/src/commands/doctor/index.js @@ -0,0 +1,146 @@ +import process from 'process'; +import { Flags } from '@oclif/core'; +import { Listr } from 'listr2'; +import chalk from 'chalk'; +import { SEVERITY } from '../../doctor/Prescription.js'; +import ConfigBaseCommand from '../../oclif/command/ConfigBaseCommand.js'; +import Samples from '../../doctor/Samples.js'; +import MuteOneLineError from '../../oclif/errors/MuteOneLineError.js'; + +export default class DoctorCommand extends ConfigBaseCommand { + static description = 'Dashmate node diagnostics. Bring your node to the doctor'; + + static flags = { + ...ConfigBaseCommand.flags, + verbose: Flags.boolean({ char: 'v', description: 'use verbose mode for output', default: false }), + samples: Flags.string({ char: 's', description: 'path to the samples archive', default: '' }), + }; + + /** + * @param {Object} args + * @param {Object} flags + * @param {Config} config + * @param {analyseSamples} analyseSamples + * @param {collectSamplesTask} collectSamplesTask + * @param {unarchiveSamples} unarchiveSamples + * @return {Promise} + */ + async runWithDependencies( + args, + { + verbose: isVerbose, + samples: samplesFile, + }, + config, + analyseSamples, + collectSamplesTask, + unarchiveSamples, + ) { + const tasks = new Listr( + [ + { + title: 'Collecting samples', + enabled: () => !samplesFile, + task: async () => collectSamplesTask(config), + }, + { + title: 'Analyzing samples', + task: async (ctx) => { + ctx.prescription = analyseSamples(ctx.samples); + }, + }, + ], + { + renderer: isVerbose ? 'verbose' : 'default', + rendererOptions: { + clearOutput: false, + showTimer: isVerbose, + removeEmptyLines: false, + collapse: false, + }, + }, + ); + + let samples; + if (samplesFile) { + samples = await unarchiveSamples(samplesFile); + } else { + samples = new Samples(); + } + + let ctx; + try { + ctx = await tasks.run({ + isVerbose, + samples, + }); + } catch (e) { + throw new MuteOneLineError(e); + } + + const problems = ctx.prescription.getOrderedProblems(); + if (problems.length === 0) { + // eslint-disable-next-line no-console + console.log(chalk`\n The doctor didn't find any problems with your node. + + If issues still persist, please use {bold.cyanBright dashmate doctor report} to create an archive + of the already collected data for further investigation. + + You can use it to analyze the node's condition yourself or send it to the Dash Core Group support team ({underline.cyanBright support@dash.org}) for help.`); + + return; + } + + const problemsString = problems.map((problem, index) => { + let numberedDescription = `${index + 1}. ${problem.getDescription()}`; + if (problem.getSeverity() === SEVERITY.HIGH) { + numberedDescription = chalk.red(numberedDescription); + } else if (problem.getSeverity() === SEVERITY.MEDIUM) { + numberedDescription = chalk.yellow(numberedDescription); + } + + const indentedDescription = numberedDescription.split('\n') + .map((line, i) => { + let size = 5; + if (i === 0) { + size = 3; + } + + return ' '.repeat(size) + line; + }).join('\n'); + + const indentedSolution = problem.getSolution().split('\n') + .map((line) => ' '.repeat(6) + line).join('\n'); + + return `${indentedDescription}\n\n${indentedSolution}`; + }).join('\n\n'); + + const plural = problems.length > 1 ? 's' : ''; + + const severity = ctx.prescription.getSeverity(); + + let problemsCount = `${problems.length} problem${plural}`; + if (severity === SEVERITY.HIGH) { + problemsCount = chalk.red(problemsCount); + } else if (severity === SEVERITY.MEDIUM) { + problemsCount = chalk.yellow(problemsCount); + } + + const prescriptionString = chalk`\n ${problemsCount} found: + +${problemsString} + + + Use {bold.cyanBright dashmate doctor report} to create an archive + of the already collected data for further investigation. + + You can use it to analyze the node's condition yourself or send it to the Dash Core Group support team ({underline.cyanBright support@dash.org}) for help.`; + + // eslint-disable-next-line no-console + console.log(prescriptionString); + + if (severity === SEVERITY.HIGH) { + process.exitCode = 1; + } + } +} diff --git a/packages/dashmate/src/commands/doctor/report.js b/packages/dashmate/src/commands/doctor/report.js new file mode 100644 index 00000000000..c826dc8ad7f --- /dev/null +++ b/packages/dashmate/src/commands/doctor/report.js @@ -0,0 +1,105 @@ +import process from 'process'; +import { Flags } from '@oclif/core'; +import { Listr } from 'listr2'; +import chalk from 'chalk'; +import Samples from '../../doctor/Samples.js'; +import ConfigBaseCommand from '../../oclif/command/ConfigBaseCommand.js'; +import MuteOneLineError from '../../oclif/errors/MuteOneLineError.js'; + +export default class ReportCommand extends ConfigBaseCommand { + static description = `Dashmate node diagnostic report + +The command collects diagnostic information and creates an obfuscated archive for further investigation`; + + static flags = { + ...ConfigBaseCommand.flags, + verbose: Flags.boolean({ char: 'v', description: 'use verbose mode for output', default: false }), + }; + + /** + * @param {Object} args + * @param {Object} flags + * @param {Config} config + * @param {collectSamplesTask} collectSamplesTask + * @param {archiveSamples} archiveSamples + * @return {Promise} + */ + async runWithDependencies( + args, + { + verbose: isVerbose, + }, + config, + collectSamplesTask, + archiveSamples, + ) { + const tasks = new Listr( + [ + { + task: async (ctx, task) => { + const agreement = await task.prompt({ + type: 'toggle', + name: 'confirm', + header: chalk` Do you want to create an archive of diagnostic information to help with debugging? + + The archive will include: + + - System information + - The node configuration + - Service logs, metrics and status + + Collected data will not contain any information which is not already publicly known. + All sensitive data like private keys or passwords is obfuscated. + + The archive will be compressed with TAR/GZIP and placed in {bold.cyanBright ${process.cwd()}} + You can use it to analyze the node's condition yourself or send it to the Dash Core Group support team ({underline.cyanBright support@dash.org}) for help.\n`, + message: 'Create an archive?', + enabled: 'Yes', + disabled: 'No', + }); + + if (!agreement) { + throw new Error('Archive creation was declined'); + } + }, + }, + { + title: 'Collecting samples', + task: async () => collectSamplesTask(config), + }, + { + title: 'Creating archive', + task: async (ctx, task) => { + const archivePath = process.cwd(); + + await archiveSamples(ctx.samples, archivePath); + + // eslint-disable-next-line no-param-reassign + task.output = chalk`Saved to {bold.cyanBright ${archivePath}/dashmate-report-${ctx.samples.date.toISOString()}.tar.gz}`; + }, + options: { + persistentOutput: true, + }, + }, + ], + { + renderer: isVerbose ? 'verbose' : 'default', + rendererOptions: { + clearOutput: false, + showTimer: isVerbose, + removeEmptyLines: false, + collapse: false, + }, + }, + ); + + try { + await tasks.run({ + isVerbose, + samples: new Samples(), + }); + } catch (e) { + throw new MuteOneLineError(e); + } + } +} diff --git a/packages/dashmate/src/commands/reset.js b/packages/dashmate/src/commands/reset.js index 99b640cdfc3..571b3b2ff31 100644 --- a/packages/dashmate/src/commands/reset.js +++ b/packages/dashmate/src/commands/reset.js @@ -9,7 +9,7 @@ export default class ResetCommand extends ConfigBaseCommand { static flags = { ...ConfigBaseCommand.flags, - hard: Flags.boolean({ char: 'h', description: 'reset config as well as services and data', default: false }), + hard: Flags.boolean({ description: 'reset config as well as services and data', default: false }), force: Flags.boolean({ char: 'f', description: 'skip running services check', default: false }), platform: Flags.boolean({ char: 'p', description: 'reset platform services and data only', default: false }), verbose: Flags.boolean({ char: 'v', description: 'use verbose mode for output', default: false }), @@ -38,6 +38,49 @@ export default class ResetCommand extends ConfigBaseCommand { ) { const tasks = new Listr( [ + { + enabled: (ctx) => !ctx.isForce, + task: async (ctx, task) => { + let message; + if (ctx.isHardReset) { + if (ctx.keepData) { + message = 'Are you sure you want to reset your node configuration? Data will be' + + ' kept.'; + if (ctx.isPlatformOnlyReset) { + message = 'Are you sure you want to reset platform related configuration? Data' + + ' will be kept'; + } + } else { + message = 'Are you sure you want to reset your node data and configuration?'; + if (ctx.isPlatformOnlyReset) { + message = 'Are you sure you want to reset platform related data and configuration?'; + } + } + } else if (ctx.keepData) { + message = 'Are you sure you want to reset docker containers?'; + if (ctx.isPlatformOnlyReset) { + message = 'Are you sure you want to reset platform related docker containers?'; + } + } else { + message = 'Are you sure you want to reset your node data?'; + if (ctx.isPlatformOnlyReset) { + message = 'Are you sure you want to reset platform related data?'; + } + } + + const agreement = await task.prompt({ + type: 'toggle', + name: 'confirm', + message, + enabled: 'Yes', + disabled: 'No', + }); + + if (!agreement) { + throw new Error('Reset operation was declined'); + } + }, + }, { title: `Reset ${config.getName()} node`, task: () => resetNodeTask(config), diff --git a/packages/dashmate/src/commands/wallet/mint.js b/packages/dashmate/src/commands/wallet/mint.js index 2eeacabd35a..0f06ad0ecd1 100644 --- a/packages/dashmate/src/commands/wallet/mint.js +++ b/packages/dashmate/src/commands/wallet/mint.js @@ -51,6 +51,10 @@ Mint given amount of tDash to a new or specified address throw new Error('Only local network supports generation of dash'); } + if (config.get('core.masternode.enable')) { + throw new Error('A masternode doesn\'t support generation of dash'); + } + const tasks = new Listr( [ { diff --git a/packages/dashmate/src/config/configJsonSchema.js b/packages/dashmate/src/config/configJsonSchema.js index 4a1062878a8..ed77019f290 100644 --- a/packages/dashmate/src/config/configJsonSchema.js +++ b/packages/dashmate/src/config/configJsonSchema.js @@ -401,36 +401,72 @@ export default { log: { type: 'object', properties: { - file: { + filePath: { + type: ['null', 'string'], + minLength: 1, + description: 'Write logs only to stdout if null. Provide an absolute file path on' + + ' the host machine to also write to a log file there. Use a log file if logs must be' + + ' retained since stdout logs are stored inside the docker container' + + ' and removed if the container is removed.', + }, + debug: { type: 'object', properties: { - categories: { + enabled: { + type: 'boolean', + description: 'Enable debug logging. Equivalent to setting "debug=1" in the Core configuration file)', + }, + ips: { + type: 'boolean', + description: 'Include IP addresses in debug output', + }, + sourceLocations: { + type: 'boolean', + description: 'Prepend debug output with name of the originating source' + + ' location (source file, line number and function name)', + }, + threadNames: { + type: 'boolean', + description: 'Prepend debug output with name of the originating thread (only' + + ' available on platforms supporting thread_local)', + }, + timeMicros: { + type: 'boolean', + description: 'Add microsecond precision to debug timestamps', + }, + includeOnly: { type: 'array', uniqueItems: true, + description: 'Log all categories if empty. Otherwise, log only the specified categories.', items: { type: 'string', - enum: ['all', 'net', 'tor', 'mempool', 'http', 'bench', 'zmq', 'walletdb', 'rpc', 'estimatefee', + enum: ['net', 'tor', 'mempool', 'http', 'bench', 'zmq', 'walletdb', 'rpc', 'estimatefee', 'addrman', 'selectcoins', 'reindex', 'cmpctblock', 'rand', 'prune', 'proxy', 'mempoolrej', 'libevent', 'coindb', 'qt', 'leveldb', 'chainlocks', 'gobject', 'instantsend', 'llmq', 'llmq-dkg', 'llmq-sigs', 'mnpayments', 'mnsync', 'coinjoin', 'spork', 'netconn', ], }, }, - path: { - type: 'string', - minLength: 1, + exclude: { + type: 'array', + description: 'Exclude debugging information for one or more categories.', + uniqueItems: true, + items: { + type: 'string', + enum: ['net', 'tor', 'mempool', 'http', 'bench', 'zmq', 'walletdb', 'rpc', 'estimatefee', + 'addrman', 'selectcoins', 'reindex', 'cmpctblock', 'rand', 'prune', 'proxy', 'mempoolrej', + 'libevent', 'coindb', 'qt', 'leveldb', 'chainlocks', 'gobject', 'instantsend', 'llmq', + 'llmq-dkg', 'llmq-sigs', 'mnpayments', 'mnsync', 'coinjoin', 'spork', 'netconn', + ], + }, }, }, additionalProperties: false, - required: ['categories', 'path'], + required: ['enabled', 'ips', 'sourceLocations', 'threadNames', 'timeMicros', 'includeOnly', 'exclude'], }, }, additionalProperties: false, - required: ['file'], - }, - logIps: { - type: 'integer', - enum: [0, 1], + required: ['filePath', 'debug'], }, indexes: { type: ['array'], @@ -444,7 +480,7 @@ export default { }, }, required: ['docker', 'p2p', 'rpc', 'spork', 'masternode', 'miner', 'devnet', 'log', - 'logIps', 'indexes', 'insight'], + 'indexes', 'insight'], additionalProperties: false, }, platform: { @@ -519,6 +555,9 @@ export default { additionalProperties: false, required: ['maxConcurrentStreams'], }, + waitForStResultTimeout: { + $ref: '#/definitions/durationInSeconds', + }, host: { type: 'string', minLength: 1, @@ -528,7 +567,7 @@ export default { $ref: '#/definitions/port', }, }, - required: ['http2', 'host', 'port'], + required: ['http2', 'host', 'port', 'waitForStResultTimeout'], additionalProperties: false, }, }, @@ -628,10 +667,12 @@ export default { properties: { level: { type: 'string', + description: 'Log level for gateway container logs', enum: ['trace', 'debug', 'info', 'warn', 'error', 'critical', 'off'], }, accessLogs: { type: 'array', + description: 'Envoy access logs', items: { oneOf: [ { @@ -641,7 +682,8 @@ export default { type: 'string', minLength: 1, enum: ['stdout', 'stderr'], - description: 'Access log type: stdout, stderr or file', + description: 'stdout, stderr or file (absolute file path on host' + + ' machine)', }, format: { type: 'string', @@ -667,7 +709,9 @@ export default { additionalProperties: { type: 'string', }, - description: 'JSON fields and values. If null, default template is used.', + description: 'JSON fields and values. If null, default template is' + + ' used. More info:' + + ' https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#format-dictionaries', }, }, required: ['template'], @@ -677,7 +721,9 @@ export default { properties: { template: { type: ['null', 'string'], - description: 'Template string. If null, default template is used.', + description: 'Template string. If null, default template is used.' + + ' More info:' + + ' https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#format-strings', }, }, required: ['template'], @@ -777,8 +823,13 @@ export default { required: ['image', 'build', 'deploy'], additionalProperties: false, }, + waitForStResultTimeout: { + type: 'integer', + minimum: 1, + description: 'How many millis to wait for state transition result before timeout', + }, }, - required: ['docker'], + required: ['docker', 'waitForStResultTimeout'], additionalProperties: false, }, }, @@ -796,6 +847,7 @@ export default { }, logs: { type: 'object', + description: 'Define Drive logs', propertyNames: { type: 'string', minLength: 1, @@ -816,10 +868,13 @@ export default { }, format: { type: 'string', + description: 'Log format:' + + ' https://docs.rs/tracing-subscriber/latest/tracing_subscriber/fmt/format/index.html', enum: ['full', 'compact', 'pretty', 'json'], }, color: { type: ['boolean', 'null'], + description: 'Whether or not to use colorful output; defaults to autodetect', }, }, required: ['destination', 'level', 'format', 'color'], @@ -887,9 +942,20 @@ export default { grovedbVisualizer: { $ref: '#/definitions/enabledHostPort', }, + proposer: { + type: 'object', + properties: { + txProcessingTimeLimit: { + type: ['null', 'integer'], + minimum: 0, + }, + }, + required: ['txProcessingTimeLimit'], + additionalProperties: false, + }, }, additionalProperties: false, - required: ['docker', 'logs', 'tokioConsole', 'validatorSet', 'chainLock', 'epochTime', 'metrics', 'grovedbVisualizer'], + required: ['docker', 'logs', 'tokioConsole', 'validatorSet', 'chainLock', 'epochTime', 'metrics', 'grovedbVisualizer', 'proposer'], }, tenderdash: { type: 'object', @@ -939,8 +1005,16 @@ export default { type: 'integer', minimum: 0, }, + maxConnections: { + type: 'integer', + minimum: 1, + }, + maxOutgoingConnections: { + type: 'integer', + minimum: 1, + }, }, - required: ['host', 'port', 'persistentPeers', 'seeds', 'flushThrottleTimeout', 'maxPacketMsgPayloadSize', 'sendRate', 'recvRate'], + required: ['host', 'port', 'persistentPeers', 'seeds', 'flushThrottleTimeout', 'maxPacketMsgPayloadSize', 'sendRate', 'recvRate', 'maxConnections', 'maxOutgoingConnections'], additionalProperties: false, }, mempool: { @@ -976,9 +1050,16 @@ export default { type: 'integer', minimum: 0, }, + ttlDuration: { + $ref: '#/definitions/duration', + }, + ttlNumBlocks: { + type: 'integer', + minimum: 0, + }, }, additionalProperties: false, - required: ['size', 'maxTxsBytes', 'cacheSize', 'timeoutCheckTx', 'txEnqueueTimeout', 'txSendRateLimit', 'txRecvRateLimit', 'maxConcurrentCheckTx'], + required: ['size', 'maxTxsBytes', 'cacheSize', 'timeoutCheckTx', 'txEnqueueTimeout', 'txSendRateLimit', 'txRecvRateLimit', 'maxConcurrentCheckTx', 'ttlDuration', 'ttlNumBlocks'], }, consensus: { type: 'object', @@ -1058,17 +1139,21 @@ export default { level: { type: 'string', enum: ['trace', 'debug', 'info', 'warn', 'error'], + description: 'Log verbosity level', }, format: { type: 'string', enum: ['plain', 'json'], + description: 'Log format: text or json', }, path: { type: ['string', 'null'], minLength: 1, + description: 'Write to stdout only if null or to stdout and specified log' + + ' file (absolute file path on host machine)', }, }, - required: ['level', 'format'], + required: ['level', 'format', 'path'], additionalProperties: false, }, rpc: { diff --git a/packages/dashmate/src/config/generateEnvsFactory.js b/packages/dashmate/src/config/generateEnvsFactory.js index fcb0491ecf7..781ef7bdaa4 100644 --- a/packages/dashmate/src/config/generateEnvsFactory.js +++ b/packages/dashmate/src/config/generateEnvsFactory.js @@ -1,4 +1,3 @@ -import path from 'path'; import os from 'os'; import convertObjectToEnvs from './convertObjectToEnvs.js'; import { DASHMATE_HELPER_DOCKER_IMAGE } from '../constants.js'; @@ -20,7 +19,6 @@ export default function generateEnvsFactory(configFile, homeDir, getConfigProfil * COMPOSE_PROJECT_NAME: string, * COMPOSE_FILE: string, * COMPOSE_PATH_SEPARATOR: string, - * CORE_LOG_DIRECTORY_PATH: string * }} */ function generateEnvs(config) { @@ -69,13 +67,6 @@ export default function generateEnvsFactory(configFile, homeDir, getConfigProfil const { uid, gid } = os.userInfo(); - // Determine logs directory to mount into tenderdash container - let tenderdashLogDirectoryPath = homeDir.joinPath('logs', config.get('network')); - const tenderdashLogFilePath = config.get('platform.drive.tenderdash.log.path'); - if (tenderdashLogFilePath !== null) { - tenderdashLogDirectoryPath = path.dirname(tenderdashLogFilePath); - } - let driveAbciMetricsUrl = ''; if (config.get('platform.drive.abci.metrics.enabled')) { driveAbciMetricsUrl = 'http://0.0.0.0:29090'; @@ -92,11 +83,7 @@ export default function generateEnvsFactory(configFile, homeDir, getConfigProfil COMPOSE_PATH_SEPARATOR: ':', DOCKER_BUILDKIT: 1, COMPOSE_DOCKER_CLI_BUILD: 1, - CORE_LOG_DIRECTORY_PATH: path.dirname( - config.get('core.log.file.path'), - ), DASHMATE_HELPER_DOCKER_IMAGE, - PLATFORM_DRIVE_TENDERDASH_LOG_DIRECTORY_PATH: tenderdashLogDirectoryPath, PLATFORM_GATEWAY_RATE_LIMITER_METRICS_DISABLED: !config.get('platform.gateway.rateLimiter.metrics.enabled'), PLATFORM_DRIVE_ABCI_METRICS_URL: driveAbciMetricsUrl, ...convertObjectToEnvs(config.getOptions()), diff --git a/packages/dashmate/src/config/obfuscateConfig.js b/packages/dashmate/src/config/obfuscateConfig.js new file mode 100644 index 00000000000..99982ab387e --- /dev/null +++ b/packages/dashmate/src/config/obfuscateConfig.js @@ -0,0 +1,30 @@ +import lodash from 'lodash'; +import obfuscateObjectRecursive from '../util/obfuscateObjectRecursive.js'; +import Config from './Config.js'; +import hideString from '../util/hideString.js'; + +/** + * @param {Config} config + * @return {Config} + */ +export default function obfuscateConfig( + config, +) { + const username = process.env.USER; + + const clonedOptions = lodash.cloneDeep(config.getOptions()); + + // sanitize [password, apiKey, privateKey, externalIp] fields in the dashmate config + obfuscateObjectRecursive(clonedOptions, (field, value) => (typeof value === 'string' && field === 'password' ? hideString(value) : value)); + obfuscateObjectRecursive(clonedOptions, (field, value) => (typeof value === 'string' && field === 'key' ? hideString(value) : value)); + obfuscateObjectRecursive(clonedOptions, (field, value) => (typeof value === 'string' && field === 'apiKey' ? hideString(value) : value)); + obfuscateObjectRecursive(clonedOptions, (field, value) => (typeof value === 'string' && field === 'privateKey' ? hideString(value) : value)); + + // sanitize also usernames & external ip from the rest of the fields values + obfuscateObjectRecursive(clonedOptions, (_field, value) => (typeof value === 'string' ? value.replaceAll( + username, + hideString(username), + ) : value)); + + return new Config(config.getName(), clonedOptions); +} diff --git a/packages/dashmate/src/constants.js b/packages/dashmate/src/constants.js index 7dc045e3050..e6338f61876 100644 --- a/packages/dashmate/src/constants.js +++ b/packages/dashmate/src/constants.js @@ -46,6 +46,7 @@ export const TEMPLATES_DIR = path.join(PACKAGE_ROOT_DIR, 'templates'); const { version } = JSON.parse(fs.readFileSync(path.join(PACKAGE_ROOT_DIR, 'package.json'), 'utf8')); +export const DASHMATE_VERSION = version; export const DASHMATE_HELPER_DOCKER_IMAGE = `dashpay/dashmate-helper:${version}`; export const OUTPUT_FORMATS = { diff --git a/packages/dashmate/src/core/startCoreFactory.js b/packages/dashmate/src/core/startCoreFactory.js index 86401ee6dfd..3da7e54b8d3 100644 --- a/packages/dashmate/src/core/startCoreFactory.js +++ b/packages/dashmate/src/core/startCoreFactory.js @@ -59,8 +59,10 @@ export default function startCoreFactory( coreCommand.push('--disablewallet=1'); } - const logFilePath = config.get('core.log.file.path'); - ensureFileMountExists(logFilePath, 0o666); + const logFilePath = config.get('core.log.filePath'); + if (logFilePath !== null) { + ensureFileMountExists(logFilePath, 0o666); + } const coreContainer = await dockerCompose.runService( config, diff --git a/packages/dashmate/src/createDIContainer.js b/packages/dashmate/src/createDIContainer.js index 95b41e13920..9f3b8616235 100644 --- a/packages/dashmate/src/createDIContainer.js +++ b/packages/dashmate/src/createDIContainer.js @@ -15,6 +15,14 @@ import ConfigFileJsonRepository from './config/configFile/ConfigFileJsonReposito import createConfigFileFactory from './config/configFile/createConfigFileFactory.js'; import migrateConfigFileFactory from './config/configFile/migrateConfigFileFactory.js'; import DefaultConfigs from './config/DefaultConfigs.js'; +import analyseConfigFactory from './doctor/analyse/analyseConfigFactory.js'; +import analyseCoreFactory from './doctor/analyse/analyseCoreFactory.js'; +import analysePlatformFactory from './doctor/analyse/analysePlatformFactory.js'; +import analyseServiceContainersFactory from './doctor/analyse/analyseServiceContainersFactory.js'; +import analyseSystemResourcesFactory from './doctor/analyse/analyseSystemResourcesFactory.js'; +import analyseSamplesFactory from './doctor/analyseSamplesFactory.js'; +import archiveSamples from './doctor/archiveSamples.js'; +import unarchiveSamplesFactory from './doctor/unarchiveSamplesFactory.js'; import renderTemplateFactory from './templates/renderTemplateFactory.js'; import renderServiceTemplatesFactory from './templates/renderServiceTemplatesFactory.js'; @@ -75,6 +83,7 @@ import reindexNodeTaskFactory from './listr/tasks/reindexNodeTaskFactory.js'; import updateNodeFactory from './update/updateNodeFactory.js'; import generateHDPrivateKeys from './util/generateHDPrivateKeys.js'; +import getOperatingSystemInfoFactory from './util/getOperatingSystemInfoFactory.js'; import obtainZeroSSLCertificateTaskFactory from './listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js'; import VerificationServer from './listr/tasks/ssl/VerificationServer.js'; @@ -112,6 +121,9 @@ import writeConfigTemplatesFactory from './templates/writeConfigTemplatesFactory import importCoreDataTaskFactory from './listr/tasks/setup/regular/importCoreDataTaskFactory.js'; import verifySystemRequirementsTaskFactory from './listr/tasks/setup/regular/verifySystemRequirementsTaskFactory.js'; +import collectSamplesTaskFactory from './listr/tasks/doctor/collectSamplesTaskFactory.js'; +import verifySystemRequirementsFactory from './doctor/verifySystemRequirementsFactory.js'; +import validateZeroSslCertificateFactory from './ssl/zerossl/validateZeroSslCertificateFactory.js'; /** * @param {Object} [options] @@ -170,6 +182,7 @@ export default async function createDIContainer(options = {}) { */ container.register({ generateHDPrivateKeys: asValue(generateHDPrivateKeys), + getOperatingSystemInfo: asFunction(getOperatingSystemInfoFactory), }); /** @@ -304,6 +317,30 @@ export default async function createDIContainer(options = {}) { importCoreDataTask: asFunction(importCoreDataTaskFactory).singleton(), verifySystemRequirementsTask: asFunction(verifySystemRequirementsTaskFactory) .singleton(), + collectSamplesTask: asFunction(collectSamplesTaskFactory).singleton(), + }); + + /** + * SSL + */ + container.register({ + validateZeroSslCertificate: asFunction(validateZeroSslCertificateFactory).singleton(), + getCertificate: asValue(getCertificate), + }); + + /** + * Doctor + */ + container.register({ + verifySystemRequirements: asFunction(verifySystemRequirementsFactory), + analyseSamples: asFunction(analyseSamplesFactory).singleton(), + analyseSystemResources: asFunction(analyseSystemResourcesFactory).singleton(), + analyseServiceContainers: asFunction(analyseServiceContainersFactory).singleton(), + analyseConfig: asFunction(analyseConfigFactory).singleton(), + analyseCore: asFunction(analyseCoreFactory).singleton(), + analysePlatform: asFunction(analysePlatformFactory).singleton(), + unarchiveSamples: asFunction(unarchiveSamplesFactory).singleton(), + archiveSamples: asValue(archiveSamples), }); /** diff --git a/packages/dashmate/src/docker/DockerCompose.js b/packages/dashmate/src/docker/DockerCompose.js index bbdf19d28bb..8a508008055 100644 --- a/packages/dashmate/src/docker/DockerCompose.js +++ b/packages/dashmate/src/docker/DockerCompose.js @@ -41,6 +41,11 @@ export default class DockerCompose { */ #isDockerSetupVerified = false; + /** + * @type {Error} + */ + #dockerVerifiicationError; + /** * @type {HomeDir} */ @@ -478,19 +483,55 @@ export default class DockerCompose { } } + /** + * Logs + * + * @param {Config} config + * @param {string[]} services + * @param {Object} options + * @param {number} options.tail + * @return {Promise<{exitCode: number | null, out: string, err: string}>} + */ + async logs(config, services = [], options = {}) { + await this.throwErrorIfNotInstalled(); + + const args = [...services]; + if (options.tail) { + args.unshift('--tail', options.tail.toString()); + } + + const commandOptions = this.#createOptions(config); + + try { + return await dockerCompose.logs(args, commandOptions); + } catch (e) { + throw new DockerComposeError(e); + } + } + /** * @return {Promise} */ async throwErrorIfNotInstalled() { if (this.#isDockerSetupVerified) { - return; + if (this.#dockerVerifiicationError) { + throw this.#dockerVerifiicationError; + } else { + return; + } } - this.#isDockerSetupVerified = true; + try { + await this.throwErrorIfDockerIsNotInstalled(); - await this.throwErrorIfDockerIsNotInstalled(); + await this.throwErrorIfDockerComposeIsNotInstalled(); + } catch (e) { + this.#dockerVerifiicationError = e; - await this.throwErrorIfDockerComposeIsNotInstalled(); + throw e; + } finally { + this.#isDockerSetupVerified = true; + } } /** diff --git a/packages/dashmate/src/docker/getServiceListFactory.js b/packages/dashmate/src/docker/getServiceListFactory.js index cb49f3f9d76..eff5fac7574 100644 --- a/packages/dashmate/src/docker/getServiceListFactory.js +++ b/packages/dashmate/src/docker/getServiceListFactory.js @@ -1,6 +1,7 @@ import yaml from 'js-yaml'; import fs from 'fs'; import path from 'path'; +import lodash from 'lodash'; import { DASHMATE_HELPER_DOCKER_IMAGE, PACKAGE_ROOT_DIR } from '../constants.js'; /** @@ -9,24 +10,38 @@ import { DASHMATE_HELPER_DOCKER_IMAGE, PACKAGE_ROOT_DIR } from '../constants.js' * @return {getServiceList} */ export default function getServiceListFactory(generateEnvs, getConfigProfiles) { - const file = fs.readFileSync(path.join(PACKAGE_ROOT_DIR, 'docker-compose.yml')); - const composeFile = yaml.load(file); - /** * Returns list of services and corresponding docker images from the config * - * @typedef {getServiceList} + * @typedef {function} getServiceList * @param {Config} config * @return {Object[]} */ function getServiceList(config) { const envs = generateEnvs(config); + const composeFiles = envs.COMPOSE_FILE.split(':').map((filenameOrPath) => { + if (filenameOrPath.startsWith('docker-compose')) { + const file = fs.readFileSync(path.join(PACKAGE_ROOT_DIR, filenameOrPath)); + return yaml.load(file); + } + + return null; + }) + .filter((e) => !!e); + const profiles = getConfigProfiles(config); - return Object - .entries(composeFile.services) - .map(([serviceName, { image: serviceImage, labels, profiles: serviceProfiles }]) => { + const composeFile = composeFiles + // reduce multiple docker compose file into single + .reduce((composeFilesAcc, currentValue) => lodash.merge(composeFilesAcc, currentValue), {}); + + const services = Object.entries(composeFile.services) + // map to array of services and populate with data + .map((composeFileServiceEntry) => { + const [serviceName, + { image: serviceImage, labels, profiles: serviceProfiles }] = composeFileServiceEntry; + const title = labels?.['org.dashmate.service.title']; if (!title) { @@ -35,8 +50,12 @@ export default function getServiceListFactory(generateEnvs, getConfigProfiles) { // Use hardcoded version for dashmate helper // Or parse image env variable name and extract version from the env + const serviceImageEnv = serviceImage.match(/([A-Z_]+)/); + + // eslint-disable-next-line no-nested-ternary const image = serviceName === 'dashmate_helper' - ? DASHMATE_HELPER_DOCKER_IMAGE : envs[serviceImage.match(/([A-Z_]+)/)[0]]; + ? DASHMATE_HELPER_DOCKER_IMAGE : serviceImageEnv?.length + ? envs[serviceImageEnv[0]] : serviceImage; return ({ name: serviceName, @@ -44,9 +63,10 @@ export default function getServiceListFactory(generateEnvs, getConfigProfiles) { image, profiles: serviceProfiles ?? [], }); - }) - .filter((service) => service.profiles.length === 0 - || service.profiles.some((serviceProfile) => profiles.includes(serviceProfile))); + }); + + return services.filter((service) => service.profiles.length === 0 + || service.profiles.some((serviceProfile) => profiles.includes(serviceProfile))); } return getServiceList; diff --git a/packages/dashmate/src/doctor/Prescription.js b/packages/dashmate/src/doctor/Prescription.js new file mode 100644 index 00000000000..07bd6cd6344 --- /dev/null +++ b/packages/dashmate/src/doctor/Prescription.js @@ -0,0 +1,40 @@ +export const SEVERITY = { + LOW: 1, + MEDIUM: 2, + HIGH: 3, +}; + +export class Prescription { + /** + * @type {Problem[]} + */ + #orderedProblems; + + /** + * @param {Problem[]} problems + */ + constructor(problems) { + const orderedProblems = [...problems]; + orderedProblems.sort((a, b) => b.getSeverity() - a.getSeverity()); + this.#orderedProblems = orderedProblems; + } + + /** + * @return {number} - Severity level + */ + getSeverity() { + return this.#orderedProblems + .reduce((severity, problem) => ( + Math.max(severity, problem.getSeverity()) + ), SEVERITY.LOW); + } + + /** + * Get problems ordered by severity level + * + * @return {Problem[]} + */ + getOrderedProblems() { + return this.#orderedProblems; + } +} diff --git a/packages/dashmate/src/doctor/Problem.js b/packages/dashmate/src/doctor/Problem.js new file mode 100644 index 00000000000..64cff07c31c --- /dev/null +++ b/packages/dashmate/src/doctor/Problem.js @@ -0,0 +1,48 @@ +export default class Problem { + /** + * @type {string} + */ + #description; + + /** + * @type {string} + */ + #solution; + + /** + * @type {number} + */ + #severity; + + /** + * @param {string} description + * @param {string} solution + * @param {number} severity + */ + constructor(description, solution, severity) { + this.#description = description; + this.#solution = solution; + this.#severity = severity; + } + + /** + * @return {string} + */ + getDescription() { + return this.#description; + } + + /** + * @return {string} + */ + getSolution() { + return this.#solution; + } + + /** + * @return {number} + */ + getSeverity() { + return this.#severity; + } +} diff --git a/packages/dashmate/src/doctor/Samples.js b/packages/dashmate/src/doctor/Samples.js new file mode 100644 index 00000000000..5d2c2b80d64 --- /dev/null +++ b/packages/dashmate/src/doctor/Samples.js @@ -0,0 +1,101 @@ +export default class Samples { + /** + * @type {Date} + */ + date; + + /** + * @type {Object} + */ + systemInfo = {}; + + /** + * @type {string} + */ + #dockerError; + + /** + * @type {string} + */ + #dashmateVersion; + + /** + * @type {Config} + */ + #dashmateConfig; + + /** + * @type {Object} + */ + #services = {}; + + constructor() { + this.date = new Date(); + } + + setSystemInfo(systemInfo) { + this.systemInfo = systemInfo; + } + + getSystemInfo() { + return this.systemInfo; + } + + /** + * @param {Error} error + */ + setDockerError(error) { + this.#dockerError = error.toString(); + } + + /** + * @param {string} errorString + */ + setStringifiedDockerError(errorString) { + this.#dockerError = errorString; + } + + /** + * @return {string} + */ + getStringifiedDockerError() { + return this.#dockerError; + } + + setDashmateVersion(version) { + this.#dashmateVersion = version; + } + + getDashmateVersion() { + return this.#dashmateVersion; + } + + /** + * @param {Config} config + */ + setDashmateConfig(config) { + this.#dashmateConfig = config; + } + + /** + * @return {Config} + */ + getDashmateConfig() { + return this.#dashmateConfig; + } + + setServiceInfo(service, key, data) { + this.#services[service] = { + ...(this.#services[service] ?? {}), + [key]: data, + }; + } + + getServices() { + return this.#services; + } + + getServiceInfo(service, key) { + return this.#services[service]?.[key]; + } +} diff --git a/packages/dashmate/src/doctor/analyse/analyseConfigFactory.js b/packages/dashmate/src/doctor/analyse/analyseConfigFactory.js new file mode 100644 index 00000000000..32c4355bdec --- /dev/null +++ b/packages/dashmate/src/doctor/analyse/analyseConfigFactory.js @@ -0,0 +1,254 @@ +import chalk from 'chalk'; +import { NETWORK_LOCAL, NETWORK_MAINNET } from '../../constants.js'; +import { ERRORS } from '../../ssl/zerossl/validateZeroSslCertificateFactory.js'; +import { SEVERITY } from '../Prescription.js'; +import Problem from '../Problem.js'; + +export default function analyseConfigFactory() { + /** + * @typedef analyseConfig + * @param {Samples} samples + * @return {Problem[]} + */ + function analyseConfig(samples) { + const config = samples.getDashmateConfig(); + + const problems = []; + + if (config?.get('platform.enable')) { + // Gateway admin is disabled while metrics are enabled + if (config.get('platform.gateway.metrics.enabled') && !config.get('platform.gateway.admin.enabled')) { + const problem = new Problem( + 'Gateway admin is disabled while metrics are enabled', + chalk`Please enable gateway admin: {bold.cyanBright dashmate config set platform.gateway.admin.enabled true}`, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + + // Platform Node ID + const masternodeStatus = samples.getServiceInfo('core', 'masternodeStatus'); + const platformNodeId = masternodeStatus?.dmnState?.platformNodeId; + if (platformNodeId && config.get('platform.drive.tenderdash.node.id') !== platformNodeId) { + const problem = new Problem( + 'Platform Node ID doesn\'t match the one found in the ProReg transaction', + chalk`Please set the correct Node ID and Node Key: + {bold.cyanBright dashmate config set platform.drive.tenderdash.node.id ID + dashmate config set platform.drive.tenderdash.node.key KEY} + Or update the Node ID in the masternode list using a ProServUp transaction`, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + + // SSL certificate + const ssl = samples.getServiceInfo('gateway', 'ssl'); + if (ssl?.error) { + switch (ssl.error) { + case 'disabled': + if (config.get('network') !== NETWORK_LOCAL) { + const problem = new Problem( + 'SSL certificates are disabled. Clients won\'t be able to connect securely', + chalk`Please enable and set up SSL certificates {bold.cyanBright https://docs.dash.org/en/stable/masternodes/dashmate.html#ssl-certificate}`, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + break; + case 'self-signed': + if (config.get('network') === NETWORK_MAINNET) { + const problem = new Problem( + 'Self-signed SSL certificate is used on mainnet. Clients won\'t be able to connect securely', + chalk`Please use valid SSL certificates {bold.cyanBright https://docs.dash.org/en/stable/masternodes/dashmate.html#ssl-certificate}`, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + break; + default: { + const { + description, + solution, + } = { + // File provider error + 'not-valid': { + description: 'SSL certificate files are not valid', + solution: chalk`Please make sure the certificate chain contains the actual server certificate at the top of the file, and it corresponds to the private key + +Certificate chain file path: {bold.cyanBright ${ssl?.data?.chainFilePath}} +Private key file path: {bold.cyanBright ${ssl?.data?.privateFilePath}}`, + }, + // File provider error + 'not-exist': { + description: 'SSL certificate files are not found', + solution: chalk`Please get an SSL certificate and place the certificate files in the correct location. + +Certificate chain file path: {bold.cyanBright ${ssl?.data?.chainFilePath}} +Private key file path: {bold.cyanBright ${ssl?.data?.privateFilePath}} + +Or use ZeroSSL https://docs.dash.org/en/stable/masternodes/dashmate.html#ssl-certificate`, + }, + // ZeroSSL validation errors + [ERRORS.API_KEY_IS_NOT_SET]: { + description: 'ZeroSSL API key is not set.', + solution: chalk`Please obtain your API key from {underline.cyanBright https://app.zerossl.com/developer} +And then update your configuration with {block.cyanBright dashmate config set platform.gateway.ssl.providerConfigs.zerossl.apiKey [KEY]}`, + }, + [ERRORS.EXTERNAL_IP_IS_NOT_SET]: { + description: 'External IP is not set.', + solution: chalk`Please update your configuration to include your external IP using {block.cyanBright dashmate config set externalIp [IP]}`, + }, + [ERRORS.CERTIFICATE_ID_IS_NOT_SET]: { + description: 'ZeroSSL certificate is not configured', + solution: chalk`Please run {bold.cyanBright dashmate ssl obtain} to get a new certificate`, + }, + [ERRORS.PRIVATE_KEY_IS_NOT_PRESENT]: { + description: chalk`ZeroSSL private key file not found in ${ssl?.data?.privateKeyFilePath}.`, + solution: chalk`Please regenerate the certificate using {bold.cyanBright dashmate ssl obtain --force} +and revoke the previous certificate in the ZeroSSL dashboard`, + }, + [ERRORS.EXTERNAL_IP_MISMATCH]: { + description: chalk`ZeroSSL IP ${ssl?.data?.certificate.common_name} does not match external IP ${ssl?.data?.externalIp}.`, + solution: chalk`Please regenerate the certificate using {bold.cyanBright dashmate ssl obtain --force} + and revoke the previous certificate in the ZeroSSL dashboard`, + }, + [ERRORS.CSR_FILE_IS_NOT_PRESENT]: { + description: chalk`ZeroSSL certificate request file not found in ${ssl?.data?.csrFilePath}. +This makes auto-renewal impossible.`, + solution: chalk`If you need auto renew, please regenerate the certificate using {bold.cyanBright dashmate ssl obtain --force} +and revoke the previous certificate in the ZeroSSL dashboard`, + }, + [ERRORS.CERTIFICATE_EXPIRES_SOON]: { + description: chalk`ZeroSSL certificate expires at ${ssl?.data?.certificate.expires}.`, + solution: chalk`Please run {bold.cyanBright dashmate ssl obtain} to get a new one`, + }, + [ERRORS.CERTIFICATE_IS_NOT_VALIDATED]: { + description: chalk`ZeroSSL certificate is not approved.`, + solution: chalk`Please run {bold.cyanBright dashmate ssl obtain} to confirm certificate`, + }, + [ERRORS.CERTIFICATE_IS_NOT_VALID]: { + description: chalk`ZeroSSL certificate is not valid.`, + solution: chalk`Please run {bold.cyanBright dashmate ssl zerossl obtain} to get a new one.`, + }, + [ERRORS.ZERO_SSL_API_ERROR]: { + description: ssl?.data?.error?.message, + solution: chalk`Please contact ZeroSSL support if needed.`, + }, + }[ssl.error] ?? {}; + + if (description) { + const problem = new Problem( + description, + solution, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + break; + } + } + } + + if (samples?.getDashmateConfig()?.get('network') !== NETWORK_LOCAL) { + // Core P2P port + const coreP2pPort = samples.getServiceInfo('core', 'p2pPort'); + if (coreP2pPort && coreP2pPort !== 'OPEN') { + const port = config.get('core.p2p.port'); + const externalIp = config.get('externalIp'); + + let solution = chalk`Please ensure that port ${port} on your public IP address ${externalIp} is open +for incoming connections. You may need to configure your firewall to +ensure this port is accessible from the public internet. If you are using +Network Address Translation (NAT), please enable port forwarding for port 80 +and all Dash service ports listed above.`; + if (externalIp) { + solution = chalk`Please ensure your configured IP address ${externalIp} is your public IP. +You can change it using {bold.cyanBright dashmate config set externalIp [IP]}. +Also, ensure that port ${port} on your public IP address is open +for incoming connections. You may need to configure your firewall to +ensure this port is accessible from the public internet. If you are using +Network Address Translation (NAT), please enable port forwarding for port 80 +and all Dash service ports listed above.`; + } + + const problem = new Problem( + 'Core P2P port is unavailable for incoming connections.', + solution, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + + // Gateway HTTP port + const gatewayHttpPort = samples.getServiceInfo('gateway', 'httpPort'); + if (gatewayHttpPort && gatewayHttpPort !== 'OPEN') { + const port = config.get('platform.gateway.listeners.dapiAndDrive.port'); + const externalIp = config.get('externalIp'); + + let solution = chalk`Please ensure that port ${port} on your public IP address ${externalIp} is open +for incoming connections. You may need to configure your firewall to +ensure this port is accessible from the public internet. If you are using +Network Address Translation (NAT), please enable port forwarding for port 80 +and all Dash service ports listed above.`; + if (externalIp) { + solution = chalk`Please ensure your configured IP address ${externalIp} is your public IP. +You can change it using {bold.cyanBright dashmate config set externalIp [IP]}. +Also, ensure that port ${port} on your public IP address is open +for incoming connections. You may need to configure your firewall to +ensure this port is accessible from the public internet. If you are using +Network Address Translation (NAT), please enable port forwarding for port 80 +and all Dash service ports listed above.`; + } + + const problem = new Problem( + 'Gateway HTTP port is unavailable for incoming connections.', + solution, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + + // Tenderdash P2P port + const tenderdashP2pPort = samples.getServiceInfo('drive_tenderdash', 'p2pPort'); + if (tenderdashP2pPort && tenderdashP2pPort !== 'OPEN') { + const port = config.get('platform.drive.tenderdash.p2p.port'); + const externalIp = config.get('externalIp'); + + let solution = chalk`Please ensure that port ${port} on your public IP address ${externalIp} is open +for incoming connections. You may need to configure your firewall to +ensure this port is accessible from the public internet. If you are using +Network Address Translation (NAT), please enable port forwarding for port 80 +and all Dash service ports listed above.`; + if (externalIp) { + solution = chalk`Please ensure your configured IP address ${externalIp} is your public IP. +You can change it using {bold.cyanBright dashmate config set externalIp [IP]}. +Also, ensure that port ${port} on your public IP address is open +for incoming connections. You may need to configure your firewall to +ensure this port is accessible from the public internet. If you are using +Network Address Translation (NAT), please enable port forwarding for port 80 +and all Dash service ports listed above.`; + } + + const problem = new Problem( + 'Tenderdash P2P port is unavailable for incoming connections.', + solution, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + } + } + + return problems; + } + + return analyseConfig; +} diff --git a/packages/dashmate/src/doctor/analyse/analyseCoreFactory.js b/packages/dashmate/src/doctor/analyse/analyseCoreFactory.js new file mode 100644 index 00000000000..eb947e8a6ef --- /dev/null +++ b/packages/dashmate/src/doctor/analyse/analyseCoreFactory.js @@ -0,0 +1,92 @@ +import chalk from 'chalk'; +import { SEVERITY } from '../Prescription.js'; +import Problem from '../Problem.js'; + +/** + * @return {analyseCore} + */ +export default function analyseCoreFactory() { + /** + * @typedef {Function} analyseCore + * @param {Samples} samples + * @return {Problem[]} + */ + function analyseCore(samples) { + const problems = []; + + // Core is synced + const masternodeSyncStatus = samples.getServiceInfo('core', 'masternodeSyncStatus'); + + if (masternodeSyncStatus?.IsSynced === false) { + const blockchainInfo = samples.getServiceInfo('core', 'blockchainInfo'); + const verificationProgress = blockchainInfo?.verificationprogress ?? 0; + + const problem = new Problem( + 'Core is syncing blockchain data. Some node services may be temporarily unresponsive', + chalk`Sync is ${(verificationProgress * 100).toFixed(1)}% complete. Please wait until Core is fully synced`, + SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + + // PoSe + if (samples?.getDashmateConfig()?.get('core.masternode.enable')) { + const masternodeStatus = samples.getServiceInfo('core', 'masternodeStatus'); + + const { description, solution, severity } = { + WAITING_FOR_PROTX: { + description: 'The masternode is waiting for ProTx registration confirmation', + solution: chalk`Ensure the ProRegTx transaction has been sent and is confirmed on the network.`, + severity: SEVERITY.HIGH, + }, + POSE_BANNED: { + description: 'The masternode has been banned due to failing Proof-of-Service checks.', + solution: chalk`Submit a ProUpServTx transaction to unban your masternode and ensure +it meets all network requirements.`, + severity: SEVERITY.HIGH, + }, + REMOVED: { + description: 'The masternode has been removed from the network\'s masternode list.', + solution: chalk`Re-register the masternode with a new ProRegTx transaction.`, + severity: SEVERITY.HIGH, + }, + OPERATOR_KEY_CHANGED: { + description: 'The operator key for the masternode has been changed.', + solution: chalk`Update the masternode configuration with the new operator key +using {bold.cyanBright dashmate config set core.masternode.operatorKey }.`, + severity: SEVERITY.HIGH, + }, + PROTX_IP_CHANGED: { + description: 'The IP address registered in the ProTx has changed.', + solution: chalk`Update your masternode\'s configuration with the new IP address.`, + severity: SEVERITY.HIGH, + }, + ERROR: { + description: 'An unknown error has occurred with the masternode.', + solution: chalk`Check the Core logs for detailed error information and troubleshoot accordingly.`, + severity: SEVERITY.HIGH, + }, + UNKNOWN: { + description: 'The masternode status cannot be determined.', + solution: chalk`Check the Core logs for detailed error information and troubleshoot accordingly.`, + severity: SEVERITY.HIGH, + }, + }[masternodeStatus?.state] || {}; + + if (description) { + const problem = new Problem( + description, + solution, + severity, + ); + + problems.push(problem); + } + } + + return problems; + } + + return analyseCore; +} diff --git a/packages/dashmate/src/doctor/analyse/analysePlatformFactory.js b/packages/dashmate/src/doctor/analyse/analysePlatformFactory.js new file mode 100644 index 00000000000..d36b71147e3 --- /dev/null +++ b/packages/dashmate/src/doctor/analyse/analysePlatformFactory.js @@ -0,0 +1,35 @@ +import { SEVERITY } from '../Prescription.js'; +import Problem from '../Problem.js'; + +/** + * @return {analysePlatform} + */ +export default function analysePlatformFactory() { + /** + * @typedef {Function} analysePlatform + * @param {Samples} samples + * @return {Problem[]} + */ + function analysePlatform(samples) { + const problems = []; + + // Tenderdash is synced + if (samples?.getDashmateConfig()?.get('platform.enable')) { + const status = samples.getServiceInfo('drive_tenderdash', 'status'); + + if (status?.sync_info?.catching_up) { + const problem = new Problem( + 'Drive is syncing blockchain data. Some node services may temporarily be unresponsive.', + 'Please wait until Drive is fully synced', + SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + } + + return problems; + } + + return analysePlatform; +} diff --git a/packages/dashmate/src/doctor/analyse/analyseServiceContainersFactory.js b/packages/dashmate/src/doctor/analyse/analyseServiceContainersFactory.js new file mode 100644 index 00000000000..4edd993b62e --- /dev/null +++ b/packages/dashmate/src/doctor/analyse/analyseServiceContainersFactory.js @@ -0,0 +1,169 @@ +import chalk from 'chalk'; +import { SEVERITY } from '../Prescription.js'; +import Problem from '../Problem.js'; + +/** + * @param {getServiceList} getServiceList + * @return {analyseServiceContainers} + */ +export default function analyseServiceContainersFactory( + getServiceList, +) { + /** + * @typedef {analyseServiceContainers} + * @param {Samples} samples + * @return {Problem[]} + */ + function analyseServiceContainers(samples) { + const services = getServiceList(samples.getDashmateConfig()); + + const servicesNotStarted = []; + const servicesFailed = []; + const servicesOOMKilled = []; + const servicesHighCpuUsage = []; + const servicesHighMemoryUsage = []; + + for (const service of services) { + const dockerInspect = samples.getServiceInfo(service.name, 'dockerInspect'); + const dockerStats = samples.getServiceInfo(service.name, 'dockerStats'); + + if (!dockerInspect) { + continue; + } + + if (dockerInspect.message) { + servicesNotStarted.push({ + service, + message: dockerInspect.message, + }); + } else if ( + dockerInspect.State?.Restarting === true + && dockerInspect.State?.ExitCode !== 0 + ) { + servicesFailed.push({ + service, + message: dockerInspect.State.Error, + code: dockerInspect.State.ExitCode, + }); + } else if (dockerInspect.State?.OOMKilled === true) { + servicesOOMKilled.push({ + service, + }); + } + + const cpuSystemUsage = dockerStats?.cpuStats?.system_cpu_usage ?? 0; + const cpuServiceUsage = dockerStats?.cpuStats?.cpu_usage?.total_usage ?? 0; + + if (cpuSystemUsage > 0) { + const cpuUsage = cpuServiceUsage / cpuSystemUsage; + + if (cpuUsage > 0.8) { + servicesHighCpuUsage.push({ + service, + cpuUsage, + }); + } + } + + const memoryLimit = dockerStats?.memoryStats?.limit ?? 0; + const memoryServiceUsage = dockerStats?.memoryStats?.usage ?? 0; + + if (memoryLimit > 0) { + const memoryUsage = memoryServiceUsage / memoryLimit; + + if (memoryUsage > 0.8) { + servicesHighMemoryUsage.push({ + service, + memoryUsage, + }); + } + } + } + + const problems = []; + + if (servicesNotStarted.length > 0) { + let description; + if (servicesNotStarted.length === 1) { + description = `Service ${servicesNotStarted[0].service.title} isn't started.`; + } else { + description = `Services ${servicesNotStarted.map((e) => e.service.title).join(', ')} aren't started.`; + } + + const problem = new Problem( + description, + chalk`Try {bold.cyanBright dashmate start --force} to make sure all services are started`, + SEVERITY.HIGH, + ); + + problems.push(problem); + } + + for (const failedService of servicesFailed) { + let description = `Service ${failedService.service.title} failed with an error code ${failedService.code}`; + + if (failedService.message?.length > 0) { + description += `\nand message: ${failedService.message}`; + } + + description += '.'; + + const problem = new Problem( + description, + 'Please check service logs or share them with Dash Core Group', + SEVERITY.HIGH, + ); + + problems.push(problem); + } + + if (servicesOOMKilled.length > 0) { + let description; + if (servicesNotStarted.length === 1) { + description = chalk`Service ${servicesNotStarted[0].service.title} was killed due to a lack of memory.`; + } else { + description = chalk`Services ${servicesNotStarted.map((e) => e.service.title).join(', ')} were killed due to lack of memory.`; + } + + const problem = new Problem( + description, + 'Make sure you have enough memory to run the node.', + SEVERITY.HIGH, + ); + + problems.push(problem); + } + + if (servicesHighCpuUsage.length > 0) { + for (const highCpuService of servicesHighCpuUsage) { + const description = `Service ${highCpuService.service.title} is consuming ${(highCpuService.cpuUsage * 100).toFixed(2)}% CPU.`; + + const problem = new Problem( + description, + 'Consider upgrading CPU or report in case of misbehaviour.', + SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + } + + if (servicesHighMemoryUsage.length > 0) { + for (const highMemoryService of servicesHighMemoryUsage) { + const description = `Service ${highMemoryService.service.title} is consuming ${(highMemoryService.memoryUsage * 100).toFixed(2)}% RAM.`; + + const problem = new Problem( + description, + 'Consider upgrading RAM or report in case of misbehaviour.', + SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + } + + return problems; + } + + return analyseServiceContainers; +} diff --git a/packages/dashmate/src/doctor/analyse/analyseSystemResourcesFactory.js b/packages/dashmate/src/doctor/analyse/analyseSystemResourcesFactory.js new file mode 100644 index 00000000000..a5728a4b413 --- /dev/null +++ b/packages/dashmate/src/doctor/analyse/analyseSystemResourcesFactory.js @@ -0,0 +1,104 @@ +import { SEVERITY } from '../Prescription.js'; +import Problem from '../Problem.js'; + +/** + * @param {verifySystemRequirements} verifySystemRequirements + * @return {analyseSystemResources} + */ +export default function analyseSystemResourcesFactory(verifySystemRequirements) { + /** + * @typedef {analyseSystemResources} + * @param {Samples} samples + * @returns {Problem[]} + */ + function analyseSystemResources(samples) { + const { + cpu, + dockerSystemInfo, + currentLoad, + diskSpace, + fsOpenFiles, + memory, + diskIO, + } = samples.getSystemInfo(); + + // System requirements + const problems = verifySystemRequirements( + { + dockerSystemInfo, + cpu, + memory, + diskSpace, + }, + samples.getDashmateConfig().get('platform.enable'), + { + diskSpace: 5, + }, + ); + + // Current CPU load + const cpuCores = dockerSystemInfo?.NCPU ?? cpu?.cores; + if (cpuCores && currentLoad && (currentLoad.avgLoad / cpuCores) > 0.8) { + const problem = new Problem( + `Average system load ${currentLoad.avgLoad.toFixed(2)} is higher than normal`, + 'Consider upgrading CPUs', + SEVERITY.LOW, + ); + + problems.push(problem); + } + + // Free memory + if (memory && Number.isInteger(memory.free) && memory.free > 0) { + const memoryGb = memory.free / (1024 ** 3); + if (memoryGb < 0.5) { + const problem = new Problem( + `Only ${memoryGb.toFixed(1)}GB RAM is available`, + 'Consider adding RAM', + SEVERITY.LOW, + ); + + problems.push(problem); + } + } + + // Open file descriptors + if (fsOpenFiles?.allocated && fsOpenFiles?.max) { + const available = fsOpenFiles.max - fsOpenFiles.allocated; + if (available < 1000) { + const problem = new Problem( + `${available} available file descriptors left`, + 'Please increase the maximum open file descriptor limit or stop unnecessary processes.', + SEVERITY.HIGH, + ); + + problems.push(problem); + } + } + + // IO wait time + if (diskIO?.tWaitPercent) { + const THRESHOLD = 40; + + const maxDiskIOWaitPercent = Math.max( + diskIO.rWaitPercent, + diskIO.wWaitPercent, + diskIO.tWaitPercent, + ) * 100; + + if (maxDiskIOWaitPercent > THRESHOLD) { + const problem = new Problem( + `Disk IO wait time is ${maxDiskIOWaitPercent.toFixed(0)}%`, + 'Consider upgrading to faster storage', + SEVERITY.LOW, + ); + + problems.push(problem); + } + } + + return problems; + } + + return analyseSystemResources; +} diff --git a/packages/dashmate/src/doctor/analyseSamplesFactory.js b/packages/dashmate/src/doctor/analyseSamplesFactory.js new file mode 100644 index 00000000000..f3aae62e8b7 --- /dev/null +++ b/packages/dashmate/src/doctor/analyseSamplesFactory.js @@ -0,0 +1,52 @@ +import { Prescription, SEVERITY } from './Prescription.js'; +import Problem from './Problem.js'; + +/** + * @param {analyseSystemResources} analyseSystemResources + * @param {analyseServiceContainers} analyseServiceContainers + * @param {analyseConfig} analyseConfig + * @param {analyseCore} analyseCore + * @param {analysePlatform} analysePlatform + * @return {analyseSamples} + */ +export default function analyseSamplesFactory( + analyseSystemResources, + analyseServiceContainers, + analyseConfig, + analyseCore, + analysePlatform, +) { + /** + * @typedef {Function} analyseSamples + * @param {Samples} samples + * @return {Prescription} + */ + function analyseSamples(samples) { + const problems = []; + + // System resources + problems.push(...analyseSystemResources(samples)); + + // Docker + const dockerError = samples.getStringifiedDockerError(); + if (dockerError) { + problems.push(new Problem( + 'Docker installation error', + dockerError, + SEVERITY.HIGH, + )); + } + + problems.push(...analyseServiceContainers(samples)); + + problems.push(...analyseConfig(samples)); + + problems.push(...analyseCore(samples)); + + problems.push(...analysePlatform(samples)); + + return new Prescription(problems); + } + + return analyseSamples; +} diff --git a/packages/dashmate/src/doctor/archiveSamples.js b/packages/dashmate/src/doctor/archiveSamples.js new file mode 100644 index 00000000000..4f02eb49d86 --- /dev/null +++ b/packages/dashmate/src/doctor/archiveSamples.js @@ -0,0 +1,64 @@ +import os from 'os'; +import path from 'path'; +import fs from 'fs'; +import { create } from 'tar'; + +function writeSampleFile(archiveDir, service, filename, data) { + if (data === undefined || data === null) { + return; + } + + const serviceDir = path.join(archiveDir, service ?? ''); + + let buffer; + let filetype; + + const dataType = typeof data; + + if (dataType === 'string') { + buffer = data; + filetype = '.txt'; + } else { + buffer = JSON.stringify(data, null, 2); + filetype = '.json'; + } + + if (!fs.existsSync(serviceDir)) { + fs.mkdirSync(serviceDir); + } + + fs.writeFileSync(path.join(serviceDir, `${filename}${filetype}`), buffer, 'utf8'); +} + +/** + * @param {Samples} samples + * @param {string} folderPath + */ +export default async function archiveSamples(samples, folderPath) { + const tempDir = os.tmpdir(); + const archiveName = `dashmate-report-${samples.date.toISOString()}`; + const archiveDir = path.join(tempDir, archiveName); + + writeSampleFile(archiveDir, null, 'date', samples.date.toISOString()); + writeSampleFile(archiveDir, null, 'systemInfo', samples.getSystemInfo()); + writeSampleFile(archiveDir, null, 'dockerError', samples.getStringifiedDockerError()); + writeSampleFile(archiveDir, null, 'dashmateConfig', samples.getDashmateConfig()); + writeSampleFile(archiveDir, null, 'dashmateVersion', samples.getDashmateVersion()); + + for (const [serviceName, service] of Object.entries(samples.getServices())) { + for (const [key, data] of Object.entries(service)) { + if (data !== undefined && data !== null) { + writeSampleFile(archiveDir, serviceName, key, data); + } + } + } + + await create( + { + cwd: archiveDir, + gzip: true, + file: path.join(folderPath, `${archiveName}.tar.gz`), + }, + ['.'], + ); +} diff --git a/packages/dashmate/src/doctor/unarchiveSamplesFactory.js b/packages/dashmate/src/doctor/unarchiveSamplesFactory.js new file mode 100644 index 00000000000..1eb53c4b308 --- /dev/null +++ b/packages/dashmate/src/doctor/unarchiveSamplesFactory.js @@ -0,0 +1,115 @@ +import os from 'os'; +import path from 'path'; +import fs from 'fs'; +import { extract } from 'tar'; +import Samples from './Samples.js'; +import Config from '../config/Config.js'; + +function readSampleFile(filePath) { + const data = fs.readFileSync(filePath, 'utf8'); + const ext = path.extname(filePath); + + if (ext === '.json') { + return JSON.parse(data); + } + + return data; +} + +/** + * @param {getServiceList} getServiceList + * @returns {unarchiveSamples} + */ +export default function unarchiveSamplesFactory(getServiceList) { + /** + * @typedef {Function} unarchiveSamples + * @param {string} archiveFilePath + * @returns {Promise} + */ + async function unarchiveSamples(archiveFilePath) { + if (!fs.existsSync(archiveFilePath)) { + throw new Error(`Archive file with logged data not found: ${archiveFilePath}`); + } + + const samples = new Samples(); + + const tempDir = os.tmpdir(); + const archiveFileName = path.basename(archiveFilePath, '.tar.gz'); + const extractDir = path.join(tempDir, archiveFileName); + fs.mkdirSync(extractDir, { recursive: true }); + + await extract({ + file: archiveFilePath, + cwd: extractDir, + }); + + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.debug(`Extracted logged data to: ${extractDir}`); + } + + const dateFilePath = path.join(extractDir, 'date.txt'); + if (fs.existsSync(dateFilePath)) { + samples.date = readSampleFile(dateFilePath); + } + + const systemInfoFilePath = path.join(extractDir, 'systemInfo.json'); + if (fs.existsSync(systemInfoFilePath)) { + samples.setSystemInfo(readSampleFile(systemInfoFilePath)); + } + + const dockerErrorFilePath = path.join(extractDir, 'dockerError.txt'); + if (fs.existsSync(dockerErrorFilePath)) { + samples.setStringifiedDockerError(readSampleFile(dockerErrorFilePath)); + } + + const dashmateConfigFilePath = path.join(extractDir, 'dashmateConfig.json'); + if (fs.existsSync(dashmateConfigFilePath)) { + const configProperties = readSampleFile(dashmateConfigFilePath); + if (configProperties?.options) { + const config = new Config(configProperties.name, configProperties.options); + samples.setDashmateConfig(config); + } + } + + const dashmateVersionFilePath = path.join(extractDir, 'dashmateVersion.txt'); + if (fs.existsSync(dashmateVersionFilePath)) { + samples.setDashmateVersion(readSampleFile(dashmateVersionFilePath)); + } + + const serviceNames = getServiceList(samples.getDashmateConfig()) + .map((service) => service.name); + + for (const serviceName of serviceNames) { + const serviceDir = path.join(extractDir, serviceName); + + if (!fs.statSync(serviceDir) + .isDirectory()) { + continue; + } + + const files = fs.readdirSync(serviceDir); + + for (const file of files) { + const filePath = path.join(serviceDir, file); + + const ext = path.extname(file); + if (ext !== '.txt' && ext !== '.json' && !fs.statSync(filePath) + .isDirectory()) { + continue; + } + + const data = readSampleFile(filePath); + const key = path.basename(file, ext); + samples.setServiceInfo(serviceName, key, data); + } + } + + if (!process.env.DEBUG) { + fs.rmSync(extractDir, { recursive: true }); + } + + return samples; + } + return unarchiveSamples; +} diff --git a/packages/dashmate/src/doctor/verifySystemRequirementsFactory.js b/packages/dashmate/src/doctor/verifySystemRequirementsFactory.js new file mode 100644 index 00000000000..66f7355d471 --- /dev/null +++ b/packages/dashmate/src/doctor/verifySystemRequirementsFactory.js @@ -0,0 +1,130 @@ +import { SEVERITY } from './Prescription.js'; +import Problem from './Problem.js'; + +/** + * @return {verifySystemRequirements} + */ +export default function verifySystemRequirementsFactory() { + /** + * @typedef {Function} verifySystemRequirements + * @param {Object} systemInfo + * @param {Object} systemInfo.dockerSystemInfo + * @param {Object} systemInfo.cpu + * @param {Object} systemInfo.memory + * @param {Object} systemInfo.diskSpace + * @param {boolean} isHP + * @param {Object} [overrideRequirements] + * @param {Number} [overrideRequirements.diskSpace] + * @returns {Problem[]} + */ + function verifySystemRequirements( + { + dockerSystemInfo, + cpu, + memory, + diskSpace, + }, + isHP, + overrideRequirements = {}, + ) { + const MINIMUM_CPU_CORES = isHP ? 4 : 2; + const MINIMUM_CPU_FREQUENCY = 2.4; // GHz + const MINIMUM_RAM = isHP ? 8 : 4; // GB + const MINIMUM_DISK_SPACE = overrideRequirements.diskSpace ?? (isHP ? 200 : 100); // GB + + const problems = []; + + // CPU cores + const cpuCores = dockerSystemInfo?.NCPU ?? cpu?.cores; + + if (Number.isInteger(cpuCores)) { + if (cpuCores < MINIMUM_CPU_CORES) { + const problem = new Problem( + `${cpuCores} CPU cores detected. At least ${MINIMUM_CPU_CORES} are required`, + `Consider upgrading CPUs to make sure the node can provide timely responses +for required network services and avoid Proof-of-Service bans`, + SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + } else if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get CPU core information'); + } + + // Memory + const totalMemory = dockerSystemInfo?.MemTotal ?? memory?.total; + + if (Number.isInteger(totalMemory)) { + const totalMemoryGb = totalMemory / (1024 ** 3); // Convert to GB + + if (totalMemoryGb < MINIMUM_RAM) { + const problem = new Problem( + `${totalMemoryGb.toFixed(2)}GB RAM detected. At least ${MINIMUM_RAM}GB is required`, + `Consider upgrading RAM to make sure the node can provide timely responses +for required network services and avoid Proof-of-Service bans`, + SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + } else if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get memory information'); + } + + // CPU speed + if (cpu && Number.isFinite(cpu.speed) && cpu.speed !== 0) { + if (cpu.speed < MINIMUM_CPU_FREQUENCY) { + const problem = new Problem( + `${cpu.speed.toFixed(1)}GHz CPU frequency detected. At least ${MINIMUM_CPU_FREQUENCY}GHz is required`, + `Consider upgrading CPUs to make sure the node can provide timely responses +for required network services and avoid Proof-of-Service bans`, + SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + } else if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get CPU frequency'); + } + + // Check swap information + if (memory && Number.isInteger(memory.swaptotal)) { + const swapTotalGb = (memory.swaptotal / (1024 ** 3)); // Convert bytes to GB + + if (swapTotalGb < 2) { + const problem = new Problem( + `Swap space is ${swapTotalGb.toFixed(2)}GB. 2GB is recommended`, + `Consider enabling SWAP to make sure the node can provide timely responses +for required network services and avoid Proof-of-Service bans`, + SEVERITY.LOW, + ); + + problems.push(problem); + } + } + + // Get disk usage info + if (diskSpace) { + const availableDiskSpace = diskSpace.available / (1024 ** 3); // Convert to GB + + if (availableDiskSpace < MINIMUM_DISK_SPACE) { + const problem = new Problem( + `${availableDiskSpace.toFixed(2)}GB of available disk space detected. At least ${MINIMUM_DISK_SPACE}GB is required`, + `Consider increasing disk space to make sure the node can provide timely responses +for required network services and avoid Proof-of-Service bans`, + MINIMUM_DISK_SPACE - availableDiskSpace < 5 ? SEVERITY.HIGH : SEVERITY.MEDIUM, + ); + + problems.push(problem); + } + } + + return problems; + } + + return verifySystemRequirements; +} diff --git a/packages/dashmate/src/listr/prompts/validators/validateSslCertificateFiles.js b/packages/dashmate/src/listr/prompts/validators/validateSslCertificateFiles.js new file mode 100644 index 00000000000..8c23a840699 --- /dev/null +++ b/packages/dashmate/src/listr/prompts/validators/validateSslCertificateFiles.js @@ -0,0 +1,33 @@ +import crypto from 'node:crypto'; +import fs from 'node:fs'; + +/** + * @param {string} chainFilePath + * @param {string} privateFilePath + * @return {boolean} + */ +export default function validateSslCertificateFiles(chainFilePath, privateFilePath) { + const bundlePem = fs.readFileSync(chainFilePath, 'utf8'); + const privateKeyPem = fs.readFileSync(privateFilePath, 'utf8'); + + // Step 2: Create a signature using the private key + const data = 'This is a test message'; + const sign = crypto.createSign('SHA256'); + sign.update(data); + sign.end(); + + const signature = sign.sign(privateKeyPem, 'hex'); + + // Verify the signature using the public key from the certificate + const verify = crypto.createVerify('SHA256'); + verify.update(data); + verify.end(); + + // Extract the public key from the first certificate in the bundle + const certificate = crypto.createPublicKey({ + key: bundlePem, + format: 'pem', + }); + + return verify.verify(certificate, signature, 'hex'); +} diff --git a/packages/dashmate/src/listr/tasks/doctor/collectSamplesTaskFactory.js b/packages/dashmate/src/listr/tasks/doctor/collectSamplesTaskFactory.js new file mode 100644 index 00000000000..a3be7545091 --- /dev/null +++ b/packages/dashmate/src/listr/tasks/doctor/collectSamplesTaskFactory.js @@ -0,0 +1,371 @@ +import fs from 'fs'; +import { Listr } from 'listr2'; +import path from 'path'; +import process from 'process'; +import si from 'systeminformation'; +import obfuscateConfig from '../../../config/obfuscateConfig.js'; +import { DASHMATE_VERSION } from '../../../constants.js'; +import Certificate from '../../../ssl/zerossl/Certificate.js'; +import providers from '../../../status/providers.js'; +import hideString from '../../../util/hideString.js'; +import obfuscateObjectRecursive from '../../../util/obfuscateObjectRecursive.js'; +import validateSslCertificateFiles from '../../prompts/validators/validateSslCertificateFiles.js'; + +/** + * + * @param {string} url + * @return {Promise} + */ +async function fetchTextOrError(url) { + try { + const response = await fetch(url); + + return await response.text(); + } catch (e) { + return e.toString(); + } +} + +/** + * @param {DockerCompose} dockerCompose + * @param {createRpcClient} createRpcClient + * @param {getConnectionHost} getConnectionHost + * @param {createTenderdashRpcClient} createTenderdashRpcClient + * @param {getServiceList} getServiceList + * @param {getOperatingSystemInfo} getOperatingSystemInfo + * @param {HomeDir} homeDir + * @param {validateZeroSslCertificate} validateZeroSslCertificate + * @return {collectSamplesTask} + */ +export default function collectSamplesTaskFactory( + dockerCompose, + createRpcClient, + getConnectionHost, + createTenderdashRpcClient, + getServiceList, + getOperatingSystemInfo, + homeDir, + validateZeroSslCertificate, +) { + /** + * @typedef {function} collectSamplesTask + * @param config + * @return {Listr} + */ + function collectSamplesTask(config) { + return new Listr( + [ + { + title: 'System information', + task: async (ctx) => { + // Sample docker installation errors + try { + await dockerCompose.throwErrorIfNotInstalled(); + } catch (e) { + ctx.samples.setDockerError(e); + } + + // Operating system info + const osInfo = await getOperatingSystemInfo(); + + ctx.samples.setSystemInfo(osInfo); + }, + }, + { + title: 'Configuration', + task: async (ctx) => { + ctx.samples.setDashmateVersion(DASHMATE_VERSION); + ctx.samples.setDashmateConfig(obfuscateConfig(config)); + + return new Listr([ + { + enabled: () => config.get('platform.enable'), + title: 'Gateway SSL certificates', + task: async () => { + if (!config.get('platform.gateway.ssl.enabled')) { + ctx.samples.setServiceInfo('gateway', 'ssl', { + error: 'disabled', + }); + + return; + } + + switch (config.get('platform.gateway.ssl.provider')) { + case 'self-signed': { + ctx.samples.setServiceInfo('gateway', 'ssl', { + error: 'self-signed', + }); + + return; + } + case 'zerossl': { + const { + error, + data, + } = validateZeroSslCertificate(config, Certificate.EXPIRATION_LIMIT_DAYS); + + obfuscateObjectRecursive(data, (_field, value) => (typeof value === 'string' ? value.replaceAll( + process.env.USER, + hideString(process.env.USER), + ) : value)); + + ctx.samples.setServiceInfo('gateway', 'ssl', { + error, + data, + }); + + return; + } + case 'file': { + // SSL certificate + const certificatesDir = homeDir.joinPath( + config.getName(), + 'platform', + 'gateway', + 'ssl', + ); + + const chainFilePath = path.join(certificatesDir, 'bundle.crt'); + const privateFilePath = path.join(certificatesDir, 'private.key'); + + const data = { + chainFilePath, + privateFilePath, + }; + + obfuscateObjectRecursive(data, (_field, value) => (typeof value === 'string' ? value.replaceAll( + process.env.USER, + hideString(process.env.USER), + ) : value)); + + if (!fs.existsSync(chainFilePath) || !fs.existsSync(privateFilePath)) { + ctx.samples.setServiceInfo('gateway', 'ssl', { + error: 'not-exist', + data, + }); + + return; + } + + const isValid = validateSslCertificateFiles(chainFilePath, privateFilePath); + + if (!isValid) { + ctx.samples.setServiceInfo('gateway', 'ssl', { + error: 'not-valid', + data, + }); + } + + return; + } + default: + throw new Error('Unknown SSL provider'); + } + }, + }, + { + title: 'Core P2P port', + task: async () => { + const port = config.get('core.p2p.port'); + const response = await providers.mnowatch.checkPortStatus(port, config.get('externalIp')); + + ctx.samples.setServiceInfo('core', 'p2pPort', response); + }, + }, + { + title: 'Gateway HTTP port', + enabled: () => config.get('platform.enable'), + task: async () => { + const port = config.get('platform.gateway.listeners.dapiAndDrive.port'); + const response = await providers.mnowatch.checkPortStatus(port, config.get('externalIp')); + + ctx.samples.setServiceInfo('gateway', 'httpPort', response); + }, + }, + { + title: 'Tenderdash P2P port', + task: async () => { + const port = config.get('platform.drive.tenderdash.p2p.port'); + const response = await providers.mnowatch.checkPortStatus(port, config.get('externalIp')); + + ctx.samples.setServiceInfo('drive_tenderdash', 'p2pPort', response); + }, + }, + ]); + }, + }, + { + title: 'Core status', + task: async (ctx) => { + const rpcClient = createRpcClient({ + port: config.get('core.rpc.port'), + user: 'dashmate', + pass: config.get('core.rpc.users.dashmate.password'), + host: await getConnectionHost(config, 'core', 'core.rpc.host'), + }); + + const coreCalls = [ + rpcClient.getBestChainLock(), + rpcClient.quorum('listextended'), + rpcClient.getBlockchainInfo(), + rpcClient.getPeerInfo(), + rpcClient.mnsync('status'), + ]; + + if (config.get('core.masternode.enable')) { + coreCalls.push(rpcClient.masternode('status')); + } + + const [ + getBestChainLock, + quorums, + getBlockchainInfo, + getPeerInfo, + masternodeStatus, + masternodeSyncStatus, + ] = (await Promise.allSettled(coreCalls)) + .map((e) => e.value?.result || e.reason); + + ctx.samples.setServiceInfo('core', 'bestChainLock', getBestChainLock); + ctx.samples.setServiceInfo('core', 'quorums', quorums); + ctx.samples.setServiceInfo('core', 'blockchainInfo', getBlockchainInfo); + ctx.samples.setServiceInfo('core', 'peerInfo', getPeerInfo); + ctx.samples.setServiceInfo('core', 'masternodeStatus', masternodeStatus); + ctx.samples.setServiceInfo('core', 'masternodeSyncStatus', masternodeSyncStatus); + }, + }, + { + title: 'Tenderdash status', + enabled: () => config.get('platform.enable'), + task: async (ctx) => { + const tenderdashRPCClient = createTenderdashRpcClient({ + host: config.get('platform.drive.tenderdash.rpc.host'), + port: config.get('platform.drive.tenderdash.rpc.port'), + }); + + // Tenderdash requires to pass all params, so we use basic fetch + async function fetchValidators() { + const url = `http://${config.get('platform.drive.tenderdash.rpc.host')}:${config.get('platform.drive.tenderdash.rpc.port')}/validators?request_quorum_info=true`; + const response = await fetch(url, 'GET'); + return response.json(); + } + + const [ + status, + genesis, + peers, + abciInfo, + consensusState, + validators, + ] = await Promise.allSettled([ + tenderdashRPCClient.request('status', []), + tenderdashRPCClient.request('genesis', []), + tenderdashRPCClient.request('net_info', []), + tenderdashRPCClient.request('abci_info', []), + tenderdashRPCClient.request('dump_consensus_state', []), + fetchValidators(), + ]); + + ctx.samples.setServiceInfo('drive_tenderdash', 'status', status); + ctx.samples.setServiceInfo('drive_tenderdash', 'validators', validators); + ctx.samples.setServiceInfo('drive_tenderdash', 'genesis', genesis); + ctx.samples.setServiceInfo('drive_tenderdash', 'peers', peers); + ctx.samples.setServiceInfo('drive_tenderdash', 'abciInfo', abciInfo); + ctx.samples.setServiceInfo('drive_tenderdash', 'consensusState', consensusState); + }, + }, + { + title: 'Metrics', + enabled: () => config.get('platform.enable'), + task: async (ctx, task) => { + if (config.get('platform.drive.tenderdash.metrics.enabled')) { + // eslint-disable-next-line no-param-reassign + task.output = 'Reading Tenderdash metrics'; + + const url = `http://${config.get('platform.drive.tenderdash.rpc.host')}:${config.get('platform.drive.tenderdash.rpc.port')}/metrics`; + + const result = fetchTextOrError(url); + + ctx.samples.setServiceInfo('drive_tenderdash', 'metrics', result); + } + + if (config.get('platform.drive.abci.metrics.enabled')) { + // eslint-disable-next-line no-param-reassign + task.output = 'Reading Drive metrics'; + + const url = `http://${config.get('platform.drive.abci.rpc.host')}:${config.get('platform.drive.abci.rpc.port')}/metrics`; + + const result = fetchTextOrError(url); + + ctx.samples.setServiceInfo('drive_abci', 'metrics', result); + } + + if (config.get('platform.gateway.metrics.enabled')) { + // eslint-disable-next-line no-param-reassign + task.output = 'Reading Gateway metrics'; + + const url = `http://${config.get('platform.gateway.metrics.host')}:${config.get('platform.gateway.metrics.port')}/metrics`; + + const result = fetchTextOrError(url); + + ctx.samples.setServiceInfo('gateway', 'metrics', result); + } + }, + }, + { + title: 'Docker containers info', + task: async (ctx) => { + const services = await getServiceList(config); + + await Promise.all( + services.map(async (service) => { + const [inspect, logs] = (await Promise.allSettled([ + dockerCompose.inspectService(config, service.name), + dockerCompose.logs(config, [service.name], { tail: 300000 }), + ])).map((e) => e.value || e.reason); + + const containerId = inspect?.Id; + let dockerStats; + if (containerId) { + dockerStats = await si.dockerContainerStats(containerId); + } + + if (logs?.out) { + // Hide username & external ip from logs + logs.out = logs.out.replaceAll( + process.env.USER, + hideString(process.env.USER), + ); + } + + if (logs?.err) { + logs.err = logs.err.replaceAll( + process.env.USER, + hideString(process.env.USER), + ); + } + + // Hide username & external ip from inspect + obfuscateObjectRecursive(inspect, (_field, value) => ( + typeof value === 'string' + ? value.replaceAll( + process.env.USER, + hideString(process.env.USER), + ) + : value + )); + + ctx.samples.setServiceInfo(service.name, 'stdOut', logs?.out); + ctx.samples.setServiceInfo(service.name, 'stdErr', logs?.err); + ctx.samples.setServiceInfo(service.name, 'dockerInspect', inspect); + ctx.samples.setServiceInfo(service.name, 'dockerStats', dockerStats); + }), + ); + }, + }, + ], + ); + } + + return collectSamplesTask; +} diff --git a/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js b/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js index 098ac05b8e0..374c7f37043 100644 --- a/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js @@ -77,7 +77,7 @@ export default function resetNodeTaskFactory( await dockerCompose.rm(config, { profiles: ['platform'] }); // Remove volumes - if (ctx.keepData) { + if (!ctx.keepData) { const { COMPOSE_PROJECT_NAME: composeProjectName } = generateEnvs(config); const projectVolumeNames = await dockerCompose.getVolumeNames( diff --git a/packages/dashmate/src/listr/tasks/setup/regular/configureSSLCertificateTaskFactory.js b/packages/dashmate/src/listr/tasks/setup/regular/configureSSLCertificateTaskFactory.js index 62c9f154d0d..50b5f5f050d 100644 --- a/packages/dashmate/src/listr/tasks/setup/regular/configureSSLCertificateTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/setup/regular/configureSSLCertificateTaskFactory.js @@ -1,11 +1,14 @@ import fs from 'fs'; import { Listr } from 'listr2'; +import validateSslCertificateFiles from '../../../prompts/validators/validateSslCertificateFiles.js'; + import { PRESET_MAINNET, SSL_PROVIDERS, NODE_TYPE_FULLNODE, } from '../../../../constants.js'; + import validateFileExists from '../../../prompts/validators/validateFileExists.js'; import listCertificates from '../../../../ssl/zerossl/listCertificates.js'; @@ -35,6 +38,10 @@ export default function configureSSLCertificateTaskFactory( if (!ctx.fileCertificateProviderForm) { form = await task.prompt({ type: 'form', + header: ` To configure SSL certificates, you need to provide a certificate chain file + and a private key file. + The certificate chain file should contain your server certificate at the top and + then intermediate/root certificates if present.\n`, message: 'Specify paths to your certificate files', choices: [ { @@ -61,6 +68,12 @@ export default function configureSSLCertificateTaskFactory( return 'the same path for both files'; } + const isValid = validateSslCertificateFiles(chainFilePath, privateFilePath); + + if (!isValid) { + return 'The certificate and private key do not match'; + } + return true; }, }); diff --git a/packages/dashmate/src/listr/tasks/setup/regular/verifySystemRequirementsTaskFactory.js b/packages/dashmate/src/listr/tasks/setup/regular/verifySystemRequirementsTaskFactory.js index e110540c4d7..7e97b445113 100644 --- a/packages/dashmate/src/listr/tasks/setup/regular/verifySystemRequirementsTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/setup/regular/verifySystemRequirementsTaskFactory.js @@ -1,16 +1,20 @@ import chalk from 'chalk'; import { Listr } from 'listr2'; -import os from 'os'; -import * as diskusage from 'diskusage'; -import si from 'systeminformation'; /** * * @param {Docker} docker * @param {DockerCompose} dockerCompose + * @param {getOperatingSystemInfo} getOperatingSystemInfo + * @param {verifySystemRequirements} verifySystemRequirements * @return {verifySystemRequirementsTask} */ -export default function verifySystemRequirementsTaskFactory(docker, dockerCompose) { +export default function verifySystemRequirementsTaskFactory( + docker, + dockerCompose, + getOperatingSystemInfo, + verifySystemRequirements, +) { /** * @typedef {function} verifySystemRequirementsTask * @returns {Listr} @@ -22,127 +26,13 @@ export default function verifySystemRequirementsTaskFactory(docker, dockerCompos task: async (ctx, task) => { await dockerCompose.throwErrorIfNotInstalled(); - const MINIMUM_CPU_CORES = ctx.isHP ? 4 : 2; - const MINIMUM_CPU_FREQUENCY = 2.4; // GHz - const MINIMUM_RAM = ctx.isHP ? 8 : 4; // GB - const MINIMUM_DISK_SPACE = ctx.isHP ? 200 : 100; // GB + const systemInfo = await getOperatingSystemInfo(); - const warnings = []; - - // Get system info - let systemInfo; - try { - systemInfo = await docker.info(); - } catch (e) { - if (process.env.DEBUG) { - // eslint-disable-next-line no-console - console.warn(`Can't get docker info: ${e}`); - } - } - - if (systemInfo) { - if (Number.isInteger(systemInfo.NCPU)) { - // Check CPU cores - const cpuCores = systemInfo.NCPU; - - if (cpuCores < MINIMUM_CPU_CORES) { - warnings.push(`${cpuCores} CPU cores detected. At least ${MINIMUM_CPU_CORES} are required`); - } - } else { - // eslint-disable-next-line no-console - console.warn('Can\'t get NCPU from docker info'); - } - - // Check RAM - if (Number.isInteger(systemInfo.MemTotal)) { - const memoryGb = systemInfo.MemTotal / (1024 ** 3); // Convert to GB - - if (memoryGb < MINIMUM_RAM) { - warnings.push(`${memoryGb.toFixed(2)}GB RAM detected. At least ${MINIMUM_RAM}GB is required`); - } - } else { - // eslint-disable-next-line no-console - console.warn('Can\'t get MemTotal from docker info'); - } - } - - // Check CPU frequency - let hostCpu; - try { - hostCpu = await si.cpu(); - } catch { - if (process.env.DEBUG) { - // eslint-disable-next-line no-console - console.warn('Can\'t get CPU info'); - } - } - - if (hostCpu) { - if (hostCpu.speed === 0) { - if (process.env.DEBUG) { - // eslint-disable-next-line no-console - console.warn('Can\'t get CPU frequency'); - } - } else if (hostCpu.speed < MINIMUM_CPU_FREQUENCY) { - warnings.push(`${hostCpu.speed.toFixed(1)}GHz CPU frequency detected. At least ${MINIMUM_CPU_FREQUENCY}GHz is required`); - } - } - - // Check swap information - let swap; - try { - swap = await si.mem(); - } catch (e) { - if (process.env.DEBUG) { - // eslint-disable-next-line no-console - console.warn(`Can't get swap info: ${e}`); - } - } - - if (swap) { - const swapTotalGb = (swap.swaptotal / (1024 ** 3)); // Convert bytes to GB - - if (swapTotalGb < 2) { - warnings.push(`Swap space is ${swapTotalGb.toFixed(2)}GB. 2GB is recommended`); - } - } - - // Get disk usage info - let diskInfo; - - if (systemInfo) { - try { - diskInfo = await diskusage.check(systemInfo.DockerRootDir); - } catch (e) { - if (process.env.DEBUG) { - // eslint-disable-next-line no-console - console.warn(`Can't get disk usage for '${systemInfo.DockerRootDir}': ${e}`); - } - } - } - - if (!diskInfo) { - try { - diskInfo = await diskusage.check(os.platform() === 'win32' ? 'c:' : '/'); - } catch (e) { - if (process.env.DEBUG) { - // eslint-disable-next-line no-console - console.warn(`Can't get disk usage for root directory: ${e}`); - } - } - } - - if (diskInfo) { - const availableDiskSpace = diskInfo.available / (1024 ** 3); // Convert to GB - - if (availableDiskSpace < MINIMUM_DISK_SPACE) { - warnings.push(`${availableDiskSpace.toFixed(2)}GB available disk space detected. At least ${MINIMUM_DISK_SPACE}GB is required`); - } - } + const problems = verifySystemRequirements(systemInfo, ctx.isHP); let message = ''; if (ctx.isHP) { - message = `Dash Platform requires more resources than the current system provides. + message = chalk`Dash Platform requires more resources than the current system provides. Evonode rewards are paid based on block production, and resource-limited nodes may not be able to produce blocks quickly enough to receive reward payments. Upgrading system resources is recommended before proceeding. @@ -155,12 +45,13 @@ export default function verifySystemRequirementsTaskFactory(docker, dockerCompos Upgrading system resources is recommended before proceeding.`; } - if (warnings.length > 0) { - const warningsText = warnings.map((warning) => ` - ${warning}`).join('\n'); + if (problems.length > 0) { + const problemsText = problems + .map((p) => ` - ${p.getDescription()}`).join('\n'); const header = chalk` Minimum requirements have not been met: -{red ${warningsText}} +{red ${problemsText}} ${message}\n`; diff --git a/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js b/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js index 5338eb4178a..242f65582ad 100644 --- a/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js @@ -139,11 +139,8 @@ export default function setupLocalPresetTaskFactory( config.set('docker.network.subnet', subnet.join('.')); // Setup Core debug logs - const coreLogFilePath = homeDir.joinPath('logs', config.getName(), 'core.log'); - config.set('core.log.file.path', coreLogFilePath); - if (ctx.debugLogs) { - config.set('core.log.file.categories', ['all']); + config.set('core.log.debug.enabled', true); } // Although not all nodes are miners, all nodes should be aware of diff --git a/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js b/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js index 12718ad4de4..ca679233d03 100644 --- a/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js @@ -1,9 +1,10 @@ import { Listr } from 'listr2'; import chalk from 'chalk'; -import path from 'path'; import fs from 'fs'; +import lodash from 'lodash'; import wait from '../../../../util/wait.js'; +import { ERRORS } from '../../../../ssl/zerossl/validateZeroSslCertificateFactory.js'; /** * @param {generateCsr} generateCsr @@ -16,6 +17,7 @@ import wait from '../../../../util/wait.js'; * @param {saveCertificateTask} saveCertificateTask * @param {VerificationServer} verificationServer * @param {HomeDir} homeDir + * @param {validateZeroSslCertificate} validateZeroSslCertificate * @return {obtainZeroSSLCertificateTask} */ export default function obtainZeroSSLCertificateTaskFactory( @@ -29,6 +31,7 @@ export default function obtainZeroSSLCertificateTaskFactory( saveCertificateTask, verificationServer, homeDir, + validateZeroSslCertificate, ) { /** * @typedef {obtainZeroSSLCertificateTask} @@ -36,124 +39,80 @@ export default function obtainZeroSSLCertificateTaskFactory( * @return {Promise} */ async function obtainZeroSSLCertificateTask(config) { - // Make sure that required config options are set - const apiKey = config.get('platform.gateway.ssl.providerConfigs.zerossl.apiKey', true); - const externalIp = config.get('externalIp', true); - - const sslConfigDir = homeDir.joinPath(config.getName(), 'platform', 'gateway', 'ssl'); - const csrFilePath = path.join(sslConfigDir, 'csr.pem'); - const privateKeyFilePath = path.join(sslConfigDir, 'private.key'); - const bundleFilePath = path.join(sslConfigDir, 'bundle.crt'); - - // Ensure we have config dir created - fs.mkdirSync(sslConfigDir, { recursive: true }); - return new Listr([ { title: 'Check if certificate already exists and not expiring soon', // Skips the check if force flag is set skip: (ctx) => ctx.force, task: async (ctx, task) => { - const certificateId = await config.get('platform.gateway.ssl.providerConfigs.zerossl.id'); - - if (!certificateId) { - // Certificate is not configured - - // eslint-disable-next-line no-param-reassign - task.output = 'Certificate is not configured yet, creating a new one'; - - return; - } - - // Certificate is already configured - - // Check if certificate files are present - ctx.isCrtFilePresent = fs.existsSync(csrFilePath); - - ctx.isPrivateKeyFilePresent = fs.existsSync(privateKeyFilePath); + const { error, data } = await validateZeroSslCertificate(config, ctx.expirationDays); - ctx.isBundleFilePresent = fs.existsSync(bundleFilePath); - - // This function will throw an error if certificate with specified ID is not present - const certificate = await getCertificate(apiKey, certificateId); - - // If certificate exists but private key does not, then we can't setup TLS connection - // In this case we need to regenerate certificate or put back this private key - if (!ctx.isPrivateKeyFilePresent) { - throw new Error(`Certificate private key file not found in ${privateKeyFilePath}.\n` - + 'Please regenerate the certificate using the the obtain' - + ' command with the --force flag, and revoke the previous certificate in' - + ' the ZeroSSL dashboard'); - } - - // We need to make sure that external IP and certificate IP match - if (certificate.common_name !== externalIp) { - throw new Error(`Certificate IPe ${certificate.common_name} does not match external IP ${externalIp}.\n` - + 'Please change the external IP in config or regenerate the certificate ' - + ' using the obtain command with the --force flag, and revoke the previous' - + ' certificate in the ZeroSSL dashboard'); - } - - if (!certificate.isExpiredInDays(ctx.expirationDays)) { - // Certificate is not going to expire soon - - if (certificate.status === 'issued') { - // Certificate is valid, so we might need only to download certificate bundle - ctx.certificate = certificate; - - // eslint-disable-next-line no-param-reassign - task.output = `Certificate is valid and expires at ${certificate.expires}`; - } else if (['pending_validation', 'draft'].includes(certificate.status)) { - // Certificate is already created, so we just need to pass validation - // and download certificate file - ctx.certificate = certificate; + lodash.merge(ctx, data); - // We need to download new certificate bundle - ctx.isBundleFilePresent = false; + // Ensure we have config dir created + fs.mkdirSync(ctx.sslConfigDir, { recursive: true }); + switch (error) { + case undefined: // eslint-disable-next-line no-param-reassign - task.output = 'Certificate was already created, but not validated yet.'; - } else { - // Certificate is not valid, so we need to re-create it - - // We need to download certificate bundle - ctx.isBundleFilePresent = false; - - if (!ctx.isCrtFilePresent) { - throw new Error(`Certificate request file not found in ${csrFilePath}.\n` - + 'To create a new certificate, please use the obtain' - + ' command with the --force flag and revoke the previous certificate' - + ' in the ZeroSSL dashboard'); - } - - ctx.csr = fs.readFileSync(csrFilePath, 'utf8'); - + task.output = `Certificate is valid and expires at ${ctx.certificate.expires}`; + break; + case ERRORS.API_KEY_IS_NOT_SET: + throw new Error('ZeroSSL API key is not set. Please set it in the config file'); + case ERRORS.EXTERNAL_IP_IS_NOT_SET: + throw new Error('External IP is not set. Please set it in the config file'); + case ERRORS.CERTIFICATE_ID_IS_NOT_SET: // eslint-disable-next-line no-param-reassign - task.output = 'Certificate is not valid. Create a new one'; - } - } else { - // Certificate is going to expire soon, we need to obtain a new one + task.output = 'Certificate is not configured yet, creating a new one'; - // We need to download new certificate bundle - ctx.isBundleFilePresent = false; - - if (!ctx.isCrtFilePresent) { - throw new Error(`Certificate request file not found in ${csrFilePath}.\n` + // We need to create a new certificate + ctx.certificate = null; + break; + case ERRORS.PRIVATE_KEY_IS_NOT_PRESENT: + // If certificate exists but private key does not, then we can't set up TLS connection + // In this case we need to regenerate certificate or put back this private key + throw new Error(`Certificate private key file not found in ${ctx.privateKeyFilePath}.\n` + + 'Please regenerate the certificate using the obtain' + + ' command with the --force flag and revoke the previous certificate in' + + ' the ZeroSSL dashboard'); + case ERRORS.EXTERNAL_IP_MISMATCH: + throw new Error(`Certificate IPe ${ctx.certificate.common_name} does not match external IP ${ctx.externalIp}.\n` + + 'Please change the external IP in config. Otherwise, regenerate the certificate ' + + ' using the obtain command with the --force flag and revoke the previous' + + ' certificate in the ZeroSSL dashboard'); + case ERRORS.CSR_FILE_IS_NOT_PRESENT: + throw new Error(`Certificate request file not found in ${ctx.csrFilePath}.\n` + 'To renew certificate please use the obtain' + ' command with the --force flag, and revoke the previous certificate in' + ' the ZeroSSL dashboard'); - } + case ERRORS.CERTIFICATE_EXPIRES_SOON: + // eslint-disable-next-line no-param-reassign + task.output = `Certificate exists but expires in less than ${ctx.expirationDays} days at ${ctx.certificate.expires}. Obtain a new one`; - ctx.csr = fs.readFileSync(csrFilePath, 'utf8'); + // We need to create a new certificate + ctx.certificate = null; + break; + case ERRORS.CERTIFICATE_IS_NOT_VALIDATED: + // eslint-disable-next-line no-param-reassign + task.output = 'Certificate was already created, but has not been validated yet.'; + break; + case ERRORS.CERTIFICATE_IS_NOT_VALID: + // eslint-disable-next-line no-param-reassign + task.output = 'Certificate is not valid. Create a new one'; - // eslint-disable-next-line no-param-reassign - task.output = `Certificate exists but expires in less than ${ctx.expirationDays} days at ${certificate.expires}. Obtain a new one`; + // We need to create a new certificate + ctx.certificate = null; + break; + case ERRORS.ZERO_SSL_API_ERROR: + throw ctx.error; + default: + throw new Error(`Unknown error: ${error}`); } }, }, { title: 'Generate a keypair', - enabled: (ctx) => !ctx.isCrtFilePresent, + enabled: (ctx) => !ctx.isCsrFilePresent, task: async (ctx) => { ctx.keyPair = await generateKeyPair(); ctx.privateKeyFile = ctx.keyPair.privateKey; @@ -161,11 +120,11 @@ export default function obtainZeroSSLCertificateTaskFactory( }, { title: 'Generate certificate request', - enabled: (ctx) => !ctx.isCrtFilePresent, + enabled: (ctx) => !ctx.isCsrFilePresent, task: async (ctx) => { ctx.csr = await generateCsr( ctx.keyPair, - externalIp, + ctx.externalIp, ); }, }, @@ -175,8 +134,8 @@ export default function obtainZeroSSLCertificateTaskFactory( task: async (ctx) => { ctx.certificate = await createZeroSSLCertificate( ctx.csr, - externalIp, - apiKey, + ctx.externalIp, + ctx.apiKey, ); config.set('platform.gateway.ssl.enabled', true); @@ -188,7 +147,7 @@ export default function obtainZeroSSLCertificateTaskFactory( title: 'Set up verification server', skip: (ctx) => ctx.certificate && !['pending_validation', 'draft'].includes(ctx.certificate.status), task: async (ctx) => { - const validationResponse = ctx.certificate.validation.other_methods[externalIp]; + const validationResponse = ctx.certificate.validation.other_methods[ctx.externalIp]; await verificationServer.setup( config, @@ -209,14 +168,14 @@ export default function obtainZeroSSLCertificateTaskFactory( let retry; do { try { - await verifyDomain(ctx.certificate.id, apiKey); + await verifyDomain(ctx.certificate.id, ctx.apiKey); } catch (e) { if (ctx.noRetry !== true) { retry = await task.prompt({ type: 'toggle', header: chalk` An error occurred during verification: {red ${e.message}} - Please ensure that port 80 on your public IP address ${externalIp} is open + Please ensure that port 80 on your public IP address ${ctx.externalIp} is open for incoming HTTP connections. You may need to configure your firewall to ensure this port is accessible from the public internet. If you are using Network Address Translation (NAT), please enable port forwarding for port 80 @@ -245,7 +204,7 @@ export default function obtainZeroSSLCertificateTaskFactory( try { ctx.certificateFile = await downloadCertificate( ctx.certificate.id, - apiKey, + ctx.apiKey, ); // eslint-disable-next-line no-param-reassign @@ -271,30 +230,30 @@ export default function obtainZeroSSLCertificateTaskFactory( title: 'Save certificate private key file', enabled: (ctx) => !ctx.isPrivateKeyFilePresent, task: async (ctx, task) => { - fs.writeFileSync(privateKeyFilePath, ctx.privateKeyFile, 'utf8'); + fs.writeFileSync(ctx.privateKeyFilePath, ctx.privateKeyFile, 'utf8'); // eslint-disable-next-line no-param-reassign - task.output = privateKeyFilePath; + task.output = ctx.privateKeyFilePath; }, }, { title: 'Save certificate request file', - enabled: (ctx) => !ctx.isCrtFilePresent, + enabled: (ctx) => !ctx.isCsrFilePresent, task: async (ctx, task) => { - fs.writeFileSync(csrFilePath, ctx.csr, 'utf8'); + fs.writeFileSync(ctx.csrFilePath, ctx.csr, 'utf8'); // eslint-disable-next-line no-param-reassign - task.output = csrFilePath; + task.output = ctx.csrFilePath; }, }, { title: 'Save certificate file', skip: (ctx) => ctx.isBundleFilePresent, task: async (ctx, task) => { - fs.writeFileSync(bundleFilePath, ctx.certificateFile, 'utf8'); + fs.writeFileSync(ctx.bundleFilePath, ctx.certificateFile, 'utf8'); // eslint-disable-next-line no-param-reassign - task.output = bundleFilePath; + task.output = ctx.bundleFilePath; }, }, { diff --git a/packages/dashmate/src/listr/tasks/startNodeTaskFactory.js b/packages/dashmate/src/listr/tasks/startNodeTaskFactory.js index b364bcf2241..06bff9e7edb 100644 --- a/packages/dashmate/src/listr/tasks/startNodeTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/startNodeTaskFactory.js @@ -35,8 +35,10 @@ export default function startNodeTaskFactory( throw new Error(`'core.miner.enable' option only works with local network. Your network is ${config.get('network')}.`); } - const coreLogFilePath = config.get('core.log.file.path'); - ensureFileMountExists(coreLogFilePath, 0o666); + const coreLogFilePath = config.get('core.log.filePath'); + if (coreLogFilePath !== null) { + ensureFileMountExists(coreLogFilePath, 0o666); + } // Check Drive log files are created if (config.get('platform.enable')) { diff --git a/packages/dashmate/src/ssl/zerossl/validateZeroSslCertificateFactory.js b/packages/dashmate/src/ssl/zerossl/validateZeroSslCertificateFactory.js new file mode 100644 index 00000000000..20b221216c5 --- /dev/null +++ b/packages/dashmate/src/ssl/zerossl/validateZeroSslCertificateFactory.js @@ -0,0 +1,150 @@ +import fs from 'fs'; +import path from 'path'; + +export const ERRORS = { + API_KEY_IS_NOT_SET: 'API_KEY_IS_NOT_SET', + EXTERNAL_IP_IS_NOT_SET: 'EXTERNAL_IP_IS_NOT_SET', + CERTIFICATE_ID_IS_NOT_SET: 'CERTIFICATE_ID_IS_NOT_SET', + PRIVATE_KEY_IS_NOT_PRESENT: 'PRIVATE_KEY_IS_NOT_PRESENT', + EXTERNAL_IP_MISMATCH: 'EXTERNAL_IP_MISMATCH', + CSR_FILE_IS_NOT_PRESENT: 'CSR_FILE_IS_NOT_PRESENT', + CERTIFICATE_EXPIRES_SOON: 'CERTIFICATE_EXPIRES_SOON', + CERTIFICATE_IS_NOT_VALIDATED: 'CERTIFICATE_IS_NOT_VALIDATED', + CERTIFICATE_IS_NOT_VALID: 'CERTIFICATE_IS_NOT_VALID', + ZERO_SSL_API_ERROR: 'ZERO_SSL_API_ERROR', +}; + +/** + * @param {HomeDir} homeDir + * @param {getCertificate} getCertificate + * @return {validateZeroSslCertificate} + */ +export default function validateZeroSslCertificateFactory(homeDir, getCertificate) { + /** + * @typedef {validateZeroSslCertificate} + * @param {Config} config + * @param {number} expirationDays + * @return {Promise<{ [error: String], [data: Object] }>} + */ + async function validateZeroSslCertificate(config, expirationDays) { + const data = {}; + + data.sslConfigDir = homeDir.joinPath(config.getName(), 'platform', 'gateway', 'ssl'); + data.csrFilePath = path.join(data.sslConfigDir, 'csr.pem'); + data.privateKeyFilePath = path.join(data.sslConfigDir, 'private.key'); + data.bundleFilePath = path.join(data.sslConfigDir, 'bundle.crt'); + + data.apiKey = config.get('platform.gateway.ssl.providerConfigs.zerossl.apiKey'); + + if (!data.apiKey) { + return { + error: ERRORS.API_KEY_IS_NOT_SET, + data, + }; + } + + data.externalIp = config.get('externalIp'); + + if (!data.externalIp) { + return { + error: ERRORS.EXTERNAL_IP_IS_NOT_SET, + data, + }; + } + + const certificateId = config.get('platform.gateway.ssl.providerConfigs.zerossl.id'); + + if (!certificateId) { + return { + error: ERRORS.CERTIFICATE_ID_IS_NOT_SET, + data, + }; + } + + // Certificate is already configured + + // Check if certificate files are present + data.isCsrFilePresent = fs.existsSync(data.csrFilePath); + data.isPrivateKeyFilePresent = fs.existsSync(data.privateKeyFilePath); + data.isBundleFilePresent = fs.existsSync(data.bundleFilePath); + + // This function will throw an error if certificate with specified ID is not present + try { + data.certificate = await getCertificate(data.apiKey, certificateId); + } catch (e) { + if (e.code) { + data.error = e; + + return { + error: ERRORS.ZERO_SSL_API_ERROR, + data, + }; + } + + throw e; + } + + data.isExpiresSoon = data.certificate.isExpiredInDays(expirationDays); + + // If certificate exists but private key does not, then we can't setup TLS connection + // In this case we need to regenerate a certificate or put back this private key + if (!data.isPrivateKeyFilePresent) { + return { + error: ERRORS.PRIVATE_KEY_IS_NOT_PRESENT, + data, + }; + } + + // We need to make sure that external IP and certificate IP match + if (data.certificate.common_name !== data.externalIp) { + return { + error: ERRORS.EXTERNAL_IP_MISMATCH, + data, + }; + } + + if (['pending_validation', 'draft'].includes(data.certificate.status)) { + // Certificate is already created, so we just need to pass validation + // and download certificate file + + // We need to download new certificate bundle + data.isBundleFilePresent = false; + + return { + error: ERRORS.CERTIFICATE_IS_NOT_VALIDATED, + data, + }; + } + + if (data.certificate.status !== 'issued' || data.isExpiresSoon) { + // Certificate is going to expire soon, or current certificate is not valid + // we need to obtain a new one + + // We need to download new certificate bundle + data.isBundleFilePresent = false; + + if (!data.isCsrFilePresent) { + return { + error: ERRORS.CSR_FILE_IS_NOT_PRESENT, + data, + }; + } + + data.csr = fs.readFileSync(data.csrFilePath, 'utf8'); + + return { + error: data.isExpiresSoon + ? ERRORS.CERTIFICATE_EXPIRES_SOON + : ERRORS.CERTIFICATE_IS_NOT_VALID, + data, + }; + } + + // Certificate is valid, so we might need only to download certificate bundle + return { + data, + }; + } + + return validateZeroSslCertificate; +} diff --git a/packages/dashmate/src/status/providers.js b/packages/dashmate/src/status/providers.js index a3a08b94b69..46c491c9202 100644 --- a/packages/dashmate/src/status/providers.js +++ b/packages/dashmate/src/status/providers.js @@ -1,6 +1,8 @@ +import https from 'https'; import { PortStateEnum } from './enums/portState.js'; const MAX_REQUEST_TIMEOUT = 5000; +const MAX_RESPONSE_SIZE = 1 * 1024 * 1024; // 1 MB const request = async (url) => { try { @@ -29,12 +31,6 @@ const requestJSON = async (url) => { return response; }; -const requestText = async (url) => { - const response = await request(url); - - return response.text(); -}; - const insightURLs = { testnet: 'https://testnet-insight.dashevo.org/insight-api', mainnet: 'https://insight.dash.org/insight-api', @@ -67,16 +63,80 @@ export default { }, }, mnowatch: { - checkPortStatus: async (port) => { - try { - return requestText(`https://mnowatch.org/${port}/`); - } catch (e) { - if (process.env.DEBUG) { - // eslint-disable-next-line no-console - console.warn(e); - } - return PortStateEnum.ERROR; - } + /** + * Check the status of a port and optionally validate an IP address. + * + * @param {number} port - The port number to check. + * @param {string} [ip] - Optional. The IP address to validate. + * @returns {Promise} A promise that resolves to the port status. + */ + checkPortStatus: async (port, ip = undefined) => { + // We use http request instead fetch function to force + // using IPv4 otherwise mnwatch could try to connect to IPv6 node address + // and fail (Core listens for IPv4 only) + // https://github.com/dashpay/platform/issues/2100 + + const options = { + hostname: 'mnowatch.org', + port: 443, + path: ip ? `/${port}/?validateIp=${ip}` : `/${port}/`, + method: 'GET', + family: 4, // Force IPv4 + timeout: MAX_REQUEST_TIMEOUT, + }; + + return new Promise((resolve) => { + const req = https.request(options, (res) => { + let data = ''; + + // Check if the status code is 200 + if (res.statusCode !== 200) { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn(`Port check request failed with status code ${res.statusCode}`); + } + // Consume response data to free up memory + res.resume(); + resolve(PortStateEnum.ERROR); + return; + } + + // Optionally set the encoding to receive strings directly + res.setEncoding('utf8'); + + // Collect data chunks + res.on('data', (chunk) => { + data += chunk; + + if (data.length > MAX_RESPONSE_SIZE) { + resolve(PortStateEnum.ERROR); + + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Port check response size exceeded'); + } + + req.destroy(); + } + }); + + // Handle the end of the response + res.on('end', () => { + resolve(data); + }); + }); + + req.on('error', (e) => { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn(`Port check request failed: ${e}`); + } + + resolve(PortStateEnum.ERROR); + }); + + req.end(); + }); }, }, }; diff --git a/packages/dashmate/src/status/scopes/core.js b/packages/dashmate/src/status/scopes/core.js index d983bcd67c5..c460f305de5 100644 --- a/packages/dashmate/src/status/scopes/core.js +++ b/packages/dashmate/src/status/scopes/core.js @@ -116,7 +116,7 @@ export default function getCoreScopeFactory( const providersResult = await Promise.allSettled([ providers.github.release('dashpay/dash'), - providers.mnowatch.checkPortStatus(config.get('core.p2p.port')), + providers.mnowatch.checkPortStatus(config.get('core.p2p.port'), config.get('externalIp')), providers.insight(config.get('network')).status(), ]); diff --git a/packages/dashmate/src/status/scopes/platform.js b/packages/dashmate/src/status/scopes/platform.js index f18b2915498..7605104ecb4 100644 --- a/packages/dashmate/src/status/scopes/platform.js +++ b/packages/dashmate/src/status/scopes/platform.js @@ -89,8 +89,8 @@ export default function getPlatformScopeFactory( // Collecting platform data fails if Tenderdash is waiting for core to sync if (info.serviceStatus === ServiceStatusEnum.up) { const portStatusResult = await Promise.allSettled([ - providers.mnowatch.checkPortStatus(config.get('platform.gateway.listeners.dapiAndDrive.port')), - providers.mnowatch.checkPortStatus(config.get('platform.drive.tenderdash.p2p.port')), + providers.mnowatch.checkPortStatus(config.get('platform.gateway.listeners.dapiAndDrive.port'), config.get('externalIp')), + providers.mnowatch.checkPortStatus(config.get('platform.drive.tenderdash.p2p.port'), config.get('externalIp')), ]); const [httpPortState, p2pPortState] = portStatusResult.map((result) => (result.status === 'fulfilled' ? result.value : null)); diff --git a/packages/dashmate/src/templates/renderServiceTemplatesFactory.js b/packages/dashmate/src/templates/renderServiceTemplatesFactory.js index c9eb69ffb56..785e4775ae0 100644 --- a/packages/dashmate/src/templates/renderServiceTemplatesFactory.js +++ b/packages/dashmate/src/templates/renderServiceTemplatesFactory.js @@ -1,4 +1,3 @@ -import dots from 'dot'; import * as glob from 'glob'; import { TEMPLATES_DIR } from '../constants.js'; @@ -15,8 +14,6 @@ export default function renderServiceTemplatesFactory(renderTemplate) { * @return {Object} */ function renderServiceTemplates(config) { - dots.templateSettings.strip = false; - const templatePaths = glob.sync(`${TEMPLATES_DIR}/**/*.dot`, { ignore: { // Ignore manual rendered templates diff --git a/packages/dashmate/src/templates/renderTemplateFactory.js b/packages/dashmate/src/templates/renderTemplateFactory.js index 6f9f2ef9a85..605a5c24065 100644 --- a/packages/dashmate/src/templates/renderTemplateFactory.js +++ b/packages/dashmate/src/templates/renderTemplateFactory.js @@ -17,6 +17,10 @@ export default function renderTemplateFactory() { */ function renderTemplate(templatePath, variables) { const templateString = fs.readFileSync(templatePath, 'utf-8'); + + // do not strip \n + dots.templateSettings.strip = false; + const template = dots.template(templateString); return template({ ...variables, crypto }); diff --git a/packages/dashmate/src/test/mock/getConfigMock.js b/packages/dashmate/src/test/mock/getConfigMock.js index 1961c48f289..641a1b87202 100644 --- a/packages/dashmate/src/test/mock/getConfigMock.js +++ b/packages/dashmate/src/test/mock/getConfigMock.js @@ -17,7 +17,6 @@ export default function getConfigMock(sinon) { configMock.get.withArgs('platform.drive.tenderdash.rpc.host').returns('127.0.0.1'); configMock.get.withArgs('platform.drive.tenderdash.rpc.port').returns('8103'); configMock.get.withArgs('platform.enable').returns(true); - configMock.get.withArgs('core.log.file.path').returns('/Users/user/.dashmate/logs/base/core.log'); return configMock; } diff --git a/packages/dashmate/src/update/updateNodeFactory.js b/packages/dashmate/src/update/updateNodeFactory.js index 13cf1ef83c2..0f50d44acbc 100644 --- a/packages/dashmate/src/update/updateNodeFactory.js +++ b/packages/dashmate/src/update/updateNodeFactory.js @@ -31,7 +31,7 @@ export default function updateNodeFactory(getServiceList, docker) { name, title, image, updated: 'error', }); } else { - let updated = null; + let updated = 'error'; stream.on('data', (data) => { // parse all stdout and gather Status message diff --git a/packages/dashmate/src/util/getOperatingSystemInfoFactory.js b/packages/dashmate/src/util/getOperatingSystemInfoFactory.js new file mode 100644 index 00000000000..f27685f82a2 --- /dev/null +++ b/packages/dashmate/src/util/getOperatingSystemInfoFactory.js @@ -0,0 +1,179 @@ +import si from 'systeminformation'; +import * as diskusage from 'diskusage'; +import os from 'os'; +import obfuscateObjectRecursive from './obfuscateObjectRecursive.js'; +import hideString from './hideString.js'; + +export default function getOperatingSystemInfoFactory( + docker, +) { + async function getOperatingSystemInfo() { + const result = { + cpu: null, + osInfo: null, + dockerSystemInfo: null, + currentLoad: null, + diskIO: null, + diskSpace: null, + fsOpenFiles: null, + inetLatency: null, + memory: null, + }; + + // Get System Info + try { + result.dockerSystemInfo = await docker.info(); + + // hide user + obfuscateObjectRecursive(result.dockerSystemInfo, (field, value) => (typeof value === 'string' ? value.replaceAll( + process.env.USER, + hideString(process.env.USER), + ) : value)); + } catch (e) { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn(`Can't get docker info: ${e}`); + } + } + + // Check CPU frequency + try { + const { + manufacturer, brand, vendor, family, model, + speed, speedMin, speedMax, + governor, cores, physicalCores, performanceCores, + efficiencyCores, processors, + } = await si.cpu(); + + result.cpu = { + manufacturer, + brand, + vendor, + family, + model, + speed, + speedMin, + speedMax, + governor, + cores, + physicalCores, + performanceCores, + efficiencyCores, + processors, + }; + } catch { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get CPU info'); + } + } + + // Check OS Info + try { + const { + platform, distro, release, codename, kernel, arch, codepage, build, servicepack, + } = await si.osInfo(); + + result.osInfo = { + platform, + distro, + release, + codename, + kernel, + arch, + codepage, + build, + servicepack, + }; + } catch { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get OS info'); + } + } + + // Check Current Load + try { + const { + avgLoad, + currentLoad, + } = await si.currentLoad(); + + result.currentLoad = { + avgLoad, + currentLoad, + }; + } catch { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get Current Load'); + } + } + + // Check FS Open Files + try { + result.fsOpenFiles = await si.fsOpenFiles(); + } catch { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get FS Open Files'); + } + } + + // Check Disk IO + try { + result.diskIO = await si.disksIO(); + } catch { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get Disk IO'); + } + } + + // Check Inet Latency + try { + result.inetLatency = await si.inetLatency(); + } catch { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn('Can\'t get Inet Latency'); + } + } + + // Check swap information + try { + result.memory = await si.mem(); + } catch (e) { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn(`Can't get mem info: ${e}`); + } + } + + // Get disk usage info + if (result.dockerSystemInfo) { + try { + result.diskSpace = await diskusage.check(result.dockerSystemInfo.DockerRootDir); + } catch (e) { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn(`Can't get disk usage for '${result.dockerSystemInfo.DockerRootDir}': ${e}`); + } + } + } + + if (!result.diskSpace) { + try { + result.diskSpace = await diskusage.check(os.platform() === 'win32' ? 'c:' : '/'); + } catch (e) { + if (process.env.DEBUG) { + // eslint-disable-next-line no-console + console.warn(`Can't get disk usage for root directory: ${e}`); + } + } + } + + return result; + } + return getOperatingSystemInfo; +} diff --git a/packages/dashmate/src/util/hideString.js b/packages/dashmate/src/util/hideString.js new file mode 100644 index 00000000000..0ad783e9e74 --- /dev/null +++ b/packages/dashmate/src/util/hideString.js @@ -0,0 +1,5 @@ +export default function hideString(string) { + return (typeof string === 'string' + ? '*'.repeat(string.length) + : string); +} diff --git a/packages/dashmate/src/util/obfuscateObjectRecursive.js b/packages/dashmate/src/util/obfuscateObjectRecursive.js new file mode 100644 index 00000000000..35d60f466af --- /dev/null +++ b/packages/dashmate/src/util/obfuscateObjectRecursive.js @@ -0,0 +1,12 @@ +export default function obfuscateObjectRecursive(object, func) { + for (const objectField in object) { + if (Object.hasOwn(object, objectField)) { + if (typeof object[objectField] === 'object') { + obfuscateObjectRecursive(object[objectField], func); + } else { + // eslint-disable-next-line no-param-reassign + object[objectField] = func(objectField, object[objectField]); + } + } + } +} diff --git a/packages/dashmate/templates/core/dash.conf.dot b/packages/dashmate/templates/core/dash.conf.dot index 807431f9848..cbc0b933735 100644 --- a/packages/dashmate/templates/core/dash.conf.dot +++ b/packages/dashmate/templates/core/dash.conf.dot @@ -3,14 +3,30 @@ daemon=0 # leave this set to 0 for Docker logtimestamps=1 maxconnections=256 reindex={{?it.reindex}}1{{??}}0{{?}} -{{~it.core.log.file.categories :category}} -{{? category === 'all'}} + +{{? it.core.log.debug.enabled }} +logips={{? it.core.log.debug.ips }}1{{??}}0{{?}} +logsourcelocations={{? it.core.log.debug.sourceLocations }}1{{??}}0{{?}} +logthreadnames={{? it.core.log.debug.threadNames }}1{{??}}0{{?}} +logtimemicros={{? it.core.log.debug.timeMicros }}1{{??}}0{{?}} + + {{? it.core.log.debug.includeOnly.length === 0 }} debug=1 + {{??}} + {{~it.core.log.debug.includeOnly :category}} +debug={{= category }} + {{~}} + {{?}} + {{~it.core.log.debug.exclude :category}} +debugexclude={{= category}} + {{~}} +{{?}} + +{{? it.core.log.filePath === null }} +nodebuglogfile=1 {{??}} -debug={{=category}}{{?}}{{~}} -debuglogfile=/var/log/dash/{{= it.core.log.file.path.split('/').pop() }} -logips={{=it.core.logIps }} -fallbackfee=0.00001 +debuglogfile=/var/log/dash/debug.log +{{?}} # JSON RPC server=1 diff --git a/packages/dashmate/templates/dynamic-compose.yml.dot b/packages/dashmate/templates/dynamic-compose.yml.dot index c0055e69492..6ed120930fe 100644 --- a/packages/dashmate/templates/dynamic-compose.yml.dot +++ b/packages/dashmate/templates/dynamic-compose.yml.dot @@ -1,4 +1,4 @@ -version: '3.7' +--- services: core: @@ -7,6 +7,10 @@ services: {{~ it.core.docker.commandArgs :arg }} - {{=arg}} {{~}} + {{? it.core.log.filePath !== null }} + volumes: + - {{=it.core.log.filePath}}:/var/log/dash/debug.log + {{?}} {{ driveLogs = Object.entries(it.platform.drive.abci.logs).filter(([, settings]) => settings.destination !== 'stderr' && settings.destination !== 'stdout'); }} {{? driveLogs.length > 0 }} @@ -18,6 +22,12 @@ services: {{~}} {{?}} + {{? it.platform.drive.tenderdash.log.path !== null }} + drive_tenderdash: + volumes: + - {{=it.platform.drive.tenderdash.log.path}}:/var/log/tenderdash/tenderdash.log + {{?}} + {{ gatewayLogs = it.platform.gateway.log.accessLogs.filter((l) => l.type === 'file'); }} {{? gatewayLogs.length > 0 }} gateway: diff --git a/packages/dashmate/templates/platform/drive/tenderdash/config.toml.dot b/packages/dashmate/templates/platform/drive/tenderdash/config.toml.dot index 422171a8a13..a818a356409 100644 --- a/packages/dashmate/templates/platform/drive/tenderdash/config.toml.dot +++ b/packages/dashmate/templates/platform/drive/tenderdash/config.toml.dot @@ -54,7 +54,7 @@ db-dir = "data" log-level = "{{=it.platform.drive.tenderdash.log.level}}" # Path to the log file. This parameter is an additional option to the existing stderr output -{{? it.platform.drive.tenderdash.log.path }}log-file-path = "/var/log/tenderdash/{{= it.platform.drive.tenderdash.log.path.split('/').pop() }}"{{?}} +{{? it.platform.drive.tenderdash.log.path }}log-file-path = "/var/log/tenderdash/tenderdash.log"{{?}} # Output format: 'plain' (colored text) or 'json' log-format = "{{=it.platform.drive.tenderdash.log.format}}" @@ -278,11 +278,11 @@ persistent-peers = "{{~it.platform.drive.tenderdash.p2p.persistentPeers :peer:in upnp = false # Maximum number of connections (inbound and outbound). -max-connections = 64 +max-connections = {{=it.platform.drive.tenderdash.p2p.maxConnections}} # Maximum number of connections reserved for outgoing # connections. Must be less than max-connections -max-outgoing-connections = 12 +max-outgoing-connections = {{=it.platform.drive.tenderdash.p2p.maxOutgoingConnections}} # Rate limits the number of incoming connection attempts per IP address. max-incoming-connection-attempts = 100 @@ -395,7 +395,7 @@ max-batch-bytes = 0 # Note, if ttl-num-blocks is also defined, a transaction will be removed if it # has existed in the mempool at least ttl-num-blocks number of blocks or if it's # insertion time into the mempool is beyond ttl-duration. -ttl-duration = "0s" +ttl-duration = "{{=it.platform.drive.tenderdash.mempool.ttlDuration}}" # ttl-num-blocks, if non-zero, defines the maximum number of blocks a transaction # can exist for in the mempool. @@ -403,7 +403,7 @@ ttl-duration = "0s" # Note, if ttl-duration is also defined, a transaction will be removed if it # has existed in the mempool at least ttl-num-blocks number of blocks or if # it's insertion time into the mempool is beyond ttl-duration. -ttl-num-blocks = 0 +ttl-num-blocks = {{=it.platform.drive.tenderdash.mempool.ttlNumBlocks}} ####################################################### ### State Sync Configuration Options ### diff --git a/packages/dashmate/templates/platform/gateway/envoy.yaml.dot b/packages/dashmate/templates/platform/gateway/envoy.yaml.dot index 2e312665dfa..8d9af2b18af 100644 --- a/packages/dashmate/templates/platform/gateway/envoy.yaml.dot +++ b/packages/dashmate/templates/platform/gateway/envoy.yaml.dot @@ -135,13 +135,13 @@ path: "/org.dash.platform.dapi.v0.Platform/waitForStateTransitionResult" route: cluster: dapi_api - idle_timeout: 85s + idle_timeout: {{= it.platform.gateway.listeners.dapiAndDrive.waitForStResultTimeout }} # Upstream response timeout - timeout: 85s + timeout: {{= it.platform.gateway.listeners.dapiAndDrive.waitForStResultTimeout }} max_stream_duration: # Entire stream/request timeout - max_stream_duration: 85s - grpc_timeout_header_max: 85s + max_stream_duration: {{= it.platform.gateway.listeners.dapiAndDrive.waitForStResultTimeout }} + grpc_timeout_header_max: {{= it.platform.gateway.listeners.dapiAndDrive.waitForStResultTimeout }} # DAPI getConsensusParams endpoint - match: path: "/org.dash.platform.dapi.v0.Platform/getConsensusParams" @@ -156,6 +156,13 @@ cluster: dapi_api # Upstream response timeout timeout: 10s + # DAPI broadcastStateTransition endpoint + - match: + path: "/org.dash.platform.dapi.v0.Platform/getStatus" + route: + cluster: dapi_api + # Upstream response timeout + timeout: 10s # getProofs endpoint only for internal use (DAPI -> Drive) - match: path: "/org.dash.platform.dapi.v0.Platform/getProofs" diff --git a/packages/dashmate/test/e2e/localNetwork.spec.js b/packages/dashmate/test/e2e/localNetwork.spec.js index d1f8c7bb7b8..ab44a55991d 100644 --- a/packages/dashmate/test/e2e/localNetwork.spec.js +++ b/packages/dashmate/test/e2e/localNetwork.spec.js @@ -129,6 +129,7 @@ describe('Local Network', function main() { const task = restartNodeTask(config); await task.run({ isVerbose: true, + isForce: true, }); } @@ -146,6 +147,7 @@ describe('Local Network', function main() { const task = stopNodeTask(config); await task.run({ isVerbose: true, + isForce: true, }); } diff --git a/packages/dashmate/test/e2e/testnetEvonode.spec.js b/packages/dashmate/test/e2e/testnetEvonode.spec.js index 1e8f90d5ab4..5ffd9e3f94e 100644 --- a/packages/dashmate/test/e2e/testnetEvonode.spec.js +++ b/packages/dashmate/test/e2e/testnetEvonode.spec.js @@ -148,7 +148,7 @@ describe('Testnet Evonode', function main() { await task.run({ isVerbose: true, - isSafe: true, + isForce: true, }); // TODO: Assert all services are running @@ -232,7 +232,7 @@ describe('Testnet Evonode', function main() { await task.run({ isVerbose: true, - isSafe: true, + isForce: true, }); // TODO: Assert all services are running diff --git a/packages/dashmate/test/e2e/testnetFullnode.spec.js b/packages/dashmate/test/e2e/testnetFullnode.spec.js index 12329f3407f..01d36b61dbd 100644 --- a/packages/dashmate/test/e2e/testnetFullnode.spec.js +++ b/packages/dashmate/test/e2e/testnetFullnode.spec.js @@ -141,6 +141,7 @@ describe('Testnet Fullnode', function main() { await task.run({ isVerbose: true, + isSafe: true, }); await assertServiceRunning(config, 'core'); @@ -160,6 +161,7 @@ describe('Testnet Fullnode', function main() { await task.run({ isVerbose: true, + isSafe: true, }); await assertServiceRunning(config, 'core', false); diff --git a/packages/dashmate/test/unit/doctor/verifySystemRequirementsFactory.spec.js b/packages/dashmate/test/unit/doctor/verifySystemRequirementsFactory.spec.js new file mode 100644 index 00000000000..38590b3fbdc --- /dev/null +++ b/packages/dashmate/test/unit/doctor/verifySystemRequirementsFactory.spec.js @@ -0,0 +1,147 @@ +import verifySystemRequirementsFactory from '../../../src/doctor/verifySystemRequirementsFactory.js'; +import Problem from '../../../src/doctor/Problem.js'; + +describe('verifySystemRequirementsFactory', () => { + let verifySystemRequirements; + + beforeEach(() => { + verifySystemRequirements = verifySystemRequirementsFactory(); + }); + + describe('CPU cores', () => { + it('should return a problem if CPU cores are less than minimum for non evonode', () => { + const systemInfo = { + dockerSystemInfo: { NCPU: 1 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('1 CPU cores detected'); + }); + + it('should return a problem if CPU cores are less than minimum for evonode', () => { + const systemInfo = { + dockerSystemInfo: { NCPU: 2 }, + }; + + const problems = verifySystemRequirements(systemInfo, true); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('2 CPU cores detected'); + }); + + it('should return a problem if CPU cores are less than minimum and docker info is not present', () => { + const systemInfo = { + cpu: { cores: 1 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('1 CPU cores detected'); + }); + + it('should not return anything if CPU cores information is not available', () => { + const systemInfo = { }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(0); + }); + }); + + describe('CPU speed', () => { + it('should return a problem if CPU speed is less than minimum', () => { + const systemInfo = { + cpu: { speed: 1.5 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('1.5GHz CPU frequency detected'); + }); + + it('should return a problem if CPU speed is not detected', () => { + const systemInfo = { + cpu: { speed: 0 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(0); + }); + }); + + describe('RAM', () => { + it('should return a problem if RAM is less than minimum (from Docker info)', () => { + const systemInfo = { + dockerSystemInfo: { MemTotal: 2 * 1024 ** 3 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('2.00GB RAM detected'); + }); + + it('should return a problem if RAM is less than minimum (from memory)', () => { + const systemInfo = { + memory: { total: 2 * 1024 ** 3 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('2.00GB RAM detected'); + }); + }); + + describe('Swap', () => { + it('should return a problem if swap space is less than recommended', () => { + const systemInfo = { + memory: { swaptotal: 1024 ** 3 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('Swap space is 1.00GB'); + }); + }); + + describe('Disk space', () => { + it('should return a problem if disk space is less than minimum', () => { + const systemInfo = { + diskSpace: { available: 50 * 1024 ** 3 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(1); + expect(problems[0]).to.be.an.instanceOf(Problem); + expect(problems[0].getDescription()).to.include('50.00GB of available disk space detected'); + }); + }); + + it('should not return any problems if all requirements are met', () => { + const systemInfo = { + dockerSystemInfo: { NCPU: 4, MemTotal: 8 * 1024 ** 3 }, + cpu: { cores: 4, speed: 3.0 }, + memory: { total: 8 * 1024 ** 3, swaptotal: 2 * 1024 ** 3 }, + diskSpace: { available: 500 * 1024 ** 3 }, + }; + + const problems = verifySystemRequirements(systemInfo, false); + + expect(problems).to.have.lengthOf(0); + }); +}); diff --git a/packages/dashmate/test/unit/ssl/zerossl/validateZeroSslCertificateFactory.spec.js b/packages/dashmate/test/unit/ssl/zerossl/validateZeroSslCertificateFactory.spec.js new file mode 100644 index 00000000000..44c94a2f185 --- /dev/null +++ b/packages/dashmate/test/unit/ssl/zerossl/validateZeroSslCertificateFactory.spec.js @@ -0,0 +1,192 @@ +import fs from 'fs'; +import path from 'path'; +import validateZeroSslCertificateFactory, { ERRORS } from '../../../../src/ssl/zerossl/validateZeroSslCertificateFactory.js'; + +describe('validateZeroSslCertificateFactory', () => { + let config; + let expirationDays; + let homeDir; + let getCertificate; + let validateZeroSslCertificate; + + beforeEach(function beforeEach() { + config = { + get: this.sinon.stub(), + getName: this.sinon.stub(), + }; + + expirationDays = 30; + + homeDir = { + joinPath: this.sinon.stub(), + }; + + getCertificate = this.sinon.stub(); + + config.getName.returns('my-config'); + + homeDir.joinPath.callsFake((...args) => path.join('/home/dir', ...args)); + + config.get.withArgs('platform.gateway.ssl.providerConfigs.zerossl.apiKey').returns('test-api-key'); + config.get.withArgs('externalIp').returns('1.2.3.4'); + config.get.withArgs('platform.gateway.ssl.providerConfigs.zerossl.id').returns('certificate-id'); + + this.sinon.stub(fs, 'existsSync').returns(true); + + validateZeroSslCertificate = validateZeroSslCertificateFactory(homeDir, getCertificate); + }); + + it('should return API_KEY_IS_NOT_SET error when apiKey is not set', async () => { + config.get.withArgs('platform.gateway.ssl.providerConfigs.zerossl.apiKey').returns(null); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.API_KEY_IS_NOT_SET); + }); + + it('should return EXTERNAL_IP_IS_NOT_SET error when externalIp is not set', async () => { + config.get.withArgs('externalIp').returns(null); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.EXTERNAL_IP_IS_NOT_SET); + }); + + it('should return CERTIFICATE_ID_IS_NOT_SET error when certificateId is not set', async () => { + config.get.withArgs('platform.gateway.ssl.providerConfigs.zerossl.id').returns(null); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.CERTIFICATE_ID_IS_NOT_SET); + }); + + it('should return PRIVATE_KEY_IS_NOT_PRESENT error when private key file is not present', async function it() { + const sslConfigDir = path.join('/home/dir', 'my-config', 'platform', 'gateway', 'ssl'); + const privateKeyFilePath = path.join(sslConfigDir, 'private.key'); + + fs.existsSync.withArgs(privateKeyFilePath).returns(false); + + getCertificate.resolves({ + common_name: '1.2.3.4', + status: 'issued', + isExpiredInDays: this.sinon.stub().returns(false), + }); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.PRIVATE_KEY_IS_NOT_PRESENT); + }); + + it('should return EXTERNAL_IP_MISMATCH error when certificate common_name does not match externalIp', async function it() { + const certificate = { + common_name: '5.6.7.8', + status: 'issued', + isExpiredInDays: this.sinon.stub().returns(false), + }; + + getCertificate.resolves(certificate); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.EXTERNAL_IP_MISMATCH); + }); + + it('should return CERTIFICATE_IS_NOT_VALIDATED error when certificate status is pending_validation', async function it() { + const certificate = { + common_name: '1.2.3.4', + status: 'pending_validation', + isExpiredInDays: this.sinon.stub().returns(false), + }; + + getCertificate.resolves(certificate); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.CERTIFICATE_IS_NOT_VALIDATED); + expect(result.data.certificate).to.equal(certificate); + }); + + it('should return CERTIFICATE_IS_NOT_VALIDATED error when certificate status is draft', async function it() { + const certificate = { + common_name: '1.2.3.4', + status: 'draft', + isExpiredInDays: this.sinon.stub().returns(false), + }; + + getCertificate.resolves(certificate); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.CERTIFICATE_IS_NOT_VALIDATED); + expect(result.data.certificate).to.equal(certificate); + }); + + it('should return CSR_FILE_IS_NOT_PRESENT error when certificate is not issued and csr file is not present', async function it() { + const certificate = { + common_name: '1.2.3.4', + status: 'revoked', + isExpiredInDays: this.sinon.stub().returns(false), + }; + + getCertificate.resolves(certificate); + + const sslConfigDir = path.join('/home/dir', 'my-config', 'platform', 'gateway', 'ssl'); + const csrFilePath = path.join(sslConfigDir, 'csr.pem'); + + fs.existsSync.withArgs(csrFilePath).returns(false); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.CSR_FILE_IS_NOT_PRESENT); + }); + + it('should return CERTIFICATE_IS_NOT_VALID error when certificate is not issued and csr file is present', async function it() { + const certificate = { + common_name: '1.2.3.4', + status: 'revoked', + isExpiredInDays: this.sinon.stub().returns(false), + }; + + getCertificate.resolves(certificate); + + this.sinon.stub(fs, 'readFileSync').returns('csr content'); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.CERTIFICATE_IS_NOT_VALID); + expect(result.data.csr).to.equal('csr content'); + }); + + it('should return CERTIFICATE_EXPIRES_SOON error when certificate is expiring soon and csr file is present', async function it() { + const certificate = { + common_name: '1.2.3.4', + status: 'issued', + isExpiredInDays: this.sinon.stub().returns(true), + }; + + getCertificate.resolves(certificate); + + this.sinon.stub(fs, 'readFileSync').returns('csr content'); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.equal(ERRORS.CERTIFICATE_EXPIRES_SOON); + expect(result.data.csr).to.equal('csr content'); + }); + + it('should return data when certificate is valid and not expiring soon', async function it() { + const certificate = { + common_name: '1.2.3.4', + status: 'issued', + isExpiredInDays: this.sinon.stub().returns(false), + }; + + getCertificate.resolves(certificate); + + const result = await validateZeroSslCertificate(config, expirationDays); + + expect(result.error).to.be.undefined(); + expect(result.data).to.exist(); + expect(result.data.certificate).to.equal(certificate); + }); +}); diff --git a/packages/dashpay-contract/Cargo.toml b/packages/dashpay-contract/Cargo.toml index 28ada6d94e9..cdb3ea808ee 100644 --- a/packages/dashpay-contract/Cargo.toml +++ b/packages/dashpay-contract/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "dashpay-contract" description = "DashPay data contract schema and tools" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/dashpay-contract/package.json b/packages/dashpay-contract/package.json index bd08462b890..a13c5e85908 100644 --- a/packages/dashpay-contract/package.json +++ b/packages/dashpay-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dashpay-contract", - "version": "1.0.2", + "version": "1.4.0-dev.1", "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 fc3588fff58..84cf2284a02 100644 --- a/packages/data-contracts/Cargo.toml +++ b/packages/data-contracts/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "data-contracts" description = "Dash Platform system data contracts" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/dpns-contract/Cargo.toml b/packages/dpns-contract/Cargo.toml index 50945a7287b..8b66395d80c 100644 --- a/packages/dpns-contract/Cargo.toml +++ b/packages/dpns-contract/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "dpns-contract" description = "DPNS data contract schema and tools" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/dpns-contract/package.json b/packages/dpns-contract/package.json index 83191f71126..440a7beb75a 100644 --- a/packages/dpns-contract/package.json +++ b/packages/dpns-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dpns-contract", - "version": "1.0.2", + "version": "1.4.0-dev.1", "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 c6d2c04a6f3..2bfb4c00875 100644 --- a/packages/feature-flags-contract/Cargo.toml +++ b/packages/feature-flags-contract/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "feature-flags-contract" description = "Feature flags data contract schema and tools" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/feature-flags-contract/package.json b/packages/feature-flags-contract/package.json index 4daa1533180..0e7889df7a7 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": "1.0.2", + "version": "1.4.0-dev.1", "description": "Data Contract to store Dash Platform feature flags", "scripts": { "build": "", diff --git a/packages/js-dapi-client/docs/_sidebar.md b/packages/js-dapi-client/docs/_sidebar.md index 6f1d91a8ec7..92f7efb3715 100644 --- a/packages/js-dapi-client/docs/_sidebar.md +++ b/packages/js-dapi-client/docs/_sidebar.md @@ -18,6 +18,7 @@ - [.subscribeToMasternodeList()](usage/application/core/subscribeToMasternodeList.md) - Platform - [.broadcastStateTransition()](usage/application/platform/broadcastStateTransition.md) + - [.getStatus()](usage/application/platform/getStatus.md) - [.getDataContract()](usage/application/platform/getDataContract.md) - [.getDocuments()](usage/application/platform/getDocuments.md) - [.getIdentityByFirstPublicKey()](usage/application/platform/getIdentityByFirstPublicKey.md) diff --git a/packages/js-dapi-client/docs/usage/application/platform/getStatus.md b/packages/js-dapi-client/docs/usage/application/platform/getStatus.md new file mode 100644 index 00000000000..6eb10cd4a06 --- /dev/null +++ b/packages/js-dapi-client/docs/usage/application/platform/getStatus.md @@ -0,0 +1,4 @@ +**Usage**: `async client.platform.getStatus(options)` +**Description**: Get platform status + +Returns : Promise diff --git a/packages/js-dapi-client/lib/DAPIClient.js b/packages/js-dapi-client/lib/DAPIClient.js index ed8c80d7533..4731c54a2dc 100644 --- a/packages/js-dapi-client/lib/DAPIClient.js +++ b/packages/js-dapi-client/lib/DAPIClient.js @@ -28,7 +28,7 @@ class DAPIClient extends EventEmitter { super(); this.options = { - network: 'testnet', + network: 'mainnet', timeout: 10000, retries: 5, blockHeadersProviderOptions: BlockHeadersProvider.defaultOptions, @@ -108,7 +108,7 @@ DAPIClient.EVENTS = EVENTS; * @property {Array} [dapiAddresses] * @property {Array} [seeds] * @property {Array} [dapiAddressesWhiteList] - * @property {string|Network} [network=testnet] + * @property {string|Network} [network=mainnet] * @property {number} [timeout=2000] * @property {number} [retries=3] * @property {number} [baseBanTime=60000] diff --git a/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js b/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js index e82f776cbb0..8de255abdec 100644 --- a/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js +++ b/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js @@ -13,6 +13,9 @@ const getProtocolVersionUpgradeStateFactory = require('./getProtocolVersionUpgra const getIdentityContractNonceFactory = require('./getIdentityContractNonce/getIdentityContractNonceFactory'); const getIdentityNonceFactory = require('./getIdentityNonce/getIdentityNonceFactory'); const getIdentityKeysFactory = require('./getIdentityKeys/getIdentityKeysFactory'); +const getTotalCreditsInPlatformFactory = require('./getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory'); +const getStatusFactory = require('./getStatus/getStatusFactory'); +const getIdentityBalanceFactory = require('./getIdentityBalance/getIdentityBalanceFactory'); class PlatformMethodsFacade { /** @@ -36,6 +39,9 @@ class PlatformMethodsFacade { this.getIdentityContractNonce = getIdentityContractNonceFactory(grpcTransport); this.getIdentityNonce = getIdentityNonceFactory(grpcTransport); this.getIdentityKeys = getIdentityKeysFactory(grpcTransport); + this.getTotalCreditsInPlatform = getTotalCreditsInPlatformFactory(grpcTransport); + this.getStatus = getStatusFactory(grpcTransport); + this.getIdentityBalance = getIdentityBalanceFactory(grpcTransport); } } diff --git a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js index 9ae984dbc9a..9982c6f9e6a 100644 --- a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js @@ -28,7 +28,7 @@ function getEpochsInfoFactory(grpcTransport) { const getEpochInfosRequest = new GetEpochsInfoRequest(); getEpochInfosRequest.setV0( new GetEpochsInfoRequestV0() - .setStartEpoch(new UInt32Value([startEpoch])) + .setStartEpoch(typeof startEpoch === 'number' ? new UInt32Value([startEpoch]) : undefined) .setCount(count) .setAscending(!!options.ascending) .setProve(!!options.prove), diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js new file mode 100644 index 00000000000..b5b4a59b310 --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js @@ -0,0 +1,43 @@ +const AbstractResponse = require('../response/AbstractResponse'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +class GetIdentityBalanceResponse extends AbstractResponse { + /** + * @param {number} balance + * @param {Metadata} metadata + * @param {Proof} [proof] + */ + constructor(balance, metadata, proof = undefined) { + super(metadata, proof); + + this.balance = balance; + } + + /** + * @returns {number} + */ + getBalance() { + return this.balance; + } + + /** + * @param proto + * @returns {GetIdentityBalanceResponse} + */ + static createFromProto(proto) { + const balance = proto.getV0().getBalance(); + const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto(proto); + + if ((balance === null || balance === undefined) && !proof) { + throw new InvalidResponseError('Balance is not defined'); + } + + return new GetIdentityBalanceResponse( + balance, + metadata, + proof, + ); + } +} + +module.exports = GetIdentityBalanceResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js new file mode 100644 index 00000000000..93862ccff9a --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js @@ -0,0 +1,71 @@ +const { + v0: { + PlatformPromiseClient, + GetIdentityBalanceRequest, + }, +} = require('@dashevo/dapi-grpc'); + +const GetIdentityBalanceResponse = require('./GetIdentityBalanceResponse'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +/** + * @param {GrpcTransport} grpcTransport + * @returns {getIdentityBalance} + */ +function getIdentityBalanceFactory(grpcTransport) { + /** + * Fetch the identity balance by id + * @typedef {getIdentityBalance} + * @param {Buffer} id + * @param {DAPIClientOptions & {prove: boolean}} [options] + * @returns {Promise} + */ + async function getIdentityBalance(id, options = {}) { + const { GetIdentityBalanceRequestV0 } = GetIdentityBalanceRequest; + const getIdentityBalanceRequest = new GetIdentityBalanceRequest(); + // need to convert objects inherited from Buffer to pure buffer as google protobuf + // doesn't support extended buffers + // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 + if (Buffer.isBuffer(id)) { + // eslint-disable-next-line no-param-reassign + id = Buffer.from(id); + } + + getIdentityBalanceRequest.setV0( + new GetIdentityBalanceRequestV0() + .setId(id) + .setProve(!!options.prove), + ); + + let lastError; + + // TODO: simple retry before the dapi versioning is properly implemented + for (let i = 0; i < 3; i += 1) { + try { + // eslint-disable-next-line no-await-in-loop + const getIdentityBalanceResponse = await grpcTransport.request( + PlatformPromiseClient, + 'getIdentityBalance', + getIdentityBalanceRequest, + options, + ); + + return GetIdentityBalanceResponse.createFromProto(getIdentityBalanceResponse); + } catch (e) { + if (e instanceof InvalidResponseError) { + lastError = e; + } else { + throw e; + } + } + } + + // If we made it past the cycle it means that the retry didn't work, + // and we're throwing the last error encountered + throw lastError; + } + + return getIdentityBalance; +} + +module.exports = getIdentityBalanceFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/getStatusFactory.js b/packages/js-dapi-client/lib/methods/platform/getStatus/getStatusFactory.js new file mode 100644 index 00000000000..cce7acfb4c3 --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/getStatusFactory.js @@ -0,0 +1,66 @@ +const { + v0: { + PlatformPromiseClient, + GetStatusRequest, + }, +} = require('@dashevo/dapi-grpc'); + +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +/** + * @param {GrpcTransport} grpcTransport + * @returns {getIdentity} + */ +function getStatusFactory(grpcTransport) { + /** + * Fetch the identity by id + * @typedef {getIdentity} + * @param {Buffer} id + * @param {DAPIClientOptions & {prove: boolean}} [options] + * @returns {Promise} + */ + async function getStatus(options = {}) { + const { GetStatusRequestV0 } = GetStatusRequest; + const getStatusRequest = new GetStatusRequest(); + + getStatusRequest.setV0( + new GetStatusRequestV0(), + ); + + let lastError; + + // TODO: simple retry before the dapi versioning is properly implemented + for (let i = 0; i < 3; i += 1) { + try { + // eslint-disable-next-line no-await-in-loop + const getStatusResponse = await grpcTransport.request( + PlatformPromiseClient, + 'getStatus', + getStatusRequest, + options, + ); + + if (getStatusResponse.getV0() === undefined) { + // noinspection ExceptionCaughtLocallyJS + throw new InvalidResponseError('GetStatusResponseV0 is not defined'); + } + + return getStatusResponse.getV0().toObject(); + } catch (e) { + if (e instanceof InvalidResponseError) { + lastError = e; + } else { + throw e; + } + } + } + + // If we made it past the cycle it means that the retry didn't work, + // and we're throwing the last error encountered + throw lastError; + } + + return getStatus; +} + +module.exports = getStatusFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/GetTotalCreditsInPlatformResponse.js b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/GetTotalCreditsInPlatformResponse.js new file mode 100644 index 00000000000..a682d646d31 --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/GetTotalCreditsInPlatformResponse.js @@ -0,0 +1,46 @@ +const AbstractResponse = require('../response/AbstractResponse'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +class GetTotalCreditsInPlatformResponse extends AbstractResponse { + /** + * @param {number} totalCreditsInPlatform + * @param {Metadata} metadata + * @param {Proof} [proof] + */ + constructor(totalCreditsInPlatform, metadata, proof = undefined) { + super(metadata, proof); + + this.totalCreditsInPlatform = totalCreditsInPlatform; + } + + /** + * @returns {number} + */ + getTotalCreditsInPlatform() { + return this.totalCreditsInPlatform; + } + + /** + * @param proto + * @returns {GetTotalCreditsInPlatformResponse} + */ + static createFromProto(proto) { + // eslint-disable-next-line + const totalCreditsInPlatform = proto.getV0().getCredits(); + const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto( + proto, + ); + + if ((typeof totalCreditsInPlatform === 'undefined' || totalCreditsInPlatform === null) && !proof) { + throw new InvalidResponseError('Total Credits on Platform data is not defined'); + } + + return new GetTotalCreditsInPlatformResponse( + totalCreditsInPlatform, + metadata, + proof, + ); + } +} + +module.exports = GetTotalCreditsInPlatformResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js new file mode 100644 index 00000000000..1bbbd3f022f --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js @@ -0,0 +1,67 @@ +const { + v0: { + PlatformPromiseClient, + GetTotalCreditsInPlatformRequest, + }, +} = require('@dashevo/dapi-grpc'); + +const GetTotalCreditsInPlatformResponse = require('./GetTotalCreditsInPlatformResponse'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +/** + * @param {GrpcTransport} grpcTransport + * @returns {getTotalCreditsInPlatform} + */ +function getTotalCreditsInPlatformFactory(grpcTransport) { + /** + * Fetch the version upgrade votes status + * @typedef {getTotalCreditsInPlatform} + * @param {DAPIClientOptions & {prove: boolean}} [options] + * @returns {Promise} + */ + async function getTotalCreditsInPlatform(options = {}) { + const { + GetTotalCreditsInPlatformRequestV0, + } = GetTotalCreditsInPlatformRequest; + + // eslint-disable-next-line max-len + const getTotalCreditsInPlatformRequest = new GetTotalCreditsInPlatformRequest(); + + getTotalCreditsInPlatformRequest.setV0( + new GetTotalCreditsInPlatformRequestV0() + .setProve(!!options.prove), + ); + + let lastError; + + // TODO: simple retry before the dapi versioning is properly implemented + for (let i = 0; i < 3; i += 1) { + try { + // eslint-disable-next-line no-await-in-loop + const getTotalCreditsInPlatformResponse = await grpcTransport.request( + PlatformPromiseClient, + 'getTotalCreditsInPlatform', + getTotalCreditsInPlatformRequest, + options, + ); + + return GetTotalCreditsInPlatformResponse + .createFromProto(getTotalCreditsInPlatformResponse); + } catch (e) { + if (e instanceof InvalidResponseError) { + lastError = e; + } else { + throw e; + } + } + } + + // If we made it past the cycle it means that the retry didn't work, + // and we're throwing the last error encountered + throw lastError; + } + + return getTotalCreditsInPlatform; +} + +module.exports = getTotalCreditsInPlatformFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js index f554ea0f431..62d7466fba2 100644 --- a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js @@ -24,7 +24,7 @@ function waitForStateTransitionResultFactory(grpcTransport) { // eslint-disable-next-line no-param-reassign options = { // Set default timeout - timeout: 80000, + timeout: 120000, prove: false, retry: 0, throwDeadlineExceeded: true, diff --git a/packages/js-dapi-client/lib/networkConfigs.js b/packages/js-dapi-client/lib/networkConfigs.js index 3355041c7b1..4bc7c832136 100644 --- a/packages/js-dapi-client/lib/networkConfigs.js +++ b/packages/js-dapi-client/lib/networkConfigs.js @@ -51,4 +51,13 @@ module.exports = { dapiAddresses: ['127.0.0.1'], network: 'regtest', }, + mainnet: { + seeds: [ + 'seed-1.mainnet.networks.dash.org', + 'seed-2.mainnet.networks.dash.org', + 'seed-3.mainnet.networks.dash.org', + 'seed-4.mainnet.networks.dash.org', + ], + network: 'mainnet', + }, }; diff --git a/packages/js-dapi-client/package.json b/packages/js-dapi-client/package.json index fc840b5eea3..27fb6d3f515 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-client", - "version": "1.0.2", + "version": "1.4.0-dev.1", "description": "Client library used to access Dash DAPI endpoints", "main": "lib/index.js", "contributors": [ @@ -76,7 +76,7 @@ "string_decoder": "^1.3.0", "url": "^0.11.3", "util": "^0.12.4", - "webpack": "^5.76.1", + "webpack": "^5.94.0", "webpack-cli": "^4.9.1" }, "files": [ @@ -92,7 +92,7 @@ "test:integration": "mocha './test/integration/**/*.spec.js'", "test:node": "NODE_ENV=test mocha", "test:browsers": "karma start ./karma.conf.js --single-run", - "test:coverage": "NODE_ENV=test nyc --check-coverage --stmts=98 --branch=98 --funcs=98 --lines=90 yarn run mocha 'test/unit/**/*.spec.js' 'test/integration/**/*.spec.js'", + "test:coverage": "NODE_ENV=test nyc --check-coverage --stmts=98 --branch=98 --funcs=98 --lines=89 yarn run mocha 'test/unit/**/*.spec.js' 'test/integration/**/*.spec.js'", "prepublishOnly": "yarn run build:web" }, "ultra": { diff --git a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js index cb2c2dd0fae..fbb1f32ed5c 100644 --- a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js +++ b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js @@ -4,6 +4,7 @@ const { GetDataContractResponse, GetDocumentsResponse, GetIdentityResponse, + GetIdentityBalanceResponse, GetIdentityByPublicKeyHashResponse, GetIdentitiesContractKeysResponse, GetEpochsInfoResponse, @@ -27,6 +28,7 @@ const PlatformMethodsFacade = require('../../../../lib/methods/platform/Platform const { WaitForStateTransitionResultResponseV0 } = WaitForStateTransitionResultResponse; const { GetIdentityResponseV0 } = GetIdentityResponse; +const { GetIdentityBalanceResponseV0 } = GetIdentityBalanceResponse; const { GetIdentityByPublicKeyHashResponseV0 } = GetIdentityByPublicKeyHashResponse; const { GetIdentitiesContractKeysResponseV0 } = GetIdentitiesContractKeysResponse; const { GetDocumentsResponseV0 } = GetDocumentsResponse; @@ -318,4 +320,22 @@ describe('PlatformMethodsFacade', () => { expect(grpcTransportMock.request).to.be.calledOnce(); }); }); + + describe('#getIdentityBalance', () => { + it('should get identity balance', async () => { + const response = new GetIdentityBalanceResponse(); + + response.setV0( + new GetIdentityBalanceResponseV0() + .setMetadata(new ResponseMetadata()) + .setBalance(1337), + ); + + grpcTransportMock.request.resolves(response); + + await platformMethods.getIdentityBalance('41nthkqvHBLnqiMkSbsdTNANzYu9bgdv4etKoRUunY1M'); + + expect(grpcTransportMock.request).to.be.calledOnce(); + }); + }); }); diff --git a/packages/js-dapi-client/test/unit/DAPIClient.spec.js b/packages/js-dapi-client/test/unit/DAPIClient.spec.js index dd57d1ff7e2..cee8f160f5b 100644 --- a/packages/js-dapi-client/test/unit/DAPIClient.spec.js +++ b/packages/js-dapi-client/test/unit/DAPIClient.spec.js @@ -19,7 +19,7 @@ describe('DAPIClient', () => { dapiClient = new DAPIClient(options); expect(dapiClient.options).to.deep.equal({ - network: 'testnet', + network: 'mainnet', retries: 0, newOption: true, timeout: 10000, @@ -48,7 +48,7 @@ describe('DAPIClient', () => { expect(dapiClient.options).to.deep.equal({ retries: 5, timeout: 10000, - network: 'testnet', + network: 'mainnet', blockHeadersProviderOptions: BlockHeadersProvider.defaultOptions, loggerOptions: { identifier: '', @@ -79,7 +79,7 @@ describe('DAPIClient', () => { expect(dapiClient.options).to.deep.equal({ retries: 0, dapiAddresses: ['localhost'], - network: 'testnet', + network: 'mainnet', timeout: 10000, blockHeadersProviderOptions: BlockHeadersProvider.defaultOptions, loggerOptions: { diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.spec.js new file mode 100644 index 00000000000..3df6adb6be5 --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.spec.js @@ -0,0 +1,126 @@ +const { + v0: { + GetIdentityBalanceResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const GetIdentityBalanceResponseClass = require('../../../../../lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); +const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); + +describe('GetIdentityBalanceResponse', () => { + let getIdentityBalanceResponse; + let metadataFixture; + let balance; + let proto; + let proofFixture; + + beforeEach(async () => { + metadataFixture = getMetadataFixture(); + proofFixture = getProofFixture(); + balance = 1337; + + const { GetIdentityBalanceResponseV0 } = GetIdentityBalanceResponse; + proto = new GetIdentityBalanceResponse(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + proto.setV0( + new GetIdentityBalanceResponseV0() + .setBalance(balance) + .setMetadata(metadata), + ); + + getIdentityBalanceResponse = new GetIdentityBalanceResponseClass( + balance, + new Metadata(metadataFixture), + ); + }); + + it('should return Identity balance', () => { + const identityBalance = getIdentityBalanceResponse.getBalance(); + const identityProof = getIdentityBalanceResponse.getProof(); + + expect(identityBalance).to.equal(balance); + expect(identityProof).to.equal(undefined); + }); + + it('should return proof', () => { + getIdentityBalanceResponse = new GetIdentityBalanceResponseClass( + balance, + new Metadata(metadataFixture), + new Proof(proofFixture), + ); + + const identityBalance = getIdentityBalanceResponse.getBalance(); + const proof = getIdentityBalanceResponse.getProof(); + + expect(identityBalance).to.equal(balance); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should create an instance from proto', () => { + getIdentityBalanceResponse = GetIdentityBalanceResponseClass.createFromProto(proto); + expect(getIdentityBalanceResponse).to.be + .an.instanceOf(GetIdentityBalanceResponseClass); + expect(getIdentityBalanceResponse.getBalance()).to.equal(balance); + + expect(getIdentityBalanceResponse.getMetadata()) + .to.be.an.instanceOf(Metadata); + expect(getIdentityBalanceResponse.getMetadata().getHeight()) + .to.equal(metadataFixture.height); + expect(getIdentityBalanceResponse.getMetadata().getCoreChainLockedHeight()) + .to.equal(metadataFixture.coreChainLockedHeight); + + expect(getIdentityBalanceResponse.getProof()).to.equal(undefined); + }); + + it('should create an instance with proof from proto', () => { + const proofProto = new ProofResponse(); + + proofProto.setQuorumHash(proofFixture.quorumHash); + proofProto.setSignature(proofFixture.signature); + proofProto.setGrovedbProof(proofFixture.merkleProof); + proofProto.setRound(proofFixture.round); + + proto.getV0().setBalance(undefined); + proto.getV0().setProof(proofProto); + + getIdentityBalanceResponse = GetIdentityBalanceResponseClass.createFromProto(proto); + + expect(getIdentityBalanceResponse.getBalance()).to.equal(0); + expect(getIdentityBalanceResponse.getMetadata()).to.deep.equal(metadataFixture); + + const proof = getIdentityBalanceResponse.getProof(); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should throw InvalidResponseError if Metadata is not defined', () => { + proto.getV0().setMetadata(undefined); + + try { + getIdentityBalanceResponse = GetIdentityBalanceResponseClass.createFromProto(proto); + + expect.fail('should throw InvalidResponseError'); + } catch (e) { + expect(e).to.be.an.instanceOf(InvalidResponseError); + } + }); +}); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js new file mode 100644 index 00000000000..210d2a8a9f9 --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js @@ -0,0 +1,156 @@ +const { + v0: { + PlatformPromiseClient, + GetIdentityBalanceRequest, + GetIdentityBalanceResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const { GetIdentityBalanceResponseV0 } = GetIdentityBalanceResponse; + +const getIdentityBalanceFactory = require('../../../../../lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); + +describe('getIdentityBalanceFactory', () => { + let grpcTransportMock; + let getIdentityBalance; + let options; + let response; + let balance; + let identityId; + let metadataFixture; + let proofFixture; + let proofResponse; + + beforeEach(async function beforeEach() { + balance = 1337; + + identityId = Buffer.alloc(32).fill(0); + + metadataFixture = getMetadataFixture(); + proofFixture = getProofFixture(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + response = new GetIdentityBalanceResponse(); + + response.setV0( + new GetIdentityBalanceResponseV0() + .setBalance(balance) + .setMetadata(metadata), + ); + + proofResponse = new ProofResponse(); + + proofResponse.setQuorumHash(proofFixture.quorumHash); + proofResponse.setSignature(proofFixture.signature); + proofResponse.setGrovedbProof(proofFixture.merkleProof); + proofResponse.setRound(proofFixture.round); + + grpcTransportMock = { + request: this.sinon.stub().resolves(response), + }; + + getIdentityBalance = getIdentityBalanceFactory(grpcTransportMock); + + options = { + timeout: 1000, + }; + }); + + it('should return identity balance', async () => { + const result = await getIdentityBalance(identityId, options); + + const { GetIdentityBalanceRequestV0 } = GetIdentityBalanceRequest; + const request = new GetIdentityBalanceRequest(); + request.setV0( + new GetIdentityBalanceRequestV0() + .setId(identityId) + .setProve(false), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getIdentityBalance', + request, + options, + ); + expect(result.getBalance()).to.deep.equal(balance); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getProof()).to.equal(undefined); + }); + + it('should return proof', async () => { + options.prove = true; + response.getV0().setBalance(undefined); + response.getV0().setProof(proofResponse); + + const result = await getIdentityBalance(identityId, options); + + const { GetIdentityBalanceRequestV0 } = GetIdentityBalanceRequest; + const request = new GetIdentityBalanceRequest(); + request.setV0( + new GetIdentityBalanceRequestV0() + .setId(identityId) + .setProve(true), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getIdentityBalance', + request, + options, + ); + + expect(result.getBalance()).to.deep.equal(0); + + expect(result.getMetadata()).to.deep.equal(metadataFixture); + + expect(result.getProof()).to.be.an.instanceOf(Proof); + expect(result.getProof().getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(result.getProof().getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(result.getProof().getSignature()).to.deep.equal(proofFixture.signature); + expect(result.getProof().getRound()).to.deep.equal(proofFixture.round); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getMetadata().getHeight()).to.equal(metadataFixture.height); + expect(result.getMetadata().getCoreChainLockedHeight()).to.equal( + metadataFixture.coreChainLockedHeight, + ); + }); + + it('should throw unknown error', async () => { + const error = new Error('Unknown found'); + + grpcTransportMock.request.throws(error); + + const { GetIdentityBalanceRequestV0 } = GetIdentityBalanceRequest; + const request = new GetIdentityBalanceRequest(); + request.setV0( + new GetIdentityBalanceRequestV0() + .setId(identityId) + .setProve(false), + ); + + try { + await getIdentityBalance(identityId, options); + + expect.fail('should throw unknown error'); + } catch (e) { + expect(e).to.deep.equal(error); + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getIdentityBalance', + request, + options, + ); + } + }); +}); diff --git a/packages/js-dash-sdk/README.md b/packages/js-dash-sdk/README.md index 454768f6742..a9083164c72 100644 --- a/packages/js-dash-sdk/README.md +++ b/packages/js-dash-sdk/README.md @@ -7,6 +7,11 @@ Dash library for JavaScript/TypeScript ecosystem (Wallet, DAPI, Primitives, BLS, ...) +**Warning: This SDK should only be used in production when connected to trusted nodes. Although it +provides easy access to Dash Platform without requiring a full node, it does not support Dash +Platform’s proofs or verify synchronized blockchain data. Therefore, it is less secure than the +[Rust SDK](../rs-sdk/), which requests proofs for all queried data.** + Dash library provides access via [DAPI](https://dashplatform.readme.io/docs/explanation-dapi) to use both the Dash Core network and Dash Platform on [supported networks](https://github.com/dashpay/platform/#supported-networks). The Dash Core network can be used to broadcast and receive payments. Dash Platform can be used to manage identities, register data contracts for applications, and submit or retrieve application data via documents. ## Table of Contents diff --git a/packages/js-dash-sdk/package.json b/packages/js-dash-sdk/package.json index 3bfdd148864..457ce7b4dcf 100644 --- a/packages/js-dash-sdk/package.json +++ b/packages/js-dash-sdk/package.json @@ -1,6 +1,6 @@ { "name": "dash", - "version": "4.0.2", + "version": "4.4.0-dev.1", "description": "Dash library for JavaScript/TypeScript ecosystem (Wallet, DAPI, Primitives, BLS, ...)", "main": "build/index.js", "unpkg": "dist/dash.min.js", @@ -107,7 +107,7 @@ "typescript": "^3.9.5", "url": "^0.11.3", "util": "^0.12.4", - "webpack": "^5.76.1", + "webpack": "^5.94.0", "webpack-cli": "^4.9.1" } } diff --git a/packages/js-dash-sdk/src/SDK/Client/Client.spec.ts b/packages/js-dash-sdk/src/SDK/Client/Client.spec.ts index b44f7cd02fd..bc6fa96bd42 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Client.spec.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Client.spec.ts @@ -37,6 +37,7 @@ describe('Dash - Client', function suite() { testHDKey = 'tprv8ZgxMBicQKsPeGi4CikhacVPz6UmErenu1PoD3S4XcEDSPP8auRaS8hG3DQtsQ2i9HACgohHwF5sgMVJNksoKqYoZbis8o75Pp1koCme2Yo'; client = new Client({ + network: 'testnet', wallet: { HDPrivateKey: testHDKey, }, @@ -77,7 +78,7 @@ describe('Dash - Client', function suite() { it('should be instantiable', () => { client = new Client(); expect(client).to.exist; - expect(client.network).to.be.equal('testnet'); + expect(client.network).to.be.equal('mainnet'); expect(client.getDAPIClient().constructor.name).to.be.equal('DAPIClient'); }); @@ -111,7 +112,7 @@ describe('Dash - Client', function suite() { wallet: { mnemonic: testMnemonic, offlineMode: true, - network: 'evonet', + network: 'mainnet', }, }); diff --git a/packages/js-dash-sdk/src/SDK/Client/Client.ts b/packages/js-dash-sdk/src/SDK/Client/Client.ts index 7f185677ea5..ee641901dfe 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Client.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Client.ts @@ -48,7 +48,7 @@ export interface ClientOpts { * and the Dash Platform (layer 2). */ export class Client extends EventEmitter { - public network: string = 'testnet'; + public network: string = 'mainnet'; public wallet: Wallet | undefined; @@ -74,7 +74,7 @@ export class Client extends EventEmitter { this.options = options; - this.network = this.options.network ? this.options.network.toString() : 'testnet'; + this.network = this.options.network ? this.options.network.toString() : 'mainnet'; // Initialize DAPI Client const dapiClientOptions = { diff --git a/packages/js-grpc-common/package.json b/packages/js-grpc-common/package.json index 70e4ba84213..02124c466da 100644 --- a/packages/js-grpc-common/package.json +++ b/packages/js-grpc-common/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/grpc-common", - "version": "1.0.2", + "version": "1.4.0-dev.1", "description": "Common GRPC library", "main": "index.js", "scripts": { diff --git a/packages/masternode-reward-shares-contract/Cargo.toml b/packages/masternode-reward-shares-contract/Cargo.toml index 6fb9cf2b351..49c81c24dbb 100644 --- a/packages/masternode-reward-shares-contract/Cargo.toml +++ b/packages/masternode-reward-shares-contract/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "masternode-reward-shares-contract" description = "Masternode reward shares data contract schema and tools" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/masternode-reward-shares-contract/package.json b/packages/masternode-reward-shares-contract/package.json index 7ac532d12cd..3610bd1ae64 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": "1.0.2", + "version": "1.4.0-dev.1", "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 32ac0bbb564..336b45bed55 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": "1.0.2", + "version": "1.4.0-dev.1", "description": "Dash Network end-to-end tests", "scripts": { "test": "yarn exec bin/test.sh", @@ -73,7 +73,7 @@ "url": "^0.11.3", "utf-8-validate": "^5.0.9", "util": "^0.12.4", - "webpack": "^5.76.1", + "webpack": "^5.94.0", "ws": "^8.17.1" }, "devDependencies": { diff --git a/packages/platform-test-suite/test/functional/platform/getStatus.spec.js b/packages/platform-test-suite/test/functional/platform/getStatus.spec.js new file mode 100644 index 00000000000..ca066748900 --- /dev/null +++ b/packages/platform-test-suite/test/functional/platform/getStatus.spec.js @@ -0,0 +1,28 @@ +const createClientWithoutWallet = require('../../../lib/test/createClientWithoutWallet'); + +describe('Platform', () => { + describe('getStatus', () => { + let client; + + before(async () => { + client = await createClientWithoutWallet(); + }); + + after(async () => { + if (client) { + await client.disconnect(); + } + }); + + it('should return status', async () => { + const status = await client.dapiClient.platform.getStatus(); + + expect(status).to.be.a.property('version'); + expect(status.version).to.have.property('software'); + expect(status.version.software).to.have.an('object'); + expect(status.version.software.dapi).to.be.a('string').and.not.be.empty(); + expect(status.version.software.drive).to.be.a('string').and.not.be.empty(); + expect(status.version.software.tenderdash).to.be.a('string').and.not.be.empty(); + }); + }); +}); diff --git a/packages/rs-dapi-client/Cargo.toml b/packages/rs-dapi-client/Cargo.toml index 4194556d98b..c95a2a458df 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 = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" [features] diff --git a/packages/rs-dapi-client/src/address_list.rs b/packages/rs-dapi-client/src/address_list.rs index ab4e2ba0ebf..bf09b1af8c0 100644 --- a/packages/rs-dapi-client/src/address_list.rs +++ b/packages/rs-dapi-client/src/address_list.rs @@ -85,7 +85,7 @@ pub enum AddressListError { /// A structure to manage DAPI addresses to select from /// for [DapiRequest](crate::DapiRequest) execution. -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct AddressList { addresses: HashSet
, base_ban_period: Duration, @@ -221,3 +221,12 @@ impl FromIterator for AddressList { address_list } } + +impl IntoIterator for AddressList { + type Item = Address; + type IntoIter = std::collections::hash_set::IntoIter
; + + fn into_iter(self) -> Self::IntoIter { + self.addresses.into_iter() + } +} diff --git a/packages/rs-dapi-client/src/dapi_client.rs b/packages/rs-dapi-client/src/dapi_client.rs index 8e5a3d660b2..17748ab2b02 100644 --- a/packages/rs-dapi-client/src/dapi_client.rs +++ b/packages/rs-dapi-client/src/dapi_client.rs @@ -112,6 +112,11 @@ impl DapiClient { dump_dir: None, } } + + /// Return the [DapiClient] address list. + pub fn address_list(&self) -> &Arc> { + &self.address_list + } } #[async_trait] diff --git a/packages/rs-dapi-client/src/dump.rs b/packages/rs-dapi-client/src/dump.rs index c81399395bf..a1e23d1ff20 100644 --- a/packages/rs-dapi-client/src/dump.rs +++ b/packages/rs-dapi-client/src/dump.rs @@ -189,7 +189,6 @@ impl DapiClient { response: &MockResult, dump_dir: Option, ) where - R: Mockable, ::Response: Mockable, { let path = match dump_dir { diff --git a/packages/rs-dapi-client/src/lib.rs b/packages/rs-dapi-client/src/lib.rs index e4f5836e29e..976537097eb 100644 --- a/packages/rs-dapi-client/src/lib.rs +++ b/packages/rs-dapi-client/src/lib.rs @@ -14,6 +14,7 @@ pub mod transport; pub use address_list::Address; pub use address_list::AddressList; +pub use connection_pool::ConnectionPool; pub use dapi_client::DapiRequestExecutor; pub use dapi_client::{DapiClient, DapiClientError}; use dapi_grpc::mock::Mockable; diff --git a/packages/rs-dapi-client/src/transport/grpc.rs b/packages/rs-dapi-client/src/transport/grpc.rs index 316be9cc111..98976ed08e8 100644 --- a/packages/rs-dapi-client/src/transport/grpc.rs +++ b/packages/rs-dapi-client/src/transport/grpc.rs @@ -186,8 +186,7 @@ impl_transport_request_grpc!( platform_proto::WaitForStateTransitionResultResponse, PlatformGrpcClient, RequestSettings { - timeout: Some(Duration::from_secs(80)), - retries: Some(0), + timeout: Some(Duration::from_secs(120)), ..RequestSettings::default() }, wait_for_state_transition_result @@ -209,6 +208,14 @@ impl_transport_request_grpc!( get_identity_balance ); +impl_transport_request_grpc!( + platform_proto::GetIdentitiesBalancesRequest, + platform_proto::GetIdentitiesBalancesResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_identities_balances +); + impl_transport_request_grpc!( platform_proto::GetIdentityNonceRequest, platform_proto::GetIdentityNonceResponse, @@ -324,6 +331,24 @@ impl_transport_request_grpc!( get_vote_polls_by_end_date ); +// rpc GetEvonodesProposedEpochBlocksByIdsRequest(GetEvonodesProposedEpochBlocksByIdsRequest) returns (GetEvonodesProposedEpochBlocksResponse); +impl_transport_request_grpc!( + platform_proto::GetEvonodesProposedEpochBlocksByIdsRequest, + platform_proto::GetEvonodesProposedEpochBlocksResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_evonodes_proposed_epoch_blocks_by_ids +); + +// rpc GetEvonodesProposedEpochBlocksByRangeRequest(GetEvonodesProposedEpochBlocksByRangeRequest) returns (GetEvonodesProposedEpochBlocksResponse); +impl_transport_request_grpc!( + platform_proto::GetEvonodesProposedEpochBlocksByRangeRequest, + platform_proto::GetEvonodesProposedEpochBlocksResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_evonodes_proposed_epoch_blocks_by_range +); + // rpc getPrefundedSpecializedBalance(GetPrefundedSpecializedBalanceRequest) returns (GetPrefundedSpecializedBalanceResponse); impl_transport_request_grpc!( platform_proto::GetPrefundedSpecializedBalanceRequest, @@ -333,6 +358,33 @@ impl_transport_request_grpc!( get_prefunded_specialized_balance ); +// rpc getPathElements(GetPathElementsRequest) returns (GetPathElementsResponse); +impl_transport_request_grpc!( + platform_proto::GetPathElementsRequest, + platform_proto::GetPathElementsResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_path_elements +); + +// rpc getTotalCreditsInPlatform(GetTotalCreditsInPlatformRequest) returns (GetTotalCreditsInPlatformResponse); +impl_transport_request_grpc!( + platform_proto::GetTotalCreditsInPlatformRequest, + platform_proto::GetTotalCreditsInPlatformResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_total_credits_in_platform +); + +// rpc getCurrentQuorumsInfo(GetCurrentQuorumsInfoRequest) returns (GetCurrentQuorumsInfoResponse); +impl_transport_request_grpc!( + platform_proto::GetCurrentQuorumsInfoRequest, + platform_proto::GetCurrentQuorumsInfoResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_current_quorums_info +); + // Link to each core gRPC request what client and method to use: impl_transport_request_grpc!( @@ -369,3 +421,12 @@ impl_transport_request_grpc!( }, subscribe_to_transactions_with_proofs ); + +// rpc getStatus(GetStatusRequest) returns (GetStatusResponse); +impl_transport_request_grpc!( + platform_proto::GetStatusRequest, + platform_proto::GetStatusResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_status +); diff --git a/packages/rs-dapi-grpc-macros/Cargo.toml b/packages/rs-dapi-grpc-macros/Cargo.toml index a547f65866f..5db0e757482 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 = "1.0.2" +version = "1.4.0-dev.1" 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 362bdda96ab..122a75930eb 100644 --- a/packages/rs-dpp/Cargo.toml +++ b/packages/rs-dpp/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "dpp" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true authors = [ "Anton Suprunchuk ", "Samuel Westrich ", @@ -70,7 +70,7 @@ once_cell = "1.19.0" [dev-dependencies] test-case = { version = "2.0" } tokio = { version = "1.17", features = ["full"] } -pretty_assertions = { version = "1.3.0" } +pretty_assertions = { version = "1.4.1" } dpp = { path = ".", features = ["all_features_without_client"] } assert_matches = "1.5.0" once_cell = "1.7" @@ -89,6 +89,9 @@ all_features = [ "identity-hashing", "identity-serialization", "ciborium", + "core-types", + "core-types-serialization", + "core-types-serde-conversion", "document-serde-conversion", "document-value-conversion", "document-json-conversion", @@ -131,6 +134,9 @@ dash-sdk-features = [ "document-value-conversion", "data-contract-value-conversion", "identity-value-conversion", + "core-types", + "core-types-serialization", + "core-types-serde-conversion", "state-transition-serde-conversion", "state-transition-value-conversion", "state-transition-json-conversion", @@ -152,6 +158,9 @@ all_features_without_client = [ "identity-hashing", "identity-serialization", "ciborium", + "core-types", + "core-types-serialization", + "core-types-serde-conversion", "document-serde-conversion", "document-value-conversion", "document-json-conversion", @@ -189,6 +198,9 @@ abci = [ "identity-serialization", "vote-serialization", "platform-value-cbor", + "core-types", + "core-types-serialization", + "core-types-serde-conversion", ] cbor = ["ciborium"] validation = [ @@ -261,6 +273,9 @@ state-transition-signing = [ ] vote-serialization = [] vote-serde-conversion = [] +core-types = ["bls-signatures"] +core-types-serialization = ["core-types"] +core-types-serde-conversion = ["core-types"] state-transitions = [] system_contracts = ["factories", "data-contracts", "platform-value-json"] fixtures-and-mocks = ["system_contracts", "platform-value/json"] diff --git a/packages/rs-dpp/src/core_subsidy/epoch_core_reward_credits_for_distribution/mod.rs b/packages/rs-dpp/src/core_subsidy/epoch_core_reward_credits_for_distribution/mod.rs new file mode 100644 index 00000000000..ddefad34d6e --- /dev/null +++ b/packages/rs-dpp/src/core_subsidy/epoch_core_reward_credits_for_distribution/mod.rs @@ -0,0 +1,42 @@ +mod v0; + +use crate::core_subsidy::epoch_core_reward_credits_for_distribution::v0::epoch_core_reward_credits_for_distribution_v0; +use crate::fee::Credits; +use crate::ProtocolError; +use platform_version::version::PlatformVersion; + +/// Gets the amount of core reward fees to be distributed for the Epoch. +/// +/// # Arguments +/// +/// * `from_start_block_core_height` - The height of the core block at the start of the epoch. +/// * `to_end_block_core_height_included` - The height of the core block at the start of the next epoch. +/// * `core_subsidy_halving_interval` - The halving interval set by the Core network. +/// * `platform_version` - The platform version. +/// +/// # Returns +/// +/// * `Result` - If the operation is successful, it returns `Ok(Credits)`. If there is an error, it returns `Error`. +pub fn epoch_core_reward_credits_for_distribution( + from_start_block_core_height: u32, + to_end_block_core_height_included: u32, + core_subsidy_halving_interval: u32, + platform_version: &PlatformVersion, +) -> Result { + match platform_version + .dpp + .methods + .epoch_core_reward_credits_for_distribution + { + 0 => epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height, + to_end_block_core_height_included, + core_subsidy_halving_interval, + ), + version => Err(ProtocolError::UnknownVersionMismatch { + method: "epoch_core_reward_credits_for_distribution".to_string(), + known_versions: vec![0], + received: version, + }), + } +} diff --git a/packages/rs-dpp/src/core_subsidy/epoch_core_reward_credits_for_distribution/v0/mod.rs b/packages/rs-dpp/src/core_subsidy/epoch_core_reward_credits_for_distribution/v0/mod.rs new file mode 100644 index 00000000000..4943e8daddb --- /dev/null +++ b/packages/rs-dpp/src/core_subsidy/epoch_core_reward_credits_for_distribution/v0/mod.rs @@ -0,0 +1,200 @@ +use crate::block::epoch::EpochIndex; +use crate::fee::Credits; + +use crate::core_subsidy::CORE_GENESIS_BLOCK_SUBSIDY; +use crate::ProtocolError; +use lazy_static::lazy_static; +use std::collections::HashMap; + +lazy_static! { + /// The Core reward halving distribution table for 100 years + /// Yearly decline of production by ~7.1% per year, projected ~18M coins max by year 2050+. + pub static ref CORE_HALVING_DISTRIBUTION: HashMap = { + let mut distribution = CORE_GENESIS_BLOCK_SUBSIDY; + (0..200).map(|i| { + let old_distribution = distribution; + distribution -= distribution / 14; + (i, old_distribution) + }).collect() + }; +} + +/// Gets the amount of core reward fees to be distributed for the Epoch. +pub(super) fn epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height: u32, + to_end_block_core_height_included: u32, + core_subsidy_halving_interval: u32, +) -> Result { + if from_start_block_core_height > to_end_block_core_height_included { + return Ok(0); + } + // Core is halving block rewards every year so we need to pay + // core block rewards according to halving ratio for the all years during + // the platform epoch payout period (unpaid epoch) + + // In Core there is an off by 1 compared to what we would expect, for if the halving interval is 1000 + // We would see a new reward year on block 1001. + + let previous_from_start_block_core_height = from_start_block_core_height.saturating_sub(1); + + let previous_to_end_block_core_height = to_end_block_core_height_included.saturating_sub(1); + + // Calculate start and end years for the platform epoch payout period + // according to start and end core block heights + + // 1000 would be on core year 0, as we would have 1000 - 1/1000 => 0, this is correct + let start_core_reward_year = + (previous_from_start_block_core_height / core_subsidy_halving_interval) as EpochIndex; + // 2000 would be on core year 1, as we would have 2000 - 1/1000 => 1, this is correct + let end_core_reward_year = + (previous_to_end_block_core_height / core_subsidy_halving_interval) as EpochIndex; + + let mut total_core_rewards = 0; + + // Calculate block rewards for each core reward year during the platform epoch payout period + for core_reward_epoch in start_core_reward_year..=end_core_reward_year { + // Calculate the block count per core reward year + + // If we are on the end core reward year + // We use the previous_from_start_block_core_height + // For example if we are calculating 2000 to 2001 + // We should have one block on start core year and one block on end core year + let core_reward_year_start_block = if core_reward_epoch == start_core_reward_year { + previous_from_start_block_core_height + } else { + core_reward_epoch as u32 * core_subsidy_halving_interval + }; + + let core_reward_year_end_block = if core_reward_epoch == end_core_reward_year { + to_end_block_core_height_included + } else { + (core_reward_epoch + 1) as u32 * core_subsidy_halving_interval + }; + + let block_count = core_reward_year_end_block - core_reward_year_start_block; + + // Fetch the core block distribution for the corresponding epoch from the distribution table + // Default to 0 if the core reward year is more than 100 years in the future + let core_block_distribution_ratio = CORE_HALVING_DISTRIBUTION + .get(&core_reward_epoch) + .ok_or(ProtocolError::NotSupported(format!( + "having distribution not supported for core reward epoch {}", + core_reward_epoch + )))?; + + // Calculate the core rewards for this epoch and add to the total + total_core_rewards += block_count as Credits * *core_block_distribution_ratio; + } + + Ok(total_core_rewards) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_epoch_core_reward_credits_for_distribution_simple_case_at_first_core_epoch() { + let core_subsidy_halving_interval = 150; + let from_start_block_core_height = 1; + let to_end_block_core_height_included = 150; + let expected_reward = CORE_GENESIS_BLOCK_SUBSIDY * 150; // Since all blocks are in the first epoch + + let result = epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height, + to_end_block_core_height_included, + core_subsidy_halving_interval, + ) + .unwrap(); + + assert_eq!(result, expected_reward); + } + + #[test] + fn test_epoch_core_reward_credits_for_distribution_simple_case_at_eighth_core_epoch() { + let core_subsidy_halving_interval = 150; + let from_start_block_core_height = 1201; + let to_end_block_core_height_included = 1350; + let expected_reward = CORE_HALVING_DISTRIBUTION[&8] * 150; // 1200 / 150 = 8 + + let result = epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height, + to_end_block_core_height_included, + core_subsidy_halving_interval, + ) + .unwrap(); + + assert_eq!(result, expected_reward); + } + + #[test] + fn test_epoch_core_reward_credits_for_distribution_across_two_epochs() { + let core_subsidy_halving_interval = 150; + let from_start_block_core_height = 149; + let to_end_block_core_height_included = 151; + let halved_subsidy = CORE_GENESIS_BLOCK_SUBSIDY - CORE_GENESIS_BLOCK_SUBSIDY / 14; + let expected_reward = (CORE_GENESIS_BLOCK_SUBSIDY * 2) + halved_subsidy; + + let result = epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height, + to_end_block_core_height_included, + core_subsidy_halving_interval, + ) + .unwrap(); + + assert_eq!(result, expected_reward); + } + + #[test] + fn test_epoch_core_reward_credits_for_distribution_across_three_epochs() { + let core_subsidy_halving_interval = 150; + let from_start_block_core_height = 149; + let to_end_block_core_height_included = 301; + let halved_subsidy = CORE_GENESIS_BLOCK_SUBSIDY - CORE_GENESIS_BLOCK_SUBSIDY / 14; + let next_halved_subsidy = halved_subsidy - halved_subsidy / 14; + let expected_reward = + (CORE_GENESIS_BLOCK_SUBSIDY * 2) + halved_subsidy * 150 + next_halved_subsidy; + + let result = epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height, + to_end_block_core_height_included, + core_subsidy_halving_interval, + ) + .unwrap(); + + assert_eq!(result, expected_reward); + } + + #[test] + fn test_epoch_core_reward_credits_for_distribution_inner_epoch() { + let core_subsidy_halving_interval = 150; + let from_start_block_core_height = 1303; + let to_end_block_core_height_included = 1305; + let expected_reward = CORE_HALVING_DISTRIBUTION[&8] * 3; // 1200 / 150 = 8 + + let result = epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height, + to_end_block_core_height_included, + core_subsidy_halving_interval, + ) + .unwrap(); + + assert_eq!(result, expected_reward); + } + + #[test] + fn test_epoch_core_reward_credits_for_distribution_long_test() { + let core_subsidy_halving_interval = 150; + let from_start_block_core_height = 1320; + let to_end_block_core_height_included = 1320; + + let result = epoch_core_reward_credits_for_distribution_v0( + from_start_block_core_height, + to_end_block_core_height_included, + core_subsidy_halving_interval, + ) + .unwrap(); + + assert_eq!(result, 62183484655); + } +} diff --git a/packages/rs-dpp/src/core_subsidy/mod.rs b/packages/rs-dpp/src/core_subsidy/mod.rs new file mode 100644 index 00000000000..10370ae1347 --- /dev/null +++ b/packages/rs-dpp/src/core_subsidy/mod.rs @@ -0,0 +1,26 @@ +pub mod epoch_core_reward_credits_for_distribution; + +use crate::fee::Credits; +use dashcore::Network; + +/// ORIGINAL CORE BLOCK DISTRIBUTION +/// STARTS AT 5 Dash +/// Take 60% for Masternodes +/// Take 37.5% of that for Platform +const CORE_GENESIS_BLOCK_SUBSIDY: Credits = 112500000000; + +pub trait NetworkCoreSubsidy { + fn core_subsidy_halving_interval(&self) -> u32; +} + +impl NetworkCoreSubsidy for Network { + fn core_subsidy_halving_interval(&self) -> u32 { + match self { + Network::Dash => 210240, + Network::Testnet => 210240, + Network::Devnet => 210240, + Network::Regtest => 150, + _ => 210240, + } + } +} diff --git a/packages/rs-dpp/src/core_types/mod.rs b/packages/rs-dpp/src/core_types/mod.rs new file mode 100644 index 00000000000..10572cdf0f6 --- /dev/null +++ b/packages/rs-dpp/src/core_types/mod.rs @@ -0,0 +1,2 @@ +pub mod validator; +pub mod validator_set; diff --git a/packages/rs-dpp/src/core_types/validator/mod.rs b/packages/rs-dpp/src/core_types/validator/mod.rs new file mode 100644 index 00000000000..2261bac56fa --- /dev/null +++ b/packages/rs-dpp/src/core_types/validator/mod.rs @@ -0,0 +1,119 @@ +use crate::bls_signatures::PublicKey as BlsPublicKey; +use crate::core_types::validator::v0::{ValidatorV0, ValidatorV0Getters, ValidatorV0Setters}; +use dashcore::{ProTxHash, PubkeyHash}; +#[cfg(feature = "core-types-serde-conversion")] +use serde::{Deserialize, Serialize}; + +/// Version 0 +pub mod v0; + +/// A validator in the context of a quorum +#[derive(Clone, Debug, Eq, PartialEq)] +#[cfg_attr( + feature = "core-types-serde-conversion", + derive(Serialize, Deserialize) +)] +pub enum Validator { + /// Version 0 + V0(ValidatorV0), +} + +impl ValidatorV0Getters for Validator { + fn pro_tx_hash(&self) -> &ProTxHash { + match self { + Validator::V0(v0) => v0.pro_tx_hash(), + } + } + + fn public_key(&self) -> &Option { + match self { + Validator::V0(v0) => v0.public_key(), + } + } + + fn node_ip(&self) -> &String { + match self { + Validator::V0(v0) => v0.node_ip(), + } + } + + fn node_id(&self) -> &PubkeyHash { + match self { + Validator::V0(v0) => v0.node_id(), + } + } + + fn core_port(&self) -> u16 { + match self { + Validator::V0(v0) => v0.core_port(), + } + } + + fn platform_http_port(&self) -> u16 { + match self { + Validator::V0(v0) => v0.platform_http_port(), + } + } + + fn platform_p2p_port(&self) -> u16 { + match self { + Validator::V0(v0) => v0.platform_p2p_port(), + } + } + + fn is_banned(&self) -> bool { + match self { + Validator::V0(v0) => v0.is_banned(), + } + } +} + +impl ValidatorV0Setters for Validator { + fn set_pro_tx_hash(&mut self, pro_tx_hash: ProTxHash) { + match self { + Validator::V0(v0) => v0.set_pro_tx_hash(pro_tx_hash), + } + } + + fn set_public_key(&mut self, public_key: Option) { + match self { + Validator::V0(v0) => v0.set_public_key(public_key), + } + } + + fn set_node_ip(&mut self, node_ip: String) { + match self { + Validator::V0(v0) => v0.set_node_ip(node_ip), + } + } + + fn set_node_id(&mut self, node_id: PubkeyHash) { + match self { + Validator::V0(v0) => v0.set_node_id(node_id), + } + } + + fn set_core_port(&mut self, core_port: u16) { + match self { + Validator::V0(v0) => v0.set_core_port(core_port), + } + } + + fn set_platform_http_port(&mut self, platform_http_port: u16) { + match self { + Validator::V0(v0) => v0.set_platform_http_port(platform_http_port), + } + } + + fn set_platform_p2p_port(&mut self, platform_p2p_port: u16) { + match self { + Validator::V0(v0) => v0.set_platform_p2p_port(platform_p2p_port), + } + } + + fn set_is_banned(&mut self, is_banned: bool) { + match self { + Validator::V0(v0) => v0.set_is_banned(is_banned), + } + } +} diff --git a/packages/rs-dpp/src/core_types/validator/v0/mod.rs b/packages/rs-dpp/src/core_types/validator/v0/mod.rs new file mode 100644 index 00000000000..daadc197fe8 --- /dev/null +++ b/packages/rs-dpp/src/core_types/validator/v0/mod.rs @@ -0,0 +1,252 @@ +use dashcore::{ProTxHash, PubkeyHash}; +use std::fmt::{Debug, Formatter}; + +use crate::bls_signatures::PublicKey as BlsPublicKey; +#[cfg(feature = "core-types-serde-conversion")] +use serde::{Deserialize, Serialize}; + +#[cfg(feature = "core-types-serialization")] +use bincode::de::Decoder; +#[cfg(feature = "core-types-serialization")] +use bincode::enc::Encoder; +#[cfg(feature = "core-types-serialization")] +use bincode::error::{DecodeError, EncodeError}; +#[cfg(feature = "core-types-serialization")] +use bincode::{Decode, Encode}; +#[cfg(feature = "core-types-serialization")] +use dashcore::hashes::Hash; + +/// A validator in the context of a quorum +#[derive(Clone, Eq, PartialEq)] +#[cfg_attr( + feature = "core-types-serde-conversion", + derive(Serialize, Deserialize) +)] +pub struct ValidatorV0 { + /// The proTxHash + pub pro_tx_hash: ProTxHash, + /// The public key share of this validator for this quorum + pub public_key: Option, + /// The node address + pub node_ip: String, + /// The node id + pub node_id: PubkeyHash, + /// Core port + pub core_port: u16, + /// Http port + pub platform_http_port: u16, + /// Tenderdash port + pub platform_p2p_port: u16, + /// Is the validator banned + pub is_banned: bool, +} + +#[cfg(feature = "core-types-serialization")] +impl Encode for ValidatorV0 { + fn encode(&self, encoder: &mut E) -> Result<(), EncodeError> { + // Encode each field in the order they appear in the struct + + // Encode ProTxHash + self.pro_tx_hash.to_byte_array().to_vec().encode(encoder)?; + + // Encode Option + match &self.public_key { + Some(public_key) => { + true.encode(encoder)?; // Indicate that public_key is present + public_key.to_bytes().encode(encoder)?; + } + None => { + false.encode(encoder)?; // Indicate that public_key is not present + } + } + + // Encode node_ip as a string + self.node_ip.encode(encoder)?; + + // Encode node_id + self.node_id.to_byte_array().to_vec().encode(encoder)?; + + // Encode core_port, platform_http_port, and platform_p2p_port as u16 + self.core_port.encode(encoder)?; + self.platform_http_port.encode(encoder)?; + self.platform_p2p_port.encode(encoder)?; + + // Encode is_banned as a boolean + self.is_banned.encode(encoder)?; + + Ok(()) + } +} + +#[cfg(feature = "core-types-serialization")] +impl Decode for ValidatorV0 { + fn decode(decoder: &mut D) -> Result { + // Decode each field in the same order as they were encoded + + // Decode ProTxHash + let pro_tx_hash_bytes = Vec::::decode(decoder)?; + let pro_tx_hash = ProTxHash::from_slice(&pro_tx_hash_bytes) + .map_err(|_| DecodeError::OtherString("Failed to decode ProTxHash".to_string()))?; + + // Decode Option + let has_public_key = bool::decode(decoder)?; + let public_key = if has_public_key { + let public_key_bytes = Vec::::decode(decoder)?; + Some(BlsPublicKey::from_bytes(&public_key_bytes).map_err(|_| { + DecodeError::OtherString("Failed to decode BlsPublicKey".to_string()) + })?) + } else { + None + }; + + // Decode node_ip as a string + let node_ip = String::decode(decoder)?; + + // Decode node_id + let node_id_bytes = Vec::::decode(decoder)?; + let node_id = PubkeyHash::from_slice(&node_id_bytes) + .map_err(|_| DecodeError::OtherString("Failed to decode NodeId".to_string()))?; + + // Decode core_port, platform_http_port, and platform_p2p_port as u16 + let core_port = u16::decode(decoder)?; + let platform_http_port = u16::decode(decoder)?; + let platform_p2p_port = u16::decode(decoder)?; + + // Decode is_banned as a boolean + let is_banned = bool::decode(decoder)?; + + Ok(ValidatorV0 { + pro_tx_hash, + public_key, + node_ip, + node_id, + core_port, + platform_http_port, + platform_p2p_port, + is_banned, + }) + } +} + +impl Debug for ValidatorV0 { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + f.debug_struct("ValidatorV0") + .field("pro_tx_hash", &self.pro_tx_hash.to_string()) + .field("public_key", &self.public_key) + .field("node_ip", &self.node_ip) + .field("node_id", &self.node_id) + .field("core_port", &self.core_port) + .field("platform_http_port", &self.platform_http_port) + .field("platform_p2p_port", &self.platform_p2p_port) + .field("is_banned", &self.is_banned) + .finish() + } +} + +/// Traits to get properties of a validator. +pub trait ValidatorV0Getters { + /// Returns the proTxHash of the validator. + fn pro_tx_hash(&self) -> &ProTxHash; + /// Returns the public key share of this validator for this quorum. + fn public_key(&self) -> &Option; + /// Returns the node address of the validator. + fn node_ip(&self) -> &String; + /// Returns the node id of the validator. + fn node_id(&self) -> &PubkeyHash; + /// Returns the core port of the validator. + fn core_port(&self) -> u16; + /// Returns the Http port of the validator. + fn platform_http_port(&self) -> u16; + /// Returns the Tenderdash port of the validator. + fn platform_p2p_port(&self) -> u16; + /// Returns the status of the validator whether it's banned or not. + fn is_banned(&self) -> bool; +} + +/// Traits to set properties of a validator. +pub trait ValidatorV0Setters { + /// Sets the proTxHash of the validator. + fn set_pro_tx_hash(&mut self, pro_tx_hash: ProTxHash); + /// Sets the public key share of this validator for this quorum. + fn set_public_key(&mut self, public_key: Option); + /// Sets the node address of the validator. + fn set_node_ip(&mut self, node_ip: String); + /// Sets the node id of the validator. + fn set_node_id(&mut self, node_id: PubkeyHash); + /// Sets the core port of the validator. + fn set_core_port(&mut self, core_port: u16); + /// Sets the Http port of the validator. + fn set_platform_http_port(&mut self, platform_http_port: u16); + /// Sets the Tenderdash port of the validator. + fn set_platform_p2p_port(&mut self, platform_p2p_port: u16); + /// Sets the status of the validator whether it's banned or not. + fn set_is_banned(&mut self, is_banned: bool); +} + +impl ValidatorV0Getters for ValidatorV0 { + fn pro_tx_hash(&self) -> &ProTxHash { + &self.pro_tx_hash + } + + fn public_key(&self) -> &Option { + &self.public_key + } + + fn node_ip(&self) -> &String { + &self.node_ip + } + + fn node_id(&self) -> &PubkeyHash { + &self.node_id + } + + fn core_port(&self) -> u16 { + self.core_port + } + + fn platform_http_port(&self) -> u16 { + self.platform_http_port + } + + fn platform_p2p_port(&self) -> u16 { + self.platform_p2p_port + } + + fn is_banned(&self) -> bool { + self.is_banned + } +} + +impl ValidatorV0Setters for ValidatorV0 { + fn set_pro_tx_hash(&mut self, pro_tx_hash: ProTxHash) { + self.pro_tx_hash = pro_tx_hash; + } + + fn set_public_key(&mut self, public_key: Option) { + self.public_key = public_key; + } + + fn set_node_ip(&mut self, node_ip: String) { + self.node_ip = node_ip; + } + + fn set_node_id(&mut self, node_id: PubkeyHash) { + self.node_id = node_id; + } + + fn set_core_port(&mut self, core_port: u16) { + self.core_port = core_port; + } + + fn set_platform_http_port(&mut self, platform_http_port: u16) { + self.platform_http_port = platform_http_port; + } + + fn set_platform_p2p_port(&mut self, platform_p2p_port: u16) { + self.platform_p2p_port = platform_p2p_port; + } + + fn set_is_banned(&mut self, is_banned: bool) { + self.is_banned = is_banned; + } +} diff --git a/packages/rs-dpp/src/core_types/validator_set/mod.rs b/packages/rs-dpp/src/core_types/validator_set/mod.rs new file mode 100644 index 00000000000..7238bc0b1b6 --- /dev/null +++ b/packages/rs-dpp/src/core_types/validator_set/mod.rs @@ -0,0 +1,111 @@ +use crate::bls_signatures::PublicKey as BlsPublicKey; +use crate::core_types::validator::v0::ValidatorV0; +use crate::core_types::validator_set::v0::{ + ValidatorSetV0, ValidatorSetV0Getters, ValidatorSetV0Setters, +}; +#[cfg(feature = "core-types-serialization")] +use crate::ProtocolError; +#[cfg(feature = "core-types-serialization")] +use bincode::{Decode, Encode}; +use dashcore::{ProTxHash, QuorumHash}; +#[cfg(feature = "core-types-serialization")] +use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; +#[cfg(feature = "core-types-serde-conversion")] +use serde::{Deserialize, Serialize}; +use std::collections::BTreeMap; + +/// Version 0 +pub mod v0; + +/// The validator set is only slightly different from a quorum as it does not contain non valid +/// members +#[derive(Clone, Debug, Eq, PartialEq)] +#[cfg_attr( + feature = "core-types-serde-conversion", + derive(Serialize, Deserialize) +)] +#[cfg_attr( + feature = "core-types-serialization", + derive(Encode, Decode, PlatformDeserialize, PlatformSerialize), + platform_serialize(limit = 15000, unversioned) +)] +pub enum ValidatorSet { + /// Version 0 + V0(ValidatorSetV0), +} + +impl ValidatorSetV0Getters for ValidatorSet { + fn quorum_hash(&self) -> &QuorumHash { + match self { + ValidatorSet::V0(v0) => v0.quorum_hash(), + } + } + + fn quorum_index(&self) -> Option { + match self { + ValidatorSet::V0(v0) => v0.quorum_index(), + } + } + + fn core_height(&self) -> u32 { + match self { + ValidatorSet::V0(v0) => v0.core_height(), + } + } + + fn members(&self) -> &BTreeMap { + match self { + ValidatorSet::V0(v0) => v0.members(), + } + } + + fn members_mut(&mut self) -> &mut BTreeMap { + match self { + ValidatorSet::V0(v0) => v0.members_mut(), + } + } + + fn members_owned(self) -> BTreeMap { + match self { + ValidatorSet::V0(v0) => v0.members_owned(), + } + } + + fn threshold_public_key(&self) -> &BlsPublicKey { + match self { + ValidatorSet::V0(v0) => v0.threshold_public_key(), + } + } +} + +impl ValidatorSetV0Setters for ValidatorSet { + fn set_quorum_hash(&mut self, quorum_hash: QuorumHash) { + match self { + ValidatorSet::V0(v0) => v0.set_quorum_hash(quorum_hash), + } + } + + fn set_quorum_index(&mut self, index: Option) { + match self { + ValidatorSet::V0(v0) => v0.set_quorum_index(index), + } + } + + fn set_core_height(&mut self, core_height: u32) { + match self { + ValidatorSet::V0(v0) => v0.set_core_height(core_height), + } + } + + fn set_members(&mut self, members: BTreeMap) { + match self { + ValidatorSet::V0(v0) => v0.set_members(members), + } + } + + fn set_threshold_public_key(&mut self, threshold_public_key: BlsPublicKey) { + match self { + ValidatorSet::V0(v0) => v0.set_threshold_public_key(threshold_public_key), + } + } +} diff --git a/packages/rs-dpp/src/core_types/validator_set/v0/mod.rs b/packages/rs-dpp/src/core_types/validator_set/v0/mod.rs new file mode 100644 index 00000000000..886489ee3b6 --- /dev/null +++ b/packages/rs-dpp/src/core_types/validator_set/v0/mod.rs @@ -0,0 +1,249 @@ +use crate::bls_signatures::PublicKey as BlsPublicKey; +use crate::core_types::validator::v0::ValidatorV0; +#[cfg(feature = "core-types-serialization")] +use bincode::de::Decoder; +#[cfg(feature = "core-types-serialization")] +use bincode::enc::Encoder; +#[cfg(feature = "core-types-serialization")] +use bincode::error::EncodeError; +#[cfg(feature = "core-types-serialization")] +use bincode::{BorrowDecode, Decode, Encode}; +use dashcore::hashes::Hash; +use dashcore::{ProTxHash, QuorumHash}; +#[cfg(feature = "core-types-serde-conversion")] +use serde::{Deserialize, Serialize}; +use std::collections::BTreeMap; +use std::fmt::{Debug, Formatter}; + +/// The validator set is only slightly different from a quorum as it does not contain non valid +/// members +#[derive(Clone, Eq, PartialEq)] +#[cfg_attr( + feature = "core-types-serde-conversion", + derive(Serialize, Deserialize) +)] +pub struct ValidatorSetV0 { + /// The quorum hash + pub quorum_hash: QuorumHash, + /// Rotation quorum index is available only for DIP24 quorums + pub quorum_index: Option, + /// Active height + pub core_height: u32, + /// The list of masternodes + pub members: BTreeMap, + /// The threshold quorum public key + pub threshold_public_key: BlsPublicKey, +} + +#[cfg(feature = "core-types-serialization")] +impl Encode for ValidatorSetV0 { + fn encode(&self, encoder: &mut E) -> Result<(), EncodeError> { + // Encode each field in the order they appear in the struct + let quorum_hash_bytes = self.quorum_hash.as_byte_array().to_vec(); + quorum_hash_bytes.encode(encoder)?; + self.quorum_index.encode(encoder)?; + self.core_height.encode(encoder)?; + + // Convert BTreeMap to Vec<(Vec, ValidatorV0)> and encode it + let members_as_vec: Vec<(Vec, ValidatorV0)> = self + .members + .iter() + .map(|(key, value)| (key.as_byte_array().to_vec(), value.clone())) + .collect(); + members_as_vec.encode(encoder)?; + + // Custom encoding for BlsPublicKey if needed + // Assuming BlsPublicKey can be serialized to a byte slice + let public_key_bytes = self.threshold_public_key.to_bytes(); + public_key_bytes.encode(encoder)?; + + Ok(()) + } +} + +#[cfg(feature = "core-types-serialization")] +impl Decode for ValidatorSetV0 { + fn decode(decoder: &mut D) -> Result { + // Decode each field in the same order as they were encoded + let quorum_hash = Vec::::decode(decoder)?; + let quorum_index = Option::::decode(decoder)?; + let core_height = u32::decode(decoder)?; + + // Decode Vec<(Vec, ValidatorV0)> and convert it back to BTreeMap + let members_as_vec = Vec::<(Vec, ValidatorV0)>::decode(decoder)?; + let members: BTreeMap = members_as_vec + .into_iter() + .map(|(key_bytes, value)| { + let key = ProTxHash::from_slice(&key_bytes).map_err(|_| { + bincode::error::DecodeError::OtherString( + "Failed to decode ProTxHash".to_string(), + ) + })?; + Ok((key, value)) + }) + .collect::>()?; + + // Custom decoding for BlsPublicKey if needed + // Assuming BlsPublicKey can be deserialized from a byte slice + let public_key_bytes = Vec::::decode(decoder)?; + let threshold_public_key = BlsPublicKey::from_bytes(&public_key_bytes).map_err(|_| { + bincode::error::DecodeError::OtherString("Failed to decode BlsPublicKey".to_string()) + })?; + + Ok(ValidatorSetV0 { + quorum_hash: QuorumHash::from_slice(&quorum_hash).map_err(|_| { + bincode::error::DecodeError::OtherString("Failed to decode QuorumHash".to_string()) + })?, + quorum_index, + core_height, + members, + threshold_public_key, + }) + } +} + +#[cfg(feature = "core-types-serialization")] +impl<'de> BorrowDecode<'de> for ValidatorSetV0 { + fn borrow_decode(decoder: &mut D) -> Result { + // Decode each field in the same order as they were encoded + + // Decode quorum_hash as Vec + let quorum_hash = Vec::::decode(decoder)?; + // Decode quorum_index as Option + let quorum_index = Option::::decode(decoder)?; + // Decode core_height as u32 + let core_height = u32::decode(decoder)?; + + // Decode Vec<(Vec, ValidatorV0)> and convert it back to BTreeMap + let members_as_vec = Vec::<(Vec, ValidatorV0)>::decode(decoder)?; + let members: BTreeMap = members_as_vec + .into_iter() + .map(|(key_bytes, value)| { + let key = ProTxHash::from_slice(&key_bytes).map_err(|_| { + bincode::error::DecodeError::OtherString( + "Failed to decode ProTxHash".to_string(), + ) + })?; + Ok((key, value)) + }) + .collect::>()?; + + // Custom decoding for BlsPublicKey if needed + let public_key_bytes = Vec::::decode(decoder)?; + let threshold_public_key = BlsPublicKey::from_bytes(&public_key_bytes).map_err(|_| { + bincode::error::DecodeError::OtherString("Failed to decode BlsPublicKey".to_string()) + })?; + + Ok(ValidatorSetV0 { + quorum_hash: QuorumHash::from_slice(&quorum_hash).map_err(|_| { + bincode::error::DecodeError::OtherString("Failed to decode QuorumHash".to_string()) + })?, + quorum_index, + core_height, + members, + threshold_public_key, + }) + } +} + +impl Debug for ValidatorSetV0 { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + f.debug_struct("ValidatorSetV0") + .field("quorum_hash", &self.quorum_hash.to_string()) + .field("core_height", &self.core_height) + .field( + "members", + &self + .members + .iter() + .map(|(k, v)| (k.to_string(), v)) + .collect::>(), + ) + .field("threshold_public_key", &self.threshold_public_key) + .finish() + } +} + +/// Trait providing getter methods for `ValidatorSetV0` struct +pub trait ValidatorSetV0Getters { + /// Returns the quorum hash of the validator set. + fn quorum_hash(&self) -> &QuorumHash; + /// Returns rotation quorum index. It's available only for DIP24 quorums + fn quorum_index(&self) -> Option; + /// Returns the active height of the validator set. + fn core_height(&self) -> u32; + /// Returns the members of the validator set. + fn members(&self) -> &BTreeMap; + /// Returns the members of the validator set. + fn members_mut(&mut self) -> &mut BTreeMap; + /// Returns the members of the validator set. + fn members_owned(self) -> BTreeMap; + /// Returns the threshold public key of the validator set. + fn threshold_public_key(&self) -> &BlsPublicKey; +} + +/// Trait providing setter methods for `ValidatorSetV0` struct +pub trait ValidatorSetV0Setters { + /// Sets the quorum hash of the validator set. + fn set_quorum_hash(&mut self, quorum_hash: QuorumHash); + /// Sets the quorum index of the validator set. + fn set_quorum_index(&mut self, index: Option); + /// Sets the active height of the validator set. + fn set_core_height(&mut self, core_height: u32); + /// Sets the members of the validator set. + fn set_members(&mut self, members: BTreeMap); + /// Sets the threshold public key of the validator set. + fn set_threshold_public_key(&mut self, threshold_public_key: BlsPublicKey); +} + +impl ValidatorSetV0Getters for ValidatorSetV0 { + fn quorum_hash(&self) -> &QuorumHash { + &self.quorum_hash + } + + fn quorum_index(&self) -> Option { + self.quorum_index + } + + fn core_height(&self) -> u32 { + self.core_height + } + + fn members(&self) -> &BTreeMap { + &self.members + } + + fn members_mut(&mut self) -> &mut BTreeMap { + &mut self.members + } + + fn members_owned(self) -> BTreeMap { + self.members + } + + fn threshold_public_key(&self) -> &BlsPublicKey { + &self.threshold_public_key + } +} + +impl ValidatorSetV0Setters for ValidatorSetV0 { + fn set_quorum_hash(&mut self, quorum_hash: QuorumHash) { + self.quorum_hash = quorum_hash; + } + + fn set_quorum_index(&mut self, index: Option) { + self.quorum_index = index; + } + + fn set_core_height(&mut self, core_height: u32) { + self.core_height = core_height; + } + + fn set_members(&mut self, members: BTreeMap) { + self.members = members; + } + + fn set_threshold_public_key(&mut self, threshold_public_key: BlsPublicKey) { + self.threshold_public_key = threshold_public_key; + } +} diff --git a/packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v0/mod.rs b/packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v0/mod.rs index 82019a53e77..57b3bffb37f 100644 --- a/packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v0/mod.rs +++ b/packages/rs-dpp/src/data_contract/document_type/class_methods/try_from_schema/v0/mod.rs @@ -76,7 +76,7 @@ const MAX_INDEXED_ARRAY_ITEMS: usize = 1024; impl DocumentTypeV0 { // TODO: Split into multiple functions #[allow(unused_variables)] - pub(crate) fn try_from_schema_v0( + pub(super) fn try_from_schema_v0( data_contract_id: Identifier, name: &str, schema: Value, diff --git a/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs b/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs index e2f2f25012e..ea33077b76b 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs @@ -23,14 +23,15 @@ use crate::consensus::basic::decode::{ ProtocolVersionParsingError, SerializedObjectParsingError, VersionError, }; use crate::consensus::basic::document::{ - DataContractNotPresentError, DocumentCreationNotAllowedError, - DocumentFieldMaxSizeExceededError, DocumentTransitionsAreAbsentError, - DuplicateDocumentTransitionsWithIdsError, DuplicateDocumentTransitionsWithIndicesError, - InconsistentCompoundIndexDataError, InvalidDocumentTransitionActionError, - InvalidDocumentTransitionIdError, InvalidDocumentTypeError, - MaxDocumentsTransitionsExceededError, MissingDataContractIdBasicError, - MissingDocumentTransitionActionError, MissingDocumentTransitionTypeError, - MissingDocumentTypeError, MissingPositionsInDocumentTypePropertiesError, NonceOutOfBoundsError, + ContestedDocumentsTemporarilyNotAllowedError, DataContractNotPresentError, + DocumentCreationNotAllowedError, DocumentFieldMaxSizeExceededError, + DocumentTransitionsAreAbsentError, DuplicateDocumentTransitionsWithIdsError, + DuplicateDocumentTransitionsWithIndicesError, InconsistentCompoundIndexDataError, + InvalidDocumentTransitionActionError, InvalidDocumentTransitionIdError, + InvalidDocumentTypeError, MaxDocumentsTransitionsExceededError, + MissingDataContractIdBasicError, MissingDocumentTransitionActionError, + MissingDocumentTransitionTypeError, MissingDocumentTypeError, + MissingPositionsInDocumentTypePropertiesError, NonceOutOfBoundsError, }; use crate::consensus::basic::identity::{ DataContractBoundsNotPresentError, DisablingKeyIdAlsoBeingAddedInSameTransitionError, @@ -393,6 +394,9 @@ pub enum BasicError { #[error(transparent)] UnsupportedFeatureError(UnsupportedFeatureError), + + #[error(transparent)] + ContestedDocumentsTemporarilyNotAllowedError(ContestedDocumentsTemporarilyNotAllowedError), } impl From for ConsensusError { diff --git a/packages/rs-dpp/src/errors/consensus/basic/document/contested_documents_temporarily_not_allowed_error.rs b/packages/rs-dpp/src/errors/consensus/basic/document/contested_documents_temporarily_not_allowed_error.rs new file mode 100644 index 00000000000..55e01ad27a2 --- /dev/null +++ b/packages/rs-dpp/src/errors/consensus/basic/document/contested_documents_temporarily_not_allowed_error.rs @@ -0,0 +1,42 @@ +use crate::consensus::basic::BasicError; +use crate::consensus::ConsensusError; +use crate::errors::ProtocolError; +use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; +use thiserror::Error; + +use crate::block::epoch::EpochIndex; +use bincode::{Decode, Encode}; + +#[derive( + Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, +)] +#[error( + "Contested documents are not allowed until epoch {target_epoch}. Current epoch is {current_epoch}" +)] +#[platform_serialize(unversioned)] +pub struct ContestedDocumentsTemporarilyNotAllowedError { + /* + + DO NOT CHANGE ORDER OF FIELDS WITHOUT INTRODUCING OF NEW VERSION + + */ + current_epoch: EpochIndex, + target_epoch: EpochIndex, +} + +impl ContestedDocumentsTemporarilyNotAllowedError { + pub fn new(current_epoch: EpochIndex, target_epoch: EpochIndex) -> Self { + Self { + current_epoch, + target_epoch, + } + } +} + +impl From for ConsensusError { + fn from(err: ContestedDocumentsTemporarilyNotAllowedError) -> Self { + Self::BasicError(BasicError::ContestedDocumentsTemporarilyNotAllowedError( + err, + )) + } +} diff --git a/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs b/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs index 2297cea2092..f40fc9c3044 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs @@ -1,3 +1,4 @@ +mod contested_documents_temporarily_not_allowed_error; mod data_contract_not_present_error; mod document_creation_not_allowed_error; mod document_field_max_size_exceeded_error; @@ -16,6 +17,7 @@ mod missing_document_transition_type_error; mod missing_document_type_error; mod missing_positions_in_document_type_properties_error; +pub use contested_documents_temporarily_not_allowed_error::*; pub use data_contract_not_present_error::*; pub use document_creation_not_allowed_error::*; pub use document_field_max_size_exceeded_error::*; diff --git a/packages/rs-dpp/src/errors/consensus/codes.rs b/packages/rs-dpp/src/errors/consensus/codes.rs index 2d6cd6ddadb..ca00dc1c2b9 100644 --- a/packages/rs-dpp/src/errors/consensus/codes.rs +++ b/packages/rs-dpp/src/errors/consensus/codes.rs @@ -118,6 +118,7 @@ impl ErrorWithCode for BasicError { Self::InvalidDocumentTypeNameError(_) => 10415, Self::DocumentCreationNotAllowedError(_) => 10416, Self::DocumentFieldMaxSizeExceededError(_) => 10417, + Self::ContestedDocumentsTemporarilyNotAllowedError(_) => 10418, // Identity Errors: 10500-10599 Self::DuplicatedIdentityPublicKeyBasicError(_) => 10500, @@ -213,6 +214,7 @@ impl ErrorWithCode for StateError { Self::DocumentContestCurrentlyLockedError(_) => 40110, Self::DocumentContestNotJoinableError(_) => 40111, Self::DocumentContestIdentityAlreadyContestantError(_) => 40112, + Self::DocumentContestDocumentWithSameIdAlreadyPresentError(_) => 40113, // Identity Errors: 40200-40299 Self::IdentityAlreadyExistsError(_) => 40200, @@ -229,6 +231,8 @@ impl ErrorWithCode for StateError { Self::IdentityPublicKeyAlreadyExistsForUniqueContractBoundsError(_) => 40211, Self::DocumentTypeUpdateError(_) => 40212, Self::DataContractUpdatePermissionError(_) => 40213, + Self::MissingTransferKeyError(_) => 40214, + Self::NoTransferKeyForCoreWithdrawalAvailableError(_) => 40215, // Voting Errors: 40300-40399 Self::MasternodeNotFoundError(_) => 40300, diff --git a/packages/rs-dpp/src/errors/consensus/signature/invalid_signature_public_key_purpose_error.rs b/packages/rs-dpp/src/errors/consensus/signature/invalid_signature_public_key_purpose_error.rs index 55a05964394..1477f7b1d9d 100644 --- a/packages/rs-dpp/src/errors/consensus/signature/invalid_signature_public_key_purpose_error.rs +++ b/packages/rs-dpp/src/errors/consensus/signature/invalid_signature_public_key_purpose_error.rs @@ -8,11 +8,12 @@ use crate::errors::ProtocolError; use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; use bincode::{Decode, Encode}; +use itertools::Itertools; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Invalid public key purpose {public_key_purpose}. The state transition requires {allowed_key_purpose}")] +#[error("Invalid public key purpose {public_key_purpose}. The state transition requires {}", allowed_key_purposes.iter().map(|s| s.to_string()).join(" | "))] #[platform_serialize(unversioned)] pub struct InvalidSignaturePublicKeyPurposeError { /* @@ -21,22 +22,22 @@ pub struct InvalidSignaturePublicKeyPurposeError { */ public_key_purpose: Purpose, - allowed_key_purpose: Purpose, + allowed_key_purposes: Vec, } impl InvalidSignaturePublicKeyPurposeError { - pub fn new(public_key_purpose: Purpose, allowed_key_purpose: Purpose) -> Self { + pub fn new(public_key_purpose: Purpose, allowed_key_purposes: Vec) -> Self { Self { public_key_purpose, - allowed_key_purpose, + allowed_key_purposes, } } pub fn public_key_purpose(&self) -> Purpose { self.public_key_purpose } - pub fn allowed_key_purpose(&self) -> Purpose { - self.allowed_key_purpose + pub fn allowed_key_purposes(&self) -> &Vec { + &self.allowed_key_purposes } } diff --git a/packages/rs-dpp/src/errors/consensus/signature/wrong_public_key_purpose_error.rs b/packages/rs-dpp/src/errors/consensus/signature/wrong_public_key_purpose_error.rs index 501cf0d64b4..4ea2b0c246c 100644 --- a/packages/rs-dpp/src/errors/consensus/signature/wrong_public_key_purpose_error.rs +++ b/packages/rs-dpp/src/errors/consensus/signature/wrong_public_key_purpose_error.rs @@ -8,11 +8,12 @@ use crate::errors::ProtocolError; use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; use bincode::{Decode, Encode}; +use itertools::Itertools; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Invalid identity key purpose {public_key_purpose}. This state transition requires {key_purpose_requirement}")] +#[error("Invalid identity key purpose {public_key_purpose}. This state transition requires {}", allowed_key_purposes.iter().map(|s| s.to_string()).join(" | "))] #[platform_serialize(unversioned)] pub struct WrongPublicKeyPurposeError { /* @@ -21,22 +22,22 @@ pub struct WrongPublicKeyPurposeError { */ public_key_purpose: Purpose, - key_purpose_requirement: Purpose, + allowed_key_purposes: Vec, } impl WrongPublicKeyPurposeError { - pub fn new(public_key_purpose: Purpose, key_purpose_requirement: Purpose) -> Self { + pub fn new(public_key_purpose: Purpose, allowed_key_purposes: Vec) -> Self { Self { public_key_purpose, - key_purpose_requirement, + allowed_key_purposes, } } pub fn public_key_purpose(&self) -> Purpose { self.public_key_purpose } - pub fn key_purpose_requirement(&self) -> Purpose { - self.key_purpose_requirement + pub fn allowed_key_purposes(&self) -> &Vec { + &self.allowed_key_purposes } } @@ -56,7 +57,7 @@ impl From for Conse Self::SignatureError(SignatureError::WrongPublicKeyPurposeError( WrongPublicKeyPurposeError::new( value.public_key_purpose(), - value.key_purpose_requirement(), + value.allowed_key_purposes().clone(), ), )) } diff --git a/packages/rs-dpp/src/errors/consensus/state/document/document_contest_document_with_same_id_already_present_error.rs b/packages/rs-dpp/src/errors/consensus/state/document/document_contest_document_with_same_id_already_present_error.rs new file mode 100644 index 00000000000..7ddd37b52f3 --- /dev/null +++ b/packages/rs-dpp/src/errors/consensus/state/document/document_contest_document_with_same_id_already_present_error.rs @@ -0,0 +1,37 @@ +use crate::consensus::state::state_error::StateError; +use crate::consensus::ConsensusError; +use crate::errors::ProtocolError; +use bincode::{Decode, Encode}; +use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; +use platform_value::Identifier; +use thiserror::Error; + +#[derive( + Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, +)] +#[error("Document {document_id} is already present in a contest, entropy might be being reused")] +#[platform_serialize(unversioned)] +pub struct DocumentContestDocumentWithSameIdAlreadyPresentError { + /* + + DO NOT CHANGE ORDER OF FIELDS WITHOUT INTRODUCING OF NEW VERSION + + */ + document_id: Identifier, +} + +impl DocumentContestDocumentWithSameIdAlreadyPresentError { + pub fn new(document_id: Identifier) -> Self { + Self { document_id } + } + + pub fn document_id(&self) -> &Identifier { + &self.document_id + } +} + +impl From for ConsensusError { + fn from(err: DocumentContestDocumentWithSameIdAlreadyPresentError) -> Self { + Self::StateError(StateError::DocumentContestDocumentWithSameIdAlreadyPresentError(err)) + } +} diff --git a/packages/rs-dpp/src/errors/consensus/state/document/mod.rs b/packages/rs-dpp/src/errors/consensus/state/document/mod.rs index 9a3071065e4..2a3441fe12c 100644 --- a/packages/rs-dpp/src/errors/consensus/state/document/mod.rs +++ b/packages/rs-dpp/src/errors/consensus/state/document/mod.rs @@ -1,5 +1,6 @@ pub mod document_already_present_error; pub mod document_contest_currently_locked_error; +pub mod document_contest_document_with_same_id_already_present_error; pub mod document_contest_identity_already_contestant; pub mod document_contest_not_joinable_error; pub mod document_incorrect_purchase_price_error; diff --git a/packages/rs-dpp/src/errors/consensus/state/identity/missing_transfer_key_error.rs b/packages/rs-dpp/src/errors/consensus/state/identity/missing_transfer_key_error.rs new file mode 100644 index 00000000000..2f14ccacbce --- /dev/null +++ b/packages/rs-dpp/src/errors/consensus/state/identity/missing_transfer_key_error.rs @@ -0,0 +1,36 @@ +use crate::consensus::state::state_error::StateError; +use crate::consensus::ConsensusError; +use crate::errors::ProtocolError; +use bincode::{Decode, Encode}; +use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; +use platform_value::Identifier; +use thiserror::Error; + +#[derive( + Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, +)] +#[error("Identity {identity_id} does not have a key for transferring funds")] +#[platform_serialize(unversioned)] +pub struct MissingTransferKeyError { + /* + + DO NOT CHANGE ORDER OF FIELDS WITHOUT INTRODUCING OF NEW VERSION + + */ + identity_id: Identifier, +} + +impl MissingTransferKeyError { + pub fn new(identity_id: Identifier) -> Self { + Self { identity_id } + } + + pub fn identity_id(&self) -> &Identifier { + &self.identity_id + } +} +impl From for ConsensusError { + fn from(err: MissingTransferKeyError) -> Self { + Self::StateError(StateError::MissingTransferKeyError(err)) + } +} diff --git a/packages/rs-dpp/src/errors/consensus/state/identity/mod.rs b/packages/rs-dpp/src/errors/consensus/state/identity/mod.rs index 53a60d0ed4c..35e6f7f79a8 100644 --- a/packages/rs-dpp/src/errors/consensus/state/identity/mod.rs +++ b/packages/rs-dpp/src/errors/consensus/state/identity/mod.rs @@ -14,3 +14,5 @@ pub mod invalid_identity_revision_error; pub mod master_public_key_update_error; pub mod max_identity_public_key_limit_reached_error; pub mod missing_identity_public_key_ids_error; +pub mod missing_transfer_key_error; +pub mod no_transfer_key_for_core_withdrawal_available_error; diff --git a/packages/rs-dpp/src/errors/consensus/state/identity/no_transfer_key_for_core_withdrawal_available_error.rs b/packages/rs-dpp/src/errors/consensus/state/identity/no_transfer_key_for_core_withdrawal_available_error.rs new file mode 100644 index 00000000000..77f5d52305a --- /dev/null +++ b/packages/rs-dpp/src/errors/consensus/state/identity/no_transfer_key_for_core_withdrawal_available_error.rs @@ -0,0 +1,38 @@ +use crate::consensus::state::state_error::StateError; +use crate::consensus::ConsensusError; +use crate::errors::ProtocolError; +use bincode::{Decode, Encode}; +use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; +use platform_value::Identifier; +use thiserror::Error; + +#[derive( + Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, +)] +#[error("There is no transfer key that can be used for a withdrawal")] +#[platform_serialize(unversioned)] +pub struct NoTransferKeyForCoreWithdrawalAvailableError { + /* + + DO NOT CHANGE ORDER OF FIELDS WITHOUT INTRODUCING OF NEW VERSION + + */ + identity_id: Identifier, +} + +impl NoTransferKeyForCoreWithdrawalAvailableError { + pub fn new(identity_id: Identifier) -> Self { + Self { identity_id } + } + + pub fn identity_id(&self) -> &Identifier { + &self.identity_id + } +} +impl From for ConsensusError { + fn from(err: NoTransferKeyForCoreWithdrawalAvailableError) -> Self { + Self::StateError(StateError::NoTransferKeyForCoreWithdrawalAvailableError( + err, + )) + } +} diff --git a/packages/rs-dpp/src/errors/consensus/state/state_error.rs b/packages/rs-dpp/src/errors/consensus/state/state_error.rs index cf5736fd88d..ab98b5c6fe9 100644 --- a/packages/rs-dpp/src/errors/consensus/state/state_error.rs +++ b/packages/rs-dpp/src/errors/consensus/state/state_error.rs @@ -30,12 +30,15 @@ use crate::consensus::ConsensusError; use crate::consensus::state::data_contract::data_contract_update_permission_error::DataContractUpdatePermissionError; use crate::consensus::state::data_contract::document_type_update_error::DocumentTypeUpdateError; use crate::consensus::state::document::document_contest_currently_locked_error::DocumentContestCurrentlyLockedError; +use crate::consensus::state::document::document_contest_document_with_same_id_already_present_error::DocumentContestDocumentWithSameIdAlreadyPresentError; use crate::consensus::state::document::document_contest_identity_already_contestant::DocumentContestIdentityAlreadyContestantError; use crate::consensus::state::document::document_contest_not_joinable_error::DocumentContestNotJoinableError; use crate::consensus::state::document::document_incorrect_purchase_price_error::DocumentIncorrectPurchasePriceError; use crate::consensus::state::document::document_not_for_sale_error::DocumentNotForSaleError; use crate::consensus::state::identity::identity_public_key_already_exists_for_unique_contract_bounds_error::IdentityPublicKeyAlreadyExistsForUniqueContractBoundsError; use crate::consensus::state::identity::invalid_identity_contract_nonce_error::InvalidIdentityNonceError; +use crate::consensus::state::identity::missing_transfer_key_error::MissingTransferKeyError; +use crate::consensus::state::identity::no_transfer_key_for_core_withdrawal_available_error::NoTransferKeyForCoreWithdrawalAvailableError; use crate::consensus::state::prefunded_specialized_balances::prefunded_specialized_balance_insufficient_error::PrefundedSpecializedBalanceInsufficientError; use crate::consensus::state::prefunded_specialized_balances::prefunded_specialized_balance_not_found_error::PrefundedSpecializedBalanceNotFoundError; use crate::consensus::state::voting::masternode_incorrect_voter_identity_id_error::MasternodeIncorrectVoterIdentityIdError; @@ -78,6 +81,11 @@ pub enum StateError { #[error(transparent)] DocumentContestIdentityAlreadyContestantError(DocumentContestIdentityAlreadyContestantError), + #[error(transparent)] + DocumentContestDocumentWithSameIdAlreadyPresentError( + DocumentContestDocumentWithSameIdAlreadyPresentError, + ), + #[error(transparent)] DocumentNotFoundError(DocumentNotFoundError), @@ -116,6 +124,12 @@ pub enum StateError { #[error(transparent)] MissingIdentityPublicKeyIdsError(MissingIdentityPublicKeyIdsError), + #[error(transparent)] + MissingTransferKeyError(MissingTransferKeyError), + + #[error(transparent)] + NoTransferKeyForCoreWithdrawalAvailableError(NoTransferKeyForCoreWithdrawalAvailableError), + #[error(transparent)] InvalidIdentityPublicKeyIdError(InvalidIdentityPublicKeyIdError), diff --git a/packages/rs-dpp/src/identity/accessors/mod.rs b/packages/rs-dpp/src/identity/accessors/mod.rs index 0c27ebd1d56..2c95c36236f 100644 --- a/packages/rs-dpp/src/identity/accessors/mod.rs +++ b/packages/rs-dpp/src/identity/accessors/mod.rs @@ -118,18 +118,20 @@ impl IdentityGettersV0 for Identity { } } - /// Get first public key matching a purpose, security levels or key types + /// Get first public key matching a purpose, security levels, or key types, optionally allowing disabled keys fn get_first_public_key_matching( &self, purpose: Purpose, security_levels: HashSet, key_types: HashSet, + allow_disabled: bool, ) -> Option<&IdentityPublicKey> { match self { Identity::V0(identity) => identity.public_keys.values().find(|key| { key.purpose() == purpose && security_levels.contains(&key.security_level()) && key_types.contains(&key.key_type()) + && (allow_disabled || !key.is_disabled()) }), } } diff --git a/packages/rs-dpp/src/identity/accessors/v0/mod.rs b/packages/rs-dpp/src/identity/accessors/v0/mod.rs index f982da15cea..41d17c3c5b3 100644 --- a/packages/rs-dpp/src/identity/accessors/v0/mod.rs +++ b/packages/rs-dpp/src/identity/accessors/v0/mod.rs @@ -45,6 +45,7 @@ pub trait IdentityGettersV0 { purpose: Purpose, security_levels: HashSet, key_types: HashSet, + allow_disabled: bool, ) -> Option<&IdentityPublicKey>; /// Add an identity public key fn add_public_key(&mut self, key: IdentityPublicKey); diff --git a/packages/rs-dpp/src/identity/core_script.rs b/packages/rs-dpp/src/identity/core_script.rs index 96cea532c7d..8aa7fd38a48 100644 --- a/packages/rs-dpp/src/identity/core_script.rs +++ b/packages/rs-dpp/src/identity/core_script.rs @@ -39,18 +39,22 @@ impl CoreScript { Self(bytes.into()) } - pub fn random_p2pkh(rng: &mut StdRng) -> Self { + pub fn new_p2pkh(key_hash: [u8; 20]) -> Self { let mut bytes: Vec = vec![ opcodes::all::OP_DUP.to_u8(), opcodes::all::OP_HASH160.to_u8(), opcodes::all::OP_PUSHBYTES_20.to_u8(), ]; - bytes.append(&mut rng.gen::<[u8; 20]>().to_vec()); + bytes.extend_from_slice(&key_hash); bytes.push(opcodes::all::OP_EQUALVERIFY.to_u8()); bytes.push(opcodes::all::OP_CHECKSIG.to_u8()); Self::from_bytes(bytes) } + pub fn random_p2pkh(rng: &mut StdRng) -> Self { + Self::new_p2pkh(rng.gen::<[u8; 20]>()) + } + pub fn random_p2sh(rng: &mut StdRng) -> Self { let mut bytes = vec![ opcodes::all::OP_HASH160.to_u8(), diff --git a/packages/rs-dpp/src/identity/identity_public_key/key_type.rs b/packages/rs-dpp/src/identity/identity_public_key/key_type.rs index 8f4ad7bb5a7..d91bec66264 100644 --- a/packages/rs-dpp/src/identity/identity_public_key/key_type.rs +++ b/packages/rs-dpp/src/identity/identity_public_key/key_type.rs @@ -58,7 +58,8 @@ lazy_static! { (KeyType::ECDSA_SECP256K1, 33), (KeyType::BLS12_381, 48), (KeyType::ECDSA_HASH160, 20), - (KeyType::BIP13_SCRIPT_HASH, 20) + (KeyType::BIP13_SCRIPT_HASH, 20), + (KeyType::EDDSA_25519_HASH160, 20) ] .iter() .copied() @@ -99,6 +100,17 @@ impl KeyType { } } + /// Can this key type be understood as an address on the Core chain? + pub fn is_core_address_key_type(&self) -> bool { + match self { + KeyType::ECDSA_SECP256K1 => false, + KeyType::BLS12_381 => false, + KeyType::ECDSA_HASH160 => true, + KeyType::BIP13_SCRIPT_HASH => true, + KeyType::EDDSA_25519_HASH160 => false, + } + } + pub fn signature_verify_cost( &self, platform_version: &PlatformVersion, diff --git a/packages/rs-dpp/src/identity/identity_public_key/purpose.rs b/packages/rs-dpp/src/identity/identity_public_key/purpose.rs index 17612a9cd21..dbadfa57480 100644 --- a/packages/rs-dpp/src/identity/identity_public_key/purpose.rs +++ b/packages/rs-dpp/src/identity/identity_public_key/purpose.rs @@ -102,12 +102,12 @@ impl std::fmt::Display for Purpose { impl Purpose { /// The full range of purposes - pub fn full_range() -> [Purpose; 4] { - [AUTHENTICATION, ENCRYPTION, DECRYPTION, TRANSFER] + pub fn full_range() -> [Purpose; 5] { + [AUTHENTICATION, ENCRYPTION, DECRYPTION, TRANSFER, VOTING] } /// Just the authentication and withdraw purposes - pub fn authentication_and_transfer() -> [Purpose; 2] { - [AUTHENTICATION, TRANSFER] + pub fn searchable_purposes() -> [Purpose; 3] { + [AUTHENTICATION, TRANSFER, VOTING] } /// Just the encryption and decryption purposes pub fn encryption_decryption() -> [Purpose; 2] { diff --git a/packages/rs-dpp/src/identity/identity_public_key/security_level.rs b/packages/rs-dpp/src/identity/identity_public_key/security_level.rs index 978134016b0..4cd9f0d2ed4 100644 --- a/packages/rs-dpp/src/identity/identity_public_key/security_level.rs +++ b/packages/rs-dpp/src/identity/identity_public_key/security_level.rs @@ -35,6 +35,23 @@ pub enum SecurityLevel { MEDIUM = 3, } +impl From for [u8; 1] { + fn from(security_level: SecurityLevel) -> Self { + [security_level as u8] + } +} + +impl From for &'static [u8; 1] { + fn from(security_level: SecurityLevel) -> Self { + match security_level { + SecurityLevel::MASTER => &[0], + SecurityLevel::CRITICAL => &[1], + SecurityLevel::HIGH => &[2], + SecurityLevel::MEDIUM => &[3], + } + } +} + #[cfg(feature = "cbor")] impl Into for SecurityLevel { fn into(self) -> CborValue { diff --git a/packages/rs-dpp/src/identity/signer.rs b/packages/rs-dpp/src/identity/signer.rs index 549a55da42b..e069e43a118 100644 --- a/packages/rs-dpp/src/identity/signer.rs +++ b/packages/rs-dpp/src/identity/signer.rs @@ -10,4 +10,7 @@ pub trait Signer: Sync + Debug { identity_public_key: &IdentityPublicKey, data: &[u8], ) -> Result; + + /// do we have this identity public key in the signer? + fn can_sign_with(&self, identity_public_key: &IdentityPublicKey) -> bool; } diff --git a/packages/rs-dpp/src/lib.rs b/packages/rs-dpp/src/lib.rs index e0318774ce5..6dd0312fc28 100644 --- a/packages/rs-dpp/src/lib.rs +++ b/packages/rs-dpp/src/lib.rs @@ -38,6 +38,8 @@ pub mod tests; pub mod asset_lock; pub mod balances; pub mod block; +/// Core subsidy +pub mod core_subsidy; pub mod fee; pub mod nft; pub mod prefunded_specialized_balance; @@ -50,6 +52,9 @@ pub mod signing; #[cfg(feature = "system_contracts")] pub mod system_data_contracts; pub mod voting; + +#[cfg(feature = "core-types")] +pub mod core_types; pub mod withdrawal; pub use async_trait; diff --git a/packages/rs-dpp/src/state_transition/errors/wrong_public_key_purpose_error.rs b/packages/rs-dpp/src/state_transition/errors/wrong_public_key_purpose_error.rs index 7f1fdb8522e..5b469e2fa9c 100644 --- a/packages/rs-dpp/src/state_transition/errors/wrong_public_key_purpose_error.rs +++ b/packages/rs-dpp/src/state_transition/errors/wrong_public_key_purpose_error.rs @@ -2,27 +2,28 @@ use thiserror::Error; use crate::identity::Purpose; use crate::ProtocolError; +use itertools::Itertools; #[derive(Error, Debug, Clone, PartialEq, Eq)] -#[error("Invalid identity key purpose {public_key_purpose}. This state transition requires {key_purpose_requirement}")] +#[error("Invalid identity key purpose {public_key_purpose}. This state transition requires {}", allowed_key_purposes.iter().map(|s| s.to_string()).join(" | "))] pub struct WrongPublicKeyPurposeError { public_key_purpose: Purpose, - key_purpose_requirement: Purpose, + allowed_key_purposes: Vec, } impl WrongPublicKeyPurposeError { - pub fn new(public_key_purpose: Purpose, key_purpose_requirement: Purpose) -> Self { + pub fn new(public_key_purpose: Purpose, allowed_key_purposes: Vec) -> Self { Self { public_key_purpose, - key_purpose_requirement, + allowed_key_purposes, } } pub fn public_key_purpose(&self) -> Purpose { self.public_key_purpose } - pub fn key_purpose_requirement(&self) -> Purpose { - self.key_purpose_requirement + pub fn allowed_key_purposes(&self) -> &Vec { + &self.allowed_key_purposes } } diff --git a/packages/rs-dpp/src/state_transition/mod.rs b/packages/rs-dpp/src/state_transition/mod.rs index 879bb6e8713..bc20c6ab0a1 100644 --- a/packages/rs-dpp/src/state_transition/mod.rs +++ b/packages/rs-dpp/src/state_transition/mod.rs @@ -400,12 +400,12 @@ impl StateTransition { } /// returns the key security level requirement for the state transition - pub fn security_level_requirement(&self) -> Option> { - call_getter_method_identity_signed!(self, security_level_requirement) + pub fn security_level_requirement(&self, purpose: Purpose) -> Option> { + call_getter_method_identity_signed!(self, security_level_requirement, purpose) } /// returns the key purpose requirement for the state transition - pub fn purpose_requirement(&self) -> Option { + pub fn purpose_requirement(&self) -> Option> { call_getter_method_identity_signed!(self, purpose_requirement) } @@ -457,7 +457,7 @@ impl StateTransition { return Err(ProtocolError::WrongPublicKeyPurposeError( WrongPublicKeyPurposeError::new( identity_public_key.purpose(), - Purpose::AUTHENTICATION, + vec![Purpose::AUTHENTICATION], ), )); } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/identity_signed.rs index fe0bff68c79..4b2704c07dd 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/identity_signed.rs @@ -1,4 +1,4 @@ -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::data_contract_create_transition::DataContractCreateTransition; use crate::state_transition::StateTransitionIdentitySigned; @@ -17,9 +17,11 @@ impl StateTransitionIdentitySigned for DataContractCreateTransition { } } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, purpose: Purpose) -> Vec { match self { - DataContractCreateTransition::V0(transition) => transition.security_level_requirement(), + DataContractCreateTransition::V0(transition) => { + transition.security_level_requirement(purpose) + } } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/identity_signed.rs index c7b4464dec8..be2682bc82a 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/identity_signed.rs @@ -1,5 +1,5 @@ use crate::identity::SecurityLevel::{CRITICAL, HIGH}; -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::data_contract_create_transition::DataContractCreateTransitionV0; use crate::state_transition::StateTransitionIdentitySigned; @@ -12,7 +12,7 @@ impl StateTransitionIdentitySigned for DataContractCreateTransitionV0 { self.signature_public_key_id = key_id } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, _purpose: Purpose) -> Vec { vec![CRITICAL, HIGH] } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/v0_methods.rs index ca6fe4e1480..f1ed8c9b36d 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/v0_methods.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_create_transition/v0/v0_methods.rs @@ -65,11 +65,11 @@ impl DataContractCreateTransitionMethodsV0 for DataContractCreateTransitionV0 { )), )?; - let security_level_requirements = state_transition.security_level_requirement().ok_or( - ProtocolError::CorruptedCodeExecution( + let security_level_requirements = state_transition + .security_level_requirement(public_key.purpose()) + .ok_or(ProtocolError::CorruptedCodeExecution( "expected security level requirements".to_string(), - ), - )?; + ))?; if !security_level_requirements.contains(&public_key.security_level()) { return Err(ProtocolError::ConsensusError(Box::new( diff --git a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/identity_signed.rs index b56e0dd30b9..50c8cb9ce4f 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/identity_signed.rs @@ -1,4 +1,4 @@ -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::data_contract_update_transition::DataContractUpdateTransition; use crate::state_transition::StateTransitionIdentitySigned; @@ -18,9 +18,11 @@ impl StateTransitionIdentitySigned for DataContractUpdateTransition { } } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, purpose: Purpose) -> Vec { match self { - DataContractUpdateTransition::V0(transition) => transition.security_level_requirement(), + DataContractUpdateTransition::V0(transition) => { + transition.security_level_requirement(purpose) + } } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/v0/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/v0/identity_signed.rs index 6508a9ab761..3c39e2d90a0 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/v0/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/contract/data_contract_update_transition/v0/identity_signed.rs @@ -1,5 +1,5 @@ use crate::identity::SecurityLevel::CRITICAL; -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::data_contract_update_transition::DataContractUpdateTransitionV0; use crate::state_transition::StateTransitionIdentitySigned; @@ -12,7 +12,7 @@ impl StateTransitionIdentitySigned for DataContractUpdateTransitionV0 { self.signature_public_key_id = key_id } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, _purpose: Purpose) -> Vec { vec![CRITICAL] } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/identity_signed.rs index f5d5f967aa8..3d8a2d1486e 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/identity_signed.rs @@ -1,4 +1,4 @@ -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::documents_batch_transition::DocumentsBatchTransition; use crate::state_transition::StateTransitionIdentitySigned; @@ -17,9 +17,11 @@ impl StateTransitionIdentitySigned for DocumentsBatchTransition { } } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, purpose: Purpose) -> Vec { match self { - DocumentsBatchTransition::V0(transition) => transition.security_level_requirement(), + DocumentsBatchTransition::V0(transition) => { + transition.security_level_requirement(purpose) + } } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/v0/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/v0/identity_signed.rs index fd4916864aa..bdc0fe583a2 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/v0/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/v0/identity_signed.rs @@ -1,5 +1,5 @@ use crate::identity::SecurityLevel::{CRITICAL, HIGH, MEDIUM}; -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::documents_batch_transition::DocumentsBatchTransitionV0; use crate::state_transition::StateTransitionIdentitySigned; @@ -13,7 +13,7 @@ impl StateTransitionIdentitySigned for DocumentsBatchTransitionV0 { self.signature_public_key_id = key_id } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, _purpose: Purpose) -> Vec { // These are the available key levels that must sign the state transition // However the fact that it is signed by one of these does not guarantee that it // meets the security level requirement, as that is dictated from within the data diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/identity_signed.rs index 4b3b448eb54..60dd03cf6f4 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/identity_signed.rs @@ -19,15 +19,15 @@ impl StateTransitionIdentitySigned for IdentityCreditTransferTransition { } } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, purpose: Purpose) -> Vec { match self { IdentityCreditTransferTransition::V0(transition) => { - transition.security_level_requirement() + transition.security_level_requirement(purpose) } } } - fn purpose_requirement(&self) -> Purpose { + fn purpose_requirement(&self) -> Vec { match self { IdentityCreditTransferTransition::V0(transition) => transition.purpose_requirement(), } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/identity_signed.rs index bcab635e228..acc328d2741 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/identity_signed.rs @@ -12,11 +12,11 @@ impl StateTransitionIdentitySigned for IdentityCreditTransferTransitionV0 { self.signature_public_key_id = key_id } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, _purpose: Purpose) -> Vec { vec![CRITICAL] } - fn purpose_requirement(&self) -> Purpose { - Purpose::TRANSFER + fn purpose_requirement(&self) -> Vec { + vec![Purpose::TRANSFER] } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/mod.rs index dbf33c5a56e..eb952d65097 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/mod.rs @@ -13,6 +13,7 @@ impl IdentityCreditWithdrawalTransitionAccessorsV0 for IdentityCreditWithdrawalT fn identity_id(&self) -> Identifier { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.identity_id, + IdentityCreditWithdrawalTransition::V1(transition) => transition.identity_id, } } @@ -21,12 +22,16 @@ impl IdentityCreditWithdrawalTransitionAccessorsV0 for IdentityCreditWithdrawalT IdentityCreditWithdrawalTransition::V0(transition) => { transition.identity_id = identity_id; } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.identity_id = identity_id; + } } } fn amount(&self) -> u64 { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.amount, + IdentityCreditWithdrawalTransition::V1(transition) => transition.amount, } } @@ -35,24 +40,30 @@ impl IdentityCreditWithdrawalTransitionAccessorsV0 for IdentityCreditWithdrawalT IdentityCreditWithdrawalTransition::V0(transition) => { transition.amount = amount; } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.amount = amount; + } } } fn set_nonce(&mut self, nonce: IdentityNonce) { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.nonce = nonce, + IdentityCreditWithdrawalTransition::V1(transition) => transition.nonce = nonce, } } fn nonce(&self) -> IdentityNonce { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.nonce, + IdentityCreditWithdrawalTransition::V1(transition) => transition.nonce, } } fn pooling(&self) -> Pooling { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.pooling, + IdentityCreditWithdrawalTransition::V1(transition) => transition.pooling, } } @@ -61,12 +72,16 @@ impl IdentityCreditWithdrawalTransitionAccessorsV0 for IdentityCreditWithdrawalT IdentityCreditWithdrawalTransition::V0(transition) => { transition.pooling = pooling; } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.pooling = pooling; + } } } fn core_fee_per_byte(&self) -> u32 { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.core_fee_per_byte, + IdentityCreditWithdrawalTransition::V1(transition) => transition.core_fee_per_byte, } } @@ -75,18 +90,29 @@ impl IdentityCreditWithdrawalTransitionAccessorsV0 for IdentityCreditWithdrawalT IdentityCreditWithdrawalTransition::V0(transition) => { transition.core_fee_per_byte = core_fee_per_byte; } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.core_fee_per_byte = core_fee_per_byte; + } } } - fn output_script(&self) -> CoreScript { + fn output_script(&self) -> Option { match self { - IdentityCreditWithdrawalTransition::V0(transition) => transition.output_script.clone(), + IdentityCreditWithdrawalTransition::V0(transition) => { + Some(transition.output_script.clone()) + } + IdentityCreditWithdrawalTransition::V1(transition) => transition.output_script.clone(), } } - fn set_output_script(&mut self, output_script: CoreScript) { + fn set_output_script(&mut self, output_script: Option) { match self { IdentityCreditWithdrawalTransition::V0(transition) => { + if let Some(output_script) = output_script { + transition.output_script = output_script; + } + } + IdentityCreditWithdrawalTransition::V1(transition) => { transition.output_script = output_script; } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/v0/mod.rs index 1bcd8b29459..2e666ac1c7f 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/accessors/v0/mod.rs @@ -14,6 +14,6 @@ pub trait IdentityCreditWithdrawalTransitionAccessorsV0 { fn set_pooling(&mut self, pooling: Pooling); fn core_fee_per_byte(&self) -> u32; fn set_core_fee_per_byte(&mut self, amount: u32); - fn output_script(&self) -> CoreScript; - fn set_output_script(&mut self, output_script: CoreScript); + fn output_script(&self) -> Option; + fn set_output_script(&mut self, output_script: Option); } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/identity_signed.rs index 2dd369f3b39..75165fbb7d3 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/identity_signed.rs @@ -8,6 +8,9 @@ impl StateTransitionIdentitySigned for IdentityCreditWithdrawalTransition { IdentityCreditWithdrawalTransition::V0(transition) => { transition.signature_public_key_id() } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.signature_public_key_id() + } } } @@ -16,20 +19,27 @@ impl StateTransitionIdentitySigned for IdentityCreditWithdrawalTransition { IdentityCreditWithdrawalTransition::V0(transition) => { transition.set_signature_public_key_id(key_id) } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.set_signature_public_key_id(key_id) + } } } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, purpose: Purpose) -> Vec { match self { IdentityCreditWithdrawalTransition::V0(transition) => { - transition.security_level_requirement() + transition.security_level_requirement(purpose) + } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.security_level_requirement(purpose) } } } - fn purpose_requirement(&self) -> Purpose { + fn purpose_requirement(&self) -> Vec { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.purpose_requirement(), + IdentityCreditWithdrawalTransition::V1(transition) => transition.purpose_requirement(), } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/json_conversion.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/json_conversion.rs index b5a5946e62d..ada6044e54b 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/json_conversion.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/json_conversion.rs @@ -22,6 +22,15 @@ impl<'a> StateTransitionJsonConvert<'a> for IdentityCreditWithdrawalTransition { ); Ok(value) } + IdentityCreditWithdrawalTransition::V1(transition) => { + let mut value = transition.to_json(options)?; + let map_value = value.as_object_mut().expect("expected an object"); + map_value.insert( + STATE_TRANSITION_PROTOCOL_VERSION.to_string(), + JsonValue::Number(Number::from(1)), + ); + Ok(value) + } } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/mod.rs index 96b2654046a..acab5d8f3c6 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/mod.rs @@ -17,7 +17,7 @@ use crate::identity::IdentityPublicKey; #[cfg(feature = "state-transition-signing")] use crate::prelude::{IdentityNonce, UserFeeIncrease}; #[cfg(feature = "state-transition-signing")] -use crate::state_transition::identity_credit_withdrawal_transition::v0::IdentityCreditWithdrawalTransitionV0; +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; #[cfg(feature = "state-transition-signing")] use crate::state_transition::StateTransition; #[cfg(feature = "state-transition-signing")] @@ -31,13 +31,14 @@ impl IdentityCreditWithdrawalTransitionMethodsV0 for IdentityCreditWithdrawalTra #[cfg(feature = "state-transition-signing")] fn try_from_identity( identity: &Identity, - withdrawal_key_to_use: Option<&IdentityPublicKey>, - output_script: CoreScript, + output_script: Option, amount: u64, pooling: Pooling, core_fee_per_byte: u32, user_fee_increase: UserFeeIncrease, signer: S, + signing_withdrawal_key_to_use: Option<&IdentityPublicKey>, + preferred_key_purpose_for_signing_withdrawal: PreferredKeyPurposeForSigningWithdrawal, nonce: IdentityNonce, platform_version: &PlatformVersion, version: Option, @@ -48,22 +49,25 @@ impl IdentityCreditWithdrawalTransitionMethodsV0 for IdentityCreditWithdrawalTra .state_transition_conversion_versions .identity_to_identity_withdrawal_transition, ) { - 0 => Ok(IdentityCreditWithdrawalTransitionV0::try_from_identity( + 1 => Ok(IdentityCreditWithdrawalTransitionV1::try_from_identity( identity, - withdrawal_key_to_use, output_script, amount, pooling, core_fee_per_byte, user_fee_increase, signer, + signing_withdrawal_key_to_use, + preferred_key_purpose_for_signing_withdrawal, nonce, platform_version, version, )?), - v => Err(ProtocolError::UnknownVersionError(format!( - "Unknown IdentityCreditWithdrawalTransition version for try_from_identity {v}" - ))), + version => Err(ProtocolError::UnknownVersionMismatch { + method: "IdentityCreditWithdrawalTransition::try_from_identity".to_string(), + known_versions: vec![1], + received: version, + }), } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/v0/mod.rs index 0341f253f1f..d143eaae312 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/methods/v0/mod.rs @@ -1,34 +1,43 @@ #[cfg(feature = "state-transition-signing")] -use crate::identity::core_script::CoreScript; -#[cfg(feature = "state-transition-signing")] -use crate::identity::signer::Signer; -#[cfg(feature = "state-transition-signing")] -use crate::identity::Identity; -#[cfg(feature = "state-transition-signing")] -use crate::identity::IdentityPublicKey; -#[cfg(feature = "state-transition-signing")] -use crate::prelude::{IdentityNonce, UserFeeIncrease}; -#[cfg(feature = "state-transition-signing")] -use crate::state_transition::StateTransition; +use crate::{ + identity::{core_script::CoreScript, signer::Signer, Identity, IdentityPublicKey}, + prelude::{IdentityNonce, UserFeeIncrease}, + state_transition::StateTransition, + withdrawal::Pooling, + ProtocolError, +}; + use crate::state_transition::StateTransitionType; #[cfg(feature = "state-transition-signing")] -use crate::withdrawal::Pooling; -#[cfg(feature = "state-transition-signing")] -use crate::ProtocolError; -#[cfg(feature = "state-transition-signing")] use platform_version::version::{FeatureVersion, PlatformVersion}; +/// The key purpose that is preferred for signing the withdrawal +#[cfg(feature = "state-transition-signing")] +pub enum PreferredKeyPurposeForSigningWithdrawal { + /// Use any key + Any, + /// Use the master key, then the transfer key + MasterPreferred, + /// Use the transfer key, then the master key + TransferPreferred, + /// Only use the master key + MasterOnly, + /// Only use the transfer key + TransferOnly, +} + pub trait IdentityCreditWithdrawalTransitionMethodsV0 { #[cfg(feature = "state-transition-signing")] fn try_from_identity( identity: &Identity, - withdrawal_key_to_use: Option<&IdentityPublicKey>, - output_script: CoreScript, + output_script: Option, amount: u64, pooling: Pooling, core_fee_per_byte: u32, user_fee_increase: UserFeeIncrease, signer: S, + signing_withdrawal_key_to_use: Option<&IdentityPublicKey>, + preferred_key_purpose_for_signing_withdrawal: PreferredKeyPurposeForSigningWithdrawal, nonce: IdentityNonce, platform_version: &PlatformVersion, version: Option, diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/mod.rs index f7732969360..5b93592a365 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/mod.rs @@ -8,6 +8,7 @@ mod json_conversion; pub mod methods; mod state_transition_like; pub mod v0; +pub mod v1; #[cfg(feature = "state-transition-value-conversion")] mod value_conversion; mod version; @@ -15,9 +16,14 @@ mod version; use crate::state_transition::identity_credit_withdrawal_transition::v0::IdentityCreditWithdrawalTransitionV0Signable; use crate::state_transition::StateTransitionFieldTypes; +use crate::balances::credits::CREDITS_PER_DUFF; use crate::identity::state_transition::OptionallyAssetLockProved; +use crate::state_transition::identity_credit_withdrawal_transition::v1::{ + IdentityCreditWithdrawalTransitionV1, IdentityCreditWithdrawalTransitionV1Signable, +}; use crate::ProtocolError; use bincode::{Decode, Encode}; +use dashcore::transaction::special_transaction::asset_unlock::qualified_asset_unlock::ASSET_UNLOCK_TX_SIZE; use derive_more::From; use fields::*; use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize, PlatformSignable}; @@ -26,7 +32,14 @@ use platform_versioning::PlatformVersioned; #[cfg(feature = "state-transition-serde-conversion")] use serde::{Deserialize, Serialize}; -pub type IdentityCreditWithdrawalTransitionLatest = IdentityCreditWithdrawalTransitionV0; +/// Minimal core per byte. Must be a fibonacci number +pub const MIN_CORE_FEE_PER_BYTE: u32 = 1; + +/// Minimal amount in credits (x1000) to avoid "dust" error in Core +pub const MIN_WITHDRAWAL_AMOUNT: u64 = + (ASSET_UNLOCK_TX_SIZE as u64) * (MIN_CORE_FEE_PER_BYTE as u64) * CREDITS_PER_DUFF; + +pub type IdentityCreditWithdrawalTransitionLatest = IdentityCreditWithdrawalTransitionV1; #[derive( Debug, @@ -52,6 +65,8 @@ pub type IdentityCreditWithdrawalTransitionLatest = IdentityCreditWithdrawalTran pub enum IdentityCreditWithdrawalTransition { #[cfg_attr(feature = "state-transition-serde-conversion", serde(rename = "0"))] V0(IdentityCreditWithdrawalTransitionV0), + #[cfg_attr(feature = "state-transition-serde-conversion", serde(rename = "1"))] + V1(IdentityCreditWithdrawalTransitionV1), } impl IdentityCreditWithdrawalTransition { @@ -64,9 +79,12 @@ impl IdentityCreditWithdrawalTransition { 0 => Ok(IdentityCreditWithdrawalTransition::V0( IdentityCreditWithdrawalTransitionV0::default(), )), + 1 => Ok(IdentityCreditWithdrawalTransition::V1( + IdentityCreditWithdrawalTransitionV1::default(), + )), version => Err(ProtocolError::UnknownVersionMismatch { method: "IdentityCreditWithdrawalTransition::default_versioned".to_string(), - known_versions: vec![0], + known_versions: vec![0, 1], received: version, }), } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/state_transition_like.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/state_transition_like.rs index 022294a3a66..165d071b4b6 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/state_transition_like.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/state_transition_like.rs @@ -9,12 +9,14 @@ impl StateTransitionLike for IdentityCreditWithdrawalTransition { fn modified_data_ids(&self) -> Vec { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.modified_data_ids(), + IdentityCreditWithdrawalTransition::V1(transition) => transition.modified_data_ids(), } } fn state_transition_protocol_version(&self) -> FeatureVersion { match self { IdentityCreditWithdrawalTransition::V0(_) => 0, + IdentityCreditWithdrawalTransition::V1(_) => 0, } } /// returns the type of State Transition @@ -23,12 +25,16 @@ impl StateTransitionLike for IdentityCreditWithdrawalTransition { IdentityCreditWithdrawalTransition::V0(transition) => { transition.state_transition_type() } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.state_transition_type() + } } } /// returns the signature as a byte-array fn signature(&self) -> &BinaryData { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.signature(), + IdentityCreditWithdrawalTransition::V1(transition) => transition.signature(), } } /// set a new signature @@ -37,6 +43,9 @@ impl StateTransitionLike for IdentityCreditWithdrawalTransition { IdentityCreditWithdrawalTransition::V0(transition) => { transition.set_signature(signature) } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.set_signature(signature) + } } } @@ -44,6 +53,7 @@ impl StateTransitionLike for IdentityCreditWithdrawalTransition { fn user_fee_increase(&self) -> UserFeeIncrease { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.user_fee_increase(), + IdentityCreditWithdrawalTransition::V1(transition) => transition.user_fee_increase(), } } /// set a fee multiplier @@ -52,6 +62,9 @@ impl StateTransitionLike for IdentityCreditWithdrawalTransition { IdentityCreditWithdrawalTransition::V0(transition) => { transition.set_user_fee_increase(user_fee_increase) } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.set_user_fee_increase(user_fee_increase) + } } } @@ -60,18 +73,23 @@ impl StateTransitionLike for IdentityCreditWithdrawalTransition { IdentityCreditWithdrawalTransition::V0(transition) => { transition.set_signature_bytes(signature) } + IdentityCreditWithdrawalTransition::V1(transition) => { + transition.set_signature_bytes(signature) + } } } fn owner_id(&self) -> Identifier { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.owner_id(), + IdentityCreditWithdrawalTransition::V1(transition) => transition.owner_id(), } } fn unique_identifiers(&self) -> Vec { match self { IdentityCreditWithdrawalTransition::V0(transition) => transition.unique_identifiers(), + IdentityCreditWithdrawalTransition::V1(transition) => transition.unique_identifiers(), } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/identity_signed.rs index 2c8011f2fd1..122a1b4534d 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/identity_signed.rs @@ -13,11 +13,11 @@ impl StateTransitionIdentitySigned for IdentityCreditWithdrawalTransitionV0 { self.signature_public_key_id = key_id } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, _purpose: Purpose) -> Vec { vec![CRITICAL] } - fn purpose_requirement(&self) -> Purpose { - Purpose::TRANSFER + fn purpose_requirement(&self) -> Vec { + vec![Purpose::TRANSFER] } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/mod.rs index 2a5246b9ab7..2be39083e0e 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/mod.rs @@ -3,19 +3,16 @@ mod identity_signed; mod json_conversion; mod state_transition_like; mod types; -mod v0_methods; #[cfg(feature = "state-transition-value-conversion")] mod value_conversion; mod version; use bincode::{Decode, Encode}; -use dashcore::transaction::special_transaction::asset_unlock::qualified_asset_unlock::ASSET_UNLOCK_TX_SIZE; use platform_serialization_derive::PlatformSignable; use platform_value::BinaryData; #[cfg(feature = "state-transition-serde-conversion")] use serde::{Deserialize, Serialize}; -use crate::balances::credits::CREDITS_PER_DUFF; use crate::prelude::{IdentityNonce, UserFeeIncrease}; use crate::{ identity::{core_script::CoreScript, KeyID}, @@ -24,14 +21,6 @@ use crate::{ ProtocolError, }; -// TODO: unsafe - we must use actual relay fee from core -/// Minimal core per byte. Must be a fibonacci number -pub const MIN_CORE_FEE_PER_BYTE: u32 = 1; - -/// Minimal amount in credits (x1000) to avoid "dust" error in Core -pub const MIN_WITHDRAWAL_AMOUNT: u64 = - (ASSET_UNLOCK_TX_SIZE as u64) * (MIN_CORE_FEE_PER_BYTE as u64) * CREDITS_PER_DUFF; - #[derive(Debug, Clone, Encode, Decode, PlatformSignable, PartialEq)] #[cfg_attr( feature = "state-transition-serde-conversion", diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/v0_methods.rs deleted file mode 100644 index ca9d0ecec96..00000000000 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v0/v0_methods.rs +++ /dev/null @@ -1,75 +0,0 @@ -#[cfg(feature = "state-transition-signing")] -use crate::identity::accessors::IdentityGettersV0; -#[cfg(feature = "state-transition-signing")] -use crate::identity::core_script::CoreScript; -#[cfg(feature = "state-transition-signing")] -use crate::identity::signer::Signer; -#[cfg(feature = "state-transition-signing")] -use crate::identity::IdentityPublicKey; -#[cfg(feature = "state-transition-signing")] -use crate::identity::{Identity, KeyType, Purpose, SecurityLevel}; -#[cfg(feature = "state-transition-signing")] -use crate::prelude::{IdentityNonce, UserFeeIncrease}; -use crate::state_transition::identity_credit_withdrawal_transition::methods::IdentityCreditWithdrawalTransitionMethodsV0; -use crate::state_transition::identity_credit_withdrawal_transition::v0::IdentityCreditWithdrawalTransitionV0; -#[cfg(feature = "state-transition-signing")] -use crate::state_transition::{GetDataContractSecurityLevelRequirementFn, StateTransition}; -#[cfg(feature = "state-transition-signing")] -use crate::withdrawal::Pooling; -#[cfg(feature = "state-transition-signing")] -use crate::ProtocolError; -#[cfg(feature = "state-transition-signing")] -use platform_version::version::{FeatureVersion, PlatformVersion}; - -impl IdentityCreditWithdrawalTransitionMethodsV0 for IdentityCreditWithdrawalTransitionV0 { - #[cfg(feature = "state-transition-signing")] - fn try_from_identity( - identity: &Identity, - withdrawal_key_to_use: Option<&IdentityPublicKey>, - output_script: CoreScript, - amount: u64, - pooling: Pooling, - core_fee_per_byte: u32, - user_fee_increase: UserFeeIncrease, - signer: S, - nonce: IdentityNonce, - _platform_version: &PlatformVersion, - _version: Option, - ) -> Result { - let mut transition: StateTransition = IdentityCreditWithdrawalTransitionV0 { - identity_id: identity.id(), - amount, - core_fee_per_byte, - pooling, - output_script, - nonce, - user_fee_increase, - signature_public_key_id: 0, - signature: Default::default(), - } - .into(); - - let identity_public_key = match withdrawal_key_to_use { - Some(key) => key, - None => identity - .get_first_public_key_matching( - Purpose::TRANSFER, - SecurityLevel::full_range().into(), - KeyType::all_key_types().into(), - ) - .ok_or_else(|| { - ProtocolError::DesiredKeyWithTypePurposeSecurityLevelMissing( - "no withdrawal public key".to_string(), - ) - })?, - }; - - transition.sign_external( - identity_public_key, - &signer, - None::, - )?; - - Ok(transition) - } -} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/identity_signed.rs new file mode 100644 index 00000000000..045bab7b270 --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/identity_signed.rs @@ -0,0 +1,27 @@ +use crate::identity::SecurityLevel::{CRITICAL, MASTER}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; +use crate::state_transition::StateTransitionIdentitySigned; + +impl StateTransitionIdentitySigned for IdentityCreditWithdrawalTransitionV1 { + fn signature_public_key_id(&self) -> KeyID { + self.signature_public_key_id + } + + fn set_signature_public_key_id(&mut self, key_id: KeyID) { + self.signature_public_key_id = key_id + } + + fn security_level_requirement(&self, purpose: Purpose) -> Vec { + if purpose == Purpose::AUTHENTICATION { + vec![MASTER] + } else { + // for transfer + vec![CRITICAL] + } + } + + fn purpose_requirement(&self) -> Vec { + vec![Purpose::TRANSFER, Purpose::AUTHENTICATION] + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/json_conversion.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/json_conversion.rs new file mode 100644 index 00000000000..10b835cfc0f --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/json_conversion.rs @@ -0,0 +1,4 @@ +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; +use crate::state_transition::StateTransitionJsonConvert; + +impl<'a> StateTransitionJsonConvert<'a> for IdentityCreditWithdrawalTransitionV1 {} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/mod.rs new file mode 100644 index 00000000000..ef18ac89a37 --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/mod.rs @@ -0,0 +1,45 @@ +mod identity_signed; +#[cfg(feature = "state-transition-json-conversion")] +mod json_conversion; +mod state_transition_like; +mod types; +mod v0_methods; +#[cfg(feature = "state-transition-value-conversion")] +mod value_conversion; +mod version; + +use bincode::{Decode, Encode}; +use platform_serialization_derive::PlatformSignable; +use platform_value::BinaryData; +#[cfg(feature = "state-transition-serde-conversion")] +use serde::{Deserialize, Serialize}; + +use crate::prelude::{IdentityNonce, UserFeeIncrease}; +use crate::{ + identity::{core_script::CoreScript, KeyID}, + prelude::Identifier, + withdrawal::Pooling, + ProtocolError, +}; + +#[derive(Debug, Clone, Encode, Decode, PlatformSignable, PartialEq)] +#[cfg_attr( + feature = "state-transition-serde-conversion", + derive(Serialize, Deserialize), + serde(rename_all = "camelCase") +)] +#[derive(Default)] +pub struct IdentityCreditWithdrawalTransitionV1 { + pub identity_id: Identifier, + pub amount: u64, + pub core_fee_per_byte: u32, + pub pooling: Pooling, + /// If the send to output script is None, then we send the withdrawal to the address set by core + pub output_script: Option, + pub nonce: IdentityNonce, + pub user_fee_increase: UserFeeIncrease, + #[platform_signable(exclude_from_sig_hash)] + pub signature_public_key_id: KeyID, + #[platform_signable(exclude_from_sig_hash)] + pub signature: BinaryData, +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/state_transition_like.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/state_transition_like.rs new file mode 100644 index 00000000000..14462d0c28c --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/state_transition_like.rs @@ -0,0 +1,72 @@ +use base64::prelude::BASE64_STANDARD; +use base64::Engine; +use platform_value::BinaryData; + +use crate::prelude::UserFeeIncrease; +use crate::{ + prelude::Identifier, + state_transition::{StateTransitionLike, StateTransitionType}, +}; + +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; +use crate::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; +use crate::state_transition::StateTransition; +use crate::state_transition::StateTransitionType::IdentityCreditWithdrawal; +use crate::version::FeatureVersion; + +impl From for StateTransition { + fn from(value: IdentityCreditWithdrawalTransitionV1) -> Self { + let identity_credit_withdrawal_transition: IdentityCreditWithdrawalTransition = + value.into(); + identity_credit_withdrawal_transition.into() + } +} + +impl StateTransitionLike for IdentityCreditWithdrawalTransitionV1 { + fn state_transition_protocol_version(&self) -> FeatureVersion { + 0 + } + + /// returns the type of State Transition + fn state_transition_type(&self) -> StateTransitionType { + IdentityCreditWithdrawal + } + /// returns the signature as a byte-array + fn signature(&self) -> &BinaryData { + &self.signature + } + /// set a new signature + fn set_signature(&mut self, signature: BinaryData) { + self.signature = signature + } + /// Returns ID of the created contract + fn modified_data_ids(&self) -> Vec { + vec![self.identity_id] + } + + fn set_signature_bytes(&mut self, signature: Vec) { + self.signature = BinaryData::new(signature) + } + + /// Get owner ID + fn owner_id(&self) -> Identifier { + self.identity_id + } + + /// We want things to be unique based on the nonce, so we don't add the transition type + fn unique_identifiers(&self) -> Vec { + vec![format!( + "{}-{:x}", + BASE64_STANDARD.encode(self.identity_id), + self.nonce + )] + } + + fn user_fee_increase(&self) -> UserFeeIncrease { + self.user_fee_increase + } + + fn set_user_fee_increase(&mut self, user_fee_increase: UserFeeIncrease) { + self.user_fee_increase = user_fee_increase + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/types.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/types.rs new file mode 100644 index 00000000000..3273e62c92a --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/types.rs @@ -0,0 +1,17 @@ +use crate::state_transition::identity_credit_withdrawal_transition::fields::*; +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; +use crate::state_transition::StateTransitionFieldTypes; + +impl StateTransitionFieldTypes for IdentityCreditWithdrawalTransitionV1 { + fn signature_property_paths() -> Vec<&'static str> { + vec![SIGNATURE, SIGNATURE_PUBLIC_KEY_ID] + } + + fn identifiers_property_paths() -> Vec<&'static str> { + vec![IDENTITY_ID] + } + + fn binary_property_paths() -> Vec<&'static str> { + vec![SIGNATURE, OUTPUT_SCRIPT] + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/v0_methods.rs new file mode 100644 index 00000000000..de4817bca46 --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/v0_methods.rs @@ -0,0 +1,137 @@ +#[cfg(feature = "state-transition-signing")] +use crate::{ + identity::{ + accessors::IdentityGettersV0, core_script::CoreScript, signer::Signer, Identity, + IdentityPublicKey, KeyType, Purpose, SecurityLevel, + }, + prelude::{IdentityNonce, UserFeeIncrease}, + state_transition::{ + identity_credit_withdrawal_transition::methods::PreferredKeyPurposeForSigningWithdrawal, + GetDataContractSecurityLevelRequirementFn, StateTransition, + }, + withdrawal::Pooling, + ProtocolError, +}; + +#[cfg(feature = "state-transition-signing")] +use platform_version::version::{FeatureVersion, PlatformVersion}; + +use crate::state_transition::identity_credit_withdrawal_transition::methods::IdentityCreditWithdrawalTransitionMethodsV0; +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; + +impl IdentityCreditWithdrawalTransitionMethodsV0 for IdentityCreditWithdrawalTransitionV1 { + #[cfg(feature = "state-transition-signing")] + fn try_from_identity( + identity: &Identity, + output_script: Option, + amount: u64, + pooling: Pooling, + core_fee_per_byte: u32, + user_fee_increase: UserFeeIncrease, + signer: S, + signing_withdrawal_key_to_use: Option<&IdentityPublicKey>, + preferred_key_purpose_for_signing_withdrawal: PreferredKeyPurposeForSigningWithdrawal, + nonce: IdentityNonce, + _platform_version: &PlatformVersion, + _version: Option, + ) -> Result { + let mut transition: StateTransition = IdentityCreditWithdrawalTransitionV1 { + identity_id: identity.id(), + amount, + core_fee_per_byte, + pooling, + output_script, + nonce, + user_fee_increase, + signature_public_key_id: 0, + signature: Default::default(), + } + .into(); + + let identity_public_key = match signing_withdrawal_key_to_use { + Some(key) => { + if signer.can_sign_with(key) { + key + } else { + return Err( + ProtocolError::DesiredKeyWithTypePurposeSecurityLevelMissing( + "specified withdrawal public key cannot be used for signing" + .to_string(), + ), + ); + } + } + None => { + let mut key: Option<&IdentityPublicKey>; + + match preferred_key_purpose_for_signing_withdrawal { + PreferredKeyPurposeForSigningWithdrawal::MasterPreferred => { + key = identity.get_first_public_key_matching( + Purpose::AUTHENTICATION, + SecurityLevel::full_range().into(), + KeyType::all_key_types().into(), + true, + ); + + if key.is_none() || !signer.can_sign_with(key.unwrap()) { + key = identity.get_first_public_key_matching( + Purpose::TRANSFER, + SecurityLevel::full_range().into(), + KeyType::all_key_types().into(), + true, + ); + } + } + PreferredKeyPurposeForSigningWithdrawal::TransferPreferred + | PreferredKeyPurposeForSigningWithdrawal::Any => { + key = identity.get_first_public_key_matching( + Purpose::TRANSFER, + SecurityLevel::full_range().into(), + KeyType::all_key_types().into(), + true, + ); + + if key.is_none() || !signer.can_sign_with(key.unwrap()) { + key = identity.get_first_public_key_matching( + Purpose::AUTHENTICATION, + SecurityLevel::full_range().into(), + KeyType::all_key_types().into(), + true, + ); + } + } + PreferredKeyPurposeForSigningWithdrawal::MasterOnly => { + key = identity.get_first_public_key_matching( + Purpose::AUTHENTICATION, + SecurityLevel::full_range().into(), + KeyType::all_key_types().into(), + true, + ); + } + PreferredKeyPurposeForSigningWithdrawal::TransferOnly => { + key = identity.get_first_public_key_matching( + Purpose::TRANSFER, + SecurityLevel::full_range().into(), + KeyType::all_key_types().into(), + true, + ); + } + } + + key.ok_or_else(|| { + ProtocolError::DesiredKeyWithTypePurposeSecurityLevelMissing( + "no withdrawal public key".to_string(), + ) + })? + } + }; + + transition.sign_external( + identity_public_key, + &signer, + None::, + )?; + + Ok(transition) + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/value_conversion.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/value_conversion.rs new file mode 100644 index 00000000000..6ef90c689aa --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/value_conversion.rs @@ -0,0 +1,60 @@ +use std::collections::BTreeMap; + +use platform_value::{IntegerReplacementType, ReplacementType, Value}; + +use crate::{state_transition::StateTransitionFieldTypes, ProtocolError}; + +use crate::state_transition::identity_credit_withdrawal_transition::fields::*; +use crate::state_transition::StateTransitionValueConvert; + +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; +use platform_version::version::PlatformVersion; + +impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransitionV1 { + fn from_object( + raw_object: Value, + _platform_version: &PlatformVersion, + ) -> Result { + platform_value::from_value(raw_object).map_err(ProtocolError::ValueError) + } + + fn clean_value(value: &mut Value) -> Result<(), ProtocolError> { + value.replace_at_paths(IDENTIFIER_FIELDS, ReplacementType::Identifier)?; + value.replace_at_paths(BINARY_FIELDS, ReplacementType::BinaryBytes)?; + value.replace_integer_type_at_paths(U32_FIELDS, IntegerReplacementType::U32)?; + Ok(()) + } + + fn from_value_map( + raw_value_map: BTreeMap, + platform_version: &PlatformVersion, + ) -> Result { + let value: Value = raw_value_map.into(); + Self::from_object(value, platform_version) + } + + fn to_object(&self, skip_signature: bool) -> Result { + let mut value = platform_value::to_value(self)?; + if skip_signature { + value + .remove_values_matching_paths(Self::signature_property_paths()) + .map_err(ProtocolError::ValueError)?; + } + Ok(value) + } + + fn to_cleaned_object(&self, skip_signature: bool) -> Result { + let mut value = platform_value::to_value(self)?; + if skip_signature { + value + .remove_values_matching_paths(Self::signature_property_paths()) + .map_err(ProtocolError::ValueError)?; + } + Ok(value) + } + + // Override to_canonical_cleaned_object to manage add_public_keys individually + fn to_canonical_cleaned_object(&self, skip_signature: bool) -> Result { + self.to_cleaned_object(skip_signature) + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/version.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/version.rs new file mode 100644 index 00000000000..cfff287e9d2 --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/v1/version.rs @@ -0,0 +1,9 @@ +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; +use crate::state_transition::FeatureVersioned; +use crate::version::FeatureVersion; + +impl FeatureVersioned for IdentityCreditWithdrawalTransitionV1 { + fn feature_version(&self) -> FeatureVersion { + 1 + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/value_conversion.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/value_conversion.rs index 365d747ea87..a62a4a184fd 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/value_conversion.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/value_conversion.rs @@ -9,6 +9,7 @@ use crate::state_transition::identity_credit_withdrawal_transition::IdentityCred use crate::state_transition::state_transitions::identity_credit_withdrawal_transition::fields::*; use crate::state_transition::StateTransitionValueConvert; +use crate::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; use platform_value::btreemap_extensions::BTreeValueRemoveFromMapHelper; use platform_version::version::{FeatureVersion, PlatformVersion}; @@ -20,6 +21,11 @@ impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransition value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(0))?; Ok(value) } + IdentityCreditWithdrawalTransition::V1(transition) => { + let mut value = transition.to_object(skip_signature)?; + value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(1))?; + Ok(value) + } } } @@ -30,6 +36,11 @@ impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransition value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(0))?; Ok(value) } + IdentityCreditWithdrawalTransition::V1(transition) => { + let mut value = transition.to_canonical_object(skip_signature)?; + value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(1))?; + Ok(value) + } } } @@ -40,6 +51,11 @@ impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransition value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(0))?; Ok(value) } + IdentityCreditWithdrawalTransition::V1(transition) => { + let mut value = transition.to_canonical_cleaned_object(skip_signature)?; + value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(1))?; + Ok(value) + } } } @@ -50,6 +66,11 @@ impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransition value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(0))?; Ok(value) } + IdentityCreditWithdrawalTransition::V1(transition) => { + let mut value = transition.to_cleaned_object(skip_signature)?; + value.insert(STATE_TRANSITION_PROTOCOL_VERSION.to_string(), Value::U16(1))?; + Ok(value) + } } } @@ -74,6 +95,11 @@ impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransition platform_version, )? .into()), + 1 => Ok(IdentityCreditWithdrawalTransitionV1::from_object( + raw_object, + platform_version, + )? + .into()), n => Err(ProtocolError::UnknownVersionError(format!( "Unknown IdentityCreditWithdrawalTransition version {n}" ))), @@ -101,6 +127,11 @@ impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransition platform_version, )? .into()), + 1 => Ok(IdentityCreditWithdrawalTransitionV1::from_value_map( + raw_value_map, + platform_version, + )? + .into()), n => Err(ProtocolError::UnknownVersionError(format!( "Unknown IdentityCreditWithdrawalTransition version {n}" ))), @@ -114,6 +145,7 @@ impl<'a> StateTransitionValueConvert<'a> for IdentityCreditWithdrawalTransition match version { 0 => IdentityCreditWithdrawalTransitionV0::clean_value(value), + 1 => IdentityCreditWithdrawalTransitionV1::clean_value(value), n => Err(ProtocolError::UnknownVersionError(format!( "Unknown IdentityCreditWithdrawalTransition version {n}" ))), diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/version.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/version.rs index d4afb756573..d0f7ab16874 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/version.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_withdrawal_transition/version.rs @@ -6,6 +6,7 @@ impl FeatureVersioned for IdentityCreditWithdrawalTransition { fn feature_version(&self) -> FeatureVersion { match self { IdentityCreditWithdrawalTransition::V0(v0) => v0.feature_version(), + IdentityCreditWithdrawalTransition::V1(v1) => v1.feature_version(), } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/identity_signed.rs index 471f0884e2d..ce749273447 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/identity_signed.rs @@ -1,4 +1,4 @@ -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::identity_update_transition::IdentityUpdateTransition; use crate::state_transition::StateTransitionIdentitySigned; @@ -17,9 +17,11 @@ impl StateTransitionIdentitySigned for IdentityUpdateTransition { } } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, purpose: Purpose) -> Vec { match self { - IdentityUpdateTransition::V0(transition) => transition.security_level_requirement(), + IdentityUpdateTransition::V0(transition) => { + transition.security_level_requirement(purpose) + } } } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/v0/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/v0/identity_signed.rs index 0b6c85a50a3..54d384be932 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/v0/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_update_transition/v0/identity_signed.rs @@ -1,5 +1,5 @@ use crate::identity::SecurityLevel::MASTER; -use crate::identity::{KeyID, SecurityLevel}; +use crate::identity::{KeyID, Purpose, SecurityLevel}; use crate::state_transition::identity_update_transition::v0::IdentityUpdateTransitionV0; use crate::state_transition::StateTransitionIdentitySigned; @@ -12,7 +12,7 @@ impl StateTransitionIdentitySigned for IdentityUpdateTransitionV0 { self.signature_public_key_id = key_id } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, _purpose: Purpose) -> Vec { vec![MASTER] } } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/identity_signed.rs index cfc6f9d65bb..9a02b8ddf22 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/identity_signed.rs @@ -17,13 +17,15 @@ impl StateTransitionIdentitySigned for MasternodeVoteTransition { } } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, purpose: Purpose) -> Vec { match self { - MasternodeVoteTransition::V0(transition) => transition.security_level_requirement(), + MasternodeVoteTransition::V0(transition) => { + transition.security_level_requirement(purpose) + } } } - fn purpose_requirement(&self) -> Purpose { + fn purpose_requirement(&self) -> Vec { match self { MasternodeVoteTransition::V0(transition) => transition.purpose_requirement(), } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/v0/identity_signed.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/v0/identity_signed.rs index 47531db0131..7b5d7316769 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/v0/identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/masternode_vote_transition/v0/identity_signed.rs @@ -12,11 +12,11 @@ impl StateTransitionIdentitySigned for MasternodeVoteTransitionV0 { self.signature_public_key_id = key_id } - fn security_level_requirement(&self) -> Vec { + fn security_level_requirement(&self, _purpose: Purpose) -> Vec { vec![CRITICAL, HIGH, MEDIUM] } - fn purpose_requirement(&self) -> Purpose { - Purpose::VOTING + fn purpose_requirement(&self) -> Vec { + vec![Purpose::VOTING] } } diff --git a/packages/rs-dpp/src/state_transition/traits/state_transition_identity_signed.rs b/packages/rs-dpp/src/state_transition/traits/state_transition_identity_signed.rs index c81029a7fe1..4da43f68c8b 100644 --- a/packages/rs-dpp/src/state_transition/traits/state_transition_identity_signed.rs +++ b/packages/rs-dpp/src/state_transition/traits/state_transition_identity_signed.rs @@ -45,24 +45,25 @@ pub trait StateTransitionIdentitySigned: StateTransitionLike { &self, public_key: &IdentityPublicKey, ) -> Result<(), ProtocolError> { + if !self.purpose_requirement().contains(&public_key.purpose()) { + return Err(ProtocolError::WrongPublicKeyPurposeError( + WrongPublicKeyPurposeError::new(public_key.purpose(), self.purpose_requirement()), + )); + } + // Otherwise, key security level should be less than MASTER but more or equal than required if !self - .security_level_requirement() + .security_level_requirement(public_key.purpose()) .contains(&public_key.security_level()) { return Err(ProtocolError::InvalidSignaturePublicKeySecurityLevelError( InvalidSignaturePublicKeySecurityLevelError::new( public_key.security_level(), - self.security_level_requirement(), + self.security_level_requirement(public_key.purpose()), ), )); } - if public_key.purpose() != self.purpose_requirement() { - return Err(ProtocolError::WrongPublicKeyPurposeError( - WrongPublicKeyPurposeError::new(public_key.purpose(), self.purpose_requirement()), - )); - } Ok(()) } @@ -85,13 +86,13 @@ pub trait StateTransitionIdentitySigned: StateTransitionLike { /// Returns minimal key security level that can be used to sign this ST. /// Override this method if the ST requires a different security level. - fn security_level_requirement(&self) -> Vec; + fn security_level_requirement(&self, purpose: Purpose) -> Vec; /// The purpose requirement for the signing key /// The default is authentication /// However for Withdrawals and Fund Transfers the requirement is TRANSFER - fn purpose_requirement(&self) -> Purpose { - Purpose::AUTHENTICATION + fn purpose_requirement(&self) -> Vec { + vec![Purpose::AUTHENTICATION] } } diff --git a/packages/rs-dpp/src/util/json_schema.rs b/packages/rs-dpp/src/util/json_schema.rs index 10eb520568c..eaf8fb0d909 100644 --- a/packages/rs-dpp/src/util/json_schema.rs +++ b/packages/rs-dpp/src/util/json_schema.rs @@ -149,11 +149,12 @@ mod test { use crate::data_contract::document_type::DocumentType; use platform_value::Identifier; - use platform_version::version::LATEST_PLATFORM_VERSION; + use platform_version::version::PlatformVersion; use serde_json::json; #[test] fn test_extract_indices() { + let platform_version = PlatformVersion::latest(); let input = json!({ "type": "object", "indices": [ @@ -215,7 +216,7 @@ mod test { false, false, &mut vec![], - LATEST_PLATFORM_VERSION, + platform_version, ) .unwrap(); diff --git a/packages/rs-dpp/src/withdrawal/document_try_into_asset_unlock_base_transaction_info/mod.rs b/packages/rs-dpp/src/withdrawal/document_try_into_asset_unlock_base_transaction_info/mod.rs new file mode 100644 index 00000000000..1ca292303d5 --- /dev/null +++ b/packages/rs-dpp/src/withdrawal/document_try_into_asset_unlock_base_transaction_info/mod.rs @@ -0,0 +1,25 @@ +use crate::document::Document; +use crate::withdrawal::WithdrawalTransactionIndex; +use crate::ProtocolError; +use dashcore::transaction::special_transaction::asset_unlock::unqualified_asset_unlock::AssetUnlockBaseTransactionInfo; +use platform_version::version::PlatformVersion; +mod v0; +impl Document { + pub fn try_into_asset_unlock_base_transaction_info( + &self, + transaction_index: WithdrawalTransactionIndex, + platform_version: &PlatformVersion, + ) -> Result { + match platform_version + .dpp + .document_versions + .document_method_versions + .try_into_asset_unlock_base_transaction_info + { + 0 => self.try_into_asset_unlock_base_transaction_info_v0(transaction_index), + v => Err(ProtocolError::UnknownVersionError(format!( + "Unknown IdentityCreateTransition version for try_from_identity_with_signer {v}" + ))), + } + } +} diff --git a/packages/rs-dpp/src/withdrawal/document_try_into_asset_unlock_base_transaction_info/v0/mod.rs b/packages/rs-dpp/src/withdrawal/document_try_into_asset_unlock_base_transaction_info/v0/mod.rs new file mode 100644 index 00000000000..f28b9dcf8be --- /dev/null +++ b/packages/rs-dpp/src/withdrawal/document_try_into_asset_unlock_base_transaction_info/v0/mod.rs @@ -0,0 +1,45 @@ +use crate::document::{Document, DocumentV0Getters}; +use crate::identity::convert_credits_to_duffs; +use crate::system_data_contracts::withdrawals_contract::v1::document_types::withdrawal; +use crate::withdrawal::WithdrawalTransactionIndex; +use crate::ProtocolError; +use dashcore::transaction::special_transaction::asset_unlock::qualified_asset_unlock::ASSET_UNLOCK_TX_SIZE; +use dashcore::transaction::special_transaction::asset_unlock::unqualified_asset_unlock::{ + AssetUnlockBasePayload, AssetUnlockBaseTransactionInfo, +}; +use dashcore::{ScriptBuf, TxOut}; +use platform_value::btreemap_extensions::BTreeValueMapHelper; + +impl Document { + pub(super) fn try_into_asset_unlock_base_transaction_info_v0( + &self, + transaction_index: WithdrawalTransactionIndex, + ) -> Result { + let properties = self.properties(); + + let output_script_bytes = properties.get_bytes(withdrawal::properties::OUTPUT_SCRIPT)?; + + let amount = properties.get_integer(withdrawal::properties::AMOUNT)?; + + let core_fee_per_byte: u32 = + properties.get_integer(withdrawal::properties::CORE_FEE_PER_BYTE)?; + + let output_script = ScriptBuf::from_bytes(output_script_bytes); + + let tx_out = TxOut { + value: convert_credits_to_duffs(amount)?, + script_pubkey: output_script, + }; + + Ok(AssetUnlockBaseTransactionInfo { + version: 1, + lock_time: 0, + output: vec![tx_out], + base_payload: AssetUnlockBasePayload { + version: 1, + index: transaction_index, + fee: ASSET_UNLOCK_TX_SIZE as u32 * core_fee_per_byte, + }, + }) + } +} diff --git a/packages/rs-dpp/src/withdrawal/mod.rs b/packages/rs-dpp/src/withdrawal/mod.rs index be31e495598..1aaac3052dd 100644 --- a/packages/rs-dpp/src/withdrawal/mod.rs +++ b/packages/rs-dpp/src/withdrawal/mod.rs @@ -1,3 +1,6 @@ +#[cfg(feature = "system_contracts")] +mod document_try_into_asset_unlock_base_transaction_info; + use bincode::{Decode, Encode}; use serde_repr::{Deserialize_repr, Serialize_repr}; @@ -11,3 +14,9 @@ pub enum Pooling { IfAvailable = 1, Standard = 2, } + +/// Transaction index type +pub type WithdrawalTransactionIndex = u64; + +/// Simple type alias for withdrawal transaction with it's index +pub type WithdrawalTransactionIndexAndBytes = (WithdrawalTransactionIndex, Vec); diff --git a/packages/rs-drive-abci/.env.local b/packages/rs-drive-abci/.env.local index ebfdf121492..c0e3ac3347a 100644 --- a/packages/rs-drive-abci/.env.local +++ b/packages/rs-drive-abci/.env.local @@ -88,3 +88,5 @@ TOKIO_CONSOLE_RETENTION_SECS=180 GROVEDB_VISUALIZER_ENABLED=false GROVEDB_VISUALIZER_ADDRESS=127.0.0.1:8083 + +NETWORK=regtest diff --git a/packages/rs-drive-abci/.env.mainnet b/packages/rs-drive-abci/.env.mainnet index ea1b3915ae2..65409c1d0a3 100644 --- a/packages/rs-drive-abci/.env.mainnet +++ b/packages/rs-drive-abci/.env.mainnet @@ -88,3 +88,7 @@ TOKIO_CONSOLE_RETENTION_SECS=180 GROVEDB_VISUALIZER_ENABLED=false GROVEDB_VISUALIZER_ADDRESS=127.0.0.1:8083 + +PROPOSER_TX_PROCESSING_TIME_LIMIT=5000 + +NETWORK=mainnet diff --git a/packages/rs-drive-abci/.env.testnet b/packages/rs-drive-abci/.env.testnet index 11d9a92cdd0..dccf681adf6 100644 --- a/packages/rs-drive-abci/.env.testnet +++ b/packages/rs-drive-abci/.env.testnet @@ -88,3 +88,7 @@ TOKIO_CONSOLE_RETENTION_SECS=180 GROVEDB_VISUALIZER_ENABLED=false GROVEDB_VISUALIZER_ADDRESS=127.0.0.1:8083 + +PROPOSER_TX_PROCESSING_TIME_LIMIT=5000 + +NETWORK=testnet diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index 284c447972c..6ca9d43b972 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drive-abci" -version = "1.0.2" +version = "1.4.0-dev.1" authors = [ "Samuel Westrich ", "Ivan Shumkov ", @@ -9,7 +9,7 @@ authors = [ "Igor Markin ", ] edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] @@ -50,7 +50,7 @@ tracing-subscriber = { version = "0.3.16", default-features = false, features = "tracing-log", ], optional = false } atty = { version = "0.2.14", optional = false } -tenderdash-abci = { git = "https://github.com/dashpay/rs-tenderdash-abci", version = "1.1.0", tag = "v1.1.0", features = [ +tenderdash-abci = { git = "https://github.com/dashpay/rs-tenderdash-abci", version = "1.2.0+1.3.0", tag = "v1.2.0+1.3.0", features = [ "grpc", ] } lazy_static = "1.4.0" @@ -75,6 +75,7 @@ async-trait = "0.1.77" console-subscriber = { version = "0.2.0", optional = true } [dev-dependencies] +bs58 = { version = "0.5.0" } base64 = "0.22.1" platform-version = { path = "../rs-platform-version", features = [ "mock-versions", @@ -101,8 +102,8 @@ rocksdb = { version = "0.22.0" } integer-encoding = { version = "4.0.0" } [features] -# TODO: Remove console for production -default = ["mocks", "console"] + +default = ["mocks"] mocks = ["mockall", "drive/fixtures-and-mocks"] console = ["console-subscriber", "tokio/tracing"] testing-config = [] @@ -111,4 +112,3 @@ grovedbg = ["drive/grovedbg"] [[bin]] name = "drive-abci" path = "src/main.rs" -required-features = ["console"] diff --git a/packages/rs-drive-abci/src/abci/app/execution_result.rs b/packages/rs-drive-abci/src/abci/app/execution_result.rs index a6b9cfbaceb..43d6e61a34d 100644 --- a/packages/rs-drive-abci/src/abci/app/execution_result.rs +++ b/packages/rs-drive-abci/src/abci/app/execution_result.rs @@ -7,39 +7,42 @@ use dpp::version::PlatformVersion; use dpp::version::TryIntoPlatformVersioned; use tenderdash_abci::proto::abci::ExecTxResult; -impl TryIntoPlatformVersioned for StateTransitionExecutionResult { +impl TryIntoPlatformVersioned> for StateTransitionExecutionResult { type Error = Error; fn try_into_platform_versioned( self, platform_version: &PlatformVersion, - ) -> Result { + ) -> Result, Self::Error> { let response = match self { - StateTransitionExecutionResult::SuccessfulExecution(_, actual_fees) => ExecTxResult { - code: 0, - gas_used: actual_fees.total_base_fee() as SignedCredits, - ..Default::default() - }, - StateTransitionExecutionResult::UnpaidConsensusError(error) => ExecTxResult { + StateTransitionExecutionResult::SuccessfulExecution(_, actual_fees) => { + Some(ExecTxResult { + code: 0, + gas_used: actual_fees.total_base_fee() as SignedCredits, + ..Default::default() + }) + } + StateTransitionExecutionResult::UnpaidConsensusError(error) => Some(ExecTxResult { code: HandlerError::from(&error).code(), info: error.response_info_for_version(platform_version)?, gas_used: 0, ..Default::default() - }, + }), StateTransitionExecutionResult::PaidConsensusError(error, actual_fees) => { - ExecTxResult { + Some(ExecTxResult { code: HandlerError::from(&error).code(), info: error.response_info_for_version(platform_version)?, gas_used: actual_fees.total_base_fee() as SignedCredits, ..Default::default() - } + }) } - StateTransitionExecutionResult::InternalError(message) => ExecTxResult { + StateTransitionExecutionResult::InternalError(message) => Some(ExecTxResult { code: HandlerError::Internal(message).code(), // TODO: That would be nice to provide more information about the error for debugging info: String::default(), ..Default::default() - }, + }), + StateTransitionExecutionResult::NotExecuted(_) => None, }; Ok(response) diff --git a/packages/rs-drive-abci/src/abci/config.rs b/packages/rs-drive-abci/src/abci/config.rs index 320a1a91055..62779edd6b7 100644 --- a/packages/rs-drive-abci/src/abci/config.rs +++ b/packages/rs-drive-abci/src/abci/config.rs @@ -1,5 +1,6 @@ //! Configuration of ABCI Application server +use crate::utils::from_opt_str_or_number; use serde::{Deserialize, Serialize}; // We allow changes in the ABCI configuration, but there should be a social process @@ -32,6 +33,10 @@ pub struct AbciConfig { // Note it is parsed directly in PlatformConfig::from_env() so here we just set defaults. #[serde(default)] pub log: crate::logging::LogConfigs, + + /// Maximum time limit (in ms) to process state transitions to prepare proposal + #[serde(default, deserialize_with = "from_opt_str_or_number")] + pub proposer_tx_processing_time_limit: Option, } impl AbciConfig { @@ -52,6 +57,7 @@ impl Default for AbciConfig { genesis_core_height: AbciConfig::default_genesis_core_height(), chain_id: "chain_id".to_string(), log: Default::default(), + proposer_tx_processing_time_limit: Default::default(), } } } diff --git a/packages/rs-drive-abci/src/abci/handler/info.rs b/packages/rs-drive-abci/src/abci/handler/info.rs index ea8aad0eec3..dbb85018913 100644 --- a/packages/rs-drive-abci/src/abci/handler/info.rs +++ b/packages/rs-drive-abci/src/abci/handler/info.rs @@ -3,7 +3,7 @@ use crate::abci::AbciError; use crate::error::Error; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::rpc::core::CoreRPCLike; -use dpp::version::PlatformVersion; +use dpp::version::DESIRED_PLATFORM_VERSION; use tenderdash_abci::proto::abci as proto; pub fn info(app: &A, request: proto::RequestInfo) -> Result @@ -26,18 +26,18 @@ where .map(|app_hash| app_hash.to_vec()) .unwrap_or_default(); - let latest_supported_protocol_version = PlatformVersion::latest().protocol_version; + let desired_protocol_version = DESIRED_PLATFORM_VERSION.protocol_version; let response = proto::ResponseInfo { data: "".to_string(), - app_version: latest_supported_protocol_version as u64, + app_version: desired_protocol_version as u64, last_block_height: platform_state.last_committed_block_height() as i64, version: env!("CARGO_PKG_VERSION").to_string(), last_block_app_hash: state_app_hash.clone(), }; tracing::debug!( - latest_supported_protocol_version, + desired_protocol_version, software_version = env!("CARGO_PKG_VERSION"), block_version = request.block_version, p2p_version = request.p2p_version, diff --git a/packages/rs-drive-abci/src/abci/handler/prepare_proposal.rs b/packages/rs-drive-abci/src/abci/handler/prepare_proposal.rs index 6d79969e596..18252d0d451 100644 --- a/packages/rs-drive-abci/src/abci/handler/prepare_proposal.rs +++ b/packages/rs-drive-abci/src/abci/handler/prepare_proposal.rs @@ -1,7 +1,10 @@ use crate::abci::app::{BlockExecutionApplication, PlatformApplication, TransactionalApplication}; use crate::abci::AbciError; use crate::error::Error; -use crate::execution::types::block_execution_context::v0::BlockExecutionContextV0Setters; +use crate::execution::engine::consensus_params_update::consensus_params_update; +use crate::execution::types::block_execution_context::v0::{ + BlockExecutionContextV0Getters, BlockExecutionContextV0Setters, +}; use crate::platform_types::block_execution_outcome; use crate::platform_types::block_proposal::v0::BlockProposal; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; @@ -9,6 +12,7 @@ use crate::platform_types::state_transitions_processing_result::StateTransitionE use crate::rpc::core::CoreRPCLike; use dpp::dashcore::hashes::Hash; use dpp::version::TryIntoPlatformVersioned; +use drive::grovedb_storage::Error::RocksDBError; use tenderdash_abci::proto::abci as proto; use tenderdash_abci::proto::abci::tx_record::TxAction; use tenderdash_abci::proto::abci::{ExecTxResult, TxRecord}; @@ -33,6 +37,8 @@ where let last_committed_core_height = platform_state.last_committed_core_height(); + let starting_platform_version = platform_state.current_platform_version()?; + let core_chain_lock_update = match app.platform().core_rpc.get_best_chain_lock() { Ok(latest_chain_lock) => { if platform_state.last_committed_block_info().is_none() @@ -87,11 +93,15 @@ where if transaction_guard.is_none() { Err(Error::Abci(AbciError::BadRequest("received a prepare proposal request for the genesis height before an init chain request".to_string())))?; }; - if request.round > 0 { - transaction_guard - .as_ref() - .map(|tx| tx.rollback_to_savepoint()); - }; + tracing::debug!( + "rolling back to savepoint to process genesis proposal for round: {}", + request.round, + ); + if let Some(tx) = transaction_guard.as_ref() { + tx.rollback_to_savepoint() + .map_err(|e| drive::grovedb::error::Error::StorageError(RocksDBError(e)))?; + tx.set_savepoint(); + } transaction_guard } else { app.start_transaction(); @@ -103,9 +113,13 @@ where .expect("transaction must be started"); // Running the proposal executes all the state transitions for the block - let mut run_result = - app.platform() - .run_block_proposal(block_proposal, true, &platform_state, transaction)?; + let mut run_result = app.platform().run_block_proposal( + block_proposal, + true, + &platform_state, + transaction, + Some(&timer), + )?; if !run_result.is_valid() { // This is a system error, because we are proposing @@ -120,6 +134,8 @@ where mut block_execution_context, } = run_result.into_data().map_err(Error::Protocol)?; + let epoch_info = block_execution_context.epoch_info(); + // We need to let Tenderdash know about the transactions we should remove from execution let valid_tx_count = state_transitions_result.valid_count(); let failed_tx_count = state_transitions_result.failed_count(); @@ -147,17 +163,37 @@ where // Such state transitions must be invalidated by check tx, but they might // still be added to mempool due to inconsistency between check tx and tx processing // (fees calculation) or malicious proposer. - StateTransitionExecutionResult::UnpaidConsensusError(..) => TxAction::Removed, + StateTransitionExecutionResult::UnpaidConsensusError(consensus_error) => { + tracing::trace!( + "UnpaidConsensusError at height {}, round {}: {:?}", + request.height, + request.round, + consensus_error + ); + TxAction::Removed + } // We shouldn't include in the block any state transitions that produced an internal error // during execution - StateTransitionExecutionResult::InternalError(..) => TxAction::Removed, + StateTransitionExecutionResult::InternalError(error_message) => { + tracing::debug!( + "InternalError at height {}, round {}: {}", + request.height, + request.round, + error_message + ); + TxAction::Removed + } + // State Transition was not executed as it reached the maximum time limit + StateTransitionExecutionResult::NotExecuted(..) => TxAction::Delayed, }; - let tx_result: ExecTxResult = + let tx_result: Option = state_transition_execution_result.try_into_platform_versioned(platform_version)?; - if tx_action != TxAction::Removed { - tx_results.push(tx_result); + if let Some(result) = tx_result { + if tx_action != TxAction::Removed { + tx_results.push(result); + } } tx_records.push(TxRecord { @@ -186,8 +222,12 @@ where signature: chain_lock.signature.to_bytes().to_vec(), }), validator_set_update, - // TODO: implement consensus param updates - consensus_param_updates: None, + consensus_param_updates: consensus_params_update( + app.platform().config.network, + starting_platform_version, + platform_version, + epoch_info, + )?, app_version: platform_version.protocol_version as u64, }; diff --git a/packages/rs-drive-abci/src/abci/handler/process_proposal.rs b/packages/rs-drive-abci/src/abci/handler/process_proposal.rs index 88d2feea3a5..5bf547e14a7 100644 --- a/packages/rs-drive-abci/src/abci/handler/process_proposal.rs +++ b/packages/rs-drive-abci/src/abci/handler/process_proposal.rs @@ -1,6 +1,7 @@ use crate::abci::app::{BlockExecutionApplication, PlatformApplication, TransactionalApplication}; use crate::abci::AbciError; use crate::error::Error; +use crate::execution::engine::consensus_params_update::consensus_params_update; use crate::execution::types::block_execution_context::v0::{ BlockExecutionContextV0Getters, BlockExecutionContextV0MutableGetters, }; @@ -8,9 +9,11 @@ use crate::execution::types::block_state_info::v0::{ BlockStateInfoV0Getters, BlockStateInfoV0Setters, }; use crate::platform_types::block_execution_outcome; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::state_transitions_processing_result::StateTransitionExecutionResult; use crate::rpc::core::CoreRPCLike; use dpp::version::TryIntoPlatformVersioned; +use drive::grovedb_storage::Error::RocksDBError; use tenderdash_abci::proto::abci as proto; use tenderdash_abci::proto::abci::tx_record::TxAction; @@ -70,6 +73,7 @@ where )))?; } } else { + // we were the proposer let Some(proposal_info) = block_execution_context.proposer_results() else { Err(Error::Abci(AbciError::BadRequest( "received a process proposal request twice".to_string(), @@ -154,10 +158,14 @@ where if transaction_guard.is_none() { Err(Error::Abci(AbciError::BadRequest("received a process proposal request for the genesis height before an init chain request".to_string())))?; } - if request.round > 0 { - transaction_guard - .as_ref() - .map(|tx| tx.rollback_to_savepoint()); + tracing::debug!( + "rolling back to savepoint to process genesis proposal for round: {}", + request.round, + ); + if let Some(tx) = transaction_guard.as_ref() { + tx.rollback_to_savepoint() + .map_err(|e| drive::grovedb::error::Error::StorageError(RocksDBError(e)))?; + tx.set_savepoint(); } transaction_guard } else { @@ -171,12 +179,15 @@ where let platform_state = app.platform().state.load(); + let starting_platform_version = platform_state.current_platform_version()?; + // Running the proposal executes all the state transitions for the block let run_result = app.platform().run_block_proposal( (&request).try_into()?, false, &platform_state, transaction, + None, )?; if !run_result.is_valid() { @@ -205,6 +216,8 @@ where block_execution_context, } = run_result.into_data().map_err(Error::Protocol)?; + let epoch_info = *block_execution_context.epoch_info(); + app.block_execution_context() .write() .unwrap() @@ -255,7 +268,11 @@ where | StateTransitionExecutionResult::PaidConsensusError(..) ) }) - .map(|execution_result| execution_result.try_into_platform_versioned(platform_version)) + .filter_map(|execution_result| { + execution_result + .try_into_platform_versioned(platform_version) + .transpose() + }) .collect::>()?; let response = proto::ResponseProcessProposal { @@ -263,8 +280,12 @@ where tx_results, status: proto::response_process_proposal::ProposalStatus::Accept.into(), validator_set_update, - // TODO: Implement consensus param updates - consensus_param_updates: None, + consensus_param_updates: consensus_params_update( + app.platform().config.network, + starting_platform_version, + platform_version, + &epoch_info, + )?, events: Vec::new(), }; diff --git a/packages/rs-drive-abci/src/config.rs b/packages/rs-drive-abci/src/config.rs index c2368796ede..8e8f449aac7 100644 --- a/packages/rs-drive-abci/src/config.rs +++ b/packages/rs-drive-abci/src/config.rs @@ -1,41 +1,15 @@ -// MIT LICENSE -// -// Copyright (c) 2021 Dash Core Group -// -// Permission is hereby granted, free of charge, to any -// person obtaining a copy of this software and associated -// documentation files (the "Software"), to deal in the -// Software without restriction, including without -// limitation the rights to use, copy, modify, merge, -// publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software -// is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice -// shall be included in all copies or substantial portions -// of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -use bincode::{Decode, Encode}; -use dashcore_rpc::json::QuorumType; -use std::path::PathBuf; - use crate::logging::LogConfigs; +use crate::utils::from_str_or_number; use crate::{abci::config::AbciConfig, error::Error}; +use bincode::{Decode, Encode}; +use dashcore_rpc::json::QuorumType; +use dpp::dashcore::Network; use dpp::util::deserializer::ProtocolVersion; use dpp::version::INITIAL_PROTOCOL_VERSION; use drive::config::DriveConfig; -use serde::{de::DeserializeOwned, Deserialize, Serialize}; +use serde::{de::DeserializeOwned, Deserialize, Deserializer, Serialize}; +use std::path::PathBuf; +use std::str::FromStr; /// Configuration for Dash Core RPC client used in consensus logic #[derive(Clone, Debug, Serialize, Deserialize, Default)] @@ -98,7 +72,7 @@ impl CheckTxCoreRpcConfig { } /// Configuration for Dash Core related things -#[derive(Clone, Debug, Serialize, Deserialize, Default)] +#[derive(Clone, Debug, Serialize, Deserialize)] #[serde(default)] pub struct CoreConfig { /// Core RPC config for consensus @@ -109,6 +83,15 @@ pub struct CoreConfig { pub check_tx_rpc: CheckTxCoreRpcConfig, } +impl Default for CoreConfig { + fn default() -> Self { + Self { + consensus_rpc: Default::default(), + check_tx_rpc: Default::default(), + } + } +} + /// Configuration of the execution part of Dash Platform. #[derive(Clone, Debug, Serialize, Deserialize)] // NOTE: in renames, we use lower_snake_case, because uppercase does not work; see @@ -131,18 +114,6 @@ pub struct ExecutionConfig { pub epoch_time_length_s: u64, } -fn from_str_or_number<'de, D, T>(deserializer: D) -> Result -where - D: serde::Deserializer<'de>, - T: serde::Deserialize<'de> + std::str::FromStr, - ::Err: std::fmt::Display, -{ - use serde::de::Error; - - let s = String::deserialize(deserializer)?; - s.parse::().map_err(Error::custom) -} - /// Configuration of Dash Platform. /// /// All fields in this struct can be configured using environment variables. @@ -158,10 +129,12 @@ where /// `` /// /// [`verify_sum_trees`]: PlatformConfig::verify_sum_trees -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Serialize)] // NOTE: in renames, we use lower_snake_case, because uppercase does not work; see // https://github.com/softprops/envy/issues/61 and https://github.com/softprops/envy/pull/69 pub struct PlatformConfig { + /// The network type + pub network: Network, /// Drive configuration #[serde(flatten)] pub drive: DriveConfig, @@ -208,17 +181,15 @@ pub struct PlatformConfig { pub block_spacing_ms: u64, /// Initial protocol version - #[serde(default = "PlatformConfig::default_initial_protocol_version")] pub initial_protocol_version: ProtocolVersion, /// Path to data storage pub db_path: PathBuf, /// Path to store rejected / invalid items (like transactions). - /// Used mainly for debuggig. + /// Used mainly for debugging. /// /// If not set, rejected and invalid items will not be stored. - #[serde(default)] pub rejections_path: Option, #[cfg(feature = "testing-config")] @@ -231,14 +202,106 @@ pub struct PlatformConfig { // TODO: Use from_str_to_socket_address /// Tokio console address to connect to - #[serde(default = "PlatformConfig::default_tokio_console_address")] pub tokio_console_address: String, /// Number of seconds to store task information if there is no clients connected + pub tokio_console_retention_secs: u64, +} + +// Define an intermediate struct that mirrors PlatformConfig +#[derive(Deserialize)] +struct PlatformConfigIntermediate { + /// The network type + #[serde( + default = "PlatformConfig::default_network", + deserialize_with = "from_str_to_network_with_aliases" + )] + pub network: Network, + /// Drive configuration + #[serde(flatten)] + pub drive: DriveConfig, + // Include all other fields + #[serde(flatten)] + pub core: CoreConfig, + #[serde(flatten)] + pub abci: AbciConfig, + pub prometheus_bind_address: Option, + pub grpc_bind_address: String, + #[serde(flatten)] + pub execution: ExecutionConfig, + #[serde(flatten)] + pub validator_set: ValidatorSetConfig, + #[serde(flatten)] + pub chain_lock: ChainLockConfig, + #[serde(flatten)] + pub instant_lock: InstantLockConfig, + pub block_spacing_ms: u64, + #[serde(default = "PlatformConfig::default_initial_protocol_version")] + pub initial_protocol_version: ProtocolVersion, + pub db_path: PathBuf, + #[serde(default)] + pub rejections_path: Option, + #[cfg(feature = "testing-config")] + #[serde(skip)] + pub testing_configs: PlatformTestConfig, + pub tokio_console_enabled: bool, + #[serde(default = "PlatformConfig::default_tokio_console_address")] + pub tokio_console_address: String, #[serde(default = "PlatformConfig::default_tokio_console_retention_secs")] pub tokio_console_retention_secs: u64, } +impl<'de> Deserialize<'de> for PlatformConfig { + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + // First, deserialize into an intermediate struct + let mut config = PlatformConfigIntermediate::deserialize(deserializer)?; + + // Set drive.network = network + config.drive.network = config.network; + + // Convert the intermediate struct into your actual PlatformConfig + Ok(PlatformConfig { + network: config.network, + drive: config.drive, + // Copy other fields + core: config.core, + abci: config.abci, + prometheus_bind_address: config.prometheus_bind_address, + grpc_bind_address: config.grpc_bind_address, + execution: config.execution, + validator_set: config.validator_set, + chain_lock: config.chain_lock, + instant_lock: config.instant_lock, + block_spacing_ms: config.block_spacing_ms, + initial_protocol_version: config.initial_protocol_version, + db_path: config.db_path, + rejections_path: config.rejections_path, + #[cfg(feature = "testing-config")] + testing_configs: config.testing_configs, + tokio_console_enabled: config.tokio_console_enabled, + tokio_console_address: config.tokio_console_address, + tokio_console_retention_secs: config.tokio_console_retention_secs, + }) + } +} + +fn from_str_to_network_with_aliases<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + let network_name = String::deserialize(deserializer)?; + + match network_name.as_str() { + "mainnet" => Ok(Network::Dash), + "local" => Ok(Network::Regtest), + _ => Network::from_str(network_name.as_str()) + .map_err(|e| serde::de::Error::custom(format!("can't parse network name: {e}"))), + } +} + /// A config suitable for a quorum configuration pub trait QuorumLikeConfig: Sized { /// Quorum type @@ -569,6 +632,10 @@ impl PlatformConfig { INITIAL_PROTOCOL_VERSION } + fn default_network() -> Network { + Network::Dash + } + fn default_tokio_console_address() -> String { String::from("127.0.0.1:6669") } @@ -617,10 +684,23 @@ impl Default for PlatformConfig { } } -#[allow(missing_docs)] +/// The platform config impl PlatformConfig { + /// The default depending on the network + pub fn default_for_network(network: Network) -> Self { + match network { + Network::Dash => Self::default_mainnet(), + Network::Testnet => Self::default_testnet(), + Network::Devnet => Self::default_devnet(), + Network::Regtest => Self::default_local(), + _ => Self::default_testnet(), + } + } + + /// The default local config pub fn default_local() -> Self { Self { + network: Network::Regtest, validator_set: ValidatorSetConfig { quorum_type: QuorumType::LlmqTestPlatform, quorum_size: 3, @@ -660,8 +740,53 @@ impl PlatformConfig { } } + /// The default devnet config + pub fn default_devnet() -> Self { + Self { + network: Network::Regtest, + validator_set: ValidatorSetConfig { + quorum_type: QuorumType::LlmqDevnetPlatform, + quorum_size: 12, + quorum_window: 24, + quorum_active_signers: 8, + quorum_rotation: false, + }, + chain_lock: ChainLockConfig { + quorum_type: QuorumType::LlmqDevnetPlatform, + quorum_size: 12, + quorum_window: 24, + quorum_active_signers: 8, + quorum_rotation: false, + }, + instant_lock: InstantLockConfig { + quorum_type: QuorumType::LlmqDevnetDip0024, + quorum_active_signers: 4, + quorum_size: 8, + quorum_window: 48, + quorum_rotation: true, + }, + block_spacing_ms: 5000, + drive: Default::default(), + abci: Default::default(), + core: Default::default(), + execution: Default::default(), + db_path: PathBuf::from("/var/lib/dash-platform/data"), + rejections_path: Some(PathBuf::from("/var/log/dash/rejected")), + #[cfg(feature = "testing-config")] + testing_configs: PlatformTestConfig::default(), + tokio_console_enabled: false, + tokio_console_address: PlatformConfig::default_tokio_console_address(), + tokio_console_retention_secs: PlatformConfig::default_tokio_console_retention_secs(), + initial_protocol_version: Self::default_initial_protocol_version(), + prometheus_bind_address: None, + grpc_bind_address: "127.0.0.1:26670".to_string(), + } + } + + /// The default testnet config pub fn default_testnet() -> Self { Self { + network: Network::Testnet, validator_set: ValidatorSetConfig { quorum_type: QuorumType::Llmq25_67, quorum_size: 25, @@ -684,7 +809,7 @@ impl PlatformConfig { quorum_rotation: true, }, block_spacing_ms: 5000, - drive: Default::default(), + drive: DriveConfig::default_testnet(), abci: Default::default(), core: Default::default(), execution: Default::default(), @@ -701,8 +826,10 @@ impl PlatformConfig { } } + /// The default mainnet config pub fn default_mainnet() -> Self { Self { + network: Network::Dash, validator_set: ValidatorSetConfig { quorum_type: QuorumType::Llmq100_67, quorum_size: 100, @@ -755,6 +882,8 @@ pub struct PlatformTestConfig { pub block_commit_signature_verification: bool, /// Disable instant lock signature verification pub disable_instant_lock_signature_verification: bool, + /// Disable temporarily disabled contested documents validation + pub disable_contested_documents_is_allowed_validation: bool, } #[cfg(feature = "testing-config")] @@ -766,6 +895,7 @@ impl PlatformTestConfig { store_platform_state: false, block_commit_signature_verification: false, disable_instant_lock_signature_verification: true, + disable_contested_documents_is_allowed_validation: true, } } } @@ -778,6 +908,7 @@ impl Default for PlatformTestConfig { store_platform_state: true, block_commit_signature_verification: true, disable_instant_lock_signature_verification: false, + disable_contested_documents_is_allowed_validation: true, } } } @@ -787,6 +918,7 @@ mod tests { use super::FromEnv; use crate::logging::LogDestination; use dashcore_rpc::dashcore_rpc_json::QuorumType; + use dpp::dashcore::Network; use std::env; #[test] @@ -818,4 +950,22 @@ mod tests { matches!(config.abci.log[id.0].destination, LogDestination::Bytes); } } + + #[test] + #[ignore] + //todo: re-enable + fn test_config_from_testnet_propagates_network() { + // ABCI log configs are parsed manually, so they deserve separate handling + // Note that STDOUT is also defined in .env.example, but env var should overwrite it. + + let envfile = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")).join(".env.testnet"); + + dotenvy::from_path(envfile.as_path()).expect("cannot load .env file"); + + let config = super::PlatformConfig::from_env().expect("expected config from env"); + assert!(config.execution.verify_sum_trees); + assert_eq!(config.validator_set.quorum_type, QuorumType::Llmq25_67); + assert_eq!(config.network, config.drive.network); + assert_eq!(config.network, Network::Testnet); + } } diff --git a/packages/rs-drive-abci/src/error/mod.rs b/packages/rs-drive-abci/src/error/mod.rs index 3bf2c4aa97f..5ada5f06b44 100644 --- a/packages/rs-drive-abci/src/error/mod.rs +++ b/packages/rs-drive-abci/src/error/mod.rs @@ -75,6 +75,13 @@ impl From for Error { } } +impl From for Error { + fn from(value: drive::grovedb::Error) -> Self { + let drive_error: DriveError = value.into(); + drive_error.into() + } +} + impl From for ResponseException { fn from(value: Error) -> Self { Self { diff --git a/packages/rs-drive-abci/src/error/query.rs b/packages/rs-drive-abci/src/error/query.rs index 0a6e9317031..ba60b25379c 100644 --- a/packages/rs-drive-abci/src/error/query.rs +++ b/packages/rs-drive-abci/src/error/query.rs @@ -40,6 +40,10 @@ pub enum QueryError { #[error("invalid argument error: {0}")] InvalidArgument(String), + /// Too many elements Error + #[error("too many elements error: {0}")] + TooManyElements(String), + /// Not found Error #[error("not found error: {0}")] NotFound(String), diff --git a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs index f0cea33990b..d24ce2361d2 100644 --- a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs @@ -154,7 +154,7 @@ where check_tx_result.unique_identifiers = state_transition.unique_identifiers(); let validation_result = state_transition_to_execution_event_for_check_tx( - &platform_ref, + platform_ref, state_transition, check_tx_level, platform_version, @@ -368,6 +368,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -479,6 +481,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -678,6 +682,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -829,6 +835,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -974,6 +982,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1088,6 +1098,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1167,6 +1179,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1294,6 +1308,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1411,6 +1427,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); diff --git a/packages/rs-drive-abci/src/execution/engine/consensus_params_update/mod.rs b/packages/rs-drive-abci/src/execution/engine/consensus_params_update/mod.rs new file mode 100644 index 00000000000..16319d77461 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/engine/consensus_params_update/mod.rs @@ -0,0 +1,34 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::execution::engine::consensus_params_update::v0::consensus_params_update_v0; +use crate::platform_types::epoch_info::EpochInfo; +use dpp::dashcore::Network; +use dpp::version::PlatformVersion; +use tenderdash_abci::proto::types::ConsensusParams; + +mod v0; +pub(crate) fn consensus_params_update( + network: Network, + original_platform_version: &PlatformVersion, + new_platform_version: &PlatformVersion, + epoch_info: &EpochInfo, +) -> Result, Error> { + match new_platform_version + .drive_abci + .methods + .engine + .consensus_params_update + { + 0 => Ok(consensus_params_update_v0( + network, + original_platform_version, + new_platform_version, + epoch_info, + )), + version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { + method: "consensus_params_update".to_string(), + known_versions: vec![0], + received: version, + })), + } +} diff --git a/packages/rs-drive-abci/src/execution/engine/consensus_params_update/v0/mod.rs b/packages/rs-drive-abci/src/execution/engine/consensus_params_update/v0/mod.rs new file mode 100644 index 00000000000..608fb7cc39f --- /dev/null +++ b/packages/rs-drive-abci/src/execution/engine/consensus_params_update/v0/mod.rs @@ -0,0 +1,73 @@ +use crate::platform_types::epoch_info::v0::EpochInfoV0Methods; +use crate::platform_types::epoch_info::EpochInfo; +use dpp::dashcore::Network; +use dpp::version::PlatformVersion; +use tenderdash_abci::proto::types::{ConsensusParams, VersionParams}; + +#[inline(always)] +pub(super) fn consensus_params_update_v0( + network: Network, + original_platform_version: &PlatformVersion, + new_platform_version: &PlatformVersion, + epoch_info: &EpochInfo, +) -> Option { + // These are emergency consensus updates + match network { + Network::Dash => { + if epoch_info.is_first_block_of_epoch(3) { + return Some(ConsensusParams { + block: None, + evidence: None, + validator: None, + version: Some(VersionParams { + app_version: new_platform_version.protocol_version as u64, + consensus_version: 1, + }), + synchrony: None, + timeout: None, + abci: None, + }); + } + } + Network::Testnet => { + if epoch_info.is_first_block_of_epoch(1480) { + return Some(ConsensusParams { + block: None, + evidence: None, + validator: None, + version: Some(VersionParams { + app_version: new_platform_version.protocol_version as u64, + consensus_version: 1, + }), + synchrony: None, + timeout: None, + abci: None, + }); + } + } + _ => {} + } + + // These are normal consensus updates + if original_platform_version + .consensus + .tenderdash_consensus_version + == new_platform_version.consensus.tenderdash_consensus_version + { + None + } else { + Some(ConsensusParams { + block: None, + evidence: None, + validator: None, + version: Some(VersionParams { + app_version: new_platform_version.protocol_version as u64, + consensus_version: new_platform_version.consensus.tenderdash_consensus_version + as i32, + }), + synchrony: None, + timeout: None, + abci: None, + }) + } +} diff --git a/packages/rs-drive-abci/src/execution/engine/finalize_block_proposal/v0/mod.rs b/packages/rs-drive-abci/src/execution/engine/finalize_block_proposal/v0/mod.rs index c56272b61d5..ecfc3d6edf3 100644 --- a/packages/rs-drive-abci/src/execution/engine/finalize_block_proposal/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/engine/finalize_block_proposal/v0/mod.rs @@ -8,8 +8,6 @@ use dpp::block::block_info::BlockInfo; use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0; use dpp::version::PlatformVersion; -use dpp::dashcore::bls_sig_utils::BLSSignature; - use tenderdash_abci::{ proto::{serializers::timestamp::ToMilis, types::BlockId as ProtoBlockId}, signatures::Hashable, @@ -19,8 +17,7 @@ use crate::abci::AbciError; use crate::error::Error; use crate::execution::types::block_execution_context::v0::{ - BlockExecutionContextV0Getters, BlockExecutionContextV0MutableGetters, - BlockExecutionContextV0OwnedGetters, + BlockExecutionContextV0Getters, BlockExecutionContextV0OwnedGetters, }; use crate::execution::types::block_execution_context::BlockExecutionContext; use crate::execution::types::block_state_info::v0::{ @@ -62,7 +59,7 @@ where pub(super) fn finalize_block_proposal_v0( &self, request_finalize_block: FinalizeBlockCleanedRequest, - mut block_execution_context: BlockExecutionContext, + block_execution_context: BlockExecutionContext, transaction: &Transaction, platform_version: &PlatformVersion, ) -> Result { @@ -74,7 +71,7 @@ where // Let's decompose the request let FinalizeBlockCleanedRequest { - commit: mut commit_info, + commit: commit_info, misbehavior: _, hash, height, @@ -143,16 +140,16 @@ where let expected_withdrawal_transactions = block_execution_context.unsigned_withdrawal_transactions(); - if !expected_withdrawal_transactions - .are_matching_with_vote_extensions(&commit_info.threshold_vote_extensions) - { + let Some(transaction_to_extension_matches) = expected_withdrawal_transactions + .verify_and_match_with_vote_extensions(&commit_info.threshold_vote_extensions) + else { validation_result.add_error(AbciError::VoteExtensionMismatchReceived { got: commit_info.threshold_vote_extensions, - expected: expected_withdrawal_transactions.into(), + expected: (&expected_withdrawal_transactions.clone()).into(), }); return Ok(validation_result.into()); - } + }; // Verify commit @@ -202,34 +199,9 @@ where to_commit_block_info.core_height = block_header.core_chain_locked_height; - // Append signatures and broadcast asset unlock transactions to Core - - // Drain withdrawal transaction instead of cloning - let unsigned_withdrawal_transactions = block_execution_context - .unsigned_withdrawal_transactions_mut() - .drain(); - - if !unsigned_withdrawal_transactions.is_empty() { - // Drain signatures instead of cloning - let signatures = commit_info - .threshold_vote_extensions - .drain(..) - .map(|vote_extension| { - let signature_bytes: [u8; 96] = - vote_extension.signature.try_into().map_err(|e| { - AbciError::BadRequestDataSize(format!( - "invalid votes extension signature size: {}", - hex::encode(e) - )) - })?; - - Ok(BLSSignature::from(signature_bytes)) - }) - .collect::>()?; - + if !transaction_to_extension_matches.is_empty() { self.append_signatures_and_broadcast_withdrawal_transactions( - unsigned_withdrawal_transactions, - signatures, + transaction_to_extension_matches, platform_version, )?; } diff --git a/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs b/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs index 45101b321fd..d190c5c0551 100644 --- a/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs @@ -10,6 +10,7 @@ use drive::grovedb::Transaction; use crate::platform_types::cleaned_abci_messages::request_init_chain_cleaned_params; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::platform_state::PlatformState; +use crate::platform_types::validator_set::ValidatorSetExt; use dpp::version::PlatformVersion; use std::sync::Arc; use tenderdash_abci::proto::abci::{RequestInitChain, ResponseInitChain, ValidatorSetUpdate}; @@ -58,7 +59,12 @@ where }; // Create genesis drive state - self.create_genesis_state(genesis_time, Some(transaction), platform_version)?; + self.create_genesis_state( + core_height, + genesis_time, + Some(transaction), + platform_version, + )?; // Create platform execution state let mut initial_platform_state = PlatformState::default_with_protocol_versions( @@ -100,10 +106,7 @@ where ExecutionError::InitializationError("we should have at least one quorum"), )?; - ( - *validator_set_inner.0, - ValidatorSetUpdate::from(validator_set_inner.1), - ) + (*validator_set_inner.0, validator_set_inner.1.to_update()) }; initial_platform_state.set_current_validator_set_quorum_hash(quorum_hash); diff --git a/packages/rs-drive-abci/src/execution/engine/mod.rs b/packages/rs-drive-abci/src/execution/engine/mod.rs index d996afeda92..086db216f7a 100644 --- a/packages/rs-drive-abci/src/execution/engine/mod.rs +++ b/packages/rs-drive-abci/src/execution/engine/mod.rs @@ -1,3 +1,4 @@ +pub(crate) mod consensus_params_update; mod finalize_block_proposal; /// Initialization /// Init chain is called from abci diff --git a/packages/rs-drive-abci/src/execution/engine/run_block_proposal/mod.rs b/packages/rs-drive-abci/src/execution/engine/run_block_proposal/mod.rs index 86a8b2f6f37..a8420b34b04 100644 --- a/packages/rs-drive-abci/src/execution/engine/run_block_proposal/mod.rs +++ b/packages/rs-drive-abci/src/execution/engine/run_block_proposal/mod.rs @@ -1,5 +1,6 @@ use crate::error::execution::ExecutionError; use crate::error::Error; +use crate::metrics::HistogramTiming; use crate::platform_types::epoch_info::v0::EpochInfoV0Methods; use crate::platform_types::platform::Platform; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; @@ -46,6 +47,7 @@ where known_from_us: bool, platform_state: &PlatformState, transaction: &Transaction, + timer: Option<&HistogramTiming>, ) -> Result, Error> { // Epoch information is always calculated with the last committed platform version @@ -127,6 +129,7 @@ Your software version: {}, latest supported protocol version: {}."#, platform_state, block_platform_state, block_platform_version, + timer, ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "run_block_proposal".to_string(), diff --git a/packages/rs-drive-abci/src/execution/engine/run_block_proposal/v0/mod.rs b/packages/rs-drive-abci/src/execution/engine/run_block_proposal/v0/mod.rs index f7ec5154482..63e1437f7fa 100644 --- a/packages/rs-drive-abci/src/execution/engine/run_block_proposal/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/engine/run_block_proposal/v0/mod.rs @@ -19,7 +19,7 @@ use crate::execution::types::block_state_info::v0::{ BlockStateInfoV0Getters, BlockStateInfoV0Methods, BlockStateInfoV0Setters, }; use crate::execution::types::{block_execution_context, block_state_info}; - +use crate::metrics::HistogramTiming; use crate::platform_types::block_execution_outcome; use crate::platform_types::block_proposal; use crate::platform_types::epoch_info::v0::{EpochInfoV0Getters, EpochInfoV0Methods}; @@ -67,6 +67,7 @@ where last_committed_platform_state: &PlatformState, mut block_platform_state: PlatformState, platform_version: &'static PlatformVersion, + timer: Option<&HistogramTiming>, ) -> Result, Error> { tracing::trace!( @@ -310,6 +311,8 @@ where &block_info, transaction, platform_version, + known_from_us, + timer, )?; // Pool withdrawals into transactions queue @@ -318,6 +321,7 @@ where // Corresponding withdrawal documents are changed from queued to pooled self.pool_withdrawals_into_transactions_queue( &block_info, + &last_committed_platform_state, Some(transaction), platform_version, )?; @@ -328,9 +332,6 @@ where block_execution_context::v0::BlockExecutionContextV0 { block_state_info: block_state_info.into(), epoch_info: epoch_info.clone(), - // TODO: It doesn't seem correct to use previous block count of hpmns. - // We currently not using this field in the codebase. We probably should just remove it. - hpmn_count: last_committed_platform_state.hpmn_list_len() as u32, unsigned_withdrawal_transactions: unsigned_withdrawal_transaction_bytes, block_platform_state, proposer_results: None, diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/mod.rs index ebfe6c3fdfb..af0e181b66d 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/mod.rs @@ -1,4 +1,5 @@ mod v0; +mod v1; use crate::error::execution::ExecutionError; use crate::error::Error; @@ -52,9 +53,14 @@ where platform_state, block_execution_context, ), + 1 => self.validator_set_update_v1( + proposer_pro_tx_hash, + platform_state, + block_execution_context, + ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "validator_set_update".to_string(), - known_versions: vec![0], + known_versions: vec![0, 1], received: version, })), } diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/v0/mod.rs index efc62518801..9d713e04cd9 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/v0/mod.rs @@ -11,6 +11,7 @@ use crate::platform_types::validator_set::v0::ValidatorSetV0Getters; use crate::rpc::core::CoreRPCLike; use itertools::Itertools; +use crate::platform_types::validator_set::ValidatorSetExt; use dpp::dashcore::hashes::Hash; use tenderdash_abci::proto::abci::ValidatorSetUpdate; @@ -92,7 +93,7 @@ where // we also need to perform a rotation if the validator set is being removed tracing::debug!( method = "validator_set_update_v0", - "rotation: new quorums not containing current quorum current {:?}, {}. quorum rotation expected˚", + "rotation: new quorums not containing current quorum current {:?}, {}. quorum rotation expected", block_execution_context .block_platform_state() .validator_sets() @@ -144,7 +145,7 @@ where &quorum_hash, new_validator_set.members().len() ); - let validator_set_update = new_validator_set.into(); + let validator_set_update = new_validator_set.to_update(); block_execution_context .block_platform_state_mut() .set_next_validator_set_quorum_hash(Some(*quorum_hash)); @@ -163,7 +164,7 @@ where "rotation: all quorums changed, rotation to new quorum: {}", &quorum_hash ); - let validator_set_update = new_validator_set.into(); + let validator_set_update = new_validator_set.to_update(); let new_quorum_hash = *quorum_hash; block_execution_context .block_platform_state_mut() @@ -185,7 +186,7 @@ where method = "validator_set_update_v0", "validator set update without rotation" ); - Ok(Some(current_validator_set.into())) + Ok(Some(current_validator_set.to_update())) } else { tracing::debug!( method = "validator_set_update_v0", diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/v1/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/v1/mod.rs new file mode 100644 index 00000000000..b7b8f1372f0 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/v1/mod.rs @@ -0,0 +1,217 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::execution::types::block_execution_context::v0::{ + BlockExecutionContextV0Getters, BlockExecutionContextV0MutableGetters, +}; +use crate::execution::types::block_execution_context::BlockExecutionContext; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::platform_types::validator_set::v0::ValidatorSetV0Getters; +use crate::rpc::core::CoreRPCLike; +use itertools::Itertools; + +use crate::platform_types::validator_set::ValidatorSetExt; +use dpp::dashcore::hashes::Hash; +use tenderdash_abci::proto::abci::ValidatorSetUpdate; + +impl Platform +where + C: CoreRPCLike, +{ + /// We need to validate against the platform state for rotation and not the block execution + /// context state + /// We introduced v1 because the end quorums could be rotating out, giving a small advantage + /// to proposers with a smaller pro_tx_hash + /// To understand this imagine we have proposers + /// `a b c d e f g h i j k` in quorum 24 + /// c is the current proposer + /// Quorum 24 no longer is valid + /// We jump to quorum 0. + /// a b and c just got paid, but the rest did not. + #[inline(always)] + pub(super) fn validator_set_update_v1( + &self, + proposer_pro_tx_hash: [u8; 32], + platform_state: &PlatformState, + block_execution_context: &mut BlockExecutionContext, + ) -> Result, Error> { + let mut perform_rotation = false; + + if let Some(validator_set) = block_execution_context + .block_platform_state() + .validator_sets() + .get(&platform_state.current_validator_set_quorum_hash()) + { + if let Some((last_member_pro_tx_hash, _)) = validator_set.members().last_key_value() { + // we should also perform a rotation if the validator set went through all quorum members + // this means we are at the last member of the quorum + if last_member_pro_tx_hash.as_byte_array() == &proposer_pro_tx_hash { + tracing::debug!( + method = "validator_set_update_v1", + "rotation: quorum finished as we hit last member {} of quorum {}. All known quorums are: [{}]. quorum rotation expected", + hex::encode(proposer_pro_tx_hash), + hex::encode(platform_state.current_validator_set_quorum_hash().as_byte_array()), + block_execution_context + .block_platform_state() + .validator_sets() + .keys() + .map(hex::encode).collect::>().join(" | "), + ); + perform_rotation = true; + } + } else { + // the validator set has no members, very weird, but let's just perform a rotation + tracing::debug!( + method = "validator_set_update_v1", + "rotation: validator set has no members", + ); + perform_rotation = true; + } + + // We should also perform a rotation if there are more than one quorum in the system + // and that the new proposer is on the same quorum and the last proposer but is before + // them in the list of proposers. + // This only works if Tenderdash goes through proposers properly + if &platform_state.last_committed_quorum_hash() + == platform_state + .current_validator_set_quorum_hash() + .as_byte_array() + && platform_state.last_committed_block_proposer_pro_tx_hash() > proposer_pro_tx_hash + && platform_state.validator_sets().len() > 1 + { + // 1 - We haven't changed quorums + // 2 - The new proposer is before the old proposer + // 3 - There are more than one quorum in the system + tracing::debug!( + method = "validator_set_update_v1", + "rotation: quorum finished as we hit last an earlier member {} than last block proposer {} for quorum {}. All known quorums are: [{}]. quorum rotation expected", + hex::encode(proposer_pro_tx_hash), + hex::encode(block_execution_context.block_platform_state().last_committed_block_proposer_pro_tx_hash()), + hex::encode(platform_state.current_validator_set_quorum_hash().as_byte_array()), + block_execution_context + .block_platform_state() + .validator_sets() + .keys() + .map(hex::encode).collect::>().join(" | "), + ); + perform_rotation = true; + } + } else { + // we also need to perform a rotation if the validator set is being removed + tracing::debug!( + method = "validator_set_update_v1", + "rotation: new quorums not containing current quorum current {:?}, {}. quorum rotation expected", + block_execution_context + .block_platform_state() + .validator_sets() + .keys() + .map(|quorum_hash| format!("{}", quorum_hash)), + &platform_state.current_validator_set_quorum_hash() + ); + perform_rotation = true; + } + + //todo: (maybe) perform a rotation if quorum health is low + + if perform_rotation { + // get the index of the previous quorum + let mut index = platform_state + .validator_sets() + .get_index_of(&platform_state.current_validator_set_quorum_hash()) + .ok_or(Error::Execution(ExecutionError::CorruptedCachedState( + format!("perform_rotation: current validator set quorum hash {} not in current known validator sets [{}] processing block {}", platform_state.current_validator_set_quorum_hash(), platform_state + .validator_sets().keys().map(|quorum_hash| quorum_hash.to_string()).join(" | "), + platform_state.last_committed_block_height() + 1, + ))))?; + // we should rotate the quorum + let quorum_count = platform_state.validator_sets().len(); + match quorum_count { + 0 => Err(Error::Execution(ExecutionError::CorruptedCachedState( + "no current quorums".to_string(), + ))), + 1 => Ok(None), // no rotation as we are the only quorum + count => { + let start_index = index; + let oldest_quorum_index_we_can_go_to = if count > 10 { + // if we have a lot of quorums (like on testnet and mainnet) + // we shouldn't start using the last ones as they could cycle out + count - 2 + } else { + count + }; + index = (index + 1) % oldest_quorum_index_we_can_go_to; + // We can't just take the next item because it might no longer be in the state + for _i in 0..oldest_quorum_index_we_can_go_to { + let (quorum_hash, _) = platform_state + .validator_sets() + .get_index(index) + .expect("expected next validator set"); + + // We still have it in the state + if let Some(new_validator_set) = block_execution_context + .block_platform_state() + .validator_sets() + .get(quorum_hash) + { + tracing::debug!( + method = "validator_set_update_v1", + "rotation: to new quorum: {} with {} members", + &quorum_hash, + new_validator_set.members().len() + ); + let validator_set_update = new_validator_set.to_update(); + block_execution_context + .block_platform_state_mut() + .set_next_validator_set_quorum_hash(Some(*quorum_hash)); + return Ok(Some(validator_set_update)); + } + index = (index + 1) % oldest_quorum_index_we_can_go_to; + if index == start_index { + break; + } + } + // All quorums changed + if let Some((quorum_hash, new_validator_set)) = block_execution_context + .block_platform_state() + .validator_sets() + .first() + { + tracing::debug!( + method = "validator_set_update_v1", + "rotation: all quorums changed, rotation to new quorum: {}", + &quorum_hash + ); + let validator_set_update = new_validator_set.to_update(); + let new_quorum_hash = *quorum_hash; + block_execution_context + .block_platform_state_mut() + .set_next_validator_set_quorum_hash(Some(new_quorum_hash)); + return Ok(Some(validator_set_update)); + } + tracing::debug!("no new quorums to choose from"); + Ok(None) + } + } + } else { + let current_validator_set = block_execution_context + .block_platform_state() + .current_validator_set()?; + if current_validator_set != platform_state.current_validator_set()? { + // Something changed, for example the IP of a validator changed, or someone's ban status + + tracing::debug!( + method = "validator_set_update_v1", + "validator set update without rotation" + ); + Ok(Some(current_validator_set.to_update())) + } else { + tracing::debug!( + method = "validator_set_update_v1", + "no validator set update", + ); + Ok(None) + } + } + } +} diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/mod.rs index 189389678ac..96bdf8d2936 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/mod.rs @@ -1,7 +1,7 @@ mod v0; use dpp::version::PlatformVersion; -use drive::grovedb::Transaction; +use drive::grovedb::TransactionArg; use drive::util::batch::DriveOperation; use crate::error::Error; @@ -42,7 +42,7 @@ impl Platform { &self, block_execution_context: &BlockExecutionContext, block_fees: &BlockFees, - transaction: &Transaction, + transaction: TransactionArg, batch: &mut Vec, platform_version: &PlatformVersion, ) -> Result, Error> diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/v0/mod.rs index cd34051daa8..f02ff1e8c45 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/add_process_epoch_change_operations/v0/mod.rs @@ -39,7 +39,7 @@ use dpp::block::epoch::Epoch; use dpp::fee::epoch::{perpetual_storage_epochs, GENESIS_EPOCH_INDEX}; use dpp::version::PlatformVersion; use drive::error; -use drive::grovedb::Transaction; +use drive::grovedb::TransactionArg; use drive::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; use drive::util::batch::{DriveOperation, GroveDbOpBatch}; @@ -80,7 +80,7 @@ impl Platform { &self, block_execution_context: &BlockExecutionContext, block_fees: &BlockFees, - transaction: &Transaction, + transaction: TransactionArg, batch: &mut Vec, platform_version: &PlatformVersion, ) -> Result, Error> @@ -145,7 +145,7 @@ impl Platform { let storage_fee_distribution_outcome = self .add_distribute_storage_fee_to_epochs_operations( current_epoch.index, - Some(transaction), + transaction, &mut inner_batch, platform_version, )?; @@ -154,7 +154,7 @@ impl Platform { .add_delete_pending_epoch_refunds_except_specified_operations( &mut inner_batch, block_fees.refunds_per_epoch(), - Some(transaction), + transaction, &platform_version.drive, )?; @@ -182,7 +182,7 @@ mod tests { use crate::platform_types::platform_state::PlatformState; use dpp::block::block_info::BlockInfo; use dpp::fee::epoch::CreditsPerEpoch; - + use drive::grovedb::Transaction; use platform_version::version::INITIAL_PROTOCOL_VERSION; /// Process and validate an epoch change @@ -272,7 +272,6 @@ mod tests { let block_execution_context = BlockExecutionContextV0 { block_state_info: block_info.clone().into(), epoch_info, - hpmn_count: 0, unsigned_withdrawal_transactions: Default::default(), block_platform_state, proposer_results: None, @@ -284,7 +283,7 @@ mod tests { .add_process_epoch_change_operations_v0( &block_execution_context.into(), &block_fees, - transaction, + Some(transaction), &mut batch, platform_version, ) diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/process_block_fees/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/process_block_fees/v0/mod.rs index fa97f7107b3..4bb341a678e 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/process_block_fees/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/process_block_fees/v0/mod.rs @@ -65,7 +65,7 @@ impl Platform { self.add_process_epoch_change_operations( block_execution_context, &block_fees, - transaction, + Some(transaction), &mut batch, platform_version, )? @@ -268,7 +268,6 @@ mod tests { let block_execution_context = BlockExecutionContextV0 { block_state_info: block_info.clone().into(), epoch_info: epoch_info.clone(), - hpmn_count: 0, unsigned_withdrawal_transactions: Default::default(), block_platform_state, proposer_results: None, @@ -363,7 +362,7 @@ mod tests { ..Default::default() }) .build_with_mock_rpc() - .set_initial_state_structure(); + .set_genesis_state_with_activation_info(0, 1); let transaction = platform.drive.grove.start_transaction(); diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/tests.rs b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/tests.rs index a49b7caee94..fcbf1e8314a 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/tests.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/block_fee_processing/tests.rs @@ -1,11 +1,12 @@ #[cfg(test)] mod refund_tests { use crate::execution::validation::state_transition::tests::{ - fast_forward_to_block, fetch_expected_identity_balance, process_state_transitions, + fetch_expected_identity_balance, process_state_transitions, setup_identity_with_system_credits, }; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::rpc::core::MockCoreRPCLike; + use crate::test::helpers::fast_forward_to_block::fast_forward_to_block; use crate::test::helpers::setup::{TempPlatform, TestPlatformBuilder}; use dpp::block::block_info::BlockInfo; use dpp::dash_to_credits; @@ -388,7 +389,7 @@ mod refund_tests { let (document, insertion_fee_result, current_user_balance) = setup_initial_document(&platform, profile, &mut rng, &identity, &key, &signer); - fast_forward_to_block(&platform, 1_200_000_000, 900, 1); //next epoch + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch let documents_batch_delete_transition = DocumentsBatchTransition::new_document_deletion_transition_from_document( @@ -487,7 +488,7 @@ mod refund_tests { let (document, insertion_fee_result, current_user_balance) = setup_initial_document(&platform, profile, &mut rng, &identity, &key, &signer); - fast_forward_to_block(&platform, 1_200_000_000, 900, 40); //a year later + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 40, false); //a year later let documents_batch_delete_transition = DocumentsBatchTransition::new_document_deletion_transition_from_document( @@ -582,7 +583,7 @@ mod refund_tests { let (document, insertion_fee_result, current_user_balance) = setup_initial_document(&platform, profile, &mut rng, &identity, &key, &signer); - fast_forward_to_block(&platform, 10_200_000_000, 9000, 40 * 25); //25 years later + fast_forward_to_block(&platform, 10_200_000_000, 9000, 42, 40 * 25, false); //25 years later let documents_batch_delete_transition = DocumentsBatchTransition::new_document_deletion_transition_from_document( @@ -677,7 +678,7 @@ mod refund_tests { let (document, _, current_user_balance) = setup_initial_document(&platform, profile, &mut rng, &identity, &key, &signer); - fast_forward_to_block(&platform, 10_200_000_000, 9000, 40 * 50); //50 years later + fast_forward_to_block(&platform, 10_200_000_000, 9000, 42, 40 * 50, false); //50 years later let documents_batch_delete_transition = DocumentsBatchTransition::new_document_deletion_transition_from_document( @@ -773,7 +774,7 @@ mod refund_tests { let (document, insertion_fee_result, current_user_balance) = setup_initial_document(&platform, profile, &mut rng, &identity, &key, &signer); - fast_forward_to_block(&platform, 1_200_000_000, 900, 10); //next epoch + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 10, false); //next epoch let documents_batch_delete_transition = DocumentsBatchTransition::new_document_deletion_transition_from_document( @@ -822,8 +823,8 @@ mod refund_tests { .calculate_refunds_amount_for_identity(identity.id()) .expect("expected refunds for identity"); - println!("{}", insertion_fee_result.storage_fee); - println!("{}", refund_amount); + // println!("{}", insertion_fee_result.storage_fee); + // println!("{}", refund_amount); // we should be refunding around 21% after 25 years. let refunded_percentage = refund_amount * 100 / insertion_fee_result.storage_fee; diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/create_owner_identity/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/create_owner_identity/v0/mod.rs index eb4da99b897..18028f7a314 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/create_owner_identity/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/create_owner_identity/v0/mod.rs @@ -17,7 +17,7 @@ where ) -> Result { let owner_identifier = Self::get_owner_identifier(masternode)?; let mut identity = Identity::create_basic_identity(owner_identifier, platform_version)?; - identity.add_public_keys([Self::get_owner_identity_key( + identity.add_public_keys([Self::get_owner_identity_withdrawal_key( masternode.state.payout_address, 0, platform_version, diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/mod.rs index 6393d8e0c43..3ae057fbb17 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/mod.rs @@ -26,7 +26,7 @@ where /// # Returns /// /// * Result - Returns the derived identity public key if successful. Otherwise, returns an error. - pub(crate) fn get_owner_identity_key( + pub(crate) fn get_owner_identity_withdrawal_key( payout_address: [u8; 20], key_id: KeyID, platform_version: &PlatformVersion, @@ -36,11 +36,11 @@ where .methods .core_based_updates .masternode_updates - .get_owner_identity_key + .get_owner_identity_withdrawal_key { - 0 => Self::get_owner_identity_key_v0(payout_address, key_id), + 0 => Self::get_owner_identity_withdrawal_key_v0(payout_address, key_id), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { - method: "get_owner_identity_key".to_string(), + method: "get_owner_identity_withdrawal_key".to_string(), known_versions: vec![0], received: version, })), diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/v0/mod.rs index eb478c5acca..cec144d34a5 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/get_owner_identity_key/v0/mod.rs @@ -9,7 +9,7 @@ impl Platform where C: CoreRPCLike, { - pub(super) fn get_owner_identity_key_v0( + pub(super) fn get_owner_identity_withdrawal_key_v0( payout_address: [u8; 20], key_id: KeyID, ) -> Result { diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_masternode_identities/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_masternode_identities/v0/mod.rs index 751abd32be2..0b7af918d53 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_masternode_identities/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_masternode_identities/v0/mod.rs @@ -15,6 +15,7 @@ use drive::util::batch::IdentityOperationType::AddNewIdentity; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use dpp::dashcore::hashes::Hash; use drive::grovedb::Transaction; use std::collections::BTreeMap; use tracing::Level; @@ -100,13 +101,19 @@ where // On initialization there is no platform state, but we also don't need to update // masternode identities. for update in updated_mns.iter() { - self.update_owner_withdrawal_address( - update, - block_info, - transaction, - &mut drive_operations, - platform_version, - )?; + let (pro_tx_hash, state_diff) = update; + if let Some(new_withdrawal_address) = state_diff.payout_address { + let owner_identifier: [u8; 32] = pro_tx_hash.to_byte_array(); + self.update_owner_withdrawal_address( + owner_identifier, + new_withdrawal_address, + block_info, + transaction, + &mut drive_operations, + platform_version, + )?; + }; + self.update_voter_identity( update, block_info, @@ -115,14 +122,21 @@ where &mut drive_operations, platform_version, )?; - self.update_operator_identity( - update, - block_info, - platform_state, - transaction, - &mut drive_operations, - platform_version, - )?; + if state_diff.platform_node_id.is_some() + || state_diff.operator_payout_address.is_some() + || state_diff.pub_key_operator.is_some() + { + self.update_operator_identity( + pro_tx_hash, + state_diff.pub_key_operator.as_ref(), + state_diff.operator_payout_address, + state_diff.platform_node_id, + platform_state, + transaction, + &mut drive_operations, + platform_version, + )?; + } } for masternode in removed_masternodes.values() { @@ -136,14 +150,14 @@ where } } - let previous_fee_verions = platform_state.map(|state| state.previous_fee_versions()); + let previous_fee_versions = platform_state.map(|state| state.previous_fee_versions()); self.drive.apply_drive_operations( drive_operations, true, block_info, Some(transaction), platform_version, - previous_fee_verions, + previous_fee_versions, )?; let height = block_info.height; diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/mod.rs index 2a32163ba93..e87425a4b29 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/mod.rs @@ -6,8 +6,6 @@ use crate::platform_types::platform::Platform; use crate::platform_types::platform_state::PlatformState; use crate::rpc::core::CoreRPCLike; use dashcore_rpc::dashcore::ProTxHash; -use dashcore_rpc::json::DMNStateDiff; -use dpp::block::block_info::BlockInfo; use dpp::version::PlatformVersion; use drive::util::batch::DriveOperation; @@ -45,8 +43,10 @@ where /// does not match any of the known versions. pub(in crate::execution::platform_events::core_based_updates::update_masternode_identities) fn update_operator_identity( &self, - masternode: &(ProTxHash, DMNStateDiff), - block_info: &BlockInfo, + masternode_pro_tx_hash: &ProTxHash, + pub_key_operator_change: Option<&Vec>, + operator_payout_address_change: Option>, + platform_node_id_change: Option<[u8; 20]>, platform_state: &PlatformState, transaction: &Transaction, drive_operations: &mut Vec, @@ -60,8 +60,10 @@ where .update_operator_identity { 0 => self.update_operator_identity_v0( - masternode, - block_info, + masternode_pro_tx_hash, + pub_key_operator_change, + operator_payout_address_change, + platform_node_id_change, platform_state, transaction, drive_operations, diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs index 68d8585f5f0..898eec524ca 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs @@ -7,9 +7,8 @@ use crate::rpc::core::CoreRPCLike; use dashcore_rpc::dashcore::ProTxHash; -use dashcore_rpc::json::DMNStateDiff; -use dpp::block::block_info::BlockInfo; - +use dpp::dashcore::hashes::Hash; +use dpp::identifier::{Identifier, MasternodeIdentifiers}; use dpp::identity::accessors::IdentityGettersV0; use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; @@ -25,7 +24,7 @@ use drive::grovedb::Transaction; use drive::util::batch::DriveOperation; use drive::util::batch::DriveOperation::IdentityOperation; use drive::util::batch::IdentityOperationType::{ - AddNewIdentity, AddNewKeysToIdentity, DisableIdentityKeys, + AddNewIdentity, AddNewKeysToIdentity, DisableIdentityKeys, ReEnableIdentityKeys, }; impl Platform @@ -34,32 +33,32 @@ where { pub(super) fn update_operator_identity_v0( &self, - masternode: &(ProTxHash, DMNStateDiff), - _block_info: &BlockInfo, + masternode_pro_tx_hash: &ProTxHash, + pub_key_operator_change: Option<&Vec>, + operator_payout_address_change: Option>, + platform_node_id_change: Option<[u8; 20]>, platform_state: &PlatformState, transaction: &Transaction, drive_operations: &mut Vec, platform_version: &PlatformVersion, ) -> Result<(), Error> { - let (pro_tx_hash, state_diff) = masternode; - - if state_diff.pub_key_operator.is_none() - && state_diff.operator_payout_address.is_none() - && state_diff.platform_node_id.is_none() + if pub_key_operator_change.is_none() + && operator_payout_address_change.is_none() + && platform_node_id_change.is_none() { return Ok(()); } - let needs_change_operator_payout_address = state_diff.operator_payout_address.is_some(); - let needs_change_platform_node_id = state_diff.platform_node_id.is_some(); + let needs_change_operator_payout_address = operator_payout_address_change.is_some(); + let needs_change_platform_node_id = platform_node_id_change.is_some(); let old_masternode = platform_state .full_masternode_list() - .get(pro_tx_hash) + .get(masternode_pro_tx_hash) .ok_or_else(|| { Error::Execution(ExecutionError::CorruptedCachedState(format!( "expected masternode {} to be in state", - pro_tx_hash + masternode_pro_tx_hash ))) })?; @@ -68,14 +67,18 @@ where platform_version, )?; - let mut new_masternode = old_masternode.clone(); - - new_masternode.state.apply_diff(state_diff.clone()); - - let new_operator_identifier = Self::get_operator_identifier_from_masternode_list_item( - &new_masternode, - platform_version, - )?; + let (operator_identifier, changed_identity) = + if let Some(pub_key_operator_change) = pub_key_operator_change { + ( + Identifier::create_operator_identifier( + masternode_pro_tx_hash.as_byte_array(), + pub_key_operator_change, + ), + true, + ) + } else { + (old_operator_identifier, false) + }; let key_request = IdentityKeysRequest { identity_id: old_operator_identifier.to_buffer(), @@ -93,14 +96,14 @@ where )?; // two possibilities, same identity or identity switch. - if new_operator_identifier == old_operator_identifier { + if !changed_identity { // we are on same identity for platform let mut old_operator_node_id_to_re_enable = None; let mut old_operator_payout_address_to_re_enable = None; - let last_key_id = *old_identity_keys.keys().max().unwrap(); //todo + let last_key_id = old_identity_keys.keys().max().copied().unwrap_or_default(); let old_operator_identity_key_ids_to_disable: Vec = old_identity_keys .into_iter() @@ -116,7 +119,7 @@ where { return Some(key_id); } else if let Some(operator_payout_address) = - state_diff.operator_payout_address.as_ref().unwrap() + operator_payout_address_change.as_ref().unwrap() { // an old key that we need to re-enable if key.data().as_slice() == operator_payout_address.as_slice() { @@ -131,7 +134,7 @@ where == old_masternode.state.platform_node_id.as_ref().unwrap() { return Some(key_id); - } else if state_diff.platform_node_id.as_ref().unwrap().as_slice() + } else if platform_node_id_change.as_ref().unwrap().as_slice() == key.data().as_slice() { old_operator_node_id_to_re_enable = Some(key_id); @@ -143,13 +146,12 @@ where if !old_operator_identity_key_ids_to_disable.is_empty() { drive_operations.push(IdentityOperation(DisableIdentityKeys { - identity_id: new_operator_identifier.to_buffer(), + identity_id: operator_identifier.to_buffer(), keys_ids: old_operator_identity_key_ids_to_disable, })); } let mut keys_to_re_enable = vec![]; - let unique_keys_to_add = vec![]; let mut non_unique_keys_to_add = vec![]; let mut new_key_id = last_key_id + 1; @@ -164,8 +166,7 @@ where security_level: SecurityLevel::CRITICAL, read_only: true, data: BinaryData::new( - state_diff - .platform_node_id + platform_node_id_change .as_ref() .expect("platform node id confirmed is some") .to_vec(), @@ -183,8 +184,7 @@ where { keys_to_re_enable.push(old_operator_payout_address_to_re_enable); } else if needs_change_operator_payout_address { - if let Some(new_operator_payout_address) = state_diff - .operator_payout_address + if let Some(new_operator_payout_address) = operator_payout_address_change .as_ref() .expect("operator_payout_address confirmed is some") { @@ -203,12 +203,31 @@ where } } - drive_operations.push(IdentityOperation(AddNewKeysToIdentity { - identity_id: new_operator_identifier.to_buffer(), - unique_keys_to_add, - non_unique_keys_to_add, - })); + if !keys_to_re_enable.is_empty() { + drive_operations.push(IdentityOperation(ReEnableIdentityKeys { + identity_id: operator_identifier.to_buffer(), + keys_ids: keys_to_re_enable, + })); + } + + if !non_unique_keys_to_add.is_empty() { + drive_operations.push(IdentityOperation(AddNewKeysToIdentity { + identity_id: operator_identifier.to_buffer(), + unique_keys_to_add: vec![], + non_unique_keys_to_add, + })); + } } else { + // We have changed operator keys, this means we are now on a new operator identity + // Or as a rare case an operator identity that already existed + + let key_request = IdentityKeysRequest { + identity_id: operator_identifier.to_buffer(), + request_type: KeyRequestType::AllKeys, + limit: None, + offset: None, + }; + // We can not disable previous withdrawal keys, // Let's disable other two keys let old_operator_identity_key_ids_to_disable: Vec = old_identity_keys @@ -234,39 +253,917 @@ where keys_ids: old_operator_identity_key_ids_to_disable, })); } + + let identity_to_enable_old_keys = self + .drive + .fetch_identity_keys::( + key_request, + Some(transaction), + platform_version, + )?; + let new_payout_address = - if let Some(operator_payout_address) = state_diff.operator_payout_address { + if let Some(operator_payout_address) = operator_payout_address_change { operator_payout_address } else { - // we need to use the old pub_key_operator - old_masternode.state.operator_payout_address + if let Some((_, found_old_key)) = identity_to_enable_old_keys + .iter() + .find(|(_, key)| key.purpose() == Purpose::TRANSFER) + { + Some(found_old_key.data().to_vec().try_into().map_err(|_| { + Error::Execution(ExecutionError::CorruptedDriveResponse( + "old payout address should be 20 bytes".to_string(), + )) + })?) + } else { + // finally we just use the old masternode payout address + // we need to use the old pub_key_operator + old_masternode.state.operator_payout_address + } }; - let new_platform_node_id = if let Some(platform_node_id) = state_diff.platform_node_id { + let new_platform_node_id = if let Some(platform_node_id) = platform_node_id_change { // if it changed it means it always existed Some(platform_node_id) } else { - // we need to use the old pub_key_operator + // we need to use the old platform_node_id, we shouldn't do the same as with the withdrawal address old_masternode.state.platform_node_id }; - // Now we need to create the new operator identity with the new keys - let mut identity = - Identity::create_basic_identity(new_operator_identifier, platform_version)?; - identity.add_public_keys(Self::get_operator_identity_keys( - state_diff - .pub_key_operator - .as_ref() - .expect("expected a pub key operator") - .clone(), - new_payout_address, - new_platform_node_id, - platform_version, - )?); - drive_operations.push(IdentityOperation(AddNewIdentity { - identity, - is_masternode_identity: true, - })); + if identity_to_enable_old_keys.is_empty() { + // Now we need to create the new operator identity with the new keys + let mut identity = + Identity::create_basic_identity(operator_identifier, platform_version)?; + identity.add_public_keys(Self::get_operator_identity_keys( + pub_key_operator_change + .expect("expected a pub key operator") + .clone(), + new_payout_address, + new_platform_node_id, + platform_version, + )?); + drive_operations.push(IdentityOperation(AddNewIdentity { + identity, + is_masternode_identity: true, + })); + } else { + let mut key_ids_to_reenable = vec![]; + let mut non_unique_keys_to_add = vec![]; + + let last_key_id = identity_to_enable_old_keys + .keys() + .max() + .copied() + .unwrap_or_default(); + + let mut new_key_id = last_key_id + 1; + + if let Some(new_payout_address) = new_payout_address { + if let Some((key_id, found_old_key)) = identity_to_enable_old_keys + .iter() + .find(|(_, key)| key.data().as_slice() == &new_payout_address) + { + if found_old_key.is_disabled() { + key_ids_to_reenable.push(*key_id) + } + } else { + let key = IdentityPublicKeyV0 { + id: new_key_id, + key_type: KeyType::ECDSA_HASH160, + purpose: TRANSFER, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new(new_payout_address.to_vec()), + disabled_at: None, + contract_bounds: None, + }; + non_unique_keys_to_add.push(key.into()); + new_key_id += 1; + } + } + + if let Some(new_platform_node_id) = new_platform_node_id { + if let Some((key_id, found_old_key)) = identity_to_enable_old_keys + .into_iter() + .find(|(_, key)| key.data().as_slice() == &new_platform_node_id) + { + if found_old_key.is_disabled() { + key_ids_to_reenable.push(key_id) + } + } else { + let key: IdentityPublicKey = IdentityPublicKeyV0 { + id: new_key_id, + key_type: KeyType::EDDSA_25519_HASH160, + purpose: Purpose::SYSTEM, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new( + platform_node_id_change + .as_ref() + .expect("platform node id confirmed is some") + .to_vec(), + ), + disabled_at: None, + contract_bounds: None, + } + .into(); + non_unique_keys_to_add.push(key); + } + } + + if !key_ids_to_reenable.is_empty() { + // We just need to reenable keys on the old identity + drive_operations.push(IdentityOperation(ReEnableIdentityKeys { + identity_id: operator_identifier.to_buffer(), + keys_ids: key_ids_to_reenable, + })); + } + + if !non_unique_keys_to_add.is_empty() { + // We should add keys that didn't exist before + drive_operations.push(IdentityOperation(AddNewKeysToIdentity { + identity_id: operator_identifier.to_buffer(), + unique_keys_to_add: vec![], + non_unique_keys_to_add, + })); + } + } } Ok(()) } } + +#[cfg(test)] +mod tests { + use crate::platform_types::platform_state::v0::PlatformStateV0Methods; + use crate::test::helpers::setup::{TempPlatform, TestPlatformBuilder}; + use dashcore_rpc::dashcore::ProTxHash; + use dashcore_rpc::dashcore_rpc_json::{MasternodeListItem, MasternodeType}; + use dashcore_rpc::json::DMNState; + use dpp::block::block_info::BlockInfo; + use dpp::bls_signatures::PrivateKey as BlsPrivateKey; + use dpp::dashcore::hashes::Hash; + use dpp::dashcore::Txid; + use dpp::identifier::MasternodeIdentifiers; + use dpp::identity::identity_public_key::v0::IdentityPublicKeyV0; + use dpp::identity::{IdentityV0, KeyType, Purpose, SecurityLevel}; + use dpp::platform_value::BinaryData; + use dpp::prelude::{Identifier, Identity, IdentityPublicKey}; + use platform_version::version::PlatformVersion; + use rand::prelude::StdRng; + use rand::Rng; + use rand::SeedableRng; + use std::collections::BTreeMap; + use std::net::SocketAddr; + use std::ops::Deref; + use std::str::FromStr; + + fn create_operator_identity( + platform: &TempPlatform, + rng: &mut StdRng, + ) -> (ProTxHash, Identity, [u8; 20], Vec, [u8; 20]) { + let platform_version = PlatformVersion::latest(); + + // Create a dummy ProTxHash + let pro_tx_hash_bytes: [u8; 32] = rng.gen(); + + let pro_tx_hash = ProTxHash::from_raw_hash(Hash::from_byte_array(pro_tx_hash_bytes)); + + let payout_address: [u8; 20] = rng.gen(); + + let node_id_bytes: [u8; 20] = rng.gen(); + + // Create a public key operator and payout address + let private_key_operator = + BlsPrivateKey::generate_dash(rng).expect("expected to generate a private key"); + let pub_key_operator = private_key_operator + .g1_element() + .expect("expected to get public key") + .to_bytes() + .to_vec(); + + let operator_key: IdentityPublicKey = IdentityPublicKeyV0 { + id: 0, + key_type: KeyType::BLS12_381, + purpose: Purpose::AUTHENTICATION, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new(pub_key_operator.clone()), + disabled_at: None, + contract_bounds: None, + } + .into(); + + let withdrawal_key: IdentityPublicKey = IdentityPublicKeyV0 { + id: 1, + key_type: KeyType::ECDSA_HASH160, + purpose: Purpose::TRANSFER, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new(payout_address.to_vec()), + disabled_at: None, + contract_bounds: None, + } + .into(); + + let node_id: IdentityPublicKey = IdentityPublicKeyV0 { + id: 2, + key_type: KeyType::EDDSA_25519_HASH160, + purpose: Purpose::SYSTEM, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new(node_id_bytes.to_vec()), + disabled_at: None, + contract_bounds: None, + } + .into(); + + let identity: Identity = IdentityV0 { + id: Identifier::create_operator_identifier(&pro_tx_hash_bytes, &pub_key_operator), + public_keys: BTreeMap::from([(0, operator_key), (1, withdrawal_key), (2, node_id)]), + balance: 0, + revision: 0, + } + .into(); + + // We just add this identity to the system first + + platform + .drive + .add_new_identity( + identity.clone(), + true, + &BlockInfo::default(), + true, + None, + platform_version, + ) + .expect("expected to add a new identity"); + + ( + pro_tx_hash, + identity, + payout_address, + pub_key_operator, + node_id_bytes, + ) + } + + #[test] + fn test_update_operator_payout_address() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let (pro_tx_hash, _identity, operator_payout_address, pub_key_operator, node_id_bytes) = + create_operator_identity(&platform, &mut rng); + + let new_operator_payout_address: [u8; 20] = rng.gen(); + + // Create an old masternode state + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(node_id_bytes), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + // Add the old masternode to the platform state + let mut platform_state = platform.state.load().clone().deref().clone(); + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + platform + .update_operator_identity_v0( + &pro_tx_hash, + None, + Some(Some(new_operator_payout_address)), + None, + &platform_state, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } + + #[test] + fn test_update_operator_change_back_to_previous_operator_address() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let (pro_tx_hash, _identity, operator_payout_address, pub_key_operator, node_id) = + create_operator_identity(&platform, &mut rng); + + let new_operator_payout_address: [u8; 20] = rng.gen(); + + // Create an old masternode state + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(node_id), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + // Add the old masternode to the platform state + let mut platform_state = platform.state.load().clone().deref().clone(); + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + platform + .update_operator_identity_v0( + &pro_tx_hash, + None, + Some(Some(new_operator_payout_address)), + None, + &platform_state, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + + // Create an old masternode state + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: pub_key_operator.clone(), + operator_payout_address: Some(new_operator_payout_address), + platform_node_id: Some(node_id), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + let mut re_enable_drive_operations = vec![]; + + platform + .update_operator_identity_v0( + &pro_tx_hash, + None, + Some(Some(operator_payout_address)), + None, + &platform_state, + &transaction, + &mut re_enable_drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + re_enable_drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } + + #[test] + fn test_update_operator_platform_node_id() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let (pro_tx_hash, _identity, operator_payout_address, pub_key_operator, node_id_bytes) = + create_operator_identity(&platform, &mut rng); + + let new_platform_node_id: [u8; 20] = rng.gen(); + + // Create an old masternode state + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(node_id_bytes), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + // Add the old masternode to the platform state + let mut platform_state = platform.state.load().clone().deref().clone(); + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + platform + .update_operator_identity_v0( + &pro_tx_hash, + None, + None, + Some(new_platform_node_id), + &platform_state, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } + + #[test] + fn test_update_operator_change_back_to_previous_node_id() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let (pro_tx_hash, _identity, operator_payout_address, pub_key_operator, original_node_id) = + create_operator_identity(&platform, &mut rng); + + let new_platform_node_id: [u8; 20] = rng.gen(); + + // Create an old masternode state with original platform node ID + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(original_node_id), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + // Add the old masternode to the platform state + let mut platform_state = platform.state.load().clone().deref().clone(); + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + // Update to new node ID + platform + .update_operator_identity_v0( + &pro_tx_hash, + None, + None, + Some(new_platform_node_id), + &platform_state, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + + // Create an old masternode state + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(new_platform_node_id), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + // Change back to original node ID + let mut re_enable_drive_operations = vec![]; + + platform + .update_operator_identity_v0( + &pro_tx_hash, + None, + None, + Some(original_node_id), + &platform_state, + &transaction, + &mut re_enable_drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + re_enable_drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } + + #[test] + fn test_update_operator_public_key() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let ( + pro_tx_hash, + _identity, + operator_payout_address, + original_pub_key_operator, + node_id_bytes, + ) = create_operator_identity(&platform, &mut rng); + + // Generate a new public key operator + let new_private_key_operator = + BlsPrivateKey::generate_dash(&mut rng).expect("expected to generate a private key"); + let new_pub_key_operator = new_private_key_operator + .g1_element() + .expect("expected to get public key") + .to_bytes() + .to_vec(); + + // Create an old masternode state + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: original_pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(node_id_bytes), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + // Add the old masternode to the platform state + let mut platform_state = platform.state.load().clone().deref().clone(); + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + // Update the operator public key + platform + .update_operator_identity_v0( + &pro_tx_hash, + Some(&new_pub_key_operator), + None, + None, + &platform_state, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } + + #[test] + fn test_update_operator_change_back_to_previous_public_key() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let ( + pro_tx_hash, + _identity, + operator_payout_address, + original_pub_key_operator, + node_id_bytes, + ) = create_operator_identity(&platform, &mut rng); + + // Generate a new public key operator + let new_private_key_operator = + BlsPrivateKey::generate_dash(&mut rng).expect("expected to generate a private key"); + let new_pub_key_operator = new_private_key_operator + .g1_element() + .expect("expected to get public key") + .to_bytes() + .to_vec(); + + // Create an old masternode state with original public key operator + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: original_pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(node_id_bytes), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + // Add the old masternode to the platform state + let mut platform_state = platform.state.load().clone().deref().clone(); + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + // Update to new public key operator + platform + .update_operator_identity_v0( + &pro_tx_hash, + Some(&new_pub_key_operator), + None, + None, + &platform_state, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + + // Create an old masternode state with original public key operator + let masternode_list_item = MasternodeListItem { + node_type: MasternodeType::Regular, + pro_tx_hash, + collateral_hash: Txid::from_byte_array(rng.gen::<[u8; 32]>()), + collateral_index: 0, + collateral_address: [0; 20], + operator_reward: 0.0, + state: DMNState { + service: SocketAddr::from_str("1.0.1.1:1234").unwrap(), + registered_height: 0, + pose_revived_height: None, + pose_ban_height: None, + revocation_reason: 0, + owner_address: rng.gen::<[u8; 20]>(), + voting_address: rng.gen::<[u8; 20]>(), + payout_address: rng.gen::<[u8; 20]>(), + pub_key_operator: new_pub_key_operator.clone(), + operator_payout_address: Some(operator_payout_address), + platform_node_id: Some(node_id_bytes), + platform_p2p_port: None, + platform_http_port: None, + }, + }; + + platform_state + .full_masternode_list_mut() + .insert(pro_tx_hash, masternode_list_item); + + // Change back to original public key operator + let mut re_enable_drive_operations = vec![]; + + platform + .update_operator_identity_v0( + &pro_tx_hash, + Some(&original_pub_key_operator), + None, + None, + &platform_state, + &transaction, + &mut re_enable_drive_operations, + platform_version, + ) + .expect("expected to update operator identity"); + + platform + .drive + .apply_drive_operations( + re_enable_drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } +} diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/mod.rs index 5374de13540..f2f5b5c708a 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/mod.rs @@ -3,8 +3,6 @@ use crate::error::Error; use crate::platform_types::platform::Platform; use crate::rpc::core::CoreRPCLike; -use dashcore_rpc::dashcore::ProTxHash; -use dashcore_rpc::json::DMNStateDiff; use dpp::block::block_info::BlockInfo; use dpp::version::PlatformVersion; @@ -41,7 +39,8 @@ where /// if the existing withdrawal address is already disabled. pub(in crate::execution::platform_events::core_based_updates::update_masternode_identities) fn update_owner_withdrawal_address( &self, - masternode: &(ProTxHash, DMNStateDiff), + owner_identifier: [u8; 32], + new_withdrawal_address: [u8; 20], block_info: &BlockInfo, transaction: &Transaction, drive_operations: &mut Vec, @@ -55,7 +54,8 @@ where .update_owner_withdrawal_address { 0 => self.update_owner_withdrawal_address_v0( - masternode, + owner_identifier, + new_withdrawal_address, block_info, transaction, drive_operations, diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/v0/mod.rs index 73d26e82359..8484f4436d8 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_owner_withdrawal_address/v0/mod.rs @@ -3,10 +3,6 @@ use crate::error::Error; use crate::platform_types::platform::Platform; use crate::rpc::core::CoreRPCLike; -use dashcore_rpc::dashcore::hashes::Hash; -use dashcore_rpc::dashcore::ProTxHash; - -use dashcore_rpc::json::DMNStateDiff; use dpp::block::block_info::BlockInfo; use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; @@ -19,26 +15,22 @@ use drive::drive::identity::key::fetch::{ use drive::grovedb::Transaction; use drive::util::batch::DriveOperation; use drive::util::batch::DriveOperation::IdentityOperation; -use drive::util::batch::IdentityOperationType::{AddNewKeysToIdentity, DisableIdentityKeys}; +use drive::util::batch::IdentityOperationType::{ + AddNewKeysToIdentity, DisableIdentityKeys, ReEnableIdentityKeys, +}; impl Platform where C: CoreRPCLike, { pub(super) fn update_owner_withdrawal_address_v0( &self, - masternode: &(ProTxHash, DMNStateDiff), + owner_identifier: [u8; 32], + new_withdrawal_address: [u8; 20], block_info: &BlockInfo, transaction: &Transaction, drive_operations: &mut Vec, platform_version: &PlatformVersion, ) -> Result<(), Error> { - let (pro_tx_hash, state_diff) = masternode; - let Some(new_withdrawal_address) = state_diff.payout_address else { - return Ok(()); - }; - - let owner_identifier: [u8; 32] = pro_tx_hash.to_byte_array(); - let key_request = IdentityKeysRequest { identity_id: owner_identifier, request_type: KeyRequestType::AllKeys, @@ -60,15 +52,13 @@ where ))); } - let last_key_id = *old_withdrawal_identity_keys.keys().max().unwrap(); //todo - let key_ids_to_disable: Vec = old_withdrawal_identity_keys - .into_iter() + .iter() .filter_map(|(key_id, key)| { - if key.disabled_at().is_some() { - None //No need to disable it again + if key.disabled_at().is_some() || key.data().as_slice() == &new_withdrawal_address { + None //No need to disable it again or if we are adding the same key we already had } else { - Some(key_id) + Some(*key_id) } }) .collect(); @@ -88,26 +78,316 @@ where })); } - // add the new key - let new_owner_key = Self::get_owner_identity_key( - new_withdrawal_address, - last_key_id + 1, - platform_version, - )?; - - tracing::trace!( - identity_id = ?owner_identifier, - withdrawal_key = ?new_owner_key, - method = "update_owner_withdrawal_address_v0", - "add new withdrawal key to owner identity" - ); - - drive_operations.push(IdentityOperation(AddNewKeysToIdentity { - identity_id: owner_identifier, - unique_keys_to_add: vec![], - non_unique_keys_to_add: vec![new_owner_key], - })); + if let Some((key_id, previously_disabled_old_key)) = old_withdrawal_identity_keys + .iter() + .find(|(_, key)| key.data().as_slice() == new_withdrawal_address) + { + // there might be a situation where we should do nothing as well + if previously_disabled_old_key.is_disabled() { + // We need to re-enable the withdrawal key + tracing::trace!( + identity_id = ?owner_identifier, + withdrawal_key = ?previously_disabled_old_key, + method = "update_owner_withdrawal_address_v0", + "re-enabled withdrawal key to owner identity" + ); + + drive_operations.push(IdentityOperation(ReEnableIdentityKeys { + identity_id: owner_identifier, + keys_ids: vec![*key_id], + })); + } + } else { + let last_key_id = *old_withdrawal_identity_keys.keys().max().unwrap(); //todo + + // add the new key + let new_owner_withdrawal_key = Self::get_owner_identity_withdrawal_key( + new_withdrawal_address, + last_key_id + 1, + platform_version, + )?; + + tracing::trace!( + identity_id = ?owner_identifier, + withdrawal_key = ?new_owner_withdrawal_key, + method = "update_owner_withdrawal_address_v0", + "add new withdrawal key to owner identity" + ); + + drive_operations.push(IdentityOperation(AddNewKeysToIdentity { + identity_id: owner_identifier, + unique_keys_to_add: vec![], + non_unique_keys_to_add: vec![new_owner_withdrawal_key], + })); + } Ok(()) } } + +#[cfg(test)] +mod tests { + use crate::test::helpers::setup::TestPlatformBuilder; + use dpp::block::block_info::BlockInfo; + use dpp::identity::accessors::IdentityGettersV0; + use dpp::identity::identity_public_key::v0::IdentityPublicKeyV0; + use dpp::identity::{Identity, IdentityV0, KeyType, Purpose, SecurityLevel}; + use dpp::platform_value::BinaryData; + use dpp::prelude::{Identifier, IdentityPublicKey}; + use platform_version::version::PlatformVersion; + use rand::prelude::StdRng; + use rand::Rng; + use rand::SeedableRng; + use std::collections::BTreeMap; + + #[test] + fn test_update_withdrawal_address() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let payout_address: [u8; 20] = rng.gen(); + + let withdrawal_key: IdentityPublicKey = IdentityPublicKeyV0 { + id: 0, + key_type: KeyType::ECDSA_HASH160, + purpose: Purpose::TRANSFER, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new(payout_address.to_vec()), + disabled_at: None, + contract_bounds: None, + } + .into(); + + let identity: Identity = IdentityV0 { + id: Identifier::random_with_rng(&mut rng), + public_keys: BTreeMap::from([(0, withdrawal_key.clone())]), + balance: 0, + revision: 0, + } + .into(); + + // We just add this identity to the system first + + platform + .drive + .add_new_identity( + identity.clone(), + true, + &block_info, + true, + None, + platform_version, + ) + .expect("expected to add a new identity"); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + platform + .update_owner_withdrawal_address( + identity.id().to_buffer(), + [0; 20], + &block_info, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update owner withdrawal address"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } + + #[test] + fn test_update_to_same_withdrawal_address() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let payout_address: [u8; 20] = rng.gen(); + + let withdrawal_key: IdentityPublicKey = IdentityPublicKeyV0 { + id: 0, + key_type: KeyType::ECDSA_HASH160, + purpose: Purpose::TRANSFER, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new(payout_address.to_vec()), + disabled_at: None, + contract_bounds: None, + } + .into(); + + let identity: Identity = IdentityV0 { + id: Identifier::random_with_rng(&mut rng), + public_keys: BTreeMap::from([(0, withdrawal_key.clone())]), + balance: 0, + revision: 0, + } + .into(); + + // We just add this identity to the system first + + platform + .drive + .add_new_identity( + identity.clone(), + true, + &block_info, + true, + None, + platform_version, + ) + .expect("expected to add a new identity"); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + platform + .update_owner_withdrawal_address( + identity.id().to_buffer(), + payout_address, + &block_info, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update owner withdrawal address"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } + #[test] + fn test_update_to_previously_disabled_withdrawal_address() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_genesis_state(); + + let block_info = BlockInfo::default(); + + let mut rng = StdRng::seed_from_u64(5); + + let payout_address: [u8; 20] = rng.gen(); + + let withdrawal_key: IdentityPublicKey = IdentityPublicKeyV0 { + id: 0, + key_type: KeyType::ECDSA_HASH160, + purpose: Purpose::TRANSFER, + security_level: SecurityLevel::CRITICAL, + read_only: true, + data: BinaryData::new(payout_address.to_vec()), + disabled_at: None, + contract_bounds: None, + } + .into(); + + let identity: Identity = IdentityV0 { + id: Identifier::random_with_rng(&mut rng), + public_keys: BTreeMap::from([(0, withdrawal_key.clone())]), + balance: 0, + revision: 0, + } + .into(); + + // We just add this identity to the system first + + platform + .drive + .add_new_identity( + identity.clone(), + true, + &block_info, + true, + None, + platform_version, + ) + .expect("expected to add a new identity"); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + platform + .update_owner_withdrawal_address( + identity.id().to_buffer(), + [0; 20], + &block_info, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update owner withdrawal address"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + + let transaction = platform.drive.grove.start_transaction(); + + let mut drive_operations = vec![]; + + platform + .update_owner_withdrawal_address( + identity.id().to_buffer(), + payout_address, + &block_info, + &transaction, + &mut drive_operations, + platform_version, + ) + .expect("expected to update owner withdrawal address"); + + platform + .drive + .apply_drive_operations( + drive_operations, + true, + &block_info, + Some(&transaction), + platform_version, + None, + ) + .expect("expected to apply drive operations"); + } +} diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_list/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_list/mod.rs index 214393d4c35..4ecd62a4c91 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_list/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_list/mod.rs @@ -67,3 +67,135 @@ where } } } + +#[cfg(test)] +mod test { + use super::*; + use crate::config::PlatformConfig; + use crate::test::helpers::setup::TestPlatformBuilder; + use dashcore_rpc::json::MasternodeListDiff; + use std::env; + use std::fs::File; + use std::io::BufReader; + use std::path::PathBuf; + + #[test] + fn test_update_masternode_list() { + let platform_version = PlatformVersion::latest(); + let platform_config = PlatformConfig::default(); + + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let mut init_chain_platform_state = platform_state.as_ref().clone(); + + let genesis_core_block_height = 2128896; + let first_block_core_block_height = 2129440; + let genesis_time = 1; + let first_block_time = 2; + + let genesis_block_info = BlockInfo { + height: 1, + core_height: genesis_core_block_height, + time_ms: genesis_time, + ..Default::default() + }; + + let first_block_info = BlockInfo { + height: 1, + core_height: first_block_core_block_height, + time_ms: first_block_time, + ..Default::default() + }; + + fn adjust_path_based_on_current_dir(relative_path: &str) -> PathBuf { + let current_dir = env::current_dir().expect("expected to get current directory"); + // Check if the current directory ends with "platform" + let adjusted_path = if current_dir.ends_with("platform") { + current_dir + .join("packages/rs-drive-abci") + .join(relative_path) + } else { + current_dir.join(relative_path) + }; + + adjusted_path + } + + platform + .core_rpc + .expect_get_protx_diff_with_masternodes() + .returning(move |base_block, block| { + if block == 2128896 { + let file_path = adjust_path_based_on_current_dir( + "tests/supporting_files/mainnet_protx_list_diffs/1-2128896.json", + ); + // println!( + // "Current directory: {:?}, using {:?}", + // std::env::current_dir(), + // &file_path + // ); + // Deserialize the first JSON file + let file = File::open(file_path).expect("expected to open file"); + let reader = BufReader::new(file); + let init_chain_masternode_list_diff: MasternodeListDiff = + serde_json::from_reader(reader) + .expect("expected to deserialize into a masternode list diff"); + + Ok(init_chain_masternode_list_diff) + } else { + // Deserialize the second JSON file + let file = File::open(adjust_path_based_on_current_dir( + "tests/supporting_files/mainnet_protx_list_diffs/2128896-2129440.json", + )) + .expect("expected to open file"); + let reader = BufReader::new(file); + let block_1_masternode_list_diff: MasternodeListDiff = + serde_json::from_reader(reader) + .expect("expected to deserialize into a masternode list diff"); + + Ok(block_1_masternode_list_diff) + } + }); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .update_masternode_list( + None, + &mut init_chain_platform_state, + genesis_core_block_height, + true, + &genesis_block_info, + &transaction, + platform_version, + ) + .expect("expected to update masternode list"); + + let platform_state = init_chain_platform_state.clone(); + + let mut block_platform_state = platform_state.clone(); + + platform + .update_masternode_list( + Some(&platform_state), + &mut block_platform_state, + first_block_core_block_height, + false, + &first_block_info, + &transaction, + platform_version, + ) + .expect("expected to update masternode list"); + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit"); + } +} diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_quorum_info/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_quorum_info/v0/mod.rs index bcc65582d7e..5ca6ce40708 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_quorum_info/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_quorum_info/v0/mod.rs @@ -7,7 +7,9 @@ use dashcore_rpc::json::{ExtendedQuorumListResult, QuorumType}; use std::collections::BTreeMap; use std::fmt::Display; -use crate::platform_types::validator_set::v0::{ValidatorSetV0, ValidatorSetV0Getters}; +use crate::platform_types::validator_set::v0::{ + ValidatorSetMethodsV0, ValidatorSetV0, ValidatorSetV0Getters, +}; use crate::platform_types::validator_set::ValidatorSet; use crate::rpc::core::CoreRPCLike; diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/epoch_core_reward_credits_for_distribution/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/epoch_core_reward_credits_for_distribution/mod.rs deleted file mode 100644 index 5e5aaca2cca..00000000000 --- a/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/epoch_core_reward_credits_for_distribution/mod.rs +++ /dev/null @@ -1,44 +0,0 @@ -mod v0; - -use crate::error::execution::ExecutionError; -use crate::error::Error; - -use crate::platform_types::platform::Platform; - -use dpp::fee::Credits; -use dpp::version::PlatformVersion; - -impl Platform { - /// Gets the amount of core reward fees to be distributed for the Epoch. - /// - /// # Arguments - /// - /// * `epoch_start_block_core_height` - The height of the core block at the start of the epoch. - /// * `next_epoch_start_block_core_height` - The height of the core block at the start of the next epoch. - /// - /// # Returns - /// - /// * `Result` - If the operation is successful, it returns `Ok(Credits)`. If there is an error, it returns `Error`. - pub fn epoch_core_reward_credits_for_distribution( - epoch_start_block_core_height: u32, - next_epoch_start_block_core_height: u32, - platform_version: &PlatformVersion, - ) -> Result { - match platform_version - .drive_abci - .methods - .core_subsidy - .epoch_core_reward_credits_for_distribution - { - 0 => Self::epoch_core_reward_credits_for_distribution_v0( - epoch_start_block_core_height, - next_epoch_start_block_core_height, - ), - version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { - method: "epoch_core_reward_credits_for_distribution_v0".to_string(), - known_versions: vec![0], - received: version, - })), - } - } -} diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/epoch_core_reward_credits_for_distribution/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/epoch_core_reward_credits_for_distribution/v0/mod.rs deleted file mode 100644 index 62ac9a68988..00000000000 --- a/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/epoch_core_reward_credits_for_distribution/v0/mod.rs +++ /dev/null @@ -1,74 +0,0 @@ -use crate::error::Error; -use crate::execution::platform_events::core_subsidy::{ - CORE_GENESIS_BLOCK_SUBSIDY, CORE_SUBSIDY_HALVING_INTERVAL, -}; -use crate::platform_types::platform::Platform; -use dpp::block::epoch::EpochIndex; -use dpp::fee::Credits; - -use lazy_static::lazy_static; -use std::collections::HashMap; - -lazy_static! { - /// The Core reward halving distribution table for 100 years - /// Yearly decline of production by ~7.1% per year, projected ~18M coins max by year 2050+. - pub static ref CORE_HALVING_DISTRIBUTION: HashMap = { - let mut distribution = CORE_GENESIS_BLOCK_SUBSIDY; - (0..100).map(|i| { - let old_distribution = distribution; - distribution -= distribution / 14; - (i, old_distribution) - }).collect() - }; -} - -impl Platform { - /// Gets the amount of core reward fees to be distributed for the Epoch. - pub(super) fn epoch_core_reward_credits_for_distribution_v0( - epoch_start_block_core_height: u32, - next_epoch_start_block_core_height: u32, - ) -> Result { - // Core is halving block rewards every year so we need to pay - // core block rewards according to halving ratio for the all years during - // the platform epoch payout period (unpaid epoch) - - // Calculate start and end years for the platform epoch payout period - // according to start and end core block heights - let start_core_reward_year = - (epoch_start_block_core_height / CORE_SUBSIDY_HALVING_INTERVAL) as EpochIndex; - let end_core_reward_year = - (next_epoch_start_block_core_height / CORE_SUBSIDY_HALVING_INTERVAL) as EpochIndex; - - let mut total_core_rewards = 0; - - // Calculate block rewards for each core reward year during the platform epoch payout period - for core_reward_year in start_core_reward_year..=end_core_reward_year { - // Calculate the block count per core reward year - - let core_reward_year_start_block = if core_reward_year == end_core_reward_year { - next_epoch_start_block_core_height - } else { - (core_reward_year + 1) as u32 * CORE_SUBSIDY_HALVING_INTERVAL - }; - - let core_reward_year_end_block = if core_reward_year == start_core_reward_year { - epoch_start_block_core_height - } else { - core_reward_year as u32 * CORE_SUBSIDY_HALVING_INTERVAL - }; - - let block_count = core_reward_year_start_block - core_reward_year_end_block; - - // Fetch the core block distribution for the corresponding epoch from the distribution table - // Default to 0 if the core reward year is more than 100 years in the future - let core_block_distribution_ratio = CORE_HALVING_DISTRIBUTION - .get(&core_reward_year) - .unwrap_or(&0); - - // Calculate the core rewards for this epoch and add to the total - total_core_rewards += block_count as Credits * *core_block_distribution_ratio; - } - - Ok(total_core_rewards) - } -} diff --git a/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/mod.rs deleted file mode 100644 index 00cce374722..00000000000 --- a/packages/rs-drive-abci/src/execution/platform_events/core_subsidy/mod.rs +++ /dev/null @@ -1,12 +0,0 @@ -mod epoch_core_reward_credits_for_distribution; - -use dpp::fee::Credits; - -/// Actual number of core blocks per calendar year with DGW v3 is ~200700 (for example 449750 - 249050) -pub const CORE_SUBSIDY_HALVING_INTERVAL: u32 = 210240; - -/// ORIGINAL CORE BLOCK DISTRIBUTION -/// STARTS AT 25 Dash -/// Take 60% for Masternodes -/// Take 37.5% of that for Platform -const CORE_GENESIS_BLOCK_SUBSIDY: Credits = 585000000000; diff --git a/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations/v0/mod.rs index ebdc6793e81..47f1f408728 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations/v0/mod.rs @@ -2,6 +2,8 @@ use crate::error::Error; use crate::execution::types::proposer_payouts; use crate::platform_types::platform::Platform; use dpp::block::epoch::Epoch; +use dpp::core_subsidy::epoch_core_reward_credits_for_distribution::epoch_core_reward_credits_for_distribution; +use dpp::core_subsidy::NetworkCoreSubsidy; use dpp::version::PlatformVersion; use drive::drive::credit_pools::epochs::operations_factory::EpochOperations; use drive::drive::credit_pools::operations::update_unpaid_epoch_index_operation; @@ -38,10 +40,21 @@ impl Platform { return Ok(None); }; + let start_block_core_height = if unpaid_epoch.epoch_index == 0 { + //On epoch 0 we need to use the activation height instead of the start of the block + self.drive + .fetch_genesis_core_height(Some(transaction), platform_version)? + } else { + // The unpaid epochs start block has had its credits distributed, so we must do a + 1 + // But only if we are not in the first epoch + unpaid_epoch.start_block_core_height + 1 + }; + // Calculate core block reward for the unpaid epoch - let core_block_rewards = Self::epoch_core_reward_credits_for_distribution( - unpaid_epoch.start_block_core_height, + let core_block_rewards = epoch_core_reward_credits_for_distribution( + start_block_core_height, unpaid_epoch.next_epoch_start_block_core_height, + self.config.network.core_subsidy_halving_interval(), platform_version, )?; @@ -53,6 +66,14 @@ impl Platform { }, )); + tracing::info!( + "Core block rewards for epoch {} from height {} to height {} are {}", + unpaid_epoch.epoch_index, + unpaid_epoch.start_block_core_height, + unpaid_epoch.next_epoch_start_block_core_height, + core_block_rewards + ); + let unpaid_epoch = unpaid_epoch.into(); let proposers_paid_count = self.add_epoch_pool_to_proposers_payout_operations( @@ -132,7 +153,7 @@ mod tests { let platform_version = PlatformVersion::latest(); let platform = TestPlatformBuilder::new() .build_with_mock_rpc() - .set_initial_state_structure(); + .set_genesis_state_with_activation_info(0, 1); let transaction = platform.drive.grove.start_transaction(); // Create masternode reward shares contract diff --git a/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_epoch_pool_to_proposers_payout_operations/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_epoch_pool_to_proposers_payout_operations/v0/mod.rs index 15709631b66..14de0e6df7e 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_epoch_pool_to_proposers_payout_operations/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/fee_pool_outwards_distribution/add_epoch_pool_to_proposers_payout_operations/v0/mod.rs @@ -12,6 +12,7 @@ use dpp::platform_value::btreemap_extensions::BTreeValueMapHelper; use dpp::version::PlatformVersion; use dpp::ProtocolError; +use drive::query::proposer_block_count_query::ProposerQueryType; use drive::util::batch::DriveOperation; use drive::util::batch::DriveOperation::IdentityOperation; use drive::util::batch::IdentityOperationType::AddToIdentityBalance; @@ -56,9 +57,9 @@ impl Platform { let proposers = self .drive - .get_epoch_proposers( + .fetch_epoch_proposers( &unpaid_epoch_tree, - None, + ProposerQueryType::ByRange(None, None), Some(transaction), platform_version, ) diff --git a/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/mod.rs index fcea0207166..e046d8bc3d4 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/mod.rs @@ -2,6 +2,7 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use crate::platform_types::platform::Platform; use dpp::identity::TimestampMillis; +use dpp::prelude::CoreBlockHeight; use dpp::version::PlatformVersion; use drive::grovedb::TransactionArg; @@ -11,6 +12,7 @@ impl Platform { /// Creates trees and populates them with necessary identities, contracts and documents pub fn create_genesis_state( &self, + genesis_core_height: CoreBlockHeight, genesis_time: TimestampMillis, transaction: TransactionArg, platform_version: &PlatformVersion, @@ -21,7 +23,12 @@ impl Platform { .initialization .create_genesis_state { - 0 => self.create_genesis_state_v0(genesis_time, transaction, platform_version), + 0 => self.create_genesis_state_v0( + genesis_core_height, + genesis_time, + transaction, + platform_version, + ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "create_genesis_state".to_string(), known_versions: vec![0], diff --git a/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/v0/mod.rs index 00ae21aced3..e343d710c81 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/initialization/create_genesis_state/v0/mod.rs @@ -1,7 +1,7 @@ use crate::error::Error; use crate::platform_types::platform::Platform; -use dpp::platform_value::{platform_value, BinaryData}; +use dpp::platform_value::platform_value; use dpp::ProtocolError; use drive::dpp::identity::TimestampMillis; @@ -15,9 +15,8 @@ use dpp::version::PlatformVersion; use drive::dpp::system_data_contracts::SystemDataContract; use drive::util::batch::{DataContractOperationType, DocumentOperationType, DriveOperation}; -use dpp::system_data_contracts::dpns_contract::{ - DPNS_DASH_TLD_DOCUMENT_ID, DPNS_DASH_TLD_PREORDER_SALT, -}; +use dpp::prelude::CoreBlockHeight; +use dpp::system_data_contracts::dpns_contract::DPNS_DASH_TLD_DOCUMENT_ID; use drive::query::TransactionArg; use drive::util::object_size_info::{ DataContractInfo, DocumentInfo, DocumentTypeInfo, OwnedDocumentInfo, @@ -30,14 +29,17 @@ impl Platform { #[inline(always)] pub(super) fn create_genesis_state_v0( &self, + genesis_core_height: CoreBlockHeight, genesis_time: TimestampMillis, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { //versioned call self.drive - .create_initial_state_structure(transaction, platform_version) - .map_err(Error::Drive)?; + .create_initial_state_structure(transaction, platform_version)?; + + self.drive + .store_genesis_core_height(genesis_core_height, transaction, platform_version)?; let mut operations = vec![]; @@ -122,9 +124,8 @@ impl Platform { "normalizedLabel" : domain, "parentDomainName" : "", "normalizedParentDomainName" : "", - "preorderSalt" : BinaryData::new(DPNS_DASH_TLD_PREORDER_SALT.to_vec()), "records" : { - "dashAliasIdentityId" : contract.owner_id(), + "identity" : contract.owner_id(), }, "subdomainRules": { "allowSubdomains": true, @@ -176,11 +177,11 @@ mod tests { use crate::config::PlatformConfig; use crate::test::helpers::setup::TestPlatformBuilder; use drive::config::DriveConfig; - use platform_version::version::PlatformVersion; + use platform_version::version::{PlatformVersion, INITIAL_PROTOCOL_VERSION}; #[test] pub fn should_create_genesis_state_deterministically() { - let platform_version = PlatformVersion::latest(); + let platform_version = PlatformVersion::first(); let platform = TestPlatformBuilder::new() .with_config(PlatformConfig { drive: DriveConfig { @@ -189,6 +190,7 @@ mod tests { }, ..Default::default() }) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc() .set_genesis_state(); @@ -199,9 +201,10 @@ mod tests { .unwrap() .expect("should obtain root hash"); + // This should never be changed assert_eq!( hex::encode(root_hash), - "adfd53ece823697cec9b1afc71a0fac7fab41bf87ef98903f12a70c7efc896fc" + "dc5b0d4be407428adda2315db7d782e64015cbe2d2b7df963f05622390dc3c9f" ) } } diff --git a/packages/rs-drive-abci/src/execution/platform_events/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/mod.rs index 330c502c6b1..41b64d63b18 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/mod.rs @@ -10,8 +10,6 @@ pub(in crate::execution) mod core_based_updates; pub(in crate::execution) mod core_chain_lock; /// Instant lock methods pub(in crate::execution) mod core_instant_send_lock; -/// Core subsidy -pub(in crate::execution) mod core_subsidy; /// Epoch based methods pub(in crate::execution) mod epoch; /// Fee pools module diff --git a/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/mod.rs index 33805f31251..be12d1989d0 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/mod.rs @@ -5,6 +5,7 @@ use dpp::util::deserializer::ProtocolVersion; use dpp::version::PlatformVersion; mod v0; +mod v1; impl Platform { /// Checks for a network upgrade and resets activation window. @@ -12,7 +13,7 @@ impl Platform { /// /// # Arguments /// - /// * `total_hpmns` - The total number of high priority masternodes. + /// * `active_hpmns` - The total number of evonodes that are not banned. /// /// # Returns /// @@ -29,7 +30,7 @@ impl Platform { /// * More than one version pass the threshold to upgrade. pub fn check_for_desired_protocol_upgrade( &self, - total_hpmns: u32, + active_hpmns: u32, platform_version: &PlatformVersion, ) -> Result, Error> { match platform_version @@ -38,10 +39,11 @@ impl Platform { .protocol_upgrade .check_for_desired_protocol_upgrade { - 0 => self.check_for_desired_protocol_upgrade_v0(total_hpmns, platform_version), + 0 => self.check_for_desired_protocol_upgrade_v0(active_hpmns, platform_version), + 1 => self.check_for_desired_protocol_upgrade_v1(active_hpmns, platform_version), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "check_for_desired_protocol_upgrade".to_string(), - known_versions: vec![0], + known_versions: vec![0, 1], received: version, })), } diff --git a/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v0/mod.rs index e7f2283e878..47dae9d7070 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v0/mod.rs @@ -1,6 +1,7 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use crate::platform_types::platform::Platform; +use dpp::dashcore::Network; use dpp::version::PlatformVersion; use drive::dpp::util::deserializer::ProtocolVersion; @@ -10,17 +11,33 @@ impl Platform { /// this should only be called on epoch change pub(super) fn check_for_desired_protocol_upgrade_v0( &self, - total_hpmns: u32, + active_hpmns: u32, platform_version: &PlatformVersion, ) -> Result, Error> { - let upgrade_percentage_needed = platform_version - .drive_abci - .methods - .protocol_upgrade - .protocol_version_upgrade_percentage_needed; + let upgrade_percentage_needed = if (self.config.network == Network::Dash + && platform_version.protocol_version == 1) + || (self.config.network == Network::Testnet && platform_version.protocol_version == 2) + { + // This is a solution for the emergency update to version 3 + // We clean this up immediately though as we transition to check_for_desired_protocol_upgrade_v1 + u64::min( + 51, + platform_version + .drive_abci + .methods + .protocol_upgrade + .protocol_version_upgrade_percentage_needed, + ) + } else { + platform_version + .drive_abci + .methods + .protocol_upgrade + .protocol_version_upgrade_percentage_needed + }; let required_upgraded_hpmns = 1 - + (total_hpmns as u64) + + (active_hpmns as u64) .checked_mul(upgrade_percentage_needed) .and_then(|product| product.checked_div(100)) .ok_or(Error::Execution(ExecutionError::Overflow( @@ -42,12 +59,13 @@ impl Platform { )); } - tracing::trace!( - total_hpmns, + tracing::debug!( + active_hpmns, required_upgraded_hpmns, all_votes = ?protocol_versions_counter.global_cache, ?versions_passing_threshold, - "Protocol version voting is finished. {} versions passing the threshold: {:?}", + "Protocol version voting is finished. we require {} upgraded, {} versions passing the threshold: {:?}", + required_upgraded_hpmns, versions_passing_threshold.len(), versions_passing_threshold ); diff --git a/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v1/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v1/mod.rs new file mode 100644 index 00000000000..fd66cc62cd8 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v1/mod.rs @@ -0,0 +1,64 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::platform_types::platform::Platform; + +use dpp::version::PlatformVersion; +use drive::dpp::util::deserializer::ProtocolVersion; + +impl Platform { + /// checks for a network upgrade and resets activation window + /// this should only be called on epoch change + pub(super) fn check_for_desired_protocol_upgrade_v1( + &self, + active_hpmns: u32, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let upgrade_percentage_needed = platform_version + .drive_abci + .methods + .protocol_upgrade + .protocol_version_upgrade_percentage_needed; + + let required_upgraded_hpmns = 1 + + (active_hpmns as u64) + .checked_mul(upgrade_percentage_needed) + .and_then(|product| product.checked_div(100)) + .ok_or(Error::Execution(ExecutionError::Overflow( + "overflow for required block count", + )))?; + + // if we are at an epoch change, check to see if over 75% of blocks of previous epoch + // were on the future version + let protocol_versions_counter = self.drive.cache.protocol_versions_counter.read(); + + let mut versions_passing_threshold = + protocol_versions_counter.versions_passing_threshold(required_upgraded_hpmns); + + if versions_passing_threshold.len() > 1 { + return Err(Error::Execution( + ExecutionError::ProtocolUpgradeIncoherence( + "only at most 1 version should be able to pass the threshold to upgrade", + ), + )); + } + + tracing::debug!( + active_hpmns, + required_upgraded_hpmns, + all_votes = ?protocol_versions_counter.global_cache, + ?versions_passing_threshold, + "Protocol version voting is finished. we require {} upgraded, {} versions passing the threshold: {:?}", + required_upgraded_hpmns, + versions_passing_threshold.len(), + versions_passing_threshold + ); + + if !versions_passing_threshold.is_empty() { + // same as equals 1 + let next_version = versions_passing_threshold.remove(0); + Ok(Some(next_version)) + } else { + Ok(None) + } + } +} diff --git a/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs index 5edbf3e2f19..79b6ce27cd5 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs @@ -7,6 +7,7 @@ use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::platform_state::PlatformState; use chrono::{TimeZone, Utc}; use dpp::block::block_info::BlockInfo; +use dpp::dashcore::Network::Testnet; use dpp::version::PlatformVersion; use drive::grovedb::Transaction; @@ -57,10 +58,16 @@ impl Platform { // Determine a new protocol version for the next epoch if enough proposers voted // otherwise keep the current one - let hpmn_list_len = last_committed_platform_state.hpmn_list_len() as u32; + let hpmn_active_list_len = + if self.config.network == Testnet && epoch_info.current_epoch_index() <= 1430 { + // We had a bug on testnet that would use the entire hpmn list len, including banned nodes + last_committed_platform_state.hpmn_list_len() as u32 + } else { + last_committed_platform_state.hpmn_active_list_len() as u32 + }; let next_epoch_protocol_version = - self.check_for_desired_protocol_upgrade(hpmn_list_len, platform_version)?; + self.check_for_desired_protocol_upgrade(hpmn_active_list_len, platform_version)?; if let Some(protocol_version) = next_epoch_protocol_version { tracing::trace!( diff --git a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/mod.rs index 288c571dbba..b4025034693 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/mod.rs @@ -2,6 +2,7 @@ mod v0; use crate::error::execution::ExecutionError; use crate::error::Error; +use crate::metrics::HistogramTiming; use crate::platform_types::platform::Platform; use crate::platform_types::platform_state::PlatformState; use crate::platform_types::state_transitions_processing_result::StateTransitionsProcessingResult; @@ -42,6 +43,8 @@ where block_info: &BlockInfo, transaction: &Transaction, platform_version: &PlatformVersion, + proposing_state_transitions: bool, + timer: Option<&HistogramTiming>, ) -> Result { match platform_version .drive_abci @@ -55,6 +58,8 @@ where block_info, transaction, platform_version, + proposing_state_transitions, + timer, ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "process_raw_state_transitions".to_string(), diff --git a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs index b2012042c36..ee7979595e6 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs @@ -12,11 +12,11 @@ use crate::execution::types::state_transition_container::v0::{ SuccessfullyDecodedStateTransition, }; use crate::execution::validation::state_transition::processor::process_state_transition; -use crate::metrics::state_transition_execution_histogram; +use crate::metrics::{state_transition_execution_histogram, HistogramTiming}; use crate::platform_types::event_execution_result::EventExecutionResult; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::state_transitions_processing_result::{ - StateTransitionExecutionResult, StateTransitionsProcessingResult, + NotExecutedReason, StateTransitionExecutionResult, StateTransitionsProcessingResult, }; use dpp::fee::default_costs::CachedEpochIndexFeeVersions; use dpp::util::hash::hash_single; @@ -66,6 +66,8 @@ where block_info: &BlockInfo, transaction: &Transaction, platform_version: &PlatformVersion, + proposing_state_transitions: bool, + timer: Option<&HistogramTiming>, ) -> Result { let platform_ref = PlatformRef { drive: &self.drive, @@ -80,116 +82,131 @@ where let mut processing_result = StateTransitionsProcessingResult::default(); for decoded_state_transition in state_transition_container.into_iter() { - let execution_result = match decoded_state_transition { - DecodedStateTransition::SuccessfullyDecoded( - SuccessfullyDecodedStateTransition { - decoded: state_transition, - raw: raw_state_transition, - elapsed_time: decoding_elapsed_time, - }, - ) => { - let start_time = Instant::now(); - - let state_transition_name = state_transition.name(); - - if tracing::enabled!(tracing::Level::TRACE) { - let st_hash = hex::encode(hash_single(raw_state_transition)); - - tracing::trace!( - ?state_transition, - st_hash, - "Processing {} state transition", - state_transition_name - ); - } + // If we propose state transitions, we need to check if we have a time limit for processing + // set and if we have exceeded it. + let execution_result = if proposing_state_transitions + && timer.map_or(false, |timer| { + timer.elapsed().as_millis() + > self + .config + .abci + .proposer_tx_processing_time_limit + .unwrap_or(u16::MAX) as u128 + }) { + StateTransitionExecutionResult::NotExecuted(NotExecutedReason::ProposerRanOutOfTime) + } else { + match decoded_state_transition { + DecodedStateTransition::SuccessfullyDecoded( + SuccessfullyDecodedStateTransition { + decoded: state_transition, + raw: raw_state_transition, + elapsed_time: decoding_elapsed_time, + }, + ) => { + let start_time = Instant::now(); + + let state_transition_name = state_transition.name(); + + if tracing::enabled!(tracing::Level::TRACE) { + let st_hash = hex::encode(hash_single(raw_state_transition)); + + tracing::trace!( + ?state_transition, + st_hash, + "Processing {} state transition", + state_transition_name + ); + } - // Validate state transition and produce an execution event - let execution_result = process_state_transition( - &platform_ref, - block_info, - state_transition, - Some(transaction), - ) - .map(|validation_result| { - self.process_validation_result_v0( - raw_state_transition, - &state_transition_name, - validation_result, + // Validate state transition and produce an execution event + let execution_result = process_state_transition( + &platform_ref, block_info, - transaction, - platform_version, - platform_ref.state.previous_fee_versions(), + state_transition, + Some(transaction), ) - .unwrap_or_else(error_to_internal_error_execution_result) - }) - .map_err(|error| StateTransitionAwareError { + .map(|validation_result| { + self.process_validation_result_v0( + raw_state_transition, + &state_transition_name, + validation_result, + block_info, + transaction, + platform_version, + platform_ref.state.previous_fee_versions(), + ) + .unwrap_or_else(error_to_internal_error_execution_result) + }) + .map_err(|error| StateTransitionAwareError { + error, + raw_state_transition, + state_transition_name: Some(state_transition_name.to_string()), + }) + .unwrap_or_else(error_to_internal_error_execution_result); + + // Store metrics + let elapsed_time = start_time.elapsed() + decoding_elapsed_time; + + let code = match &execution_result { + StateTransitionExecutionResult::SuccessfulExecution(_, _) => 0, + StateTransitionExecutionResult::PaidConsensusError(error, _) + | StateTransitionExecutionResult::UnpaidConsensusError(error) => { + error.code() + } + StateTransitionExecutionResult::InternalError(_) => 1, + StateTransitionExecutionResult::NotExecuted(_) => 1, //todo + }; + + state_transition_execution_histogram( + elapsed_time, + &state_transition_name, + code, + ); + + execution_result + } + DecodedStateTransition::InvalidEncoding(InvalidStateTransition { + raw, error, - raw_state_transition, - state_transition_name: Some(state_transition_name.to_string()), - }) - .unwrap_or_else(error_to_internal_error_execution_result); - - // Store metrics - let elapsed_time = start_time.elapsed() + decoding_elapsed_time; - - let code = match &execution_result { - StateTransitionExecutionResult::SuccessfulExecution(_, _) => 0, - StateTransitionExecutionResult::PaidConsensusError(error, _) - | StateTransitionExecutionResult::UnpaidConsensusError(error) => { - error.code() + elapsed_time: decoding_elapsed_time, + }) => { + if tracing::enabled!(tracing::Level::DEBUG) { + let st_hash = hex::encode(hash_single(raw)); + + tracing::debug!( + ?error, + st_hash, + "Invalid unknown state transition ({}): {}", + st_hash, + error + ); } - StateTransitionExecutionResult::InternalError(_) => 1, - }; - - state_transition_execution_histogram( - elapsed_time, - &state_transition_name, - code, - ); - execution_result - } - DecodedStateTransition::InvalidEncoding(InvalidStateTransition { - raw, - error, - elapsed_time: decoding_elapsed_time, - }) => { - if tracing::enabled!(tracing::Level::DEBUG) { - let st_hash = hex::encode(hash_single(raw)); - - tracing::debug!( - ?error, - st_hash, - "Invalid unknown state transition ({}): {}", - st_hash, - error + // Store metrics + state_transition_execution_histogram( + decoding_elapsed_time, + "Unknown", + error.code(), ); - } - // Store metrics - state_transition_execution_histogram( - decoding_elapsed_time, - "Unknown", - error.code(), - ); - - StateTransitionExecutionResult::UnpaidConsensusError(error) - } - DecodedStateTransition::FailedToDecode( - InvalidWithProtocolErrorStateTransition { - raw, - error: protocol_error, - elapsed_time: decoding_elapsed_time, - }, - ) => { - // Store metrics - state_transition_execution_histogram(decoding_elapsed_time, "Unknown", 1); - - error_to_internal_error_execution_result(StateTransitionAwareError { - error: protocol_error.into(), - raw_state_transition: raw, - state_transition_name: None, - }) + StateTransitionExecutionResult::UnpaidConsensusError(error) + } + DecodedStateTransition::FailedToDecode( + InvalidWithProtocolErrorStateTransition { + raw, + error: protocol_error, + elapsed_time: decoding_elapsed_time, + }, + ) => { + // Store metrics + state_transition_execution_histogram(decoding_elapsed_time, "Unknown", 1); + + error_to_internal_error_execution_result(StateTransitionAwareError { + error: protocol_error.into(), + raw_state_transition: raw, + state_transition_name: None, + }) + } } }; diff --git a/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/mod.rs index 6bb08f7facb..71c8cf00da6 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/mod.rs @@ -16,6 +16,7 @@ where /// Checks for ended vote polls pub(in crate::execution) fn check_for_ended_vote_polls( &self, + last_committed_platform_state: &PlatformState, block_platform_state: &PlatformState, block_info: &BlockInfo, transaction: TransactionArg, @@ -28,6 +29,7 @@ where .check_for_ended_vote_polls { 0 => self.check_for_ended_vote_polls_v0( + last_committed_platform_state, block_platform_state, block_info, transaction, diff --git a/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/v0/mod.rs index ca84b637298..426888de5da 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/voting/check_for_ended_vote_polls/v0/mod.rs @@ -1,18 +1,26 @@ use crate::error::Error; use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::platform_state::PlatformState; use crate::rpc::core::CoreRPCLike; +use dashcore_rpc::dashcore::Network::Testnet; use dpp::block::block_info::BlockInfo; use dpp::document::DocumentV0Getters; use dpp::prelude::TimestampMillis; use dpp::version::PlatformVersion; use dpp::voting::contender_structs::FinalizedContender; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice::TowardsIdentity; use dpp::voting::vote_info_storage::contested_document_vote_poll_winner_info::ContestedDocumentVotePollWinnerInfo; +use drive::drive::votes::paths::vote_end_date_queries_tree_path_vec; use drive::drive::votes::resolved::vote_polls::resolve::VotePollResolver; use drive::drive::votes::resolved::vote_polls::{ResolvedVotePoll, ResolvedVotePollWithVotes}; -use drive::grovedb::TransactionArg; -use drive::query::VotePollsByEndDateDriveQuery; +use drive::grovedb::{QueryItem, TransactionArg}; +use drive::query::vote_poll_vote_state_query::{ + ContestedDocumentVotePollDriveQuery, ContestedDocumentVotePollDriveQueryResultType, +}; +use drive::query::{PathQuery, Query, QueryResultType, VotePollsByEndDateDriveQuery}; +use drive::util::common::encode::encode_u64; use itertools::Itertools; use std::collections::BTreeMap; @@ -24,156 +32,286 @@ where #[inline(always)] pub(super) fn check_for_ended_vote_polls_v0( &self, + last_committed_platform_state: &PlatformState, block_platform_state: &PlatformState, block_info: &BlockInfo, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { // let's start by getting the vote polls that have finished - let vote_polls_by_timestamp = - VotePollsByEndDateDriveQuery::execute_no_proof_for_specialized_end_time_query( + let ( + distribute_after_time, + clean_up_testnet_corrupted_reference_issue, + maximum_vote_polls_to_process, + ) = if self.config.network == Testnet + && last_committed_platform_state.current_protocol_version_in_consensus() == 1 + && block_platform_state.current_protocol_version_in_consensus() == 2 + { + // We need to clean up testnet + ( + TimestampMillis::MAX >> 1, + true, + platform_version + .drive_abci + .validation_and_processing + .event_constants + .maximum_vote_polls_to_process, + ) + } else if self.config.network == Testnet + && block_platform_state.last_committed_block_epoch().index == 1434 + && block_info.epoch.index == 1435 + { + // We need to clean up testnet, this time we are going to do this clean up at a specific epoch change version + (TimestampMillis::MAX >> 1, true, 100) + } else { + ( block_info.time_ms, + false, platform_version .drive_abci .validation_and_processing .event_constants .maximum_vote_polls_to_process, + ) + }; + let vote_polls_by_timestamp = + VotePollsByEndDateDriveQuery::execute_no_proof_for_specialized_end_time_query( + distribute_after_time, + maximum_vote_polls_to_process, &self.drive, transaction, &mut vec![], platform_version, )?; - let vote_polls_with_info = vote_polls_by_timestamp.into_iter().map(|(end_date, vote_polls)| { - let vote_polls_with_votes = vote_polls.into_iter().map(|vote_poll| { - let resolved_vote_poll = - vote_poll.resolve(&self.drive, transaction, platform_version)?; - match resolved_vote_poll { - ResolvedVotePoll::ContestedDocumentResourceVotePollWithContractInfo( - resolved_contested_document_resource_vote_poll, - ) => { - let document_type = - resolved_contested_document_resource_vote_poll.document_type()?; - // let's see who actually won - let result = self.tally_votes_for_contested_document_resource_vote_poll( - (&resolved_contested_document_resource_vote_poll).into(), - transaction, - platform_version, - )?; - let contenders = result.contenders; - // For each contender if there vote_tally is 1 or more we need to get their votes - // We don't do this for contenders with 0 votes, as there is no point. - - let sorted_contenders: Vec<_> = contenders - .into_iter() - .sorted_by(|a, b| Ord::cmp(&b.final_vote_tally, &a.final_vote_tally)) - .collect(); - - let (contenders_with_votes, contenders_with_no_votes) : (Vec<_>, Vec<_>) = sorted_contenders.iter().partition(|a| a.final_vote_tally > 0); - - let fetch_contenders = contenders_with_votes - .iter() - .map(|contender| contender.identity_id) - .collect::>(); - let mut other_contenders = if contenders_with_no_votes.is_empty() - { - BTreeMap::new() - } else { - // Other contenders are only those with no votes - contenders_with_no_votes.into_iter().map(|contender| (TowardsIdentity(contender.identity_id), vec![])).collect() - }; - - // We need to get the votes of the sorted contenders - let mut identifiers_voting_for_contenders = - self.drive.fetch_identities_voting_for_contenders( - &resolved_contested_document_resource_vote_poll, - fetch_contenders, - true, + // Check if awarding is disabled + let vote_polls_with_info = if clean_up_testnet_corrupted_reference_issue { + // We need to remove all empty trees before the current time + // This is because before this fix on testnet empty trees were left in the query by end date tree + let path = vote_end_date_queries_tree_path_vec(); + let query = + Query::new_single_query_item(QueryItem::RangeTo(..encode_u64(block_info.time_ms))); + let path_query = PathQuery::new_unsized(path.clone(), query); + + let keys = self + .drive + .grove_get_raw_path_query( + &path_query, + transaction, + QueryResultType::QueryKeyElementPairResultType, + &mut vec![], + &platform_version.drive, + )? + .0 + .to_keys(); + + for key in keys { + self.drive.grove_delete( + path.as_slice().into(), + key.as_slice(), + transaction, + &mut vec![], + &platform_version.drive, + )?; + } + + // Skip processing, just collect resolved vote polls for cleanup + vote_polls_by_timestamp.into_iter().map(|(end_date, vote_polls)| { + let vote_polls_with_votes = vote_polls.into_iter().map(|vote_poll| { + let resolved_vote_poll = vote_poll.resolve( + &self.drive, + transaction, + platform_version, + )?; + match resolved_vote_poll { + ResolvedVotePoll::ContestedDocumentResourceVotePollWithContractInfo( + resolved_contested_document_resource_vote_poll, + ) => { + let query = ContestedDocumentVotePollDriveQuery { + vote_poll: (&resolved_contested_document_resource_vote_poll).into(), + result_type: ContestedDocumentVotePollDriveQueryResultType::VoteTally, + offset: None, + limit: None, // There should be no limit here + start_at: None, + allow_include_locked_and_abstaining_vote_tally: true, + }; + + let query_result = + query.execute_no_proof(&self.drive, transaction, &mut vec![], platform_version)?; + + let contenders_with_no_votes : Vec<_> = query_result.contenders.iter().filter(|a| a.vote_tally().is_none() || a.vote_tally().unwrap() == 0 ).collect(); + + let mut other_contenders = if contenders_with_no_votes.is_empty() + { + BTreeMap::new() + } else { + // Other contenders are only those with no votes + contenders_with_no_votes.into_iter().map(|contender| (TowardsIdentity(contender.identity_id()), vec![])).collect() + }; + + if query_result.locked_vote_tally == Some(0) { + other_contenders.insert(ResourceVoteChoice::Lock, vec![]); + } + + if query_result.abstaining_vote_tally == Some(0) { + other_contenders.insert(ResourceVoteChoice::Abstain, vec![]); + } + + // We need to get the votes of the sorted contenders + let mut identifiers_voting_for_contenders = + self.drive.fetch_identities_voting_for_contenders( + &resolved_contested_document_resource_vote_poll, + query_result.contenders.into_iter().map(|contender| contender.identity_id()).collect(), + true, + transaction, + platform_version, + )?; + + identifiers_voting_for_contenders.append(&mut other_contenders); + + // We don't need votes, so we pass an empty BTreeMap + Ok(ResolvedVotePollWithVotes::ContestedDocumentResourceVotePollWithContractInfoAndVotes( + resolved_contested_document_resource_vote_poll, + identifiers_voting_for_contenders, + )) + } + } + }).collect::, Error>>()?; + Ok((end_date, vote_polls_with_votes)) + }).collect::>, Error>>() + } else { + vote_polls_by_timestamp.into_iter().map(|(end_date, vote_polls)| { + let vote_polls_with_votes = vote_polls.into_iter().map(|vote_poll| { + let resolved_vote_poll = + vote_poll.resolve(&self.drive, transaction, platform_version)?; + match resolved_vote_poll { + ResolvedVotePoll::ContestedDocumentResourceVotePollWithContractInfo( + resolved_contested_document_resource_vote_poll, + ) => { + let document_type = + resolved_contested_document_resource_vote_poll.document_type()?; + // let's see who actually won + let result = self.tally_votes_for_contested_document_resource_vote_poll( + (&resolved_contested_document_resource_vote_poll).into(), transaction, platform_version, )?; + let contenders = result.contenders; + // For each contender if there vote_tally is 1 or more we need to get their votes + // We don't do this for contenders with 0 votes, as there is no point. - identifiers_voting_for_contenders.append(&mut other_contenders); - - let highest_vote_tally = sorted_contenders - .first() - .map(|max_voted_contender| max_voted_contender.final_vote_tally) - .unwrap_or_default(); - // These are all the people who got top votes - let top_contenders: Vec = sorted_contenders - .into_iter() - .filter(|c| c.final_vote_tally == highest_vote_tally) - .take(100) // Limit to the first 100 before the expensive operation - .map(|contender| { - FinalizedContender::try_from_contender_with_serialized_document( - contender, - document_type, - platform_version, - ) - .map_err(Error::Protocol) - }) - .collect::, Error>>()?; - // Now we sort by the document creation date - let maybe_top_contender = top_contenders.into_iter().max_by(|a, b| { - a.document - .created_at() - .cmp(&b.document.created_at()) - .then_with(|| { - a.document - .created_at_block_height() - .cmp(&b.document.created_at_block_height()) - }) - .then_with(|| { - a.document - .created_at_core_block_height() - .cmp(&b.document.created_at_core_block_height()) - }) - .then_with(|| a.document.id().cmp(&b.document.id())) - }); - // We award the document to the top contender - let winner_info = if let Some(top_contender) = maybe_top_contender { - // let's check to make sure the lock votes didn't win it - // if the lock is tied with the top contender the top contender gets it - if result.locked_vote_tally > top_contender.final_vote_tally { - // the record will show it's locked - ContestedDocumentVotePollWinnerInfo::Locked + let sorted_contenders: Vec<_> = contenders + .into_iter() + .sorted_by(|a, b| Ord::cmp(&b.final_vote_tally, &a.final_vote_tally)) + .collect(); + + let (contenders_with_votes, contenders_with_no_votes): (Vec<_>, Vec<_>) = sorted_contenders.iter().partition(|a| a.final_vote_tally > 0); + + let fetch_contenders = contenders_with_votes + .iter() + .map(|contender| contender.identity_id) + .collect::>(); + let mut other_contenders = if contenders_with_no_votes.is_empty() + { + BTreeMap::new() } else { - let contender_id = top_contender.identity_id; - // We award the document to the winner of the vote poll - self.award_document_to_winner( - block_info, - top_contender, + // Other contenders are only those with no votes + contenders_with_no_votes.into_iter().map(|contender| (TowardsIdentity(contender.identity_id), vec![])).collect() + }; + + // We need to get the votes of the sorted contenders + let mut identifiers_voting_for_contenders = + self.drive.fetch_identities_voting_for_contenders( &resolved_contested_document_resource_vote_poll, + fetch_contenders, + true, transaction, platform_version, )?; - ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_id) - } - } else { - ContestedDocumentVotePollWinnerInfo::NoWinner - }; - // We want to keep a record of how everyone voted - self.keep_record_of_finished_contested_resource_vote_poll( - block_platform_state, - block_info, - &resolved_contested_document_resource_vote_poll, - &identifiers_voting_for_contenders, - winner_info, - transaction, - platform_version, - )?; - Ok(ResolvedVotePollWithVotes::ContestedDocumentResourceVotePollWithContractInfoAndVotes(resolved_contested_document_resource_vote_poll, identifiers_voting_for_contenders)) + + identifiers_voting_for_contenders.append(&mut other_contenders); + + let highest_vote_tally = sorted_contenders + .first() + .map(|max_voted_contender| max_voted_contender.final_vote_tally) + .unwrap_or_default(); + // These are all the people who got top votes + let top_contenders: Vec = sorted_contenders + .into_iter() + .filter(|c| c.final_vote_tally == highest_vote_tally) + .take(100) // Limit to the first 100 before the expensive operation + .map(|contender| { + FinalizedContender::try_from_contender_with_serialized_document( + contender, + document_type, + platform_version, + ) + .map_err(Error::Protocol) + }) + .collect::, Error>>()?; + // Now we sort by the document creation date + let maybe_top_contender = top_contenders.into_iter().max_by(|a, b| { + a.document + .created_at() + .cmp(&b.document.created_at()) + .then_with(|| { + a.document + .created_at_block_height() + .cmp(&b.document.created_at_block_height()) + }) + .then_with(|| { + a.document + .created_at_core_block_height() + .cmp(&b.document.created_at_core_block_height()) + }) + .then_with(|| a.document.id().cmp(&b.document.id())) + }); + // We award the document to the top contender + let winner_info = if let Some(top_contender) = maybe_top_contender { + // let's check to make sure the lock votes didn't win it + // if the lock is tied with the top contender the top contender gets it + if result.locked_vote_tally > top_contender.final_vote_tally { + // the record will show it's locked + ContestedDocumentVotePollWinnerInfo::Locked + } else { + let contender_id = top_contender.identity_id; + // We award the document to the winner of the vote poll + self.award_document_to_winner( + block_info, + top_contender, + &resolved_contested_document_resource_vote_poll, + transaction, + platform_version, + )?; + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_id) + } + } else { + ContestedDocumentVotePollWinnerInfo::NoWinner + }; + // We want to keep a record of how everyone voted + self.keep_record_of_finished_contested_resource_vote_poll( + block_platform_state, + block_info, + &resolved_contested_document_resource_vote_poll, + &identifiers_voting_for_contenders, + winner_info, + transaction, + platform_version, + )?; + Ok(ResolvedVotePollWithVotes::ContestedDocumentResourceVotePollWithContractInfoAndVotes(resolved_contested_document_resource_vote_poll, identifiers_voting_for_contenders)) + } } - } - }).collect::, Error>>()?; - Ok((end_date, vote_polls_with_votes)) - }).collect::>, Error>>()?; + }).collect::, Error>>()?; + Ok((end_date, vote_polls_with_votes)) + }).collect::>, Error>>() + }?; // We need to clean up the vote polls // This means removing it and also removing all current votes if !vote_polls_with_info.is_empty() { self.clean_up_after_vote_polls_end( &vote_polls_with_info, + clean_up_testnet_corrupted_reference_issue, transaction, platform_version, )?; diff --git a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/mod.rs index 05a48ad45c7..1c13190a5a4 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/mod.rs @@ -24,6 +24,7 @@ where &TimestampMillis, &BTreeMap>, )>, + clean_up_testnet_corrupted_reference_issue: bool, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { @@ -35,6 +36,7 @@ where { 0 => self.clean_up_after_contested_resources_vote_polls_end_v0( vote_polls, + clean_up_testnet_corrupted_reference_issue, transaction, platform_version, ), diff --git a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/v0/mod.rs index f648ad27f86..f444ed1e61f 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_contested_resources_vote_polls_end/v0/mod.rs @@ -24,6 +24,7 @@ where &TimestampMillis, &BTreeMap>, )>, + clean_up_testnet_corrupted_reference_issue: bool, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { @@ -52,6 +53,7 @@ where self.drive .remove_contested_resource_vote_poll_documents_operations( vote_polls.as_slice(), + clean_up_testnet_corrupted_reference_issue, &mut operations, transaction, platform_version, @@ -109,6 +111,23 @@ where )?; } + if clean_up_testnet_corrupted_reference_issue { + self.drive.remove_contested_resource_info_operations( + vote_polls.as_slice(), + &mut operations, + transaction, + platform_version, + )?; + // We remove the last index + self.drive + .remove_contested_resource_top_level_index_operations( + vote_polls.as_slice(), + &mut operations, + transaction, + platform_version, + )?; + } + if !operations.is_empty() { self.drive.apply_batch_low_level_drive_operations( None, diff --git a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/mod.rs index d5089264b83..2852effd323 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/mod.rs @@ -18,6 +18,7 @@ where pub(in crate::execution) fn clean_up_after_vote_polls_end( &self, vote_polls: &BTreeMap>, + clean_up_testnet_corrupted_reference_issue: bool, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { @@ -27,7 +28,12 @@ where .voting .clean_up_after_vote_poll_end { - 0 => self.clean_up_after_vote_polls_end_v0(vote_polls, transaction, platform_version), + 0 => self.clean_up_after_vote_polls_end_v0( + vote_polls, + clean_up_testnet_corrupted_reference_issue, + transaction, + platform_version, + ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "clean_up_after_vote_polls_end".to_string(), known_versions: vec![0], diff --git a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/v0/mod.rs index 20f39351ef7..a5b0d75a3b5 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/voting/clean_up_after_vote_polls_end/v0/mod.rs @@ -19,6 +19,7 @@ where pub(super) fn clean_up_after_vote_polls_end_v0( &self, vote_polls: &BTreeMap>, + clean_up_testnet_corrupted_reference_issue: bool, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { @@ -44,6 +45,7 @@ where // Call the function to clean up contested document resource vote polls self.clean_up_after_contested_resources_vote_polls_end( contested_polls, + clean_up_testnet_corrupted_reference_issue, transaction, platform_version, ) diff --git a/packages/rs-drive-abci/src/execution/platform_events/voting/run_dao_platform_events/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/voting/run_dao_platform_events/v0/mod.rs index 817067f58c0..2ea9357af14 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/voting/run_dao_platform_events/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/voting/run_dao_platform_events/v0/mod.rs @@ -30,6 +30,7 @@ where // Check for any vote polls that might have ended self.check_for_ended_vote_polls( + last_committed_platform_state, block_platform_state, block_info, transaction, diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/mod.rs index de42c73bda7..3601bd9640f 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/mod.rs @@ -1,10 +1,11 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use crate::platform_types::platform::Platform; -use crate::platform_types::withdrawal::unsigned_withdrawal_txs::v0::UnsignedWithdrawalTxs; use crate::rpc::core::CoreRPCLike; -use dpp::dashcore::bls_sig_utils::BLSSignature; +use dpp::dashcore::Transaction; use dpp::version::PlatformVersion; +use std::collections::BTreeMap; +use tenderdash_abci::proto::types::VoteExtension; mod v0; @@ -15,8 +16,7 @@ where /// Appends signatures to unsigned withdrawal transactions and broadcast them to Core pub(in crate::execution) fn append_signatures_and_broadcast_withdrawal_transactions( &self, - unsigned_withdrawal_transactions: UnsignedWithdrawalTxs, - signatures: Vec, + withdrawal_transactions_with_vote_extensions: BTreeMap<&Transaction, &VoteExtension>, platform_version: &PlatformVersion, ) -> Result<(), Error> { match platform_version @@ -26,8 +26,7 @@ where .append_signatures_and_broadcast_withdrawal_transactions { 0 => self.append_signatures_and_broadcast_withdrawal_transactions_v0( - unsigned_withdrawal_transactions, - signatures, + withdrawal_transactions_with_vote_extensions, ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "append_signatures_and_broadcast_withdrawal_transactions".to_string(), diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/v0/mod.rs index 22a3c4d555f..6d1deb5c82d 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/append_signatures_and_broadcast_withdrawal_transactions/v0/mod.rs @@ -1,7 +1,6 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use crate::platform_types::platform::Platform; -use crate::platform_types::withdrawal::unsigned_withdrawal_txs::v0::UnsignedWithdrawalTxs; use crate::rpc::core::{ CoreRPCLike, CORE_RPC_ERROR_ASSET_UNLOCK_EXPIRED, CORE_RPC_ERROR_ASSET_UNLOCK_NO_ACTIVE_QUORUM, CORE_RPC_TX_ALREADY_IN_CHAIN, @@ -10,12 +9,14 @@ use dashcore_rpc::jsonrpc; use dashcore_rpc::Error as CoreRPCError; use dpp::dashcore::bls_sig_utils::BLSSignature; use dpp::dashcore::transaction::special_transaction::TransactionPayload::AssetUnlockPayloadType; -use dpp::dashcore::{consensus, Txid}; +use dpp::dashcore::{consensus, Transaction, Txid}; +use std::collections::{BTreeMap, HashMap}; use std::fs::{self, File}; use std::io::Write; use std::path::Path; use std::time::{SystemTime, UNIX_EPOCH}; +use tenderdash_abci::proto::types::VoteExtension; impl Platform where @@ -23,79 +24,93 @@ where { pub(super) fn append_signatures_and_broadcast_withdrawal_transactions_v0( &self, - unsigned_withdrawal_transactions: UnsignedWithdrawalTxs, - signatures: Vec, + withdrawal_transactions_with_vote_extensions: BTreeMap<&Transaction, &VoteExtension>, ) -> Result<(), Error> { - if unsigned_withdrawal_transactions.is_empty() { + if withdrawal_transactions_with_vote_extensions.is_empty() { return Ok(()); } - if unsigned_withdrawal_transactions.len() != signatures.len() { - return Err(Error::Execution(ExecutionError::CorruptedCodeExecution( - "number of signatures must match number of withdrawal transactions", - ))); - } - tracing::debug!( "Broadcasting {} withdrawal transactions", - unsigned_withdrawal_transactions.len(), + withdrawal_transactions_with_vote_extensions.len(), ); let mut transaction_submission_failures = vec![]; - for (mut transaction, signature) in - unsigned_withdrawal_transactions.into_iter().zip(signatures) - { - let Some(AssetUnlockPayloadType(mut payload)) = transaction.special_transaction_payload - else { - return Err(Error::Execution(ExecutionError::CorruptedCodeExecution( - "withdrawal transaction payload must be AssetUnlockPayloadType", + for (transaction_ref, vote_extension) in withdrawal_transactions_with_vote_extensions { + // Clone the transaction to get an owned, mutable transaction + let mut transaction = transaction_ref.clone(); + + // Extract the signature from the vote extension + let signature_bytes: [u8; 96] = vote_extension + .signature + .as_slice() + .try_into() + .map_err(|_| { + Error::Execution(ExecutionError::CorruptedCodeExecution( + "invalid votes extension signature size", + )) + })?; + + let signature = BLSSignature::from(signature_bytes); + + // Modify the transaction's payload + if let Some(AssetUnlockPayloadType(mut payload)) = + transaction.special_transaction_payload + { + // Assign the quorum signature + payload.quorum_sig = signature; + + // Assign the modified payload back to the transaction + transaction.special_transaction_payload = Some(AssetUnlockPayloadType(payload)); + } else { + return Err(Error::Execution(ExecutionError::CorruptedCachedState( + "withdrawal transaction payload must be AssetUnlockPayloadType".to_string(), ))); - }; - - payload.quorum_sig = signature; - - let index = payload.base.index; - - transaction.special_transaction_payload = Some(AssetUnlockPayloadType(payload)); + } + // Serialize the transaction let tx_bytes = consensus::serialize(&transaction); - // TODO: We need to broadcast all or none of the transactions (in case of error) - // will be fixed in upcoming PR + // Send the transaction match self.core_rpc.send_raw_transaction(&tx_bytes) { Ok(_) => { tracing::debug!( tx_id = transaction.txid().to_hex(), - index, - "Successfully broadcasted withdrawal transaction with index {}", - index + "Successfully broadcasted withdrawal transaction" ); } - // Ignore errors that can happen during blockchain synchronization. - // They will be logged with dashcore_rpc + // Handle specific errors Err(CoreRPCError::JsonRpc(jsonrpc::error::Error::Rpc(e))) - if e.code == CORE_RPC_TX_ALREADY_IN_CHAIN - || e.message == CORE_RPC_ERROR_ASSET_UNLOCK_NO_ACTIVE_QUORUM + if e.code == CORE_RPC_TX_ALREADY_IN_CHAIN => + { + // Transaction already in chain; no action needed + } + Err(CoreRPCError::JsonRpc(jsonrpc::error::Error::Rpc(e))) + if e.message == CORE_RPC_ERROR_ASSET_UNLOCK_NO_ACTIVE_QUORUM || e.message == CORE_RPC_ERROR_ASSET_UNLOCK_EXPIRED => { - // These will never work again + tracing::debug!( + tx_id = transaction.txid().to_string(), + "Asset unlock is expired or has no active quorum: {}", + e.message + ); + transaction_submission_failures.push((transaction.txid(), tx_bytes)); } - // Errors that can happen if we created invalid tx or Core isn't responding + // Handle other errors Err(e) => { tracing::warn!( tx_id = transaction.txid().to_string(), - index, - "Failed to broadcast asset unlock transaction {}: {}", - index, + "Failed to broadcast asset unlock transaction: {}", e ); - // These errors might allow the state transition to be broadcast in the future + // Collect failed transactions for potential future retries transaction_submission_failures.push((transaction.txid(), tx_bytes)); } } } + // Store transaction submission failures if let Some(ref rejections_path) = self.config.rejections_path { store_transaction_failures(transaction_submission_failures, rejections_path) .map_err(|e| Error::Execution(e.into()))?; diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/mod.rs index e4cd110298d..0f0ff66a740 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/mod.rs @@ -2,13 +2,10 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use crate::platform_types::platform::Platform; use crate::rpc::core::CoreRPCLike; +use dpp::block::block_info::BlockInfo; use dpp::document::Document; -use dpp::identifier::Identifier; use dpp::version::PlatformVersion; -use drive::drive::identity::withdrawals::{ - WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes, -}; -use std::collections::HashMap; +use dpp::withdrawal::{WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes}; mod v0; @@ -16,35 +13,41 @@ impl Platform where C: CoreRPCLike, { - /// Builds a list of Core transactions from withdrawal documents. This function is a version handler that - /// directs to specific version implementations of the `build_withdrawal_transactions_from_documents` function. + /// Builds a list of withdrawal transactions from the provided withdrawal documents. + /// Each withdrawal document is converted into a Core transaction, starting from the specified index. + /// The function encodes the transaction and updates the document with the transaction index, status, + /// updated time, and revision. /// /// # Arguments /// - /// * `documents` - A slice of `Document`. - /// * `drive_operation_types` - A mutable reference to `Vec`. - /// * `transaction` - A `TransactionArg` reference. - /// * `platform_version` - A `PlatformVersion` reference that dictates which version of - /// the method to call. + /// * `documents` - A mutable reference to a vector of `Document` representing the withdrawal requests. + /// * `start_index` - The starting index for the transaction, of type `WithdrawalTransactionIndex`. + /// * `block_info` - A reference to the `BlockInfo`, which provides the current block's timestamp. + /// * `platform_version` - A reference to the `PlatformVersion` that specifies the version of the platform being used. /// /// # Returns /// - /// * `Result, Error>` - Returns a HashMap containing withdrawal transactions if found, otherwise returns an `Error`. + /// * `Result, Error>` - On success, returns a vector of tuples containing the + /// transaction index and the encoded transaction bytes. On failure, returns an `Error`. pub(in crate::execution::platform_events::withdrawals) fn build_untied_withdrawal_transactions_from_documents( &self, - documents: &[Document], + documents: &mut Vec, start_index: WithdrawalTransactionIndex, + block_info: &BlockInfo, platform_version: &PlatformVersion, - ) -> Result, Error> { + ) -> Result, Error> { match platform_version .drive_abci .methods .withdrawals .build_untied_withdrawal_transactions_from_documents { - 0 => { - self.build_untied_withdrawal_transactions_from_documents_v0(documents, start_index) - } + 0 => self.build_untied_withdrawal_transactions_from_documents_v0( + documents, + start_index, + block_info, + platform_version, + ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "build_untied_withdrawal_transactions_from_documents".to_string(), known_versions: vec![0], diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/v0/mod.rs index ea63771c63f..2a1e5f8a743 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/build_untied_withdrawal_transactions_from_documents/v0/mod.rs @@ -1,28 +1,17 @@ -use std::collections::HashMap; - -use dashcore_rpc::dashcore::{ - blockdata::transaction::special_transaction::asset_unlock::{ - qualified_asset_unlock::ASSET_UNLOCK_TX_SIZE, - unqualified_asset_unlock::{AssetUnlockBasePayload, AssetUnlockBaseTransactionInfo}, - }, - consensus::Encodable, - ScriptBuf, TxOut, -}; -use dpp::document::{Document, DocumentV0Getters}; -use dpp::platform_value::btreemap_extensions::BTreeValueMapHelper; -use dpp::system_data_contracts::withdrawals_contract::v1::document_types::withdrawal; - -use drive::dpp::identifier::Identifier; -use drive::dpp::identity::convert_credits_to_duffs; -use drive::drive::identity::withdrawals::{ - WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes, -}; +use dashcore_rpc::dashcore::consensus::Encodable; +use dpp::block::block_info::BlockInfo; +use dpp::data_contracts::withdrawals_contract; +use dpp::data_contracts::withdrawals_contract::v1::document_types::withdrawal; +use dpp::document::document_methods::DocumentMethodsV0; +use dpp::document::{Document, DocumentV0Setters}; +use dpp::withdrawal::{WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes}; use crate::{ error::{execution::ExecutionError, Error}, platform_types::platform::Platform, rpc::core::CoreRPCLike, }; +use dpp::version::PlatformVersion; impl Platform where @@ -31,101 +20,72 @@ where /// Build list of Core transactions from withdrawal documents pub(super) fn build_untied_withdrawal_transactions_from_documents_v0( &self, - documents: &[Document], + documents: &mut Vec, start_index: WithdrawalTransactionIndex, - ) -> Result, Error> { - let mut withdrawals: HashMap = - HashMap::new(); - - for (i, document) in documents.iter().enumerate() { - let output_script_bytes = document - .properties() - .get_bytes(withdrawal::properties::OUTPUT_SCRIPT) - .map_err(|_| { - Error::Execution(ExecutionError::CorruptedCodeExecution( - "Can't get outputScript from withdrawal document", - )) - })?; - - let amount = document - .properties() - .get_integer(withdrawal::properties::AMOUNT) - .map_err(|_| { + block_info: &BlockInfo, + platform_version: &PlatformVersion, + ) -> Result, Error> { + documents + .iter_mut() + .enumerate() + .map(|(i, document)| { + let transaction_index = start_index + i as WithdrawalTransactionIndex; + + let withdrawal_transaction = document.try_into_asset_unlock_base_transaction_info( + transaction_index, + platform_version, + )?; + + let mut transaction_buffer: Vec = vec![]; + + withdrawal_transaction + .consensus_encode(&mut transaction_buffer) + .map_err(|_| { + Error::Execution(ExecutionError::CorruptedCodeExecution( + "Can't consensus encode a withdrawal transaction", + )) + })?; + + document.set_u64(withdrawal::properties::TRANSACTION_INDEX, transaction_index); + + document.set_u8( + withdrawal::properties::STATUS, + withdrawals_contract::WithdrawalStatus::POOLED as u8, + ); + + document.set_updated_at(Some(block_info.time_ms)); + + document.increment_revision().map_err(|_| { Error::Execution(ExecutionError::CorruptedCodeExecution( - "Can't get amount from withdrawal document", + "Could not increment document revision", )) })?; - let core_fee_per_byte: u32 = document - .properties() - .get_integer(withdrawal::properties::CORE_FEE_PER_BYTE) - .map_err(|_| { - Error::Execution(ExecutionError::CorruptedCodeExecution( - "Can't get coreFeePerByte from withdrawal document", - )) - })?; - - let output_script = ScriptBuf::from_bytes(output_script_bytes); - - let tx_out = TxOut { - value: convert_credits_to_duffs(amount)?, - script_pubkey: output_script, - }; - - let transaction_index = start_index + i as WithdrawalTransactionIndex; - - let withdrawal_transaction = AssetUnlockBaseTransactionInfo { - version: 1, - lock_time: 0, - output: vec![tx_out], - base_payload: AssetUnlockBasePayload { - version: 1, - index: transaction_index, - fee: ASSET_UNLOCK_TX_SIZE as u32 * core_fee_per_byte, - }, - }; - - let mut transaction_buffer: Vec = vec![]; - - withdrawal_transaction - .consensus_encode(&mut transaction_buffer) - .map_err(|_| { - Error::Execution(ExecutionError::CorruptedCodeExecution( - "Can't consensus encode a withdrawal transaction", - )) - })?; - - withdrawals.insert(document.id(), (transaction_index, transaction_buffer)); - } - - Ok(withdrawals) + Ok((transaction_index, transaction_buffer)) + }) + .collect() } } #[cfg(test)] mod tests { - - use dpp::withdrawal::Pooling; - use dpp::{ - data_contracts::withdrawals_contract, tests::fixtures::get_withdrawal_document_fixture, - }; + use dpp::tests::fixtures::get_withdrawal_document_fixture; use drive::util::test_helpers::setup::setup_document; mod build_withdrawal_transactions_from_documents { + use super::*; + use crate::test::helpers::setup::TestPlatformBuilder; + use dpp::block::block_info::BlockInfo; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::data_contracts::withdrawals_contract::v1::document_types::withdrawal; use dpp::identity::core_script::CoreScript; use dpp::platform_value::platform_value; use dpp::prelude::Identifier; + use dpp::system_data_contracts::withdrawals_contract::WithdrawalStatus; use dpp::system_data_contracts::{load_system_data_contract, SystemDataContract}; use dpp::version::PlatformVersion; - use drive::drive::identity::withdrawals::WithdrawalTransactionIndexAndBytes; + use dpp::withdrawal::Pooling; use drive::util::test_helpers::setup::setup_system_data_contract; - use itertools::Itertools; - - use crate::test::helpers::setup::TestPlatformBuilder; - - use super::*; #[test] fn test_build() { @@ -152,7 +112,7 @@ mod tests { "coreFeePerByte": 1u32, "pooling": Pooling::Never as u8, "outputScript": CoreScript::from_bytes((0..23).collect::>()), - "status": withdrawals_contract::WithdrawalStatus::POOLED as u8, + "status": WithdrawalStatus::POOLED as u8, "transactionIndex": 1u64, }), None, @@ -180,7 +140,7 @@ mod tests { "coreFeePerByte": 1u32, "pooling": Pooling::Never as u8, "outputScript": CoreScript::from_bytes((0..23).collect::>()), - "status": withdrawals_contract::WithdrawalStatus::POOLED as u8, + "status": WithdrawalStatus::POOLED as u8, "transactionIndex": 2u64, }), None, @@ -196,18 +156,21 @@ mod tests { Some(&transaction), ); - let documents = vec![document_1, document_2]; + let mut documents = vec![document_1, document_2]; + + let block_info = BlockInfo::default_with_time(50); let transactions = platform - .build_untied_withdrawal_transactions_from_documents_v0(&documents, 50) + .build_untied_withdrawal_transactions_from_documents_v0( + &mut documents, + 50, + &block_info, + platform_version, + ) .expect("to build transactions from documents"); assert_eq!( - transactions - .values() - .cloned() - .sorted() - .collect::>(), + transactions, vec![ ( 50, @@ -226,9 +189,6 @@ mod tests { ], ), ] - .into_iter() - .sorted() - .collect::>(), ); } } diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/dequeue_and_build_unsigned_withdrawal_transactions/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/dequeue_and_build_unsigned_withdrawal_transactions/v0/mod.rs index 33edd099278..c2506d4f7d8 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/dequeue_and_build_unsigned_withdrawal_transactions/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/dequeue_and_build_unsigned_withdrawal_transactions/v0/mod.rs @@ -13,7 +13,7 @@ use dpp::version::PlatformVersion; use drive::dpp::system_data_contracts::withdrawals_contract; use drive::dpp::system_data_contracts::withdrawals_contract::v1::document_types::withdrawal; -use drive::drive::identity::withdrawals::WithdrawalTransactionIndex; +use dpp::withdrawal::WithdrawalTransactionIndex; use drive::query::TransactionArg; use drive::util::batch::DriveOperation; @@ -28,8 +28,6 @@ use dpp::errors::ProtocolError; use drive::config::DEFAULT_QUERY_LIMIT; -const WITHDRAWAL_TRANSACTIONS_QUERY_LIMIT: u16 = 16; - impl Platform where C: CoreRPCLike, @@ -44,9 +42,11 @@ where ) -> Result { let mut drive_operations: Vec = vec![]; - // Get 16 latest withdrawal transactions from the queue + // Get withdrawal_transactions_per_block_limit (normally 16) latest withdrawal transactions from the queue let untied_withdrawal_transactions = self.drive.dequeue_untied_withdrawal_transactions( - WITHDRAWAL_TRANSACTIONS_QUERY_LIMIT, + platform_version + .system_limits + .withdrawal_transactions_per_block_limit, transaction, &mut drive_operations, platform_version, diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/mod.rs index 0a4b17062eb..726a86eef03 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/mod.rs @@ -4,7 +4,7 @@ use crate::platform_types::platform::Platform; use crate::rpc::core::CoreRPCLike; use dashcore_rpc::json::AssetUnlockStatus; use dpp::version::PlatformVersion; -use drive::drive::identity::withdrawals::WithdrawalTransactionIndex; +use dpp::withdrawal::WithdrawalTransactionIndex; use std::collections::BTreeMap; mod v0; diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/v0/mod.rs index 86433d8c03f..d284be086d9 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/fetch_transactions_block_inclusion_status/v0/mod.rs @@ -1,9 +1,8 @@ +use crate::{error::Error, platform_types::platform::Platform, rpc::core::CoreRPCLike}; use dashcore_rpc::dashcore_rpc_json::AssetUnlockStatus; -use drive::drive::identity::withdrawals::WithdrawalTransactionIndex; +use dpp::withdrawal::WithdrawalTransactionIndex; use std::collections::BTreeMap; -use crate::{error::Error, platform_types::platform::Platform, rpc::core::CoreRPCLike}; - impl Platform where C: CoreRPCLike, diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/mod.rs index 910445fe326..66be57e5e0e 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/mod.rs @@ -2,12 +2,14 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; use crate::rpc::core::CoreRPCLike; use dpp::block::block_info::BlockInfo; use dpp::version::PlatformVersion; use drive::grovedb::TransactionArg; mod v0; +mod v1; impl Platform where @@ -29,6 +31,7 @@ where pub(in crate::execution) fn pool_withdrawals_into_transactions_queue( &self, block_info: &BlockInfo, + last_committed_platform_state: &PlatformState, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { @@ -39,13 +42,19 @@ where .pool_withdrawals_into_transactions_queue { 0 => self.pool_withdrawals_into_transactions_queue_v0( + block_info, + last_committed_platform_state, + transaction, + platform_version, + ), + 1 => self.pool_withdrawals_into_transactions_queue_v1( block_info, transaction, platform_version, ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "pool_withdrawals_into_transactions_queue".to_string(), - known_versions: vec![0], + known_versions: vec![0, 1], received: version, })), } diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/v0/mod.rs index 9540d42f12f..00f1c8a7615 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/v0/mod.rs @@ -1,18 +1,16 @@ use dpp::block::block_info::BlockInfo; use dpp::data_contract::accessors::v0::DataContractV0Getters; -use dpp::document::document_methods::DocumentMethodsV0; -use dpp::document::{DocumentV0Getters, DocumentV0Setters}; use dpp::version::PlatformVersion; - -use drive::drive::identity::withdrawals::WithdrawalTransactionIndexAndBytes; use drive::grovedb::TransactionArg; use dpp::system_data_contracts::withdrawals_contract; use dpp::system_data_contracts::withdrawals_contract::v1::document_types::withdrawal; use drive::config::DEFAULT_QUERY_LIMIT; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; use crate::{ error::{execution::ExecutionError, Error}, platform_types::platform::Platform, @@ -27,9 +25,25 @@ where pub(super) fn pool_withdrawals_into_transactions_queue_v0( &self, block_info: &BlockInfo, + last_committed_platform_state: &PlatformState, transaction: TransactionArg, platform_version: &PlatformVersion, ) -> Result<(), Error> { + // Currently Core only supports using the first 2 quorums (out of 24 for mainnet). + // For us, we just use the latest quorum to be extra safe. + let Some(position_of_current_quorum) = + last_committed_platform_state.current_validator_set_position_in_list_by_most_recent() + else { + tracing::warn!("Current quorum not in current validator set, not making withdrawals"); + return Ok(()); + }; + if position_of_current_quorum != 0 { + tracing::debug!( + "Current quorum is not most recent, it is in position {}, not making withdrawals", + position_of_current_quorum + ); + return Ok(()); + } let mut documents = self.drive.fetch_oldest_withdrawal_documents_by_status( withdrawals_contract::WithdrawalStatus::QUEUED.into(), DEFAULT_QUERY_LIMIT, @@ -45,46 +59,16 @@ where .drive .fetch_next_withdrawal_transaction_index(transaction, platform_version)?; - let untied_withdrawal_transactions = self - .build_untied_withdrawal_transactions_from_documents( - &documents, - start_transaction_index, - platform_version, - )?; - - for document in documents.iter_mut() { - let Some((transaction_index, _)) = untied_withdrawal_transactions.get(&document.id()) - else { - return Err(Error::Execution(ExecutionError::CorruptedCodeExecution( - "transactions must contain a transaction", - ))); - }; - - document.set_u64( - withdrawal::properties::TRANSACTION_INDEX, - *transaction_index, - ); - - document.set_u8( - withdrawal::properties::STATUS, - withdrawals_contract::WithdrawalStatus::POOLED as u8, - ); - - document.set_updated_at(Some(block_info.time_ms)); - - document.increment_revision().map_err(|_| { - Error::Execution(ExecutionError::CorruptedCodeExecution( - "Could not increment document revision", - )) - })?; - } - - let withdrawal_transactions: Vec = - untied_withdrawal_transactions.into_values().collect(); + let withdrawal_transactions = self.build_untied_withdrawal_transactions_from_documents( + &mut documents, + start_transaction_index, + block_info, + platform_version, + )?; let withdrawal_transactions_count = withdrawal_transactions.len(); - let mut drive_operations = Vec::new(); + let mut drive_operations = vec![]; self.drive .add_enqueue_untied_withdrawal_transaction_operations( @@ -153,6 +137,7 @@ mod tests { use drive::util::test_helpers::setup::{setup_document, setup_system_data_contract}; use crate::test::helpers::setup::TestPlatformBuilder; + use dpp::document::DocumentV0Getters; use dpp::platform_value::btreemap_extensions::BTreeValueMapHelper; use dpp::platform_value::platform_value; use dpp::system_data_contracts::load_system_data_contract; @@ -234,9 +219,12 @@ mod tests { Some(&transaction), ); + let platform_state = platform.state.load(); + platform .pool_withdrawals_into_transactions_queue_v0( &block_info, + &platform_state, Some(&transaction), platform_version, ) diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/v1/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/v1/mod.rs new file mode 100644 index 00000000000..34b3174933f --- /dev/null +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/pool_withdrawals_into_transactions_queue/v1/mod.rs @@ -0,0 +1,251 @@ +use dpp::block::block_info::BlockInfo; + +use dpp::data_contract::accessors::v0::DataContractV0Getters; + +use dpp::version::PlatformVersion; +use drive::grovedb::TransactionArg; + +use dpp::system_data_contracts::withdrawals_contract; +use dpp::system_data_contracts::withdrawals_contract::v1::document_types::withdrawal; +use drive::config::DEFAULT_QUERY_LIMIT; + +use crate::{ + error::{execution::ExecutionError, Error}, + platform_types::platform::Platform, + rpc::core::CoreRPCLike, +}; + +impl Platform +where + C: CoreRPCLike, +{ + /// Pool withdrawal documents into transactions + pub(super) fn pool_withdrawals_into_transactions_queue_v1( + &self, + block_info: &BlockInfo, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + let mut documents = self.drive.fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::QUEUED.into(), + DEFAULT_QUERY_LIMIT, + transaction, + platform_version, + )?; + + if documents.is_empty() { + return Ok(()); + } + + let start_transaction_index = self + .drive + .fetch_next_withdrawal_transaction_index(transaction, platform_version)?; + + let withdrawal_transactions = self.build_untied_withdrawal_transactions_from_documents( + &mut documents, + start_transaction_index, + block_info, + platform_version, + )?; + + let withdrawal_transactions_count = withdrawal_transactions.len(); + + let mut drive_operations = vec![]; + + self.drive + .add_enqueue_untied_withdrawal_transaction_operations( + withdrawal_transactions, + &mut drive_operations, + platform_version, + )?; + + let end_transaction_index = start_transaction_index + withdrawal_transactions_count as u64; + + self.drive + .add_update_next_withdrawal_transaction_index_operation( + end_transaction_index, + &mut drive_operations, + platform_version, + )?; + + tracing::debug!( + "Pooled {} withdrawal documents into {} transactions with indices from {} to {}", + documents.len(), + withdrawal_transactions_count, + start_transaction_index, + end_transaction_index, + ); + + let withdrawals_contract = self.drive.cache.system_data_contracts.load_withdrawals(); + + self.drive.add_update_multiple_documents_operations( + &documents, + &withdrawals_contract, + withdrawals_contract + .document_type_for_name(withdrawal::NAME) + .map_err(|_| { + Error::Execution(ExecutionError::CorruptedCodeExecution( + "Can't fetch withdrawal data contract", + )) + })?, + &mut drive_operations, + &platform_version.drive, + )?; + + self.drive.apply_drive_operations( + drive_operations, + true, + block_info, + transaction, + platform_version, + None, + )?; + + Ok(()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use dpp::block::epoch::Epoch; + use itertools::Itertools; + + use dpp::data_contracts::SystemDataContract; + use dpp::identifier::Identifier; + use dpp::identity::core_script::CoreScript; + use dpp::tests::fixtures::get_withdrawal_document_fixture; + use dpp::withdrawal::Pooling; + use drive::util::test_helpers::setup::{setup_document, setup_system_data_contract}; + + use crate::test::helpers::setup::TestPlatformBuilder; + use dpp::document::DocumentV0Getters; + use dpp::platform_value::btreemap_extensions::BTreeValueMapHelper; + use dpp::platform_value::platform_value; + use dpp::system_data_contracts::load_system_data_contract; + use dpp::version::PlatformVersion; + + #[test] + fn test_pooling() { + let platform_version = PlatformVersion::latest(); + let platform = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_initial_state_structure(); + + let transaction = platform.drive.grove.start_transaction(); + + let block_info = BlockInfo { + time_ms: 1, + height: 1, + core_height: 96, + epoch: Epoch::default(), + }; + + let data_contract = + load_system_data_contract(SystemDataContract::Withdrawals, platform_version) + .expect("to load system data contract"); + + setup_system_data_contract(&platform.drive, &data_contract, Some(&transaction)); + + let owner_id = Identifier::new([1u8; 32]); + + let document_1 = get_withdrawal_document_fixture( + &data_contract, + owner_id, + platform_value!({ + "amount": 1000u64, + "coreFeePerByte": 1u32, + "pooling": Pooling::Never as u8, + "outputScript": CoreScript::from_bytes((0..23).collect::>()), + "status": withdrawals_contract::WithdrawalStatus::QUEUED as u8, + "transactionIndex": 1u64, + }), + None, + platform_version.protocol_version, + ) + .expect("expected withdrawal document"); + + let document_type = data_contract + .document_type_for_name(withdrawal::NAME) + .expect("expected to get document type"); + + setup_document( + &platform.drive, + &document_1, + &data_contract, + document_type, + Some(&transaction), + ); + + let document_2 = get_withdrawal_document_fixture( + &data_contract, + owner_id, + platform_value!({ + "amount": 1000u64, + "coreFeePerByte": 1u32, + "pooling": Pooling::Never as u8, + "outputScript": CoreScript::from_bytes((0..23).collect::>()), + "status": withdrawals_contract::WithdrawalStatus::QUEUED as u8, + "transactionIndex": 2u64, + }), + None, + platform_version.protocol_version, + ) + .expect("expected withdrawal document"); + + setup_document( + &platform.drive, + &document_2, + &data_contract, + document_type, + Some(&transaction), + ); + + let platform_state = platform.state.load(); + + platform + .pool_withdrawals_into_transactions_queue_v0( + &block_info, + &platform_state, + Some(&transaction), + platform_version, + ) + .expect("to pool withdrawal documents into transactions"); + + let updated_documents = platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::POOLED.into(), + DEFAULT_QUERY_LIMIT, + Some(&transaction), + platform_version, + ) + .expect("to fetch withdrawal documents"); + + for (i, document) in updated_documents + .into_iter() + // Sort by index because updated_at is the same for all documents within batch + .sorted_by(|a, b| { + let a_index = a + .properties() + .get_u64(withdrawal::properties::TRANSACTION_INDEX) + .expect("to get transactionIndex"); + let b_index = b + .properties() + .get_u64(withdrawal::properties::TRANSACTION_INDEX) + .expect("to get transactionIndex"); + a_index.cmp(&b_index) + }) + .enumerate() + { + assert_eq!(document.revision(), Some(2)); + + let tx_index = document + .properties() + .get_u64(withdrawal::properties::TRANSACTION_INDEX) + .expect("to get transactionIndex"); + + assert_eq!(tx_index, i as u64); + } + } +} diff --git a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/update_broadcasted_withdrawal_statuses/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/update_broadcasted_withdrawal_statuses/v0/mod.rs index 0257f293518..2eba2e228c8 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/withdrawals/update_broadcasted_withdrawal_statuses/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/withdrawals/update_broadcasted_withdrawal_statuses/v0/mod.rs @@ -11,8 +11,8 @@ use dpp::version::PlatformVersion; use itertools::Itertools; use std::collections::HashSet; +use dpp::withdrawal::WithdrawalTransactionIndex; use drive::config::DEFAULT_QUERY_LIMIT; -use drive::drive::identity::withdrawals::WithdrawalTransactionIndex; use drive::grovedb::Transaction; use drive::util::batch::DriveOperation; diff --git a/packages/rs-drive-abci/src/execution/types/block_execution_context/mod.rs b/packages/rs-drive-abci/src/execution/types/block_execution_context/mod.rs index a0054fff7a9..3a866d17c75 100644 --- a/packages/rs-drive-abci/src/execution/types/block_execution_context/mod.rs +++ b/packages/rs-drive-abci/src/execution/types/block_execution_context/mod.rs @@ -42,12 +42,6 @@ impl BlockExecutionContextV0Getters for BlockExecutionContext { } } - fn hpmn_count(&self) -> u32 { - match self { - BlockExecutionContext::V0(v0) => v0.hpmn_count, - } - } - fn unsigned_withdrawal_transactions(&self) -> &UnsignedWithdrawalTxs { match self { BlockExecutionContext::V0(v0) => &v0.unsigned_withdrawal_transactions, @@ -80,12 +74,6 @@ impl BlockExecutionContextV0Setters for BlockExecutionContext { } } - fn set_hpmn_count(&mut self, count: u32) { - match self { - BlockExecutionContext::V0(v0) => v0.hpmn_count = count, - } - } - fn set_unsigned_withdrawal_transactions(&mut self, transactions: UnsignedWithdrawalTxs) { match self { BlockExecutionContext::V0(v0) => v0.unsigned_withdrawal_transactions = transactions, diff --git a/packages/rs-drive-abci/src/execution/types/block_execution_context/v0/mod.rs b/packages/rs-drive-abci/src/execution/types/block_execution_context/v0/mod.rs index 9276f1ff8a7..de6e1ddc33b 100644 --- a/packages/rs-drive-abci/src/execution/types/block_execution_context/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/types/block_execution_context/v0/mod.rs @@ -1,32 +1,3 @@ -// MIT LICENSE -// -// Copyright (c) 2021 Dash Core Group -// -// Permission is hereby granted, free of charge, to any -// person obtaining a copy of this software and associated -// documentation files (the "Software"), to deal in the -// Software without restriction, including without -// limitation the rights to use, copy, modify, merge, -// publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software -// is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice -// shall be included in all copies or substantial portions -// of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - use crate::execution::types::block_state_info::BlockStateInfo; use crate::platform_types::epoch_info::EpochInfo; @@ -42,8 +13,6 @@ pub struct BlockExecutionContextV0 { pub block_state_info: BlockStateInfo, /// Epoch info pub epoch_info: EpochInfo, - /// Total hpmn count - pub hpmn_count: u32, /// Unsigned withdrawal transactions to be available for extend and verify votes handlers pub unsigned_withdrawal_transactions: UnsignedWithdrawalTxs, /// Block state @@ -59,9 +28,6 @@ pub trait BlockExecutionContextV0Getters { /// Returns a reference of the epoch_info field. fn epoch_info(&self) -> &EpochInfo; - /// Returns the hpmn_count field. - fn hpmn_count(&self) -> u32; - /// Returns a reference of the withdrawal_transactions field. fn unsigned_withdrawal_transactions(&self) -> &UnsignedWithdrawalTxs; @@ -80,9 +46,6 @@ pub trait BlockExecutionContextV0Setters { /// Sets the epoch_info field. fn set_epoch_info(&mut self, info: EpochInfo); - /// Sets the hpmn_count field. - fn set_hpmn_count(&mut self, count: u32); - /// Sets the withdrawal_transactions field. fn set_unsigned_withdrawal_transactions(&mut self, transactions: UnsignedWithdrawalTxs); @@ -137,11 +100,6 @@ impl BlockExecutionContextV0Getters for BlockExecutionContextV0 { &self.epoch_info } - /// Returns the hpmn_count field. - fn hpmn_count(&self) -> u32 { - self.hpmn_count - } - /// Returns a reference to the unsigned withdrawal transactions fn unsigned_withdrawal_transactions(&self) -> &UnsignedWithdrawalTxs { &self.unsigned_withdrawal_transactions @@ -167,10 +125,6 @@ impl BlockExecutionContextV0Setters for BlockExecutionContextV0 { fn set_epoch_info(&mut self, info: EpochInfo) { self.epoch_info = info; } - /// Sets the hpmn_count field. - fn set_hpmn_count(&mut self, count: u32) { - self.hpmn_count = count; - } /// Sets the withdrawal_transactions field. fn set_unsigned_withdrawal_transactions(&mut self, transactions: UnsignedWithdrawalTxs) { self.unsigned_withdrawal_transactions = transactions; diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/check_tx_verification/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/check_tx_verification/v0/mod.rs index b48464fd3cb..dde9c1e1f32 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/check_tx_verification/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/check_tx_verification/v0/mod.rs @@ -9,14 +9,13 @@ use dpp::prelude::ConsensusValidationResult; use dpp::serialization::Signable; use dpp::state_transition::signable_bytes_hasher::SignableBytesHasher; use dpp::ProtocolError; - use dpp::state_transition::StateTransition; use dpp::version::{DefaultForPlatformVersion, PlatformVersion}; use crate::error::execution::ExecutionError; use crate::execution::check_tx::CheckTxLevel; use crate::execution::types::state_transition_execution_context::StateTransitionExecutionContext; use crate::execution::validation::state_transition::common::asset_lock::proof::verify_is_not_spent::AssetLockProofVerifyIsNotSpent; -use crate::execution::validation::state_transition::processor::v0::{StateTransitionIdentityBalanceValidationV0, StateTransitionBasicStructureValidationV0, StateTransitionNonceValidationV0, StateTransitionIdentityBasedSignatureValidationV0, StateTransitionStructureKnownInStateValidationV0}; +use crate::execution::validation::state_transition::processor::v0::{StateTransitionIdentityBalanceValidationV0, StateTransitionBasicStructureValidationV0, StateTransitionNonceValidationV0, StateTransitionIdentityBasedSignatureValidationV0, StateTransitionStructureKnownInStateValidationV0, StateTransitionIsAllowedValidationV0}; use crate::execution::validation::state_transition::ValidationMode; pub(super) fn state_transition_to_execution_event_for_check_tx_v0<'a, C: CoreRPCLike>( @@ -29,9 +28,22 @@ pub(super) fn state_transition_to_execution_event_for_check_tx_v0<'a, C: CoreRPC let mut state_transition_execution_context = StateTransitionExecutionContext::default_for_platform_version(platform_version)?; + // TODO: There is no point to have it here. There is "_" arm implemented. #[allow(unreachable_patterns)] match check_tx_level { CheckTxLevel::FirstTimeCheck => { + if state_transition.has_is_allowed_validation(platform_version)? { + let result = state_transition.validate_is_allowed(platform, platform_version)?; + + if !result.is_valid() { + return Ok( + ConsensusValidationResult::>::new_with_errors( + result.errors, + ), + ); + } + } + // Only identity top up and identity create do not have nonces validation if state_transition.has_nonces_validation() { let result = state_transition.validate_nonces( diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/validate_state_transition_identity_signed/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/validate_state_transition_identity_signed/v0/mod.rs index 4e316a7af0e..5d411c02a23 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/common/validate_state_transition_identity_signed/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/validate_state_transition_identity_signed/v0/mod.rs @@ -74,18 +74,12 @@ impl<'a> ValidateStateTransitionIdentitySignatureV0<'a> for StateTransition { let owner_id = self.owner_id(); - let security_levels = - self.security_level_requirement() + let allowed_purposes = + self.purpose_requirement() .ok_or(ProtocolError::CorruptedCodeExecution( - "state_transition does not have security level".to_string(), + "state_transition does not have a key purpose requirement".to_string(), ))?; - let purpose = self - .purpose_requirement() - .ok_or(ProtocolError::CorruptedCodeExecution( - "state_transition does not have a key purpose requirement".to_string(), - ))?; - let key_request = IdentityKeysRequest::new_specific_key_query(owner_id.as_bytes(), key_id); let maybe_partial_identity = match (request_identity_balance, request_identity_revision) { @@ -169,13 +163,19 @@ impl<'a> ValidateStateTransitionIdentitySignatureV0<'a> for StateTransition { return Ok(validation_result); } - if purpose != public_key.purpose() { + if !allowed_purposes.contains(&public_key.purpose()) { validation_result.add_error(SignatureError::InvalidSignaturePublicKeyPurposeError( - InvalidSignaturePublicKeyPurposeError::new(public_key.purpose(), purpose), + InvalidSignaturePublicKeyPurposeError::new(public_key.purpose(), allowed_purposes), )); return Ok(validation_result); } + let security_levels = self + .security_level_requirement(public_key.purpose()) + .ok_or(ProtocolError::CorruptedCodeExecution( + "state_transition does not have security level".to_string(), + ))?; + if !security_levels.contains(&public_key.security_level()) { validation_result.add_error( SignatureError::InvalidSignaturePublicKeySecurityLevelError( diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/mod.rs index 491f3e39b22..fa5a06fa415 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/mod.rs @@ -8,4 +8,4 @@ pub mod transformer; pub use state_transitions::*; #[cfg(test)] -pub(crate) use state_transitions::tests; +pub(in crate::execution) use state_transitions::tests; diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs index 9ec26800a92..46ab19c2fdb 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs @@ -39,6 +39,14 @@ pub(super) fn process_state_transition_v0<'a, C: CoreRPCLike>( let mut state_transition_execution_context = StateTransitionExecutionContext::default_for_platform_version(platform_version)?; + if state_transition.has_is_allowed_validation(platform_version)? { + let result = state_transition.validate_is_allowed(platform, platform_version)?; + + if !result.is_valid() { + return Ok(ConsensusValidationResult::::new_with_errors(result.errors)); + } + } + // Only identity create does not use identity in state validation, because it doesn't yet have the identity in state let mut maybe_identity = if state_transition.uses_identity_in_state() { // Validating signature for identity based state transitions (all those except identity create and identity top up) @@ -250,6 +258,18 @@ pub(super) fn process_state_transition_v0<'a, C: CoreRPCLike>( }) } +/// A trait for validating state transitions within a blockchain. +pub(crate) trait StateTransitionIsAllowedValidationV0 { + /// This means we should validate is state transition is allowed + fn has_is_allowed_validation(&self, platform_version: &PlatformVersion) -> Result; + /// Preliminary validation for a state transition + fn validate_is_allowed( + &self, + platform: &PlatformRef, + platform_version: &PlatformVersion, + ) -> Result, Error>; +} + /// A trait for validating state transitions within a blockchain. pub(crate) trait StateTransitionIdentityBasedSignatureValidationV0 { /// Validates the identity and signatures of a transaction to ensure its authenticity. @@ -971,3 +991,34 @@ impl StateTransitionStateValidationV0 for StateTransition { } } } + +impl StateTransitionIsAllowedValidationV0 for StateTransition { + fn has_is_allowed_validation(&self, platform_version: &PlatformVersion) -> Result { + match self { + StateTransition::DocumentsBatch(st) => st.has_is_allowed_validation(platform_version), + StateTransition::DataContractCreate(_) + | StateTransition::DataContractUpdate(_) + | StateTransition::IdentityCreate(_) + | StateTransition::IdentityTopUp(_) + | StateTransition::IdentityCreditWithdrawal(_) + | StateTransition::IdentityUpdate(_) + | StateTransition::IdentityCreditTransfer(_) + | StateTransition::MasternodeVote(_) => Ok(false), + } + } + + fn validate_is_allowed( + &self, + platform: &PlatformRef, + platform_version: &PlatformVersion, + ) -> Result, Error> { + match self { + StateTransition::DocumentsBatch(st) => { + st.validate_is_allowed(platform, platform_version) + } + _ => Err(Error::Execution(ExecutionError::CorruptedCodeExecution( + "validate_is_allowed is not implemented for this state transition", + ))), + } + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_create/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_create/mod.rs index 8805afb60fd..c22ef31de13 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_create/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_create/mod.rs @@ -201,6 +201,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -262,6 +264,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -323,6 +327,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs index 149184f1a95..9cd512b6da2 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs @@ -221,7 +221,6 @@ mod tests { use crate::execution::types::state_transition_execution_context::StateTransitionExecutionContext; use crate::execution::validation::state_transition::ValidationMode; use dpp::version::TryFromPlatformVersioned; - use platform_version::version::LATEST_PLATFORM_VERSION; use platform_version::{DefaultForPlatformVersion, TryIntoPlatformVersioned}; #[test] @@ -516,7 +515,7 @@ mod tests { updated_document_type.into(), true, &mut vec![], - LATEST_PLATFORM_VERSION, + platform_version, ) .expect("to be able to set document schema"); @@ -524,7 +523,7 @@ mod tests { data_contract.config_mut().set_keeps_history(false); let state_transition: DataContractUpdateTransitionV0 = (data_contract, 1) - .try_into_platform_versioned(LATEST_PLATFORM_VERSION) + .try_into_platform_versioned(platform_version) .expect("expected an update transition"); let state_transition: DataContractUpdateTransition = state_transition.into(); @@ -637,6 +636,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/mod.rs index 54176e1dcee..bff6309b3dc 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/mod.rs @@ -8,10 +8,12 @@ use crate::error::Error; use crate::error::execution::ExecutionError; use crate::execution::types::state_transition_execution_context::StateTransitionExecutionContext; use crate::execution::validation::state_transition::documents_batch::action_validation::document_create_transition_action::state_v0::DocumentCreateTransitionActionStateValidationV0; +use crate::execution::validation::state_transition::documents_batch::action_validation::document_create_transition_action::state_v1::DocumentCreateTransitionActionStateValidationV1; use crate::execution::validation::state_transition::documents_batch::action_validation::document_create_transition_action::structure_v0::DocumentCreateTransitionActionStructureValidationV0; use crate::platform_types::platform::PlatformStateRef; mod state_v0; +mod state_v1; mod structure_v0; pub trait DocumentCreateTransitionActionValidation { @@ -78,9 +80,19 @@ impl DocumentCreateTransitionActionValidation for DocumentCreateTransitionAction transaction, platform_version, ), + // V1 introduces a validation that a contested document does not yet exist (and the + // cost for this operation) + 1 => self.validate_state_v1( + platform, + owner_id, + block_info, + execution_context, + transaction, + platform_version, + ), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "DocumentCreateTransitionAction::validate_state".to_string(), - known_versions: vec![0], + known_versions: vec![0, 1], received: version, })), } diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/state_v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/state_v0/mod.rs index 29368d7c99c..fdc1c0a2dfa 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/state_v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/state_v0/mod.rs @@ -129,7 +129,9 @@ impl DocumentCreateTransitionActionStateValidationV0 for DocumentCreateTransitio // We need to make sure that if there is a contest, it is in its first week // The week might be more or less, as it's a versioned parameter let time_ms_since_start = block_info.time_ms.checked_sub(start_block.time_ms).ok_or(Error::Drive(drive::error::Error::Drive(DriveError::CorruptedDriveState(format!("it makes no sense that the start block time {} is before our current block time {}", start_block.time_ms, block_info.time_ms)))))?; - let join_time_allowed = platform_version.dpp.validation.voting.allow_other_contenders_time_ms; + + let join_time_allowed = platform_version.dpp.validation.voting.allow_other_contenders_time_mainnet_ms; + if time_ms_since_start > join_time_allowed { return Ok(SimpleConsensusValidationResult::new_with_error(ConsensusError::StateError(StateError::DocumentContestNotJoinableError( DocumentContestNotJoinableError::new( diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/state_v1/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/state_v1/mod.rs new file mode 100644 index 00000000000..2e2908d9b56 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/action_validation/document_create_transition_action/state_v1/mod.rs @@ -0,0 +1,200 @@ +use dpp::block::block_info::BlockInfo; +use dpp::consensus::basic::document::InvalidDocumentTypeError; +use dpp::consensus::ConsensusError; +use dpp::consensus::state::document::document_already_present_error::DocumentAlreadyPresentError; +use dpp::consensus::state::document::document_contest_currently_locked_error::DocumentContestCurrentlyLockedError; +use dpp::consensus::state::document::document_contest_document_with_same_id_already_present_error::DocumentContestDocumentWithSameIdAlreadyPresentError; +use dpp::consensus::state::document::document_contest_identity_already_contestant::DocumentContestIdentityAlreadyContestantError; +use dpp::consensus::state::document::document_contest_not_joinable_error::DocumentContestNotJoinableError; +use dpp::consensus::state::state_error::StateError; +use dpp::dashcore::Network; +use dpp::data_contract::accessors::v0::DataContractV0Getters; +use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; +use dpp::prelude::{ConsensusValidationResult, Identifier}; +use dpp::validation::SimpleConsensusValidationResult; +use drive::state_transition_action::document::documents_batch::document_transition::document_base_transition_action::DocumentBaseTransitionActionAccessorsV0; +use drive::state_transition_action::document::documents_batch::document_transition::document_create_transition_action::{DocumentCreateTransitionAction, DocumentCreateTransitionActionAccessorsV0}; +use dpp::version::PlatformVersion; +use dpp::voting::vote_info_storage::contested_document_vote_poll_stored_info::{ContestedDocumentVotePollStatus, ContestedDocumentVotePollStoredInfoV0Getters}; +use drive::error::drive::DriveError; +use drive::query::TransactionArg; +use crate::error::Error; +use crate::execution::types::execution_operation::ValidationOperation; +use crate::execution::types::state_transition_execution_context::{StateTransitionExecutionContext, StateTransitionExecutionContextMethodsV0}; +use crate::execution::validation::state_transition::documents_batch::state::v0::fetch_contender::fetch_contender; +use crate::execution::validation::state_transition::documents_batch::state::v0::fetch_documents::{fetch_document_with_id, has_contested_document_with_document_id}; +use crate::platform_types::platform::PlatformStateRef; + +pub(super) trait DocumentCreateTransitionActionStateValidationV1 { + fn validate_state_v1( + &self, + platform: &PlatformStateRef, + owner_id: Identifier, + block_info: &BlockInfo, + execution_context: &mut StateTransitionExecutionContext, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result; +} +impl DocumentCreateTransitionActionStateValidationV1 for DocumentCreateTransitionAction { + fn validate_state_v1( + &self, + platform: &PlatformStateRef, + owner_id: Identifier, + block_info: &BlockInfo, + execution_context: &mut StateTransitionExecutionContext, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result { + let contract_fetch_info = self.base().data_contract_fetch_info(); + + let contract = &contract_fetch_info.contract; + + let document_type_name = self.base().document_type_name(); + + let Some(document_type) = contract.document_type_optional_for_name(document_type_name) + else { + return Ok(SimpleConsensusValidationResult::new_with_error( + InvalidDocumentTypeError::new(document_type_name.clone(), contract.id()).into(), + )); + }; + + // TODO: Use multi get https://github.com/facebook/rocksdb/wiki/MultiGet-Performance + // We should check to see if a document already exists in the state + let (already_existing_document, fee_result) = fetch_document_with_id( + platform.drive, + contract, + document_type, + self.base().id(), + transaction, + platform_version, + )?; + + execution_context.add_operation(ValidationOperation::PrecalculatedOperation(fee_result)); + + if already_existing_document.is_some() { + return Ok(ConsensusValidationResult::new_with_error( + ConsensusError::StateError(StateError::DocumentAlreadyPresentError( + DocumentAlreadyPresentError::new(self.base().id()), + )), + )); + } + + // we also need to validate that the new document wouldn't conflict with any other document + // this means for example having overlapping unique indexes + + if document_type.indexes().values().any(|index| index.unique) { + let validation_result = platform + .drive + .validate_document_create_transition_action_uniqueness( + contract, + document_type, + self, + owner_id, + transaction, + platform_version, + ) + .map_err(Error::Drive)?; + + if !validation_result.is_valid() { + return Ok(validation_result); + } + } + + if let Some((contested_document_resource_vote_poll, _)) = self.prefunded_voting_balance() { + // -->> Introduced in V1 <<-- + // We should check to see if a contested document already exists in the state with the same id + // This could happen if we used the same entropy for multiple different contests + let (contested_document_already_exists, fee_result) = + has_contested_document_with_document_id( + platform.drive, + contested_document_resource_vote_poll.contract.as_ref(), + contested_document_resource_vote_poll.document_type()?, + self.base().id(), + Some(&block_info.epoch), + transaction, + platform_version, + )?; + + execution_context + .add_operation(ValidationOperation::PrecalculatedOperation(fee_result)); + + if contested_document_already_exists { + return Ok(ConsensusValidationResult::new_with_error( + ConsensusError::StateError( + StateError::DocumentContestDocumentWithSameIdAlreadyPresentError( + DocumentContestDocumentWithSameIdAlreadyPresentError::new( + self.base().id(), + ), + ), + ), + )); + } + + // -->> End Introduced in V1 <<-- + + if let Some(stored_info) = self.current_store_contest_info() { + // We have previous stored info + match stored_info.vote_poll_status() { + ContestedDocumentVotePollStatus::NotStarted => { + Ok(SimpleConsensusValidationResult::new()) + } + ContestedDocumentVotePollStatus::Awarded(_) => { + // This is weird as it should have already been found when querying the document, however it is possible + // That it was destroyed + Ok(SimpleConsensusValidationResult::new_with_error( + ConsensusError::StateError(StateError::DocumentAlreadyPresentError( + DocumentAlreadyPresentError::new(self.base().id()), + )), + )) + } + ContestedDocumentVotePollStatus::Locked => { + Ok(SimpleConsensusValidationResult::new_with_error( + ConsensusError::StateError(StateError::DocumentContestCurrentlyLockedError( + DocumentContestCurrentlyLockedError::new( + contested_document_resource_vote_poll.into(), + stored_info.clone(), + platform_version.fee_version.vote_resolution_fund_fees.contested_document_vote_resolution_unlock_fund_required_amount, + ))), + )) + } + ContestedDocumentVotePollStatus::Started(start_block) => { + // We need to make sure that if there is a contest, it is in its first week + // The week might be more or less, as it's a versioned parameter + let time_ms_since_start = block_info.time_ms.checked_sub(start_block.time_ms).ok_or(Error::Drive(drive::error::Error::Drive(DriveError::CorruptedDriveState(format!("it makes no sense that the start block time {} is before our current block time {}", start_block.time_ms, block_info.time_ms)))))?; + let join_time_allowed = match platform.config.network { + Network::Dash => platform_version.dpp.validation.voting.allow_other_contenders_time_mainnet_ms, + _ => platform_version.dpp.validation.voting.allow_other_contenders_time_testing_ms + }; + if time_ms_since_start > join_time_allowed { + return Ok(SimpleConsensusValidationResult::new_with_error(ConsensusError::StateError(StateError::DocumentContestNotJoinableError( + DocumentContestNotJoinableError::new( + contested_document_resource_vote_poll.into(), + stored_info.clone(), + start_block.time_ms, + block_info.time_ms, + join_time_allowed, + ))))) + } + + // we need to also make sure that we are not already a contestant + + let (maybe_existing_contender, fee_result) = fetch_contender(platform.drive, contested_document_resource_vote_poll, owner_id, block_info, transaction, platform_version)?; + + execution_context.add_operation(ValidationOperation::PrecalculatedOperation(fee_result)); + + if maybe_existing_contender.is_some() { + Ok(SimpleConsensusValidationResult::new_with_error(ConsensusError::StateError(StateError::DocumentContestIdentityAlreadyContestantError(DocumentContestIdentityAlreadyContestantError::new(contested_document_resource_vote_poll.into(), owner_id))))) + } else { + Ok(SimpleConsensusValidationResult::new()) + } + } + } + } else { + Ok(SimpleConsensusValidationResult::new()) + } + } else { + Ok(SimpleConsensusValidationResult::new()) + } + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/data_triggers/triggers/dpns/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/data_triggers/triggers/dpns/v0/mod.rs index ed384955e76..a790d727bd8 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/data_triggers/triggers/dpns/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/data_triggers/triggers/dpns/v0/mod.rs @@ -413,7 +413,10 @@ pub(super) fn create_domain_data_trigger_v0( "expecting action to have a base", )))? .id(), - "preorderDocument was not found".to_string(), + format!( + "preorderDocument was not found with a salted domain hash of {}", + hex::encode(salted_domain_hash) + ), ); result.add_error(err) } diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/is_allowed/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/is_allowed/mod.rs new file mode 100644 index 00000000000..8ff239d954b --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/is_allowed/mod.rs @@ -0,0 +1,50 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::execution::validation::state_transition::processor::v0::StateTransitionIsAllowedValidationV0; +use crate::platform_types::platform::PlatformRef; +use dpp::state_transition::documents_batch_transition::DocumentsBatchTransition; +use dpp::validation::ConsensusValidationResult; +use dpp::version::PlatformVersion; + +mod v0; + +impl StateTransitionIsAllowedValidationV0 for DocumentsBatchTransition { + fn has_is_allowed_validation(&self, platform_version: &PlatformVersion) -> Result { + match platform_version + .drive_abci + .validation_and_processing + .state_transitions + .documents_batch_state_transition + .is_allowed + { + 0 => Ok(true), + version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { + method: "StateTransition::has_is_allowed_validation".to_string(), + known_versions: vec![0], + received: version, + })), + } + } + + /// Disable contested document create transitions for the first 3 epochs + fn validate_is_allowed( + &self, + platform: &PlatformRef, + platform_version: &PlatformVersion, + ) -> Result, Error> { + match platform_version + .drive_abci + .validation_and_processing + .state_transitions + .documents_batch_state_transition + .is_allowed + { + 0 => Ok(v0::validate_is_allowed_v0(self, platform)), + version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { + method: "StateTransition::validate_is_allowed".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/is_allowed/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/is_allowed/v0/mod.rs new file mode 100644 index 00000000000..a98801ee70b --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/is_allowed/v0/mod.rs @@ -0,0 +1,54 @@ +use crate::platform_types::platform::PlatformRef; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use dpp::block::epoch::EpochIndex; +use dpp::consensus::basic::document::ContestedDocumentsTemporarilyNotAllowedError; +use dpp::state_transition::documents_batch_transition::accessors::DocumentsBatchTransitionAccessorsV0; +use dpp::state_transition::documents_batch_transition::document_create_transition::v0::v0_methods::DocumentCreateTransitionV0Methods; +use dpp::state_transition::documents_batch_transition::DocumentsBatchTransition; +use dpp::validation::ConsensusValidationResult; + +// TARGET_EPOCH_INDEX was introduced without versioning. +// All Evonodes that have not upgraded to version 1.3 by Epoch 3 will chain stall. +// +// This value was previously 3 before version 1.3 +pub const TARGET_EPOCH_INDEX: EpochIndex = 4; + +#[inline(always)] +pub fn validate_is_allowed_v0( + state_transition: &DocumentsBatchTransition, + platform: &PlatformRef, +) -> ConsensusValidationResult<()> { + #[cfg(feature = "testing-config")] + if platform + .config + .testing_configs + .disable_contested_documents_is_allowed_validation + { + return ConsensusValidationResult::new(); + } + + let block_info = platform.state.last_block_info(); + + if block_info.epoch.index >= TARGET_EPOCH_INDEX { + return ConsensusValidationResult::new(); + } + + let is_contested = state_transition.transitions().iter().any(|transition| { + transition + .as_transition_create() + .and_then(|create| create.prefunded_voting_balance().as_ref()) + .is_some() + }); + + if is_contested { + return ConsensusValidationResult::new_with_errors(vec![ + ContestedDocumentsTemporarilyNotAllowedError::new( + block_info.epoch.index, + TARGET_EPOCH_INDEX, + ) + .into(), + ]); + } + + ConsensusValidationResult::new() +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/mod.rs index 12fa29bb97e..eaa0f93bcc2 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/mod.rs @@ -3,6 +3,7 @@ mod advanced_structure; mod balance; mod data_triggers; mod identity_contract_nonce; +mod is_allowed; mod state; mod transformer; @@ -260,6 +261,7 @@ mod tests { use dpp::state_transition::documents_batch_transition::DocumentsBatchTransition; use dpp::tests::json_document::json_document_to_contract; use drive::drive::document::query::QueryDocumentsOutcomeV0Methods; + use drive::drive::document::query::QueryDocumentsWithFlagsOutcomeV0Methods; use drive::query::DriveDocumentQuery; use drive::util::storage_flags::StorageFlags; use platform_version::version::PlatformVersion; @@ -292,14 +294,17 @@ mod tests { use drive::query::vote_poll_vote_state_query::ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally; use drive::query::vote_poll_vote_state_query::ResolvedContestedDocumentVotePollDriveQuery; use drive::util::test_helpers::setup_contract; - use crate::execution::validation::state_transition::state_transitions::tests::{add_contender_to_dpns_name_contest, create_dpns_identity_name_contest, create_dpns_name_contest_give_key_info, fast_forward_to_block, perform_votes_multi}; + use crate::execution::validation::state_transition::state_transitions::tests::{add_contender_to_dpns_name_contest, create_dpns_identity_name_contest, create_dpns_name_contest_give_key_info, perform_votes_multi}; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::state_transitions_processing_result::StateTransitionExecutionResult::PaidConsensusError; + use crate::test::helpers::fast_forward_to_block::fast_forward_to_block; + use dpp::consensus::state::state_error::StateError; #[test] fn test_document_creation() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -363,6 +368,94 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_matches!( + processing_result.execution_results().as_slice(), + [StateTransitionExecutionResult::SuccessfulExecution(_, _)] + ); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + } + + #[test] + fn test_document_creation_should_fail_if_reusing_entropy() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let mut rng = StdRng::seed_from_u64(433); + + let platform_state = platform.state.load(); + + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); + + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + let dashpay_contract = dashpay.clone(); + + let profile = dashpay_contract + .document_type_for_name("profile") + .expect("expected a profile document type"); + + assert!(profile.documents_mutable()); + + let entropy = Bytes32::random_with_rng(&mut rng); + + let mut document = profile + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set("avatarUrl", "http://test.com/bob.jpg".into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document, + profile, + entropy.0, + &key, + 2, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -371,6 +464,71 @@ mod tests { [StateTransitionExecutionResult::SuccessfulExecution(_, _)] ); + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // Now let's create a second document with the same entropy + + let mut document = profile + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set("avatarUrl", "http://test.com/coy.jpg".into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document, + profile, + entropy.0, + &key, + 3, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_matches!( + processing_result.execution_results().as_slice(), + [StateTransitionExecutionResult::PaidConsensusError( + ConsensusError::StateError(StateError::DocumentAlreadyPresentError { .. }), + _ + )] + ); + platform .drive .grove @@ -383,6 +541,7 @@ mod tests { fn test_document_creation_with_very_big_field() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -462,6 +621,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); assert_eq!( @@ -495,6 +656,7 @@ mod tests { fn test_document_creation_on_contested_unique_index() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -706,6 +868,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -731,6 +895,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -946,135 +1112,1782 @@ mod tests { } #[test] - fn test_that_a_contested_document_can_not_be_added_to_after_a_week() { + fn test_document_creation_on_contested_unique_index_should_fail_if_reusing_entropy() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); - let platform_state = platform.state.load(); - - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); - - perform_votes_multi( - &mut platform, - dpns_contract.as_ref(), - vec![ - (TowardsIdentity(contender_1.id()), 50), - (TowardsIdentity(contender_2.id()), 5), - (ResourceVoteChoice::Abstain, 10), - (ResourceVoteChoice::Lock, 3), - ], - "quantum", - 10, - platform_version, - ); - - fast_forward_to_block(&platform, 500_000_000, 900, 0); //less than a week - - let platform_state = platform.state.load(); - - let _contender_3 = add_contender_to_dpns_name_contest( - &mut platform, - &platform_state, - 4, - "quantum", - None, // this should succeed, as we are under a week - platform_version, - ); - - fast_forward_to_block(&platform, 1_000_000_000, 900, 0); //more than a week, less than 2 weeks + let mut rng = StdRng::seed_from_u64(433); let platform_state = platform.state.load(); - // We expect this to fail + let (identity_1, signer_1, key_1) = + setup_identity(&mut platform, 958, dash_to_credits!(0.5)); - let _contender_4 = add_contender_to_dpns_name_contest( - &mut platform, - &platform_state, - 9, - "quantum", - Some("Document Contest for vote_poll ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] } is not joinable V0(ContestedDocumentVotePollStoredInfoV0 { finalized_events: [], vote_poll_status: Started(BlockInfo { time_ms: 3000, height: 0, core_height: 0, epoch: 0 }), locked_count: 0 }), it started 3000 and it is now 1000003000, and you can only join for 604800000"), // this should fail, as we are over a week - platform_version, - ); - } + let (identity_2, signer_2, key_2) = + setup_identity(&mut platform, 93, dash_to_credits!(0.5)); - #[test] - fn test_that_a_contested_document_can_not_be_added_twice_by_the_same_identity() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); + let dpns = platform.drive.cache.system_data_contracts.load_dpns(); + let dpns_contract = dpns.clone(); - let platform_state = platform.state.load(); + let preorder = dpns_contract + .document_type_for_name("preorder") + .expect("expected a profile document type"); - let ( - ( - _contender_1, - contender_1_signer, - contender_1_key, - _preorder_document_1, - (document_1, entropy), - ), - (_contender_2, _, _, _, _), - dpns_contract, - ) = create_dpns_name_contest_give_key_info( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); + assert!(!preorder.documents_mutable()); + assert!(preorder.documents_can_be_deleted()); + assert!(!preorder.documents_transferable().is_transferable()); let domain = dpns_contract .document_type_for_name("domain") .expect("expected a profile document type"); - let documents_batch_create_transition_1 = - DocumentsBatchTransition::new_document_creation_transition_from_document( - document_1, - domain, - entropy.0, - &contender_1_key, - 4, - 0, - &contender_1_signer, - platform_version, - None, - None, - None, - ) - .expect("expect to create documents batch transition"); + assert!(!domain.documents_mutable()); + // Deletion is disabled with data trigger + assert!(domain.documents_can_be_deleted()); + assert!(domain.documents_transferable().is_transferable()); - let documents_batch_create_serialized_transition_1 = - documents_batch_create_transition_1 - .serialize_to_bytes() - .expect("expected documents batch serialized state transition"); + let entropy = Bytes32::random_with_rng(&mut rng); + + let mut preorder_document_1 = preorder + .random_document_with_identifier_and_entropy( + &mut rng, + identity_1.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + let mut preorder_document_2 = preorder + .random_document_with_identifier_and_entropy( + &mut rng, + identity_2.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + let new_entropy = Bytes32::random_with_rng(&mut rng); + + let mut preorder_document_3_on_identity_1 = preorder + .random_document_with_identifier_and_entropy( + &mut rng, + identity_1.id(), + new_entropy, //change entropy here + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + let mut document_1 = domain + .random_document_with_identifier_and_entropy( + &mut rng, + identity_1.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + let mut document_2 = domain + .random_document_with_identifier_and_entropy( + &mut rng, + identity_2.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + let mut document_3_on_identity_1 = domain + .random_document_with_identifier_and_entropy( + &mut rng, + identity_1.id(), + entropy, //same entropy + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document_1.set("parentDomainName", "dash".into()); + document_1.set("normalizedParentDomainName", "dash".into()); + document_1.set("label", "quantum".into()); + document_1.set("normalizedLabel", "quantum".into()); + document_1.set("records.identity", document_1.owner_id().into()); + document_1.set("subdomainRules.allowSubdomains", false.into()); + + document_2.set("parentDomainName", "dash".into()); + document_2.set("normalizedParentDomainName", "dash".into()); + document_2.set("label", "quantum".into()); + document_2.set("normalizedLabel", "quantum".into()); + document_2.set("records.identity", document_2.owner_id().into()); + document_2.set("subdomainRules.allowSubdomains", false.into()); + + document_3_on_identity_1.set("parentDomainName", "dash".into()); + document_3_on_identity_1.set("normalizedParentDomainName", "dash".into()); + document_3_on_identity_1.set("label", "cry".into()); + document_3_on_identity_1.set("normalizedLabel", "cry".into()); + document_3_on_identity_1.set( + "records.identity", + document_3_on_identity_1.owner_id().into(), + ); + document_3_on_identity_1.set("subdomainRules.allowSubdomains", false.into()); + + let salt_1: [u8; 32] = rng.gen(); + let salt_2: [u8; 32] = rng.gen(); + let salt_3: [u8; 32] = rng.gen(); + + let mut salted_domain_buffer_1: Vec = vec![]; + salted_domain_buffer_1.extend(salt_1); + salted_domain_buffer_1.extend("quantum.dash".as_bytes()); + + let salted_domain_hash_1 = hash_double(salted_domain_buffer_1); + + let mut salted_domain_buffer_2: Vec = vec![]; + salted_domain_buffer_2.extend(salt_2); + salted_domain_buffer_2.extend("quantum.dash".as_bytes()); + + let salted_domain_hash_2 = hash_double(salted_domain_buffer_2); + + let mut salted_domain_buffer_3: Vec = vec![]; + salted_domain_buffer_3.extend(salt_3); + salted_domain_buffer_3.extend("cry.dash".as_bytes()); + + let salted_domain_hash_3 = hash_double(salted_domain_buffer_3); + + preorder_document_1.set("saltedDomainHash", salted_domain_hash_1.into()); + preorder_document_2.set("saltedDomainHash", salted_domain_hash_2.into()); + preorder_document_3_on_identity_1.set("saltedDomainHash", salted_domain_hash_3.into()); + + document_1.set("preorderSalt", salt_1.into()); + document_2.set("preorderSalt", salt_2.into()); + document_3_on_identity_1.set("preorderSalt", salt_3.into()); + + let documents_batch_create_preorder_transition_1 = + DocumentsBatchTransition::new_document_creation_transition_from_document( + preorder_document_1, + preorder, + entropy.0, + &key_1, + 2, + 0, + &signer_1, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_preorder_transition_1 = + documents_batch_create_preorder_transition_1 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_create_preorder_transition_2 = + DocumentsBatchTransition::new_document_creation_transition_from_document( + preorder_document_2, + preorder, + entropy.0, + &key_2, + 2, + 0, + &signer_2, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_preorder_transition_2 = + documents_batch_create_preorder_transition_2 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_create_preorder_transition_3 = + DocumentsBatchTransition::new_document_creation_transition_from_document( + preorder_document_3_on_identity_1, + preorder, + new_entropy.0, + &key_1, + 3, + 0, + &signer_1, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_preorder_transition_3 = + documents_batch_create_preorder_transition_3 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_create_transition_1 = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document_1, + domain, + entropy.0, + &key_1, + 4, + 0, + &signer_1, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition_1 = + documents_batch_create_transition_1 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_create_transition_2 = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document_2, + domain, + entropy.0, + &key_2, + 3, + 0, + &signer_2, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition_2 = + documents_batch_create_transition_2 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_create_transition_3 = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document_3_on_identity_1, + domain, + entropy.0, + &key_1, + 5, + 0, + &signer_1, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition_3 = + documents_batch_create_transition_3 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![ + documents_batch_create_serialized_preorder_transition_1.clone(), + documents_batch_create_serialized_preorder_transition_2.clone(), + documents_batch_create_serialized_preorder_transition_3.clone(), + ], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_eq!(processing_result.valid_count(), 3); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![ + documents_batch_create_serialized_transition_1.clone(), + documents_batch_create_serialized_transition_2.clone(), + ], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_eq!(processing_result.valid_count(), 2); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition_3.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_matches!( + processing_result.execution_results().as_slice(), + [StateTransitionExecutionResult::PaidConsensusError( + ConsensusError::StateError( + StateError::DocumentContestDocumentWithSameIdAlreadyPresentError { .. } + ), + _ + )] + ); + + // Now let's run a query for the vote totals + + let config = bincode::config::standard() + .with_big_endian() + .with_no_limit(); + + let dash_encoded = bincode::encode_to_vec(Value::Text("dash".to_string()), config) + .expect("expected to encode the word dash"); + + let quantum_encoded = + bincode::encode_to_vec(Value::Text("quantum".to_string()), config) + .expect("expected to encode the word quantum"); + + let index_name = "parentNameAndLabel".to_string(); + + let query_validation_result = platform + .query_contested_resource_vote_state( + GetContestedResourceVoteStateRequest { + version: Some(get_contested_resource_vote_state_request::Version::V0( + GetContestedResourceVoteStateRequestV0 { + contract_id: dpns_contract.id().to_vec(), + document_type_name: domain.name().clone(), + index_name: index_name.clone(), + index_values: vec![dash_encoded.clone(), quantum_encoded.clone()], + result_type: ResultType::DocumentsAndVoteTally as i32, + allow_include_locked_and_abstaining_vote_tally: false, + start_at_identifier_info: None, + count: None, + prove: false, + }, + )), + }, + &platform_state, + platform_version, + ) + .expect("expected to execute query") + .into_data() + .expect("expected query to be valid"); + + let get_contested_resource_vote_state_response::Version::V0( + GetContestedResourceVoteStateResponseV0 { + metadata: _, + result, + }, + ) = query_validation_result.version.expect("expected a version"); + + let Some( + get_contested_resource_vote_state_response_v0::Result::ContestedResourceContenders( + get_contested_resource_vote_state_response_v0::ContestedResourceContenders { + contenders, + abstain_vote_tally, + lock_vote_tally, + finished_vote_info, + }, + ), + ) = result + else { + panic!("expected contenders") + }; + + assert_eq!(abstain_vote_tally, None); + + assert_eq!(lock_vote_tally, None); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + let first_contender_document = Document::from_bytes( + first_contender + .document + .as_ref() + .expect("expected a document") + .as_slice(), + domain, + platform_version, + ) + .expect("expected to get document"); + + let second_contender_document = Document::from_bytes( + second_contender + .document + .as_ref() + .expect("expected a document") + .as_slice(), + domain, + platform_version, + ) + .expect("expected to get document"); + + assert_ne!(first_contender_document, second_contender_document); + + assert_eq!(first_contender.identifier, identity_1.id().to_vec()); + + assert_eq!(second_contender.identifier, identity_2.id().to_vec()); + + assert_eq!(first_contender.vote_count, Some(0)); + + assert_eq!(second_contender.vote_count, Some(0)); + + let GetContestedResourceVoteStateResponse { version } = platform + .query_contested_resource_vote_state( + GetContestedResourceVoteStateRequest { + version: Some(get_contested_resource_vote_state_request::Version::V0( + GetContestedResourceVoteStateRequestV0 { + contract_id: dpns_contract.id().to_vec(), + document_type_name: domain.name().clone(), + index_name: "parentNameAndLabel".to_string(), + index_values: vec![dash_encoded, quantum_encoded], + result_type: ResultType::DocumentsAndVoteTally as i32, + allow_include_locked_and_abstaining_vote_tally: true, + start_at_identifier_info: None, + count: None, + prove: true, + }, + )), + }, + &platform_state, + platform_version, + ) + .expect("expected to execute query") + .into_data() + .expect("expected query to be valid"); + + let get_contested_resource_vote_state_response::Version::V0( + GetContestedResourceVoteStateResponseV0 { + metadata: _, + result, + }, + ) = version.expect("expected a version"); + + let Some(get_contested_resource_vote_state_response_v0::Result::Proof(proof)) = result + else { + panic!("expected contenders") + }; + + let resolved_contested_document_vote_poll_drive_query = + ResolvedContestedDocumentVotePollDriveQuery { + vote_poll: ContestedDocumentResourceVotePollWithContractInfoAllowBorrowed { + contract: DataContractResolvedInfo::BorrowedDataContract(&dpns_contract), + document_type_name: domain.name().clone(), + index_name: index_name.clone(), + index_values: vec![ + Value::Text("dash".to_string()), + Value::Text("quantum".to_string()), + ], + }, + result_type: DocumentsAndVoteTally, + offset: None, + limit: None, + start_at: None, + allow_include_locked_and_abstaining_vote_tally: true, + }; + + let (_root_hash, result) = resolved_contested_document_vote_poll_drive_query + .verify_vote_poll_vote_state_proof(proof.grovedb_proof.as_ref(), platform_version) + .expect("expected to verify proof"); + + let contenders = result.contenders; + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + let first_contender_document = Document::from_bytes( + first_contender + .serialized_document() + .as_ref() + .expect("expected a document") + .as_slice(), + domain, + platform_version, + ) + .expect("expected to get document"); + + let second_contender_document = Document::from_bytes( + second_contender + .serialized_document() + .as_ref() + .expect("expected a document") + .as_slice(), + domain, + platform_version, + ) + .expect("expected to get document"); + + assert_ne!(first_contender_document, second_contender_document); + + assert_eq!(first_contender.identity_id(), identity_1.id()); + + assert_eq!(second_contender.identity_id(), identity_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(0)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + } + + #[test] + fn test_that_a_contested_document_can_not_be_added_to_after_a_week() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "quantum", + 10, + None, + platform_version, + ); + + let max_join_time = platform_version + .dpp + .validation + .voting + .allow_other_contenders_time_testing_ms; + + fast_forward_to_block(&platform, max_join_time / 2, 900, 42, 0, false); + + let platform_state = platform.state.load(); + + let _contender_3 = add_contender_to_dpns_name_contest( + &mut platform, + &platform_state, + 4, + "quantum", + None, // this should succeed, as we are under a week + platform_version, + ); + + let time_now = platform_version + .dpp + .validation + .voting + .allow_other_contenders_time_testing_ms + + 100; + + fast_forward_to_block(&platform, time_now, 900, 42, 0, false); //more than a week, less than 2 weeks + + let platform_state = platform.state.load(); + + // We expect this to fail + + let time_started = 0; + + let extra_time_used = 3000; // add_contender_to_dpns_name_contest uses this extra time + + let expected_error_message = format!( + "Document Contest for vote_poll ContestedDocumentResourceVotePoll {{ contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }} is not joinable V0(ContestedDocumentVotePollStoredInfoV0 {{ finalized_events: [], vote_poll_status: Started(BlockInfo {{ time_ms: {}, height: 0, core_height: 0, epoch: 0 }}), locked_count: 0 }}), it started {} and it is now {}, and you can only join for {}", + time_started + extra_time_used, + time_started + extra_time_used, + time_now + extra_time_used, + max_join_time + ); + + let _contender_4 = add_contender_to_dpns_name_contest( + &mut platform, + &platform_state, + 9, + "quantum", + Some(expected_error_message.as_str()), // this should fail, as we are over a week + platform_version, + ); + } + + #[test] + fn test_that_a_contest_can_not_be_joined_twice_by_the_same_identity() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let ( + ( + _contender_1, + contender_1_signer, + contender_1_key, + _preorder_document_1, + (mut document_1, _entropy), + ), + (_contender_2, _, _, _, _), + dpns_contract, + ) = create_dpns_name_contest_give_key_info( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + let domain = dpns_contract + .document_type_for_name("domain") + .expect("expected a profile document type"); + + let mut rng = StdRng::seed_from_u64(89); + + let different_entropy = Bytes32::random_with_rng(&mut rng); + + document_1.set_id(Document::generate_document_id_v0( + dpns_contract.id_ref(), + document_1.owner_id_ref(), + domain.name(), + different_entropy.as_slice(), + )); + + let documents_batch_create_transition_1 = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document_1, + domain, + different_entropy.0, + &contender_1_key, + 4, + 0, + &contender_1_signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition_1 = + documents_batch_create_transition_1 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition_1.clone()], + &platform_state, + &BlockInfo::default_with_time( + &platform_state + .last_committed_block_time_ms() + .unwrap_or_default() + + 3000, + ), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let result = processing_result.into_execution_results().remove(0); + + let StateTransitionExecutionResult::PaidConsensusError(consensus_error, _) = result + else { + panic!("expected a paid consensus error"); + }; + assert_eq!(consensus_error.to_string(), "An Identity with the id BjNejy4r9QAvLHpQ9Yq6yRMgNymeGZ46d48fJxJbMrfW is already a contestant for the vote_poll ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }"); + } + + #[test] + fn test_that_a_contested_document_can_not_be_added_if_we_are_locked() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 3), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 8), + (ResourceVoteChoice::Lock, 10), + ], + "quantum", + 10, + None, + platform_version, + ); + + fast_forward_to_block( + &platform, + platform_version + .dpp + .validation + .voting + .allow_other_contenders_time_testing_ms + / 2, + 900, + 42, + 0, + false, + ); // a time when others can join + + let platform_state = platform.state.load(); + + let _contender_3 = add_contender_to_dpns_name_contest( + &mut platform, + &platform_state, + 4, + "quantum", + None, // this should succeed, as we are under the `platform_version.dpp.validation.voting.allow_other_contenders_time_testing_ms` + platform_version, + ); + + let time_after_distribution_limit = platform_version + .dpp + .voting_versions + .default_vote_poll_time_duration_test_network_ms + + 10_000; // add 10s (3 seconds is used by create_dpns_identity_name_contest) + + fast_forward_to_block(&platform, time_after_distribution_limit, 900, 42, 0, false); // after distribution + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &BlockInfo { + time_ms: time_after_distribution_limit, + height: 900, + core_height: 42, + epoch: Default::default(), + }, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let platform_state = platform.state.load(); + + // We expect this to fail + + let expected_error_message = format!( + "Document Contest for vote_poll ContestedDocumentResourceVotePoll {{ contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }} is currently already locked V0(ContestedDocumentVotePollStoredInfoV0 {{ finalized_events: [ContestedDocumentVotePollStoredInfoVoteEventV0 {{ resource_vote_choices: [FinalizedResourceVoteChoicesWithVoterInfo {{ resource_vote_choice: TowardsIdentity(BjNejy4r9QAvLHpQ9Yq6yRMgNymeGZ46d48fJxJbMrfW), voters: [2oGomAQc47V9h3mkpyHUPbF74gT2AmoYKg1oSb94Rbwm:1, 4iroeiNBeBYZetCt21kW7FGyczE8WqoqzZ48YAHwyV7R:1, Cdf8V4KGHHd395x5xPJPPrzTKwmp5MqbuszSE2iMzzeP:1] }}, FinalizedResourceVoteChoicesWithVoterInfo {{ resource_vote_choice: TowardsIdentity(FiLk5pGtspYtF65PKsQq3YFr1DEiXPHTZeKjusT6DuqN), voters: [] }}, FinalizedResourceVoteChoicesWithVoterInfo {{ resource_vote_choice: TowardsIdentity(Fv8S6kTbNrRqKC7PR7XcRUoPR59bxNhhggg5mRaNN6ow), voters: [4MK8GWEWX1PturUqjZJefdE4WGrUqz1UQZnbK17ENkeA:1, 5gRudU7b4n8LYkNvhZomv6FtMrP7gvaTvRrHKfaTS22K:1, AfzQBrdwzDuTVdXrMWqQyVvXRWqPMDVjA76hViuGLh6W:1, E75wdFZB22P1uW1wJBJGPgXZuZKLotK7YmbH5wUk5msH:1, G3ZfS2v39x6FuLGnnJ1RNQyy4zn4Wb64KiGAjqj39wUu:1] }}, FinalizedResourceVoteChoicesWithVoterInfo {{ resource_vote_choice: Abstain, voters: [5Ur8tDxJnatfUd9gcVFDde7ptHydujZzJLNTxa6aMYYy:1, 93Gsg14oT9K4FLYmC7N26uS4g5b7JcM1GwGEDeJCCBPJ:1, 96eX4PTjbXRuGHuMzwXdptWFtHcboXbtevk51Jd73pP7:1, AE9xm2mbemDeMxPUzyt35Agq1axRxggVfV4DRLAZp7Qt:1, FbLyu5d7JxEsvSsujj7Wopg57Wrvz9HH3UULCusKpBnF:1, GsubMWb3LH1skUJrcxTmZ7wus1habJcbpb8su8yBVqFY:1, H9UrL7aWaxDmXhqeGMJy7LrGdT2wWb45mc7kQYsoqwuf:1, Hv88mzPZVKq2fnjoUqK56vjzkcmqRHpWE1ME4z1MXDrw:1] }}, FinalizedResourceVoteChoicesWithVoterInfo {{ resource_vote_choice: Lock, voters: [F1oA8iAoyJ8dgCAi2GSPqcNhp9xEuAqhP47yXBDw5QR:1, 2YSjsJUp74MJpm12rdn8wyPR5MY3c322pV8E8siw989u:1, 3fQrmN4PWhthUFnCFTaJqbT2PPGf7MytAyik4eY1DP8V:1, 7r7gnAiZunVLjtSd5ky4yvPpnWTFYbJuQAapg8kDCeNK:1, 86TUE89xNkBDcmshXRD198xjAvMmKecvHbwo6i83AmqA:1, 97iYr4cirPdG176kqa5nvJWT9tsnqxHmENfRnZUgM6SC:1, 99nKfYZL4spsTe9p9pPNhc1JWv9yq4CbPPMPm87a5sgn:1, BYAqFxCVwMKrw5YAQMCFQGiAF2v3YhKRm2EdGfgkYN9G:1, CGKeK3AfdZUxXF3qH9zxp5MR7Z4WvDVqMrU5wjMKqT5C:1, HRPPEX4mdoZAMkg6NLJUgDzN4pSTpiDXEAGcR5JBdiXX:1] }}], start_block: BlockInfo {{ time_ms: 3000, height: 0, core_height: 0, epoch: 0 }}, finalization_block: BlockInfo {{ time_ms: {}, height: 900, core_height: 42, epoch: 0 }}, winner: Locked }}], vote_poll_status: Locked, locked_count: 1 }}), unlocking is possible by paying 400000000000 credits", + time_after_distribution_limit + ); + + let _contender_4 = add_contender_to_dpns_name_contest( + &mut platform, + &platform_state, + 9, + "quantum", + Some(expected_error_message.as_str()), // this should fail, as it is locked + platform_version, + ); + } + + #[test] + fn test_document_creation_on_restricted_document_type_that_only_allows_contract_owner_to_create( + ) { + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_initial_state_structure(); + + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); + + let (another_identity, another_identity_signer, another_identity_key) = + setup_identity(&mut platform, 450, dash_to_credits!(0.1)); + + let card_game_path = "tests/supporting_files/contract/crypto-card-game/crypto-card-game-direct-purchase-creation-restricted-to-owner.json"; + + let platform_state = platform.state.load(); + let platform_version = platform_state + .current_platform_version() + .expect("expected to get current platform version"); + + // let's construct the grovedb structure for the card game data contract + let mut contract = json_document_to_contract(card_game_path, true, platform_version) + .expect("expected to get data contract"); + + contract.set_owner_id(identity.id()); + + platform + .drive + .apply_contract( + &contract, + BlockInfo::default(), + true, + StorageFlags::optional_default_as_cow(), + None, + platform_version, + ) + .expect("expected to apply contract successfully"); + + let card_document_type = contract + .document_type_for_name("card") + .expect("expected a profile document type"); + + assert_eq!( + card_document_type.creation_restriction_mode(), + CreationRestrictionMode::OwnerOnly + ); + + let mut rng = StdRng::seed_from_u64(433); + + let entropy = Bytes32::random_with_rng(&mut rng); + + let mut document = card_document_type + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::DoNotFillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set("attack", 4.into()); + document.set("defense", 7.into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document.clone(), + card_document_type, + entropy.0, + &key, + 2, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + // There is no issue because the creator of the contract made the document + + assert_eq!(processing_result.valid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // Now let's try for another identity + + let mut document = card_document_type + .random_document_with_identifier_and_entropy( + &mut rng, + another_identity.id(), + entropy, + DocumentFieldFillType::DoNotFillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set("attack", 8.into()); + document.set("defense", 2.into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document.clone(), + card_document_type, + entropy.0, + &another_identity_key, + 2, + 0, + &another_identity_signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + // There is no issue because the creator of the contract made the document + + assert_eq!(processing_result.invalid_paid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let result = processing_result.into_execution_results().remove(0); + + let StateTransitionExecutionResult::PaidConsensusError(consensus_error, _) = result + else { + panic!("expected a paid consensus error"); + }; + assert_eq!(consensus_error.to_string(), "Document Creation on 86LHvdC1Tqx5P97LQUSibGFqf2vnKFpB6VkqQ7oso86e:card is not allowed because of the document type's creation restriction mode Owner Only"); + } + } + + mod replacement_tests { + use super::*; + use crate::test::helpers::fast_forward_to_block::fast_forward_to_block; + use dpp::identifier::Identifier; + use dpp::prelude::IdentityNonce; + use std::collections::BTreeMap; + + #[test] + fn test_document_replace_on_document_type_that_is_mutable() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let mut rng = StdRng::seed_from_u64(433); + + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch + + let platform_state = platform.state.load(); + + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); + + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + let dashpay_contract = dashpay.clone(); + + let profile = dashpay_contract + .document_type_for_name("profile") + .expect("expected a profile document type"); + + assert!(profile.documents_mutable()); + + let entropy = Bytes32::random_with_rng(&mut rng); + + let mut document = profile + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set("avatarUrl", "http://test.com/bob.jpg".into()); + + let mut altered_document = document.clone(); + + altered_document.increment_revision().unwrap(); + altered_document.set("displayName", "Samuel".into()); + altered_document.set("avatarUrl", "http://test.com/cat.jpg".into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document, + profile, + entropy.0, + &key, + 2, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_eq!(processing_result.valid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let documents_batch_update_transition = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document, + profile, + &key, + 3, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_update_serialized_transition = documents_batch_update_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_update_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_eq!(processing_result.invalid_paid_count(), 0); + + assert_eq!(processing_result.invalid_unpaid_count(), 0); + + assert_eq!(processing_result.valid_count(), 1); + + assert_eq!(processing_result.aggregated_fees().processing_fee, 1341740); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); + } + + fn perform_document_replace_on_profile_after_epoch_change( + original_name: &str, + new_names: Vec<(&str, StorageFlags)>, + ) { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let mut rng = StdRng::seed_from_u64(433); + + let platform_state = platform.state.load(); + + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); + + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + let dashpay_contract = dashpay.clone(); + + let profile = dashpay_contract + .document_type_for_name("profile") + .expect("expected a profile document type"); + + assert!(profile.documents_mutable()); + + let entropy = Bytes32::random_with_rng(&mut rng); + + let mut document = profile + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set("displayName", original_name.into()); + document.set("avatarUrl", "http://test.com/bob.jpg".into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document.clone(), + profile, + entropy.0, + &key, + 2, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_eq!(processing_result.valid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + for (i, (new_name, mut expected_flags)) in new_names.into_iter().enumerate() { + document.increment_revision().unwrap(); + document.set("displayName", new_name.into()); + + fast_forward_to_block( + &platform, + 500_000_000 + i as u64 * 1000, + 900 + i as u64, + 42, + 1 + i as u16, + true, + ); //less than a week + + let documents_batch_update_transition = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + document.clone(), + profile, + &key, + 3 + i as IdentityNonce, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_update_serialized_transition = + documents_batch_update_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let platform_state = platform.state.load(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_update_serialized_transition.clone()], + &platform_state, + platform_state.last_block_info(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_eq!(processing_result.invalid_paid_count(), 0); + + assert_eq!(processing_result.invalid_unpaid_count(), 0); + + assert_eq!( + processing_result.valid_count(), + 1, + "{:?}", + processing_result.execution_results() + ); + + let drive_query = DriveDocumentQuery::new_primary_key_single_item_query( + &dashpay, + profile, + document.id(), + ); + + let mut documents = platform + .drive + .query_documents_with_flags(drive_query, None, false, None, None) + .expect("expected to get back documents") + .documents_owned(); + + let (_first_document, storage_flags) = documents.remove(0); + + let storage_flags = storage_flags.expect("expected storage flags"); + + expected_flags.set_owner_id(identity.id().to_buffer()); + + assert_eq!(storage_flags, expected_flags); + } + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_mutable_different_epoch_bigger_size() { + perform_document_replace_on_profile_after_epoch_change( + "Sam", + vec![( + "Samuel", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 6)]), + Identifier::default().to_buffer(), + ), + )], + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_mutable_different_epoch_smaller_size() { + perform_document_replace_on_profile_after_epoch_change( + "Sam", + vec![( + "S", + StorageFlags::SingleEpochOwned(0, Identifier::default().to_buffer()), + )], + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_mutable_different_epoch_same_size() { + perform_document_replace_on_profile_after_epoch_change( + "Sam", + vec![( + "Max", + StorageFlags::SingleEpochOwned(0, Identifier::default().to_buffer()), + )], + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_mutable_different_epoch_bigger_size_then_bigger_size( + ) { + perform_document_replace_on_profile_after_epoch_change( + "Sam", + vec![ + ( + "Samuel", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 6)]), + Identifier::default().to_buffer(), + ), + ), + ( + "SamuelW", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 6), (2, 4)]), + Identifier::default().to_buffer(), + ), + ), + ], + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_mutable_different_epoch_bigger_size_then_bigger_size_by_3_bytes( + ) { + perform_document_replace_on_profile_after_epoch_change( + "Sam", + vec![ + ( + "Samuel", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 6)]), + Identifier::default().to_buffer(), + ), + ), + ( + "SamuelWes", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 6), (2, 6)]), + Identifier::default().to_buffer(), + ), + ), + ], + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_mutable_different_epoch_bigger_size_then_smaller_size( + ) { + // In this case we start with the size Samuell Base epoch 0 epoch 1 added 7 bytes + // Then we try to update it to Sami Base epoch 2 + // Epoch 1 added 7 bytes is itself 3 bytes + // Sami is 3 bytes less than Samuell + // First iteration will say we should remove 6 bytes + // We need to start by calculating the cost of the original storage flags, in this case 5 bytes + // Then we need to calculate the cost of the new storage flags, in this case 2 bytes + // We should do the difference, then apply that difference in the combination function + perform_document_replace_on_profile_after_epoch_change( + "Sam", + vec![ + ( + "Samuell", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 7)]), + Identifier::default().to_buffer(), + ), + ), + ( + "Sami", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 4)]), + Identifier::default().to_buffer(), + ), + ), + ], + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_mutable_different_epoch_bigger_size_then_back_to_original( + ) { + perform_document_replace_on_profile_after_epoch_change( + "Sam", + vec![ + ( + "Samuel", + StorageFlags::MultiEpochOwned( + 0, + BTreeMap::from([(1, 6)]), + Identifier::default().to_buffer(), + ), + ), + ( + "Sam", + StorageFlags::SingleEpochOwned(0, Identifier::default().to_buffer()), + ), + ], + ); + } + + #[test] + fn test_document_replace_on_document_type_that_is_not_mutable() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let mut rng = StdRng::seed_from_u64(437); + + let platform_state = platform.state.load(); + + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); + + let (other_identity, ..) = setup_identity(&mut platform, 495, dash_to_credits!(0.1)); + + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + let dashpay_contract = dashpay.clone(); + + let contact_request_document_type = dashpay_contract + .document_type_for_name("contactRequest") + .expect("expected a profile document type"); + + assert!(!contact_request_document_type.documents_mutable()); + + let entropy = Bytes32::random_with_rng(&mut rng); + + let mut document = contact_request_document_type + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set( + "toUserId", + Value::Identifier(other_identity.id().to_buffer()), + ); + document.set("recipientKeyIndex", Value::U32(1)); + document.set("senderKeyIndex", Value::U32(1)); + document.set("accountReference", Value::U32(0)); + + let mut altered_document = document.clone(); + + altered_document.set_revision(Some(1)); + altered_document.set("senderKeyIndex", Value::U32(2)); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document, + contact_request_document_type, + entropy.0, + &key, + 2, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_eq!(processing_result.valid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let documents_batch_update_transition = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document, + contact_request_document_type, + &key, + 3, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_update_serialized_transition = documents_batch_update_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_update_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_eq!(processing_result.invalid_paid_count(), 1); + + assert_eq!(processing_result.invalid_unpaid_count(), 0); + + assert_eq!(processing_result.valid_count(), 0); + + assert_eq!(processing_result.aggregated_fees().processing_fee, 41880); + } + + #[test] + fn test_document_replace_on_document_type_that_is_not_mutable_but_is_transferable() { + let platform_version = PlatformVersion::latest(); + let (mut platform, contract) = TestPlatformBuilder::new() + .build_with_mock_rpc() + .set_initial_state_structure() + .with_crypto_card_game_transfer_only(Transferable::Always); + + let mut rng = StdRng::seed_from_u64(435); + + let platform_state = platform.state.load(); + + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); + + let (receiver, _, _) = setup_identity(&mut platform, 452, dash_to_credits!(0.1)); + + let card_document_type = contract + .document_type_for_name("card") + .expect("expected a profile document type"); + + let entropy = Bytes32::random_with_rng(&mut rng); + + let mut document = card_document_type + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::DoNotFillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); + + document.set("attack", 4.into()); + document.set("defense", 7.into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document.clone(), + card_document_type, + entropy.0, + &key, + 2, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); let transaction = platform.drive.grove.start_transaction(); let processing_result = platform .platform .process_raw_state_transitions( - &vec![documents_batch_create_serialized_transition_1.clone()], + &vec![documents_batch_create_serialized_transition.clone()], &platform_state, - &BlockInfo::default_with_time( - &platform_state - .last_committed_block_time_ms() - .unwrap_or_default() - + 3000, - ), + &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); + assert_eq!(processing_result.valid_count(), 1); + platform .drive .grove @@ -1082,78 +2895,199 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - let result = processing_result.into_execution_results().remove(0); + let sender_documents_sql_string = + format!("select * from card where $ownerId == '{}'", identity.id()); - let StateTransitionExecutionResult::PaidConsensusError(consensus_error, _) = result - else { - panic!("expected a paid consensus error"); - }; - assert_eq!(consensus_error.to_string(), "An Identity with the id BjNejy4r9QAvLHpQ9Yq6yRMgNymeGZ46d48fJxJbMrfW is already a contestant for the vote_poll ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }"); + let query_sender_identity_documents = DriveDocumentQuery::from_sql_expr( + sender_documents_sql_string.as_str(), + &contract, + Some(&platform.config.drive), + ) + .expect("expected document query"); + + let receiver_documents_sql_string = + format!("select * from card where $ownerId == '{}'", receiver.id()); + + let query_receiver_identity_documents = DriveDocumentQuery::from_sql_expr( + receiver_documents_sql_string.as_str(), + &contract, + Some(&platform.config.drive), + ) + .expect("expected document query"); + + let query_sender_results = platform + .drive + .query_documents( + query_sender_identity_documents.clone(), + None, + false, + None, + None, + ) + .expect("expected query result"); + + let query_receiver_results = platform + .drive + .query_documents( + query_receiver_identity_documents.clone(), + None, + false, + None, + None, + ) + .expect("expected query result"); + + // We expect the sender to have 1 document, and the receiver to have none + assert_eq!(query_sender_results.documents().len(), 1); + + assert_eq!(query_receiver_results.documents().len(), 0); + + document.set_revision(Some(2)); + + document.set("attack", 6.into()); + document.set("defense", 0.into()); + + let documents_batch_transfer_transition = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + document, + card_document_type, + &key, + 3, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition for transfer"); + + let documents_batch_transfer_serialized_transition = + documents_batch_transfer_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_transfer_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_eq!(processing_result.invalid_paid_count(), 1); + + assert_eq!(processing_result.invalid_unpaid_count(), 0); + + assert_eq!(processing_result.valid_count(), 0); + + assert_eq!(processing_result.aggregated_fees().processing_fee, 445700); + + let query_sender_results = platform + .drive + .query_documents(query_sender_identity_documents, None, false, None, None) + .expect("expected query result"); + + let query_receiver_results = platform + .drive + .query_documents(query_receiver_identity_documents, None, false, None, None) + .expect("expected query result"); + + // We expect the sender to still have their document, and the receiver to have none + assert_eq!(query_sender_results.documents().len(), 1); + + assert_eq!(query_receiver_results.documents().len(), 0); } #[test] - fn test_that_a_contested_document_can_not_be_added_if_we_are_locked() { + fn test_document_replace_that_does_not_yet_exist() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); + let mut rng = StdRng::seed_from_u64(433); + let platform_state = platform.state.load(); - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); - perform_votes_multi( - &mut platform, - dpns_contract.as_ref(), - vec![ - (TowardsIdentity(contender_1.id()), 3), - (TowardsIdentity(contender_2.id()), 5), - (ResourceVoteChoice::Abstain, 8), - (ResourceVoteChoice::Lock, 10), - ], - "quantum", - 10, - platform_version, - ); + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + let dashpay_contract = dashpay.clone(); - fast_forward_to_block(&platform, 200_000_000, 900, 0); //less than a week + let profile = dashpay_contract + .document_type_for_name("profile") + .expect("expected a profile document type"); - let platform_state = platform.state.load(); + let entropy = Bytes32::random_with_rng(&mut rng); - let _contender_3 = add_contender_to_dpns_name_contest( - &mut platform, - &platform_state, - 4, - "quantum", - None, // this should succeed, as we are under a week - platform_version, - ); + let mut document = profile + .random_document_with_identifier_and_entropy( + &mut rng, + identity.id(), + entropy, + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + platform_version, + ) + .expect("expected a random document"); - fast_forward_to_block(&platform, 2_000_000_000, 900, 0); //more than two weeks + document.set("avatarUrl", "http://test.com/bob.jpg".into()); - let platform_state = platform.state.load(); + let mut altered_document = document.clone(); + + altered_document.increment_revision().unwrap(); + altered_document.set("displayName", "Samuel".into()); + altered_document.set("avatarUrl", "http://test.com/cat.jpg".into()); + + let documents_batch_update_transition = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document, + profile, + &key, + 3, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_update_serialized_transition = documents_batch_update_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); let transaction = platform.drive.grove.start_transaction(); - platform - .check_for_ended_vote_polls( - &platform_state, - &BlockInfo { - time_ms: 2_000_000_000, - height: 900, - core_height: 42, - epoch: Default::default(), - }, - Some(&transaction), + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_update_serialized_transition.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, platform_version, + false, + None, ) - .expect("expected to check for ended vote polls"); + .expect("expected to process state transition"); platform .drive @@ -1162,88 +3096,71 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - let platform_state = platform.state.load(); + assert_eq!(processing_result.invalid_paid_count(), 1); - // We expect this to fail + assert_eq!(processing_result.invalid_unpaid_count(), 0); - let _contender_4 = add_contender_to_dpns_name_contest( - &mut platform, - &platform_state, - 9, - "quantum", - Some("Document Contest for vote_poll ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] } is currently already locked V0(ContestedDocumentVotePollStoredInfoV0 { finalized_events: [ContestedDocumentVotePollStoredInfoVoteEventV0 { resource_vote_choices: [FinalizedResourceVoteChoicesWithVoterInfo { resource_vote_choice: TowardsIdentity(BjNejy4r9QAvLHpQ9Yq6yRMgNymeGZ46d48fJxJbMrfW), voters: [2oGomAQc47V9h3mkpyHUPbF74gT2AmoYKg1oSb94Rbwm:1, 4iroeiNBeBYZetCt21kW7FGyczE8WqoqzZ48YAHwyV7R:1, Cdf8V4KGHHd395x5xPJPPrzTKwmp5MqbuszSE2iMzzeP:1] }, FinalizedResourceVoteChoicesWithVoterInfo { resource_vote_choice: TowardsIdentity(FiLk5pGtspYtF65PKsQq3YFr1DEiXPHTZeKjusT6DuqN), voters: [] }, FinalizedResourceVoteChoicesWithVoterInfo { resource_vote_choice: TowardsIdentity(Fv8S6kTbNrRqKC7PR7XcRUoPR59bxNhhggg5mRaNN6ow), voters: [4MK8GWEWX1PturUqjZJefdE4WGrUqz1UQZnbK17ENkeA:1, 5gRudU7b4n8LYkNvhZomv6FtMrP7gvaTvRrHKfaTS22K:1, AfzQBrdwzDuTVdXrMWqQyVvXRWqPMDVjA76hViuGLh6W:1, E75wdFZB22P1uW1wJBJGPgXZuZKLotK7YmbH5wUk5msH:1, G3ZfS2v39x6FuLGnnJ1RNQyy4zn4Wb64KiGAjqj39wUu:1] }, FinalizedResourceVoteChoicesWithVoterInfo { resource_vote_choice: Abstain, voters: [5Ur8tDxJnatfUd9gcVFDde7ptHydujZzJLNTxa6aMYYy:1, 93Gsg14oT9K4FLYmC7N26uS4g5b7JcM1GwGEDeJCCBPJ:1, 96eX4PTjbXRuGHuMzwXdptWFtHcboXbtevk51Jd73pP7:1, AE9xm2mbemDeMxPUzyt35Agq1axRxggVfV4DRLAZp7Qt:1, FbLyu5d7JxEsvSsujj7Wopg57Wrvz9HH3UULCusKpBnF:1, GsubMWb3LH1skUJrcxTmZ7wus1habJcbpb8su8yBVqFY:1, H9UrL7aWaxDmXhqeGMJy7LrGdT2wWb45mc7kQYsoqwuf:1, Hv88mzPZVKq2fnjoUqK56vjzkcmqRHpWE1ME4z1MXDrw:1] }, FinalizedResourceVoteChoicesWithVoterInfo { resource_vote_choice: Lock, voters: [F1oA8iAoyJ8dgCAi2GSPqcNhp9xEuAqhP47yXBDw5QR:1, 2YSjsJUp74MJpm12rdn8wyPR5MY3c322pV8E8siw989u:1, 3fQrmN4PWhthUFnCFTaJqbT2PPGf7MytAyik4eY1DP8V:1, 7r7gnAiZunVLjtSd5ky4yvPpnWTFYbJuQAapg8kDCeNK:1, 86TUE89xNkBDcmshXRD198xjAvMmKecvHbwo6i83AmqA:1, 97iYr4cirPdG176kqa5nvJWT9tsnqxHmENfRnZUgM6SC:1, 99nKfYZL4spsTe9p9pPNhc1JWv9yq4CbPPMPm87a5sgn:1, BYAqFxCVwMKrw5YAQMCFQGiAF2v3YhKRm2EdGfgkYN9G:1, CGKeK3AfdZUxXF3qH9zxp5MR7Z4WvDVqMrU5wjMKqT5C:1, HRPPEX4mdoZAMkg6NLJUgDzN4pSTpiDXEAGcR5JBdiXX:1] }], start_block: BlockInfo { time_ms: 3000, height: 0, core_height: 0, epoch: 0 }, finalization_block: BlockInfo { time_ms: 2000000000, height: 900, core_height: 42, epoch: 0 }, winner: Locked }], vote_poll_status: Locked, locked_count: 1 }), unlocking is possible by paying 400000000000 credits"), // this should fail, as it is locked - platform_version, - ); + assert_eq!(processing_result.valid_count(), 0); + + assert_eq!(processing_result.aggregated_fees().processing_fee, 516040); } #[test] - fn test_document_creation_on_restricted_document_type_that_only_allows_contract_owner_to_create( - ) { + fn test_double_document_replace() { + let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() - .set_initial_state_structure(); - - let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); + .set_genesis_state(); - let (another_identity, another_identity_signer, another_identity_key) = - setup_identity(&mut platform, 450, dash_to_credits!(0.1)); + let mut rng = StdRng::seed_from_u64(433); - let card_game_path = "tests/supporting_files/contract/crypto-card-game/crypto-card-game-direct-purchase-creation-restricted-to-owner.json"; + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch let platform_state = platform.state.load(); - let platform_version = platform_state - .current_platform_version() - .expect("expected to get current platform version"); - - // let's construct the grovedb structure for the card game data contract - let mut contract = json_document_to_contract(card_game_path, true, platform_version) - .expect("expected to get data contract"); - contract.set_owner_id(identity.id()); + let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); - platform - .drive - .apply_contract( - &contract, - BlockInfo::default(), - true, - StorageFlags::optional_default_as_cow(), - None, - platform_version, - ) - .expect("expected to apply contract successfully"); + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + let dashpay_contract = dashpay.clone(); - let card_document_type = contract - .document_type_for_name("card") + let profile = dashpay_contract + .document_type_for_name("profile") .expect("expected a profile document type"); - assert_eq!( - card_document_type.creation_restriction_mode(), - CreationRestrictionMode::OwnerOnly - ); - - let mut rng = StdRng::seed_from_u64(433); + assert!(profile.documents_mutable()); let entropy = Bytes32::random_with_rng(&mut rng); - let mut document = card_document_type + let mut document = profile .random_document_with_identifier_and_entropy( &mut rng, identity.id(), entropy, - DocumentFieldFillType::DoNotFillIfNotRequired, + DocumentFieldFillType::FillIfNotRequired, DocumentFieldFillSize::AnyDocumentFillSize, platform_version, ) .expect("expected a random document"); - document.set("attack", 4.into()); - document.set("defense", 7.into()); + document.set("avatarUrl", "http://test.com/bob.jpg".into()); + + let mut altered_document = document.clone(); + + altered_document.increment_revision().unwrap(); + altered_document.set("displayName", "Samuel".into()); + altered_document.set("avatarUrl", "http://test.com/cat.jpg".into()); + + let mut altered_document_2 = altered_document.clone(); + + altered_document_2.increment_revision().unwrap(); + altered_document_2.set("displayName", "Ody".into()); + altered_document_2.set("avatarUrl", "http://test.com/drapes.jpg".into()); let documents_batch_create_transition = DocumentsBatchTransition::new_document_creation_transition_from_document( - document.clone(), - card_document_type, + document, + profile, entropy.0, &key, 2, @@ -1267,14 +3184,14 @@ mod tests { .process_raw_state_transitions( &vec![documents_batch_create_serialized_transition.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); - // There is no issue because the creator of the contract made the document - assert_eq!(processing_result.valid_count(), 1); platform @@ -1284,31 +3201,55 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - // Now let's try for another identity + let receiver_documents_sql_string = "select * from profile".to_string(); - let mut document = card_document_type - .random_document_with_identifier_and_entropy( - &mut rng, - another_identity.id(), - entropy, - DocumentFieldFillType::DoNotFillIfNotRequired, - DocumentFieldFillSize::AnyDocumentFillSize, + let query_documents = DriveDocumentQuery::from_sql_expr( + receiver_documents_sql_string.as_str(), + &dashpay, + Some(&platform.config.drive), + ) + .expect("expected document query"); + + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-14 21:20:00 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/bob.[...(23)] displayName:string QBwBNNXXYCngB0er publicMessage:string 8XG7KBGNvm2 "); + + let documents_batch_update_transition_1 = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document, + profile, + &key, + 3, + 0, + &signer, platform_version, + None, + None, + None, ) - .expect("expected a random document"); + .expect("expect to create documents batch transition"); - document.set("attack", 8.into()); - document.set("defense", 2.into()); + let documents_batch_update_serialized_transition_1 = + documents_batch_update_transition_1 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); - let documents_batch_create_transition = - DocumentsBatchTransition::new_document_creation_transition_from_document( - document.clone(), - card_document_type, - entropy.0, - &another_identity_key, - 2, + let documents_batch_update_transition_2 = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document_2, + profile, + &key, + 4, 0, - &another_identity_signer, + &signer, platform_version, None, None, @@ -1316,27 +3257,29 @@ mod tests { ) .expect("expect to create documents batch transition"); - let documents_batch_create_serialized_transition = documents_batch_create_transition - .serialize_to_bytes() - .expect("expected documents batch serialized state transition"); + let documents_batch_update_serialized_transition_2 = + documents_batch_update_transition_2 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); let transaction = platform.drive.grove.start_transaction(); let processing_result = platform .platform .process_raw_state_transitions( - &vec![documents_batch_create_serialized_transition.clone()], + &vec![ + documents_batch_update_serialized_transition_1.clone(), + documents_batch_update_serialized_transition_2.clone(), + ], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); - // There is no issue because the creator of the contract made the document - - assert_eq!(processing_result.invalid_paid_count(), 1); - platform .drive .grove @@ -1344,28 +3287,54 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - let result = processing_result.into_execution_results().remove(0); + assert_eq!(processing_result.invalid_paid_count(), 0); - let StateTransitionExecutionResult::PaidConsensusError(consensus_error, _) = result - else { - panic!("expected a paid consensus error"); - }; - assert_eq!(consensus_error.to_string(), "Document Creation on 86LHvdC1Tqx5P97LQUSibGFqf2vnKFpB6VkqQ7oso86e:card is not allowed because of the document type's creation restriction mode Owner Only"); - } - } + assert_eq!(processing_result.invalid_unpaid_count(), 0); - mod replacement_tests { - use super::*; + assert_eq!(processing_result.valid_count(), 2); + + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-14 21:20:00 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/drap[...(26)] displayName:string Ody publicMessage:string 8XG7KBGNvm2 "); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); + } #[test] - fn test_document_replace_on_document_type_that_is_mutable() { + fn test_double_document_replace_different_height_same_epoch() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); let mut rng = StdRng::seed_from_u64(433); + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch + let platform_state = platform.state.load(); let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); @@ -1400,13 +3369,107 @@ mod tests { altered_document.set("displayName", "Samuel".into()); altered_document.set("avatarUrl", "http://test.com/cat.jpg".into()); - let documents_batch_create_transition = - DocumentsBatchTransition::new_document_creation_transition_from_document( - document, + let mut altered_document_2 = altered_document.clone(); + + altered_document_2.increment_revision().unwrap(); + altered_document_2.set("displayName", "Ody".into()); + altered_document_2.set("avatarUrl", "http://test.com/drapes.jpg".into()); + + let documents_batch_create_transition = + DocumentsBatchTransition::new_document_creation_transition_from_document( + document, + profile, + entropy.0, + &key, + 2, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_create_serialized_transition = documents_batch_create_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_create_serialized_transition.clone()], + &platform_state, + platform_state.last_block_info(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_eq!(processing_result.valid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let receiver_documents_sql_string = "select * from profile".to_string(); + + let query_documents = DriveDocumentQuery::from_sql_expr( + receiver_documents_sql_string.as_str(), + &dashpay, + Some(&platform.config.drive), + ) + .expect("expected document query"); + + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-14 21:20:00 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/bob.[...(23)] displayName:string QBwBNNXXYCngB0er publicMessage:string 8XG7KBGNvm2 "); + + fast_forward_to_block(&platform, 1_400_000_000, 901, 43, 1, false); //next epoch + + let platform_state = platform.state.load(); + + let documents_batch_update_transition_1 = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document, + profile, + &key, + 3, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_update_serialized_transition_1 = + documents_batch_update_transition_1 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_update_transition_2 = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document_2, profile, - entropy.0, &key, - 2, + 4, 0, &signer, platform_version, @@ -1416,25 +3479,26 @@ mod tests { ) .expect("expect to create documents batch transition"); - let documents_batch_create_serialized_transition = documents_batch_create_transition - .serialize_to_bytes() - .expect("expected documents batch serialized state transition"); + let documents_batch_update_serialized_transition_2 = + documents_batch_update_transition_2 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); let transaction = platform.drive.grove.start_transaction(); let processing_result = platform .platform .process_raw_state_transitions( - &vec![documents_batch_create_serialized_transition.clone()], + &vec![documents_batch_update_serialized_transition_1.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); - assert_eq!(processing_result.valid_count(), 1); - platform .drive .grove @@ -1442,35 +3506,40 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - let documents_batch_update_transition = - DocumentsBatchTransition::new_document_replacement_transition_from_document( - altered_document, - profile, - &key, - 3, - 0, - &signer, - platform_version, - None, - None, - None, - ) - .expect("expect to create documents batch transition"); + assert_eq!(processing_result.invalid_paid_count(), 0); - let documents_batch_update_serialized_transition = documents_batch_update_transition - .serialize_to_bytes() - .expect("expected documents batch serialized state transition"); + assert_eq!(processing_result.invalid_unpaid_count(), 0); + + assert_eq!(processing_result.valid_count(), 1); + + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-17 04:53:20 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/cat.[...(23)] displayName:string Samuel publicMessage:string 8XG7KBGNvm2 "); + + fast_forward_to_block(&platform, 1_600_000_000, 902, 44, 1, false); //next epoch + + let platform_state = platform.state.load(); let transaction = platform.drive.grove.start_transaction(); let processing_result = platform .platform .process_raw_state_transitions( - &vec![documents_batch_update_serialized_transition.clone()], + &vec![documents_batch_update_serialized_transition_2.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1487,36 +3556,64 @@ mod tests { assert_eq!(processing_result.valid_count(), 1); - assert_eq!(processing_result.aggregated_fees().processing_fee, 1341740); + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-19 12:26:40 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/drap[...(26)] displayName:string Ody publicMessage:string 8XG7KBGNvm2 "); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] - fn test_document_replace_on_document_type_that_is_not_mutable() { + fn test_double_document_replace_no_change_different_height_same_epoch() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); - let mut rng = StdRng::seed_from_u64(437); + let mut rng = StdRng::seed_from_u64(433); + + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch let platform_state = platform.state.load(); let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); - let (other_identity, ..) = setup_identity(&mut platform, 495, dash_to_credits!(0.1)); - let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); let dashpay_contract = dashpay.clone(); - let contact_request_document_type = dashpay_contract - .document_type_for_name("contactRequest") + let profile = dashpay_contract + .document_type_for_name("profile") .expect("expected a profile document type"); - assert!(!contact_request_document_type.documents_mutable()); + assert!(profile.documents_mutable()); let entropy = Bytes32::random_with_rng(&mut rng); - let mut document = contact_request_document_type + let mut document = profile .random_document_with_identifier_and_entropy( &mut rng, identity.id(), @@ -1527,23 +3624,20 @@ mod tests { ) .expect("expected a random document"); - document.set( - "toUserId", - Value::Identifier(other_identity.id().to_buffer()), - ); - document.set("recipientKeyIndex", Value::U32(1)); - document.set("senderKeyIndex", Value::U32(1)); - document.set("accountReference", Value::U32(0)); + document.set("avatarUrl", "http://test.com/bob.jpg".into()); let mut altered_document = document.clone(); - altered_document.set_revision(Some(1)); - altered_document.set("senderKeyIndex", Value::U32(2)); + altered_document.increment_revision().unwrap(); + + let mut altered_document_2 = altered_document.clone(); + + altered_document_2.increment_revision().unwrap(); let documents_batch_create_transition = DocumentsBatchTransition::new_document_creation_transition_from_document( document, - contact_request_document_type, + profile, entropy.0, &key, 2, @@ -1567,9 +3661,11 @@ mod tests { .process_raw_state_transitions( &vec![documents_batch_create_serialized_transition.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1582,10 +3678,35 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - let documents_batch_update_transition = + let receiver_documents_sql_string = "select * from profile".to_string(); + + let query_documents = DriveDocumentQuery::from_sql_expr( + receiver_documents_sql_string.as_str(), + &dashpay, + Some(&platform.config.drive), + ) + .expect("expected document query"); + + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-14 21:20:00 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/bob.[...(23)] displayName:string QBwBNNXXYCngB0er publicMessage:string 8XG7KBGNvm2 "); + + fast_forward_to_block(&platform, 1_400_000_000, 901, 43, 1, false); //next epoch + + let platform_state = platform.state.load(); + + let documents_batch_update_transition_1 = DocumentsBatchTransition::new_document_replacement_transition_from_document( altered_document, - contact_request_document_type, + profile, &key, 3, 0, @@ -1597,20 +3718,43 @@ mod tests { ) .expect("expect to create documents batch transition"); - let documents_batch_update_serialized_transition = documents_batch_update_transition - .serialize_to_bytes() - .expect("expected documents batch serialized state transition"); + let documents_batch_update_serialized_transition_1 = + documents_batch_update_transition_1 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_update_transition_2 = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document_2, + profile, + &key, + 4, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_update_serialized_transition_2 = + documents_batch_update_transition_2 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); let transaction = platform.drive.grove.start_transaction(); let processing_result = platform .platform .process_raw_state_transitions( - &vec![documents_batch_update_serialized_transition.clone()], + &vec![documents_batch_update_serialized_transition_1.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1621,55 +3765,142 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - assert_eq!(processing_result.invalid_paid_count(), 1); + assert_eq!(processing_result.invalid_paid_count(), 0); assert_eq!(processing_result.invalid_unpaid_count(), 0); - assert_eq!(processing_result.valid_count(), 0); + assert_eq!(processing_result.valid_count(), 1); - assert_eq!(processing_result.aggregated_fees().processing_fee, 41880); + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-17 04:53:20 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/bob.[...(23)] displayName:string QBwBNNXXYCngB0er publicMessage:string 8XG7KBGNvm2 "); + + fast_forward_to_block(&platform, 1_600_000_000, 902, 44, 1, false); //next epoch + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![documents_batch_update_serialized_transition_2.clone()], + &platform_state, + platform_state.last_block_info(), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + assert_eq!(processing_result.invalid_paid_count(), 0); + + assert_eq!(processing_result.invalid_unpaid_count(), 0); + + assert_eq!(processing_result.valid_count(), 1); + + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-19 12:26:40 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/bob.[...(23)] displayName:string QBwBNNXXYCngB0er publicMessage:string 8XG7KBGNvm2 "); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] - fn test_document_replace_on_document_type_that_is_not_mutable_but_is_transferable() { + fn test_double_document_replace_different_height_different_epoch() { let platform_version = PlatformVersion::latest(); - let (mut platform, contract) = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() - .set_initial_state_structure() - .with_crypto_card_game_transfer_only(Transferable::Always); + .set_genesis_state(); - let mut rng = StdRng::seed_from_u64(435); + let mut rng = StdRng::seed_from_u64(433); + + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch let platform_state = platform.state.load(); let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); - let (receiver, _, _) = setup_identity(&mut platform, 452, dash_to_credits!(0.1)); + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + let dashpay_contract = dashpay.clone(); - let card_document_type = contract - .document_type_for_name("card") + let profile = dashpay_contract + .document_type_for_name("profile") .expect("expected a profile document type"); + assert!(profile.documents_mutable()); + let entropy = Bytes32::random_with_rng(&mut rng); - let mut document = card_document_type + let mut document = profile .random_document_with_identifier_and_entropy( &mut rng, identity.id(), entropy, - DocumentFieldFillType::DoNotFillIfNotRequired, + DocumentFieldFillType::FillIfNotRequired, DocumentFieldFillSize::AnyDocumentFillSize, platform_version, ) .expect("expected a random document"); - document.set("attack", 4.into()); - document.set("defense", 7.into()); + document.set("avatarUrl", "http://test.com/bob.jpg".into()); + + let mut altered_document = document.clone(); + + altered_document.increment_revision().unwrap(); + altered_document.set("displayName", "Samuel".into()); + altered_document.set("avatarUrl", "http://test.com/cat.jpg".into()); + + let mut altered_document_2 = altered_document.clone(); + + altered_document_2.increment_revision().unwrap(); + altered_document_2.set("displayName", "Ody".into()); + altered_document_2.set("avatarUrl", "http://test.com/drapes.jpg".into()); let documents_batch_create_transition = DocumentsBatchTransition::new_document_creation_transition_from_document( - document.clone(), - card_document_type, + document, + profile, entropy.0, &key, 2, @@ -1693,9 +3924,11 @@ mod tests { .process_raw_state_transitions( &vec![documents_batch_create_serialized_transition.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1708,62 +3941,35 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - let sender_documents_sql_string = - format!("select * from card where $ownerId == '{}'", identity.id()); - - let query_sender_identity_documents = DriveDocumentQuery::from_sql_expr( - sender_documents_sql_string.as_str(), - &contract, - Some(&platform.config.drive), - ) - .expect("expected document query"); - - let receiver_documents_sql_string = - format!("select * from card where $ownerId == '{}'", receiver.id()); + let receiver_documents_sql_string = "select * from profile".to_string(); - let query_receiver_identity_documents = DriveDocumentQuery::from_sql_expr( + let query_documents = DriveDocumentQuery::from_sql_expr( receiver_documents_sql_string.as_str(), - &contract, + &dashpay, Some(&platform.config.drive), ) .expect("expected document query"); let query_sender_results = platform .drive - .query_documents( - query_sender_identity_documents.clone(), - None, - false, - None, - None, - ) - .expect("expected query result"); - - let query_receiver_results = platform - .drive - .query_documents( - query_receiver_identity_documents.clone(), - None, - false, - None, - None, - ) + .query_documents(query_documents.clone(), None, false, None, None) .expect("expected query result"); - // We expect the sender to have 1 document, and the receiver to have none - assert_eq!(query_sender_results.documents().len(), 1); + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); - assert_eq!(query_receiver_results.documents().len(), 0); + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-14 21:20:00 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/bob.[...(23)] displayName:string QBwBNNXXYCngB0er publicMessage:string 8XG7KBGNvm2 "); - document.set_revision(Some(2)); + fast_forward_to_block(&platform, 1_400_000_000, 901, 43, 1, false); //next epoch - document.set("attack", 6.into()); - document.set("defense", 0.into()); + let platform_state = platform.state.load(); - let documents_batch_transfer_transition = + let documents_batch_update_transition_1 = DocumentsBatchTransition::new_document_replacement_transition_from_document( - document, - card_document_type, + altered_document, + profile, &key, 3, 0, @@ -1773,10 +3979,30 @@ mod tests { None, None, ) - .expect("expect to create documents batch transition for transfer"); + .expect("expect to create documents batch transition"); - let documents_batch_transfer_serialized_transition = - documents_batch_transfer_transition + let documents_batch_update_serialized_transition_1 = + documents_batch_update_transition_1 + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let documents_batch_update_transition_2 = + DocumentsBatchTransition::new_document_replacement_transition_from_document( + altered_document_2, + profile, + &key, + 4, + 0, + &signer, + platform_version, + None, + None, + None, + ) + .expect("expect to create documents batch transition"); + + let documents_batch_update_serialized_transition_2 = + documents_batch_update_transition_2 .serialize_to_bytes() .expect("expected documents batch serialized state transition"); @@ -1785,11 +4011,13 @@ mod tests { let processing_result = platform .platform .process_raw_state_transitions( - &vec![documents_batch_transfer_serialized_transition.clone()], + &vec![documents_batch_update_serialized_transition_1.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1800,100 +4028,40 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - assert_eq!(processing_result.invalid_paid_count(), 1); + assert_eq!(processing_result.invalid_paid_count(), 0); assert_eq!(processing_result.invalid_unpaid_count(), 0); - assert_eq!(processing_result.valid_count(), 0); - - assert_eq!(processing_result.aggregated_fees().processing_fee, 445700); + assert_eq!(processing_result.valid_count(), 1); let query_sender_results = platform .drive - .query_documents(query_sender_identity_documents, None, false, None, None) - .expect("expected query result"); - - let query_receiver_results = platform - .drive - .query_documents(query_receiver_identity_documents, None, false, None, None) + .query_documents(query_documents.clone(), None, false, None, None) .expect("expected query result"); - // We expect the sender to still have their document, and the receiver to have none - assert_eq!(query_sender_results.documents().len(), 1); - - assert_eq!(query_receiver_results.documents().len(), 0); - } + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); - #[test] - fn test_document_replace_that_does_not_yet_exist() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-17 04:53:20 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/cat.[...(23)] displayName:string Samuel publicMessage:string 8XG7KBGNvm2 "); - let mut rng = StdRng::seed_from_u64(433); + fast_forward_to_block(&platform, 1_600_000_000, 905, 44, 2, true); //next epoch let platform_state = platform.state.load(); - let (identity, signer, key) = setup_identity(&mut platform, 958, dash_to_credits!(0.1)); - - let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); - let dashpay_contract = dashpay.clone(); - - let profile = dashpay_contract - .document_type_for_name("profile") - .expect("expected a profile document type"); - - let entropy = Bytes32::random_with_rng(&mut rng); - - let mut document = profile - .random_document_with_identifier_and_entropy( - &mut rng, - identity.id(), - entropy, - DocumentFieldFillType::FillIfNotRequired, - DocumentFieldFillSize::AnyDocumentFillSize, - platform_version, - ) - .expect("expected a random document"); - - document.set("avatarUrl", "http://test.com/bob.jpg".into()); - - let mut altered_document = document.clone(); - - altered_document.increment_revision().unwrap(); - altered_document.set("displayName", "Samuel".into()); - altered_document.set("avatarUrl", "http://test.com/cat.jpg".into()); - - let documents_batch_update_transition = - DocumentsBatchTransition::new_document_replacement_transition_from_document( - altered_document, - profile, - &key, - 3, - 0, - &signer, - platform_version, - None, - None, - None, - ) - .expect("expect to create documents batch transition"); - - let documents_batch_update_serialized_transition = documents_batch_update_transition - .serialize_to_bytes() - .expect("expected documents batch serialized state transition"); - let transaction = platform.drive.grove.start_transaction(); let processing_result = platform .platform .process_raw_state_transitions( - &vec![documents_batch_update_serialized_transition.clone()], + &vec![documents_batch_update_serialized_transition_2.clone()], &platform_state, - &BlockInfo::default(), + platform_state.last_block_info(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1904,13 +4072,40 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - assert_eq!(processing_result.invalid_paid_count(), 1); + assert_eq!(processing_result.invalid_paid_count(), 0); assert_eq!(processing_result.invalid_unpaid_count(), 0); - assert_eq!(processing_result.valid_count(), 0); + assert_eq!(processing_result.valid_count(), 1); - assert_eq!(processing_result.aggregated_fees().processing_fee, 516040); + let query_sender_results = platform + .drive + .query_documents(query_documents.clone(), None, false, None, None) + .expect("expected query result"); + + let document = query_sender_results + .documents() + .first() + .expect("expected a document"); + + assert_eq!(document.to_string(), "v0 : id:GcviwUsEr9Ji4rCrnnsgmVAghNaVPDumsfcagvBbBy45 owner_id:CisQdz2ej7EwWv8JbetSXBNsV4xsf8QsSS8tqp4tEf7V created_at:1970-01-14 21:20:00 updated_at:1970-01-19 12:26:40 avatarFingerprint:bytes d7b0e2b357c10312 avatarHash:bytes32 YonaRoE0hMgat53AYt5LTlQlIkKLReGpB7xNAqJ5HM8= avatarUrl:string http://test.com/drap[...(26)] displayName:string Ody publicMessage:string 8XG7KBGNvm2 "); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } } @@ -1921,6 +4116,7 @@ mod tests { fn test_document_delete_on_document_type_that_is_mutable_and_can_be_deleted() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1992,6 +4188,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2033,6 +4231,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2050,6 +4250,23 @@ mod tests { assert_eq!(processing_result.valid_count(), 1); assert_eq!(processing_result.aggregated_fees().processing_fee, 1609340); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] @@ -2152,6 +4369,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2194,6 +4413,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2313,6 +4534,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2355,6 +4578,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2372,12 +4597,30 @@ mod tests { assert_eq!(processing_result.valid_count(), 1); assert_eq!(processing_result.aggregated_fees().processing_fee, 2762400); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] fn test_document_delete_on_document_type_that_is_not_mutable_and_can_not_be_deleted() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -2456,6 +4699,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2498,6 +4743,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2521,6 +4768,7 @@ mod tests { fn test_document_delete_that_does_not_yet_exist() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -2587,6 +4835,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2699,6 +4949,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2744,6 +4996,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2763,6 +5017,23 @@ mod tests { assert_eq!(processing_result.aggregated_fees().storage_fee, 0); // There is no storage fee, as there are no indexes that will change assert_eq!(processing_result.aggregated_fees().processing_fee, 1985420); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] @@ -2833,6 +5104,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2925,6 +5198,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -2969,6 +5244,23 @@ mod tests { assert_eq!(query_sender_results.documents().len(), 0); assert_eq!(query_receiver_results.documents().len(), 1); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] @@ -3037,6 +5329,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3129,6 +5423,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3279,6 +5575,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3382,6 +5680,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3474,6 +5774,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3541,6 +5843,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3558,6 +5862,23 @@ mod tests { assert_eq!(processing_result.valid_count(), 0); assert_eq!(processing_result.aggregated_fees().processing_fee, 571240); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } } @@ -3629,6 +5950,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3698,6 +6021,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3785,6 +6110,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -3877,6 +6204,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4001,6 +6330,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4119,6 +6450,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4233,6 +6566,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4375,6 +6710,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4420,6 +6757,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4468,6 +6807,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4563,6 +6904,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4608,6 +6951,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4656,6 +7001,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4756,6 +7103,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4801,6 +7150,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4849,6 +7200,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -4959,6 +7312,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5053,6 +7408,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5145,6 +7502,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5237,6 +7596,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5327,6 +7688,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5374,6 +7737,8 @@ mod tests { &BlockInfo::default_with_time(50000000), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5444,6 +7809,7 @@ mod tests { fn test_dpns_contract_references_with_no_contested_unique_index() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -5757,6 +8123,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5783,6 +8151,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -5888,6 +8258,7 @@ mod tests { fn test_dpns_contract_references_with_no_contested_unique_index_null_searchable_true() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -6201,6 +8572,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -6227,6 +8600,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/state/v0/fetch_documents.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/state/v0/fetch_documents.rs index d569e680a2c..8db9245d3f0 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/state/v0/fetch_documents.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/state/v0/fetch_documents.rs @@ -1,11 +1,11 @@ -use std::collections::btree_map::Entry; -use std::collections::BTreeMap; - use crate::error::Error; use crate::platform_types::platform::PlatformStateRef; +use dpp::block::epoch::Epoch; use dpp::consensus::basic::document::{DataContractNotPresentError, InvalidDocumentTypeError}; use dpp::consensus::basic::BasicError; use dpp::data_contract::accessors::v0::DataContractV0Getters; +use std::collections::btree_map::Entry; +use std::collections::BTreeMap; use dpp::data_contract::document_type::DocumentTypeRef; use dpp::data_contract::DataContract; @@ -20,9 +20,13 @@ use dpp::state_transition::documents_batch_transition::document_transition::{ }; use dpp::validation::ConsensusValidationResult; use dpp::version::PlatformVersion; +use drive::drive::document::query::query_contested_documents_storage::QueryContestedDocumentsOutcomeV0Methods; use drive::drive::document::query::QueryDocumentsOutcomeV0Methods; use drive::drive::Drive; use drive::grovedb::TransactionArg; +use drive::query::drive_contested_document_query::{ + DriveContestedDocumentQuery, PrimaryContestedInternalClauses, +}; use drive::query::{DriveDocumentQuery, InternalClauses, WhereClause, WhereOperator}; #[allow(dead_code)] @@ -226,3 +230,45 @@ pub(crate) fn fetch_document_with_id( Ok((Some(documents.remove(0)), fee_result)) } } + +pub(crate) fn has_contested_document_with_document_id<'a>( + drive: &Drive, + contract: &'a DataContract, + document_type: DocumentTypeRef<'a>, + document_id: Identifier, + epoch: Option<&Epoch>, + transaction: TransactionArg, + platform_version: &PlatformVersion, +) -> Result<(bool, FeeResult), Error> { + let drive_query = DriveContestedDocumentQuery { + contract, + document_type, + internal_clauses: PrimaryContestedInternalClauses { + primary_key_in_clause: None, + primary_key_equal_clause: Some(document_id), + }, + }; + + let documents_outcome = drive.query_contested_documents( + drive_query, + epoch, + false, + transaction, + Some(platform_version.protocol_version), + )?; + + let fee = documents_outcome.cost(); + let fee_result = FeeResult { + storage_fee: 0, + processing_fee: fee, + fee_refunds: Default::default(), + removed_bytes_from_system: 0, + }; + let documents = documents_outcome.documents_owned(); + + if documents.is_empty() { + Ok((false, fee_result)) + } else { + Ok((true, fee_result)) + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/transformer/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/transformer/v0/mod.rs index 009d055f831..68ec4de478e 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/transformer/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/documents_batch/transformer/v0/mod.rs @@ -233,23 +233,22 @@ impl DocumentsBatchTransitionInternalTransformerV0 for DocumentsBatchTransition }; let validation_result = document_transitions - .iter() - .map(|(document_type_name, document_transitions)| { - Self::transform_document_transitions_within_document_type_v0( - platform, - block_info, - validate_against_state, - data_contract_fetch_info.clone(), - document_type_name, - owner_id, - document_transitions, - execution_context, - transaction, - platform_version, - ) - }) - .collect::>>, Error>>( - )?; + .iter() + .map(|(document_type_name, document_transitions)| { + Self::transform_document_transitions_within_document_type_v0( + platform, + block_info, + validate_against_state, + data_contract_fetch_info.clone(), + document_type_name, + owner_id, + document_transitions, + execution_context, + transaction, + platform_version, + ) + }) + .collect::>>, Error>>()?; Ok(ConsensusValidationResult::flatten(validation_result)) } @@ -327,7 +326,7 @@ impl DocumentsBatchTransitionInternalTransformerV0 for DocumentsBatchTransition .map(|transition| { // we validate every transition in this document type Self::transform_transition_v0( - &platform.drive, + platform.drive, transaction, validate_against_state, block_info, @@ -376,7 +375,7 @@ impl DocumentsBatchTransitionInternalTransformerV0 for DocumentsBatchTransition drive, transaction, document_create_transition, block_info, |_identifier| { Ok(data_contract_fetch_info.clone()) - }, platform_version)?; + }, platform_version)?; execution_context .add_operation(ValidationOperation::PrecalculatedOperation(fee_result)); @@ -475,9 +474,9 @@ impl DocumentsBatchTransitionInternalTransformerV0 for DocumentsBatchTransition } } DocumentTransition::Delete(document_delete_transition) => { - let action = DocumentDeleteTransitionAction::from_document_borrowed_create_transition_with_contract_lookup(document_delete_transition, |_identifier| { - Ok(data_contract_fetch_info.clone()) - })?; + let action = DocumentDeleteTransitionAction::from_document_borrowed_create_transition_with_contract_lookup(document_delete_transition, |_identifier| { + Ok(data_contract_fetch_info.clone()) + })?; Ok(DocumentTransitionAction::DeleteAction(action).into()) } DocumentTransition::Transfer(document_transfer_transition) => { diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/mod.rs index 8614e6966de..1e0d8bf4b00 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/mod.rs @@ -302,12 +302,14 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); assert_eq!(processing_result.valid_count(), 1); - assert_eq!(processing_result.aggregated_fees().processing_fee, 1823240); + assert_eq!(processing_result.aggregated_fees().processing_fee, 1871240); platform .drive @@ -322,7 +324,7 @@ mod tests { .expect("expected to get identity balance") .expect("expected there to be an identity balance for this identity"); - assert_eq!(identity_balance, 99916906760); + assert_eq!(identity_balance, 99913915760); } #[test] @@ -454,6 +456,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -516,6 +520,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -525,7 +531,7 @@ mod tests { assert_eq!(processing_result.valid_count(), 1); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2098900); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2146900); platform .drive @@ -540,7 +546,7 @@ mod tests { .expect("expected to get identity balance") .expect("expected there to be an identity balance for this identity"); - assert_eq!(identity_balance, 99912301400); // The identity balance is smaller than if there hadn't been any issue + assert_eq!(identity_balance, 99909310400); // The identity balance is smaller than if there hadn't been any issue } #[test] @@ -683,6 +689,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -748,6 +756,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -908,6 +918,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -973,6 +985,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1121,6 +1135,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1151,6 +1167,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1206,6 +1224,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1215,7 +1235,7 @@ mod tests { assert_eq!(processing_result.valid_count(), 1); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2098900); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2146900); platform .drive @@ -1230,6 +1250,6 @@ mod tests { .expect("expected to get identity balance") .expect("expected there to be an identity balance for this identity"); - assert_eq!(identity_balance, 99912301400); // The identity balance is smaller than if there hadn't been any issue + assert_eq!(identity_balance, 99909310400); // The identity balance is smaller than if there hadn't been any issue } } diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/mod.rs index 8239908332f..f74cb363924 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/mod.rs @@ -31,10 +31,10 @@ impl StateTransitionActionTransformerV0 for IdentityCreditWithdrawalTransition { fn transform_into_action( &self, platform: &PlatformRef, - _block_info: &BlockInfo, + block_info: &BlockInfo, _validation_mode: ValidationMode, _execution_context: &mut StateTransitionExecutionContext, - _tx: TransactionArg, + tx: TransactionArg, ) -> Result, Error> { let platform_version = platform.state.current_platform_version()?; @@ -45,7 +45,7 @@ impl StateTransitionActionTransformerV0 for IdentityCreditWithdrawalTransition { .identity_credit_withdrawal_state_transition .transform_into_action { - 0 => self.transform_into_action_v0(platform), + 0 => self.transform_into_action_v0(platform, block_info, tx, platform_version), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "identity credit withdrawal transition: transform_into_action".to_string(), known_versions: vec![0], @@ -93,7 +93,7 @@ impl StateTransitionStateValidationV0 for IdentityCreditWithdrawalTransition { _action: Option, platform: &PlatformRef, _validation_mode: ValidationMode, - _block_info: &BlockInfo, + block_info: &BlockInfo, _execution_context: &mut StateTransitionExecutionContext, tx: TransactionArg, ) -> Result, Error> { @@ -106,7 +106,7 @@ impl StateTransitionStateValidationV0 for IdentityCreditWithdrawalTransition { .identity_credit_withdrawal_state_transition .state { - 0 => self.validate_state_v0(platform, tx), + 0 => self.validate_state_v0(platform, block_info, tx, platform_version), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "identity credit withdrawal transition: validate_state".to_string(), known_versions: vec![0], @@ -119,10 +119,9 @@ impl StateTransitionStateValidationV0 for IdentityCreditWithdrawalTransition { #[cfg(test)] mod tests { use crate::config::{PlatformConfig, PlatformTestConfig}; - use crate::execution::validation::state_transition::tests::{ - fast_forward_to_block, setup_identity_with_withdrawal_key_and_system_credits, - }; + use crate::execution::validation::state_transition::tests::setup_identity_with_withdrawal_key_and_system_credits; use crate::platform_types::state_transitions_processing_result::StateTransitionExecutionResult; + use crate::test::helpers::fast_forward_to_block::fast_forward_to_block; use crate::test::helpers::setup::TestPlatformBuilder; use assert_matches::assert_matches; use dpp::block::block_info::BlockInfo; @@ -130,10 +129,14 @@ mod tests { use dpp::consensus::ConsensusError; use dpp::dash_to_credits; use dpp::identity::core_script::CoreScript; + use dpp::identity::KeyType::{ECDSA_HASH160, ECDSA_SECP256K1}; use dpp::serialization::PlatformSerializable; - use dpp::state_transition::identity_credit_withdrawal_transition::methods::IdentityCreditWithdrawalTransitionMethodsV0; + use dpp::state_transition::identity_credit_withdrawal_transition::methods::{ + IdentityCreditWithdrawalTransitionMethodsV0, PreferredKeyPurposeForSigningWithdrawal, + }; use dpp::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; use dpp::withdrawal::Pooling; + use platform_version::version::v1::PROTOCOL_VERSION_1; use platform_version::version::PlatformVersion; use rand::prelude::StdRng; use rand::{Rng, SeedableRng}; @@ -153,15 +156,17 @@ mod tests { let mut platform = TestPlatformBuilder::new() .with_config(platform_config) + .with_initial_protocol_version(PROTOCOL_VERSION_1) .build_with_mock_rpc() .set_initial_state_structure(); - fast_forward_to_block(&platform, 1_200_000_000, 900, 1); //next epoch + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch let (identity, signer, _, withdrawal_key) = setup_identity_with_withdrawal_key_and_system_credits( &mut platform, rng.gen(), + ECDSA_SECP256K1, dash_to_credits!(0.5), ); @@ -171,16 +176,17 @@ mod tests { let credit_withdrawal_transition = IdentityCreditWithdrawalTransition::try_from_identity( &identity, - Some(&withdrawal_key), - CoreScript::random_p2pkh(&mut rng), + Some(CoreScript::random_p2pkh(&mut rng)), withdrawal_amount, Pooling::Never, 1, 0, signer, + Some(&withdrawal_key), + PreferredKeyPurposeForSigningWithdrawal::Any, 2, platform_version, - None, + Some(1), ) .expect("expected a credit withdrawal transition"); @@ -198,6 +204,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -208,4 +216,235 @@ mod tests { )] ); } + + #[test] + fn test_identity_credit_withdrawal_with_withdrawal_address_creates_withdrawal_document() { + let platform_version = PlatformVersion::latest(); + let platform_config = PlatformConfig { + testing_configs: PlatformTestConfig { + disable_instant_lock_signature_verification: true, + ..Default::default() + }, + ..Default::default() + }; + + let mut rng = StdRng::seed_from_u64(567); + + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch + + let (identity, signer, _, withdrawal_key) = + setup_identity_with_withdrawal_key_and_system_credits( + &mut platform, + rng.gen(), + ECDSA_SECP256K1, + dash_to_credits!(0.5), + ); + + let platform_state = platform.state.load(); + + let withdrawal_amount = dash_to_credits!(0.1); + + let credit_withdrawal_transition = IdentityCreditWithdrawalTransition::try_from_identity( + &identity, + Some(CoreScript::random_p2pkh(&mut rng)), + withdrawal_amount, + Pooling::Never, + 1, + 0, + signer, + Some(&withdrawal_key), + PreferredKeyPurposeForSigningWithdrawal::Any, + 2, + platform_version, + None, + ) + .expect("expected a credit withdrawal transition"); + + let credit_withdrawal_transition_serialized_transition = credit_withdrawal_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![credit_withdrawal_transition_serialized_transition.clone()], + &platform_state, + &BlockInfo::default_with_time(1_200_001_000), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_matches!( + processing_result.execution_results().as_slice(), + [StateTransitionExecutionResult::SuccessfulExecution(..)] + ); + } + + #[test] + fn test_identity_credit_withdrawal_without_withdrawal_address_creates_withdrawal_document_when_signing_with_withdrawal_key( + ) { + let platform_version = PlatformVersion::latest(); + let platform_config = PlatformConfig { + testing_configs: PlatformTestConfig { + disable_instant_lock_signature_verification: true, + ..Default::default() + }, + ..Default::default() + }; + + let mut rng = StdRng::seed_from_u64(567); + + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch + + let (identity, signer, _, withdrawal_key) = + setup_identity_with_withdrawal_key_and_system_credits( + &mut platform, + rng.gen(), + ECDSA_HASH160, + dash_to_credits!(0.5), + ); + + let platform_state = platform.state.load(); + + let withdrawal_amount = dash_to_credits!(0.1); + + let credit_withdrawal_transition = IdentityCreditWithdrawalTransition::try_from_identity( + &identity, + None, + withdrawal_amount, + Pooling::Never, + 1, + 0, + signer, + Some(&withdrawal_key), + PreferredKeyPurposeForSigningWithdrawal::TransferOnly, + 2, + platform_version, + None, + ) + .expect("expected a credit withdrawal transition"); + + let credit_withdrawal_transition_serialized_transition = credit_withdrawal_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![credit_withdrawal_transition_serialized_transition.clone()], + &platform_state, + &BlockInfo::default_with_time(1_200_001_000), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + + assert_matches!( + processing_result.execution_results().as_slice(), + [StateTransitionExecutionResult::SuccessfulExecution(..)] + ); + } + + mod errors { + use super::*; + use dpp::consensus::state::state_error::StateError; + #[test] + fn test_credit_withdrawal_without_withdrawal_address_with_a_non_payable_transfer_key() { + let platform_version = PlatformVersion::latest(); + let platform_config = PlatformConfig { + testing_configs: PlatformTestConfig { + disable_instant_lock_signature_verification: true, + ..Default::default() + }, + ..Default::default() + }; + + let mut rng = StdRng::seed_from_u64(567); + + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + fast_forward_to_block(&platform, 1_200_000_000, 900, 42, 1, false); //next epoch + + let (identity, signer, _, withdrawal_key) = + setup_identity_with_withdrawal_key_and_system_credits( + &mut platform, + rng.gen(), + ECDSA_SECP256K1, + dash_to_credits!(0.5), + ); + + let platform_state = platform.state.load(); + + let withdrawal_amount = dash_to_credits!(0.1); + + let credit_withdrawal_transition = + IdentityCreditWithdrawalTransition::try_from_identity( + &identity, + None, + withdrawal_amount, + Pooling::Never, + 1, + 0, + signer, + Some(&withdrawal_key), + PreferredKeyPurposeForSigningWithdrawal::TransferOnly, + 2, + platform_version, + None, + ) + .expect("expected a credit withdrawal transition"); + + let credit_withdrawal_transition_serialized_transition = credit_withdrawal_transition + .serialize_to_bytes() + .expect("expected documents batch serialized state transition"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![credit_withdrawal_transition_serialized_transition.clone()], + &platform_state, + &BlockInfo::default_with_time(1_200_001_000), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); + assert_matches!( + processing_result.execution_results().as_slice(), + [StateTransitionExecutionResult::UnpaidConsensusError( + ConsensusError::StateError( + StateError::NoTransferKeyForCoreWithdrawalAvailableError(_) + ) + )] + ); + } + } } diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/state/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/state/v0/mod.rs index cecf5edb3d6..87fe5892fe6 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/state/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/state/v0/mod.rs @@ -1,15 +1,15 @@ -use crate::error::execution::ExecutionError; use crate::error::Error; use crate::platform_types::platform::PlatformRef; use crate::rpc::core::CoreRPCLike; +use dpp::block::block_info::BlockInfo; -use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use dpp::consensus::signature::IdentityNotFoundError; use dpp::consensus::state::identity::IdentityInsufficientBalanceError; use dpp::prelude::ConsensusValidationResult; use dpp::state_transition::identity_credit_withdrawal_transition::accessors::IdentityCreditWithdrawalTransitionAccessorsV0; use dpp::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; +use dpp::version::PlatformVersion; use drive::grovedb::TransactionArg; use drive::state_transition_action::identity::identity_credit_withdrawal::IdentityCreditWithdrawalTransitionAction; use drive::state_transition_action::StateTransitionAction; @@ -18,12 +18,17 @@ pub(in crate::execution::validation::state_transition::state_transitions::identi fn validate_state_v0( &self, platform: &PlatformRef, + block_info: &BlockInfo, tx: TransactionArg, + platform_version: &PlatformVersion, ) -> Result, Error>; fn transform_into_action_v0( &self, platform: &PlatformRef, + block_info: &BlockInfo, + tx: TransactionArg, + platform_version: &PlatformVersion, ) -> Result, Error>; } @@ -33,9 +38,10 @@ impl IdentityCreditWithdrawalStateTransitionStateValidationV0 fn validate_state_v0( &self, platform: &PlatformRef, + block_info: &BlockInfo, tx: TransactionArg, + platform_version: &PlatformVersion, ) -> Result, Error> { - let platform_version = platform.state.current_platform_version()?; let maybe_existing_identity_balance = platform.drive.fetch_identity_balance( self.identity_id().to_buffer(), tx, @@ -59,27 +65,27 @@ impl IdentityCreditWithdrawalStateTransitionStateValidationV0 )); } - self.transform_into_action_v0(platform) + self.transform_into_action_v0(platform, block_info, tx, platform_version) } fn transform_into_action_v0( &self, platform: &PlatformRef, + block_info: &BlockInfo, + tx: TransactionArg, + platform_version: &PlatformVersion, ) -> Result, Error> { - let last_block_time = - platform - .state - .last_committed_block_time_ms() - .ok_or(Error::Execution(ExecutionError::StateNotInitialized( - "expected a last platform block during identity update validation", - )))?; - - Ok(ConsensusValidationResult::new_with_data( - IdentityCreditWithdrawalTransitionAction::from_identity_credit_withdrawal( + Ok( + IdentityCreditWithdrawalTransitionAction::try_from_identity_credit_withdrawal( + &platform.drive, + tx, self, - last_block_time, + block_info, + platform_version, ) - .into(), - )) + .map(|consensus_validation_result| { + consensus_validation_result.map(|withdrawal| withdrawal.into()) + })?, + ) } } diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/structure/v1/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/structure/v1/mod.rs index b89b35655c9..daaf9f7e3d8 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/structure/v1/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_credit_withdrawal/structure/v1/mod.rs @@ -8,10 +8,9 @@ use dpp::consensus::ConsensusError; use crate::error::Error; use dpp::state_transition::identity_credit_withdrawal_transition::accessors::IdentityCreditWithdrawalTransitionAccessorsV0; -use dpp::state_transition::identity_credit_withdrawal_transition::v0::{ - MIN_CORE_FEE_PER_BYTE, MIN_WITHDRAWAL_AMOUNT, +use dpp::state_transition::identity_credit_withdrawal_transition::{ + IdentityCreditWithdrawalTransition, MIN_CORE_FEE_PER_BYTE, MIN_WITHDRAWAL_AMOUNT, }; -use dpp::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; use dpp::util::is_fibonacci_number::is_fibonacci_number; use dpp::validation::SimpleConsensusValidationResult; use dpp::withdrawal::Pooling; @@ -57,13 +56,15 @@ impl IdentityCreditWithdrawalStateTransitionStructureValidationV1 return Ok(result); } - // validate output_script types - if !self.output_script().is_p2pkh() && !self.output_script().is_p2sh() { - result.add_error( - InvalidIdentityCreditWithdrawalTransitionOutputScriptError::new( - self.output_script().clone(), - ), - ); + if let Some(output_script) = self.output_script() { + // validate output_script types + if !output_script.is_p2pkh() && !output_script.is_p2sh() { + result.add_error( + InvalidIdentityCreditWithdrawalTransitionOutputScriptError::new( + output_script.clone(), + ), + ); + } } Ok(result) diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs index 673e3c321b5..e3fe3482073 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs @@ -221,6 +221,8 @@ mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_update/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_update/mod.rs index 9b8cd341e86..0b6adcdf0d4 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_update/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_update/mod.rs @@ -109,3 +109,232 @@ impl StateTransitionStateValidationV0 for IdentityUpdateTransition { } } } + +#[cfg(test)] +mod tests { + use crate::config::{PlatformConfig, PlatformTestConfig}; + use crate::execution::validation::state_transition::tests::{ + setup_add_key_to_identity, setup_identity_return_master_key, + }; + use crate::test::helpers::setup::TestPlatformBuilder; + use dpp::block::block_info::BlockInfo; + use dpp::dash_to_credits; + use dpp::data_contract::accessors::v0::DataContractV0Getters; + use dpp::identity::accessors::IdentityGettersV0; + use dpp::identity::contract_bounds::ContractBounds; + use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; + use dpp::identity::signer::Signer; + use dpp::identity::{KeyType, Purpose, SecurityLevel}; + use dpp::serialization::{PlatformSerializable, Signable}; + use dpp::state_transition::identity_update_transition::v0::IdentityUpdateTransitionV0; + use dpp::state_transition::identity_update_transition::IdentityUpdateTransition; + use dpp::state_transition::StateTransition; + use platform_version::version::PlatformVersion; + + #[test] + fn test_identity_update_that_disables_an_authentication_key() { + let platform_config = PlatformConfig { + testing_configs: PlatformTestConfig { + disable_instant_lock_signature_verification: true, + ..Default::default() + }, + ..Default::default() + }; + + let platform_version = PlatformVersion::latest(); + + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .build_with_mock_rpc() + .set_genesis_state(); + + let (identity, signer, key) = + setup_identity_return_master_key(&mut platform, 958, dash_to_credits!(0.1)); + + let platform_state = platform.state.load(); + + let update_transition: IdentityUpdateTransition = IdentityUpdateTransitionV0 { + identity_id: identity.id(), + revision: 1, + nonce: 1, + add_public_keys: vec![], + disable_public_keys: vec![1], + user_fee_increase: 0, + signature_public_key_id: key.id(), + signature: Default::default(), + } + .into(); + + let mut update_transition: StateTransition = update_transition.into(); + + let data = update_transition + .signable_bytes() + .expect("expected signable bytes"); + update_transition.set_signature( + signer + .sign(&key, data.as_slice()) + .expect("expected to sign"), + ); + + let update_transition_bytes = update_transition + .serialize_to_bytes() + .expect("expected to serialize"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![update_transition_bytes.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + true, + None, + ) + .expect("expected to process state transition"); + + assert_eq!(processing_result.valid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit"); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!(issues.len(), 0); + } + + #[test] + fn test_identity_update_that_disables_an_encryption_key() { + let platform_config = PlatformConfig { + testing_configs: PlatformTestConfig { + disable_instant_lock_signature_verification: true, + ..Default::default() + }, + ..Default::default() + }; + + let platform_version = PlatformVersion::latest(); + + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .build_with_mock_rpc() + .set_genesis_state(); + + let (mut identity, mut signer, master_key) = + setup_identity_return_master_key(&mut platform, 958, dash_to_credits!(0.1)); + + let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); + + let key = setup_add_key_to_identity( + &mut platform, + &mut identity, + &mut signer, + 4, + 2, + Purpose::ENCRYPTION, + SecurityLevel::MEDIUM, + KeyType::ECDSA_SECP256K1, + Some(ContractBounds::SingleContractDocumentType { + id: dashpay.id(), + document_type_name: "contactRequest".to_string(), + }), + ); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); + + let platform_state = platform.state.load(); + + let update_transition: IdentityUpdateTransition = IdentityUpdateTransitionV0 { + identity_id: identity.id(), + revision: 1, + nonce: 1, + add_public_keys: vec![], + disable_public_keys: vec![key.id()], + user_fee_increase: 0, + signature_public_key_id: master_key.id(), + signature: Default::default(), + } + .into(); + + let mut update_transition: StateTransition = update_transition.into(); + + let data = update_transition + .signable_bytes() + .expect("expected signable bytes"); + update_transition.set_signature( + signer + .sign(&master_key, data.as_slice()) + .expect("expected to sign"), + ); + + let update_transition_bytes = update_transition + .serialize_to_bytes() + .expect("expected to serialize"); + + let transaction = platform.drive.grove.start_transaction(); + + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![update_transition_bytes.clone()], + &platform_state, + &BlockInfo::default(), + &transaction, + platform_version, + true, + None, + ) + .expect("expected to process state transition"); + + assert_eq!(processing_result.valid_count(), 1); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit"); + + let issues = platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/masternode_vote/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/masternode_vote/mod.rs index f2ce1e36626..fe7d8095b87 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/masternode_vote/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/masternode_vote/mod.rs @@ -159,7 +159,7 @@ mod tests { }; use dpp::fee::Credits; use drive::drive::Drive; - use crate::execution::validation::state_transition::state_transitions::tests::{create_dpns_identity_name_contest, verify_dpns_name_contest, perform_vote, setup_masternode_identity, get_proved_vote_states, get_vote_states, perform_votes_multi}; + use crate::execution::validation::state_transition::state_transitions::tests::{create_dpns_identity_name_contest, verify_dpns_name_contest, perform_vote, setup_masternode_voting_identity, get_proved_vote_states, get_vote_states, perform_votes_multi}; use dapi_grpc::platform::v0::get_contested_resource_vote_state_response::get_contested_resource_vote_state_response_v0::{finished_vote_info, FinishedVoteInfo}; use dpp::voting::vote_info_storage::contested_document_vote_poll_winner_info::ContestedDocumentVotePollWinnerInfo; use dapi_grpc::platform::v0::get_vote_polls_by_end_date_request::get_vote_polls_by_end_date_request_v0; @@ -174,6 +174,7 @@ mod tests { fn test_not_proved_contests_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -275,6 +276,7 @@ mod tests { fn test_proved_contests_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -369,6 +371,7 @@ mod tests { fn test_empty_string_start_index_value() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -502,6 +505,7 @@ mod tests { fn test_no_start_index_value() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -642,6 +646,7 @@ mod tests { fn test_existing_end_index_value() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -786,6 +791,7 @@ mod tests { fn test_non_existing_end_index_value() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -920,6 +926,7 @@ mod tests { fn test_non_existing_end_index_value_many_values() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1018,6 +1025,7 @@ mod tests { fn test_limit() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1169,6 +1177,7 @@ mod tests { fn test_start_at() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1350,6 +1359,7 @@ mod tests { fn test_not_proved_vote_state_query_request_after_vote() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1364,7 +1374,7 @@ mod tests { ); let (pro_tx_hash_1, _masternode_1, signer_1, voting_key_1) = - setup_masternode_identity(&mut platform, 29, platform_version); + setup_masternode_voting_identity(&mut platform, 29, platform_version); let platform_state = platform.state.load(); @@ -1500,6 +1510,7 @@ mod tests { fn test_proved_vote_state_query_request_after_vote() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1514,7 +1525,7 @@ mod tests { ); let (pro_tx_hash_1, _masternode_1, signer_1, voting_key_1) = - setup_masternode_identity(&mut platform, 29, platform_version); + setup_masternode_voting_identity(&mut platform, 29, platform_version); let platform_state = platform.state.load(); @@ -1647,6 +1658,7 @@ mod tests { fn test_not_proved_vote_state_query_request_after_many_votes() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1671,6 +1683,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -1902,6 +1915,7 @@ mod tests { fn test_proved_vote_state_query_request_after_many_votes() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -1926,6 +1940,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -2212,6 +2227,7 @@ mod tests { fn test_vote_state_query_request_with_no_index_values_should_return_error() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -2236,6 +2252,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -2337,6 +2354,7 @@ mod tests { fn test_vote_state_query_request_with_limit_too_high_should_return_error() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -2361,6 +2379,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -2477,6 +2496,7 @@ mod tests { fn test_vote_state_query_request_with_limit_4_should_return_4_contenders() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -2518,6 +2538,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -2637,6 +2658,7 @@ mod tests { fn test_proved_vote_state_query_request_with_limit_4_should_return_4_contenders() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -2678,6 +2700,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -3000,6 +3023,7 @@ mod tests { fn test_non_proved_contestant_votes_query_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -3023,7 +3047,7 @@ mod tests { for i in 0..50 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 10 + i, platform_version); let platform_state = platform.state.load(); @@ -3044,7 +3068,7 @@ mod tests { for i in 0..5 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 100 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 100 + i, platform_version); let platform_state = platform.state.load(); @@ -3065,7 +3089,7 @@ mod tests { for i in 0..8 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 200 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 200 + i, platform_version); let platform_state = platform.state.load(); @@ -3147,7 +3171,7 @@ mod tests { // let's add another 50 votes for i in 0..50 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 400 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 400 + i, platform_version); let platform_state = platform.state.load(); @@ -3183,7 +3207,7 @@ mod tests { // let's add another vote for i in 0..1 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 500 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 500 + i, platform_version); let platform_state = platform.state.load(); @@ -3243,6 +3267,7 @@ mod tests { fn test_proved_contestant_votes_query_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -3266,7 +3291,7 @@ mod tests { for i in 0..50 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 10 + i, platform_version); let platform_state = platform.state.load(); @@ -3287,7 +3312,7 @@ mod tests { for i in 0..5 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 100 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 100 + i, platform_version); let platform_state = platform.state.load(); @@ -3308,7 +3333,7 @@ mod tests { for i in 0..8 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 200 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 200 + i, platform_version); let platform_state = platform.state.load(); @@ -3550,6 +3575,7 @@ mod tests { fn test_not_proved_identity_given_votes_query_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -3583,7 +3609,7 @@ mod tests { ); let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10, platform_version); + setup_masternode_voting_identity(&mut platform, 10, platform_version); // Now let's perform a few votes @@ -3712,6 +3738,7 @@ mod tests { fn test_proved_identity_given_votes_query_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -3745,7 +3772,7 @@ mod tests { ); let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10, platform_version); + setup_masternode_voting_identity(&mut platform, 10, platform_version); // Now let's perform a few votes @@ -3872,11 +3899,14 @@ mod tests { mod end_date_query { use super::*; + use crate::config::PlatformConfig; #[test] fn test_not_proved_end_date_query_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -3978,6 +4008,8 @@ mod tests { fn test_proved_end_date_query_request() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -4066,6 +4098,8 @@ mod tests { fn test_not_proved_end_date_query_multiple_contests() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -4253,6 +4287,8 @@ mod tests { fn test_proved_end_date_query_multiple_contests() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -4403,6 +4439,8 @@ mod tests { fn test_not_proved_end_date_query_multiple_contests_with_start_at() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -4659,6 +4697,8 @@ mod tests { fn test_not_proved_end_date_query_multiple_contests_with_end_at() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -4817,6 +4857,7 @@ mod tests { fn test_not_proved_end_date_query_multiple_contests_with_end_at_before_start_at() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -4971,6 +5012,8 @@ mod tests { fn test_not_proved_end_date_query_multiple_contests_with_start_at_ascending_false() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -5142,6 +5185,8 @@ mod tests { fn test_proved_end_date_query_multiple_contests_with_start_at() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_mainnet()) + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -5511,6 +5556,7 @@ mod tests { fn test_non_proved_prefunded_specialized_balance_request_after_many_votes() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -5554,7 +5600,7 @@ mod tests { for i in 0..50 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 10 + i, platform_version); let platform_state = platform.state.load(); @@ -5585,7 +5631,7 @@ mod tests { for i in 0..5 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 100 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 100 + i, platform_version); let platform_state = platform.state.load(); @@ -5619,6 +5665,7 @@ mod tests { fn test_proved_prefunded_specialized_balance_request_after_many_votes() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -5662,7 +5709,7 @@ mod tests { for i in 0..50 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 10 + i, platform_version); let platform_state = platform.state.load(); @@ -5693,7 +5740,7 @@ mod tests { for i in 0..5 { let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 100 + i, platform_version); + setup_masternode_voting_identity(&mut platform, 100 + i, platform_version); let platform_state = platform.state.load(); @@ -5726,12 +5773,24 @@ mod tests { mod document_distribution { use super::*; - use crate::execution::validation::state_transition::tests::create_dpns_contract_name_contest; + use crate::config::PlatformConfig; + use crate::execution::validation::state_transition::tests::{ + create_dpns_contract_name_contest, + create_dpns_identity_name_contest_skip_creating_identities, + }; + use assert_matches::assert_matches; + use dapi_grpc::platform::v0::get_contested_resource_vote_state_request::GetContestedResourceVoteStateRequestV0; + use dapi_grpc::platform::v0::{ + get_contested_resource_vote_state_request, GetContestedResourceVoteStateRequest, + }; + use dpp::dashcore::Network; + use platform_version::version::INITIAL_PROTOCOL_VERSION; #[test] fn test_document_distribution() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -5756,6 +5815,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -5830,6 +5890,7 @@ mod tests { platform .check_for_ended_vote_polls( + &platform_state, &platform_state, &block_info, Some(&transaction), @@ -5942,129 +6003,50 @@ mod tests { } #[test] - fn test_document_distribution_abstain_very_high() { + fn test_document_distribution_many_votes() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); - let platform_state = platform.state.load(); - - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); - - perform_votes_multi( - &mut platform, - dpns_contract.as_ref(), - vec![ - (TowardsIdentity(contender_1.id()), 50), - (TowardsIdentity(contender_2.id()), 5), - (ResourceVoteChoice::Abstain, 60), - (ResourceVoteChoice::Lock, 3), - ], - "quantum", - 10, - platform_version, - ); - - let platform_state = platform.state.load(); - - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "quantum", - None, - true, - None, - ResultType::DocumentsAndVoteTally, - platform_version, - ); - - assert_eq!(finished_vote_info, None); - - assert_eq!(contenders.len(), 2); - - let first_contender = contenders.first().unwrap(); - - let second_contender = contenders.last().unwrap(); - - assert_ne!(first_contender.document(), second_contender.document()); - - assert_eq!(first_contender.identity_id(), contender_1.id()); - - assert_eq!(second_contender.identity_id(), contender_2.id()); - - assert_eq!(first_contender.vote_tally(), Some(50)); - - assert_eq!(second_contender.vote_tally(), Some(5)); - - assert_eq!(abstaining, Some(60)); - - assert_eq!(locking, Some(3)); - - let mut platform_state = (**platform_state).clone(); - - let block_info = BlockInfo { - time_ms: 1_209_900_000, //2 weeks and 300s - height: 10000, - core_height: 42, - epoch: Default::default(), - }; - - platform_state.set_last_committed_block_info(Some( - ExtendedBlockInfoV0 { - basic_info: block_info, - app_hash: platform - .drive - .grove - .root_hash(None, &platform_version.drive.grove_version) - .unwrap() - .unwrap(), - quorum_hash: [0u8; 32], - block_id_hash: [0u8; 32], - proposer_pro_tx_hash: [0u8; 32], - signature: [0u8; 96], - round: 0, - } - .into(), - )); - - platform.state.store(Arc::new(platform_state)); + let votes = 10; //let's do this 10 times - let platform_state = platform.state.load(); + for i in 0..votes { + let platform_state = platform.state.load(); - let transaction = platform.drive.grove.start_transaction(); + let name = format!("quantum{}", (b'A' + i as u8) as char); + let (contender_1, contender_2, dpns_contract) = + create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7 + i, + name.as_str(), + platform_version, + ); - platform - .check_for_ended_vote_polls( - &platform_state, - &block_info, - Some(&transaction), + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + name.as_str(), + i * 500 + 10, + None, platform_version, - ) - .expect("expected to check for ended vote polls"); - - platform - .drive - .grove - .commit_transaction(transaction) - .unwrap() - .expect("expected to commit transaction"); + ); - // At this point the document should have been awarded to contender 1. + let platform_state = platform.state.load(); - { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( &platform, &platform_state, &dpns_contract, - "quantum", + name.as_str(), None, true, None, @@ -6072,18 +6054,7 @@ mod tests { platform_version, ); - assert_eq!( - finished_vote_info, - Some(FinishedVoteInfo { - finished_vote_outcome: - finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, - won_by_identity_id: Some(contender_1.id().to_vec()), - finished_at_block_height: 10000, - finished_at_core_block_height: 42, - finished_at_block_time_ms: 1209900000, - finished_at_epoch: 0 - }) - ); + assert_eq!(finished_vote_info, None); assert_eq!(contenders.len(), 2); @@ -6091,9 +6062,7 @@ mod tests { let second_contender = contenders.last().unwrap(); - assert_eq!(first_contender.document(), &None); - - assert_eq!(second_contender.document(), &None); + assert_ne!(first_contender.document(), second_contender.document()); assert_eq!(first_contender.identity_id(), contender_1.id()); @@ -6103,18 +6072,68 @@ mod tests { assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(60)); + assert_eq!(abstaining, Some(10)); assert_eq!(locking, Some(3)); - } - { - let (contenders, abstaining, locking, finished_vote_info) = - get_proved_vote_states( + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000 * (i + 1), //2 weeks and 300s + height: 10000 + i, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( &platform, &platform_state, &dpns_contract, - "quantum", + name.as_str(), None, true, None, @@ -6122,102 +6141,1358 @@ mod tests { platform_version, ); - assert_eq!( - finished_vote_info, - Some(( - ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), - block_info - )) - ); + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000 + i, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1_209_900_000 * (i + 1), + finished_at_epoch: 0 + }) + ); - assert_eq!(contenders.len(), 2); + assert_eq!(contenders.len(), 2); - let first_contender = contenders.first().unwrap(); + let first_contender = contenders.first().unwrap(); - let second_contender = contenders.last().unwrap(); + let second_contender = contenders.last().unwrap(); - assert_eq!(first_contender.document(), &None); + assert_eq!(first_contender.document(), &None); - assert_eq!(second_contender.document(), &None); + assert_eq!(second_contender.document(), &None); - assert_eq!(first_contender.identity_id(), contender_1.id()); + assert_eq!(first_contender.identity_id(), contender_1.id()); - assert_eq!(second_contender.identity_id(), contender_2.id()); + assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(50)); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(second_contender.vote_tally(), Some(5)); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(60)); + assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(3)); - } - } + assert_eq!(locking, Some(3)); + } - #[test] - fn test_document_distribution_low_votes() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity( + contender_1.id() + ), + block_info + )) + ); - let platform_state = platform.state.load(); + assert_eq!(contenders.len(), 2); - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); + let first_contender = contenders.first().unwrap(); - perform_votes_multi( - &mut platform, - dpns_contract.as_ref(), - vec![ - (TowardsIdentity(contender_1.id()), 1), - (TowardsIdentity(contender_2.id()), 1), - (ResourceVoteChoice::Abstain, 1), - (ResourceVoteChoice::Lock, 1), - ], - "quantum", - 10, - platform_version, - ); + let second_contender = contenders.last().unwrap(); - let platform_state = platform.state.load(); + assert_eq!(first_contender.document(), &None); - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "quantum", - None, - true, - None, - ResultType::DocumentsAndVoteTally, - platform_version, - ); + assert_eq!(second_contender.document(), &None); - assert_eq!(finished_vote_info, None); + assert_eq!(first_contender.identity_id(), contender_1.id()); - assert_eq!(contenders.len(), 2); + assert_eq!(second_contender.identity_id(), contender_2.id()); - let first_contender = contenders.first().unwrap(); + assert_eq!(first_contender.vote_tally(), Some(50)); - let second_contender = contenders.last().unwrap(); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_ne!(first_contender.document(), second_contender.document()); + assert_eq!(abstaining, Some(10)); - assert_eq!(first_contender.identity_id(), contender_1.id()); + assert_eq!(locking, Some(3)); + } + } + } - assert_eq!(second_contender.identity_id(), contender_2.id()); + #[test] + fn test_document_distribution_many_votes_two_contests_same_time() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); - assert_eq!(first_contender.vote_tally(), Some(1)); + let votes = 10; //let's do this 10 times - assert_eq!(second_contender.vote_tally(), Some(1)); + for i in 0..votes { + let platform_state = platform.state.load(); - assert_eq!(abstaining, Some(1)); + let name = format!("quantum{}", (b'A' + i as u8) as char); + let (contender_1, contender_2, dpns_contract) = + create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7 + i, + name.as_str(), + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + name.as_str(), + i * 500 + 50, + None, + platform_version, + ); + + let name2 = format!("alpha{}", (b'A' + i as u8) as char); + let (contender_3, contender_4, dpns_contract) = + create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 100007 + i, + name2.as_str(), + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_3.id()), 30), + (TowardsIdentity(contender_4.id()), 53), + (ResourceVoteChoice::Abstain, 2), + (ResourceVoteChoice::Lock, 5), + ], + name2.as_str(), + i * 750 + 500000, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name2.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(30)); + + assert_eq!(second_contender.vote_tally(), Some(53)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(5)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000 * (i + 1), //2 weeks and 300s + height: 10000 + i, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000 + i, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1_209_900_000 * (i + 1), + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity( + contender_1.id() + ), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + + // At this point the document should have been awarded to contender 4. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name2.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_4.id().to_vec()), + finished_at_block_height: 10000 + i, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1_209_900_000 * (i + 1), + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(30)); + + assert_eq!(second_contender.vote_tally(), Some(53)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(5)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + name2.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity( + contender_4.id() + ), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(30)); + + assert_eq!(second_contender.vote_tally(), Some(53)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(5)); + } + } + } + + #[test] + fn test_document_distribution_many_votes_three_contests_same_time() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let votes = 10; //let's do this 10 times + + for i in 0..votes { + let platform_state = platform.state.load(); + + let name = format!("quantum{}", (b'A' + i as u8) as char); + let (contender_1, contender_2, dpns_contract) = + create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7 + i, + name.as_str(), + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 2), + (TowardsIdentity(contender_2.id()), 1), + (ResourceVoteChoice::Abstain, 4), + (ResourceVoteChoice::Lock, 0), + ], + name.as_str(), + i * 500 + 50, + None, + platform_version, + ); + + let name2 = format!("alpha{}", (b'A' + i as u8) as char); + let (contender_3, contender_4, dpns_contract) = + create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 100007 + i, + name2.as_str(), + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_3.id()), 5), + (TowardsIdentity(contender_4.id()), 6), + (ResourceVoteChoice::Abstain, 2), + (ResourceVoteChoice::Lock, 6), + ], + name2.as_str(), + i * 750 + 500000, + None, + platform_version, + ); + + let name3 = format!("beta{}", (b'A' + i as u8) as char); + let (contender_5, contender_6, dpns_contract) = + create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 200007 + i, + name3.as_str(), + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_5.id()), 5), + (TowardsIdentity(contender_6.id()), 6), + (ResourceVoteChoice::Abstain, 2), + (ResourceVoteChoice::Lock, 6), + ], + name3.as_str(), + i * 500 + 600000, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(2)); + + assert_eq!(second_contender.vote_tally(), Some(1)); + + assert_eq!(abstaining, Some(4)); + + assert_eq!(locking, Some(0)); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name2.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(5)); + + assert_eq!(second_contender.vote_tally(), Some(6)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(6)); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name3.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_5.id()); + + assert_eq!(second_contender.identity_id(), contender_6.id()); + + assert_eq!(first_contender.vote_tally(), Some(5)); + + assert_eq!(second_contender.vote_tally(), Some(6)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(6)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000 * (i + 1), //2 weeks and 300s + height: 10000 + i * 2, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point 1 of the 3 should not have been awarded, we are not sure which one it is though + { + // Check the first poll + let (_contenders1, _abstaining1, _locking1, finished_vote_info1) = + get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + // Check the second poll + let (_contenders2, _abstaining2, _locking2, finished_vote_info2) = + get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name2.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + // Check the third poll + let (_contenders3, _abstaining3, _locking3, finished_vote_info3) = + get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name3.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + // Now check that exactly one of the 'finished_vote_info's is None, and the other two are Some(_) + let finished_vote_infos = vec![ + finished_vote_info1.is_some(), + finished_vote_info2.is_some(), + finished_vote_info3.is_some(), + ]; + + // Count how many polls have been awarded + let awarded_count = finished_vote_infos + .iter() + .filter(|&&is_awarded| is_awarded) + .count(); + + // Assert that exactly two polls have been awarded + assert_eq!( + awarded_count, 2, + "Exactly two polls should have been awarded for event {}", + i + ); + + // Assert that exactly one poll has not been awarded + assert_eq!( + finished_vote_infos.len() - awarded_count, + 1, + "Exactly one poll should not have been awarded for event {}", + i + ); + } + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000 * (i + 1) + 50, //2 weeks and 350s + height: 10001 + i * 2, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_matches!(finished_vote_info, Some(_)); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(2)); + + assert_eq!(second_contender.vote_tally(), Some(1)); + + assert_eq!(abstaining, Some(4)); + + assert_eq!(locking, Some(0)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + name.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_matches!(finished_vote_info, Some(_)); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(2)); + + assert_eq!(second_contender.vote_tally(), Some(1)); + + assert_eq!(abstaining, Some(4)); + + assert_eq!(locking, Some(0)); + } + + // At this point the document should have been awarded to contender 4. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name2.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_matches!(finished_vote_info, Some(_)); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(5)); + + assert_eq!(second_contender.vote_tally(), Some(6)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(6)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + name2.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_matches!(finished_vote_info, Some(_)); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(5)); + + assert_eq!(second_contender.vote_tally(), Some(6)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(6)); + } + + // At this point the document should have been awarded to contender 6. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + name3.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_matches!(finished_vote_info, Some(_)); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_5.id()); + + assert_eq!(second_contender.identity_id(), contender_6.id()); + + assert_eq!(first_contender.vote_tally(), Some(5)); + + assert_eq!(second_contender.vote_tally(), Some(6)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(6)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + name3.as_str(), + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_matches!(finished_vote_info, Some(_)); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_5.id()); + + assert_eq!(second_contender.identity_id(), contender_6.id()); + + assert_eq!(first_contender.vote_tally(), Some(5)); + + assert_eq!(second_contender.vote_tally(), Some(6)); + + assert_eq!(abstaining, Some(2)); + + assert_eq!(locking, Some(6)); + } + } + } + + #[test] + fn test_document_distribution_abstain_very_high() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 60), + (ResourceVoteChoice::Lock, 3), + ], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(60)); + + assert_eq!(locking, Some(3)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(60)); + + assert_eq!(locking, Some(3)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(60)); + + assert_eq!(locking, Some(3)); + } + } + + #[test] + fn test_document_distribution_low_votes() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 1), + (TowardsIdentity(contender_2.id()), 1), + (ResourceVoteChoice::Abstain, 1), + (ResourceVoteChoice::Lock, 1), + ], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(1)); + + assert_eq!(second_contender.vote_tally(), Some(1)); + + assert_eq!(abstaining, Some(1)); assert_eq!(locking, Some(1)); @@ -6256,6 +7531,2111 @@ mod tests { platform .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(1)); + + assert_eq!(second_contender.vote_tally(), Some(1)); + + assert_eq!(abstaining, Some(1)); + + assert_eq!(locking, Some(1)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(1)); + + assert_eq!(second_contender.vote_tally(), Some(1)); + + assert_eq!(abstaining, Some(1)); + + assert_eq!(locking, Some(1)); + } + } + + #[test] + fn test_document_distribution_single_vote() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![(TowardsIdentity(contender_1.id()), 1)], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(1)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(1)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(1)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + } + } + + #[test] + fn test_document_distribution_no_votes() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(0)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + false, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(0)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(0)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + } + } + + #[test] + fn test_document_locking() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 20), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 60), + ], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(20)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(60)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: finished_vote_info::FinishedVoteOutcome::Locked + as i32, + won_by_identity_id: None, + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(20)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(60)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some((ContestedDocumentVotePollWinnerInfo::Locked, block_info)) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(20)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(60)); + } + } + + #[test] + fn test_new_vote_after_document_distribution() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + // now let's try to do another vote + + let (pro_tx_hash, _masternode, signer, voting_key) = + setup_masternode_voting_identity(&mut platform, 5000, platform_version); + + let platform_state = platform.state.load(); + + perform_vote( + &mut platform, + &platform_state, + dpns_contract.as_ref(), + TowardsIdentity(contender_1.id()), + "quantum", + &signer, + pro_tx_hash, + &voting_key, + 2, + Some("VotePoll ContestedDocumentResourceVotePoll(ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }) not available for voting: Awarded(BjNejy4r9QAvLHpQ9Yq6yRMgNymeGZ46d48fJxJbMrfW)"), + platform_version, + ); + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + } + + #[test] + fn test_new_vote_after_lock() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 2), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 50), + ], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(2)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(50)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + // now let's try to do another vote + + let (pro_tx_hash, _masternode, signer, voting_key) = + setup_masternode_voting_identity(&mut platform, 5000, platform_version); + + let platform_state = platform.state.load(); + + perform_vote( + &mut platform, + &platform_state, + dpns_contract.as_ref(), + TowardsIdentity(contender_1.id()), + "quantum", + &signer, + pro_tx_hash, + &voting_key, + 2, + Some("VotePoll ContestedDocumentResourceVotePoll(ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }) not available for voting: Locked"), + platform_version, + ); + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: finished_vote_info::FinishedVoteOutcome::Locked + as i32, + won_by_identity_id: None, + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(2)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(50)); + } + } + + #[test] + fn test_queries_after_document_distribution() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + // Let's check that the contest is still seen (even though it's closed) + + let domain = dpns_contract + .document_type_for_name("domain") + .expect("expected a profile document type"); + + let index_name = "parentNameAndLabel".to_string(); + + let config = bincode::config::standard() + .with_big_endian() + .with_no_limit(); + + let dash_encoded = bincode::encode_to_vec(Value::Text("dash".to_string()), config) + .expect("expected to encode value"); + + let query_validation_result = platform + .query_contested_resources( + GetContestedResourcesRequest { + version: Some(get_contested_resources_request::Version::V0( + GetContestedResourcesRequestV0 { + contract_id: dpns_contract.id().to_vec(), + document_type_name: domain.name().clone(), + index_name: index_name.clone(), + start_index_values: vec![dash_encoded], + end_index_values: vec![], + start_at_value_info: None, + count: None, + order_ascending: true, + prove: true, + }, + )), + }, + &platform_state, + platform_version, + ) + .expect("expected to execute query") + .into_data() + .expect("expected query to be valid"); + + let get_contested_resources_response::Version::V0( + GetContestedResourcesResponseV0 { + metadata: _, + result, + }, + ) = query_validation_result.version.expect("expected a version"); + + let Some(get_contested_resources_response_v0::Result::Proof(proof)) = result else { + panic!("expected proof") + }; + + let resolved_contested_document_vote_poll_drive_query = + ResolvedVotePollsByDocumentTypeQuery { + contract: DataContractResolvedInfo::BorrowedDataContract( + dpns_contract.as_ref(), + ), + document_type_name: domain.name(), + index_name: &index_name, + start_index_values: &vec!["dash".into()], + end_index_values: &vec![], + limit: None, + order_ascending: true, + start_at_value: &None, + }; + + let (_, contests) = resolved_contested_document_vote_poll_drive_query + .verify_contests_proof(proof.grovedb_proof.as_ref(), platform_version) + .expect("expected to verify proof"); + + assert_eq!(contests.len(), 1); + + { + let (contenders, abstaining, locking, finished_info) = get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + + { + let (contenders, abstaining, locking, finished_info) = get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::Documents, + platform_version, + ); + + assert_eq!(finished_info, None); + + assert_eq!(contenders.len(), 0); + + assert_eq!(abstaining, None); + + assert_eq!(locking, None); + } + + { + let (contenders, abstaining, locking, finished_info) = get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::VoteTally, + platform_version, + ); + + assert_eq!( + finished_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + } + + #[test] + fn test_document_distribution_to_contract() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_contract_name_contest( + &mut platform, + &platform_state, + 600, + "cards", + platform_version, + ); + + perform_votes_multi( + &mut platform, + &dpns_contract, + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "cards", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "cards", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), second_contender.document()); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "cards", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: 1209900000, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "cards", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + } + + #[test] + fn test_document_distribution_does_not_affect_other_contests() { + let platform_version = PlatformVersion::latest(); + let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "quantum", + 10, + None, + platform_version, + ); + + let max_join_time = platform_version + .dpp + .validation + .voting + .allow_other_contenders_time_testing_ms; + + let platform_state = platform.state.load(); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: max_join_time + 100, // Less than 2 weeks + height: 5000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let (contender_3, contender_4, _) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 9, + "alpha", + platform_version, + ); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let mut platform_state = (**platform_state).clone(); + + let time_after_distribution = platform_version + .dpp + .voting_versions + .default_vote_poll_time_duration_test_network_ms + + 10_000; + + let block_info = BlockInfo { + time_ms: time_after_distribution, + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + // At this point the quantum document should have been awarded to contender 1. + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(FinishedVoteInfo { + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), + finished_at_block_height: 10000, + finished_at_core_block_height: 42, + finished_at_block_time_ms: time_after_distribution, + finished_at_epoch: 0 + }) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); + + assert_eq!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_1.id()); + + assert_eq!(second_contender.identity_id(), contender_2.id()); + + assert_eq!(first_contender.vote_tally(), Some(50)); + + assert_eq!(second_contender.vote_tally(), Some(5)); + + assert_eq!(abstaining, Some(10)); + + assert_eq!(locking, Some(3)); + } + + // At this point the alpha document should not have been awarded + + { + let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "alpha", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), &None); + + assert_ne!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(0)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + } + + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "alpha", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_ne!(first_contender.document(), &None); + + assert_ne!(second_contender.document(), &None); + + assert_eq!(first_contender.identity_id(), contender_3.id()); + + assert_eq!(second_contender.identity_id(), contender_4.id()); + + assert_eq!(first_contender.vote_tally(), Some(0)); + + assert_eq!(second_contender.vote_tally(), Some(0)); + + assert_eq!(abstaining, Some(0)); + + assert_eq!(locking, Some(0)); + } + } + + #[test] + fn test_document_distribution_fix_for_testnet_no_votes_v1() { + // There was an issue that we need to repair on testnet. + // Documents will have been deleted + // Let's verify that the fix works as intended + let platform_version = PlatformVersion::first(); + + let platform_config = PlatformConfig::default_for_network(Network::Testnet); + + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) + .build_with_mock_rpc() + .set_genesis_state(); + + let platform_state = platform.state.load(); + + let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 7, + "quantum", + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_1.id()), 50), + (TowardsIdentity(contender_2.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "quantum", + 10, + None, + platform_version, + ); + + let platform_state = platform.state.load(); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_000_000_000, // Less than 2 weeks + height: 5000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let (_contender_3, _contender_4, _) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 9, + "alpha", + platform_version, + ); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); + + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let mut platform_state = (**platform_state).clone(); + + let block_info = BlockInfo { + time_ms: 1_209_900_000, //2 weeks and 300s + height: 10000, + core_height: 42, + epoch: Default::default(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state)); + + let platform_state = platform.state.load(); + + let transaction = platform.drive.grove.start_transaction(); + + platform + .check_for_ended_vote_polls( + &platform_state, &platform_state, &block_info, Some(&transaction), @@ -6270,7 +9650,7 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - // At this point the document should have been awarded to contender 1. + // At this point the quantum document should have been awarded to contender 1. { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( @@ -6312,13 +9692,13 @@ mod tests { assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(1)); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(second_contender.vote_tally(), Some(1)); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(1)); + assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(1)); + assert_eq!(locking, Some(3)); } { @@ -6357,90 +9737,76 @@ mod tests { assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(1)); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(second_contender.vote_tally(), Some(1)); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(1)); + assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(1)); + assert_eq!(locking, Some(3)); } - } - - #[test] - fn test_document_distribution_single_vote() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); - - let platform_state = platform.state.load(); - - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); - - perform_votes_multi( - &mut platform, - dpns_contract.as_ref(), - vec![(TowardsIdentity(contender_1.id()), 1)], - "quantum", - 10, - platform_version, - ); - - let platform_state = platform.state.load(); - - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "quantum", - None, - true, - None, - ResultType::DocumentsAndVoteTally, - platform_version, - ); - - assert_eq!(finished_vote_info, None); - - assert_eq!(contenders.len(), 2); - - let first_contender = contenders.first().unwrap(); - let second_contender = contenders.last().unwrap(); + // At this point the alpha document should not have been awarded - assert_ne!(first_contender.document(), second_contender.document()); + { + let config = bincode::config::standard() + .with_big_endian() + .with_no_limit(); - assert_eq!(first_contender.identity_id(), contender_1.id()); + let dash_encoded = + bincode::encode_to_vec(Value::Text("dash".to_string()), config) + .expect("expected to encode the word dash"); - assert_eq!(second_contender.identity_id(), contender_2.id()); + let alpha_encoded = bincode::encode_to_vec( + Value::Text(convert_to_homograph_safe_chars("alpha")), + config, + ) + .expect("expected to encode the word quantum"); - assert_eq!(first_contender.vote_tally(), Some(1)); + let index_name = "parentNameAndLabel".to_string(); - assert_eq!(second_contender.vote_tally(), Some(0)); + let query_validation_result = platform.query_contested_resource_vote_state( + GetContestedResourceVoteStateRequest { + version: Some(get_contested_resource_vote_state_request::Version::V0( + GetContestedResourceVoteStateRequestV0 { + contract_id: dpns_contract.id().to_vec(), + document_type_name: "domain".to_string(), + index_name: index_name.clone(), + index_values: vec![dash_encoded.clone(), alpha_encoded.clone()], + result_type: ResultType::DocumentsAndVoteTally as i32, + allow_include_locked_and_abstaining_vote_tally: true, + start_at_identifier_info: None, + count: None, + prove: false, + }, + )), + }, + &platform_state, + platform_version, + ); - assert_eq!(abstaining, Some(0)); + assert_matches!( + query_validation_result, + Err(Error::Drive(drive::error::Error::GroveDB( + drive::grovedb::Error::CorruptedReferencePathKeyNotFound(_) + ))) + ) + } - assert_eq!(locking, Some(0)); + // Now that we know the error exists, let's make sure it is fixed when going to v2 let mut platform_state = (**platform_state).clone(); - let block_info = BlockInfo { - time_ms: 1_209_900_000, //2 weeks and 300s - height: 10000, + let block_info_later = BlockInfo { + time_ms: 1_409_900_000, //a bit later + height: 10050, core_height: 42, epoch: Default::default(), }; platform_state.set_last_committed_block_info(Some( ExtendedBlockInfoV0 { - basic_info: block_info, + basic_info: block_info_later, app_hash: platform .drive .grove @@ -6460,14 +9826,19 @@ mod tests { let platform_state = platform.state.load(); + let mut block_platform_state = (**platform_state).clone(); + + block_platform_state.set_current_protocol_version_in_consensus(2); + let transaction = platform.drive.grove.start_transaction(); platform .check_for_ended_vote_polls( &platform_state, + &block_platform_state, &block_info, Some(&transaction), - platform_version, + PlatformVersion::get(2).unwrap(), ) .expect("expected to check for ended vote polls"); @@ -6478,7 +9849,7 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - // At this point the document should have been awarded to contender 1. + // The quantum document should still be awarded to contender 1. { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( @@ -6520,13 +9891,13 @@ mod tests { assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(1)); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(second_contender.vote_tally(), Some(0)); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(0)); + assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(0)); + assert_eq!(locking, Some(3)); } { @@ -6565,119 +9936,57 @@ mod tests { assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(1)); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(second_contender.vote_tally(), Some(0)); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(0)); + assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(0)); + assert_eq!(locking, Some(3)); } - } - - #[test] - fn test_document_distribution_no_votes() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); - - let platform_state = platform.state.load(); - - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); - - let platform_state = platform.state.load(); - - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "quantum", - None, - true, - None, - ResultType::DocumentsAndVoteTally, - platform_version, - ); - - assert_eq!(finished_vote_info, None); - - assert_eq!(contenders.len(), 2); - - let first_contender = contenders.first().unwrap(); - - let second_contender = contenders.last().unwrap(); - - assert_ne!(first_contender.document(), second_contender.document()); - assert_eq!(first_contender.identity_id(), contender_1.id()); - - assert_eq!(second_contender.identity_id(), contender_2.id()); - - assert_eq!(first_contender.vote_tally(), Some(0)); - - assert_eq!(second_contender.vote_tally(), Some(0)); - - assert_eq!(abstaining, Some(0)); - - assert_eq!(locking, Some(0)); - - let mut platform_state = (**platform_state).clone(); + // The alpha document should not exist at all - let block_info = BlockInfo { - time_ms: 1_209_900_000, //2 weeks and 300s - height: 10000, - core_height: 42, - epoch: Default::default(), - }; + { + let (contenders, _abstaining, _locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "alpha", + None, + false, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); - platform_state.set_last_committed_block_info(Some( - ExtendedBlockInfoV0 { - basic_info: block_info, - app_hash: platform - .drive - .grove - .root_hash(None, &platform_version.drive.grove_version) - .unwrap() - .unwrap(), - quorum_hash: [0u8; 32], - block_id_hash: [0u8; 32], - proposer_pro_tx_hash: [0u8; 32], - signature: [0u8; 96], - round: 0, - } - .into(), - )); + assert_eq!(finished_vote_info, None); - platform.state.store(Arc::new(platform_state)); + assert_eq!(contenders.len(), 0); + } - let platform_state = platform.state.load(); + { + let (contenders, _abstaining, _locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "alpha", + None, + false, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); - let transaction = platform.drive.grove.start_transaction(); + assert_eq!(finished_vote_info, None); - platform - .check_for_ended_vote_polls( - &platform_state, - &block_info, - Some(&transaction), - platform_version, - ) - .expect("expected to check for ended vote polls"); + assert_eq!(contenders.len(), 0); + } - platform - .drive - .grove - .commit_transaction(transaction) - .unwrap() - .expect("expected to commit transaction"); + // At this point everything should be "clean" except previously awarded contests, let's make sure they still are good - // At this point the document should have been awarded to contender 1. + // The quantum document should still be awarded to contender 1. { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( @@ -6686,7 +9995,7 @@ mod tests { &dpns_contract, "quantum", None, - false, + true, None, ResultType::DocumentsAndVoteTally, platform_version, @@ -6719,13 +10028,13 @@ mod tests { assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(0)); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(second_contender.vote_tally(), Some(0)); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(0)); + assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(0)); + assert_eq!(locking, Some(3)); } { @@ -6764,88 +10073,49 @@ mod tests { assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(0)); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(second_contender.vote_tally(), Some(0)); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(abstaining, Some(0)); + assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(0)); + assert_eq!(locking, Some(3)); } - } - - #[test] - fn test_document_locking() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); - let platform_state = platform.state.load(); + // We keep seed 9 to use on the same identities - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); + let (contender_3, contender_4, _) = + create_dpns_identity_name_contest_skip_creating_identities( + &mut platform, + &platform_state, + 9, + "alpha", + Some(2), // We need a nonce offset + platform_version, + ); perform_votes_multi( &mut platform, dpns_contract.as_ref(), vec![ - (TowardsIdentity(contender_1.id()), 20), - (TowardsIdentity(contender_2.id()), 5), + (TowardsIdentity(contender_3.id()), 50), + (TowardsIdentity(contender_4.id()), 5), (ResourceVoteChoice::Abstain, 10), - (ResourceVoteChoice::Lock, 60), + (ResourceVoteChoice::Lock, 3), ], - "quantum", - 10, + "alpha", + 658, + Some(1), platform_version, ); let platform_state = platform.state.load(); - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "quantum", - None, - true, - None, - ResultType::DocumentsAndVoteTally, - platform_version, - ); - - assert_eq!(finished_vote_info, None); - - assert_eq!(contenders.len(), 2); - - let first_contender = contenders.first().unwrap(); - - let second_contender = contenders.last().unwrap(); - - assert_ne!(first_contender.document(), second_contender.document()); - - assert_eq!(first_contender.identity_id(), contender_1.id()); - - assert_eq!(second_contender.identity_id(), contender_2.id()); - - assert_eq!(first_contender.vote_tally(), Some(20)); - - assert_eq!(second_contender.vote_tally(), Some(5)); - - assert_eq!(abstaining, Some(10)); - - assert_eq!(locking, Some(60)); - let mut platform_state = (**platform_state).clone(); let block_info = BlockInfo { - time_ms: 1_209_900_000, //2 weeks and 300s - height: 10000, + time_ms: 3_000_000_000, // more than 2 weeks more + height: 5100, core_height: 42, epoch: Default::default(), }; @@ -6876,6 +10146,7 @@ mod tests { platform .check_for_ended_vote_polls( + &platform_state, &platform_state, &block_info, Some(&transaction), @@ -6890,13 +10161,14 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - // At this point the document should have been awarded to contender 1. + // At this point the alpha document should have been awarded to contender 1. + { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( &platform, &platform_state, &dpns_contract, - "quantum", + "alpha", None, true, None, @@ -6907,12 +10179,12 @@ mod tests { assert_eq!( finished_vote_info, Some(FinishedVoteInfo { - finished_vote_outcome: finished_vote_info::FinishedVoteOutcome::Locked - as i32, - won_by_identity_id: None, - finished_at_block_height: 10000, + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_3.id().to_vec()), + finished_at_block_height: 5100, finished_at_core_block_height: 42, - finished_at_block_time_ms: 1209900000, + finished_at_block_time_ms: 3_000_000_000, finished_at_epoch: 0 }) ); @@ -6927,17 +10199,17 @@ mod tests { assert_eq!(second_contender.document(), &None); - assert_eq!(first_contender.identity_id(), contender_1.id()); + assert_eq!(first_contender.identity_id(), contender_3.id()); - assert_eq!(second_contender.identity_id(), contender_2.id()); + assert_eq!(second_contender.identity_id(), contender_4.id()); - assert_eq!(first_contender.vote_tally(), Some(20)); + assert_eq!(first_contender.vote_tally(), Some(50)); assert_eq!(second_contender.vote_tally(), Some(5)); assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(60)); + assert_eq!(locking, Some(3)); } { @@ -6946,7 +10218,7 @@ mod tests { &platform, &platform_state, &dpns_contract, - "quantum", + "alpha", None, true, None, @@ -6956,7 +10228,10 @@ mod tests { assert_eq!( finished_vote_info, - Some((ContestedDocumentVotePollWinnerInfo::Locked, block_info)) + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_3.id()), + block_info + )) ); assert_eq!(contenders.len(), 2); @@ -6969,24 +10244,32 @@ mod tests { assert_eq!(second_contender.document(), &None); - assert_eq!(first_contender.identity_id(), contender_1.id()); + assert_eq!(first_contender.identity_id(), contender_3.id()); - assert_eq!(second_contender.identity_id(), contender_2.id()); + assert_eq!(second_contender.identity_id(), contender_4.id()); - assert_eq!(first_contender.vote_tally(), Some(20)); + assert_eq!(first_contender.vote_tally(), Some(50)); assert_eq!(second_contender.vote_tally(), Some(5)); assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(60)); + assert_eq!(locking, Some(3)); } } #[test] - fn test_new_vote_after_document_distribution() { - let platform_version = PlatformVersion::latest(); + fn test_document_distribution_fix_for_testnet_with_votes_v1() { + // There was an issue that we need to repair on testnet. + // Documents will have been deleted + // Let's verify that the fix works as intended + let platform_version = PlatformVersion::first(); + + let platform_config = PlatformConfig::default_for_network(Network::Testnet); + let mut platform = TestPlatformBuilder::new() + .with_config(platform_config) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc() .set_genesis_state(); @@ -7011,47 +10294,90 @@ mod tests { ], "quantum", 10, - platform_version, - ); - - let platform_state = platform.state.load(); - - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "quantum", - None, - true, None, - ResultType::DocumentsAndVoteTally, platform_version, ); - assert_eq!(finished_vote_info, None); + let platform_state = platform.state.load(); - assert_eq!(contenders.len(), 2); + // Jump to the future on block 5000 to reproduce testnet issue + let mut platform_state = (**platform_state).clone(); - let first_contender = contenders.first().unwrap(); + let block_info = BlockInfo { + time_ms: 1_000_000_000, // Less than 2 weeks + height: 5000, + core_height: 42, + epoch: Default::default(), + }; - let second_contender = contenders.last().unwrap(); + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); - assert_ne!(first_contender.document(), second_contender.document()); + platform.state.store(Arc::new(platform_state)); - assert_eq!(first_contender.identity_id(), contender_1.id()); + // Create the second alpha contest + let platform_state = platform.state.load(); - assert_eq!(second_contender.identity_id(), contender_2.id()); + let (contender_3, contender_4, _) = create_dpns_identity_name_contest( + &mut platform, + &platform_state, + 9, + "alpha", + platform_version, + ); - assert_eq!(first_contender.vote_tally(), Some(50)); + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_3.id()), 10), + (TowardsIdentity(contender_4.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "alpha", + 540500, + None, + platform_version, + ); - assert_eq!(second_contender.vote_tally(), Some(5)); + let transaction = platform.drive.grove.start_transaction(); - assert_eq!(abstaining, Some(10)); + platform + .check_for_ended_vote_polls( + &platform_state, + &platform_state, + &block_info, + Some(&transaction), + platform_version, + ) + .expect("expected to check for ended vote polls"); - assert_eq!(locking, Some(3)); + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); let mut platform_state = (**platform_state).clone(); + // We jump to the future to make sure the first (quantum) contest is finished let block_info = BlockInfo { time_ms: 1_209_900_000, //2 weeks and 300s height: 10000, @@ -7085,6 +10411,7 @@ mod tests { platform .check_for_ended_vote_polls( + &platform_state, &platform_state, &block_info, Some(&transaction), @@ -7099,28 +10426,7 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - // At this point the document should have been awarded to contender 1. - - // now let's try to do another vote - - let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 5000, platform_version); - - let platform_state = platform.state.load(); - - perform_vote( - &mut platform, - &platform_state, - dpns_contract.as_ref(), - TowardsIdentity(contender_1.id()), - "quantum", - &signer, - pro_tx_hash, - &voting_key, - 2, - Some("VotePoll ContestedDocumentResourceVotePoll(ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }) not available for voting: Awarded(BjNejy4r9QAvLHpQ9Yq6yRMgNymeGZ46d48fJxJbMrfW)"), - platform_version, - ); + // At this point the quantum document should have been awarded to contender 1. { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( @@ -7170,87 +10476,118 @@ mod tests { assert_eq!(locking, Some(3)); } - } - #[test] - fn test_new_vote_after_lock() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); - let platform_state = platform.state.load(); + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); - let (contender_1, contender_2, dpns_contract) = create_dpns_identity_name_contest( - &mut platform, - &platform_state, - 7, - "quantum", - platform_version, - ); + assert_eq!(contenders.len(), 2); + + let first_contender = contenders.first().unwrap(); + + let second_contender = contenders.last().unwrap(); + + assert_eq!(first_contender.document(), &None); - perform_votes_multi( - &mut platform, - dpns_contract.as_ref(), - vec![ - (TowardsIdentity(contender_1.id()), 2), - (TowardsIdentity(contender_2.id()), 5), - (ResourceVoteChoice::Abstain, 10), - (ResourceVoteChoice::Lock, 50), - ], - "quantum", - 10, - platform_version, - ); + assert_eq!(second_contender.document(), &None); - let platform_state = platform.state.load(); + assert_eq!(first_contender.identity_id(), contender_1.id()); - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "quantum", - None, - true, - None, - ResultType::DocumentsAndVoteTally, - platform_version, - ); + assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(finished_vote_info, None); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_eq!(contenders.len(), 2); + assert_eq!(second_contender.vote_tally(), Some(5)); - let first_contender = contenders.first().unwrap(); + assert_eq!(abstaining, Some(10)); - let second_contender = contenders.last().unwrap(); + assert_eq!(locking, Some(3)); + } - assert_ne!(first_contender.document(), second_contender.document()); + // At this point the alpha document should not have been awarded - assert_eq!(first_contender.identity_id(), contender_1.id()); + // Prove that we have a corrupted reference due to deletion of all documents + // of the same document type on the first (quantum) contest completion - assert_eq!(second_contender.identity_id(), contender_2.id()); + { + let config = bincode::config::standard() + .with_big_endian() + .with_no_limit(); - assert_eq!(first_contender.vote_tally(), Some(2)); + let dash_encoded = + bincode::encode_to_vec(Value::Text("dash".to_string()), config) + .expect("expected to encode the word dash"); - assert_eq!(second_contender.vote_tally(), Some(5)); + let alpha_encoded = bincode::encode_to_vec( + Value::Text(convert_to_homograph_safe_chars("alpha")), + config, + ) + .expect("expected to encode the word quantum"); - assert_eq!(abstaining, Some(10)); + let index_name = "parentNameAndLabel".to_string(); - assert_eq!(locking, Some(50)); + let query_validation_result = platform.query_contested_resource_vote_state( + GetContestedResourceVoteStateRequest { + version: Some(get_contested_resource_vote_state_request::Version::V0( + GetContestedResourceVoteStateRequestV0 { + contract_id: dpns_contract.id().to_vec(), + document_type_name: "domain".to_string(), + index_name: index_name.clone(), + index_values: vec![dash_encoded.clone(), alpha_encoded.clone()], + result_type: ResultType::DocumentsAndVoteTally as i32, + allow_include_locked_and_abstaining_vote_tally: true, + start_at_identifier_info: None, + count: None, + prove: false, + }, + )), + }, + &platform_state, + platform_version, + ); + + assert_matches!( + query_validation_result, + Err(Error::Drive(drive::error::Error::GroveDB( + drive::grovedb::Error::CorruptedReferencePathKeyNotFound(_) + ))) + ) + } + + // Now that we know the error exists, let's make sure it is fixed when going to v2 let mut platform_state = (**platform_state).clone(); - let block_info = BlockInfo { - time_ms: 1_209_900_000, //2 weeks and 300s - height: 10000, + // Jump to v2 + + let block_info_later = BlockInfo { + time_ms: 1_409_900_000, //a bit later + height: 10050, core_height: 42, epoch: Default::default(), }; platform_state.set_last_committed_block_info(Some( ExtendedBlockInfoV0 { - basic_info: block_info, + basic_info: block_info_later, app_hash: platform .drive .grove @@ -7270,14 +10607,19 @@ mod tests { let platform_state = platform.state.load(); + let mut block_platform_state = (**platform_state).clone(); + + block_platform_state.set_current_protocol_version_in_consensus(2); + let transaction = platform.drive.grove.start_transaction(); platform .check_for_ended_vote_polls( &platform_state, + &block_platform_state, &block_info, Some(&transaction), - platform_version, + PlatformVersion::get(2).unwrap(), ) .expect("expected to check for ended vote polls"); @@ -7288,28 +10630,7 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - // At this point the document should have been awarded to contender 1. - - // now let's try to do another vote - - let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 5000, platform_version); - - let platform_state = platform.state.load(); - - perform_vote( - &mut platform, - &platform_state, - dpns_contract.as_ref(), - TowardsIdentity(contender_1.id()), - "quantum", - &signer, - pro_tx_hash, - &voting_key, - 2, - Some("VotePoll ContestedDocumentResourceVotePoll(ContestedDocumentResourceVotePoll { contract_id: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec, document_type_name: domain, index_name: parentNameAndLabel, index_values: [string dash, string quantum] }) not available for voting: Locked"), - platform_version, - ); + // The quantum document should still be awarded to contender 1. { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( @@ -7327,9 +10648,9 @@ mod tests { assert_eq!( finished_vote_info, Some(FinishedVoteInfo { - finished_vote_outcome: finished_vote_info::FinishedVoteOutcome::Locked - as i32, - won_by_identity_id: None, + finished_vote_outcome: + finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, + won_by_identity_id: Some(contender_1.id().to_vec()), finished_at_block_height: 10000, finished_at_core_block_height: 42, finished_at_block_time_ms: 1209900000, @@ -7351,88 +10672,140 @@ mod tests { assert_eq!(second_contender.identity_id(), contender_2.id()); - assert_eq!(first_contender.vote_tally(), Some(2)); + assert_eq!(first_contender.vote_tally(), Some(50)); assert_eq!(second_contender.vote_tally(), Some(5)); assert_eq!(abstaining, Some(10)); - assert_eq!(locking, Some(50)); + assert_eq!(locking, Some(3)); } - } - #[test] - fn test_document_distribution_to_contract() { - let platform_version = PlatformVersion::latest(); - let mut platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_genesis_state(); + { + let (contenders, abstaining, locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "quantum", + None, + true, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); - let platform_state = platform.state.load(); + assert_eq!( + finished_vote_info, + Some(( + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + block_info + )) + ); - let (contender_1, contender_2, dpns_contract) = create_dpns_contract_name_contest( - &mut platform, - &platform_state, - 600, - "cards", - platform_version, - ); + assert_eq!(contenders.len(), 2); - perform_votes_multi( - &mut platform, - &dpns_contract, - vec![ - (TowardsIdentity(contender_1.id()), 50), - (TowardsIdentity(contender_2.id()), 5), - (ResourceVoteChoice::Abstain, 10), - (ResourceVoteChoice::Lock, 3), - ], - "cards", - 10, - platform_version, - ); + let first_contender = contenders.first().unwrap(); - let platform_state = platform.state.load(); + let second_contender = contenders.last().unwrap(); - let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( - &platform, - &platform_state, - &dpns_contract, - "cards", - None, - true, - None, - ResultType::DocumentsAndVoteTally, - platform_version, - ); + assert_eq!(first_contender.document(), &None); - assert_eq!(finished_vote_info, None); + assert_eq!(second_contender.document(), &None); - assert_eq!(contenders.len(), 2); + assert_eq!(first_contender.identity_id(), contender_1.id()); - let first_contender = contenders.first().unwrap(); + assert_eq!(second_contender.identity_id(), contender_2.id()); - let second_contender = contenders.last().unwrap(); + assert_eq!(first_contender.vote_tally(), Some(50)); - assert_ne!(first_contender.document(), second_contender.document()); + assert_eq!(second_contender.vote_tally(), Some(5)); - assert_eq!(first_contender.identity_id(), contender_1.id()); + assert_eq!(abstaining, Some(10)); - assert_eq!(second_contender.identity_id(), contender_2.id()); + assert_eq!(locking, Some(3)); + } - assert_eq!(first_contender.vote_tally(), Some(50)); + // The alpha document should not exist at all - assert_eq!(second_contender.vote_tally(), Some(5)); + { + let (contenders, _abstaining, _locking, finished_vote_info) = get_vote_states( + &platform, + &platform_state, + &dpns_contract, + "alpha", + None, + false, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); - assert_eq!(abstaining, Some(10)); + assert_eq!(finished_vote_info, None); - assert_eq!(locking, Some(3)); + assert_eq!(contenders.len(), 0); + } + + { + let (contenders, _abstaining, _locking, finished_vote_info) = + get_proved_vote_states( + &platform, + &platform_state, + &dpns_contract, + "alpha", + None, + false, + None, + ResultType::DocumentsAndVoteTally, + platform_version, + ); + + assert_eq!(finished_vote_info, None); + + assert_eq!(contenders.len(), 0); + } + + // At this point everything should be "clean" except previously awarded contests, let's make sure they still are good + + // We want to create the same contest to make sure that there are no + // leftovers and now logic works correctly + + // We keep seed 9 to use on the same identities + + let (contender_3, contender_4, _) = + create_dpns_identity_name_contest_skip_creating_identities( + &mut platform, + &platform_state, + 9, + "alpha", + Some(2), // We need a nonce offset + platform_version, + ); + + perform_votes_multi( + &mut platform, + dpns_contract.as_ref(), + vec![ + (TowardsIdentity(contender_3.id()), 50), + (TowardsIdentity(contender_4.id()), 5), + (ResourceVoteChoice::Abstain, 10), + (ResourceVoteChoice::Lock, 3), + ], + "alpha", + 658, + Some(1), + platform_version, + ); + + let platform_state = platform.state.load(); let mut platform_state = (**platform_state).clone(); + // Jump to the future to make sure the new alpha contest is finished + let block_info = BlockInfo { - time_ms: 1_209_900_000, //2 weeks and 300s - height: 10000, + time_ms: 3_000_000_000, // more than 2 weeks more + height: 5100, core_height: 42, epoch: Default::default(), }; @@ -7463,6 +10836,7 @@ mod tests { platform .check_for_ended_vote_polls( + &platform_state, &platform_state, &block_info, Some(&transaction), @@ -7477,14 +10851,14 @@ mod tests { .unwrap() .expect("expected to commit transaction"); - // At this point the document should have been awarded to contender 1. + // At this point the alpha document should have been awarded to contender 1. { let (contenders, abstaining, locking, finished_vote_info) = get_vote_states( &platform, &platform_state, &dpns_contract, - "cards", + "alpha", None, true, None, @@ -7497,10 +10871,10 @@ mod tests { Some(FinishedVoteInfo { finished_vote_outcome: finished_vote_info::FinishedVoteOutcome::TowardsIdentity as i32, - won_by_identity_id: Some(contender_1.id().to_vec()), - finished_at_block_height: 10000, + won_by_identity_id: Some(contender_3.id().to_vec()), + finished_at_block_height: 5100, finished_at_core_block_height: 42, - finished_at_block_time_ms: 1209900000, + finished_at_block_time_ms: 3_000_000_000, finished_at_epoch: 0 }) ); @@ -7515,9 +10889,9 @@ mod tests { assert_eq!(second_contender.document(), &None); - assert_eq!(first_contender.identity_id(), contender_1.id()); + assert_eq!(first_contender.identity_id(), contender_3.id()); - assert_eq!(second_contender.identity_id(), contender_2.id()); + assert_eq!(second_contender.identity_id(), contender_4.id()); assert_eq!(first_contender.vote_tally(), Some(50)); @@ -7534,7 +10908,7 @@ mod tests { &platform, &platform_state, &dpns_contract, - "cards", + "alpha", None, true, None, @@ -7545,7 +10919,7 @@ mod tests { assert_eq!( finished_vote_info, Some(( - ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_1.id()), + ContestedDocumentVotePollWinnerInfo::WonByIdentity(contender_3.id()), block_info )) ); @@ -7560,9 +10934,9 @@ mod tests { assert_eq!(second_contender.document(), &None); - assert_eq!(first_contender.identity_id(), contender_1.id()); + assert_eq!(first_contender.identity_id(), contender_3.id()); - assert_eq!(second_contender.identity_id(), contender_2.id()); + assert_eq!(second_contender.identity_id(), contender_4.id()); assert_eq!(first_contender.vote_tally(), Some(50)); @@ -7581,6 +10955,7 @@ mod tests { fn test_masternode_vote_again_same_vote_should_return_error() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -7595,7 +10970,7 @@ mod tests { ); let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10, platform_version); + setup_masternode_voting_identity(&mut platform, 10, platform_version); let platform_state = platform.state.load(); @@ -7632,6 +11007,7 @@ mod tests { fn test_masternode_vote_again_different_choice() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -7646,7 +11022,7 @@ mod tests { ); let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10, platform_version); + setup_masternode_voting_identity(&mut platform, 10, platform_version); let platform_state = platform.state.load(); @@ -7713,6 +11089,7 @@ mod tests { fn test_masternode_vote_again_different_choice_too_many_times() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -7727,7 +11104,7 @@ mod tests { ); let (pro_tx_hash, _masternode, signer, voting_key) = - setup_masternode_identity(&mut platform, 10, platform_version); + setup_masternode_voting_identity(&mut platform, 10, platform_version); let platform_state = platform.state.load(); @@ -7824,6 +11201,7 @@ mod tests { fn test_masternode_vote_removals() { let platform_version = PlatformVersion::latest(); let mut platform = TestPlatformBuilder::new() + .with_latest_protocol_version() .build_with_mock_rpc() .set_genesis_state(); @@ -7848,6 +11226,7 @@ mod tests { ], "quantum", 10, + None, platform_version, ); @@ -7959,6 +11338,7 @@ mod tests { platform .check_for_ended_vote_polls( + &platform_state, &platform_state, &block_info, Some(&transaction), diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/mod.rs index 218035d77fe..51df74cde5c 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/mod.rs @@ -51,12 +51,12 @@ impl ValidationMode { } #[cfg(test)] -pub(crate) mod tests { +pub(in crate::execution) mod tests { use crate::rpc::core::MockCoreRPCLike; use crate::test::helpers::setup::TempPlatform; use dpp::block::block_info::BlockInfo; use dpp::fee::Credits; - use dpp::identity::{Identity, IdentityPublicKey, IdentityV0, KeyType, Purpose, SecurityLevel}; + use dpp::identity::{Identity, IdentityPublicKey, IdentityV0, KeyID, KeyType, Purpose, SecurityLevel}; use dpp::prelude::{Identifier, IdentityNonce}; use platform_version::version::PlatformVersion; use rand::prelude::StdRng; @@ -74,8 +74,6 @@ pub(crate) mod tests { use dapi_grpc::platform::v0::get_contested_resource_vote_state_request::{get_contested_resource_vote_state_request_v0, GetContestedResourceVoteStateRequestV0}; use dapi_grpc::platform::v0::get_contested_resource_vote_state_response::{get_contested_resource_vote_state_response_v0, GetContestedResourceVoteStateResponseV0}; use dapi_grpc::platform::v0::get_contested_resource_vote_state_response::get_contested_resource_vote_state_response_v0::FinishedVoteInfo; - use dpp::block::epoch::Epoch; - use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0; use dpp::dash_to_credits; use dpp::dashcore::{ProTxHash, Txid}; use dpp::dashcore::hashes::Hash; @@ -88,6 +86,7 @@ pub(crate) mod tests { use dpp::fee::fee_result::FeeResult; use dpp::identifier::MasternodeIdentifiers; use dpp::identity::accessors::IdentityGettersV0; + use dpp::identity::contract_bounds::ContractBounds; use dpp::identity::hash::IdentityPublicKeyHashMethodsV0; use dpp::platform_value::{Bytes32, Value}; use dpp::serialization::PlatformSerializable; @@ -126,7 +125,7 @@ pub(crate) mod tests { use crate::execution::types::processed_block_fees_outcome::v0::ProcessedBlockFeesOutcome; /// We add an identity, but we also add the same amount to system credits - pub(crate) fn setup_identity_with_system_credits( + pub(in crate::execution) fn setup_identity_with_system_credits( platform: &mut TempPlatform, seed: u64, credits: Credits, @@ -139,7 +138,7 @@ pub(crate) mod tests { setup_identity(platform, seed, credits) } - pub(crate) fn setup_identity( + pub(in crate::execution) fn setup_identity( platform: &mut TempPlatform, seed: u64, credits: Credits, @@ -197,7 +196,50 @@ pub(crate) mod tests { (identity, signer, critical_public_key) } - pub(crate) fn setup_identity_return_master_key( + pub(in crate::execution) fn setup_identity_without_adding_it( + seed: u64, + credits: Credits, + ) -> (Identity, SimpleSigner, IdentityPublicKey) { + let platform_version = PlatformVersion::latest(); + let mut signer = SimpleSigner::default(); + + let mut rng = StdRng::seed_from_u64(seed); + + let (master_key, master_private_key) = + IdentityPublicKey::random_ecdsa_master_authentication_key_with_rng( + 0, + &mut rng, + platform_version, + ) + .expect("expected to get key pair"); + + signer.add_key(master_key.clone(), master_private_key.clone()); + + let (critical_public_key, private_key) = + IdentityPublicKey::random_ecdsa_critical_level_authentication_key_with_rng( + 1, + &mut rng, + platform_version, + ) + .expect("expected to get key pair"); + + signer.add_key(critical_public_key.clone(), private_key.clone()); + + let identity: Identity = IdentityV0 { + id: Identifier::random_with_rng(&mut rng), + public_keys: BTreeMap::from([ + (0, master_key.clone()), + (1, critical_public_key.clone()), + ]), + balance: credits, + revision: 0, + } + .into(); + + (identity, signer, critical_public_key) + } + + pub(in crate::execution) fn setup_identity_return_master_key( platform: &mut TempPlatform, seed: u64, credits: Credits, @@ -255,9 +297,55 @@ pub(crate) mod tests { (identity, signer, master_key) } - pub(crate) fn setup_identity_with_withdrawal_key_and_system_credits( + pub(crate) fn setup_add_key_to_identity( platform: &mut TempPlatform, + identity: &mut Identity, + signer: &mut SimpleSigner, seed: u64, + key_id: KeyID, + purpose: Purpose, + security_level: SecurityLevel, + key_type: KeyType, + contract_bounds: Option, + ) -> IdentityPublicKey { + let platform_version = PlatformVersion::latest(); + + let mut rng = StdRng::seed_from_u64(seed); + + let (key, private_key) = IdentityPublicKey::random_key_with_known_attributes( + key_id, + &mut rng, + purpose, + security_level, + key_type, + contract_bounds, + platform_version, + ) + .expect("expected to get key pair"); + + signer.add_key(key.clone(), private_key.clone()); + + identity.add_public_key(key.clone()); + + platform + .drive + .add_new_unique_keys_to_identity( + identity.id().to_buffer(), + vec![key.clone()], + &BlockInfo::default(), + true, + None, + platform_version, + ) + .expect("expected to add a new key"); + + key + } + + pub(in crate::execution) fn setup_identity_with_withdrawal_key_and_system_credits( + platform: &mut TempPlatform, + seed: u64, + withdrawal_key_type: KeyType, credits: Credits, ) -> (Identity, SimpleSigner, IdentityPublicKey, IdentityPublicKey) { let platform_version = PlatformVersion::latest(); @@ -295,7 +383,7 @@ pub(crate) mod tests { &mut rng, Purpose::TRANSFER, SecurityLevel::CRITICAL, - KeyType::ECDSA_SECP256K1, + withdrawal_key_type, None, platform_version, ) @@ -335,7 +423,7 @@ pub(crate) mod tests { (identity, signer, critical_public_key, withdrawal_public_key) } - pub(crate) fn process_state_transitions( + pub(in crate::execution) fn process_state_transitions( platform: &TempPlatform, state_transitions: &[StateTransition], block_info: BlockInfo, @@ -358,6 +446,8 @@ pub(crate) mod tests { &block_info, &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -381,7 +471,6 @@ pub(crate) mod tests { app_hash: None, }), epoch_info: EpochInfo::V0(EpochInfoV0::default()), - hpmn_count: 0, unsigned_withdrawal_transactions: Default::default(), block_platform_state: platform_state.clone(), proposer_results: None, @@ -407,7 +496,7 @@ pub(crate) mod tests { (fee_results, processed_block_fees) } - pub(crate) fn fetch_expected_identity_balance( + pub(in crate::execution) fn fetch_expected_identity_balance( platform: &TempPlatform, identity_id: Identifier, platform_version: &PlatformVersion, @@ -422,7 +511,8 @@ pub(crate) mod tests { .expect("expected a balance") ); } - pub(crate) fn setup_masternode_identity( + + pub(in crate::execution) fn setup_masternode_voting_identity( platform: &mut TempPlatform, seed: u64, platform_version: &PlatformVersion, @@ -511,7 +601,7 @@ pub(crate) mod tests { (pro_tx_hash_bytes.into(), identity, signer, voting_key) } - pub(crate) fn take_down_masternode_identities( + pub(in crate::execution) fn take_down_masternode_identities( platform: &mut TempPlatform, masternode_identities: &Vec, ) { @@ -528,7 +618,7 @@ pub(crate) mod tests { platform.state.store(Arc::new(platform_state)); } - pub(crate) fn create_dpns_name_contest_give_key_info( + pub(in crate::execution) fn create_dpns_name_contest_give_key_info( platform: &mut TempPlatform, platform_state: &PlatformState, seed: u64, @@ -573,6 +663,8 @@ pub(crate) mod tests { platform_state, rng, name, + None, + false, platform_version, ); @@ -599,7 +691,7 @@ pub(crate) mod tests { ) } - pub(crate) fn create_dpns_identity_name_contest( + pub(in crate::execution) fn create_dpns_identity_name_contest( platform: &mut TempPlatform, platform_state: &PlatformState, seed: u64, @@ -627,12 +719,51 @@ pub(crate) mod tests { platform_state, rng, name, + None, + false, + platform_version, + ); + (identity_1_info.0, identity_2_info.0, dpns_contract) + } + + /// This can be useful if we already created the identities and we reuse the seed + pub(in crate::execution) fn create_dpns_identity_name_contest_skip_creating_identities( + platform: &mut TempPlatform, + platform_state: &PlatformState, + seed: u64, + name: &str, + nonce_offset: Option, + platform_version: &PlatformVersion, + ) -> (Identity, Identity, Arc) { + let mut rng = StdRng::seed_from_u64(seed); + + let identity_1_info = setup_identity_without_adding_it(rng.gen(), dash_to_credits!(0.5)); + + let identity_2_info = setup_identity_without_adding_it(rng.gen(), dash_to_credits!(0.5)); + + // Flip them if needed so identity 1 id is always smaller than identity 2 id + let (identity_1_info, identity_2_info) = if identity_1_info.0.id() < identity_2_info.0.id() + { + (identity_1_info, identity_2_info) + } else { + (identity_2_info, identity_1_info) + }; + + let (_, _, dpns_contract) = create_dpns_name_contest_on_identities( + platform, + &identity_1_info, + &identity_2_info, + platform_state, + rng, + name, + nonce_offset, + true, //we should also skip preorder platform_version, ); (identity_1_info.0, identity_2_info.0, dpns_contract) } - pub(crate) fn create_dpns_contract_name_contest( + pub(in crate::execution) fn create_dpns_contract_name_contest( platform: &mut TempPlatform, platform_state: &PlatformState, seed: u64, @@ -688,6 +819,8 @@ pub(crate) mod tests { platform_state: &PlatformState, mut rng: StdRng, name: &str, + nonce_offset: Option, + skip_preorder: bool, platform_version: &PlatformVersion, ) -> ( ((Document, Bytes32), (Document, Bytes32)), @@ -811,7 +944,7 @@ pub(crate) mod tests { preorder, entropy.0, key_1, - 2, + 2 + nonce_offset.unwrap_or_default(), 0, signer_1, platform_version, @@ -832,7 +965,7 @@ pub(crate) mod tests { preorder, entropy.0, key_2, - 2, + 2 + nonce_offset.unwrap_or_default(), 0, signer_2, platform_version, @@ -853,7 +986,7 @@ pub(crate) mod tests { domain, entropy.0, key_1, - 3, + 3 + nonce_offset.unwrap_or_default(), 0, signer_1, platform_version, @@ -873,7 +1006,7 @@ pub(crate) mod tests { domain, entropy.0, key_2, - 3, + 3 + nonce_offset.unwrap_or_default(), 0, signer_2, platform_version, @@ -887,35 +1020,51 @@ pub(crate) mod tests { .serialize_to_bytes() .expect("expected documents batch serialized state transition"); - let transaction = platform.drive.grove.start_transaction(); + if !skip_preorder { + let transaction = platform.drive.grove.start_transaction(); - let processing_result = platform - .platform - .process_raw_state_transitions( - &vec![ - documents_batch_create_serialized_preorder_transition_1.clone(), - documents_batch_create_serialized_preorder_transition_2.clone(), - ], - platform_state, - &BlockInfo::default_with_time( - platform_state - .last_committed_block_time_ms() - .unwrap_or_default() - + 3000, - ), - &transaction, - platform_version, - ) - .expect("expected to process state transition"); + let processing_result = platform + .platform + .process_raw_state_transitions( + &vec![ + documents_batch_create_serialized_preorder_transition_1.clone(), + documents_batch_create_serialized_preorder_transition_2.clone(), + ], + platform_state, + &BlockInfo::default_with_time( + platform_state + .last_committed_block_time_ms() + .unwrap_or_default() + + 3000, + ), + &transaction, + platform_version, + false, + None, + ) + .expect("expected to process state transition"); - platform - .drive - .grove - .commit_transaction(transaction) - .unwrap() - .expect("expected to commit transaction"); + platform + .drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to commit transaction"); + + let successful_count = processing_result + .execution_results() + .iter() + .filter(|result| { + assert_matches!( + result, + StateTransitionExecutionResult::SuccessfulExecution(_, _) + ); + true + }) + .count(); - assert_eq!(processing_result.valid_count(), 2); + assert_eq!(successful_count, 2); + } let transaction = platform.drive.grove.start_transaction(); @@ -935,6 +1084,8 @@ pub(crate) mod tests { ), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -945,7 +1096,19 @@ pub(crate) mod tests { .unwrap() .expect("expected to commit transaction"); - assert_eq!(processing_result.valid_count(), 2); + let successful_count = processing_result + .execution_results() + .iter() + .filter(|result| { + assert_matches!( + result, + StateTransitionExecutionResult::SuccessfulExecution(_, _) + ); + true + }) + .count(); + + assert_eq!(successful_count, 2); ( ((preorder_document_1, entropy), (document_1, entropy)), ((preorder_document_2, entropy), (document_2, entropy)), @@ -1185,6 +1348,8 @@ pub(crate) mod tests { ), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1215,6 +1380,8 @@ pub(crate) mod tests { ), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1233,7 +1400,7 @@ pub(crate) mod tests { ) } - pub(crate) fn add_contender_to_dpns_name_contest( + pub(in crate::execution) fn add_contender_to_dpns_name_contest( platform: &mut TempPlatform, platform_state: &PlatformState, seed: u64, @@ -1359,6 +1526,8 @@ pub(crate) mod tests { ), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1386,6 +1555,8 @@ pub(crate) mod tests { ), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1410,7 +1581,7 @@ pub(crate) mod tests { identity_1 } - pub(crate) fn verify_dpns_name_contest( + pub(in crate::execution) fn verify_dpns_name_contest( platform: &mut TempPlatform, platform_state: &Guard>, dpns_contract: &DataContract, @@ -1618,7 +1789,7 @@ pub(crate) mod tests { assert_eq!(second_contender.vote_tally(), Some(0)); } - pub(crate) fn perform_vote( + pub(in crate::execution) fn perform_vote( platform: &mut TempPlatform, platform_state: &Guard>, dpns_contract: &DataContract, @@ -1673,6 +1844,8 @@ pub(crate) mod tests { &BlockInfo::default(), &transaction, platform_version, + false, + None, ) .expect("expected to process state transition"); @@ -1695,19 +1868,20 @@ pub(crate) mod tests { } } - pub(crate) fn perform_votes( + pub(in crate::execution) fn perform_votes( platform: &mut TempPlatform, dpns_contract: &DataContract, resource_vote_choice: ResourceVoteChoice, name: &str, count: u64, start_seed: u64, + nonce_offset: Option, platform_version: &PlatformVersion, ) -> Vec<(Identifier, Identity, SimpleSigner, IdentityPublicKey)> { let mut masternode_infos = vec![]; for i in 0..count { let (pro_tx_hash_bytes, voting_identity, signer, voting_key) = - setup_masternode_identity(platform, start_seed + i, platform_version); + setup_masternode_voting_identity(platform, start_seed + i, platform_version); let platform_state = platform.state.load(); @@ -1720,7 +1894,7 @@ pub(crate) mod tests { &signer, pro_tx_hash_bytes, &voting_key, - 1, + 1 + nonce_offset.unwrap_or_default(), None, platform_version, ); @@ -1730,12 +1904,13 @@ pub(crate) mod tests { masternode_infos } - pub(crate) fn perform_votes_multi( + pub(in crate::execution) fn perform_votes_multi( platform: &mut TempPlatform, dpns_contract: &DataContract, resource_vote_choices: Vec<(ResourceVoteChoice, u64)>, name: &str, start_seed: u64, + nonce_offset: Option, platform_version: &PlatformVersion, ) -> BTreeMap> { @@ -1749,6 +1924,7 @@ pub(crate) mod tests { name, count, count_aggregate, + nonce_offset, platform_version, ); masternodes_by_vote_choice.insert(resource_vote_choice, masternode_infos); @@ -1757,7 +1933,7 @@ pub(crate) mod tests { masternodes_by_vote_choice } - pub(crate) fn get_vote_states( + pub(in crate::execution) fn get_vote_states( platform: &TempPlatform, platform_state: &PlatformState, dpns_contract: &DataContract, @@ -1788,7 +1964,7 @@ pub(crate) mod tests { let dash_encoded = bincode::encode_to_vec(Value::Text("dash".to_string()), config) .expect("expected to encode the word dash"); - let quantum_encoded = + let name_encoded = bincode::encode_to_vec(Value::Text(convert_to_homograph_safe_chars(name)), config) .expect("expected to encode the word quantum"); @@ -1802,7 +1978,7 @@ pub(crate) mod tests { contract_id: dpns_contract.id().to_vec(), document_type_name: domain.name().clone(), index_name: index_name.clone(), - index_values: vec![dash_encoded.clone(), quantum_encoded.clone()], + index_values: vec![dash_encoded.clone(), name_encoded.clone()], result_type: result_type as i32, allow_include_locked_and_abstaining_vote_tally, start_at_identifier_info, @@ -1863,7 +2039,7 @@ pub(crate) mod tests { ) } - pub(crate) fn get_proved_vote_states( + pub(in crate::execution) fn get_proved_vote_states( platform: &TempPlatform, platform_state: &PlatformState, dpns_contract: &DataContract, @@ -1993,45 +2169,4 @@ pub(crate) mod tests { finished_vote_info, ) } - - pub(crate) fn fast_forward_to_block( - platform: &TempPlatform, - time_ms: u64, - height: u64, - epoch_index: u16, - ) { - let platform_state = platform.state.load(); - - let mut platform_state = (**platform_state).clone(); - - let protocol_version = platform_state.current_protocol_version_in_consensus(); - let platform_version = PlatformVersion::get(protocol_version).unwrap(); - - let block_info = BlockInfo { - time_ms, //less than 2 weeks - height, - core_height: 42, - epoch: Epoch::new(epoch_index).unwrap(), - }; - - platform_state.set_last_committed_block_info(Some( - ExtendedBlockInfoV0 { - basic_info: block_info, - app_hash: platform - .drive - .grove - .root_hash(None, &platform_version.drive.grove_version) - .unwrap() - .unwrap(), - quorum_hash: [0u8; 32], - block_id_hash: [0u8; 32], - proposer_pro_tx_hash: [0u8; 32], - signature: [0u8; 96], - round: 0, - } - .into(), - )); - - platform.state.store(Arc::new(platform_state)); - } } diff --git a/packages/rs-drive-abci/src/main.rs b/packages/rs-drive-abci/src/main.rs index 7a1d42fa41a..aab50e3e068 100644 --- a/packages/rs-drive-abci/src/main.rs +++ b/packages/rs-drive-abci/src/main.rs @@ -123,6 +123,7 @@ impl Cli { config.db_path.clone(), Some(config.clone()), core_rpc, + None, ) .expect("Failed to open platform"); @@ -201,6 +202,12 @@ fn main() -> Result<(), ExitCode> { install_panic_hook(cancel.clone()); // Start runtime in the main thread + tracing::info!( + version = env!("CARGO_PKG_VERSION"), + features = list_enabled_features().join(","), + rust = env!("CARGO_PKG_RUST_VERSION"), + "drive-abci server initializing", + ); let runtime_guard = runtime.enter(); @@ -282,6 +289,19 @@ fn dump_config(config: &PlatformConfig) -> Result<(), String> { Ok(()) } +fn list_enabled_features() -> Vec<&'static str> { + vec![ + #[cfg(feature = "console")] + "console", + #[cfg(feature = "testing-config")] + "testing-config", + #[cfg(feature = "grovedbg")] + "grovedbg", + #[cfg(feature = "mocks")] + "mocks", + ] +} + /// Check status of ABCI server. fn check_status(config: &PlatformConfig) -> Result<(), String> { if let Some(prometheus_addr) = &config.prometheus_bind_address { @@ -333,7 +353,12 @@ fn verify_grovedb(db_path: &PathBuf, force: bool) -> Result<(), String> { let grovedb = drive::grovedb::GroveDb::open(db_path).expect("open grovedb"); //todo: get platform version instead of taking latest let result = grovedb - .visualize_verify_grovedb(&PlatformVersion::latest().drive.grove_version) + .visualize_verify_grovedb( + None, + true, + true, + &PlatformVersion::latest().drive.grove_version, + ) .map_err(|e| e.to_string()); match result { @@ -481,10 +506,9 @@ mod test { let cf_handle = db.cf_handle(cf).unwrap(); let iter = db.iterator_cf(cf_handle, IteratorMode::Start); - // let iter = db.iterator(IteratorMode::Start); for (i, item) in iter.enumerate() { let (key, mut value) = item.unwrap(); - // println!("{} = {}", hex::encode(&key), hex::encode(value)); + // println!("{} = {}", hex::encode(&key), hex::encode(&value)); tracing::trace!(cf, key=?hex::encode(&key), value=hex::encode(&value),"found item in rocksdb"); if i == n { @@ -509,8 +533,11 @@ mod test { corrupt_rocksdb_item(&db_path, "roots", 0); - let result = super::verify_grovedb(&db_path, true); - assert!(result.is_err()); + let result_error = super::verify_grovedb(&db_path, true).expect_err("expected an error"); + assert_eq!( + result_error, + "data corruption error: expected merk to contain value at key 0x08 for tree" + ); println!("db path: {:?}", &db_path); } diff --git a/packages/rs-drive-abci/src/mimic/mod.rs b/packages/rs-drive-abci/src/mimic/mod.rs index 52189c40e95..0fb866b1074 100644 --- a/packages/rs-drive-abci/src/mimic/mod.rs +++ b/packages/rs-drive-abci/src/mimic/mod.rs @@ -329,6 +329,7 @@ impl<'a, C: CoreRPCLike> FullAbciApplication<'a, C> { transaction .rollback_to_savepoint() .expect("expected to rollback to savepoint"); + transaction.set_savepoint(); let start_root_hash = self .platform diff --git a/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs index b82e36261d5..cccbfb02342 100644 --- a/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs @@ -75,10 +75,12 @@ impl TryFrom for RequestInitChainCleanedParams { "consensus params are required in init chain".to_string(), ))?; - let tenderdash_abci::proto::types::VersionParams { app_version } = - consensus_params.version.ok_or(AbciError::BadRequest( - "consensus params version is required in init chain".to_string(), - ))?; + let tenderdash_abci::proto::types::VersionParams { + app_version, + consensus_version: _consensus_version, + } = consensus_params.version.ok_or(AbciError::BadRequest( + "consensus params version is required in init chain".to_string(), + ))?; Ok(Self { genesis_time, diff --git a/packages/rs-drive-abci/src/platform_types/epoch_info/mod.rs b/packages/rs-drive-abci/src/platform_types/epoch_info/mod.rs index 3fb8512a78b..8ea7c8a84ff 100644 --- a/packages/rs-drive-abci/src/platform_types/epoch_info/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/epoch_info/mod.rs @@ -8,7 +8,7 @@ use crate::platform_types::epoch_info::v0::{ EpochInfoV0, EpochInfoV0Getters, EpochInfoV0Methods, EpochInfoV0Setters, }; use derive_more::From; -use dpp::block::epoch::Epoch; +use dpp::block::epoch::{Epoch, EpochIndex}; use dpp::ProtocolError; use serde::{Deserialize, Serialize}; @@ -26,7 +26,7 @@ pub mod v0; /// This means that if we ever want to update EpochInfo, we will need to do so on a release /// where the new fields of epoch info are not being used. Then make another version once /// that one is activated. -#[derive(Clone, Serialize, Deserialize, Debug, From, Eq, PartialEq)] +#[derive(Clone, Copy, Serialize, Deserialize, Debug, From, Eq, PartialEq)] #[serde(rename_all = "camelCase")] pub enum EpochInfo { /// Version 0 @@ -39,6 +39,11 @@ impl EpochInfoV0Methods for EpochInfo { EpochInfo::V0(v0) => v0.is_epoch_change_but_not_genesis(), } } + fn is_first_block_of_epoch(&self, epoch_index: EpochIndex) -> bool { + match self { + EpochInfo::V0(v0) => v0.is_first_block_of_epoch(epoch_index), + } + } } impl EpochInfoV0Getters for EpochInfo { diff --git a/packages/rs-drive-abci/src/platform_types/epoch_info/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/epoch_info/v0/mod.rs index b0891428c72..a2e216dc9d7 100644 --- a/packages/rs-drive-abci/src/platform_types/epoch_info/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/epoch_info/v0/mod.rs @@ -1,32 +1,3 @@ -// MIT LICENSE -// -// Copyright (c) 2021 Dash Core Group -// -// Permission is hereby granted, free of charge, to any -// person obtaining a copy of this software and associated -// documentation files (the "Software"), to deal in the -// Software without restriction, including without -// limitation the rights to use, copy, modify, merge, -// publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software -// is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice -// shall be included in all copies or substantial portions -// of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - //! Epoch Info. //! //! This module defines and implements the `EpochInfo` struct containing @@ -37,7 +8,7 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use crate::execution::types::block_state_info::v0::BlockStateInfoV0; -use dpp::block::epoch::Epoch; +use dpp::block::epoch::{Epoch, EpochIndex}; use dpp::fee::epoch::GENESIS_EPOCH_INDEX; use dpp::ProtocolError; @@ -45,7 +16,7 @@ use rust_decimal::Decimal; use serde::{Deserialize, Serialize}; /// Info pertinent to the current epoch. -#[derive(Clone, Serialize, Deserialize, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Serialize, Deserialize, Debug, Eq, PartialEq)] #[serde(rename_all = "camelCase")] pub struct EpochInfoV0 { /// Current epoch index @@ -63,6 +34,9 @@ pub struct EpochInfoV0 { pub trait EpochInfoV0Methods { /// Returns true if it's an epoch change but not the Epoch 0 on genesis fn is_epoch_change_but_not_genesis(&self) -> bool; + + /// Returns if we are the first block of a specific epoch + fn is_first_block_of_epoch(&self, epoch_index: EpochIndex) -> bool; } /// Getters for `EpochInfoV0` @@ -122,6 +96,10 @@ impl EpochInfoV0Methods for EpochInfoV0 { fn is_epoch_change_but_not_genesis(&self) -> bool { self.is_epoch_change && self.current_epoch_index != GENESIS_EPOCH_INDEX } + + fn is_first_block_of_epoch(&self, epoch_index: EpochIndex) -> bool { + self.is_epoch_change && self.current_epoch_index == epoch_index + } } impl EpochInfoV0 { diff --git a/packages/rs-drive-abci/src/platform_types/platform/mod.rs b/packages/rs-drive-abci/src/platform_types/platform/mod.rs index 20c13b0b5cd..d5d99f71b37 100644 --- a/packages/rs-drive-abci/src/platform_types/platform/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/platform/mod.rs @@ -18,6 +18,7 @@ use dashcore_rpc::dashcore::BlockHash; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::platform_state::PlatformState; +use dpp::version::ProtocolVersion; use dpp::version::{PlatformVersion, PlatformVersionCurrentVersion}; use serde_json::json; @@ -116,7 +117,7 @@ impl Platform { "Could not setup Dash Core RPC client", )) })?; - Self::open_with_client(path, Some(config), core_rpc) + Self::open_with_client(path, Some(config), core_rpc, None) } } @@ -126,6 +127,7 @@ impl Platform { pub fn open>( path: P, config: Option, + initial_protocol_version: Option, ) -> Result, Error> { let mut core_rpc_mock = MockCoreRPCLike::new(); @@ -141,7 +143,7 @@ impl Platform { "tx": [], })) }); - Self::open_with_client(path, config, core_rpc_mock) + Self::open_with_client(path, config, core_rpc_mock, initial_protocol_version) } /// Fetch and reload the state from the backing store @@ -171,6 +173,7 @@ impl Platform { path: P, config: Option, core_rpc: C, + initial_protocol_version: Option, ) -> Result, Error> where C: CoreRPCLike, @@ -203,8 +206,8 @@ impl Platform { drive, core_rpc, config, - INITIAL_PROTOCOL_VERSION, - INITIAL_PROTOCOL_VERSION, + initial_protocol_version.unwrap_or(INITIAL_PROTOCOL_VERSION), + initial_protocol_version.unwrap_or(INITIAL_PROTOCOL_VERSION), ) } diff --git a/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs b/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs index 626cf365010..462ce2c3272 100644 --- a/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs @@ -25,6 +25,7 @@ use indexmap::IndexMap; use crate::config::PlatformConfig; use crate::error::execution::ExecutionError; use crate::platform_types::signature_verification_quorum_set::SignatureVerificationQuorumSet; +use crate::platform_types::validator_set::v0::ValidatorSetV0Getters; use dpp::block::block_info::BlockInfo; use dpp::fee::default_costs::CachedEpochIndexFeeVersions; use dpp::util::hash::hash_double; @@ -283,6 +284,12 @@ impl PlatformStateV0Methods for PlatformState { } } + fn hpmn_active_list_len(&self) -> usize { + match self { + PlatformState::V0(v0) => v0.hpmn_active_list_len(), + } + } + fn current_validator_set(&self) -> Result<&ValidatorSet, Error> { match self { PlatformState::V0(v0) => v0.current_validator_set(), diff --git a/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs index 0ad2f2c179e..f9fa9d6debb 100644 --- a/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs @@ -23,6 +23,7 @@ use crate::config::PlatformConfig; use crate::platform_types::signature_verification_quorum_set::{ SignatureVerificationQuorumSet, SignatureVerificationQuorumSetForSaving, }; +use crate::platform_types::validator_set::v0::ValidatorSetV0Getters; use dpp::fee::default_costs::CachedEpochIndexFeeVersions; use itertools::Itertools; use std::collections::BTreeMap; @@ -344,6 +345,32 @@ pub trait PlatformStateV0Methods { /// Returns the quorum hash of the current validator set. fn current_validator_set_quorum_hash(&self) -> QuorumHash; + /// Get validator sets sorted by their core height by most recent order coming first + fn validator_sets_sorted_by_core_height_by_most_recent(&self) -> Vec<&ValidatorSet> { + // Get the validator sets and collect them into a vector for sorting + let mut validator_sets: Vec<&ValidatorSet> = self.validator_sets().values().collect(); + + // Sort the validator sets by core height in descending order + validator_sets.sort_by(|a, b| b.core_height().cmp(&a.core_height())); + + validator_sets + } + + /// Where is the current validator set in the list + fn current_validator_set_position_in_list_by_most_recent(&self) -> Option { + // Get the current quorum hash + let current_quorum_hash = self.current_validator_set_quorum_hash(); + + // Get the validator sets by post recent + let validator_sets = self.validator_sets_sorted_by_core_height_by_most_recent(); + + // Find the position of the current validator set in the sorted list + validator_sets + .iter() + .position(|&validator_set| validator_set.quorum_hash() == ¤t_quorum_hash) + .map(|position| position as u16) // Convert position to u16 + } + /// Returns the quorum hash of the next validator set, if it exists. fn next_validator_set_quorum_hash(&self) -> &Option; @@ -453,6 +480,9 @@ pub trait PlatformStateV0Methods { fn hpmn_masternode_list_changes(&self, previous: &Self) -> MasternodeListChanges where Self: Sized; + + /// The size of the hpmn list that are currently not banned + fn hpmn_active_list_len(&self) -> usize; } impl PlatformStateV0PrivateMethods for PlatformStateV0 { @@ -565,6 +595,14 @@ impl PlatformStateV0Methods for PlatformStateV0 { self.hpmn_masternode_list.len() } + /// HPMN active list len + fn hpmn_active_list_len(&self) -> usize { + self.hpmn_masternode_list + .values() + .filter(|masternode| masternode.state.pose_ban_height.is_none()) + .count() + } + /// Get the current quorum fn current_validator_set(&self) -> Result<&ValidatorSet, Error> { self.validator_sets diff --git a/packages/rs-drive-abci/src/platform_types/state_transitions_processing_result/mod.rs b/packages/rs-drive-abci/src/platform_types/state_transitions_processing_result/mod.rs index 7ab73857b5e..fdcfa1ed93d 100644 --- a/packages/rs-drive-abci/src/platform_types/state_transitions_processing_result/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/state_transitions_processing_result/mod.rs @@ -4,8 +4,15 @@ use crate::error::Error; use crate::platform_types::event_execution_result::EstimatedFeeResult; use dpp::fee::fee_result::FeeResult; +/// The reason the state transition was not executed +#[derive(Debug, Clone, Copy, PartialEq)] +pub enum NotExecutedReason { + /// The proposer ran out of time + ProposerRanOutOfTime, +} + /// State Transition Execution Result represents a result of the single state transition execution. -/// There are four possible outcomes of the state transition execution described by this enum +/// There are five possible outcomes of the state transition execution described by this enum #[derive(Debug, Clone, PartialEq)] pub enum StateTransitionExecutionResult { /// State Transition is invalid, but we have a proved identity associated with it, @@ -21,6 +28,9 @@ pub enum StateTransitionExecutionResult { InternalError(String), /// State Transition was successfully executed SuccessfulExecution(Option, FeeResult), + /// State Transition was not executed at all. + /// The only current reason for this is that the proposer reached the maximum time limit + NotExecuted(NotExecutedReason), } /// State Transitions Processing Result produced by [process_raw_state_transitions] and represents @@ -55,6 +65,9 @@ impl StateTransitionsProcessingResult { self.fees.checked_add_assign(actual_fees.clone())?; } + StateTransitionExecutionResult::NotExecuted(_) => { + self.failed_count += 1; + } } self.execution_results.push(execution_result); diff --git a/packages/rs-drive-abci/src/platform_types/validator/mod.rs b/packages/rs-drive-abci/src/platform_types/validator/mod.rs index 3ad5264d5d8..10144bf53f8 100644 --- a/packages/rs-drive-abci/src/platform_types/validator/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/validator/mod.rs @@ -1,114 +1,3 @@ -use crate::platform_types::validator::v0::{ValidatorV0, ValidatorV0Getters, ValidatorV0Setters}; -use dashcore_rpc::dashcore::{ProTxHash, PubkeyHash}; -use dpp::bls_signatures::PublicKey as BlsPublicKey; -use serde::{Deserialize, Serialize}; - /// Version 0 pub mod v0; - -/// A validator in the context of a quorum -#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)] -pub enum Validator { - /// Version 0 - V0(ValidatorV0), -} - -impl ValidatorV0Getters for Validator { - fn pro_tx_hash(&self) -> &ProTxHash { - match self { - Validator::V0(v0) => v0.pro_tx_hash(), - } - } - - fn public_key(&self) -> &Option { - match self { - Validator::V0(v0) => v0.public_key(), - } - } - - fn node_ip(&self) -> &String { - match self { - Validator::V0(v0) => v0.node_ip(), - } - } - - fn node_id(&self) -> &PubkeyHash { - match self { - Validator::V0(v0) => v0.node_id(), - } - } - - fn core_port(&self) -> u16 { - match self { - Validator::V0(v0) => v0.core_port(), - } - } - - fn platform_http_port(&self) -> u16 { - match self { - Validator::V0(v0) => v0.platform_http_port(), - } - } - - fn platform_p2p_port(&self) -> u16 { - match self { - Validator::V0(v0) => v0.platform_p2p_port(), - } - } - - fn is_banned(&self) -> bool { - match self { - Validator::V0(v0) => v0.is_banned(), - } - } -} - -impl ValidatorV0Setters for Validator { - fn set_pro_tx_hash(&mut self, pro_tx_hash: ProTxHash) { - match self { - Validator::V0(v0) => v0.set_pro_tx_hash(pro_tx_hash), - } - } - - fn set_public_key(&mut self, public_key: Option) { - match self { - Validator::V0(v0) => v0.set_public_key(public_key), - } - } - - fn set_node_ip(&mut self, node_ip: String) { - match self { - Validator::V0(v0) => v0.set_node_ip(node_ip), - } - } - - fn set_node_id(&mut self, node_id: PubkeyHash) { - match self { - Validator::V0(v0) => v0.set_node_id(node_id), - } - } - - fn set_core_port(&mut self, core_port: u16) { - match self { - Validator::V0(v0) => v0.set_core_port(core_port), - } - } - - fn set_platform_http_port(&mut self, platform_http_port: u16) { - match self { - Validator::V0(v0) => v0.set_platform_http_port(platform_http_port), - } - } - - fn set_platform_p2p_port(&mut self, platform_p2p_port: u16) { - match self { - Validator::V0(v0) => v0.set_platform_p2p_port(platform_p2p_port), - } - } - - fn set_is_banned(&mut self, is_banned: bool) { - match self { - Validator::V0(v0) => v0.set_is_banned(is_banned), - } - } -} +pub use dpp::core_types::validator::*; diff --git a/packages/rs-drive-abci/src/platform_types/validator/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/validator/v0/mod.rs index 665c48c3dc7..433fe506bf6 100644 --- a/packages/rs-drive-abci/src/platform_types/validator/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/validator/v0/mod.rs @@ -1,52 +1,21 @@ use crate::platform_types::platform_state::v0::PlatformStateV0Methods; -use dashcore_rpc::dashcore::hashes::Hash; -use dashcore_rpc::dashcore::{ProTxHash, PubkeyHash}; -use dashcore_rpc::dashcore_rpc_json::{DMNState, MasternodeListItem}; -use std::fmt::{Debug, Formatter}; - use crate::platform_types::platform_state::PlatformState; +use dashcore_rpc::json::{DMNState, MasternodeListItem}; use dpp::bls_signatures::PublicKey as BlsPublicKey; -use serde::{Deserialize, Serialize}; - -/// A validator in the context of a quorum -#[derive(Clone, Serialize, Deserialize, Eq, PartialEq)] -pub struct ValidatorV0 { - /// The proTxHash - pub pro_tx_hash: ProTxHash, - /// The public key share of this validator for this quorum - pub public_key: Option, - /// The node address - pub node_ip: String, - /// The node id - pub node_id: PubkeyHash, - /// Core port - pub core_port: u16, - /// Http port - pub platform_http_port: u16, - /// Tenderdash port - pub platform_p2p_port: u16, - /// Is the validator banned - pub is_banned: bool, -} - -impl Debug for ValidatorV0 { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("ValidatorV0") - .field("pro_tx_hash", &self.pro_tx_hash.to_string()) - .field("public_key", &self.public_key) - .field("node_ip", &self.node_ip) - .field("node_id", &self.node_id) - .field("core_port", &self.core_port) - .field("platform_http_port", &self.platform_http_port) - .field("platform_p2p_port", &self.platform_p2p_port) - .field("is_banned", &self.is_banned) - .finish() - } +pub use dpp::core_types::validator::v0::*; +use dpp::dashcore::hashes::Hash; +use dpp::dashcore::{ProTxHash, PubkeyHash}; +pub(crate) trait NewValidatorIfMasternodeInState { + fn new_validator_if_masternode_in_state( + pro_tx_hash: ProTxHash, + public_key: Option, + state: &PlatformState, + ) -> Option; } -impl ValidatorV0 { +impl NewValidatorIfMasternodeInState for ValidatorV0 { /// Makes a validator if the masternode is in the list and is valid - pub fn new_validator_if_masternode_in_state( + fn new_validator_if_masternode_in_state( pro_tx_hash: ProTxHash, public_key: Option, state: &PlatformState, @@ -80,111 +49,3 @@ impl ValidatorV0 { }) } } - -/// Traits to get properties of a validator. -pub trait ValidatorV0Getters { - /// Returns the proTxHash of the validator. - fn pro_tx_hash(&self) -> &ProTxHash; - /// Returns the public key share of this validator for this quorum. - fn public_key(&self) -> &Option; - /// Returns the node address of the validator. - fn node_ip(&self) -> &String; - /// Returns the node id of the validator. - fn node_id(&self) -> &PubkeyHash; - /// Returns the core port of the validator. - fn core_port(&self) -> u16; - /// Returns the Http port of the validator. - fn platform_http_port(&self) -> u16; - /// Returns the Tenderdash port of the validator. - fn platform_p2p_port(&self) -> u16; - /// Returns the status of the validator whether it's banned or not. - fn is_banned(&self) -> bool; -} - -/// Traits to set properties of a validator. -pub trait ValidatorV0Setters { - /// Sets the proTxHash of the validator. - fn set_pro_tx_hash(&mut self, pro_tx_hash: ProTxHash); - /// Sets the public key share of this validator for this quorum. - fn set_public_key(&mut self, public_key: Option); - /// Sets the node address of the validator. - fn set_node_ip(&mut self, node_ip: String); - /// Sets the node id of the validator. - fn set_node_id(&mut self, node_id: PubkeyHash); - /// Sets the core port of the validator. - fn set_core_port(&mut self, core_port: u16); - /// Sets the Http port of the validator. - fn set_platform_http_port(&mut self, platform_http_port: u16); - /// Sets the Tenderdash port of the validator. - fn set_platform_p2p_port(&mut self, platform_p2p_port: u16); - /// Sets the status of the validator whether it's banned or not. - fn set_is_banned(&mut self, is_banned: bool); -} - -impl ValidatorV0Getters for ValidatorV0 { - fn pro_tx_hash(&self) -> &ProTxHash { - &self.pro_tx_hash - } - - fn public_key(&self) -> &Option { - &self.public_key - } - - fn node_ip(&self) -> &String { - &self.node_ip - } - - fn node_id(&self) -> &PubkeyHash { - &self.node_id - } - - fn core_port(&self) -> u16 { - self.core_port - } - - fn platform_http_port(&self) -> u16 { - self.platform_http_port - } - - fn platform_p2p_port(&self) -> u16 { - self.platform_p2p_port - } - - fn is_banned(&self) -> bool { - self.is_banned - } -} - -impl ValidatorV0Setters for ValidatorV0 { - fn set_pro_tx_hash(&mut self, pro_tx_hash: ProTxHash) { - self.pro_tx_hash = pro_tx_hash; - } - - fn set_public_key(&mut self, public_key: Option) { - self.public_key = public_key; - } - - fn set_node_ip(&mut self, node_ip: String) { - self.node_ip = node_ip; - } - - fn set_node_id(&mut self, node_id: PubkeyHash) { - self.node_id = node_id; - } - - fn set_core_port(&mut self, core_port: u16) { - self.core_port = core_port; - } - - fn set_platform_http_port(&mut self, platform_http_port: u16) { - self.platform_http_port = platform_http_port; - } - - fn set_platform_p2p_port(&mut self, platform_p2p_port: u16) { - self.platform_p2p_port = platform_p2p_port; - } - - fn set_is_banned(&mut self, is_banned: bool) { - self.is_banned = is_banned; - } -} diff --git a/packages/rs-drive-abci/src/platform_types/validator_set/mod.rs b/packages/rs-drive-abci/src/platform_types/validator_set/mod.rs index 5dd9adb1f83..414fbe0c8fe 100644 --- a/packages/rs-drive-abci/src/platform_types/validator_set/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/validator_set/mod.rs @@ -1,114 +1,27 @@ -use crate::platform_types::validator::v0::ValidatorV0; -use crate::platform_types::validator_set::v0::{ - ValidatorSetV0, ValidatorSetV0Getters, ValidatorSetV0Setters, -}; -use dashcore_rpc::dashcore::{ProTxHash, QuorumHash}; -use dpp::bls_signatures::PublicKey as BlsPublicKey; -use serde::{Deserialize, Serialize}; -use std::collections::BTreeMap; +use crate::platform_types::validator_set::v0::ValidatorSetMethodsV0; use tenderdash_abci::proto::abci::ValidatorSetUpdate; -/// Version 0 -pub mod v0; - -/// The validator set is only slightly different from a quorum as it does not contain non valid -/// members -#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)] -pub enum ValidatorSet { - /// Version 0 - V0(ValidatorSetV0), -} - -impl ValidatorSetV0Getters for ValidatorSet { - fn quorum_hash(&self) -> &QuorumHash { - match self { - ValidatorSet::V0(v0) => v0.quorum_hash(), - } - } +pub use dpp::core_types::validator_set::*; - fn quorum_index(&self) -> Option { - match self { - ValidatorSet::V0(v0) => v0.quorum_index(), - } - } - - fn core_height(&self) -> u32 { - match self { - ValidatorSet::V0(v0) => v0.core_height(), - } - } - - fn members(&self) -> &BTreeMap { - match self { - ValidatorSet::V0(v0) => v0.members(), - } - } - - fn members_mut(&mut self) -> &mut BTreeMap { - match self { - ValidatorSet::V0(v0) => v0.members_mut(), - } - } - - fn members_owned(self) -> BTreeMap { - match self { - ValidatorSet::V0(v0) => v0.members_owned(), - } - } +/// v0 +pub mod v0; - fn threshold_public_key(&self) -> &BlsPublicKey { - match self { - ValidatorSet::V0(v0) => v0.threshold_public_key(), - } - } +pub(crate) trait ValidatorSetExt { + fn to_update(&self) -> ValidatorSetUpdate; + #[allow(unused)] + fn to_update_owned(self) -> ValidatorSetUpdate; } -impl ValidatorSetV0Setters for ValidatorSet { - fn set_quorum_hash(&mut self, quorum_hash: QuorumHash) { - match self { - ValidatorSet::V0(v0) => v0.set_quorum_hash(quorum_hash), - } - } - - fn set_quorum_index(&mut self, index: Option) { - match self { - ValidatorSet::V0(v0) => v0.set_quorum_index(index), - } - } - - fn set_core_height(&mut self, core_height: u32) { +impl ValidatorSetExt for ValidatorSet { + fn to_update(&self) -> ValidatorSetUpdate { match self { - ValidatorSet::V0(v0) => v0.set_core_height(core_height), + ValidatorSet::V0(v0) => v0.to_update(), } } - fn set_members(&mut self, members: BTreeMap) { + fn to_update_owned(self) -> ValidatorSetUpdate { match self { - ValidatorSet::V0(v0) => v0.set_members(members), - } - } - - fn set_threshold_public_key(&mut self, threshold_public_key: BlsPublicKey) { - match self { - ValidatorSet::V0(v0) => v0.set_threshold_public_key(threshold_public_key), - } - } -} - -/// In this case we are changing to this validator set from another validator set and there are no -/// changes -impl From for ValidatorSetUpdate { - fn from(value: ValidatorSet) -> Self { - match value { - ValidatorSet::V0(v0) => v0.into(), - } - } -} - -impl From<&ValidatorSet> for ValidatorSetUpdate { - fn from(value: &ValidatorSet) -> Self { - match value { - ValidatorSet::V0(v0) => v0.into(), + ValidatorSet::V0(v0) => v0.to_update_owned(), } } } diff --git a/packages/rs-drive-abci/src/platform_types/validator_set/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/validator_set/v0/mod.rs index 7574a5d31db..f7141d1ff4b 100644 --- a/packages/rs-drive-abci/src/platform_types/validator_set/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/validator_set/v0/mod.rs @@ -1,62 +1,38 @@ use crate::error::execution::ExecutionError; use crate::error::Error; -use crate::platform_types::validator::v0::ValidatorV0; use dashcore_rpc::dashcore::hashes::Hash; -use dashcore_rpc::dashcore::{ProTxHash, QuorumHash}; +use dashcore_rpc::dashcore::ProTxHash; use crate::platform_types::platform_state::PlatformState; +use crate::platform_types::validator::v0::NewValidatorIfMasternodeInState; use dashcore_rpc::json::QuorumInfoResult; use dpp::bls_signatures::PublicKey as BlsPublicKey; -use serde::{Deserialize, Serialize}; +use dpp::core_types::validator::v0::ValidatorV0; +pub use dpp::core_types::validator_set::v0::*; use std::collections::BTreeMap; -use std::fmt::{Debug, Formatter}; use tenderdash_abci::proto::abci::ValidatorSetUpdate; use tenderdash_abci::proto::crypto::public_key::Sum::Bls12381; use tenderdash_abci::proto::{abci, crypto}; -/// The validator set is only slightly different from a quorum as it does not contain non valid -/// members -#[derive(Clone, Serialize, Deserialize, Eq, PartialEq)] -pub struct ValidatorSetV0 { - /// The quorum hash - pub quorum_hash: QuorumHash, - /// Rotation quorum index is available only for DIP24 quorums - pub quorum_index: Option, - /// Active height - pub core_height: u32, - /// The list of masternodes - pub members: BTreeMap, - /// The threshold quorum public key - pub threshold_public_key: BlsPublicKey, -} +pub(crate) trait ValidatorSetMethodsV0 { + #[allow(unused)] + fn update_difference(&self, rhs: &ValidatorSetV0) -> Result; -impl Debug for ValidatorSetV0 { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("ValidatorSetV0") - .field("quorum_hash", &self.quorum_hash.to_string()) - .field("core_height", &self.core_height) - .field( - "members", - &self - .members - .iter() - .map(|(k, v)| (k.to_string(), v)) - .collect::>(), - ) - .field("threshold_public_key", &self.threshold_public_key) - .finish() - } + fn to_update(&self) -> ValidatorSetUpdate; + fn to_update_owned(self) -> ValidatorSetUpdate; + /// Try to create a quorum from info from the Masternode list (given with state), + /// and for information return for quorum members + fn try_from_quorum_info_result( + value: QuorumInfoResult, + state: &PlatformState, + ) -> Result; } -impl ValidatorSetV0 { +impl ValidatorSetMethodsV0 for ValidatorSetV0 { /// For changes between two validator sets, we take the new (rhs) element if is different /// for every validator - #[allow(dead_code)] - pub(crate) fn update_difference( - &self, - rhs: &ValidatorSetV0, - ) -> Result { + fn update_difference(&self, rhs: &ValidatorSetV0) -> Result { if self.quorum_hash != rhs.quorum_hash { return Err(Error::Execution(ExecutionError::CorruptedCachedState( format!( @@ -127,7 +103,7 @@ impl ValidatorSetV0 { } }), power: 100, - pro_tx_hash: reverse(pro_tx_hash.as_byte_array()), + pro_tx_hash: pro_tx_hash.as_byte_array().to_vec(), node_address, })) } @@ -159,7 +135,7 @@ impl ValidatorSetV0 { } }), power: 100, - pro_tx_hash: reverse(&pro_tx_hash.to_byte_array()), + pro_tx_hash: pro_tx_hash.to_byte_array().to_vec(), node_address, })) } @@ -174,35 +150,21 @@ impl ValidatorSetV0 { threshold_public_key: Some(crypto::PublicKey { sum: Some(Bls12381(self.threshold_public_key.to_bytes().to_vec())), }), - quorum_hash: reverse(&self.quorum_hash.to_byte_array()), + quorum_hash: self.quorum_hash.to_byte_array().to_vec(), }) } -} - -/// Reverse bytes -/// -/// TODO: This is a workaround for reversed data returned by dashcore_rpc (little endian / big endian handling issue). -/// We need to decide on a consistent approach to endianness and follow it. -fn reverse(data: &[u8]) -> Vec { - // data.reverse(); - data.to_vec() -} - -/// In this case we are changing to this validator set from another validator set and there are no -/// changes -impl From for ValidatorSetUpdate { - fn from(value: ValidatorSetV0) -> Self { + fn to_update(&self) -> ValidatorSetUpdate { let ValidatorSetV0 { quorum_hash, members: validator_set, threshold_public_key, .. - } = value; + } = self; ValidatorSetUpdate { validator_updates: validator_set - .into_values() - .filter_map(|validator| { + .iter() + .filter_map(|(_, validator)| { let ValidatorV0 { pro_tx_hash, public_key, @@ -212,7 +174,8 @@ impl From for ValidatorSetUpdate { is_banned, .. } = validator; - if is_banned { + + if *is_banned { return None; } let node_address = format!( @@ -221,13 +184,12 @@ impl From for ValidatorSetUpdate { node_ip, platform_p2p_port ); - Some(abci::ValidatorUpdate { - pub_key: public_key.map(|public_key| crypto::PublicKey { + pub_key: public_key.as_ref().map(|public_key| crypto::PublicKey { sum: Some(Bls12381(public_key.to_bytes().to_vec())), }), power: 100, - pro_tx_hash: reverse(&pro_tx_hash.to_byte_array()), + pro_tx_hash: pro_tx_hash.to_byte_array().to_vec(), node_address, }) }) @@ -235,23 +197,21 @@ impl From for ValidatorSetUpdate { threshold_public_key: Some(crypto::PublicKey { sum: Some(Bls12381(threshold_public_key.to_bytes().to_vec())), }), - quorum_hash: reverse(&quorum_hash.to_byte_array()), + quorum_hash: quorum_hash.to_byte_array().to_vec(), } } -} -impl From<&ValidatorSetV0> for ValidatorSetUpdate { - fn from(value: &ValidatorSetV0) -> Self { + fn to_update_owned(self) -> ValidatorSetUpdate { let ValidatorSetV0 { quorum_hash, members: validator_set, threshold_public_key, .. - } = value; + } = self; ValidatorSetUpdate { validator_updates: validator_set - .iter() - .filter_map(|(_, validator)| { + .into_values() + .filter_map(|validator| { let ValidatorV0 { pro_tx_hash, public_key, @@ -261,8 +221,7 @@ impl From<&ValidatorSetV0> for ValidatorSetUpdate { is_banned, .. } = validator; - - if *is_banned { + if is_banned { return None; } let node_address = format!( @@ -271,12 +230,13 @@ impl From<&ValidatorSetV0> for ValidatorSetUpdate { node_ip, platform_p2p_port ); + Some(abci::ValidatorUpdate { - pub_key: public_key.as_ref().map(|public_key| crypto::PublicKey { + pub_key: public_key.map(|public_key| crypto::PublicKey { sum: Some(Bls12381(public_key.to_bytes().to_vec())), }), power: 100, - pro_tx_hash: reverse(&pro_tx_hash.to_byte_array()), + pro_tx_hash: pro_tx_hash.to_byte_array().to_vec(), node_address, }) }) @@ -284,15 +244,13 @@ impl From<&ValidatorSetV0> for ValidatorSetUpdate { threshold_public_key: Some(crypto::PublicKey { sum: Some(Bls12381(threshold_public_key.to_bytes().to_vec())), }), - quorum_hash: reverse(&quorum_hash.to_byte_array()), + quorum_hash: quorum_hash.to_byte_array().to_vec(), } } -} -impl ValidatorSetV0 { /// Try to create a quorum from info from the Masternode list (given with state), /// and for information return for quorum members - pub fn try_from_quorum_info_result( + fn try_from_quorum_info_result( value: QuorumInfoResult, state: &PlatformState, ) -> Result { @@ -350,87 +308,3 @@ impl ValidatorSetV0 { }) } } - -/// Trait providing getter methods for `ValidatorSetV0` struct -pub trait ValidatorSetV0Getters { - /// Returns the quorum hash of the validator set. - fn quorum_hash(&self) -> &QuorumHash; - /// Returns rotation quorum index. It's available only for DIP24 quorums - fn quorum_index(&self) -> Option; - /// Returns the active height of the validator set. - fn core_height(&self) -> u32; - /// Returns the members of the validator set. - fn members(&self) -> &BTreeMap; - /// Returns the members of the validator set. - fn members_mut(&mut self) -> &mut BTreeMap; - /// Returns the members of the validator set. - fn members_owned(self) -> BTreeMap; - /// Returns the threshold public key of the validator set. - fn threshold_public_key(&self) -> &BlsPublicKey; -} - -/// Trait providing setter methods for `ValidatorSetV0` struct -pub trait ValidatorSetV0Setters { - /// Sets the quorum hash of the validator set. - fn set_quorum_hash(&mut self, quorum_hash: QuorumHash); - /// Sets the quorum index of the validator set. - fn set_quorum_index(&mut self, index: Option); - /// Sets the active height of the validator set. - fn set_core_height(&mut self, core_height: u32); - /// Sets the members of the validator set. - fn set_members(&mut self, members: BTreeMap); - /// Sets the threshold public key of the validator set. - fn set_threshold_public_key(&mut self, threshold_public_key: BlsPublicKey); -} - -impl ValidatorSetV0Getters for ValidatorSetV0 { - fn quorum_hash(&self) -> &QuorumHash { - &self.quorum_hash - } - - fn quorum_index(&self) -> Option { - self.quorum_index - } - - fn core_height(&self) -> u32 { - self.core_height - } - - fn members(&self) -> &BTreeMap { - &self.members - } - - fn members_mut(&mut self) -> &mut BTreeMap { - &mut self.members - } - - fn members_owned(self) -> BTreeMap { - self.members - } - - fn threshold_public_key(&self) -> &BlsPublicKey { - &self.threshold_public_key - } -} - -impl ValidatorSetV0Setters for ValidatorSetV0 { - fn set_quorum_hash(&mut self, quorum_hash: QuorumHash) { - self.quorum_hash = quorum_hash; - } - - fn set_quorum_index(&mut self, index: Option) { - self.quorum_index = index; - } - - fn set_core_height(&mut self, core_height: u32) { - self.core_height = core_height; - } - - fn set_members(&mut self, members: BTreeMap) { - self.members = members; - } - - fn set_threshold_public_key(&mut self, threshold_public_key: BlsPublicKey) { - self.threshold_public_key = threshold_public_key; - } -} diff --git a/packages/rs-drive-abci/src/platform_types/withdrawal/unsigned_withdrawal_txs/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/withdrawal/unsigned_withdrawal_txs/v0/mod.rs index 0d61d4e471e..1143c0aa098 100644 --- a/packages/rs-drive-abci/src/platform_types/withdrawal/unsigned_withdrawal_txs/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/withdrawal/unsigned_withdrawal_txs/v0/mod.rs @@ -1,8 +1,10 @@ //! Withdrawal transactions definitions and processing + use dpp::dashcore::consensus::Encodable; use dpp::dashcore::hashes::Hash; use dpp::dashcore::transaction::special_transaction::TransactionPayload::AssetUnlockPayloadType; use dpp::dashcore::{Transaction, VarInt}; +use std::collections::{BTreeMap, HashMap}; use std::fmt::Display; use tenderdash_abci::proto::types::VoteExtension; use tenderdash_abci::proto::{abci::ExtendVoteExtension, types::VoteExtensionType}; @@ -48,19 +50,64 @@ impl UnsignedWithdrawalTxs { } /// Verifies that the collection of unsigned withdrawal transactions matches the given votes extensions - /// created based on these transactions - pub fn are_matching_with_vote_extensions(&self, other: &[VoteExtension]) -> bool { + /// created based on these transactions. + /// Returns a mapping from transactions to their corresponding vote extensions if they match, or `None` if they don't. + pub fn verify_and_match_with_vote_extensions<'a>( + &'a self, + other: &'a [VoteExtension], + ) -> Option> { if self.0.len() != other.len() { - return false; - }; + return None; + } - !self.0.iter().zip(other.iter()).any(|(tx, vote_extension)| { + // Build a map from sign_request_id to VoteExtension + let mut vote_extension_map = HashMap::new(); + for vote_extension in other { + // Ensure that each signature is 96 bytes (size of a bls sig) + if vote_extension.signature.len() != 96 { + return None; + } + // Ensure sign_request_id is Some + if let Some(sign_request_id) = &vote_extension.sign_request_id { + vote_extension_map.insert(sign_request_id.clone(), vote_extension); + } else { + // If sign_request_id is None, we cannot match, return None + return None; + } + } + + let mut tx_to_vote_extension_map = BTreeMap::new(); + + // For each transaction, check if a matching vote extension exists + for tx in &self.0 { let extend_vote_extension = tx_to_extend_vote_extension(tx); + let sign_request_id = match &extend_vote_extension.sign_request_id { + Some(id) => id, + None => { + // If sign_request_id is None, we cannot match, return None + return None; + } + }; + + match vote_extension_map.get(sign_request_id) { + Some(vote_extension) => { + if vote_extension.r#type != extend_vote_extension.r#type + || vote_extension.extension != extend_vote_extension.extension + { + return None; + } else { + // All good, insert into map + tx_to_vote_extension_map.insert(tx, *vote_extension); + } + } + None => { + // No matching vote extension found + return None; + } + } + } - vote_extension.r#type != extend_vote_extension.r#type - || vote_extension.sign_request_id != extend_vote_extension.sign_request_id - || vote_extension.extension != extend_vote_extension.extension - }) + Some(tx_to_vote_extension_map) } } @@ -112,7 +159,7 @@ impl From<&UnsignedWithdrawalTxs> for Vec { } } -fn tx_to_extend_vote_extension(tx: &Transaction) -> ExtendVoteExtension { +pub(crate) fn tx_to_extend_vote_extension(tx: &Transaction) -> ExtendVoteExtension { let request_id = make_extend_vote_request_id(tx); let extension = tx.txid().as_byte_array().to_vec(); diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs index dbc404f84fd..493a60fe801 100644 --- a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs @@ -76,10 +76,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::{assert_invalid_identifier, setup_platform}; + use dpp::dashcore::Network; #[test] fn test_invalid_data_contract_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetDataContractRequestV0 { id: vec![0; 8], @@ -93,7 +94,7 @@ mod tests { #[test] fn test_data_contract_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; let request = GetDataContractRequestV0 { @@ -113,7 +114,7 @@ mod tests { #[test] fn test_data_contract_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; let request = GetDataContractRequestV0 { diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs index 6e7ceb62a12..328f2ac307f 100644 --- a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs @@ -113,6 +113,7 @@ mod tests { use crate::rpc::core::MockCoreRPCLike; use crate::test::helpers::setup::{TempPlatform, TestPlatformBuilder}; use dpp::block::block_info::BlockInfo; + use dpp::dashcore::Network; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::data_contract::config::v0::DataContractConfigSettersV0; use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; @@ -242,7 +243,7 @@ mod tests { #[test] fn test_invalid_data_contract_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetDataContractHistoryRequestV0 { id: vec![0; 8], @@ -261,7 +262,7 @@ mod tests { #[test] fn test_invalid_limit_overflow() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetDataContractHistoryRequestV0 { id: vec![0; 32], @@ -283,7 +284,7 @@ mod tests { #[test] fn test_invalid_offset_overflow() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetDataContractHistoryRequestV0 { id: vec![0; 32], @@ -304,7 +305,7 @@ mod tests { #[test] fn test_data_contract_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; @@ -469,7 +470,7 @@ mod tests { #[test] fn test_data_contract_history_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetDataContractHistoryRequestV0 { id: vec![0; 32], diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs index f7ca5e71edd..12b52e050a7 100644 --- a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs @@ -88,10 +88,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::{assert_invalid_identifier, setup_platform}; + use dpp::dashcore::Network; #[test] fn test_invalid_data_contract_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetDataContractsRequestV0 { ids: vec![vec![0; 8]], @@ -107,7 +108,7 @@ mod tests { #[test] fn test_data_contracts_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; let request = GetDataContractsRequestV0 { @@ -130,7 +131,7 @@ mod tests { #[test] fn test_data_contracts_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; let request = GetDataContractsRequestV0 { diff --git a/packages/rs-drive-abci/src/query/document_query/v0/mod.rs b/packages/rs-drive-abci/src/query/document_query/v0/mod.rs index 0c043af2c94..8af82e39cc0 100644 --- a/packages/rs-drive-abci/src/query/document_query/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/document_query/v0/mod.rs @@ -181,11 +181,12 @@ impl Platform { mod tests { use super::*; use crate::query::tests::{assert_invalid_identifier, setup_platform, store_data_contract}; + use dpp::dashcore::Network; use dpp::tests::fixtures::get_data_contract_fixture; #[test] fn test_invalid_document_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetDocumentsRequestV0 { data_contract_id: vec![0; 8], @@ -206,7 +207,7 @@ mod tests { #[test] fn test_data_contract_not_found_in_documents_request() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let data_contract_id = vec![0; 32]; @@ -232,7 +233,7 @@ mod tests { #[test] fn test_absent_document_type() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); @@ -264,7 +265,7 @@ mod tests { #[test] fn test_invalid_where_clause() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); @@ -294,7 +295,7 @@ mod tests { #[test] fn test_invalid_order_by_clause() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); @@ -324,7 +325,7 @@ mod tests { #[test] fn test_invalid_start_at_clause() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); @@ -354,7 +355,7 @@ mod tests { #[test] fn test_invalid_start_after_clause() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); @@ -384,7 +385,7 @@ mod tests { #[test] fn test_invalid_limit() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); @@ -415,7 +416,7 @@ mod tests { #[test] fn test_documents_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); @@ -448,7 +449,7 @@ mod tests { #[test] fn test_documents_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let created_data_contract = get_data_contract_fixture(None, 0, version.protocol_version); store_data_contract(&platform, created_data_contract.data_contract(), version); diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs index 3abbaec6018..dfabb8560a9 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs @@ -65,10 +65,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::{assert_invalid_identifier, setup_platform}; + use dpp::dashcore::Network; #[test] fn test_invalid_identity_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityBalanceRequestV0 { id: vec![0; 8], @@ -84,7 +85,7 @@ mod tests { #[test] fn test_identity_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; @@ -105,7 +106,7 @@ mod tests { #[test] fn test_identity_balance_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs index 6d3bc39c683..518cb472394 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs @@ -84,10 +84,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::{assert_invalid_identifier, setup_platform}; + use dpp::dashcore::Network; #[test] fn test_invalid_identity_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityBalanceAndRevisionRequestV0 { id: vec![0; 8], @@ -103,7 +104,7 @@ mod tests { #[test] fn test_identity_not_found_when_querying_balance_and_revision() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; @@ -124,7 +125,7 @@ mod tests { #[test] fn test_identity_balance_and_revision_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balances/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balances/mod.rs new file mode 100644 index 00000000000..0e8a2604647 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balances/mod.rs @@ -0,0 +1,61 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identities_balances_request::Version as RequestVersion; +use dapi_grpc::platform::v0::get_identities_balances_response::Version as ResponseVersion; +use dapi_grpc::platform::v0::{GetIdentitiesBalancesRequest, GetIdentitiesBalancesResponse}; +use dpp::version::PlatformVersion; + +mod v0; + +impl Platform { + /// Querying of the balances of multiple identities + pub fn query_identities_balances( + &self, + GetIdentitiesBalancesRequest { version }: GetIdentitiesBalancesRequest, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identity balance query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .identities_balances; + + let feature_version = match &version { + RequestVersion::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "identities_balances".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + RequestVersion::V0(request_v0) => { + let result = self.query_identities_balances_v0( + request_v0, + platform_state, + platform_version, + )?; + + Ok(result.map(|response_v0| GetIdentitiesBalancesResponse { + version: Some(ResponseVersion::V0(response_v0)), + })) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balances/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balances/v0/mod.rs new file mode 100644 index 00000000000..c8d054f8889 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balances/v0/mod.rs @@ -0,0 +1,76 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identities_balances_request::GetIdentitiesBalancesRequestV0; +use dapi_grpc::platform::v0::get_identities_balances_response::{ + get_identities_balances_response_v0, GetIdentitiesBalancesResponseV0, +}; +use dpp::check_validation_result_with_data; +use dpp::identifier::Identifier; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; + +impl Platform { + pub(super) fn query_identities_balances_v0( + &self, + GetIdentitiesBalancesRequestV0 { ids, prove }: GetIdentitiesBalancesRequestV0, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let identifiers = check_validation_result_with_data!(ids + .into_iter() + .map(|identity_id| { + let identifier: Identifier = identity_id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })?; + Ok(identifier.into_buffer()) + }) + .collect::, QueryError>>()); + let response = if prove { + let proof = + check_validation_result_with_data!(self.drive.prove_many_identity_balances( + identifiers.as_slice(), + None, + &platform_version.drive + )); + + GetIdentitiesBalancesResponseV0 { + result: Some(get_identities_balances_response_v0::Result::Proof( + self.response_proof_v0(platform_state, proof), + )), + metadata: Some(self.response_metadata_v0(platform_state)), + } + } else { + let map = |(key, value): ([u8; 32], Option)| { + get_identities_balances_response_v0::IdentityBalance { + identity_id: key.to_vec(), + balance: value, + } + }; + + let identities_balances = self + .drive + .fetch_optional_identities_balances(&identifiers, None, platform_version)? + .into_iter() + .map(map) + .collect(); + + GetIdentitiesBalancesResponseV0 { + result: Some( + get_identities_balances_response_v0::Result::IdentitiesBalances( + get_identities_balances_response_v0::IdentitiesBalances { + entries: identities_balances, + }, + ), + ), + metadata: Some(self.response_metadata_v0(platform_state)), + } + }; + + Ok(QueryValidationResult::new_with_data(response)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identities_contract_keys/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identities_contract_keys/v0/mod.rs index 8b37d350711..195d3bfe5fd 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/identities_contract_keys/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identities_contract_keys/v0/mod.rs @@ -144,12 +144,14 @@ mod tests { use rand::{Rng, SeedableRng}; use itertools::Itertools; use dapi_grpc::platform::v0::get_identities_contract_keys_response::get_identities_contract_keys_response_v0::{IdentitiesKeys, IdentityKeys, Result}; + use dpp::dashcore::Network; use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; use drive::drive::Drive; #[test] fn test_identities_contract_keys_missing_identity() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); @@ -179,7 +181,8 @@ mod tests { #[test] fn test_identities_contract_keys_missing_identity_proved() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); @@ -230,7 +233,7 @@ mod tests { #[test] fn test_identities_contract_keys_missing_identity_absent_contract() { - let (platform, state, platform_version) = setup_platform(false); + let (platform, state, platform_version) = setup_platform(None, Network::Testnet, None); let request = GetIdentitiesContractKeysRequestV0 { identities_ids: vec![vec![1; 32]], @@ -258,7 +261,7 @@ mod tests { #[test] fn test_identities_contract_keys_missing_identity_absent_contract_proved() { - let (platform, state, platform_version) = setup_platform(false); + let (platform, state, platform_version) = setup_platform(None, Network::Testnet, None); let request = GetIdentitiesContractKeysRequestV0 { identities_ids: vec![vec![1; 32]], @@ -305,7 +308,7 @@ mod tests { #[test] fn test_identities_contract_keys_with_identity_absent_contract() { - let (platform, state, platform_version) = setup_platform(false); + let (platform, state, platform_version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); @@ -347,7 +350,7 @@ mod tests { #[test] fn test_identities_contract_keys_with_identity_absent_contract_proved() { - let (platform, state, platform_version) = setup_platform(false); + let (platform, state, platform_version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); @@ -408,7 +411,8 @@ mod tests { #[test] fn test_identities_contract_keys_missing_identity_keys() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); @@ -452,7 +456,8 @@ mod tests { #[test] fn test_identities_contract_keys_missing_identity_keys_proved() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); @@ -515,7 +520,8 @@ mod tests { #[test] fn test_identities_contract_keys() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); @@ -673,7 +679,8 @@ mod tests { #[test] fn test_identities_contract_keys_proof() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); @@ -768,7 +775,8 @@ mod tests { #[test] fn test_multiple_identities_contract_keys() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); @@ -968,7 +976,8 @@ mod tests { #[test] fn test_multiple_identities_contract_keys_proof() { - let (platform, state, platform_version) = setup_platform(true); + let (platform, state, platform_version) = + setup_platform(Some((1, 1)), Network::Testnet, None); let dashpay = platform.drive.cache.system_data_contracts.load_dashpay(); diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs index fa1b9002bc0..ae2ae470273 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs @@ -71,10 +71,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::{assert_invalid_identifier, setup_platform}; + use dpp::dashcore::Network; #[test] fn test_invalid_identity_id() { - let (platform, state, _unused_version) = setup_platform(false); + let (platform, state, _unused_version) = setup_platform(None, Network::Testnet, None); let version = PlatformVersion::latest(); @@ -92,7 +93,7 @@ mod tests { #[test] fn test_identity_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; let request = GetIdentityRequestV0 { @@ -114,7 +115,7 @@ mod tests { #[test] fn test_identity_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; let request = GetIdentityRequestV0 { diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs index 38e4b50a911..0d3db5c8023 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs @@ -79,10 +79,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::setup_platform; + use dpp::dashcore::Network; #[test] fn test_invalid_public_key_hash() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityByPublicKeyHashRequestV0 { public_key_hash: vec![0; 8], @@ -101,7 +102,7 @@ mod tests { #[test] fn test_identity_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let public_key_hash = vec![0; 20]; let request = GetIdentityByPublicKeyHashRequestV0 { @@ -121,7 +122,7 @@ mod tests { #[test] fn test_identity_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let public_key_hash = vec![0; 20]; let request = GetIdentityByPublicKeyHashRequestV0 { diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity_contract_nonce/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity_contract_nonce/v0/mod.rs index ba4e81643c1..ec40ac73587 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/identity_contract_nonce/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity_contract_nonce/v0/mod.rs @@ -80,6 +80,7 @@ mod tests { use super::*; use crate::query::tests::setup_platform; use dpp::block::block_info::BlockInfo; + use dpp::dashcore::Network; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::identity::accessors::IdentityGettersV0; use dpp::identity::identity_nonce::{ @@ -91,7 +92,7 @@ mod tests { #[test] fn test_invalid_identity_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityContractNonceRequestV0 { identity_id: vec![0; 8], @@ -110,7 +111,7 @@ mod tests { #[test] fn test_invalid_contract_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityContractNonceRequestV0 { identity_id: vec![0; 32], @@ -129,7 +130,7 @@ mod tests { #[test] fn test_identity_not_found_when_querying_identity_nonce() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityContractNonceRequestV0 { identity_id: vec![0; 32], @@ -156,7 +157,7 @@ mod tests { #[test] fn test_contract_info_not_found_when_querying_identity_nonce_with_known_identity() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(45); let id = rng.gen::<[u8; 32]>(); let _unused_identity = @@ -188,7 +189,7 @@ mod tests { #[test] fn test_identity_is_found_when_querying_identity_nonce() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); let id = rng.gen::<[u8; 32]>(); let identity = create_test_identity_with_rng(&platform.drive, id, &mut rng, None, version) @@ -235,7 +236,7 @@ mod tests { #[test] fn test_identity_is_found_when_querying_identity_nonce_after_update() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); let id = rng.gen::<[u8; 32]>(); let identity = create_test_identity_with_rng(&platform.drive, id, &mut rng, None, version) @@ -296,7 +297,7 @@ mod tests { #[test] fn test_identity_is_found_when_querying_identity_nonce_after_update_for_past() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); let id = rng.gen::<[u8; 32]>(); let identity = create_test_identity_with_rng(&platform.drive, id, &mut rng, None, version) @@ -372,7 +373,7 @@ mod tests { #[test] fn test_identity_contract_nonce_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityContractNonceRequestV0 { identity_id: vec![0; 32], diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity_nonce/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity_nonce/v0/mod.rs index 855fae69b01..45abbb1710e 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/identity_nonce/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity_nonce/v0/mod.rs @@ -61,6 +61,7 @@ mod tests { use super::*; use crate::query::tests::setup_platform; use dpp::block::block_info::BlockInfo; + use dpp::dashcore::Network; use dpp::identity::accessors::IdentityGettersV0; use dpp::identity::identity_nonce::{ IDENTITY_NONCE_VALUE_FILTER, IDENTITY_NONCE_VALUE_FILTER_MAX_BYTES, @@ -71,7 +72,7 @@ mod tests { #[test] fn test_invalid_identity_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityNonceRequestV0 { identity_id: vec![0; 8], @@ -89,7 +90,7 @@ mod tests { #[test] fn test_identity_not_found_when_querying_identity_nonce() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityNonceRequestV0 { identity_id: vec![0; 32], @@ -113,7 +114,7 @@ mod tests { #[test] fn test_identity_is_found_when_querying_identity_nonce() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); let id = rng.gen::<[u8; 32]>(); let _unused_identity = @@ -142,7 +143,7 @@ mod tests { #[test] fn test_identity_is_found_when_querying_identity_nonce_after_update() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); let id = rng.gen::<[u8; 32]>(); let identity = create_test_identity_with_rng(&platform.drive, id, &mut rng, None, version) @@ -194,7 +195,7 @@ mod tests { #[test] fn test_identity_is_found_when_querying_identity_nonce_after_update_for_past() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rng = StdRng::seed_from_u64(10); let id = rng.gen::<[u8; 32]>(); let identity = create_test_identity_with_rng(&platform.drive, id, &mut rng, None, version) @@ -259,7 +260,7 @@ mod tests { #[test] fn test_identity_contract_nonce_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityNonceRequestV0 { identity_id: vec![0; 32], diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs index a8e8510b241..3cc854832d4 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs @@ -169,10 +169,11 @@ mod tests { use crate::query::tests::{assert_invalid_identifier, setup_platform}; use dapi_grpc::platform::v0::key_request_type::Request; use dapi_grpc::platform::v0::{AllKeys, KeyRequestType, SearchKey, SecurityLevelMap}; + use dpp::dashcore::Network; #[test] fn test_invalid_identity_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 8], @@ -191,7 +192,7 @@ mod tests { #[test] fn test_invalid_limit_u16_overflow() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], @@ -213,7 +214,7 @@ mod tests { #[test] fn test_invalid_limit_max() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], @@ -240,7 +241,7 @@ mod tests { #[test] fn test_invalid_offset_u16_overflow() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], @@ -262,7 +263,7 @@ mod tests { #[test] fn test_missing_request_type() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], @@ -284,7 +285,7 @@ mod tests { #[test] fn test_missing_request() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], @@ -306,7 +307,7 @@ mod tests { #[test] fn test_invalid_key_request_type() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], @@ -339,7 +340,7 @@ mod tests { #[test] fn test_absent_keys() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], @@ -366,7 +367,7 @@ mod tests { #[test] fn test_absent_keys_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetIdentityKeysRequestV0 { identity_id: vec![0; 32], diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/mod.rs index 3a9d833283d..29fea765215 100644 --- a/packages/rs-drive-abci/src/query/identity_based_queries/mod.rs +++ b/packages/rs-drive-abci/src/query/identity_based_queries/mod.rs @@ -1,5 +1,6 @@ mod balance; mod balance_and_revision; +mod balances; mod identities_contract_keys; mod identity; mod identity_by_public_key_hash; diff --git a/packages/rs-drive-abci/src/query/mod.rs b/packages/rs-drive-abci/src/query/mod.rs index 19e2ce10975..a7d58c7358d 100644 --- a/packages/rs-drive-abci/src/query/mod.rs +++ b/packages/rs-drive-abci/src/query/mod.rs @@ -6,6 +6,7 @@ mod proofs; mod response_metadata; mod service; mod system; +mod validator_queries; mod voting; use crate::error::query::QueryError; @@ -18,7 +19,7 @@ pub use service::QueryService; pub type QueryValidationResult = ValidationResult; #[cfg(test)] -mod tests { +pub(crate) mod tests { use crate::error::query::QueryError; use crate::platform_types::platform::Platform; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; @@ -29,31 +30,52 @@ mod tests { use dpp::block::block_info::BlockInfo; use dpp::data_contract::DataContract; + use crate::config::PlatformConfig; + use dpp::dashcore::Network; + use dpp::prelude::{CoreBlockHeight, TimestampMillis}; use drive::util::batch::DataContractOperationType; use drive::util::batch::DriveOperation::DataContractOperation; - use platform_version::version::PlatformVersion; + use platform_version::version::{PlatformVersion, ProtocolVersion}; use std::borrow::Cow; use std::sync::Arc; pub fn setup_platform<'a>( - with_genesis_state: bool, + with_genesis_state: Option<(TimestampMillis, CoreBlockHeight)>, + network: Network, + initial_protocol_version: Option, ) -> ( TempPlatform, Arc, &'a PlatformVersion, ) { - let platform = if with_genesis_state { - TestPlatformBuilder::new() + let platform = if let Some((timestamp, activation_core_block_height)) = with_genesis_state { + let mut platform_builder = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_for_network(network)); + + if let Some(initial_protocol_version) = initial_protocol_version { + platform_builder = + platform_builder.with_initial_protocol_version(initial_protocol_version); + } + + platform_builder .build_with_mock_rpc() - .set_genesis_state() + .set_genesis_state_with_activation_info(timestamp, activation_core_block_height) } else { - TestPlatformBuilder::new() + let mut platform_builder = TestPlatformBuilder::new() + .with_config(PlatformConfig::default_for_network(network)); + + if let Some(initial_protocol_version) = initial_protocol_version { + platform_builder = + platform_builder.with_initial_protocol_version(initial_protocol_version); + } + + platform_builder .build_with_mock_rpc() .set_initial_state_structure() }; // We can't return a reference to Arc (`load` method) so we clone Arc (`load_full`). - // This is a bit slower but we don't care since we are in test environment + // This is a bit slower, but we don't care since we are in test environment let platform_state = platform.platform.state.load_full(); let platform_version = platform_state.current_platform_version().unwrap(); diff --git a/packages/rs-drive-abci/src/query/prefunded_specialized_balances/balance/v0/mod.rs b/packages/rs-drive-abci/src/query/prefunded_specialized_balances/balance/v0/mod.rs index b4a21fd97bf..fed648c116a 100644 --- a/packages/rs-drive-abci/src/query/prefunded_specialized_balances/balance/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/prefunded_specialized_balances/balance/v0/mod.rs @@ -70,10 +70,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::{assert_invalid_identifier, setup_platform}; + use dpp::dashcore::Network; #[test] fn test_invalid_identity_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetPrefundedSpecializedBalanceRequestV0 { id: vec![0; 8], @@ -89,7 +90,7 @@ mod tests { #[test] fn test_identity_not_found() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; @@ -110,7 +111,7 @@ mod tests { #[test] fn test_identity_balance_absence_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let id = vec![0; 32]; diff --git a/packages/rs-drive-abci/src/query/proofs/v0/mod.rs b/packages/rs-drive-abci/src/query/proofs/v0/mod.rs index e82980bdf34..7db4d012276 100644 --- a/packages/rs-drive-abci/src/query/proofs/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/proofs/v0/mod.rs @@ -173,13 +173,14 @@ mod tests { use dapi_grpc::platform::v0::get_proofs_request::get_proofs_request_v0::{ ContractRequest, DocumentRequest, IdentityRequest, VoteStatusRequest, }; + use dpp::dashcore::Network; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::platform_value::Value; use dpp::util::strings::convert_to_homograph_safe_chars; #[test] fn test_invalid_identity_ids() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProofsRequestV0 { identities: vec![IdentityRequest { @@ -200,7 +201,7 @@ mod tests { #[test] fn test_invalid_identity_prove_request_type() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request_type = 10; @@ -229,7 +230,7 @@ mod tests { #[test] fn test_invalid_contract_ids() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProofsRequestV0 { identities: vec![], @@ -249,7 +250,7 @@ mod tests { #[test] fn test_invalid_contract_id_for_documents_proof() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProofsRequestV0 { identities: vec![], @@ -273,7 +274,7 @@ mod tests { #[test] fn test_invalid_document_id() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProofsRequestV0 { identities: vec![], @@ -297,7 +298,7 @@ mod tests { #[test] fn test_proof_of_absence() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProofsRequestV0 { identities: vec![], @@ -324,7 +325,7 @@ mod tests { #[test] fn test_proof_of_absence_of_vote() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let dpns_contract = platform .drive @@ -376,7 +377,7 @@ mod tests { #[test] fn test_prove_all() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProofsRequestV0 { identities: vec![IdentityRequest { diff --git a/packages/rs-drive-abci/src/query/service.rs b/packages/rs-drive-abci/src/query/service.rs index 3c7b147ea08..54e51348c0a 100644 --- a/packages/rs-drive-abci/src/query/service.rs +++ b/packages/rs-drive-abci/src/query/service.rs @@ -15,19 +15,24 @@ use dapi_grpc::platform::v0::{ GetContestedResourceIdentityVotesResponse, GetContestedResourceVoteStateRequest, GetContestedResourceVoteStateResponse, GetContestedResourceVotersForIdentityRequest, GetContestedResourceVotersForIdentityResponse, GetContestedResourcesRequest, - GetContestedResourcesResponse, GetDataContractHistoryRequest, GetDataContractHistoryResponse, - GetDataContractRequest, GetDataContractResponse, GetDataContractsRequest, - GetDataContractsResponse, GetDocumentsRequest, GetDocumentsResponse, GetEpochsInfoRequest, - GetEpochsInfoResponse, GetIdentitiesContractKeysRequest, GetIdentitiesContractKeysResponse, - GetIdentityBalanceAndRevisionRequest, GetIdentityBalanceAndRevisionResponse, - GetIdentityBalanceRequest, GetIdentityBalanceResponse, GetIdentityByPublicKeyHashRequest, - GetIdentityByPublicKeyHashResponse, GetIdentityContractNonceRequest, - GetIdentityContractNonceResponse, GetIdentityKeysRequest, GetIdentityKeysResponse, - GetIdentityNonceRequest, GetIdentityNonceResponse, GetIdentityRequest, GetIdentityResponse, - GetPathElementsRequest, GetPathElementsResponse, GetPrefundedSpecializedBalanceRequest, - GetPrefundedSpecializedBalanceResponse, GetProofsRequest, GetProofsResponse, - GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeStateResponse, - GetProtocolVersionUpgradeVoteStatusRequest, GetProtocolVersionUpgradeVoteStatusResponse, + GetContestedResourcesResponse, GetCurrentQuorumsInfoRequest, GetCurrentQuorumsInfoResponse, + GetDataContractHistoryRequest, GetDataContractHistoryResponse, GetDataContractRequest, + GetDataContractResponse, GetDataContractsRequest, GetDataContractsResponse, + GetDocumentsRequest, GetDocumentsResponse, GetEpochsInfoRequest, GetEpochsInfoResponse, + GetEvonodesProposedEpochBlocksByIdsRequest, GetEvonodesProposedEpochBlocksByRangeRequest, + GetEvonodesProposedEpochBlocksResponse, GetIdentitiesBalancesRequest, + GetIdentitiesBalancesResponse, GetIdentitiesContractKeysRequest, + GetIdentitiesContractKeysResponse, GetIdentityBalanceAndRevisionRequest, + GetIdentityBalanceAndRevisionResponse, GetIdentityBalanceRequest, GetIdentityBalanceResponse, + GetIdentityByPublicKeyHashRequest, GetIdentityByPublicKeyHashResponse, + GetIdentityContractNonceRequest, GetIdentityContractNonceResponse, GetIdentityKeysRequest, + GetIdentityKeysResponse, GetIdentityNonceRequest, GetIdentityNonceResponse, GetIdentityRequest, + GetIdentityResponse, GetPathElementsRequest, GetPathElementsResponse, + GetPrefundedSpecializedBalanceRequest, GetPrefundedSpecializedBalanceResponse, + GetProofsRequest, GetProofsResponse, GetProtocolVersionUpgradeStateRequest, + GetProtocolVersionUpgradeStateResponse, GetProtocolVersionUpgradeVoteStatusRequest, + GetProtocolVersionUpgradeVoteStatusResponse, GetStatusRequest, GetStatusResponse, + GetTotalCreditsInPlatformRequest, GetTotalCreditsInPlatformResponse, GetVotePollsByEndDateRequest, GetVotePollsByEndDateResponse, WaitForStateTransitionResultRequest, WaitForStateTransitionResultResponse, }; @@ -532,6 +537,78 @@ impl PlatformService for QueryService { ) .await } + + async fn get_total_credits_in_platform( + &self, + request: Request, + ) -> Result, Status> { + self.handle_blocking_query( + request, + Platform::::query_total_credits_in_platform, + "get_total_credits_in_platform", + ) + .await + } + + async fn get_identities_balances( + &self, + request: Request, + ) -> Result, Status> { + self.handle_blocking_query( + request, + Platform::::query_identities_balances, + "get_identities_balances", + ) + .await + } + + async fn get_status( + &self, + request: Request, + ) -> Result, Status> { + self.handle_blocking_query( + request, + Platform::::query_partial_status, + "query_partial_status", + ) + .await + } + + async fn get_evonodes_proposed_epoch_blocks_by_ids( + &self, + request: Request, + ) -> Result, Status> { + self.handle_blocking_query( + request, + Platform::::query_proposed_block_counts_by_evonode_ids, + "query_proposed_block_counts_by_evonode_ids", + ) + .await + } + + async fn get_evonodes_proposed_epoch_blocks_by_range( + &self, + request: Request, + ) -> Result, Status> { + self.handle_blocking_query( + request, + Platform::::query_proposed_block_counts_by_range, + "query_proposed_block_counts_by_range", + ) + .await + } + + async fn get_current_quorums_info( + &self, + request: Request, + ) -> Result, Status> { + self.handle_blocking_query( + request, + Platform::::query_current_quorums_info, + "query_current_quorums_info", + ) + .await + } } fn query_error_into_status(error: QueryError) -> Status { diff --git a/packages/rs-drive-abci/src/query/system/current_quorums_info/mod.rs b/packages/rs-drive-abci/src/query/system/current_quorums_info/mod.rs new file mode 100644 index 00000000000..85ac9296872 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/current_quorums_info/mod.rs @@ -0,0 +1,59 @@ +mod v0; + +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_current_quorums_info_request::Version as RequestVersion; +use dapi_grpc::platform::v0::get_current_quorums_info_response::Version as ResponseVersion; +use dapi_grpc::platform::v0::{GetCurrentQuorumsInfoRequest, GetCurrentQuorumsInfoResponse}; +use dpp::version::PlatformVersion; + +impl Platform { + /// Querying of current quorums info + pub fn query_current_quorums_info( + &self, + GetCurrentQuorumsInfoRequest { version }: GetCurrentQuorumsInfoRequest, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError( + "could not decode current quorums info request".to_string(), + ), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .system + .current_quorums_info; + + let feature_version = match &version { + RequestVersion::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "current_quorums_info".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + RequestVersion::V0(request_v0) => { + let result = self.query_current_quorums_info_v0(request_v0, platform_state)?; + + Ok(result.map(|response_v0| GetCurrentQuorumsInfoResponse { + version: Some(ResponseVersion::V0(response_v0)), + })) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/system/current_quorums_info/v0/mod.rs b/packages/rs-drive-abci/src/query/system/current_quorums_info/v0/mod.rs new file mode 100644 index 00000000000..f512f4b8f09 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/current_quorums_info/v0/mod.rs @@ -0,0 +1,68 @@ +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::platform_types::validator_set::v0::ValidatorSetV0Getters; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_current_quorums_info_request::GetCurrentQuorumsInfoRequestV0; +use dapi_grpc::platform::v0::get_current_quorums_info_response::{ + GetCurrentQuorumsInfoResponseV0, ValidatorSetV0, ValidatorV0, +}; +use dpp::dashcore::hashes::Hash; + +impl Platform { + pub(super) fn query_current_quorums_info_v0( + &self, + GetCurrentQuorumsInfoRequestV0 {}: GetCurrentQuorumsInfoRequestV0, + platform_state: &PlatformState, + ) -> Result, Error> { + // Get all validator sets sorted by core height + let validator_sets_sorted = + platform_state.validator_sets_sorted_by_core_height_by_most_recent(); + + // Collect the validator sets in the desired format + let validator_sets: Vec = validator_sets_sorted + .iter() + .map(|validator_set| { + // Map each ProTxHash to a ValidatorV0 object + let members: Vec = validator_set + .members() + .iter() + .map(|(pro_tx_hash, validator)| ValidatorV0 { + pro_tx_hash: pro_tx_hash.as_byte_array().to_vec(), + node_ip: validator.node_ip.clone(), + is_banned: validator.is_banned, + }) + .collect(); + + // Construct a ValidatorSetV0 object + ValidatorSetV0 { + quorum_hash: validator_set.quorum_hash().as_byte_array().to_vec(), + core_height: validator_set.core_height(), + members, + threshold_public_key: validator_set.threshold_public_key().to_bytes().to_vec(), + } + }) + .collect(); + + // Get the current proposer index and current quorum index, if applicable + let current_quorum_index = platform_state.current_validator_set_quorum_hash(); + let last_committed_block_proposer_pro_tx_hash = + platform_state.last_committed_block_proposer_pro_tx_hash(); + + // Construct the response + let response = GetCurrentQuorumsInfoResponseV0 { + quorum_hashes: validator_sets_sorted + .iter() + .map(|validator_set| validator_set.quorum_hash().as_byte_array().to_vec()) + .collect(), + validator_sets, + last_block_proposer: last_committed_block_proposer_pro_tx_hash.to_vec(), + current_quorum_hash: current_quorum_index.as_byte_array().to_vec(), + metadata: Some(self.response_metadata_v0(platform_state)), + }; + + // Return the response wrapped in a QueryValidationResult + Ok(QueryValidationResult::new_with_data(response)) + } +} diff --git a/packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs b/packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs index 4684008a2b7..8df6f0a6818 100644 --- a/packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs @@ -102,10 +102,11 @@ impl Platform { mod tests { use super::*; use crate::query::tests::setup_platform; + use dpp::dashcore::Network; #[test] fn test_query_empty_epoch_infos() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetEpochsInfoRequestV0 { start_epoch: None, // 0 @@ -129,7 +130,7 @@ mod tests { #[test] fn test_query_empty_epoch_infos_descending() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetEpochsInfoRequestV0 { start_epoch: None, // 0 diff --git a/packages/rs-drive-abci/src/query/system/mod.rs b/packages/rs-drive-abci/src/query/system/mod.rs index 939d80f5194..6eecfed9108 100644 --- a/packages/rs-drive-abci/src/query/system/mod.rs +++ b/packages/rs-drive-abci/src/query/system/mod.rs @@ -1,4 +1,7 @@ +mod current_quorums_info; mod epoch_infos; mod path_elements; +mod status; +mod total_credits_in_platform; mod version_upgrade_state; mod version_upgrade_vote_status; diff --git a/packages/rs-drive-abci/src/query/system/path_elements/mod.rs b/packages/rs-drive-abci/src/query/system/path_elements/mod.rs index 1a915236024..cf056e84b22 100644 --- a/packages/rs-drive-abci/src/query/system/path_elements/mod.rs +++ b/packages/rs-drive-abci/src/query/system/path_elements/mod.rs @@ -20,7 +20,7 @@ impl Platform { ) -> Result, Error> { let Some(version) = version else { return Ok(QueryValidationResult::new_with_error( - QueryError::DecodingError("could not decode epoch info request".to_string()), + QueryError::DecodingError("could not decode path elements".to_string()), )); }; diff --git a/packages/rs-drive-abci/src/query/system/path_elements/v0/mod.rs b/packages/rs-drive-abci/src/query/system/path_elements/v0/mod.rs index dec93e5b925..0808f3398d8 100644 --- a/packages/rs-drive-abci/src/query/system/path_elements/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/system/path_elements/v0/mod.rs @@ -77,6 +77,7 @@ impl Platform { mod tests { use super::*; use crate::query::tests::setup_platform; + use dpp::dashcore::Network; use drive::drive::balances::TOTAL_SYSTEM_CREDITS_STORAGE_KEY; use drive::drive::RootTree; use drive::grovedb::Element; @@ -84,7 +85,7 @@ mod tests { #[test] fn test_query_total_system_credits_from_path_elements_query() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let platform_version = PlatformVersion::latest(); diff --git a/packages/rs-drive-abci/src/query/system/status/mod.rs b/packages/rs-drive-abci/src/query/system/status/mod.rs new file mode 100644 index 00000000000..3fd78f8ede2 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/status/mod.rs @@ -0,0 +1,52 @@ +mod v0; + +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_status_request::{GetStatusRequestV0, Version as RequestVersion}; +use dapi_grpc::platform::v0::get_status_response::Version as ResponseVersion; +use dapi_grpc::platform::v0::{GetStatusRequest, GetStatusResponse}; +use dpp::version::PlatformVersion; + +impl Platform { + /// Querying Drive information for platform status endpoint + /// implemented in DAPI + pub fn query_partial_status( + &self, + _request: GetStatusRequest, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + // GetStatusRequestV0 doesn't contain any fields so request version + // will be always empty + let version = RequestVersion::V0(GetStatusRequestV0 {}); + + let feature_version_bounds = &platform_version.drive_abci.query.system.partial_status; + + let feature_version = match &version { + RequestVersion::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "partial_status".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + RequestVersion::V0(request_v0) => { + let result = self.query_partial_status_v0(request_v0, platform_state)?; + + Ok(result.map(|response_v0| GetStatusResponse { + version: Some(ResponseVersion::V0(response_v0)), + })) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/system/status/v0/mod.rs b/packages/rs-drive-abci/src/query/system/status/v0/mod.rs new file mode 100644 index 00000000000..5d336f11f6f --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/status/v0/mod.rs @@ -0,0 +1,73 @@ +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_status_request::GetStatusRequestV0; +use dapi_grpc::platform::v0::get_status_response::{get_status_response_v0, GetStatusResponseV0}; + +use crate::platform_types::platform_state::PlatformState; +use dpp::version::PlatformVersion; + +impl Platform { + pub(super) fn query_partial_status_v0( + &self, + _request: GetStatusRequestV0, + platform_state: &PlatformState, + ) -> Result, Error> { + let latest_supported_protocol_version = PlatformVersion::latest().protocol_version; + + let version = get_status_response_v0::Version { + protocol: Some(get_status_response_v0::version::Protocol { + tenderdash: None, + drive: Some(get_status_response_v0::version::protocol::Drive { + latest: latest_supported_protocol_version, + current: platform_state.current_protocol_version_in_consensus(), + }), + }), + software: Some(get_status_response_v0::version::Software { + dapi: "".to_string(), + drive: Some(env!("CARGO_PKG_VERSION").to_string()), + tenderdash: None, + }), + }; + + let chain = get_status_response_v0::Chain { + catching_up: false, + latest_block_hash: vec![], + latest_app_hash: vec![], + latest_block_height: 0, + earliest_block_hash: vec![], + earliest_app_hash: vec![], + earliest_block_height: 0, + max_peer_block_height: 0, + core_chain_locked_height: Some(platform_state.last_committed_core_height()), + }; + + let time = get_status_response_v0::Time { + local: 0, + block: Some( + platform_state + .last_committed_block_time_ms() + .unwrap_or_default(), + ), + genesis: Some( + platform_state + .genesis_block_info() + .map(|info| info.time_ms) + .unwrap_or_default(), + ), + epoch: Some(platform_state.last_committed_block_epoch().index as u32), + }; + + let response = GetStatusResponseV0 { + version: Some(version), + node: None, + chain: Some(chain), + network: None, + state_sync: None, + time: Some(time), + }; + + Ok(QueryValidationResult::new_with_data(response)) + } +} diff --git a/packages/rs-drive-abci/src/query/system/total_credits_in_platform/mod.rs b/packages/rs-drive-abci/src/query/system/total_credits_in_platform/mod.rs new file mode 100644 index 00000000000..f0d126b0d0e --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/total_credits_in_platform/mod.rs @@ -0,0 +1,63 @@ +mod v0; + +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_total_credits_in_platform_request::Version as RequestVersion; +use dapi_grpc::platform::v0::get_total_credits_in_platform_response::Version as ResponseVersion; +use dapi_grpc::platform::v0::{ + GetTotalCreditsInPlatformRequest, GetTotalCreditsInPlatformResponse, +}; +use dpp::version::PlatformVersion; + +impl Platform { + /// Querying the total credits in platform + pub fn query_total_credits_in_platform( + &self, + GetTotalCreditsInPlatformRequest { version }: GetTotalCreditsInPlatformRequest, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode total credits in platform".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .system + .total_credits_in_platform; + + let feature_version = match &version { + RequestVersion::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "total_credits_in_platform".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + RequestVersion::V0(request_v0) => { + let result = self.query_total_credits_in_platform_v0( + request_v0, + platform_state, + platform_version, + )?; + + Ok(result.map(|response_v0| GetTotalCreditsInPlatformResponse { + version: Some(ResponseVersion::V0(response_v0)), + })) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/system/total_credits_in_platform/v0/mod.rs b/packages/rs-drive-abci/src/query/system/total_credits_in_platform/v0/mod.rs new file mode 100644 index 00000000000..829950e1f16 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/total_credits_in_platform/v0/mod.rs @@ -0,0 +1,333 @@ +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_total_credits_in_platform_request::GetTotalCreditsInPlatformRequestV0; +use dapi_grpc::platform::v0::get_total_credits_in_platform_response::{ + get_total_credits_in_platform_response_v0, GetTotalCreditsInPlatformResponseV0, +}; +use dpp::block::epoch::Epoch; +use dpp::check_validation_result_with_data; +use dpp::core_subsidy::epoch_core_reward_credits_for_distribution::epoch_core_reward_credits_for_distribution; +use dpp::core_subsidy::NetworkCoreSubsidy; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use drive::drive::balances::{ + total_credits_on_platform_path_query, TOTAL_SYSTEM_CREDITS_STORAGE_KEY, +}; +use drive::drive::credit_pools::epochs::epoch_key_constants::KEY_START_BLOCK_CORE_HEIGHT; +use drive::drive::credit_pools::epochs::epochs_root_tree_key_constants::KEY_UNPAID_EPOCH_INDEX; +use drive::drive::credit_pools::epochs::paths::EpochProposers; +use drive::drive::system::misc_path; +use drive::drive::RootTree; +use drive::error::proof::ProofError; +use drive::grovedb::{PathQuery, Query, SizedQuery}; +use drive::util::grove_operations::DirectQueryType; + +impl Platform { + pub(super) fn query_total_credits_in_platform_v0( + &self, + GetTotalCreditsInPlatformRequestV0 { prove }: GetTotalCreditsInPlatformRequestV0, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let response = if prove { + let mut total_credits_on_platform_path_query = total_credits_on_platform_path_query(); + + total_credits_on_platform_path_query.query.limit = None; + + let unpaid_epoch = self.drive.get_unpaid_epoch_index(None, platform_version)?; + + // we also need the path_query for the start_core_height of this unpaid epoch + let unpaid_epoch_index_path_query = PathQuery { + path: vec![vec![RootTree::Pools as u8]], + query: SizedQuery { + query: Query::new_single_key(KEY_UNPAID_EPOCH_INDEX.to_vec()), + limit: None, + offset: None, + }, + }; + + let epoch = Epoch::new(unpaid_epoch)?; + + let start_core_height_query = PathQuery { + path: epoch.get_path_vec(), + query: SizedQuery { + query: Query::new_single_key(KEY_START_BLOCK_CORE_HEIGHT.to_vec()), + limit: None, + offset: None, + }, + }; + + let path_query = PathQuery::merge( + vec![ + &total_credits_on_platform_path_query, + &unpaid_epoch_index_path_query, + &start_core_height_query, + ], + &platform_version.drive.grove_version, + )?; + + let proof = check_validation_result_with_data!(self.drive.grove_get_proved_path_query( + &path_query, + None, + &mut vec![], + &platform_version.drive, + )); + + GetTotalCreditsInPlatformResponseV0 { + result: Some(get_total_credits_in_platform_response_v0::Result::Proof( + self.response_proof_v0(platform_state, proof), + )), + metadata: Some(self.response_metadata_v0(platform_state)), + } + } else { + let path_holding_total_credits = misc_path(); + let total_credits_in_platform = self + .drive + .grove_get_raw_value_u64_from_encoded_var_vec( + (&path_holding_total_credits).into(), + TOTAL_SYSTEM_CREDITS_STORAGE_KEY, + DirectQueryType::StatefulDirectQuery, + None, + &mut vec![], + &platform_version.drive, + )? + .unwrap_or_default(); // 0 would mean we haven't initialized yet + + let unpaid_epoch_index = self.drive.get_unpaid_epoch_index(None, platform_version)?; + + let unpaid_epoch = Epoch::new(unpaid_epoch_index)?; + + let start_block_core_height = if unpaid_epoch.index == 0 { + self.drive + .fetch_genesis_core_height(None, platform_version)? + } else { + self.drive.get_epoch_start_block_core_height( + &unpaid_epoch, + None, + platform_version, + )? + 1 + }; + + let reward_credits_accumulated_during_current_epoch = + epoch_core_reward_credits_for_distribution( + start_block_core_height, + platform_state.last_committed_core_height(), + self.config.network.core_subsidy_halving_interval(), + platform_version, + )?; + + let total_credits_with_rewards = total_credits_in_platform.checked_add(reward_credits_accumulated_during_current_epoch).ok_or(drive::error::Error::Proof(ProofError::CorruptedProof("overflow while adding platform credits with reward credits accumulated during current epoch".to_string())))?; + + GetTotalCreditsInPlatformResponseV0 { + result: Some(get_total_credits_in_platform_response_v0::Result::Credits( + total_credits_with_rewards, + )), + metadata: Some(self.response_metadata_v0(platform_state)), + } + }; + + Ok(QueryValidationResult::new_with_data(response)) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::query::tests::setup_platform; + use crate::test::helpers::fast_forward_to_block::fast_forward_to_block; + use dashcore_rpc::dashcore::Network; + use dpp::block::epoch::EpochIndex; + use dpp::fee::Credits; + use dpp::prelude::CoreBlockHeight; + use drive::drive::Drive; + + fn test_query_total_system_credits( + epoch_index: EpochIndex, + activation_core_height: CoreBlockHeight, + epoch_core_start_height: CoreBlockHeight, + current_core_height: CoreBlockHeight, + ) -> Credits { + let (platform, _state, platform_version) = + setup_platform(Some((1, activation_core_height)), Network::Regtest, None); + + platform + .drive + .add_to_system_credits(100, None, platform_version) + .expect("expected to insert identity"); + + fast_forward_to_block( + &platform, + 5000 * epoch_index as u64, + 100 * epoch_index as u64, + epoch_core_start_height, + epoch_index, + true, + ); + + if current_core_height > epoch_core_start_height { + fast_forward_to_block( + &platform, + 5000 * epoch_index as u64 + 10000, + 100 * epoch_index as u64 + 50, + current_core_height, + epoch_index, + false, + ); + } + + let request = GetTotalCreditsInPlatformRequestV0 { prove: false }; + + let state = platform.state.load(); + + let response = platform + .query_total_credits_in_platform_v0(request, &state, platform_version) + .expect("expected query to succeed"); + + let response_data = response.into_data().expect("expected data"); + + let get_total_credits_in_platform_response_v0::Result::Credits(credits) = + response_data.result.expect("expected a result") + else { + panic!("expected credits") + }; + + let rewards = epoch_core_reward_credits_for_distribution( + if epoch_index == 0 { + activation_core_height + } else { + epoch_core_start_height + 1 + }, + current_core_height, + Network::Regtest.core_subsidy_halving_interval(), + platform_version, + ) + .expect("expected to get rewards"); + + assert_eq!(credits, 100 + rewards); + + credits + } + + fn test_proved_query_total_system_credits( + epoch_index: EpochIndex, + activation_core_height: CoreBlockHeight, + epoch_core_start_height: CoreBlockHeight, + current_core_height: CoreBlockHeight, + ) -> Credits { + let (platform, _state, platform_version) = + setup_platform(Some((1, activation_core_height)), Network::Regtest, None); + + platform + .drive + .add_to_system_credits(100, None, platform_version) + .expect("expected to insert identity"); + + fast_forward_to_block( + &platform, + 5000 * epoch_index as u64, + 100 * epoch_index as u64, + epoch_core_start_height, + epoch_index, + true, + ); + + if current_core_height > epoch_core_start_height { + fast_forward_to_block( + &platform, + 5000 * epoch_index as u64 + 10000, + 100 * epoch_index as u64 + 50, + current_core_height, + epoch_index, + false, + ); + } + + let request = GetTotalCreditsInPlatformRequestV0 { prove: true }; + + let state = platform.state.load(); + + let response = platform + .query_total_credits_in_platform_v0(request, &state, platform_version) + .expect("expected query to succeed"); + + let response_data = response.into_data().expect("expected data"); + + let get_total_credits_in_platform_response_v0::Result::Proof(proof) = + response_data.result.expect("expected a result") + else { + panic!("expected proof") + }; + + let network = Network::Regtest; + + let core_subsidy_halving_interval = network.core_subsidy_halving_interval(); + + let (_, credits) = Drive::verify_total_credits_in_system( + &proof.grovedb_proof, + core_subsidy_halving_interval, + || Ok(activation_core_height), + current_core_height, + platform_version, + ) + .expect("expected to verify total credits in platform"); + + let rewards = epoch_core_reward_credits_for_distribution( + if epoch_index == 0 { + activation_core_height + } else { + epoch_core_start_height + 1 + }, + current_core_height, + core_subsidy_halving_interval, + platform_version, + ) + .expect("expected to get rewards"); + + assert_eq!(credits, 100 + rewards); + + credits + } + + #[test] + fn test_query_total_system_credits_at_genesis_platform_immediate_start() { + // the fork height is 1500, the genesis core height is 1500 and we are asking for credits after this first block was committed + let non_proved = test_query_total_system_credits(0, 1500, 1500, 1500); + let proved = test_proved_query_total_system_credits(0, 1500, 1500, 1500); + assert_eq!(non_proved, proved); + } + + #[test] + fn test_query_total_system_credits_at_genesis_platform_later_start() { + // the fork height was 1320, the genesis core height is 1500 and we are asking for credits after this first block was committed + let non_proved = test_query_total_system_credits(0, 1320, 1500, 1500); + let proved = test_proved_query_total_system_credits(0, 1320, 1500, 1500); + assert_eq!(non_proved, proved); + } + + #[test] + fn test_query_total_system_credits_on_first_epoch_not_genesis_immediate_start() { + // the fork height is 1500, the genesis core height is 1500 and we are at height 1550 + let non_proved = test_query_total_system_credits(0, 1500, 1500, 1550); + let proved = test_proved_query_total_system_credits(0, 1500, 1500, 1550); + assert_eq!(non_proved, proved); + } + + #[test] + fn test_query_total_system_credits_on_first_epoch_not_genesis_later_start() { + // the fork height was 1320, the genesis core height is 1500 and we are at height 1550 + let non_proved = test_query_total_system_credits(0, 1320, 1500, 1550); + let proved = test_proved_query_total_system_credits(0, 1320, 1500, 1550); + assert_eq!(non_proved, proved); + } + + #[test] + fn test_query_total_system_credits_not_genesis_epoch() { + // the fork height was 1500, the genesis core height is 1500 and we are at height 2500 + let non_proved = test_query_total_system_credits(1, 1500, 2000, 2500); + let proved = test_proved_query_total_system_credits(1, 1500, 2000, 2500); + assert_eq!(non_proved, proved); + } +} diff --git a/packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs b/packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs index d4647bc90e1..4395078b123 100644 --- a/packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs @@ -62,6 +62,7 @@ impl Platform { mod tests { use super::*; use crate::query::tests::setup_platform; + use dpp::dashcore::Network; use drive::drive::protocol_upgrade::{ desired_version_for_validators_path, versions_counter_path, versions_counter_path_vec, }; @@ -71,13 +72,14 @@ mod tests { use drive::util::grove_operations::BatchInsertApplyType; use drive::util::object_size_info::PathKeyElementInfo; use integer_encoding::VarInt; + use platform_version::version::INITIAL_PROTOCOL_VERSION; use rand::rngs::StdRng; use rand::{Rng, SeedableRng}; use std::ops::RangeFull; #[test] fn test_query_empty_upgrade_state() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProtocolVersionUpgradeStateRequestV0 { prove: false }; @@ -96,7 +98,7 @@ mod tests { #[test] fn test_query_upgrade_state() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rand = StdRng::seed_from_u64(10); @@ -188,7 +190,7 @@ mod tests { #[test] fn test_prove_empty_upgrade_state() { let platform_version = PlatformVersion::latest(); - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let request = GetProtocolVersionUpgradeStateRequestV0 { prove: true }; @@ -224,8 +226,9 @@ mod tests { #[test] fn test_prove_upgrade_state() { - let platform_version = PlatformVersion::latest(); - let (platform, state, version) = setup_platform(false); + let platform_version = PlatformVersion::first(); + let (platform, state, version) = + setup_platform(None, Network::Testnet, Some(INITIAL_PROTOCOL_VERSION)); let mut rand = StdRng::seed_from_u64(10); diff --git a/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs b/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs index 813810a2d51..66ece674edc 100644 --- a/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs @@ -98,6 +98,7 @@ impl Platform { mod tests { use super::*; use crate::query::tests::setup_platform; + use dpp::dashcore::Network; use drive::drive::protocol_upgrade::{ desired_version_for_validators_path, desired_version_for_validators_path_vec, versions_counter_path, @@ -108,12 +109,13 @@ mod tests { use drive::util::grove_operations::BatchInsertApplyType; use drive::util::object_size_info::PathKeyElementInfo; use integer_encoding::VarInt; + use platform_version::version::INITIAL_PROTOCOL_VERSION; use rand::rngs::StdRng; use rand::{Rng, SeedableRng}; #[test] fn test_query_empty_upgrade_vote_status() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rand = StdRng::seed_from_u64(10); @@ -139,7 +141,7 @@ mod tests { #[test] fn test_query_upgrade_vote_status() { - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rand = StdRng::seed_from_u64(10); @@ -232,7 +234,7 @@ mod tests { #[test] fn test_prove_empty_upgrade_vote_status() { let platform_version = PlatformVersion::latest(); - let (platform, state, version) = setup_platform(false); + let (platform, state, version) = setup_platform(None, Network::Testnet, None); let mut rand = StdRng::seed_from_u64(10); @@ -280,8 +282,9 @@ mod tests { #[test] fn test_prove_upgrade_vote_status() { - let platform_version = PlatformVersion::latest(); - let (platform, state, version) = setup_platform(false); + let platform_version = PlatformVersion::first(); + let (platform, state, version) = + setup_platform(None, Network::Testnet, Some(INITIAL_PROTOCOL_VERSION)); let mut rand = StdRng::seed_from_u64(10); diff --git a/packages/rs-drive-abci/src/query/validator_queries/mod.rs b/packages/rs-drive-abci/src/query/validator_queries/mod.rs new file mode 100644 index 00000000000..d4af9a0d52f --- /dev/null +++ b/packages/rs-drive-abci/src/query/validator_queries/mod.rs @@ -0,0 +1,2 @@ +mod proposed_block_counts_by_evonode_ids; +mod proposed_block_counts_by_range; diff --git a/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_evonode_ids/mod.rs b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_evonode_ids/mod.rs new file mode 100644 index 00000000000..08a48bc2e52 --- /dev/null +++ b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_evonode_ids/mod.rs @@ -0,0 +1,67 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_by_ids_request::Version as RequestVersion; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::Version as ResponseVersion; +use dapi_grpc::platform::v0::{ + GetEvonodesProposedEpochBlocksByIdsRequest, GetEvonodesProposedEpochBlocksResponse, +}; +use dpp::version::PlatformVersion; + +mod v0; + +impl Platform { + /// Querying of the proposed block counts by evonode ids + pub fn query_proposed_block_counts_by_evonode_ids( + &self, + GetEvonodesProposedEpochBlocksByIdsRequest { version }: GetEvonodesProposedEpochBlocksByIdsRequest, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError( + "could not decode evonodes proposed block counts by ids query".to_string(), + ), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .validator_queries + .proposed_block_counts_by_evonode_ids; + + let feature_version = match &version { + RequestVersion::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "proposed_block_counts_by_evonode_ids".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + RequestVersion::V0(request_v0) => { + let result = self.query_proposed_block_counts_by_evonode_ids_v0( + request_v0, + platform_state, + platform_version, + )?; + + Ok( + result.map(|response_v0| GetEvonodesProposedEpochBlocksResponse { + version: Some(ResponseVersion::V0(response_v0)), + }), + ) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_evonode_ids/v0/mod.rs b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_evonode_ids/v0/mod.rs new file mode 100644 index 00000000000..6780b1a6907 --- /dev/null +++ b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_evonode_ids/v0/mod.rs @@ -0,0 +1,107 @@ +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_by_ids_request::GetEvonodesProposedEpochBlocksByIdsRequestV0; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::GetEvonodesProposedEpochBlocksResponseV0; +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::get_evonodes_proposed_epoch_blocks_response_v0; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::get_evonodes_proposed_epoch_blocks_response_v0::{EvonodeProposedBlocks, EvonodesProposedBlocks}; +use dpp::block::epoch::Epoch; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use drive::query::proposer_block_count_query::ProposerQueryType; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; + +impl Platform { + pub(super) fn query_proposed_block_counts_by_evonode_ids_v0( + &self, + GetEvonodesProposedEpochBlocksByIdsRequestV0 { epoch, ids, prove }: GetEvonodesProposedEpochBlocksByIdsRequestV0, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + if ids.len() > self.config.drive.max_query_limit as usize { + return Ok(QueryValidationResult::new_with_error( + QueryError::TooManyElements(format!( + "this query only supports up to {} ids at a time", + ids.len() + )), + )); + } + let evonode_ids = check_validation_result_with_data!(ids + .into_iter() + .map(|evonode_id_vec| { + if evonode_id_vec.len() != 32 { + Err(QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + )) + } else { + Ok(evonode_id_vec) + } + }) + .collect::>, QueryError>>()); + + let epoch = if let Some(epoch) = epoch { + if epoch > (u16::MAX - 1) as u32 { + return Ok(QueryValidationResult::new_with_error( + QueryError::InvalidArgument( + "epoch must be within a normal range (less than u16::Max - 1)".to_string(), + ), + )); + } + + let epoch = + check_validation_result_with_data!(Epoch::new(epoch as u16).map_err(|_| { + QueryError::InvalidArgument( + "epoch must be within a normal range (less than u16::Max - 1)".to_string(), + ) + })); + epoch + } else { + // Get current epoch instead + platform_state.last_committed_block_epoch() + }; + + let response = if prove { + let proof = check_validation_result_with_data!(self.drive.prove_epoch_proposers( + &epoch, + ProposerQueryType::ByIds(evonode_ids), + None, + platform_version + )); + + GetEvonodesProposedEpochBlocksResponseV0 { + result: Some( + get_evonodes_proposed_epoch_blocks_response_v0::Result::Proof( + self.response_proof_v0(platform_state, proof), + ), + ), + metadata: Some(self.response_metadata_v0(platform_state)), + } + } else { + let evonodes_proposed_block_counts = self + .drive + .fetch_epoch_proposers( + &epoch, + ProposerQueryType::ByIds(evonode_ids), + None, + platform_version, + )? + .into_iter() + .map(|(pro_tx_hash, count)| EvonodeProposedBlocks { pro_tx_hash, count }) + .collect(); + + let evonode_proposed_blocks = EvonodesProposedBlocks { + evonodes_proposed_block_counts, + }; + + GetEvonodesProposedEpochBlocksResponseV0 { + result: Some(get_evonodes_proposed_epoch_blocks_response_v0::Result::EvonodesProposedBlockCountsInfo(evonode_proposed_blocks)), + metadata: Some(self.response_metadata_v0(platform_state)), + } + }; + + Ok(QueryValidationResult::new_with_data(response)) + } +} diff --git a/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_range/mod.rs b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_range/mod.rs new file mode 100644 index 00000000000..c56fe5b9214 --- /dev/null +++ b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_range/mod.rs @@ -0,0 +1,67 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_by_range_request::Version as RequestVersion; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::Version as ResponseVersion; +use dapi_grpc::platform::v0::{ + GetEvonodesProposedEpochBlocksByRangeRequest, GetEvonodesProposedEpochBlocksResponse, +}; +use dpp::version::PlatformVersion; + +mod v0; + +impl Platform { + /// Querying of the proposed block counts by range + pub fn query_proposed_block_counts_by_range( + &self, + GetEvonodesProposedEpochBlocksByRangeRequest { version }: GetEvonodesProposedEpochBlocksByRangeRequest, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError( + "could not decode evonodes proposed block counts by range query".to_string(), + ), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .validator_queries + .proposed_block_counts_by_range; + + let feature_version = match &version { + RequestVersion::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "proposed_block_counts_by_range".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + RequestVersion::V0(request_v0) => { + let result = self.query_proposed_block_counts_by_range_v0( + request_v0, + platform_state, + platform_version, + )?; + + Ok( + result.map(|response_v0| GetEvonodesProposedEpochBlocksResponse { + version: Some(ResponseVersion::V0(response_v0)), + }), + ) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_range/v0/mod.rs b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_range/v0/mod.rs new file mode 100644 index 00000000000..9ba56968ec3 --- /dev/null +++ b/packages/rs-drive-abci/src/query/validator_queries/proposed_block_counts_by_range/v0/mod.rs @@ -0,0 +1,135 @@ +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_by_range_request::get_evonodes_proposed_epoch_blocks_by_range_request_v0::Start; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_by_range_request::GetEvonodesProposedEpochBlocksByRangeRequestV0; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::GetEvonodesProposedEpochBlocksResponseV0; +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::get_evonodes_proposed_epoch_blocks_response_v0; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_response::get_evonodes_proposed_epoch_blocks_response_v0::{EvonodeProposedBlocks, EvonodesProposedBlocks}; +use dpp::block::epoch::Epoch; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use drive::query::proposer_block_count_query::ProposerQueryType; +use drive::error::query::QuerySyntaxError; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; + +impl Platform { + pub(super) fn query_proposed_block_counts_by_range_v0( + &self, + GetEvonodesProposedEpochBlocksByRangeRequestV0 { + epoch, + limit, + prove, + start, + }: GetEvonodesProposedEpochBlocksByRangeRequestV0, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let config = &self.config.drive; + let limit = limit + .map_or(Some(config.default_query_limit), |limit_value| { + if limit_value == 0 + || limit_value > u16::MAX as u32 + || limit_value as u16 > config.max_query_limit + { + None + } else { + Some(limit_value as u16) + } + }) + .ok_or(drive::error::Error::Query(QuerySyntaxError::InvalidLimit( + format!( + "limit {} greater than max limit {} or was set as 0", + limit.unwrap(), + config.max_query_limit + ), + )))?; + + let formatted_start = match start { + None => None, + Some(Start::StartAfter(after)) => { + let id: [u8; 32] = + check_validation_result_with_data!(after.try_into().map_err(|_| { + QueryError::Query(QuerySyntaxError::InvalidStartsWithClause( + "start after should be a 32 byte identifier", + )) + })); + Some((id, false)) + } + Some(Start::StartAt(after)) => { + let id: [u8; 32] = + check_validation_result_with_data!(after.try_into().map_err(|_| { + QueryError::Query(QuerySyntaxError::InvalidStartsWithClause( + "start after should be a 32 byte identifier", + )) + })); + Some((id, true)) + } + }; + + let epoch = if let Some(epoch) = epoch { + if epoch > (u16::MAX - 1) as u32 { + return Ok(QueryValidationResult::new_with_error( + QueryError::InvalidArgument( + "epoch must be within a normal range (less than u16::Max - 1)".to_string(), + ), + )); + } + + let epoch = + check_validation_result_with_data!(Epoch::new(epoch as u16).map_err(|_| { + QueryError::InvalidArgument( + "epoch must be within a normal range (less than u16::Max - 1)".to_string(), + ) + })); + epoch + } else { + // Get current epoch instead + platform_state.last_committed_block_epoch() + }; + + let response = if prove { + let proof = check_validation_result_with_data!(self.drive.prove_epoch_proposers( + &epoch, + ProposerQueryType::ByRange(Some(limit), formatted_start), + None, + platform_version + )); + + GetEvonodesProposedEpochBlocksResponseV0 { + result: Some( + get_evonodes_proposed_epoch_blocks_response_v0::Result::Proof( + self.response_proof_v0(platform_state, proof), + ), + ), + metadata: Some(self.response_metadata_v0(platform_state)), + } + } else { + let evonodes_proposed_block_counts = self + .drive + .fetch_epoch_proposers( + &epoch, + ProposerQueryType::ByRange(Some(limit), formatted_start), + None, + platform_version, + )? + .into_iter() + .map(|(pro_tx_hash, count)| EvonodeProposedBlocks { pro_tx_hash, count }) + .collect(); + + let evonode_proposed_blocks = EvonodesProposedBlocks { + evonodes_proposed_block_counts, + }; + + GetEvonodesProposedEpochBlocksResponseV0 { + result: Some(get_evonodes_proposed_epoch_blocks_response_v0::Result::EvonodesProposedBlockCountsInfo(evonode_proposed_blocks)), + metadata: Some(self.response_metadata_v0(platform_state)), + } + }; + + Ok(QueryValidationResult::new_with_data(response)) + } +} diff --git a/packages/rs-drive-abci/src/rpc/core.rs b/packages/rs-drive-abci/src/rpc/core.rs index 46e16a2e0b9..a16f0341dc6 100644 --- a/packages/rs-drive-abci/src/rpc/core.rs +++ b/packages/rs-drive-abci/src/rpc/core.rs @@ -152,9 +152,9 @@ pub const CORE_RPC_INVALID_ADDRESS_OR_KEY: i32 = -5; /// Invalid, missing or duplicate parameter pub const CORE_RPC_INVALID_PARAMETER: i32 = -8; -/// Asset Unlock consenus error "bad-assetunlock-not-active-quorum" +/// Asset Unlock consensus error "bad-assetunlock-not-active-quorum" pub const CORE_RPC_ERROR_ASSET_UNLOCK_NO_ACTIVE_QUORUM: &str = "bad-assetunlock-not-active-quorum"; -/// Asset Unlock consenus error "bad-assetunlock-not-active-quorum" +/// Asset Unlock consensus error "bad-assetunlock-not-active-quorum" pub const CORE_RPC_ERROR_ASSET_UNLOCK_EXPIRED: &str = "bad-assetunlock-too-late"; macro_rules! retry { diff --git a/packages/rs-drive-abci/src/test/fixture/abci.rs b/packages/rs-drive-abci/src/test/fixture/abci.rs index 0d2db3608e5..26a7803a6ec 100644 --- a/packages/rs-drive-abci/src/test/fixture/abci.rs +++ b/packages/rs-drive-abci/src/test/fixture/abci.rs @@ -2,12 +2,15 @@ //! use crate::config::PlatformConfig; +use dpp::version::PlatformVersion; use tenderdash_abci::proto::abci::RequestInitChain; use tenderdash_abci::proto::google::protobuf::Timestamp; use tenderdash_abci::proto::types::{ConsensusParams, VersionParams}; /// Creates static init chain request fixture pub fn static_init_chain_request(config: &PlatformConfig) -> RequestInitChain { + let platform_version = PlatformVersion::get(config.initial_protocol_version) + .expect("expected to get platform version"); RequestInitChain { time: Some(Timestamp { seconds: 0, @@ -17,6 +20,7 @@ pub fn static_init_chain_request(config: &PlatformConfig) -> RequestInitChain { consensus_params: Some(ConsensusParams { version: Some(VersionParams { app_version: config.initial_protocol_version as u64, + consensus_version: platform_version.consensus.tenderdash_consensus_version as i32, }), ..Default::default() }), diff --git a/packages/rs-drive-abci/src/test/helpers/fast_forward_to_block.rs b/packages/rs-drive-abci/src/test/helpers/fast_forward_to_block.rs new file mode 100644 index 00000000000..28f9d5152f2 --- /dev/null +++ b/packages/rs-drive-abci/src/test/helpers/fast_forward_to_block.rs @@ -0,0 +1,148 @@ +use crate::execution::types::block_execution_context::v0::BlockExecutionContextV0; +use crate::execution::types::block_execution_context::BlockExecutionContext; +use crate::execution::types::block_fees::v0::BlockFeesV0Methods; +use crate::execution::types::block_fees::BlockFees; +use crate::execution::types::block_state_info::v0::BlockStateInfoV0; +use crate::platform_types::epoch_info::v0::EpochInfoV0; +use crate::platform_types::epoch_info::EpochInfo; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::platform_types::withdrawal::unsigned_withdrawal_txs::v0::UnsignedWithdrawalTxs; +use crate::rpc::core::MockCoreRPCLike; +use crate::test::helpers::setup::TempPlatform; +use dpp::block::block_info::BlockInfo; +use dpp::block::epoch::Epoch; +use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0; +use drive::drive::credit_pools::operations::update_unpaid_epoch_index_operation; +use platform_version::version::PlatformVersion; +use std::sync::Arc; + +pub(crate) fn fast_forward_to_block( + platform: &TempPlatform, + time_ms: u64, + height: u64, + core_block_height: u32, + epoch_index: u16, + should_process_epoch_change: bool, +) { + let platform_state = platform.state.load(); + + let mut platform_state = (**platform_state).clone(); + + let protocol_version = platform_state.current_protocol_version_in_consensus(); + let platform_version = PlatformVersion::get(protocol_version).unwrap(); + + let block_info = BlockInfo { + time_ms, //less than 2 weeks + height, + core_height: core_block_height, + epoch: Epoch::new(epoch_index).unwrap(), + }; + + platform_state.set_last_committed_block_info(Some( + ExtendedBlockInfoV0 { + basic_info: block_info, + app_hash: platform + .drive + .grove + .root_hash(None, &platform_version.drive.grove_version) + .unwrap() + .unwrap(), + quorum_hash: [0u8; 32], + block_id_hash: [0u8; 32], + proposer_pro_tx_hash: [0u8; 32], + signature: [0u8; 96], + round: 0, + } + .into(), + )); + + platform.state.store(Arc::new(platform_state.clone())); + + if should_process_epoch_change { + process_epoch_change( + platform, + Some(platform_state), + time_ms, + height, + core_block_height, + epoch_index, + ) + } +} + +pub(crate) fn process_epoch_change( + platform: &TempPlatform, + platform_state: Option, + time_ms: u64, + height: u64, + core_block_height: u32, + epoch_index: u16, +) { + let platform_state = platform_state.unwrap_or_else(|| { + let platform_state = platform.state.load(); + + (**platform_state).clone() + }); + + let protocol_version = platform_state.current_protocol_version_in_consensus(); + let platform_version = PlatformVersion::get(protocol_version).unwrap(); + + let block_execution_context: BlockExecutionContext = BlockExecutionContextV0 { + block_state_info: BlockStateInfoV0 { + height, + round: 0, + block_time_ms: time_ms, + previous_block_time_ms: time_ms.checked_sub(3000), + proposer_pro_tx_hash: [0; 32], + core_chain_locked_height: core_block_height, + block_hash: Some([0; 32]), + app_hash: None, + } + .into(), + epoch_info: EpochInfo::V0(EpochInfoV0 { + current_epoch_index: epoch_index, + previous_epoch_index: epoch_index.checked_sub(1), + is_epoch_change: true, + }), + unsigned_withdrawal_transactions: UnsignedWithdrawalTxs::default(), + block_platform_state: platform_state, + proposer_results: None, + } + .into(); + + let block_fees: BlockFees = BlockFees::from_fees(0, 0); + + let mut operations = vec![]; + + platform + .add_process_epoch_change_operations( + &block_execution_context, + &block_fees, + None, + &mut operations, + platform_version, + ) + .expect("expected to process change operations"); + + operations.push(drive::util::batch::DriveOperation::GroveDBOperation( + update_unpaid_epoch_index_operation(epoch_index), + )); + + platform + .drive + .apply_drive_operations( + operations, + true, + &BlockInfo { + time_ms, + height, + core_height: core_block_height, + epoch: Epoch::new(epoch_index).unwrap(), + }, + None, + platform_version, + None, + ) + .expect("expected to apply drive operations"); +} diff --git a/packages/rs-drive-abci/src/test/helpers/mod.rs b/packages/rs-drive-abci/src/test/helpers/mod.rs index ba5a25f76b5..11a8dc90c9c 100644 --- a/packages/rs-drive-abci/src/test/helpers/mod.rs +++ b/packages/rs-drive-abci/src/test/helpers/mod.rs @@ -1,6 +1,8 @@ +/// Test helpers +#[cfg(test)] +pub mod fast_forward_to_block; pub mod fee_pools; pub mod setup; - // TODO: Move tests to appropriate place #[cfg(test)] diff --git a/packages/rs-drive-abci/src/test/helpers/setup.rs b/packages/rs-drive-abci/src/test/helpers/setup.rs index b4e0c5a4df1..08d56b2dc56 100644 --- a/packages/rs-drive-abci/src/test/helpers/setup.rs +++ b/packages/rs-drive-abci/src/test/helpers/setup.rs @@ -1,32 +1,3 @@ -// MIT LICENSE -// -// Copyright (c) 2021 Dash Core Group -// -// Permission is hereby granted, free of charge, to any -// person obtaining a copy of this software and associated -// documentation files (the "Software"), to deal in the -// Software without restriction, including without -// limitation the rights to use, copy, modify, merge, -// publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software -// is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice -// shall be included in all copies or substantial portions -// of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - //! Platform setup helpers. //! //! This module defines helper functions related to setting up Platform. @@ -42,15 +13,17 @@ use crate::{config::PlatformConfig, rpc::core::DefaultCoreRPC}; use dpp::block::block_info::BlockInfo; use dpp::document::transfer::Transferable; use dpp::nft::TradeMode; -use dpp::prelude::DataContract; +use dpp::prelude::{CoreBlockHeight, DataContract, TimestampMillis}; use dpp::tests::json_document::json_document_to_contract; use dpp::version::PlatformVersion; +use dpp::version::ProtocolVersion; use drive::util::storage_flags::StorageFlags; use tempfile::TempDir; /// A test platform builder. pub struct TestPlatformBuilder { config: Option, + initial_protocol_version: Option, tempdir: TempDir, } @@ -74,10 +47,36 @@ impl TestPlatformBuilder { self } + /// Add initial protocol version + pub fn with_initial_protocol_version( + mut self, + initial_protocol_version: ProtocolVersion, + ) -> Self { + self.initial_protocol_version = Some(initial_protocol_version); + self + } + + /// Add initial protocol version as latest + pub fn with_latest_protocol_version(mut self) -> Self { + self.initial_protocol_version = Some(PlatformVersion::latest().protocol_version); + self + } + /// Create a new temp platform with a mock core rpc pub fn build_with_mock_rpc(self) -> TempPlatform { - let platform = Platform::::open(self.tempdir.path(), self.config) - .expect("should open Platform successfully"); + let use_initial_protocol_version = + if let Some(initial_protocol_version) = self.initial_protocol_version { + // We should use the latest if nothing is set + Some(initial_protocol_version) + } else { + Some(PlatformVersion::latest().protocol_version) + }; + let platform = Platform::::open( + self.tempdir.path(), + self.config, + use_initial_protocol_version, + ) + .expect("should open Platform successfully"); TempPlatform { platform, @@ -103,6 +102,7 @@ impl Default for TestPlatformBuilder { Self { tempdir, config: None, + initial_protocol_version: None, } } } @@ -192,8 +192,37 @@ impl TempPlatform { /// Sets Platform to genesis state. pub fn set_genesis_state(self) -> Self { + let platform_state = self.platform.state.load(); + self.platform + .create_genesis_state( + 1, + Default::default(), + None, + PlatformVersion::get(platform_state.current_protocol_version_in_consensus()) + .expect("expected to get platform version"), + ) + .expect("should create root tree successfully"); + + self + } + + /// Sets Platform to genesis state with information that came at activation. + pub fn set_genesis_state_with_activation_info( + self, + genesis_time: TimestampMillis, + start_core_block_height: CoreBlockHeight, + ) -> Self { + let platform_state = self.platform.state.load(); + let platform_version = + PlatformVersion::get(platform_state.current_protocol_version_in_consensus()) + .expect("expected to get platform version"); self.platform - .create_genesis_state(Default::default(), None, PlatformVersion::latest()) + .create_genesis_state( + start_core_block_height, + genesis_time, + None, + platform_version, + ) .expect("should create root tree successfully"); self @@ -201,7 +230,7 @@ impl TempPlatform { /// Rebuilds Platform from the tempdir as if it was destroyed and restarted pub fn open_with_tempdir(tempdir: TempDir, config: PlatformConfig) -> Self { - let platform = Platform::::open(tempdir.path(), Some(config)) + let platform = Platform::::open(tempdir.path(), Some(config), None) .expect("should open Platform successfully"); Self { platform, tempdir } diff --git a/packages/rs-drive-abci/src/utils/mod.rs b/packages/rs-drive-abci/src/utils/mod.rs index 39d1e40dfd5..b7292f50cff 100644 --- a/packages/rs-drive-abci/src/utils/mod.rs +++ b/packages/rs-drive-abci/src/utils/mod.rs @@ -1,3 +1,6 @@ +mod serialization; mod spawn; +pub use serialization::from_opt_str_or_number; +pub use serialization::from_str_or_number; pub use spawn::spawn_blocking_task_with_name_if_supported; diff --git a/packages/rs-drive-abci/src/utils/serialization.rs b/packages/rs-drive-abci/src/utils/serialization.rs new file mode 100644 index 00000000000..8259ff1dce3 --- /dev/null +++ b/packages/rs-drive-abci/src/utils/serialization.rs @@ -0,0 +1,36 @@ +use serde::Deserialize; + +/// Deserialize a value from a string or a number. +pub fn from_str_or_number<'de, D, T>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, + T: serde::Deserialize<'de> + std::str::FromStr, + ::Err: std::fmt::Display, +{ + use serde::de::Error; + + let s = String::deserialize(deserializer)?; + s.parse::().map_err(Error::custom) +} + +/// Deserialize a value from an optional string or a number +pub fn from_opt_str_or_number<'de, D, T>(deserializer: D) -> Result, D::Error> +where + D: serde::Deserializer<'de>, + T: serde::Deserialize<'de> + std::str::FromStr, + ::Err: std::fmt::Display, +{ + use serde::de::Error; + + let s = Option::::deserialize(deserializer)?; + match s { + Some(s) => { + if s.is_empty() { + Ok(None) + } else { + s.parse::().map(Some).map_err(Error::custom) + } + } + None => Ok(None), + } +} diff --git a/packages/rs-drive-abci/tests/strategy_tests/chain_lock_update.rs b/packages/rs-drive-abci/tests/strategy_tests/chain_lock_update.rs index 9318c7c2995..474e67e5776 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/chain_lock_update.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/chain_lock_update.rs @@ -1,6 +1,5 @@ #[cfg(test)] mod tests { - use crate::execution::run_chain_for_strategy; use crate::strategy::CoreHeightIncrease::RandomCoreHeightIncrease; use crate::strategy::{MasternodeListChangesStrategy, NetworkStrategy}; @@ -68,12 +67,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() diff --git a/packages/rs-drive-abci/tests/strategy_tests/execution.rs b/packages/rs-drive-abci/tests/strategy_tests/execution.rs index 66f2735db7d..133b281446b 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/execution.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/execution.rs @@ -886,6 +886,7 @@ pub(crate) fn start_chain_for_strategy( current_votes: Default::default(), start_time_ms: GENESIS_TIME_MS, current_time_ms: GENESIS_TIME_MS, + current_identities: Vec::new(), }, strategy, config, @@ -915,6 +916,7 @@ pub(crate) fn continue_chain_for_strategy( start_time_ms, mut current_time_ms, instant_lock_quorums, + mut current_identities, } = chain_execution_parameters; let mut rng = match seed { StrategyRandomness::SeedEntropy(seed) => StdRng::seed_from_u64(seed), @@ -922,7 +924,6 @@ pub(crate) fn continue_chain_for_strategy( }; let quorum_size = config.validator_set.quorum_size; let first_block_time = start_time_ms; - let mut current_identities = vec![]; let mut signer = strategy.strategy.signer.clone().unwrap_or_default(); let mut i = 0; diff --git a/packages/rs-drive-abci/tests/strategy_tests/failures.rs b/packages/rs-drive-abci/tests/strategy_tests/failures.rs index 9c2cb59c924..eb80cc1e5bb 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/failures.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/failures.rs @@ -87,12 +87,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() diff --git a/packages/rs-drive-abci/tests/strategy_tests/main.rs b/packages/rs-drive-abci/tests/strategy_tests/main.rs index aa6e6b08d1d..21d269d6be7 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/main.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/main.rs @@ -30,6 +30,7 @@ mod strategy; mod upgrade_fork_tests; mod verify_state_transitions; mod voting_tests; +mod withdrawal_tests; pub type BlockHeight = u64; @@ -43,15 +44,13 @@ fn asset_unlock_index(tx: &Transaction) -> u64 { #[cfg(test)] mod tests { use super::*; - use crate::execution::{continue_chain_for_strategy, run_chain_for_strategy, GENESIS_TIME_MS}; + use crate::execution::{continue_chain_for_strategy, run_chain_for_strategy}; use crate::query::QueryStrategy; use crate::strategy::{FailureStrategy, MasternodeListChangesStrategy}; use dashcore_rpc::dashcore::hashes::Hash; use dashcore_rpc::dashcore::BlockHash; - use dashcore_rpc::dashcore_rpc_json::AssetUnlockStatus; - use dashcore_rpc::json::{AssetUnlockStatusResult, QuorumType}; + use dashcore_rpc::json::QuorumType; use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0Getters; - use std::sync::{Arc, Mutex}; use strategy_tests::operations::DocumentAction::{ DocumentActionReplaceRandom, DocumentActionTransferRandom, }; @@ -61,21 +60,15 @@ mod tests { use strategy_tests::{IdentityInsertInfo, StartIdentities}; use crate::strategy::CoreHeightIncrease::RandomCoreHeightIncrease; - use dpp::dashcore::bls_sig_utils::BLSSignature; use dpp::dashcore::ChainLock; - use dpp::dashcore::Txid; use dpp::data_contract::accessors::v0::{DataContractV0Getters, DataContractV0Setters}; use dpp::data_contract::document_type::random_document::{ DocumentFieldFillSize, DocumentFieldFillType, }; use dpp::identity::accessors::IdentityGettersV0; use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; - use dpp::system_data_contracts::withdrawals_contract; use dpp::tests::json_document::json_document_to_created_contract; use dpp::util::hash::hash_to_hex_string; - use dpp::version::PlatformVersion; - use drive::config::DEFAULT_QUERY_LIMIT; - use drive::drive::identity::withdrawals::WithdrawalTransactionIndex; use drive_abci::config::{ ChainLockConfig, ExecutionConfig, InstantLockConfig, PlatformTestConfig, ValidatorSetConfig, }; @@ -83,13 +76,18 @@ mod tests { use drive_abci::logging::LogLevel; use drive_abci::platform_types::platform_state::v0::PlatformStateV0Methods; use itertools::Itertools; + use rand::prelude::StdRng; + use rand::SeedableRng; use tenderdash_abci::proto::abci::{RequestInfo, ResponseInfo}; use dpp::data_contract::document_type::v0::random_document_type::{ FieldMinMaxBounds, FieldTypeWeights, RandomDocumentTypeParameters, }; - use dpp::identity::{KeyType, Purpose, SecurityLevel}; + use dpp::identity::{Identity, KeyType, Purpose, SecurityLevel}; use dpp::state_transition::StateTransition; + use platform_version::version::PlatformVersion; + use simple_signer::signer::SimpleSigner; + use strategy_tests::transitions::create_state_transitions_for_identities; use tenderdash_abci::Application; #[test] @@ -310,6 +308,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, @@ -452,6 +451,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, @@ -501,12 +501,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() @@ -527,7 +522,7 @@ mod tests { .expect("expected to fetch balances") .expect("expected to have an identity to get balance from"); - assert_eq!(balance, 99867004680) + assert_eq!(balance, 99864012200) } #[test] @@ -1156,12 +1151,7 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; @@ -1194,7 +1184,7 @@ mod tests { .unwrap() .unwrap() ), - "e8e42170ec547a2170d1128b8ec51cd56a3e2d72fea24c797bd87851e6a0aa95".to_string() + "975735252c11cea7ef3fbba86928077e37ebe1926972e6ae38e237ce0864100c".to_string() ) } @@ -1248,12 +1238,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() @@ -1459,12 +1444,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() @@ -1649,12 +1629,7 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let block_count = 120; @@ -1763,12 +1738,7 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let block_count = 120; @@ -1785,6 +1755,25 @@ mod tests { .iter() .all(|(_, balance)| *balance != 0); assert!(all_have_balances, "all masternodes should have a balance"); + + let issues = outcome + .abci_app + .platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] @@ -1877,12 +1866,7 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; @@ -1915,7 +1899,7 @@ mod tests { .unwrap() .unwrap() ), - "6a3782a2868634fc1cdf5752f365374829d020a5c2019eeb55beacf08653c43f".to_string() + "0cc2c7a7749a0ce47a4abcd1f4db21d07734f96d09ffe08d6500a8d09a3455a1".to_string() ) } @@ -2012,12 +1996,7 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; @@ -2050,7 +2029,7 @@ mod tests { .unwrap() .unwrap() ), - "cf8561aaab49bc8bcbe1468c9e890ee0c9c01794e9a52d45d86b0b41ccc44133".to_string() + "5a08b133a19b11b09eaba6763ad2893c2bcbcc645fb698298790bb5d26e551e0".to_string() ) } @@ -2378,12 +2357,7 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let block_count = 30; @@ -2401,6 +2375,301 @@ mod tests { .filter(|(_, balance)| *balance != 0) .count(); assert_eq!(balance_count, 19); // 1 epoch worth of proposers + + let issues = outcome + .abci_app + .platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); + } + + #[test] + fn run_chain_insert_many_new_identity_per_block_many_document_insertions_and_updates_with_epoch_change( + ) { + let platform_version = PlatformVersion::latest(); + let created_contract = json_document_to_created_contract( + "tests/supporting_files/contract/dashpay/dashpay-contract-all-mutable.json", + 1, + true, + platform_version, + ) + .expect("expected to get contract from a json document"); + + let contract = created_contract.data_contract(); + + let document_insertion_op = DocumentOp { + contract: contract.clone(), + action: DocumentAction::DocumentActionInsertRandom( + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + ), + document_type: contract + .document_type_for_name("contactRequest") + .expect("expected a profile document type") + .to_owned_document_type(), + }; + + let document_replace_op = DocumentOp { + contract: contract.clone(), + action: DocumentActionReplaceRandom, + document_type: contract + .document_type_for_name("contactRequest") + .expect("expected a profile document type") + .to_owned_document_type(), + }; + + let strategy = NetworkStrategy { + strategy: Strategy { + start_contracts: vec![(created_contract, None)], + operations: vec![ + Operation { + op_type: OperationType::Document(document_insertion_op), + frequency: Frequency { + times_per_block_range: 1..40, + chance_per_block: None, + }, + }, + Operation { + op_type: OperationType::Document(document_replace_op), + frequency: Frequency { + times_per_block_range: 1..5, + chance_per_block: None, + }, + }, + ], + start_identities: StartIdentities::default(), + identity_inserts: IdentityInsertInfo { + frequency: Frequency { + times_per_block_range: 1..6, + chance_per_block: None, + }, + start_keys: 5, + extra_keys: Default::default(), + }, + + identity_contract_nonce_gaps: None, + signer: None, + }, + total_hpmns: 100, + extra_normal_mns: 0, + validator_quorum_count: 24, + chain_lock_quorum_count: 24, + upgrading_info: None, + + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + verify_state_transition_results: true, + ..Default::default() + }; + + let day_in_ms = 1000 * 60 * 60 * 24; + + let config = PlatformConfig { + validator_set: ValidatorSetConfig::default_100_67(), + chain_lock: ChainLockConfig::default_100_67(), + instant_lock: InstantLockConfig::default_100_67(), + execution: ExecutionConfig { + verify_sum_trees: true, + + epoch_time_length_s: 1576800, + ..Default::default() + }, + block_spacing_ms: day_in_ms, + testing_configs: PlatformTestConfig::default_minimal_verifications(), + ..Default::default() + }; + let block_count = 21; + let mut platform = TestPlatformBuilder::new() + .with_config(config.clone()) + .build_with_mock_rpc(); + + let outcome = + run_chain_for_strategy(&mut platform, block_count, strategy, config, 15, &mut None); + + let issues = outcome + .abci_app + .platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); + } + + #[test] + fn run_chain_insert_many_document_updates_with_epoch_change() { + let platform_version = PlatformVersion::latest(); + let created_contract = json_document_to_created_contract( + "tests/supporting_files/contract/dashpay/dashpay-contract-all-mutable.json", + 1, + true, + platform_version, + ) + .expect("expected to get contract from a json document"); + + let contract = created_contract.data_contract(); + + let document_insertion_op = DocumentOp { + contract: contract.clone(), + action: DocumentAction::DocumentActionInsertRandom( + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + ), + document_type: contract + .document_type_for_name("contactRequest") + .expect("expected a profile document type") + .to_owned_document_type(), + }; + + let document_replace_op = DocumentOp { + contract: contract.clone(), + action: DocumentActionReplaceRandom, + document_type: contract + .document_type_for_name("contactRequest") + .expect("expected a profile document type") + .to_owned_document_type(), + }; + + let mut rng = StdRng::seed_from_u64(567); + + let mut simple_signer = SimpleSigner::default(); + + let (identity1, keys1) = + Identity::random_identity_with_main_keys_with_private_key::>( + 2, + &mut rng, + platform_version, + ) + .unwrap(); + + simple_signer.add_keys(keys1); + + let (identity2, keys2) = + Identity::random_identity_with_main_keys_with_private_key::>( + 2, + &mut rng, + platform_version, + ) + .unwrap(); + + simple_signer.add_keys(keys2); + + let start_identities = create_state_transitions_for_identities( + vec![identity1, identity2], + &simple_signer, + &mut rng, + platform_version, + ); + + let strategy = NetworkStrategy { + strategy: Strategy { + start_contracts: vec![(created_contract, None)], + operations: vec![ + Operation { + op_type: OperationType::Document(document_insertion_op), + frequency: Frequency { + times_per_block_range: 1..2, + chance_per_block: None, + }, + }, + Operation { + op_type: OperationType::Document(document_replace_op), + frequency: Frequency { + times_per_block_range: 1..2, + chance_per_block: None, + }, + }, + ], + start_identities: StartIdentities { + hard_coded: start_identities, + ..Default::default() + }, + identity_inserts: Default::default(), + + identity_contract_nonce_gaps: None, + signer: Some(simple_signer), + }, + total_hpmns: 100, + extra_normal_mns: 0, + validator_quorum_count: 24, + chain_lock_quorum_count: 24, + upgrading_info: None, + + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + verify_state_transition_results: true, + ..Default::default() + }; + + let day_in_ms = 1000 * 60 * 60 * 24; + + let config = PlatformConfig { + validator_set: ValidatorSetConfig::default_100_67(), + chain_lock: ChainLockConfig::default_100_67(), + instant_lock: InstantLockConfig::default_100_67(), + execution: ExecutionConfig { + verify_sum_trees: true, + + epoch_time_length_s: 1576800, + ..Default::default() + }, + block_spacing_ms: day_in_ms, + testing_configs: PlatformTestConfig::default_minimal_verifications(), + ..Default::default() + }; + let block_count = 21; + let mut platform = TestPlatformBuilder::new() + .with_config(config.clone()) + .build_with_mock_rpc(); + + let outcome = + run_chain_for_strategy(&mut platform, block_count, strategy, config, 15, &mut None); + + let issues = outcome + .abci_app + .platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] @@ -2513,29 +2782,43 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; - let block_count = 30; + let block_count = 100; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) .build_with_mock_rpc(); let outcome = run_chain_for_strategy(&mut platform, block_count, strategy, config, 15, &mut None); - assert_eq!(outcome.identities.len() as u64, 83); + assert_eq!(outcome.identities.len() as u64, 296); assert_eq!(outcome.masternode_identity_balances.len(), 100); let balance_count = outcome .masternode_identity_balances .into_iter() .filter(|(_, balance)| *balance != 0) .count(); - assert_eq!(balance_count, 19); // 1 epoch worth of proposers + assert_eq!(balance_count, 92); // 1 epoch worth of proposers + + let issues = outcome + .abci_app + .platform + .drive + .grove + .visualize_verify_grovedb(None, true, false, &platform_version.drive.grove_version) + .expect("expected to have no issues"); + + assert_eq!( + issues.len(), + 0, + "issues are {}", + issues + .iter() + .map(|(hash, (a, b, c))| format!("{}: {} {} {}", hash, a, b, c)) + .collect::>() + .join(" | ") + ); } #[test] @@ -2598,7 +2881,7 @@ mod tests { Operation { op_type: OperationType::Document(document_insertion_op), frequency: Frequency { - times_per_block_range: 1..40, + times_per_block_range: 1..10, chance_per_block: None, }, }, @@ -2664,29 +2947,24 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; - let block_count = 30; + let block_count = 70; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) .build_with_mock_rpc(); let outcome = run_chain_for_strategy(&mut platform, block_count, strategy, config, 15, &mut None); - assert_eq!(outcome.identities.len() as u64, 79); + assert_eq!(outcome.identities.len() as u64, 201); assert_eq!(outcome.masternode_identity_balances.len(), 100); let balance_count = outcome .masternode_identity_balances .into_iter() .filter(|(_, balance)| *balance != 0) .count(); - assert_eq!(balance_count, 19); // 1 epoch worth of proposers + assert_eq!(balance_count, 55); // 1 epoch worth of proposers } #[test] @@ -2821,12 +3099,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() @@ -2911,12 +3184,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() @@ -2950,610 +3218,6 @@ mod tests { })); } - #[test] - #[ignore] - fn run_chain_top_up_and_withdraw_from_identities() { - let platform_version = PlatformVersion::latest(); - let strategy = NetworkStrategy { - strategy: Strategy { - start_contracts: vec![], - operations: vec![ - Operation { - op_type: OperationType::IdentityTopUp, - frequency: Frequency { - times_per_block_range: 1..4, - chance_per_block: None, - }, - }, - Operation { - op_type: OperationType::IdentityWithdrawal, - frequency: Frequency { - times_per_block_range: 1..4, - chance_per_block: None, - }, - }, - ], - start_identities: StartIdentities::default(), - identity_inserts: IdentityInsertInfo { - frequency: Frequency { - times_per_block_range: 1..2, - chance_per_block: None, - }, - start_keys: 3, - extra_keys: [( - Purpose::TRANSFER, - [(SecurityLevel::CRITICAL, vec![KeyType::ECDSA_SECP256K1])].into(), - )] - .into(), - }, - identity_contract_nonce_gaps: None, - signer: None, - }, - total_hpmns: 100, - extra_normal_mns: 0, - validator_quorum_count: 24, - chain_lock_quorum_count: 24, - upgrading_info: None, - - proposer_strategy: Default::default(), - rotate_quorums: false, - failure_testing: None, - query_testing: None, - // because we can add an identity and withdraw from it in the same block - // the result would be different from what would be expected - verify_state_transition_results: false, - ..Default::default() - }; - let config = PlatformConfig { - validator_set: ValidatorSetConfig::default_100_67(), - chain_lock: ChainLockConfig::default_100_67(), - instant_lock: InstantLockConfig::default_100_67(), - execution: ExecutionConfig { - verify_sum_trees: true, - - ..Default::default() - }, - block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, - ..Default::default() - }; - - let mut platform = TestPlatformBuilder::new() - .with_config(config.clone()) - .build_with_mock_rpc(); - - platform - .core_rpc - .expect_send_raw_transaction() - .returning(move |_| Ok(Txid::all_zeros())); - - struct CoreState { - asset_unlock_statuses: BTreeMap, - chain_lock: ChainLock, - } - - let mut chain_locked_height = 1; - - // Have to go with a complicated shared object for the core state because we need to change - // rpc response along the way but we can't mutate `platform.core_rpc` later - // because platform reference is moved into the AbciApplication. - let shared_core_state = Arc::new(Mutex::new(CoreState { - asset_unlock_statuses: BTreeMap::new(), - chain_lock: ChainLock { - block_height: chain_locked_height, - block_hash: BlockHash::from_byte_array([1; 32]), - signature: BLSSignature::from([2; 96]), - }, - })); - - // Set up Core RPC responses - { - let core_state = shared_core_state.clone(); - - platform - .core_rpc - .expect_get_asset_unlock_statuses() - .returning(move |indices, _| { - Ok(indices - .iter() - .map(|index| { - core_state - .lock() - .unwrap() - .asset_unlock_statuses - .get(index) - .cloned() - .unwrap() - }) - .collect()) - }); - - let core_state = shared_core_state.clone(); - platform - .core_rpc - .expect_get_best_chain_lock() - .returning(move || Ok(core_state.lock().unwrap().chain_lock.clone())); - } - - // Run first two blocks: - // - Block 1: creates identity - // - Block 2: tops up identity and initiates withdrawals - let ( - ChainExecutionOutcome { - abci_app, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions, - end_time_ms, - identity_nonce_counter, - identity_contract_nonce_counter, - instant_lock_quorums, - .. - }, - last_block_pooled_withdrawals_amount, - ) = { - let outcome = run_chain_for_strategy( - &mut platform, - 2, - strategy.clone(), - config.clone(), - 1, - &mut None, - ); - - // Withdrawal transactions are not populated to block execution context yet - assert_eq!(outcome.withdrawals.len(), 0); - - // Withdrawal documents with pooled status should exist. - let withdrawal_documents_pooled = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::POOLED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - assert!(!withdrawal_documents_pooled.is_empty()); - let pooled_withdrawals = withdrawal_documents_pooled.len(); - - (outcome, pooled_withdrawals) - }; - - // Run block 3 - // Should broadcast previously pooled withdrawals to core - let ChainExecutionOutcome { - abci_app, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions, - end_time_ms, - withdrawals: last_block_withdrawals, - identity_nonce_counter, - identity_contract_nonce_counter, - instant_lock_quorums, - .. - } = { - let outcome = continue_chain_for_strategy( - abci_app, - ChainExecutionParameters { - block_start: 3, - core_height_start: 1, - block_count: 1, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions: Some(current_proposer_versions), - current_identity_nonce_counter: identity_nonce_counter, - current_identity_contract_nonce_counter: identity_contract_nonce_counter, - current_votes: BTreeMap::default(), - start_time_ms: GENESIS_TIME_MS, - current_time_ms: end_time_ms, - instant_lock_quorums, - }, - strategy.clone(), - config.clone(), - StrategyRandomness::SeedEntropy(2), - ); - - // Withdrawal documents with pooled status should exist. - let withdrawal_documents_broadcasted = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - // In this block all previously pooled withdrawals should be broadcasted - assert_eq!( - outcome.withdrawals.len(), - last_block_pooled_withdrawals_amount - ); - assert_eq!( - withdrawal_documents_broadcasted.len(), - last_block_pooled_withdrawals_amount - ); - - outcome - }; - - // Update core state before running next block. - // Asset unlocks broadcasted in the last block should have Unknown status - { - let mut core_state = shared_core_state.lock().unwrap(); - last_block_withdrawals.iter().for_each(|tx| { - let index = asset_unlock_index(tx); - - core_state.asset_unlock_statuses.insert( - index, - AssetUnlockStatusResult { - index, - status: AssetUnlockStatus::Unknown, - }, - ); - }); - } - - // Run block 4 - // Should change pooled status to broadcasted - let last_block_broadcasted_withdrawals_amount = last_block_withdrawals.len(); - let ( - ChainExecutionOutcome { - abci_app, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions, - end_time_ms, - withdrawals: last_block_withdrawals, - identity_nonce_counter, - identity_contract_nonce_counter, - instant_lock_quorums, - .. - }, - last_block_broadcased_withdrawals_amount, - ) = { - let outcome = continue_chain_for_strategy( - abci_app, - ChainExecutionParameters { - block_start: 4, - core_height_start: 1, - block_count: 1, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions: Some(current_proposer_versions), - current_identity_nonce_counter: identity_nonce_counter, - current_identity_contract_nonce_counter: identity_contract_nonce_counter, - current_votes: BTreeMap::default(), - start_time_ms: GENESIS_TIME_MS, - current_time_ms: end_time_ms + 1000, - instant_lock_quorums, - }, - strategy.clone(), - config.clone(), - StrategyRandomness::SeedEntropy(3), - ); - - let withdrawal_documents_pooled = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::POOLED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - let withdrawal_documents_broadcasted = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - // In this block we should have new withdrawals pooled - assert!(!withdrawal_documents_pooled.is_empty()); - - // And extra withdrawals broadcasted - let withdrawals_broadcasted_expected = - last_block_broadcasted_withdrawals_amount + outcome.withdrawals.len(); - assert_eq!( - withdrawal_documents_broadcasted.len(), - withdrawals_broadcasted_expected - ); - - (outcome, withdrawal_documents_broadcasted.len()) - }; - - // Update core state for newly broadcasted transactions - { - let mut core_state = shared_core_state.lock().unwrap(); - - // First, set all previously broadcasted transactions to Chainlocked - core_state - .asset_unlock_statuses - .iter_mut() - .for_each(|(index, status_result)| { - // Do not settle yet transactions that were broadcasted in the last block - status_result.index = *index; - status_result.status = AssetUnlockStatus::Chainlocked; - }); - - // Then increase chainlocked height, so that withdrawals for chainlocked transactions - // could be completed in the next block - // TODO: do we need this var? - chain_locked_height += 1; - core_state.chain_lock.block_height = chain_locked_height; - - // Then set all newly broadcasted transactions to Unknown - last_block_withdrawals.iter().for_each(|tx| { - let index = asset_unlock_index(tx); - - core_state.asset_unlock_statuses.insert( - index, - AssetUnlockStatusResult { - index, - status: AssetUnlockStatus::Unknown, - }, - ); - }); - - drop(core_state); - } - - // Run block 5 - // Previously broadcasted transactions should be settled after block 5, - // and their corresponding statuses should be changed to COMPLETED - let ( - ChainExecutionOutcome { - abci_app, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions, - end_time_ms, - withdrawals: last_block_withdrawals, - identity_nonce_counter, - identity_contract_nonce_counter, - instant_lock_quorums, - .. - }, - last_block_withdrawals_completed_amount, - ) = { - let outcome = continue_chain_for_strategy( - abci_app, - ChainExecutionParameters { - block_start: 5, - core_height_start: 1, - block_count: 1, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions: Some(current_proposer_versions), - current_identity_nonce_counter: identity_nonce_counter, - current_identity_contract_nonce_counter: identity_contract_nonce_counter, - current_votes: BTreeMap::default(), - start_time_ms: GENESIS_TIME_MS, - current_time_ms: end_time_ms + 1000, - instant_lock_quorums, - }, - strategy.clone(), - config.clone(), - StrategyRandomness::SeedEntropy(4), - ); - - let withdrawal_documents_pooled = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::POOLED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - let withdrawal_documents_broadcasted = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - let withdrawal_documents_completed = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::COMPLETE.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - // In this block we should have new withdrawals pooled - assert!(!withdrawal_documents_pooled.is_empty()); - - // And some withdrawals completed - let withdrawals_completed_expected = - // Withdrawals issued on {previous_block - 1} considered completed - last_block_broadcased_withdrawals_amount - last_block_withdrawals.len(); - assert_eq!( - withdrawal_documents_completed.len(), - withdrawals_completed_expected - ); - - // And extra withdrawals broadcasted - let withdrawals_broadcasted_expected = - // Withdrawals issued on previous block + withdrawals from this block are still in broadcasted state - last_block_withdrawals.len() + outcome.withdrawals.len(); - - assert_eq!( - withdrawal_documents_broadcasted.len(), - withdrawals_broadcasted_expected - ); - - (outcome, withdrawal_documents_completed.len()) - }; - - // Update state of the core before proceeding to the next block - { - // Simulate transactions being added to the core mempool - let mut core_state = shared_core_state.lock().unwrap(); - - let number_of_blocks_before_expiration: u32 = 48; - chain_locked_height += number_of_blocks_before_expiration; - - core_state.chain_lock.block_height = chain_locked_height; - - last_block_withdrawals.iter().for_each(|tx| { - let index = asset_unlock_index(tx); - - core_state.asset_unlock_statuses.insert( - index, - AssetUnlockStatusResult { - index, - status: AssetUnlockStatus::Unknown, - }, - ); - }); - } - - // Run block 6. - // Tests withdrawal expiration - let ChainExecutionOutcome { .. } = { - let outcome = continue_chain_for_strategy( - abci_app, - ChainExecutionParameters { - block_start: 6, - core_height_start: 1, - block_count: 1, - proposers, - validator_quorums: quorums, - current_validator_quorum_hash: current_quorum_hash, - current_proposer_versions: Some(current_proposer_versions), - current_identity_nonce_counter: identity_nonce_counter, - current_identity_contract_nonce_counter: identity_contract_nonce_counter, - current_votes: BTreeMap::default(), - start_time_ms: GENESIS_TIME_MS, - current_time_ms: end_time_ms + 1000, - instant_lock_quorums, - }, - strategy.clone(), - config.clone(), - StrategyRandomness::SeedEntropy(5), - ); - - let withdrawal_documents_pooled = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::POOLED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - let withdrawal_documents_broadcasted = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - let withdrawal_documents_completed = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::COMPLETE.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - let withdrawal_documents_expired = outcome - .abci_app - .platform - .drive - .fetch_oldest_withdrawal_documents_by_status( - withdrawals_contract::WithdrawalStatus::EXPIRED.into(), - DEFAULT_QUERY_LIMIT, - None, - platform_version, - ) - .unwrap(); - - // In this block we should have new withdrawals pooled - assert!(!withdrawal_documents_pooled.is_empty()); - - // Amount of completed withdrawals stays the same as in the last block - assert_eq!( - withdrawal_documents_completed.len(), - last_block_withdrawals_completed_amount - ); - - // And some withdrawals got expired - let withdrawals_expired_expected = - // Withdrawals issued on {previous_block - 1}, but not chainlocked yet, considered expired - last_block_broadcased_withdrawals_amount - last_block_withdrawals.len(); - - assert_eq!( - withdrawal_documents_expired.len(), - withdrawals_expired_expected - ); - - // And extra withdrawals broadcasted - let withdrawals_broadcasted_expected = - // Withdrawals issued on previous block + withdrawals from this block are still in broadcasted state - last_block_withdrawals.len() + outcome.withdrawals.len(); - - assert_eq!( - withdrawal_documents_broadcasted.len(), - withdrawals_broadcasted_expected - ); - - outcome - }; - } - #[test] fn run_chain_rotation_is_deterministic_1_block() { let strategy = NetworkStrategy { @@ -3963,12 +3627,7 @@ mod tests { ..Default::default() }, block_spacing_ms: day_in_ms, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform_a = TestPlatformBuilder::new() @@ -4213,6 +3872,7 @@ mod tests { current_votes: BTreeMap::default(), start_time_ms: 1681094380000, current_time_ms: end_time_ms, + current_identities: Vec::new(), }, strategy, config, @@ -4275,12 +3935,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; @@ -4337,12 +3992,7 @@ mod tests { ..Default::default() }, block_spacing_ms: 3000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() diff --git a/packages/rs-drive-abci/tests/strategy_tests/patch_platform_tests.rs b/packages/rs-drive-abci/tests/strategy_tests/patch_platform_tests.rs index ee2e087e452..2e5fd9fe266 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/patch_platform_tests.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/patch_platform_tests.rs @@ -179,13 +179,14 @@ mod tests { proposers, validator_quorums: quorums, current_validator_quorum_hash: current_quorum_hash, + instant_lock_quorums, current_proposer_versions: Some(current_proposer_versions.clone()), current_identity_nonce_counter: identity_nonce_counter, current_identity_contract_nonce_counter: identity_contract_nonce_counter, current_votes: BTreeMap::default(), start_time_ms: 1681094380000, current_time_ms: end_time_ms, - instant_lock_quorums, + current_identities: Vec::new(), }, strategy.clone(), config.clone(), @@ -246,6 +247,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy.clone(), config.clone(), @@ -310,6 +312,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy.clone(), config.clone(), @@ -370,6 +373,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, diff --git a/packages/rs-drive-abci/tests/strategy_tests/strategy.rs b/packages/rs-drive-abci/tests/strategy_tests/strategy.rs index 715031739bc..13f22b16f89 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/strategy.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/strategy.rs @@ -562,6 +562,8 @@ impl NetworkStrategy { let mut replaced = vec![]; let mut transferred = vec![]; let mut deleted = vec![]; + let max_document_operation_count_without_inserts = + self.strategy.max_document_operation_count_without_inserts(); for op in &self.strategy.operations { if op.frequency.check_hit(rng) { let mut count = rng.gen_range(op.frequency.times_per_block_range.clone()); @@ -657,6 +659,7 @@ impl NetworkStrategy { KeyType::ECDSA_SECP256K1, KeyType::BLS12_381, ]), + false, ) .expect("expected to get a signing key"); @@ -786,6 +789,7 @@ impl NetworkStrategy { KeyType::ECDSA_SECP256K1, KeyType::BLS12_381, ]), + false, ) .expect("expected to get a signing key"); @@ -807,8 +811,11 @@ impl NetworkStrategy { document_type, contract, }) => { - let any_item_query = - DriveDocumentQuery::any_item_query(contract, document_type.as_ref()); + let any_item_query = DriveDocumentQuery::all_items_query( + contract, + document_type.as_ref(), + Some(max_document_operation_count_without_inserts), + ); let mut items = platform .drive .query_documents( @@ -852,6 +859,7 @@ impl NetworkStrategy { "the identity should already have a nonce for that contract", ); *identity_contract_nonce += 1; + let document_delete_transition: DocumentDeleteTransition = DocumentDeleteTransitionV0 { base: DocumentBaseTransitionV0 { @@ -949,6 +957,7 @@ impl NetworkStrategy { "the identity should already have a nonce for that contract", ); *identity_contract_nonce += 1; + let document_replace_transition: DocumentReplaceTransition = DocumentReplaceTransitionV0 { base: DocumentBaseTransitionV0 { @@ -1293,6 +1302,7 @@ impl NetworkStrategy { Purpose::AUTHENTICATION, HashSet::from([SecurityLevel::CRITICAL]), HashSet::from([KeyType::ECDSA_SECP256K1]), + false, ) .expect("Expected to get identity public key in ContractCreate"); let mut state_transition = @@ -1652,6 +1662,7 @@ pub struct ChainExecutionParameters { pub current_votes: BTreeMap>, pub start_time_ms: u64, pub current_time_ms: u64, + pub current_identities: Vec, } fn create_signed_instant_asset_lock_proofs_for_identities( diff --git a/packages/rs-drive-abci/tests/strategy_tests/upgrade_fork_tests.rs b/packages/rs-drive-abci/tests/strategy_tests/upgrade_fork_tests.rs index b1fc8e7be8a..928fc0a6a7d 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/upgrade_fork_tests.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/upgrade_fork_tests.rs @@ -1,19 +1,20 @@ #[cfg(test)] mod tests { + use crate::execution::{continue_chain_for_strategy, run_chain_for_strategy}; + use crate::strategy::{ + ChainExecutionOutcome, ChainExecutionParameters, CoreHeightIncrease, + MasternodeListChangesStrategy, NetworkStrategy, StrategyRandomness, UpgradingInfo, + }; use dpp::block::block_info::BlockInfo; + use dpp::block::epoch::Epoch; use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0Getters; use dpp::block::extended_epoch_info::v0::ExtendedEpochInfoV0Getters; use dpp::dashcore::hashes::Hash; + use dpp::dashcore::Network::Regtest; use dpp::dashcore::{BlockHash, ChainLock}; use dpp::version::PlatformVersion; use drive::config::DriveConfig; - use std::collections::{BTreeMap, HashMap}; - - use crate::execution::{continue_chain_for_strategy, run_chain_for_strategy}; - use crate::strategy::{ - ChainExecutionOutcome, ChainExecutionParameters, CoreHeightIncrease, - MasternodeListChangesStrategy, NetworkStrategy, StrategyRandomness, UpgradingInfo, - }; + use drive::query::proposer_block_count_query::ProposerQueryType; use drive_abci::config::{ ChainLockConfig, ExecutionConfig, InstantLockConfig, PlatformConfig, PlatformTestConfig, ValidatorSetConfig, @@ -27,6 +28,8 @@ mod tests { use platform_version::version::mocks::v3_test::TEST_PROTOCOL_VERSION_3; use platform_version::version::patches::PatchFn; use platform_version::version::v1::PROTOCOL_VERSION_1; + use platform_version::version::INITIAL_PROTOCOL_VERSION; + use std::collections::{BTreeMap, HashMap}; use strategy_tests::frequency::Frequency; use strategy_tests::{IdentityInsertInfo, StartIdentities, Strategy}; @@ -89,6 +92,7 @@ mod tests { }; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc(); platform .core_rpc @@ -192,6 +196,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy.clone(), config.clone(), @@ -244,6 +249,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, @@ -272,6 +278,39 @@ mod tests { assert_eq!(counter.get(&1).unwrap(), None); //no one has proposed 1 yet assert_eq!(counter.get(&TEST_PROTOCOL_VERSION_2).unwrap(), Some(&147)); } + + let epoch_proposers_2 = platform + .drive + .fetch_epoch_proposers( + &Epoch::new(2).unwrap(), + ProposerQueryType::ByRange(None, None), + None, + platform_version, + ) + .expect("expected to get epoch proposers"); + assert_eq!(epoch_proposers_2.len(), 147); + + let epoch_proposers_1 = platform + .drive + .fetch_epoch_proposers( + &Epoch::new(1).unwrap(), + ProposerQueryType::ByRange(None, None), + None, + platform_version, + ) + .expect("expected to get epoch proposers"); + assert_eq!(epoch_proposers_1.len(), 299); // We had 299 proposers in epoch 1 + + let epoch_proposers_0 = platform + .drive + .fetch_epoch_proposers( + &Epoch::new(0).unwrap(), + ProposerQueryType::ByRange(None, None), + None, + platform_version, + ) + .expect("expected to get epoch proposers"); + assert_eq!(epoch_proposers_0.len(), 447); // We had 447 proposers in epoch 0 }) .expect("Failed to create thread with custom stack size"); @@ -337,6 +376,7 @@ mod tests { }; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc(); platform .core_rpc @@ -437,6 +477,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy.clone(), config.clone(), @@ -489,6 +530,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, @@ -581,17 +623,13 @@ mod tests { }, initial_protocol_version: PROTOCOL_VERSION_1, block_spacing_ms: epoch_time_length_s * 1000, - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), ..Default::default() }; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc(); let ChainExecutionOutcome { @@ -738,6 +776,7 @@ mod tests { }; let hour_in_ms = 1000 * 60 * 60; let config = PlatformConfig { + network: Regtest, validator_set: ValidatorSetConfig { quorum_size: 40, ..Default::default() @@ -760,6 +799,7 @@ mod tests { }; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc(); platform .core_rpc @@ -854,6 +894,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy.clone(), config.clone(), @@ -905,6 +946,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, @@ -975,6 +1017,7 @@ mod tests { }; let hour_in_ms = 1000 * 60 * 60; let mut config = PlatformConfig { + network: Regtest, validator_set: ValidatorSetConfig { quorum_size: 50, ..Default::default() @@ -997,6 +1040,7 @@ mod tests { }; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc(); platform .core_rpc @@ -1082,6 +1126,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config.clone(), @@ -1181,6 +1226,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy.clone(), config.clone(), @@ -1238,6 +1284,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, @@ -1338,6 +1385,7 @@ mod tests { }; let mut platform = TestPlatformBuilder::new() .with_config(config.clone()) + .with_initial_protocol_version(INITIAL_PROTOCOL_VERSION) .build_with_mock_rpc(); platform .core_rpc @@ -1471,6 +1519,7 @@ mod tests { start_time_ms: 1681094380000, current_time_ms: end_time_ms, instant_lock_quorums, + current_identities: Vec::new(), }, strategy, config, diff --git a/packages/rs-drive-abci/tests/strategy_tests/voting_tests.rs b/packages/rs-drive-abci/tests/strategy_tests/voting_tests.rs index 9e1f71fa528..c27e5e16f51 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/voting_tests.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/voting_tests.rs @@ -16,6 +16,7 @@ mod tests { use rand::SeedableRng; use simple_signer::signer::SimpleSigner; use std::collections::BTreeMap; + use assert_matches::assert_matches; use dapi_grpc::platform::v0::{get_contested_resource_vote_state_request, get_contested_resource_vote_state_response, GetContestedResourceVoteStateRequest}; use dapi_grpc::platform::v0::get_contested_resource_vote_state_request::get_contested_resource_vote_state_request_v0::ResultType; use dapi_grpc::platform::v0::get_contested_resource_vote_state_request::GetContestedResourceVoteStateRequestV0; @@ -24,6 +25,7 @@ mod tests { use dapi_grpc::platform::v0::get_contested_resource_vote_state_response::get_contested_resource_vote_state_response_v0::finished_vote_info::FinishedVoteOutcome; use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0Getters; use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; + use dpp::state_transition::StateTransition; use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; use drive::util::object_size_info::DataContractOwnedResolvedInfo; use drive::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; @@ -34,17 +36,291 @@ mod tests { use strategy_tests::{StartIdentities, Strategy}; #[test] - fn run_chain_block_two_state_transitions_conflicting_unique_index_inserted_same_block() { - // In this test we try to insert two state transitions with the same unique index - // We use the DPNS contract, and we insert two documents both with the same "name" - // This is a common scenario we should see quite often + fn run_chain_with_temporarily_disabled_contested_documents() { + let epoch_time_length_s = 60; + let config = PlatformConfig { testing_configs: PlatformTestConfig { block_signing: false, store_platform_state: false, block_commit_signature_verification: false, disable_instant_lock_signature_verification: true, + disable_contested_documents_is_allowed_validation: false, + }, + chain_lock: ChainLockConfig::default_100_67(), + instant_lock: InstantLockConfig::default_100_67(), + execution: ExecutionConfig { + //we disable document triggers because we are using dpns and dpns needs a preorder + use_document_triggers: false, + epoch_time_length_s, + ..Default::default() + }, + block_spacing_ms: epoch_time_length_s * 1000, + ..Default::default() + }; + let mut platform = TestPlatformBuilder::new() + .with_config(config.clone()) + .build_with_mock_rpc(); + + let platform_version = PlatformVersion::latest(); + + let mut rng = StdRng::seed_from_u64(567); + + let mut simple_signer = SimpleSigner::default(); + + let (identity1, keys1) = + Identity::random_identity_with_main_keys_with_private_key::>( + 2, + &mut rng, + platform_version, + ) + .unwrap(); + + simple_signer.add_keys(keys1); + + let start_identities = create_state_transitions_for_identities( + vec![identity1], + &simple_signer, + &mut rng, + platform_version, + ); + + let dpns_contract = platform + .drive + .cache + .system_data_contracts + .load_dpns() + .as_ref() + .clone(); + + let document_type = dpns_contract + .document_type_for_name("domain") + .expect("expected a profile document type") + .to_owned_document_type(); + + let identity1_id = start_identities.first().unwrap().0.id(); + let document_op_1 = DocumentOp { + contract: dpns_contract.clone(), + action: DocumentAction::DocumentActionInsertSpecific( + BTreeMap::from([ + ("label".into(), "quantum".into()), + ("normalizedLabel".into(), "quantum".into()), + ("normalizedParentDomainName".into(), "dash".into()), + ( + "records".into(), + BTreeMap::from([("identity", Value::from(identity1_id))]).into(), + ), + ]), + Some(start_identities.first().unwrap().0.id()), + DocumentFieldFillType::FillIfNotRequired, + DocumentFieldFillSize::AnyDocumentFillSize, + ), + document_type: document_type.clone(), + }; + + let strategy = NetworkStrategy { + strategy: Strategy { + start_contracts: vec![], + operations: vec![Operation { + op_type: OperationType::Document(document_op_1.clone()), + frequency: Frequency { + times_per_block_range: 1..2, + chance_per_block: None, + }, + }], + start_identities: StartIdentities { + hard_coded: start_identities.clone(), + ..Default::default() + }, + identity_inserts: Default::default(), + + identity_contract_nonce_gaps: None, + signer: Some(simple_signer.clone()), + }, + total_hpmns: 100, + extra_normal_mns: 0, + validator_quorum_count: 24, + chain_lock_quorum_count: 24, + upgrading_info: None, + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + verify_state_transition_results: true, + ..Default::default() + }; + + let mut voting_signer = Some(SimpleSigner::default()); + + let ChainExecutionOutcome { + abci_app, + proposers, + validator_quorums, + current_validator_quorum_hash, + instant_lock_quorums, + current_proposer_versions, + end_time_ms, + identity_nonce_counter, + identity_contract_nonce_counter, + state_transition_results_per_block, + identities, + .. + } = run_chain_for_strategy( + &mut platform, + 2, + strategy.clone(), + config.clone(), + 15, + &mut voting_signer, + ); + + let platform_state = abci_app.platform.state.load(); + + // On first block we have identity + // On second block we have should have documents + // but not in our case because we disabled contested documents + let state_transitions_block_2 = state_transition_results_per_block + .get(&2) + .expect("expected to get block 2"); + + // Document transaction was rejected + assert!(state_transitions_block_2.is_empty()); + + assert_eq!(platform_state.last_committed_block_epoch().index, 1); + + // Move over 2nd epochs + + let block_start = platform_state + .last_committed_block_info() + .as_ref() + .unwrap() + .basic_info() + .height + + 1; + + let ChainExecutionOutcome { + abci_app, + proposers, + validator_quorums, + current_validator_quorum_hash, + instant_lock_quorums, + current_proposer_versions, + end_time_ms, + identity_nonce_counter, + identity_contract_nonce_counter, + .. + } = continue_chain_for_strategy( + abci_app, + ChainExecutionParameters { + block_start, + core_height_start: 1, + block_count: 3, + proposers, + validator_quorums, + current_validator_quorum_hash, + instant_lock_quorums, + current_proposer_versions: Some(current_proposer_versions.clone()), + current_identity_nonce_counter: identity_nonce_counter, + current_identity_contract_nonce_counter: identity_contract_nonce_counter, + current_votes: BTreeMap::default(), + start_time_ms: 1681094380000, + current_time_ms: end_time_ms, + current_identities: Vec::new(), }, + NetworkStrategy::default(), + config.clone(), + StrategyRandomness::SeedEntropy(7), + ); + + let platform_state = abci_app.platform.state.load(); + + assert_eq!(platform_state.last_committed_block_epoch().index, 4); + + // Insert successfully contested document + + let block_start = platform_state + .last_committed_block_info() + .as_ref() + .unwrap() + .basic_info() + .height + + 1; + + let strategy = NetworkStrategy { + strategy: Strategy { + operations: vec![Operation { + op_type: OperationType::Document(document_op_1.clone()), + frequency: Frequency { + times_per_block_range: 1..2, + chance_per_block: None, + }, + }], + signer: Some(simple_signer), + ..Default::default() + }, + total_hpmns: 100, + extra_normal_mns: 0, + validator_quorum_count: 24, + chain_lock_quorum_count: 24, + upgrading_info: None, + + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + verify_state_transition_results: true, + ..Default::default() + }; + + let ChainExecutionOutcome { + state_transition_results_per_block, + .. + } = continue_chain_for_strategy( + abci_app, + ChainExecutionParameters { + block_start, + core_height_start: 1, + block_count: 1, + proposers, + validator_quorums, + current_validator_quorum_hash, + instant_lock_quorums, + current_proposer_versions: Some(current_proposer_versions.clone()), + current_identity_nonce_counter: identity_nonce_counter, + current_identity_contract_nonce_counter: identity_contract_nonce_counter, + current_votes: BTreeMap::default(), + start_time_ms: 1681094380000, + current_time_ms: end_time_ms, + current_identities: identities, + }, + strategy, + config.clone(), + StrategyRandomness::SeedEntropy(7), + ); + + let state_transitions_block_6 = state_transition_results_per_block + .get(&6) + .expect("expected to get block 6"); + + // Contested document was created + assert_eq!(state_transitions_block_6.len(), 1); + + let (state_transition, execution_result) = state_transitions_block_6 + .first() + .expect("expected a document insert"); + + assert_matches!(state_transition, StateTransition::DocumentsBatch(_)); + + assert_eq!(execution_result.code, 0); + } + + #[test] + fn run_chain_block_two_state_transitions_conflicting_unique_index_inserted_same_block() { + // In this test we try to insert two state transitions with the same unique index + // We use the DPNS contract, and we insert two documents both with the same "name" + // This is a common scenario we should see quite often + let config = PlatformConfig { + testing_configs: PlatformTestConfig::default_minimal_verifications(), chain_lock: ChainLockConfig::default_100_67(), instant_lock: InstantLockConfig::default_100_67(), execution: ExecutionConfig { @@ -315,12 +591,7 @@ mod tests { // We use the DPNS contract, and we insert two documents both with the same "name" // This is a common scenario we should see quite often let config = PlatformConfig { - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), chain_lock: ChainLockConfig::default_100_67(), instant_lock: InstantLockConfig::default_100_67(), execution: ExecutionConfig { @@ -537,6 +808,7 @@ mod tests { current_votes: BTreeMap::default(), start_time_ms: 1681094380000, current_time_ms: end_time_ms, + current_identities: Vec::new(), }, NetworkStrategy { strategy: Strategy { @@ -671,12 +943,7 @@ mod tests { // We use the DPNS contract, and we insert two documents both with the same "name" // This is a common scenario we should see quite often let config = PlatformConfig { - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), chain_lock: ChainLockConfig::default_100_67(), instant_lock: InstantLockConfig::default_100_67(), execution: ExecutionConfig { @@ -893,6 +1160,7 @@ mod tests { current_votes: BTreeMap::default(), start_time_ms: 1681094380000, current_time_ms: end_time_ms, + current_identities: Vec::new(), }, NetworkStrategy { strategy: Strategy { @@ -1038,12 +1306,7 @@ mod tests { // We use the DPNS contract, and we insert two documents both with the same "name" // This is a common scenario we should see quite often let config = PlatformConfig { - testing_configs: PlatformTestConfig { - block_signing: false, - store_platform_state: false, - block_commit_signature_verification: false, - disable_instant_lock_signature_verification: true, - }, + testing_configs: PlatformTestConfig::default_minimal_verifications(), chain_lock: ChainLockConfig::default_100_67(), instant_lock: InstantLockConfig::default_100_67(), execution: ExecutionConfig { @@ -1275,6 +1538,7 @@ mod tests { current_votes: BTreeMap::default(), start_time_ms: 1681094380000, current_time_ms: end_time_ms, + current_identities: Vec::new(), }, NetworkStrategy { strategy: Strategy { diff --git a/packages/rs-drive-abci/tests/strategy_tests/withdrawal_tests.rs b/packages/rs-drive-abci/tests/strategy_tests/withdrawal_tests.rs new file mode 100644 index 00000000000..6113c154740 --- /dev/null +++ b/packages/rs-drive-abci/tests/strategy_tests/withdrawal_tests.rs @@ -0,0 +1,643 @@ +mod tests { + use crate::asset_unlock_index; + use crate::execution::{continue_chain_for_strategy, run_chain_for_strategy, GENESIS_TIME_MS}; + use crate::strategy::{ + ChainExecutionOutcome, ChainExecutionParameters, NetworkStrategy, StrategyRandomness, + }; + use assert_matches::assert_matches; + use dashcore_rpc::dashcore_rpc_json::{AssetUnlockStatus, AssetUnlockStatusResult}; + use dpp::dashcore::bls_sig_utils::BLSSignature; + use dpp::dashcore::hashes::Hash; + use dpp::dashcore::{BlockHash, ChainLock, Txid}; + use dpp::data_contracts::withdrawals_contract; + use dpp::identity::{KeyType, Purpose, SecurityLevel}; + use dpp::withdrawal::WithdrawalTransactionIndex; + use drive::config::DEFAULT_QUERY_LIMIT; + use drive_abci::config::{ + ChainLockConfig, ExecutionConfig, InstantLockConfig, PlatformConfig, PlatformTestConfig, + ValidatorSetConfig, + }; + use drive_abci::test::helpers::setup::TestPlatformBuilder; + use platform_version::version::mocks::v3_test::TEST_PLATFORM_V3; + use platform_version::version::PlatformVersion; + use std::collections::BTreeMap; + use std::sync::{Arc, Mutex}; + use strategy_tests::frequency::Frequency; + use strategy_tests::operations::{Operation, OperationType}; + use strategy_tests::{IdentityInsertInfo, StartIdentities, Strategy}; + + struct CoreState { + asset_unlock_statuses: BTreeMap, + chain_lock: ChainLock, + } + + #[test] + fn run_chain_top_up_and_withdraw_from_identities() { + // TEST_PLATFORM_V3 is like v4, but without the single quorum can sign withdrawals restriction + let platform_version = PlatformVersion::get(TEST_PLATFORM_V3.protocol_version) + .expect("expected to get platform version"); + let strategy = NetworkStrategy { + strategy: Strategy { + start_contracts: vec![], + operations: vec![ + Operation { + op_type: OperationType::IdentityTopUp, + frequency: Frequency { + times_per_block_range: 1..4, + chance_per_block: None, + }, + }, + Operation { + op_type: OperationType::IdentityWithdrawal, + frequency: Frequency { + times_per_block_range: 1..4, + chance_per_block: None, + }, + }, + ], + start_identities: StartIdentities::default(), + identity_inserts: IdentityInsertInfo { + frequency: Frequency { + times_per_block_range: 1..2, + chance_per_block: None, + }, + start_keys: 3, + extra_keys: [( + Purpose::TRANSFER, + [(SecurityLevel::CRITICAL, vec![KeyType::ECDSA_SECP256K1])].into(), + )] + .into(), + }, + identity_contract_nonce_gaps: None, + signer: None, + }, + total_hpmns: 100, + extra_normal_mns: 0, + validator_quorum_count: 24, + chain_lock_quorum_count: 24, + upgrading_info: None, + + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + // because we can add an identity and withdraw from it in the same block + // the result would be different from what would be expected + verify_state_transition_results: false, + ..Default::default() + }; + let config = PlatformConfig { + validator_set: ValidatorSetConfig::default_100_67(), + chain_lock: ChainLockConfig::default_100_67(), + instant_lock: InstantLockConfig::default_100_67(), + execution: ExecutionConfig { + verify_sum_trees: true, + + ..Default::default() + }, + block_spacing_ms: 3000, + initial_protocol_version: TEST_PLATFORM_V3.protocol_version, + testing_configs: PlatformTestConfig::default_minimal_verifications(), + ..Default::default() + }; + + let mut platform = TestPlatformBuilder::new() + .with_config(config.clone()) + .build_with_mock_rpc(); + + platform + .core_rpc + .expect_send_raw_transaction() + .returning(move |_| Ok(Txid::all_zeros())); + + let mut chain_locked_height = 1; + + // Have to go with a complicated shared object for the core state because we need to change + // rpc response along the way but we can't mutate `platform.core_rpc` later + // because platform reference is moved into the AbciApplication. + let shared_core_state = Arc::new(Mutex::new(CoreState { + asset_unlock_statuses: BTreeMap::new(), + chain_lock: ChainLock { + block_height: chain_locked_height, + block_hash: BlockHash::from_byte_array([1; 32]), + signature: BLSSignature::from([2; 96]), + }, + })); + + // Set up Core RPC responses + { + let core_state = shared_core_state.clone(); + + platform + .core_rpc + .expect_get_asset_unlock_statuses() + .returning(move |indices, _| { + Ok(indices + .iter() + .map(|index| { + core_state + .lock() + .unwrap() + .asset_unlock_statuses + .get(index) + .cloned() + .unwrap() + }) + .collect()) + }); + + let core_state = shared_core_state.clone(); + platform + .core_rpc + .expect_get_best_chain_lock() + .returning(move || Ok(core_state.lock().unwrap().chain_lock.clone())); + } + + // Run first two blocks: + // - Block 1: creates identity + // - Block 2: tops up identity and initiates withdrawals + let ( + ChainExecutionOutcome { + abci_app, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions, + end_time_ms, + identity_nonce_counter, + identity_contract_nonce_counter, + instant_lock_quorums, + .. + }, + last_block_pooled_withdrawals_amount, + ) = { + let outcome = run_chain_for_strategy( + &mut platform, + 2, + strategy.clone(), + config.clone(), + 1, + &mut None, + ); + + for tx_results_per_block in outcome.state_transition_results_per_block.values() { + for (state_transition, result) in tx_results_per_block { + assert_eq!( + result.code, 0, + "state transition got code {} : {:?}", + result.code, state_transition + ); + } + } + + // Withdrawal transactions are not populated to block execution context yet + assert_eq!(outcome.withdrawals.len(), 0); + + // Withdrawal documents with pooled status should exist. + let withdrawal_documents_pooled = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::POOLED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + assert!(!withdrawal_documents_pooled.is_empty()); + let pooled_withdrawals = withdrawal_documents_pooled.len(); + + (outcome, pooled_withdrawals) + }; + + // Run block 3 + // Should broadcast previously pooled withdrawals to core + let ChainExecutionOutcome { + abci_app, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions, + end_time_ms, + withdrawals: last_block_withdrawals, + identity_nonce_counter, + identity_contract_nonce_counter, + instant_lock_quorums, + .. + } = { + let outcome = continue_chain_for_strategy( + abci_app, + ChainExecutionParameters { + block_start: 3, + core_height_start: 1, + block_count: 1, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions: Some(current_proposer_versions), + current_identity_nonce_counter: identity_nonce_counter, + current_identity_contract_nonce_counter: identity_contract_nonce_counter, + current_votes: BTreeMap::default(), + start_time_ms: GENESIS_TIME_MS, + current_time_ms: end_time_ms, + instant_lock_quorums, + current_identities: Vec::new(), + }, + strategy.clone(), + config.clone(), + StrategyRandomness::SeedEntropy(2), + ); + + // Withdrawal documents with pooled status should exist. + let withdrawal_documents_broadcasted = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + // In this block all previously pooled withdrawals should be broadcasted + assert_eq!( + outcome.withdrawals.len(), + last_block_pooled_withdrawals_amount + ); + assert_eq!( + withdrawal_documents_broadcasted.len(), + last_block_pooled_withdrawals_amount + ); + + outcome + }; + + // Update core state before running next block. + // Asset unlocks broadcasted in the last block should have Unknown status + { + let mut core_state = shared_core_state.lock().unwrap(); + last_block_withdrawals.iter().for_each(|tx| { + let index = asset_unlock_index(tx); + + core_state.asset_unlock_statuses.insert( + index, + AssetUnlockStatusResult { + index, + status: AssetUnlockStatus::Unknown, + }, + ); + }); + } + + // Run block 4 + // Should change pooled status to broadcasted + let last_block_broadcasted_withdrawals_amount = last_block_withdrawals.len(); + let ( + ChainExecutionOutcome { + abci_app, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions, + end_time_ms, + withdrawals: last_block_withdrawals, + identity_nonce_counter, + identity_contract_nonce_counter, + instant_lock_quorums, + .. + }, + last_block_broadcased_withdrawals_amount, + ) = { + let outcome = continue_chain_for_strategy( + abci_app, + ChainExecutionParameters { + block_start: 4, + core_height_start: 1, + block_count: 1, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions: Some(current_proposer_versions), + current_identity_nonce_counter: identity_nonce_counter, + current_identity_contract_nonce_counter: identity_contract_nonce_counter, + current_votes: BTreeMap::default(), + start_time_ms: GENESIS_TIME_MS, + current_time_ms: end_time_ms + 1000, + instant_lock_quorums, + current_identities: Vec::new(), + }, + strategy.clone(), + config.clone(), + StrategyRandomness::SeedEntropy(3), + ); + + let withdrawal_documents_pooled = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::POOLED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + let withdrawal_documents_broadcasted = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + // In this block we should have new withdrawals pooled + assert!(!withdrawal_documents_pooled.is_empty()); + + // And extra withdrawals broadcasted + let withdrawals_broadcasted_expected = + last_block_broadcasted_withdrawals_amount + outcome.withdrawals.len(); + assert_eq!( + withdrawal_documents_broadcasted.len(), + withdrawals_broadcasted_expected + ); + + (outcome, withdrawal_documents_broadcasted.len()) + }; + + // Update core state for newly broadcasted transactions + { + let mut core_state = shared_core_state.lock().unwrap(); + + // First, set all previously broadcasted transactions to Chainlocked + core_state + .asset_unlock_statuses + .iter_mut() + .for_each(|(index, status_result)| { + // Do not settle yet transactions that were broadcasted in the last block + status_result.index = *index; + status_result.status = AssetUnlockStatus::Chainlocked; + }); + + // Then increase chainlocked height, so that withdrawals for chainlocked transactions + // could be completed in the next block + // TODO: do we need this var? + chain_locked_height += 1; + core_state.chain_lock.block_height = chain_locked_height; + + // Then set all newly broadcasted transactions to Unknown + last_block_withdrawals.iter().for_each(|tx| { + let index = asset_unlock_index(tx); + + core_state.asset_unlock_statuses.insert( + index, + AssetUnlockStatusResult { + index, + status: AssetUnlockStatus::Unknown, + }, + ); + }); + + drop(core_state); + } + + // Run block 5 + // Previously broadcasted transactions should be settled after block 5, + // and their corresponding statuses should be changed to COMPLETED + let ( + ChainExecutionOutcome { + abci_app, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions, + end_time_ms, + withdrawals: last_block_withdrawals, + identity_nonce_counter, + identity_contract_nonce_counter, + instant_lock_quorums, + .. + }, + last_block_withdrawals_completed_amount, + ) = { + let outcome = continue_chain_for_strategy( + abci_app, + ChainExecutionParameters { + block_start: 5, + core_height_start: 1, + block_count: 1, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions: Some(current_proposer_versions), + current_identity_nonce_counter: identity_nonce_counter, + current_identity_contract_nonce_counter: identity_contract_nonce_counter, + current_votes: BTreeMap::default(), + start_time_ms: GENESIS_TIME_MS, + current_time_ms: end_time_ms + 1000, + instant_lock_quorums, + current_identities: Vec::new(), + }, + strategy.clone(), + config.clone(), + StrategyRandomness::SeedEntropy(4), + ); + + let withdrawal_documents_pooled = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::POOLED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + let withdrawal_documents_broadcasted = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + let withdrawal_documents_completed = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::COMPLETE.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + // In this block we should have new withdrawals pooled + assert!(!withdrawal_documents_pooled.is_empty()); + + // And some withdrawals completed + let withdrawals_completed_expected = + // Withdrawals issued on {previous_block - 1} considered completed + last_block_broadcased_withdrawals_amount - last_block_withdrawals.len(); + assert_eq!( + withdrawal_documents_completed.len(), + withdrawals_completed_expected + ); + + // And extra withdrawals broadcasted + let withdrawals_broadcasted_expected = + // Withdrawals issued on previous block + withdrawals from this block are still in broadcasted state + last_block_withdrawals.len() + outcome.withdrawals.len(); + + assert_eq!( + withdrawal_documents_broadcasted.len(), + withdrawals_broadcasted_expected + ); + + (outcome, withdrawal_documents_completed.len()) + }; + + // Update state of the core before proceeding to the next block + { + // Simulate transactions being added to the core mempool + let mut core_state = shared_core_state.lock().unwrap(); + + let number_of_blocks_before_expiration: u32 = 48; + chain_locked_height += number_of_blocks_before_expiration; + + core_state.chain_lock.block_height = chain_locked_height; + + last_block_withdrawals.iter().for_each(|tx| { + let index = asset_unlock_index(tx); + + core_state.asset_unlock_statuses.insert( + index, + AssetUnlockStatusResult { + index, + status: AssetUnlockStatus::Unknown, + }, + ); + }); + } + + // Run block 6. + // Tests withdrawal expiration + let ChainExecutionOutcome { .. } = { + let outcome = continue_chain_for_strategy( + abci_app, + ChainExecutionParameters { + block_start: 6, + core_height_start: 1, + block_count: 1, + proposers, + validator_quorums: quorums, + current_validator_quorum_hash: current_quorum_hash, + current_proposer_versions: Some(current_proposer_versions), + current_identity_nonce_counter: identity_nonce_counter, + current_identity_contract_nonce_counter: identity_contract_nonce_counter, + current_votes: BTreeMap::default(), + start_time_ms: GENESIS_TIME_MS, + current_time_ms: end_time_ms + 1000, + instant_lock_quorums, + current_identities: Vec::new(), + }, + strategy.clone(), + config.clone(), + StrategyRandomness::SeedEntropy(5), + ); + + let withdrawal_documents_pooled = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::POOLED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + let withdrawal_documents_broadcasted = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::BROADCASTED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + let withdrawal_documents_completed = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::COMPLETE.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + let withdrawal_documents_expired = outcome + .abci_app + .platform + .drive + .fetch_oldest_withdrawal_documents_by_status( + withdrawals_contract::WithdrawalStatus::EXPIRED.into(), + DEFAULT_QUERY_LIMIT, + None, + platform_version, + ) + .unwrap(); + + // In this block we should have new withdrawals pooled + assert!(!withdrawal_documents_pooled.is_empty()); + + // Amount of completed withdrawals stays the same as in the last block + assert_eq!( + withdrawal_documents_completed.len(), + last_block_withdrawals_completed_amount + ); + + // And some withdrawals got expired + let withdrawals_expired_expected = + // Withdrawals issued on {previous_block - 1}, but not chainlocked yet, considered expired + last_block_broadcased_withdrawals_amount - last_block_withdrawals.len(); + + assert_eq!( + withdrawal_documents_expired.len(), + withdrawals_expired_expected + ); + + // And extra withdrawals broadcasted + let withdrawals_broadcasted_expected = + // Withdrawals issued on previous block + withdrawals from this block are still in broadcasted state + last_block_withdrawals.len() + outcome.withdrawals.len(); + + assert_eq!( + withdrawal_documents_broadcasted.len(), + withdrawals_broadcasted_expected + ); + + outcome + }; + } +} diff --git a/packages/rs-drive-abci/tests/supporting_files/mainnet_protx_list_diffs/1-2128896.json b/packages/rs-drive-abci/tests/supporting_files/mainnet_protx_list_diffs/1-2128896.json new file mode 100644 index 00000000000..5036b1ddb62 --- /dev/null +++ b/packages/rs-drive-abci/tests/supporting_files/mainnet_protx_list_diffs/1-2128896.json @@ -0,0 +1,86540 @@ +{ + "baseHeight": 1, + "blockHeight": 2128896, + "addedMNs": [ + { + "type": "Regular", + "proTxHash": "a8355582b280be9452f939d34637ab82226ba2c97e1aac15eaf6db878fec0130", + "collateralHash": "b815315ce608046f4e11fed2596e6cdc9441cb41c2b288ab4e73d4b8cca3db1e", + "collateralIndex": 1, + "collateralAddress": "XywwEP8jfwVzGGRxLPAQUyw91vamyWPKgT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.72.161:9999", + "registeredHeight": 1028165, + "lastPaidHeight": 1736241, + "consecutivePayments": 0, + "PoSePenalty": 4465, + "PoSeRevivedHeight": 1687843, + "PoSeBanHeight": 1738698, + "revocationReason": 0, + "ownerAddress": "XcE1kpouByJ6zXXFpkQeR7fViVvF5qDfmi", + "votingAddress": "XcE1kpouByJ6zXXFpkQeR7fViVvF5qDfmi", + "payoutAddress": "XywwEP8jfwVzGGRxLPAQUyw91vamyWPKgT", + "pubKeyOperator": "85e216e58ae3ffa72235597fa7f0b24d3ba8761a3a2608ee82e0e4d1daafb02f6af103acd32fc90af7b06ccd3994b4fa" + } + }, + { + "type": "Regular", + "proTxHash": "219edddca6b0973d4b9fd24ae62d9b8a8c4addd0d1c44de577e1ef127f37fb32", + "collateralHash": "d8acd851e706aa75bed28dcfe5c62dd0157920f4a63f9a06c61894ea605b6d0a", + "collateralIndex": 1, + "collateralAddress": "Xt77nU5qc5wquYng2om1fRSHsnmUB3WL1Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.228:9999", + "registeredHeight": 1028165, + "lastPaidHeight": 2127072, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtqJ5rnqadDmgRmZQ769UN6y9zYjMDhBMf", + "votingAddress": "XtqJ5rnqadDmgRmZQ769UN6y9zYjMDhBMf", + "payoutAddress": "Xt77nU5qc5wquYng2om1fRSHsnmUB3WL1Z", + "pubKeyOperator": "052768279662dde58004c839fa200f66d7ea94cc15d8ac3b835290b0a28f892c936978c320872a1e673056f839dd381c" + } + }, + { + "type": "Regular", + "proTxHash": "56894355c1b8596c9742681956293d457cb7eece84b0e65cb5095f8be4964881", + "collateralHash": "78e3c27b21a7d83ccbad6c4b01a27ab0e0ee8275315bd8f774a2d829c8bc620d", + "collateralIndex": 1, + "collateralAddress": "Xjstd5ZP1GmB8myBd7fayQVq9r6FxDTY63", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.141.240.136:9999", + "registeredHeight": 1028165, + "lastPaidHeight": 1730788, + "consecutivePayments": 0, + "PoSePenalty": 4473, + "PoSeRevivedHeight": 1747937, + "PoSeBanHeight": 1748778, + "revocationReason": 0, + "ownerAddress": "XcQeWcL4hjs2j4KrfHS7xd62g5ndGug7Ai", + "votingAddress": "XcQeWcL4hjs2j4KrfHS7xd62g5ndGug7Ai", + "payoutAddress": "XqE414Emx3BpErTVV7amxE54PhvyqTJeWU", + "pubKeyOperator": "04abf0519b7114fd86b3f17f536888dbf93d0619f87e7f0a41c71a49caec9a619752a56d78dd2d0374cea38e557213e7" + } + }, + { + "type": "Regular", + "proTxHash": "d1dc61fec1fb3c58cb5a1ce3d4a2d2e162b092a2d139d36e23ca75a961a5d706", + "collateralHash": "4096baeebef9b90c58ba9b091e15c38b97081750dc73aac0445e4ebb15b265ba", + "collateralIndex": 1, + "collateralAddress": "XsjmYePtnmAJ2SA8Q8uMSikP3dmc5fXFvX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.191.222:9999", + "registeredHeight": 1028165, + "lastPaidHeight": 2126856, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1687171, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcPswZ5MMXaxUgoTapxdAW9eX9qqYVrCz3", + "votingAddress": "XcPswZ5MMXaxUgoTapxdAW9eX9qqYVrCz3", + "payoutAddress": "XnceyaAjQJ2P5LHsXosYGEZMCNK8EdwPX4", + "pubKeyOperator": "9694dc353353d256f8000d3855944699c6ce4431f8a754219ee56583e2bab6bd11e670bec2841a161e04f9cf0d61426c" + } + }, + { + "type": "Regular", + "proTxHash": "da539b7435a73e61990f460193f9a391b1b4d77c2eb97ed61378eaf04232fb82", + "collateralHash": "7625afa56cbbe0c200b911d557c7302dcbd5fa97dcf831d1e14a91671751b163", + "collateralIndex": 1, + "collateralAddress": "XtAyqBgMQZGYxb7XisNg1iQ4kCVvVoDJok", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.141.223.228:9999", + "registeredHeight": 1028165, + "lastPaidHeight": 1732206, + "consecutivePayments": 0, + "PoSePenalty": 4472, + "PoSeRevivedHeight": 1747938, + "PoSeBanHeight": 1748939, + "revocationReason": 0, + "ownerAddress": "XkCsxp2nJe49U5csN2R9zQkeH415HVNV2Z", + "votingAddress": "XkCsxp2nJe49U5csN2R9zQkeH415HVNV2Z", + "payoutAddress": "XbKVbAw9S9NK89z8wjdLCVxcHGQZFFz3ev", + "pubKeyOperator": "0005ef95afc9acd78f7a82842626cf882b36390c53429384fd29ec4b27ee774dc1761faefb0035c208a22f4a129788ca" + } + }, + { + "type": "Regular", + "proTxHash": "dcb7a6d7eeaa524e4f4c8659bcce17d4c275b841fac468ee84cae7afc1f18dca", + "collateralHash": "a1d88f299a74010e9f4ced43c756857913e3404ef764880f55741ab29e619589", + "collateralIndex": 0, + "collateralAddress": "Xh3wA9HtJtKLGc5tjHYf5jteYNdqyAcjHV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.238.82.102:9999", + "registeredHeight": 1028169, + "lastPaidHeight": 2126114, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1915908, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtVYGqpCJpLLaXrLzg8w4pQrdMEejnK6K4", + "votingAddress": "XtVYGqpCJpLLaXrLzg8w4pQrdMEejnK6K4", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "0cc3e63623d7c4141109f63c0ccd7e4cb24c5743e2eb349a8ebe2b78d569c99b9796740192168dac8a2509733c803bbe" + } + }, + { + "type": "Regular", + "proTxHash": "0b2749202fcc29241ea6121ce11812c4320ec3796ca540cb0a395bd48eb451b1", + "collateralHash": "a365e6e6e215faa703f971abdc92b3fc8dad93b7ddc6b37d728688dfc5d5d5a9", + "collateralIndex": 0, + "collateralAddress": "XsAJbyMXTvuo2Zbnm7xJhyMEbCc2PDgtGx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "217.69.5.141:9999", + "registeredHeight": 1028169, + "lastPaidHeight": 2128685, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1984432, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsH8nLKTjGJaDY9CoMn9NQEGvxVubNZtzt", + "votingAddress": "XsH8nLKTjGJaDY9CoMn9NQEGvxVubNZtzt", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "115bc709f4a650044a105fcb6637378e35c039cbd9833ae2b4661f65d16127676c19e1a7176e87e28d7e85c0d87b94b6" + } + }, + { + "type": "Regular", + "proTxHash": "c12ab4e87d71b1f5213a23ba834f367263ea8aa6857142e58941746e4af9ca9e", + "collateralHash": "3b1ac3835eccd0785753d214e829c413867707f0c17fb773096df79f9af5afd1", + "collateralIndex": 1, + "collateralAddress": "Xeb44xeWVQM16n3n9R2mtRsPLCuyFBGPA2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.89.174:9999", + "registeredHeight": 1028169, + "lastPaidHeight": 2128502, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh6zDDMNqgd2BMipCjcdgubxJVBzHD5QgU", + "votingAddress": "Xh6zDDMNqgd2BMipCjcdgubxJVBzHD5QgU", + "payoutAddress": "Xeb44xeWVQM16n3n9R2mtRsPLCuyFBGPA2", + "pubKeyOperator": "85783af3e12e16fa3e314079c568894577956f294dfe7b30368829c3f1384cbe08980993fdf0963702fafb8aae19835d" + } + }, + { + "type": "Regular", + "proTxHash": "dd19cea6d38939d2aec066d87fd325943a26d3d07aa835aa224132bbdd8be323", + "collateralHash": "bbae2abac6b69c44716ff3cb8152add9e47036275b3c1f4ea3b043054b64d3d3", + "collateralIndex": 0, + "collateralAddress": "XcRFsCZ4g9XMMXewAr822VXxQtMnaYJGPv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.10.45:9999", + "registeredHeight": 1028169, + "lastPaidHeight": 2128047, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1531166, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmN4VqGikdrTLPomgNNDT5yzC23sjX8vB6", + "votingAddress": "XmN4VqGikdrTLPomgNNDT5yzC23sjX8vB6", + "payoutAddress": "Xf8TVrji9pD6c1tRwYE5iK3Uyim6TPT5h3", + "pubKeyOperator": "81a2733e45eba76282fa365c415815338a2c8e1da3a432f7860bcc9e891b36a23e5590278e13eb0b998b8ed5e9b56009" + } + }, + { + "type": "Regular", + "proTxHash": "a1872519ddef48cfcd806b1dcd58bde5a309d39554b635eb005352a0316ecce8", + "collateralHash": "ccc6306c857ecb034a18cf3e940082abb7d2d9d69d5b2db363cccb06f6f9299e", + "collateralIndex": 1, + "collateralAddress": "XvREKNnLEJXccRbuYhr8pfaYN4GoUkEWD7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.69.55.87:9999", + "registeredHeight": 1028169, + "lastPaidHeight": 2128674, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuaNfrvYgjHgKPXy29d3tswS9oT3c5ajXD", + "votingAddress": "XuaNfrvYgjHgKPXy29d3tswS9oT3c5ajXD", + "payoutAddress": "XbXD6V1ZP4LUkX55rk6EwPJWsrnTa8uGCq", + "pubKeyOperator": "96272376aa3b91448589d857a27aa66aa7c86f9d61a2e35b3f509ef3a7b811ee7c3e3d00dd45cd66dd5cf058d1ed490b" + } + }, + { + "type": "Regular", + "proTxHash": "9c663ed039e98d055af0e1dbd30a7b702e77fce302708114915cf2ede9f85874", + "collateralHash": "69671a6f82c4aec27bc1f1c54361eb2b0637208a7d38f18c590f931c35134891", + "collateralIndex": 0, + "collateralAddress": "XdwZ3RUNSA941TgUJeWE9KBhxsUeX16BUW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.190.33.135:9999", + "registeredHeight": 1028171, + "lastPaidHeight": 2127489, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115135, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqAJRzPEQ82BwEfs41cpkMSAvrcfB1FWTc", + "votingAddress": "XqAJRzPEQ82BwEfs41cpkMSAvrcfB1FWTc", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "0505cffc69beb642ff54726ff52139cc18014c6cbc603d46a706ecaf9668db058e7532a96aae6d476ce474c7b122aa71" + } + }, + { + "type": "Regular", + "proTxHash": "b0e8bf20b8aa55e7ddb9410e0d1c5dc89f44fcce476e21780f2569fbbf040501", + "collateralHash": "36670b43ec0e6017f0cc7a2e0359fc7e8a181baf9e354ed37b414dc101e02d86", + "collateralIndex": 1, + "collateralAddress": "XmpFsTXMvejes8zhotdwgg9y3dcG81pE1C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.102.65.145:9999", + "registeredHeight": 1028202, + "lastPaidHeight": 2128428, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122133, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpn7K7w7TzzJvuwWiju6eiGbqXBpE9f1gn", + "votingAddress": "Xpn7K7w7TzzJvuwWiju6eiGbqXBpE9f1gn", + "payoutAddress": "XmpFsTXMvejes8zhotdwgg9y3dcG81pE1C", + "pubKeyOperator": "1319bd8c3c5218e4a0af65b83e9ae46d01e5a9f54229a2803e737720191f2b88a66dd938ef30cd49c15421cc59c538ce" + } + }, + { + "type": "Regular", + "proTxHash": "51b7641a899c9327273b0198503878fafeb66ec9904fe3b39662475b96e351a2", + "collateralHash": "a22e28bdd05f2d1fe304b8e600947cb576bddc508b366e2355a23b5e6530efad", + "collateralIndex": 0, + "collateralAddress": "XvVnAAB3QkyTxPLeuP9uKiGKF6k2xvJobv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.84:9999", + "registeredHeight": 1028202, + "lastPaidHeight": 2127812, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrkXoyBJYDqGqBo9CxUTLDw7YZeTU54MaN", + "votingAddress": "XrkXoyBJYDqGqBo9CxUTLDw7YZeTU54MaN", + "payoutAddress": "Xv1LJrQsW1QQBZ3LKhu8uXovD8D6jAFHjW", + "pubKeyOperator": "89133f89ff049d4da8cd3b718e7a10885aa332b31d83f102d184c3a33ab4f77b3faa39a0098443eadae470c3c5b5f9f0" + } + }, + { + "type": "Regular", + "proTxHash": "60161082b09a35f4e2d300e4fcf6063f8207fb2150f8848961a55a1304bcf2bd", + "collateralHash": "56a04f6ff0891c35ae946469853a86cedbc44a271a3d7087b835768b81da6f70", + "collateralIndex": 0, + "collateralAddress": "XhDZ2EJ4p23pTcCdJ47kKjy5QJop8sbiku", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.82.173:9999", + "registeredHeight": 1028203, + "lastPaidHeight": 2127842, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbjC2jjiuB3ccGgUrbTsw2YrCXfdDv9QSF", + "votingAddress": "XbjC2jjiuB3ccGgUrbTsw2YrCXfdDv9QSF", + "payoutAddress": "XmQcc19cZo81yM1DbVweQVxPC4bbgoF9DG", + "pubKeyOperator": "84830a7f9af1b788df3060c089e3e7d6e242e94802dfb8d2eb46d69aa27276a860963c52b20f41cdb4791a71e58b4344" + } + }, + { + "type": "Regular", + "proTxHash": "bfb4e30b7d2b8d46060a045e1451d144e0ba29d5db1132ef2583182f070d801f", + "collateralHash": "4a38c89009f0dc6b5020c8cfd6adc7faf96db94b63f7024ba86a72fff148a64a", + "collateralIndex": 0, + "collateralAddress": "XwE4dydM2kac2RwMho9JmdeTLZPiQV5k4q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.20.102.188:9999", + "registeredHeight": 1028206, + "lastPaidHeight": 2128594, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1414720, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs1pMPpG8PT1NBDHx81N49bmRKHnxPY6FJ", + "votingAddress": "Xs1pMPpG8PT1NBDHx81N49bmRKHnxPY6FJ", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "0ca6c2cfef46803dfff341f7a4319d3e6e2f2abeb0bf4a976f95298b1a343f073ec8e5d83e58f1014fe690a7066b1a66" + } + }, + { + "type": "Regular", + "proTxHash": "cac8fe7c551fe427fa88f08b582c4649ad465863bc0906b71811451dc9c3d892", + "collateralHash": "d6298ed4d3887421bc7a4b62cba16a41c5d79daa3e276e52a956e61569fa8eec", + "collateralIndex": 0, + "collateralAddress": "Xn4LJBeVFEhdLVBCghAbzgxrGeLVtDyewD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.31:9999", + "registeredHeight": 1028206, + "lastPaidHeight": 2127912, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhRTDjh1ZP7tFtDN4kCQz3wW39idTC9P6K", + "votingAddress": "XhRTDjh1ZP7tFtDN4kCQz3wW39idTC9P6K", + "payoutAddress": "XwpReg2DNDXXFxWvDmbBDPzrViJANrunrn", + "pubKeyOperator": "0af18a77709f059861df34e66f3b01a30255330686b77b5e5768261e4f902e9598fe8b0f4d919d2b768a5705ad743718" + } + }, + { + "type": "Regular", + "proTxHash": "c0eac14a38182aaf467d232c2a8a3178bb121875c283343094211d53091436f0", + "collateralHash": "a5e3b9f0263aea8107bc806da4594f0dba43d1a1b39b5bb770e5d1e6d69515fc", + "collateralIndex": 0, + "collateralAddress": "Xc9sSFJVP5nEpgYwnoPu7AS9NgEP7Vy2ky", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.104.43:9999", + "registeredHeight": 1028206, + "lastPaidHeight": 2128817, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977468, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwWr8ZHm28BoAJQBk2aLMSD35FYZ8RUsMC", + "votingAddress": "XwWr8ZHm28BoAJQBk2aLMSD35FYZ8RUsMC", + "payoutAddress": "XmdYsjLXU7AcuMdEoB1rhU2S7BJ59mVCvM", + "pubKeyOperator": "962f4706a58b95212c03bf8f4b8fe8e7e8198f23b33ed49cd68f806cc95bf9acbedb6d95a03033522c1fc715a47b5784" + } + }, + { + "type": "Regular", + "proTxHash": "aeaa961f986d5328b0133dddaf5dd7fab3972b7163a9b952442ac05fdcdb81ab", + "collateralHash": "41aae0b61f6349be137e76403d070998f33ffd21f66c89542e068cab1eebedd3", + "collateralIndex": 0, + "collateralAddress": "Xbrnjad7A5qpXkW6nBePhh5Z2tfs6Qdmpw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.241:9999", + "registeredHeight": 1028206, + "lastPaidHeight": 2127918, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw2sXBjQciGobzpKjgqTAnZ798ZeyPANbt", + "votingAddress": "Xw2sXBjQciGobzpKjgqTAnZ798ZeyPANbt", + "payoutAddress": "XredhX2Zxh774kuJLU866Wbc1C8PSc2h5X", + "pubKeyOperator": "0937df6a7c7037fb37fbee0a0740e35bed81ad2b0adf6dbaa2410917e585515097df9ca430fa249886648d5b3387a64c" + } + }, + { + "type": "Regular", + "proTxHash": "058a33de919dd30c5c584685945d6e97af4c2b0391e21418e02140658569f888", + "collateralHash": "513717b86c21d498a1125caa719a48baa6517056e601b146bae870ce02f79145", + "collateralIndex": 0, + "collateralAddress": "XyJhHKioHs5VWbgu2kpsCGMcNMK2buuSv1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.237:9999", + "registeredHeight": 1028206, + "lastPaidHeight": 2128313, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976887, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqBLuEVMV6gY4S8ibgVc8nfx6aKtEdpCur", + "votingAddress": "XqBLuEVMV6gY4S8ibgVc8nfx6aKtEdpCur", + "payoutAddress": "XffEFifXCZyZv6Hcu7U4748EjczWmdMLus", + "pubKeyOperator": "8997607e87d3364b12aa07dcb3b58530c4fc0b8043c1b1d50f0c9f7c06e75803cf14fc61ba3fba4290cf6adf5e3eca87" + } + }, + { + "type": "Regular", + "proTxHash": "664a9d8284ed557e99ccfdcdc8c8f67824fdc2bcbbcf00d2fae403999c60b789", + "collateralHash": "fdf5e709a06ba631941f4b7265314e6f397addc1f146bc9a1733f40c9d799026", + "collateralIndex": 0, + "collateralAddress": "XkSFCiAgiN7dNFTWHQA4doFcqQLwXLpP7r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.93.41:9999", + "registeredHeight": 1028208, + "lastPaidHeight": 2127957, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfjAVvYhx7KrBvfrWor6qRX7TVxkNa9WvR", + "votingAddress": "XfjAVvYhx7KrBvfrWor6qRX7TVxkNa9WvR", + "payoutAddress": "Xo9fKToe6vQJv58qyRVJrEhtKRZM6hkCYn", + "pubKeyOperator": "8757590e3b6d21d4f6b6331f4d831e089514e52bc8285f3dfa4a842359e2f74a1d97dd56edc8e3286bf8ca7cb000eef9" + } + }, + { + "type": "Regular", + "proTxHash": "aabc6311a7036a7b355cee184aeba050a49499bdbaca1d229acdc2ced7fd4090", + "collateralHash": "8989846a89f19aec73846f1a959efdcbb67ee167b96d70b58307e28fc93f441f", + "collateralIndex": 0, + "collateralAddress": "XccRJdmH7EqmA6qKMQEm4rAZQLhnVy3JD1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.41:9999", + "registeredHeight": 1028208, + "lastPaidHeight": 2128235, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976861, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiC4X65YM1ny4LeZeUyowHUgNCwN1THg5P", + "votingAddress": "XiC4X65YM1ny4LeZeUyowHUgNCwN1THg5P", + "payoutAddress": "XgRA6xJxUUWyt7M6xonRqN7HaSPWpfB3dU", + "pubKeyOperator": "893b13f8dc01ac57ef61a1fe07b38486f199e7255b8696d91e00bf8121a4b1c4d7d73ed35743fedb0fe3cf24a2b4e4a2" + } + }, + { + "type": "Regular", + "proTxHash": "4917499c57b200696910ff3b118b328eb9c02dbb954ea5652d024b32ae362d8a", + "collateralHash": "5f8bb69fb300222aceb2d5ba64f95ac9c3f1e56d636c1cf582dd6c9f34f224b1", + "collateralIndex": 1, + "collateralAddress": "XiFWXPaSbshYMioFZ9CYTFARVUcd9LpeTE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.170:9999", + "registeredHeight": 1028219, + "lastPaidHeight": 2126501, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1760606, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuFkem5atYYhHTGNrPe45TS9pzLvkBuL2Y", + "votingAddress": "XuFkem5atYYhHTGNrPe45TS9pzLvkBuL2Y", + "payoutAddress": "Xk7iVKhqPXuAwJ5hCyFPYFxWGo6JDbez8C", + "pubKeyOperator": "958f34e34c0b050cd3da0be731e40c88090ec6896581d70534334fd7de105d4b21270d9be5782ec9da634ba6e5dd85d7" + } + }, + { + "type": "Regular", + "proTxHash": "29412459c4822da5ff55e1d4465b4a8832bc9f3b13aa9255241bd5b58ead24e1", + "collateralHash": "369a30b4c3c8eb6b9dc79dc9cd8cbebbc5c2ced0d54d74caf690016293401ae1", + "collateralIndex": 1, + "collateralAddress": "XqEJqACwJrH92uDKrJHCavgFzap5GY65r8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.204:9999", + "registeredHeight": 1028219, + "lastPaidHeight": 2128401, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoZRakBtESBKpck5M8Tq9Nddh8dbBydcWb", + "votingAddress": "XoZRakBtESBKpck5M8Tq9Nddh8dbBydcWb", + "payoutAddress": "XpbRCEWytCVEUBVyV6vj8SPYfga7dDDc8Q", + "pubKeyOperator": "16d9c52c4c50b38210b4c82e336905c17642d0aac9057b6f21677caced7970e0be53dc073e6cf2afefe97dc66d2f95b0" + } + }, + { + "type": "Regular", + "proTxHash": "de7d70dd7fde02ecdeed543671a81091d4816497e40ead5441de294ca072f81d", + "collateralHash": "00c3b8653cc0c6085caa4f8fad3b694a7caf991cdc9f20e262a5717520d98725", + "collateralIndex": 1, + "collateralAddress": "Xim9gSKWu7dBnuUzmiDbUshmpSU6gbxH1v", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.112:9999", + "registeredHeight": 1028224, + "lastPaidHeight": 2128446, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw4X1mCQetsttXSFFG5bfD2kZXFn3HnKYn", + "votingAddress": "Xw4X1mCQetsttXSFFG5bfD2kZXFn3HnKYn", + "payoutAddress": "XpbRCEWytCVEUBVyV6vj8SPYfga7dDDc8Q", + "pubKeyOperator": "1354b3a46ed641c54b00b9365a602aacce704ddf0a7c3b492f56cc7694be19022f50360b3d88ee41c1d0fe25e37c2ee2" + } + }, + { + "type": "Regular", + "proTxHash": "25993b19c5e11c340fdcc74ebb468191ce63010aaf97d296e7b0d552d0568024", + "collateralHash": "e58cae996e00fbd29264fb5b1ef45d97f0b010b1fee994ef47c714e5451b4bf2", + "collateralIndex": 1, + "collateralAddress": "Xg9gDuyABEiZB3Nu1Es5C4Et5kjpHDmz8W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.199:9999", + "registeredHeight": 1028229, + "lastPaidHeight": 2128486, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1327475, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoEkkVKP53VvB2iLebwDYvwDpoSreeQhEv", + "votingAddress": "XoEkkVKP53VvB2iLebwDYvwDpoSreeQhEv", + "payoutAddress": "Xb39DbRYNbSaTwre1NjxFecfNAXGBhW7KS", + "pubKeyOperator": "968a0ed3c5fdbd18799d82cbbd70cf870a29f16f718c4969dddd64cf54bf9d7677d16516e8515a07b3a2ad01baf09594" + } + }, + { + "type": "Regular", + "proTxHash": "d522b563f5d7d6afe653086f5ff2ff7626ca07661515cf6420f1e49ea06f41c6", + "collateralHash": "ba5e663e74b12075cab765f59a4becc1d11c5d2568d571167af1ad2cc9c0eccb", + "collateralIndex": 1, + "collateralAddress": "XuvyX1rXhJV4wuExirBN56gA9LRUFQxsmM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.177.33:9999", + "registeredHeight": 1028229, + "lastPaidHeight": 2125999, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1877629, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb6eNvKbJkSv956D6XTVvCsh8feNdnaoXj", + "votingAddress": "Xb6eNvKbJkSv956D6XTVvCsh8feNdnaoXj", + "payoutAddress": "XuvyX1rXhJV4wuExirBN56gA9LRUFQxsmM", + "pubKeyOperator": "03352c3615f1daa6a09405767570f89f19e8c58b2422ffe291f0b10587f1b490a05e65d842afa328838c8ff7b213f41a" + } + }, + { + "type": "Regular", + "proTxHash": "8d55373c405a716babaab9f1cecc08d9170914940d278f4b5d1559995d963236", + "collateralHash": "82fd89d6f1fd180d6321c473d777629550f3a8c5dd1b489e25aa8452a0f1f3c7", + "collateralIndex": 1, + "collateralAddress": "XumwLrpUoHsLEKCZy2gMWyP7iLXJkxMvfJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.180:9999", + "registeredHeight": 1028229, + "lastPaidHeight": 2126378, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1083105, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbHUK2e1ttVX8t5Nbz5qQwPoMDuH63WJfT", + "votingAddress": "XbHUK2e1ttVX8t5Nbz5qQwPoMDuH63WJfT", + "payoutAddress": "XkRRbNTNUWBLWS4VZrTr3Zg9kbLVNnQMwH", + "pubKeyOperator": "008dfafcb95b4025b41ed94c02413d7c1e150f3031347fa1e6fa131c5823aa9cce2670a1cab2328be162b343225ce499" + } + }, + { + "type": "Regular", + "proTxHash": "d169e69fddc8cbb0f47f744759a6180dda53614555799f0fc04f3819bb65ea97", + "collateralHash": "21b22b7aebc8db94ff6c3f3011a9043466470af51f81037e40cd9f91ce50a175", + "collateralIndex": 1, + "collateralAddress": "XgxDQnx135tCpjGnoQ8EAY6y9YnKXLcJZV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.192:9999", + "registeredHeight": 1028236, + "lastPaidHeight": 2127038, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1687454, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcgtFcwXGnm4E2kqRhSZyK2VmkjKGhkofB", + "votingAddress": "XcgtFcwXGnm4E2kqRhSZyK2VmkjKGhkofB", + "payoutAddress": "XvT9sRquC6vAVN5uQf5DGyrsHKmh8kzC3J", + "pubKeyOperator": "0451e9a20d07707519322559cd12dd32a1c94180b53eec0d3bdb27e87405b2d26c0fc4f1abcd5502087d6a0dd1ee13bd" + } + }, + { + "type": "Regular", + "proTxHash": "ff3fbf3c46d18ab8fe7e80ef1519df0474bf10555d731e6b710f2d7b1a69e4e5", + "collateralHash": "4d5a52f7107c4b28552fe483ddfb7bbc9df34d2734ce91af62b9308d09be9cf5", + "collateralIndex": 0, + "collateralAddress": "XfDf5V8jkg97vPj5zHfyTPTFByVMMQeqCt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.213:9999", + "registeredHeight": 1028236, + "lastPaidHeight": 2125736, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpTFKu9U9iAF5RGcFxxWsTtbXyh5iA4FeK", + "votingAddress": "XpTFKu9U9iAF5RGcFxxWsTtbXyh5iA4FeK", + "payoutAddress": "XkYr6LgiuKFSBH5ucCdk7BVBpKTSA9DRCn", + "pubKeyOperator": "1239c5879818919fa29176e44c3d58e2f0005121f0623919a88fdd3eda9889f0c3f0c69cc2766a09e0647020b53f0a6d" + } + }, + { + "type": "Regular", + "proTxHash": "39d29a71c08a9de7877921a57a3624b73138dd0520ae358c1b476d74ed14f4a0", + "collateralHash": "9b926346601cc4862baa97fe5b32d172440dd69ea9326bf1d8c03ed4db549b0b", + "collateralIndex": 0, + "collateralAddress": "XkMSxZA88p3k6JN3XMcgZh53HjVzboSUuh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.63.107.90:9999", + "registeredHeight": 1028236, + "lastPaidHeight": 2127840, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1692310, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfxmHruXMNh23ZyAA8KecBb2bvNe7DqeLz", + "votingAddress": "XfxmHruXMNh23ZyAA8KecBb2bvNe7DqeLz", + "payoutAddress": "XpT8HZL8ZzY64XtDQAGxAT329W7m2feWSj", + "pubKeyOperator": "81b6d9c7821984cf77b423a0b10d842378e95cfbf9b85fa287c48e2e798862a5735950cafd26d5f84a9fc0af0fc6796d" + } + }, + { + "type": "Regular", + "proTxHash": "b494027b61e6e201c6c108e285b7ba1be56acb439a980196fb7b9b158dfdf7c8", + "collateralHash": "a06d36a24ca3e079ed21b0c5e90f97d3698bc0299ca1e27501a4b35b43f5afca", + "collateralIndex": 1, + "collateralAddress": "XnjeWaiGbwq2YkS47sCKCG67u8cREjnu4q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.149:9999", + "registeredHeight": 1028236, + "lastPaidHeight": 2125734, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv6JVGFV4pgA4WrA99x6j9fc6quH6Biiec", + "votingAddress": "Xv6JVGFV4pgA4WrA99x6j9fc6quH6Biiec", + "payoutAddress": "Xtj3SKTZmDpegTDkgrFSL3LE4jiFE65jKe", + "pubKeyOperator": "0cb2b49919a26c6323c83acd4df737cc91c9c8beda9782b2b3a28f8614f175e89a2eb5c388c17b650b39459d7e267c98" + } + }, + { + "type": "Regular", + "proTxHash": "aa737be0bcf1c0bc8ed365b778e8b2e93c91872dcdf272dcb2d5597f8e4f1050", + "collateralHash": "cabc024798a5a61dd9bdd189b8561b8301b148db98115a75e7f540a549dace4e", + "collateralIndex": 0, + "collateralAddress": "XnjcheHQECCyWVh9uXvVA3AmKTTMaUqJBE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.220:9999", + "registeredHeight": 1028246, + "lastPaidHeight": 2125861, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe57dP9LampmyjLy8uLqfzLK3JGXf2UVS1", + "votingAddress": "Xe57dP9LampmyjLy8uLqfzLK3JGXf2UVS1", + "payoutAddress": "Xq52AaH7RUJUv6RedXUqweTfLurUUR1VP3", + "pubKeyOperator": "928156d91fcecaabef3471b803c87069e7466ca8e0cb686890700bf11ba88e7dc701daf6f1b4344f6d48b537c5cc2ee6" + } + }, + { + "type": "Regular", + "proTxHash": "40794c0e9f328fdfab6e9bd5b806256eb0f9472d85e6c47787145908aae4a499", + "collateralHash": "b07cfa5b297aa376071b1ee7fc3b3c56ea03f323dcb6c06651465da518ef7368", + "collateralIndex": 0, + "collateralAddress": "XjjrbiCkeVMMX1WPbM7t8sa7VxuuVhxRnr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.248.52.75:9999", + "registeredHeight": 1028246, + "lastPaidHeight": 2127845, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1692312, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuDQmtK75t1cAbdo1q95yWH5fUjkWGmKvW", + "votingAddress": "XuDQmtK75t1cAbdo1q95yWH5fUjkWGmKvW", + "payoutAddress": "Xdwe3Mp246WUynDUgyeMj23Sdca8p8XjQ2", + "pubKeyOperator": "8469de272c7201e91ba31cb7f1f057b925c6b157bf6d95b36eb0910d2bc6cf6c9c5845bf20664fac1d660b714f47f52c" + } + }, + { + "type": "Regular", + "proTxHash": "a50674e910fe5222fad6610828e78ff27bec438f18b60007429b16ffe31e3331", + "collateralHash": "7a45a5b93af392cbad7b62ab7c782d30431e889e07cde78b25869118d1e2d61e", + "collateralIndex": 1, + "collateralAddress": "XfyGAQhbY94eSXMEJnrWWcDAk8aoHqCuRz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.40:9999", + "registeredHeight": 1028246, + "lastPaidHeight": 2127956, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1800450, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu97YQxTxtRSqJMTLqHWD53qYPCU6nSpty", + "votingAddress": "Xu97YQxTxtRSqJMTLqHWD53qYPCU6nSpty", + "payoutAddress": "XnHRpzSmnSftf2M2qUYcfFWTdUSBtQPXg2", + "pubKeyOperator": "142b110f767094403169c1abb1502b85e8cfcd0c8a71110b7ce05fa832f8dea88a37d008c53b6374a7d4852dd9b5ae81" + } + }, + { + "type": "Regular", + "proTxHash": "9988bd570aead7eb60e5eb90f7f9f17d233a0d12316d35ec00514d6cf41ebc2b", + "collateralHash": "dd867402961a325d4e3bccb9212d9a54ccde688eda9afb7355337a42284d2897", + "collateralIndex": 1, + "collateralAddress": "XiJjMUTBvvUr9rmoYS32oLf3bwZV2fhJ5R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.209:9999", + "registeredHeight": 1028249, + "lastPaidHeight": 2127299, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1687711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqCdYg4LKfWifSyx14CYhm4vYCFQKc6UKM", + "votingAddress": "XqCdYg4LKfWifSyx14CYhm4vYCFQKc6UKM", + "payoutAddress": "XvkD2AgYcQqnq2LwZRMS3Lz4j6iEfpmoa1", + "pubKeyOperator": "86347ae62dd2f50a21c362307a08fa175873700ff6b4487c6bf7c23feaf408508808d6a27a9cb74dbdbbe648e35ad762" + } + }, + { + "type": "Regular", + "proTxHash": "390e6b731013c3da296b61a7365b9954c5a403c95f997e89bf979469f9c1d704", + "collateralHash": "50943819889eec3214442d294dab3cc4a32cd5944b3a681dd02df6bd5ff702da", + "collateralIndex": 1, + "collateralAddress": "XbUHn8JzQZ2HGkRYjYQ8YixRjN5wPiF2za", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.91:9999", + "registeredHeight": 1028250, + "lastPaidHeight": 2128811, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977465, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnqE8nLZmYCqoSwap5RuKNhzakG3K8JcBi", + "votingAddress": "XnqE8nLZmYCqoSwap5RuKNhzakG3K8JcBi", + "payoutAddress": "XbUHn8JzQZ2HGkRYjYQ8YixRjN5wPiF2za", + "pubKeyOperator": "84fd5da5261b56788c935066800808476498160ab5e5e2a27a4b69d433f3f64e0e6950b440c9bb27831581276ef7f861" + } + }, + { + "type": "Regular", + "proTxHash": "4387add2f959bc6490859fd48db6ed99b835c0947956263775c14430d73f7054", + "collateralHash": "f06c18aa532aa5bbf97490332851a5818c12714b088d833581e9dfb3273479cc", + "collateralIndex": 0, + "collateralAddress": "Xh5VeLNybKBWtSy4Eg6yCLP7G2tAFJDrDS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.219:9999", + "registeredHeight": 1028250, + "lastPaidHeight": 2125956, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtEKRukCUCYzk5CFBGS2bcZwMFbVbLHgwq", + "votingAddress": "XtEKRukCUCYzk5CFBGS2bcZwMFbVbLHgwq", + "payoutAddress": "XtpTtQNpTjDmr5gC84EzbBEyq4DcS3DSPV", + "pubKeyOperator": "89a4a96fc7a23ac3de06eb2c55dd2d8e24057e77abfb72bbde744dfd8b8a002460cd07dd19692ecbc89021be39117389" + } + }, + { + "type": "Regular", + "proTxHash": "1bb846e890e938b9c3f9a0a0adc4eaa66d1fcf7d06ab4c397344536daf31be0c", + "collateralHash": "c1ff3ce478f38492a897fb4eebb88f40306c0c0db43d0ff95d0699950671d301", + "collateralIndex": 1, + "collateralAddress": "XqhrYzvpWAhZhNyYidTmMrKQ5m1tZLDw9K", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.36:9999", + "registeredHeight": 1028250, + "lastPaidHeight": 2125955, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsac6qCzR7Lr6j4sweguoTBCxDK6nMym2o", + "votingAddress": "Xsac6qCzR7Lr6j4sweguoTBCxDK6nMym2o", + "payoutAddress": "XqhrYzvpWAhZhNyYidTmMrKQ5m1tZLDw9K", + "pubKeyOperator": "06dfca6812726aff821fe27eabe48051ed218a0f43948a902c97a348bc44473f3e347d1390ceb65b7ec4b2d4e7f90b25" + } + }, + { + "type": "Regular", + "proTxHash": "0f142865a9ba76c424d16a3c76de5d486228746e6171d59263f1593c6d9b0ecb", + "collateralHash": "7cdb625724883a08981dba45636da5152edc81a4f5de020a285c3b5b529c13c8", + "collateralIndex": 1, + "collateralAddress": "XseoUE5ErDupiKCmFRz5k3uhf9eXDaJMc9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.45:9999", + "registeredHeight": 1028250, + "lastPaidHeight": 2125960, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxBP3eMHfJN6CqHCuSBrqCQViASMBeRBJc", + "votingAddress": "XxBP3eMHfJN6CqHCuSBrqCQViASMBeRBJc", + "payoutAddress": "XfuMwq71TxgdkwjJtM1QYXtr4Q5PdKyKSd", + "pubKeyOperator": "02fa0b5093d9182bfed82e93771965ba43ed61a7b19ff5e98c97a01122342e20e77ea2ce54fa1af38718511192ed27a4" + } + }, + { + "type": "Regular", + "proTxHash": "47ba14d326e51f644a7c9b5b8a67311870ef9f297ee9a6215fdba7e5ef1a432a", + "collateralHash": "74c1c562051926d02e6a5858dbdbf8a0b6b65d767d69ed5df14d404cc1c7c768", + "collateralIndex": 1, + "collateralAddress": "XcqNEJWBXUR9Ui7Jnej3eWqs6DV3Zup4YH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.196:9999", + "registeredHeight": 1028251, + "lastPaidHeight": 2125961, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsQkNj7E4tiiUaAqksuvAGnNQGhDTtryoY", + "votingAddress": "XsQkNj7E4tiiUaAqksuvAGnNQGhDTtryoY", + "payoutAddress": "Xapy4Vm1ZdhZMm4aAWm3PRKKY9UA1GPCAt", + "pubKeyOperator": "14637f80ffbe549b24b66e2e19e429dd60c70c741c9f394c1bb5b3e75b67b7e0ea1c557559580f19c4def136bd237c96" + } + }, + { + "type": "Regular", + "proTxHash": "00ae93fc9706943eb22c2f31d21b0ebc807e2f36587d097abba66579ab2b0633", + "collateralHash": "fbfbdcf0c5b20b911d7f0f1ff2d192a618078d15fba535f3b7985e289e865730", + "collateralIndex": 0, + "collateralAddress": "XeqhkDA44J8ckSs5BoPXZs4bky8nxppDsG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.207:9999", + "registeredHeight": 1028255, + "lastPaidHeight": 2125968, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq5FXHCQNrx8xhWXaqK3bDe4EDZH44fb2c", + "votingAddress": "Xq5FXHCQNrx8xhWXaqK3bDe4EDZH44fb2c", + "payoutAddress": "XpuGtdY2nPsirRuj2Bgpgaw2bgB5Q5EM19", + "pubKeyOperator": "8c2a7d1210e4f70f5a3f4dd0bd346303e67d75e204e37d3cf84bd26c0231d53bb8a979ce6134bfe84e8dcd4ddb41a9a3" + } + }, + { + "type": "Regular", + "proTxHash": "487df28eec71164874e2ea758e17bf8d6eb9d9281ebd6f7c65afe64a64895237", + "collateralHash": "29980f55ea863f36c668683c2519b53c69b57b6fdd546249bb0bafc55a1e0ff0", + "collateralIndex": 0, + "collateralAddress": "Xo783DXb34oJC4AHMPUpYUFRfP7jSbyuuU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.42:9999", + "registeredHeight": 1028262, + "lastPaidHeight": 2127605, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2027042, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbTk4JZAZh9amUSydgTmP2mXMGFY7knMWi", + "votingAddress": "XbTk4JZAZh9amUSydgTmP2mXMGFY7knMWi", + "payoutAddress": "XnFrZjt7v2ajBaa4FiZU2pVJEhqAhdeybG", + "pubKeyOperator": "8eef990620fbf5fe968295f41458cb68fcb6bc354988af6d58f73884a92fcd32c8e78a84b57d235d62153bc5f43594fe" + } + }, + { + "type": "Regular", + "proTxHash": "f15ce81d7d2e5cae8023c0f2069b74fb7257efabef9534e9a8a55a5b751de9cc", + "collateralHash": "140c18e494db5b4e83884d80181537cf1df660598fe6eb1785cf7ae416a5c831", + "collateralIndex": 1, + "collateralAddress": "XtnZdGgAt7JvVNCZGr5JL1BJ9z54gCuDKd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.153.186.100:9999", + "registeredHeight": 1028264, + "lastPaidHeight": 2128876, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1660135, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk7xJQNFZRgBzsZsGsSz4mMzXbpym5Q5kh", + "votingAddress": "Xk7xJQNFZRgBzsZsGsSz4mMzXbpym5Q5kh", + "payoutAddress": "XcuuDosC6B34zEFMb97MYTiHczfKMHTbUN", + "pubKeyOperator": "0fa657db0b8a05ca9980898e94d7e3a2e4b044918af5a139781417b4db7b470dd6fb6c4ff26978f4730993de9804c85b" + } + }, + { + "type": "Regular", + "proTxHash": "b959cccb296184e7680c8d8c5f012ab7dd86c879670dc07b2b10322c967f13eb", + "collateralHash": "71d5af6906ff71015c0cee4e060ec01fde1936714a21f0bd9f6068c8f2f32c5c", + "collateralIndex": 0, + "collateralAddress": "Xq7K3cxmndRGSt1frYRbBYrFtcJjMsCaVt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.65:9999", + "registeredHeight": 1028268, + "lastPaidHeight": 2126432, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1101985, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfuFwupAsDd8kqC2Gjbz18hLppkkohkWkn", + "votingAddress": "XfuFwupAsDd8kqC2Gjbz18hLppkkohkWkn", + "payoutAddress": "XywhpcnnqNa4JSo9maAoNMuR8nrBrFwHyG", + "pubKeyOperator": "0a03adb79bb7ebd6f06002a5b4f124981da67cdf9c59bc7d9df434240c19eb9fa32c52c5581b170a2fd618189edbf217" + } + }, + { + "type": "Regular", + "proTxHash": "e49996a100c66bca973f6ac232cd35bb6496990e6425d0225084cdd236a049df", + "collateralHash": "574c19d8be2cd62944cbcdeeb3e61863001ee5da2cf6fe232201b4be45ca7204", + "collateralIndex": 1, + "collateralAddress": "Xc2fh29A9DxpEtQBmvpZfqVCBALWjBCjLk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.224:9999", + "registeredHeight": 1028274, + "lastPaidHeight": 2127913, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2003609, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcZsf49qztghi5Gf1HM17JfMPj6Q6L2NwY", + "votingAddress": "XcZsf49qztghi5Gf1HM17JfMPj6Q6L2NwY", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "01da056d3b253e6660c98771aea644191640f179dee3674f0c720ae896ebc9a4614f707c6809ad8f33a7226abf65d549" + } + }, + { + "type": "Regular", + "proTxHash": "58850f9bc48710a4fea598cbeb023087ed5d0449f21a7aab54c0b815b664c45f", + "collateralHash": "b6cae60c23c188858ada52d2e081edf31fc74da9564f9b23cefbb19c9c603a0a", + "collateralIndex": 0, + "collateralAddress": "Xkav8ae9jP6cANr7kPsnyL2Z8hjcqf8aG4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.243:9999", + "registeredHeight": 1028276, + "lastPaidHeight": 2125774, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1786332, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XityXVuQCk4LxBn8wMFFEhrEYRvKq23aCx", + "votingAddress": "XityXVuQCk4LxBn8wMFFEhrEYRvKq23aCx", + "payoutAddress": "XfE6mwRsixQh8DoqqLYiRGTekvbwvqD67X", + "pubKeyOperator": "85473f12dee8f18bd20066659629a1e24d3a3b3c78f5a18f579de575f606ac66978e4867bb50a1982e5f377633d92f66" + } + }, + { + "type": "Regular", + "proTxHash": "3b154e9da84f0f2f2c88b3d79a24296baefce3a0af1e26bbc051104d8de2877b", + "collateralHash": "f80634e2eb2ed6cddcb5b680dbe9b7eddeec07c32addc246daad0ad619068087", + "collateralIndex": 0, + "collateralAddress": "Xg5fsQeLPPjwp7BN3HiYDA9Wfh1jBZHcGm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.5.55.136:9999", + "registeredHeight": 1028276, + "lastPaidHeight": 2126637, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgy8i8r6hpfHfnTeyPCVNEbi8UDq8Uwfgr", + "votingAddress": "Xgy8i8r6hpfHfnTeyPCVNEbi8UDq8Uwfgr", + "payoutAddress": "XdJaiKTaqAZC8oZrjL8G1PhstWFE5DTD7f", + "pubKeyOperator": "9201a6b39c9976bbb4c7c11168493d0afa5f5ef73e8e140c7c359b8ca8f63b3a70ff1aab941b21ca750ecc002f9bc27d" + } + }, + { + "type": "Regular", + "proTxHash": "e4d0a098c4fa77b604b972fca5440b2334bcc06f985a814636e6b447ed19b949", + "collateralHash": "ae7010a742e22007fa2f77d0ea00b336891b48a6e201c8d48d92f97807fc1f64", + "collateralIndex": 1, + "collateralAddress": "Xqmwo3gXGe4fU9E5FQZWtH8U4hjtye1mVM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.225:9999", + "registeredHeight": 1028279, + "lastPaidHeight": 2126706, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxBoe1vb47uPzxGkxinnKtzQwYa3JhkCuj", + "votingAddress": "XxBoe1vb47uPzxGkxinnKtzQwYa3JhkCuj", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "82ee2a9db8dc0aa59497b655e9f0adb3870fd6dd7c079c61d280fd5b535fd894c905a21406ce580a670f00a8dc393f5b" + } + }, + { + "type": "Regular", + "proTxHash": "049fc8f0474e162fc5674c3526dc29224b294ac02e47ac5c4be656e016248996", + "collateralHash": "1a53944da90348e470c39fc623192dcbbf52bdaf2fad4bf258c77ab88e9627eb", + "collateralIndex": 1, + "collateralAddress": "Xeqa3sGHm1NfxiZ3QduaMGqtnsVjAJRAhz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.208:9999", + "registeredHeight": 1028281, + "lastPaidHeight": 2127017, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1606059, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgGuK4GVs2SL4iUVn3WH9KZ9U7WPU4Xej5", + "votingAddress": "XgGuK4GVs2SL4iUVn3WH9KZ9U7WPU4Xej5", + "payoutAddress": "XbXfnRJeNe1swJ3w33B1pBADvNsQqaC9oQ", + "pubKeyOperator": "9771552c0369ace1577640f5f5122eeb12b375458497bca88de57fd731de6b5e968c1b3128ce66fe4a1fdc654b3ff399" + } + }, + { + "type": "Regular", + "proTxHash": "9025435ab7440c8e60cd2c07231ac460c55712931381d524ee3bd37d1177c5f1", + "collateralHash": "3ee20b71555475d04f54746aa95145798fd6bffac559659a4a9ef6e631ab2a68", + "collateralIndex": 0, + "collateralAddress": "XhauKzhGyyb8Ri8AeN79L6KebyYjjy5agT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.65.70:9999", + "registeredHeight": 1028281, + "lastPaidHeight": 2126754, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrTCdawmukiSuEntpHYa97zGoSrXXepqxv", + "votingAddress": "XrTCdawmukiSuEntpHYa97zGoSrXXepqxv", + "payoutAddress": "XsiPH1jRUd444NRpBvCyKRKgUz3NNfPdXD", + "pubKeyOperator": "1157d9ee4b37f3576973e6ac237328474b5650a61b4a1d7a4c59ff77c2568906a9dc5592aac64b4f27e719c0efab3ca7" + } + }, + { + "type": "Regular", + "proTxHash": "a5c36b84429d820f0c8fe773072e19b3f3bf5efbb993ae62ac05041044fa481a", + "collateralHash": "0226495c4067c6b40a0b2637a7e068d4427d483912c68a551dbeb0dd2cd51c0d", + "collateralIndex": 0, + "collateralAddress": "XcCf6BwMehwiPkpBsAJShvYbBKcTjXoa3U", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.12.22:9999", + "registeredHeight": 1028284, + "lastPaidHeight": 2127253, + "consecutivePayments": 0, + "PoSePenalty": 831, + "PoSeRevivedHeight": 1975756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwwbbwTmEZNcyjdw8xW8NxsSUFRyNNMr1b", + "votingAddress": "XwwbbwTmEZNcyjdw8xW8NxsSUFRyNNMr1b", + "payoutAddress": "XvYd9qNz5kcV4T1Ph9XEdRcrRpLkaDiR59", + "pubKeyOperator": "038558dbedd58a7d9278e5ae9b89786aad10d1f6b6cbcdad906d22b9be59cc7e757d34a5279b4606b222d49993a5e1f5" + } + }, + { + "type": "Regular", + "proTxHash": "cddb6746d679b557752125cab4ae0fe2b54b95da73afea5f40d193796176702f", + "collateralHash": "6e4b722c41c596f702feeee2ca0a7c0d9a3fcb66b665fd794a5f708211bd5c48", + "collateralIndex": 1, + "collateralAddress": "Xe8ntmCgvRYvgc9HCgxCuASpb1rAsV8UbF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.226:9999", + "registeredHeight": 1028284, + "lastPaidHeight": 2126769, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqY7FgZ57kEc4KxMyKLp9TDtiRpkjnzoJb", + "votingAddress": "XqY7FgZ57kEc4KxMyKLp9TDtiRpkjnzoJb", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "94229e3fb5fee9e2e7e53d0d96b0c40e77e1a1598a87b91b90444a699b71b6a8e425b54f05927f8ad2086765f681ff5f" + } + }, + { + "type": "Regular", + "proTxHash": "8cd7e1ef26804cc63a429c1aaacde22bfea2d44b65b94c37e1704a55ce0d3aaa", + "collateralHash": "4d538415944afc78723312df1029ca88625a638db652b4df71115623defdc50d", + "collateralIndex": 0, + "collateralAddress": "XkyUbE5UspDDuoDpcMHKQW4uyHsBzfYEd1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.94.162:9999", + "registeredHeight": 1028284, + "lastPaidHeight": 2128812, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977465, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xup3Cm46s1ByMVzXzRNWCVR8jEWkrL4orM", + "votingAddress": "Xup3Cm46s1ByMVzXzRNWCVR8jEWkrL4orM", + "payoutAddress": "XgmpVJfQw78KGB2F1TmmQDZojhWYAKiS9p", + "pubKeyOperator": "9783b7462412dae70f3851814b19a12f334e123c86872d4988a5225641d6f621835c2774ef811a5352951399dc261d80" + } + }, + { + "type": "Regular", + "proTxHash": "0c387489c877ec180fa9261b15936e66f59590240c3478b5a942e36cc05a18bc", + "collateralHash": "507e280ec04a4afda32365366aa75cbcc30fd6f481c4117639d49471e112286a", + "collateralIndex": 0, + "collateralAddress": "XgX1HzSvfAZL72qiTKPz83iGn9SqXeBgDw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.239.83:9999", + "registeredHeight": 1028284, + "lastPaidHeight": 2126783, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnUMVoSS1Fbxo8rcpwM91TufjKBV6JJppS", + "votingAddress": "XnUMVoSS1Fbxo8rcpwM91TufjKBV6JJppS", + "payoutAddress": "Xvd5WVzsjJxtectWLL4aJGZKDyKUC9hbBU", + "pubKeyOperator": "8348c6520760ce5bb0fb1ba8090a81d8e2ee4591373ee3cdd3ded56d8690d14dee4d4bd36a8f292473f7260081ce485f" + } + }, + { + "type": "Regular", + "proTxHash": "b485011d1987e997780cdda168e834f14850687475912f7c7aee4ffa5d72eeab", + "collateralHash": "d4abb3f57bf0cb8ae05f405e89b203e53e7f61cb90a63ba24cee48c7eb3e9502", + "collateralIndex": 1, + "collateralAddress": "XpmtQdUf45BVZAJF1FdYfHc5jbWDL7XYy6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.183.51.141:9999", + "registeredHeight": 1028290, + "lastPaidHeight": 2127846, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876264, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiYdndmtDmzonsNKVssojFUQnHbLfcU4KK", + "votingAddress": "XiYdndmtDmzonsNKVssojFUQnHbLfcU4KK", + "payoutAddress": "XwQYik4QyEGZWj5z2bWyukSkCAwCSpY8Ug", + "pubKeyOperator": "10afb4018f009b5700d7ba2f4a840c70accb413d5c47fe39db25ebbdedc7c6b2a2ad2ce36b1b12c5f2b74342d1e913fb" + } + }, + { + "type": "Regular", + "proTxHash": "e0c00950d286c62f76d7766af3c578476579ad648a2430916168c498ef0bcd35", + "collateralHash": "b1a758c1174d8c6a7b099edabfea63ec7949f77a560b6d9c32b0df7babc441bf", + "collateralIndex": 1, + "collateralAddress": "XidqYvcFu3WiXibkN8gD2jB16vatm29KiB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.227:9999", + "registeredHeight": 1028290, + "lastPaidHeight": 2126913, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcfCp1TT1nQszGCYDaE4pZ8cVrk8io9YPU", + "votingAddress": "XcfCp1TT1nQszGCYDaE4pZ8cVrk8io9YPU", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "12c02530dd72a031f56d16ba1f4be9022180ca358339229b98446b7700471b9daffce843f815f2e875c4416248ee6525" + } + }, + { + "type": "Regular", + "proTxHash": "b295cbb1351b9c6d507c43ee7c1b393bac873039432f587ae9bf5f623fffd843", + "collateralHash": "4afd8aee21de0a322dd555019d1082f515a32ce3fb33fa0c40145f1bfcf29d72", + "collateralIndex": 1, + "collateralAddress": "XsxBS8cxtCr7W5euqeYs2nYCxGK9X646PE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.228:9999", + "registeredHeight": 1028300, + "lastPaidHeight": 2127914, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2003611, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgtJmrm1Yqi1KAy3wsSEGQ2VDviMrGFgdk", + "votingAddress": "XgtJmrm1Yqi1KAy3wsSEGQ2VDviMrGFgdk", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "80389e6d198ac2e5947153a4500d3ff4684eccaa111941660d83c6871dbedbf4878eeb46587f37ee4e57fa048f69f09e" + } + }, + { + "type": "Regular", + "proTxHash": "ba9eff9f2c280cb180125183eeaa3df2dcdc8209ff6af9447406dc491295a150", + "collateralHash": "43374957e191f6d2257acd402ef51884d255c7f680ca71d33f003788a546ffb9", + "collateralIndex": 1, + "collateralAddress": "Xq7EEKpmD4Lb6TVwUKrtW2dZPJ5vRfjmzJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.63.21.44:9999", + "registeredHeight": 1028300, + "lastPaidHeight": 2126800, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120749, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqXL25KcytyNKcTbMWjbDJGh1PvFir6NwK", + "votingAddress": "XqXL25KcytyNKcTbMWjbDJGh1PvFir6NwK", + "payoutAddress": "XcXxqEQUtKybULLdvrnkCktmsyJPw5y3a2", + "pubKeyOperator": "01e8d309c0129592d2c320a99695b8cf465a0aaa9d82f1fc278be88ae9faa2a8491faebbe9d368e5fc013db721e025fc" + } + }, + { + "type": "Regular", + "proTxHash": "a3087f7bb52d9609cdc5c1e489bea53abcedadffbda71e1ee271c532b24f4536", + "collateralHash": "579b914000aebda5426815c0d70ce56ed310b4124232f6287ad9972113f01144", + "collateralIndex": 1, + "collateralAddress": "XiH8aoZ2CkwUiKcEUjP1KTdCcnZc7j92iR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.229:9999", + "registeredHeight": 1028311, + "lastPaidHeight": 2125806, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1981274, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbcnmJYaw6Acqt2xrg2Za6wWy24QaJtU3q", + "votingAddress": "XbcnmJYaw6Acqt2xrg2Za6wWy24QaJtU3q", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "07a0f318a396cb601aa225bc2a431e2a34486894b89d325ffb997d223f1a7b39d30c7599770c7a7986728307d3c6060c" + } + }, + { + "type": "Regular", + "proTxHash": "1a72394be79d9e10be18043dcbaf8287ee077d7045d491f1415eb3e352896f50", + "collateralHash": "448e351d3cf512a6eee9fde402e625994435f0fa7cab0f5c14969c5acc981d0b", + "collateralIndex": 1, + "collateralAddress": "Xb3XMTZ5xLMZLegCfDMiWq7Bj456NTVXZ9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.99.244.220:9999", + "registeredHeight": 1028311, + "lastPaidHeight": 2127018, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120959, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgkF1R9q3J3gru6sc31sHTqPqPVM4xoJ1H", + "votingAddress": "XgkF1R9q3J3gru6sc31sHTqPqPVM4xoJ1H", + "payoutAddress": "XhrghnrFYoho5S2Pvh2MmcC4XVuGmPKg24", + "pubKeyOperator": "94fc7e0f97f5c4d46310bfa784603fa7e6961831c0f28f7f4083715d15b972fd31f2edaed55adb60cd0d608b529c2106" + } + }, + { + "type": "Regular", + "proTxHash": "542c37bf022d714c599fb79516b7644310dd6f3316ec26e3b4fcedf42615f8e9", + "collateralHash": "fac4e442fa809dc33499fa9903b34fbab05b16d1fbb028a316c6c632733e2c15", + "collateralIndex": 1, + "collateralAddress": "XndAXzgPjn6H69tjVH28e9q79CA6xDj9Rz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.162.131.197:9999", + "registeredHeight": 1028313, + "lastPaidHeight": 2126828, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2039724, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn63ipMduqFZXXaD8RftPXyCXas1o8mcsn", + "votingAddress": "Xn63ipMduqFZXXaD8RftPXyCXas1o8mcsn", + "payoutAddress": "XvrhJ4VPwQKyXmCXZGvcKP7dw1FMPCvhPy", + "pubKeyOperator": "139799cff261e45118408dbd9d70b8f4c9e0944c5f954fcda731a8050546951bf7cc8dddf1375e773836e146649c2841" + } + }, + { + "type": "Regular", + "proTxHash": "7932f8ee72d582b92d7e2fa86e7b7c8d52ac9b26b0665a0c43598ad8fe3c4e83", + "collateralHash": "21eef5dd487b3c8bfbe4baec1303b6d2ed61510034c5310e6e0916d7e2891454", + "collateralIndex": 1, + "collateralAddress": "XeBDCx3qVbyuPLhHbJ9v12w2bFbeBewdrq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.230:9999", + "registeredHeight": 1028315, + "lastPaidHeight": 2127233, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114838, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XffLjm5Aq9bwBCvvdqgeU1UDhqz2pgFySr", + "votingAddress": "XffLjm5Aq9bwBCvvdqgeU1UDhqz2pgFySr", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "059fe567e8e59449935eeb6869f3b046a63f09858408d4eaaf8ac4b6d703796a296c1aa8cc942e3bb95bcc7e401e8de0" + } + }, + { + "type": "Regular", + "proTxHash": "6905574fabc3dadbdaa59f90590cfb90e46334a3abca0b179c1a0591be0fb1da", + "collateralHash": "094bbdb7762c4ea5f51dd8b1c353a774e524dcdb833e6a1f6684c6f64d357e55", + "collateralIndex": 1, + "collateralAddress": "XyqH6JxaQByeSsbp7YqYzaFb9BsArkfkUD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.231:9999", + "registeredHeight": 1028317, + "lastPaidHeight": 2127921, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2003619, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoNnhtpJDEfLGBYWaTFDd3J59hUg3Uk4sY", + "votingAddress": "XoNnhtpJDEfLGBYWaTFDd3J59hUg3Uk4sY", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "818e66a69f7a338e911bf71f0cf39e8f8bd0b935c4d20a854213750fb7954fd71b458ee0dfe84ad8e80934c9a17c8084" + } + }, + { + "type": "Regular", + "proTxHash": "dfe21ef8b52aff03ed880424149d7f719d07319d6de03fed49a4c76a6af79020", + "collateralHash": "c8dce38d4c9205b673210c06290e51d2bc7d7608a379529fe6e4694897f7be2c", + "collateralIndex": 1, + "collateralAddress": "Xf2QMmhFoY5Z8VyReXapEhowpmerzZu6rW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.232:9999", + "registeredHeight": 1028329, + "lastPaidHeight": 2126478, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114078, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XopPTGfXqr3zNsxcLWdzSETXmjAtndyDfx", + "votingAddress": "XopPTGfXqr3zNsxcLWdzSETXmjAtndyDfx", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "16fff273840b16a50c04fbb60524964ca2cd349020e5b0c40c9a2f8defa0fba624f6e0d965855bd4bd82df8d113f215c" + } + }, + { + "type": "Regular", + "proTxHash": "5031dfff1c257b247dfe3bd44225201b0307f30a67e0f39bdc31870ee5aa1fea", + "collateralHash": "c1c2a7d8b0f8f7aa3028b901e37fbbda7d4bfba509bcb0f2481dff027eb0c3f5", + "collateralIndex": 0, + "collateralAddress": "Xm2i8wciKbuoEP2pzCQnHobV1dnFHPw9mD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.83.19.0:9999", + "registeredHeight": 1028330, + "lastPaidHeight": 2127639, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124470, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvsBbutbsBjwXDsuY5i9XMz4H6KcxVAvTx", + "votingAddress": "XvsBbutbsBjwXDsuY5i9XMz4H6KcxVAvTx", + "payoutAddress": "XyfyKAW4oqi9UQanBBHrjkutqecrXmv4jm", + "pubKeyOperator": "8bbc611d1742be42ee82306630b63c91f96cb3e7cf129661a8145c5b285c752ecad7198d57f588408c413af3b93aea96" + } + }, + { + "type": "Regular", + "proTxHash": "c7a697fc9a18866ed7f972d52a48b584e003c0786515c9b2354f44af42928a96", + "collateralHash": "7dc414120df6c34927cdca1e41b76ee2bba2a465a10dfd3471a140c50db46428", + "collateralIndex": 1, + "collateralAddress": "XxgRQunkMvpp1PUATdEFqnwP7BNbx6axha", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.47.167.131:9999", + "registeredHeight": 1028333, + "lastPaidHeight": 2126370, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123204, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcxBBc4vXPGYx9rzCgACy51DZXUzibZJj7", + "votingAddress": "XcxBBc4vXPGYx9rzCgACy51DZXUzibZJj7", + "payoutAddress": "Xjp43gCPstX8gpJcrGPdaQD6h6SF5wFKZ8", + "pubKeyOperator": "960f63e1c8f19381869f3da0115ef02734f1475ef9a20be42e07a8a318eccf6810e46c26c3733abb9c0c66be3fda79d6" + } + }, + { + "type": "Regular", + "proTxHash": "00f857f0b62faa97bf7bdb0ee5ee183e3428298d558dd535b9e35db2cf474717", + "collateralHash": "8bd92a705c3dc49deb83dee5ddfdfa90f54983c1f612b47ccd002b32d4281f6c", + "collateralIndex": 0, + "collateralAddress": "XcP7MvrDN1fkuPycRkbbRRCRwbZbd9Tdn5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.233.182:9999", + "registeredHeight": 1028333, + "lastPaidHeight": 2126369, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123204, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjdyWWs2VKWkNCvbt46x4sfmWRRUHGxgjv", + "votingAddress": "XjdyWWs2VKWkNCvbt46x4sfmWRRUHGxgjv", + "payoutAddress": "Xjp43gCPstX8gpJcrGPdaQD6h6SF5wFKZ8", + "pubKeyOperator": "11bb080a4f63376d41dcc49ef2f298d44a273129ab6218c3f97a4cad31fb0354e6f12ae36b9862819265a104d468272f" + } + }, + { + "type": "Regular", + "proTxHash": "124ff0f15c34d3abf417b9646d6937f36bd41bd0549e0a49252f06fc4b1fa4c7", + "collateralHash": "d46b547c5119ce0f7f1a44db5035ecdf0bec21782a8cbe3c3876450333fa332b", + "collateralIndex": 1, + "collateralAddress": "XgoA15NZY5aL8DvdLdXW2jbdsdWucoen9D", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.227.240.127:9999", + "registeredHeight": 1028335, + "lastPaidHeight": 2114345, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": 2080058, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "Xc5WELzmHG7pYd6pbzUTXnR3hmsqwdqKVa", + "votingAddress": "XkWB2kSB7NgQd1Vw1RVPzeBJCXP5yyLT25", + "payoutAddress": "XwBodL9yoDwEr9xmBNvPXjXyTpG6iSJ9W6", + "pubKeyOperator": "0bc603cc70cf7d244ee7ead632117381de28549750877e45eef3dd0ff5329f9ad5ad61553cff797dd9ca2985ec829e2a" + } + }, + { + "type": "Regular", + "proTxHash": "93b32aabfc98edcc18fa54d586aa3f2663b86fd9db6691b0c0804eb4089d7761", + "collateralHash": "5d3aeb382f47b0edee67a5e41f65fd03a36c6f5beb3bc652b2d60779413cdc81", + "collateralIndex": 1, + "collateralAddress": "XcoaVapLa3DqRubgbjfj62U4b6AYAez54W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.233:9999", + "registeredHeight": 1028339, + "lastPaidHeight": 2126529, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1899335, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xex6SK5vSYiaZoFn7aQF9XZaWdtSbnPqrF", + "votingAddress": "Xex6SK5vSYiaZoFn7aQF9XZaWdtSbnPqrF", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "9050a68d5d6bbad4e7d3c53e99aa6a55ebd64261deac5ddc876f433b91a19e1d3f4723411e9c8cae42823c3511a4412b" + } + }, + { + "type": "Regular", + "proTxHash": "5dc71405a57182b985969af37d44a9012deef49ba5164230c512b8e3cb78715a", + "collateralHash": "0ab2ffa7514bee44a17ed1114b41376df6d60feb5fd4839bfd840a2575419b03", + "collateralIndex": 1, + "collateralAddress": "XpxZUVYUWDQnYXkLNBV2yDnpEwznWSN2EQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.231:9999", + "registeredHeight": 1028340, + "lastPaidHeight": 2127210, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114828, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfeFiDtkHCw3PyVnyg4oNsW4jWVdNoVnpn", + "votingAddress": "XfeFiDtkHCw3PyVnyg4oNsW4jWVdNoVnpn", + "payoutAddress": "XqkcftUrB8DrF15qWjZxLUUNy1pskGojLy", + "pubKeyOperator": "0426933a053e68888f5c52e747dae5b958035dc39bea6b54c8af86cdfa90705519f8babe8ac085fc877e2bc83c3025d8" + } + }, + { + "type": "Regular", + "proTxHash": "781cf2a16c92d056835d68d50f0f5308dc947a17432370a401b24f95abc0edc8", + "collateralHash": "8289dd6c1acea49691c1c2ceceaed3734b210b66dae95dbaa35b9d31b244a639", + "collateralIndex": 1, + "collateralAddress": "XrtzpxizFLtV3Ssw98rK6wdrDnNbrpoHti", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.234:9999", + "registeredHeight": 1028346, + "lastPaidHeight": 2127966, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpkbbJCMBzYKYBBgDoeJCv4A7VEcGTnaHa", + "votingAddress": "XpkbbJCMBzYKYBBgDoeJCv4A7VEcGTnaHa", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "103cec76e609c17911c05d5c41722b209a0be70bb8bde4537feca19bb72ec79afbd45e2567efeb41f942766e1edbbd5e" + } + }, + { + "type": "Regular", + "proTxHash": "48cdd62f070d3bf1022520a74f6893718624cabc3a15e2205059a09d594ab408", + "collateralHash": "28a9d1ec0518a7266d9eeba7fbf43098ab8d8ba0e78be8b7368393e9376ecd61", + "collateralIndex": 1, + "collateralAddress": "XpcPDYsnDQaTxgpXHg65iUbdMy8fwt66Xo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.235:9999", + "registeredHeight": 1028348, + "lastPaidHeight": 2127967, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkZYPh3dRVBD2sFTCv7XStTfgprzxaSxVX", + "votingAddress": "XkZYPh3dRVBD2sFTCv7XStTfgprzxaSxVX", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "0a5a3deedf52f0ea6775d3caceade48e4d0fbcdfc090b9696109690bd0584e6722bb9688a1d35749325998370e86c0bc" + } + }, + { + "type": "Regular", + "proTxHash": "9b893b6f01f21c58d268afcbcce13879773cf2d21b4f4ef491ffc5c2644142c4", + "collateralHash": "16cb07714993fd6c69d6a56721f2a2cd542348113074b12bcc9d7a21a2e5fa5f", + "collateralIndex": 1, + "collateralAddress": "XcA7DgRA44GLKSCsZp5okNp9V6coUTrUAa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.236:9999", + "registeredHeight": 1028348, + "lastPaidHeight": 2127229, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2073798, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XajiBxg1Yvz1xj3x5RVVCsd2jz3F36Jn6A", + "votingAddress": "XajiBxg1Yvz1xj3x5RVVCsd2jz3F36Jn6A", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "80019ea038772fdde3381ed817e1ba45f3d5fffa341778e4dfc46bfbbfc7e982fcb7fda44fd453bd2830a3f2426600fd" + } + }, + { + "type": "Regular", + "proTxHash": "d07e1f491d48947fa2fe9b88cc0e01275c582f3d9fae361d2744c5dee57b48f6", + "collateralHash": "0cc48b21601beb008d37c20d74d28a7da22632d58ff879a96c787bbbe1089fb3", + "collateralIndex": 1, + "collateralAddress": "XwNFd2hdDH6cno7mhs3Sqv2HDNSRVubuuj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "84.242.179.204:9999", + "registeredHeight": 1028349, + "lastPaidHeight": 2126134, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120071, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc26QRy4vz1SNP45GVxQ9setw1ywxMqq5x", + "votingAddress": "Xc26QRy4vz1SNP45GVxQ9setw1ywxMqq5x", + "payoutAddress": "Xij2hVxLBMmX97D9HQF94m4GcN3Fdv3feq", + "pubKeyOperator": "09ac57c174a9bfafa23f81d38223b342e51cf6bf59a9145c69b6098665b4c2d105de10ad211003a3114e06684a21a16a" + } + }, + { + "type": "Regular", + "proTxHash": "ddee1b7ae6687d90e825ad03d9a371cf994f796e40d0755e55116d0e730e2c8e", + "collateralHash": "c669466458fc269ca56f9e8b2b3d578a86e0cde84468d6145f4048d1664fcf99", + "collateralIndex": 1, + "collateralAddress": "XbMsQNuGJikKzpk7txR4b7jJQC1LmotD7R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.121:9999", + "registeredHeight": 1028352, + "lastPaidHeight": 2126336, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1493898, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xoe1eEqcU4xbJ3QCY3MdSwhEigFGrP9nBE", + "votingAddress": "Xoe1eEqcU4xbJ3QCY3MdSwhEigFGrP9nBE", + "payoutAddress": "XivNvuGXmCZazERQjiSAGKDYNpk8oQKBHr", + "pubKeyOperator": "13ab17fe8cf037cdbe142efbf26f07fcaaae27a9248cc797edf6b09851258160d06d67450ef784f94b890c9eeaf1ee08" + } + }, + { + "type": "Regular", + "proTxHash": "aeedbc500211f1a19dffbc04fa0f8a181d43dc647c51c5e627b439b40ba2c370", + "collateralHash": "5c08913db37656c90c9df749a5a617af95379978ef7f361b9f983020db4c0def", + "collateralIndex": 1, + "collateralAddress": "Xq2X4GAX8koHQ8i342Pm6qKuvBfx8cwsWT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.238.85.238:9999", + "registeredHeight": 1028352, + "lastPaidHeight": 2126528, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1622725, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwsyVTbSNJEz14aCtgKiW7wPZzTqFNzE2K", + "votingAddress": "XwsyVTbSNJEz14aCtgKiW7wPZzTqFNzE2K", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "89da8f2b9e9d62cbdcf8dadf9c2e397caa1ddab2164bab477e78a52d6e5833c6b2678d00ed017f12e1cd01ad04e24a41" + } + }, + { + "type": "Regular", + "proTxHash": "5b023482df38894bd9800ef877fe6daf2fe38934c6c7fddb2165718fff6e4d9f", + "collateralHash": "a134ed554b74b4aaf6e10cca3f7c898abfb5a35521c66689300c7c44587cc441", + "collateralIndex": 0, + "collateralAddress": "XhrKBHCwCgxNZkmNpvbpCSG5UksPV1FkHr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.154.226.228:9999", + "registeredHeight": 1028352, + "lastPaidHeight": 2128443, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1668106, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcrGuzKqXFvn5AH2bbMBxj6JvqTw1GHNyk", + "votingAddress": "XcrGuzKqXFvn5AH2bbMBxj6JvqTw1GHNyk", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "87e115a5297a48d001b4fc5d8c48d05c4b113cf5515d7f7bc05075e78f649525b54b2404b5848fc439bcf2454855d82c" + } + }, + { + "type": "Regular", + "proTxHash": "26d7da33f8121790d751cf12519c59c6f1d5692830052f8465024e825d9f4b16", + "collateralHash": "dbf195af34c9fc8cf678d27272c2178a3f517d4f00a211b0681389bd21ce71b9", + "collateralIndex": 1, + "collateralAddress": "XoFTko271DBEc7KU9RNdGrfBMVS5tHmXcj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.110.82:9999", + "registeredHeight": 1028354, + "lastPaidHeight": 2127994, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrJQpHfdSsDDRK9Tz7S2tZyJKPTT8wjxRv", + "votingAddress": "XrJQpHfdSsDDRK9Tz7S2tZyJKPTT8wjxRv", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "89ca6cd16f8be95689b4d37a3cb279180ca543007fbf24f8f026f51c7340539be24d95be325bdafe99dc27da44b0b743" + } + }, + { + "type": "Regular", + "proTxHash": "71075ecf01676159b9a38ee0e1327bfa79a6f90c41bacf0499962b703adaa7b9", + "collateralHash": "c1135f9df94aa798554056d68b1c5b5563c424e5d5f4845a8389b2bfb6d2a8d3", + "collateralIndex": 1, + "collateralAddress": "Xeg2eAiSkG99VYMfKmQrvenYL5YJCn74xF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.23:9999", + "registeredHeight": 1028361, + "lastPaidHeight": 2128777, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1866284, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiFrHZGQtP6Cz7f8EgTjMgkCg5J9ihm8Gx", + "votingAddress": "XiFrHZGQtP6Cz7f8EgTjMgkCg5J9ihm8Gx", + "payoutAddress": "Xroq2GSk1WUTiUx1dNPz3uJ5ruwWuDJL69", + "pubKeyOperator": "01ef09ec0ed788980da4eaa5ca9aa0546005f47ffe31ab6e4a5e48e190a57677cfd0195d48e0a9ce9097f483b97f938e" + } + }, + { + "type": "Regular", + "proTxHash": "ab51f6e98cb044b72b45065b3e51085be5cd08a70f7d2fdd4e647b935aa86622", + "collateralHash": "0da1727d4ae3b182b62866343039bf87fbbb4f972f7660de648e7427f78848e5", + "collateralIndex": 1, + "collateralAddress": "XstRHxa3vPpjmkQWc7qeZYLVMPF8ADA4rK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.248.3.156:9999", + "registeredHeight": 1028361, + "lastPaidHeight": 2128861, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1984683, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XednwYFJemBQSY9gbWRDfxTtyfjVzSwC1y", + "votingAddress": "XednwYFJemBQSY9gbWRDfxTtyfjVzSwC1y", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "9947cb689ad8d8d400851e1d54808317a0e2c932faf7e8c20041292f959f4a57e6e8336278326193dc5b5e1a38932524" + } + }, + { + "type": "Regular", + "proTxHash": "31cc55e53f8e0cc890d3b9818e3298ff6d36481689a6308d184a5e49f42bbe6c", + "collateralHash": "9cc57f47c4511f6308aba0a22d503ed9695c0c3b874e8502a5522ced43e30ef7", + "collateralIndex": 0, + "collateralAddress": "XgxMraf4npPXjBpEqSTmKSfA121JpGPySF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.243.76:9999", + "registeredHeight": 1028375, + "lastPaidHeight": 2126627, + "consecutivePayments": 0, + "PoSePenalty": 1121, + "PoSeRevivedHeight": 1975156, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnayW6zWLGaZe7aSYT8zF4iLKf9nLJqgWF", + "votingAddress": "XnayW6zWLGaZe7aSYT8zF4iLKf9nLJqgWF", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "172c645665f6742c2226cc815a2c735908e0b20f949f42f7a6713b6613e17250242f6a6cd8d75ed46f335e8ee6abb22d" + } + }, + { + "type": "Regular", + "proTxHash": "65f2573918509a2b0e42f7f2f5a0b1f5d5b8b1a7b9ed4627fea780f50a91700f", + "collateralHash": "50567dc440ffb6a859795a7caca57e76ba25a02d6da562bd3ecf24d9d9354eb4", + "collateralIndex": 0, + "collateralAddress": "XimaTYz1FSUX3eNHdT88vGCJLWqa6dGfSr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.88.22.65:9999", + "registeredHeight": 1028375, + "lastPaidHeight": 2128002, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1496117, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvXhKERQZzmcGTysN84Tq6RuJpoa2dPgZa", + "votingAddress": "XvXhKERQZzmcGTysN84Tq6RuJpoa2dPgZa", + "payoutAddress": "XqEx3jQQFq53XqHJrys2L1CNLm84Mj8err", + "pubKeyOperator": "066dfca307bf25ae1211d9b3a6d679925fd1d92a926dd5ead240d56f5f5b0665de8c3951dc937ff69168dd6447b279da" + } + }, + { + "type": "Regular", + "proTxHash": "ab363e2cb53097499fc9c0bd730a6e4ff6d3013f052869cc9f978c129ac65de2", + "collateralHash": "6553f626a7380955dca4dd3d539594586de885f6d3ddfb68c150a492adb3e4bd", + "collateralIndex": 1, + "collateralAddress": "XpbzSYoVe1L6upmXGtuMy3ogtPerJLo9R3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.238.73.67:9999", + "registeredHeight": 1028385, + "lastPaidHeight": 2127599, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1725214, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XehwDnvTGv1yPiHfB5ZTiv9ec4FM6LEUbK", + "votingAddress": "XehwDnvTGv1yPiHfB5ZTiv9ec4FM6LEUbK", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "8fdcfbf79ba282ec7f172fbf8e66b52eb2f433964bafde92e89c3ce0972d5522c70658f91b78918f592c44f2a52c4a9e" + } + }, + { + "type": "Regular", + "proTxHash": "73d1f149ab826ac523e0363b7f77878fdd36ae59502b140b7cda618457808350", + "collateralHash": "882d6a3a24c8f56ad9e2ff03d1c467d3902189f976dc1a0c2a26dc3c217c7b6c", + "collateralIndex": 1, + "collateralAddress": "XpzSWU6whqC6L6Gmx1x36HDKE124ykoitX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.20.101.115:9999", + "registeredHeight": 1028388, + "lastPaidHeight": 2128483, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmBDJgugr9SyV93wvdJCyVmPweKpF6JJb7", + "votingAddress": "XmBDJgugr9SyV93wvdJCyVmPweKpF6JJb7", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "93c43ce5875255eb5ea922f3df479f3053f6c4a4927f4f365a8ef63718244a76f8eda9c14202363f5ab4c1a45548696f" + } + }, + { + "type": "Regular", + "proTxHash": "e59af9f5b45fbb1c365f8ab074062705711ea9c3a0c66e6dac7612850c43015d", + "collateralHash": "5eb2ce4f6c8ddf0c84a54826cce9207072d1b422fe1e32cddf591c7cc74a1750", + "collateralIndex": 1, + "collateralAddress": "Xkii6qKmiqC229oggR2RHrw9c7U5C3CCTx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.227.122.247:9999", + "registeredHeight": 1028388, + "lastPaidHeight": 2126007, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1874370, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu67wsaMN4fy8LXuubjpg1VZdaBrAya3SP", + "votingAddress": "Xu67wsaMN4fy8LXuubjpg1VZdaBrAya3SP", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "03568ec3f6aaa956d5846d3a4b94e713c26b1af733effb4a00c18d4a8498be891877f48f159e2df1d8e75368ff3107ee" + } + }, + { + "type": "Regular", + "proTxHash": "abdfdd443daee7fa10d2e635ec03e34b1fff57db847855fc80e08da9ae84df88", + "collateralHash": "000be8f5f64b7bf26029218f647af1ff16a25c0fc1747930a5ee4e03860ec581", + "collateralIndex": 1, + "collateralAddress": "Xsyw4nDP682YTgg7Bp426pGC3FhHZyMCna", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.234.147:9999", + "registeredHeight": 1028396, + "lastPaidHeight": 2126623, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120576, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqqoaw8MpJ4BN9sqvZbr893HDhBpMaAe57", + "votingAddress": "Xqqoaw8MpJ4BN9sqvZbr893HDhBpMaAe57", + "payoutAddress": "XiwYx9vPDsviVbARe9deBs9QFsgYZNAHrC", + "pubKeyOperator": "860413b84c02b5bfd97f44a2737dc4bd20404614d74e63da02d3dd91fd211d7c5b4ffc9caa23b277b53b96ec50bd7ff7" + } + }, + { + "type": "Regular", + "proTxHash": "23e6b8961e3f9df047ceb601bd9032c51cec45821e32a15ef8e7e056f0215601", + "collateralHash": "9aad4c10b182b57b45b2b558dbf7c7123507cb4c677c40835b802dad7d40bcd5", + "collateralIndex": 1, + "collateralAddress": "XwtjDE351G562UrCsEpqRebCbF194H8cKy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.238.82.108:9999", + "registeredHeight": 1028396, + "lastPaidHeight": 2127774, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976317, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyQnC9ySr9V3rXs6tdVqabSBNiJqANuXWd", + "votingAddress": "XyQnC9ySr9V3rXs6tdVqabSBNiJqANuXWd", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "87c5fa8399499943a8053cc0abd333d7de887494abcf610a3bad844345745c639d4b649a6e28f1bf14f66dfeff361f97" + } + }, + { + "type": "Regular", + "proTxHash": "2465f2d56cb2e8ca5591420dd033fb45e8c2b7d0fb2d7cf3dc3dcdefa99f29bb", + "collateralHash": "04f0905b27ccb84b8d77e2d646a67eda345a211383cced8c7557e88c69652158", + "collateralIndex": 1, + "collateralAddress": "XrFAzve9sYy936Qivi3zeZddBa2eYFaPwn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.254.159:9999", + "registeredHeight": 1028398, + "lastPaidHeight": 2126624, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120576, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfDhRfyQ2Hc5a1mnH3QoWQdjULKfzadpR4", + "votingAddress": "XfDhRfyQ2Hc5a1mnH3QoWQdjULKfzadpR4", + "payoutAddress": "XiwYx9vPDsviVbARe9deBs9QFsgYZNAHrC", + "pubKeyOperator": "144a96bbf2a15ec13ed0b679951099cfaedde29a5ad8e568bbc5c08058d77af78fefeb041f4fd4f88a4c9de15ed3b89a" + } + }, + { + "type": "Regular", + "proTxHash": "8bea86c4bcaf5a3a43dfff5e4df3901bdf6aae75fcecb3b6e78ed918f8f1ff2e", + "collateralHash": "82317a265164d9981d89e3b46e47ac58d26244dd461abe6a80ac964e0dc75591", + "collateralIndex": 1, + "collateralAddress": "XhEGEcoQgAZHMhqNpBJkJHYzUZDWH5ie7N", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.146.196:9999", + "registeredHeight": 1028423, + "lastPaidHeight": 2128781, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1980957, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjBfUwiU7bBFQZdMFtJ581LkFuc6M9JNFy", + "votingAddress": "XjBfUwiU7bBFQZdMFtJ581LkFuc6M9JNFy", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "1054b3cb64d47501632d239ed4d97d8a0f6a9485d6c46253b57989074544963ac6c38248c87f9b832517528b1cd15edd" + } + }, + { + "type": "Regular", + "proTxHash": "f48b7c45cc018c0ff4f4cb2c83a15db1c2bc9b6326240486e523645cecb0eff6", + "collateralHash": "04d545b8699764340ee65541cfc6148f36b3ab8b1718706a38093c6fb6f4ba9e", + "collateralIndex": 1, + "collateralAddress": "Xn8pjPHw9gQs95hJ6LzeiPjSZEbUDQv9Ua", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.198.104.135:9999", + "registeredHeight": 1028423, + "lastPaidHeight": 2127992, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1667682, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqvLC1YjU2D1bk3car1tzADgwFBvBNghmg", + "votingAddress": "XqvLC1YjU2D1bk3car1tzADgwFBvBNghmg", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "8a007d192694253167bb81f6befa7d6497de93865f727724d8de15324b28feb8384d3b382ad67aacea1b0898eec5cfd2" + } + }, + { + "type": "Regular", + "proTxHash": "8986f136c95d7629f0aefc985ffd84c5f18e07428401fb5ebdc288f18cf4c7d8", + "collateralHash": "563929a21a9fc2bf4ffdf2f28f19da40fedd3452edcea8d2f7b8d12804400f67", + "collateralIndex": 0, + "collateralAddress": "XbFHLgd5qmWdSZDGwcsro9xSjUVk9xPJXf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "70.34.203.203:9999", + "registeredHeight": 1028423, + "lastPaidHeight": 2126537, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1949327, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjCYqhqPJdiWrhmutMcmEbp9SbGjU8P4a5", + "votingAddress": "XjCYqhqPJdiWrhmutMcmEbp9SbGjU8P4a5", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "918ca940fbc37718a6243eb5e2d7f6f92bb68f2c8ea8fc02fda810c6b4ea56813008735d4c3331a7210b82706f1e044b" + } + }, + { + "type": "Regular", + "proTxHash": "9e8ecd117e722124e27e9afa92524202bb8f8b38d29f74d5fb80c236c7923586", + "collateralHash": "e890e847945a6d9475e01ed502c7e8256d560573d99307c41f8dc43d7d3667e0", + "collateralIndex": 1, + "collateralAddress": "Xn1fb9z1cQRKzq8RFsCnSxkjBzPDHi3hba", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.128:9999", + "registeredHeight": 1028426, + "lastPaidHeight": 2128698, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpwU4NsS3ZMS8DCcLgD7MqyLJAtWqWHimi", + "votingAddress": "XpwU4NsS3ZMS8DCcLgD7MqyLJAtWqWHimi", + "payoutAddress": "Xn1fb9z1cQRKzq8RFsCnSxkjBzPDHi3hba", + "pubKeyOperator": "88b5c294afddaf031a291fef7b536c3811a9b62a4d2ae3e4abe6d97bf2b4f0961d3b9e58c9bd944d2b4d2af726f0874e" + } + }, + { + "type": "Regular", + "proTxHash": "20d618f06375130b480cbdcdc6e3678c8a4fdfd2caabf5c85631826e85b7d3bc", + "collateralHash": "14fd21b334591e02b04fb9ab661aad754ae02365f006d5cf812fdd5294bf1db0", + "collateralIndex": 0, + "collateralAddress": "XxutseNXweihuCmm5jg1fjAUmJJyAUSaDs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.102.72:9999", + "registeredHeight": 1028441, + "lastPaidHeight": 2128892, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh2pNuoAE6pit78ZZbvLoqfU4hMfsjfbTv", + "votingAddress": "XgAxMPnmdSnq42ubqYH32NBbdMjRPRzN2H", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "146498df1effdc4028d4aaa0d0ce53ef3f205b940e1755f03e8e56be572264e62c2beda6cca69efe00ec3385bfd46a48" + } + }, + { + "type": "Regular", + "proTxHash": "daded9ac7ab44603018fc0f06ba359b1f8ea7d6f815a056f914b49714f057449", + "collateralHash": "ec307d10002e3dfdc987870041ac91ff28e9de5853867dcc60873e383da6a08b", + "collateralIndex": 1, + "collateralAddress": "XkwJ5PPoTQQNK5kWTQKmHUbwh4QDmizJ5b", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.73:9999", + "registeredHeight": 1028463, + "lastPaidHeight": 2125762, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcMxLAUmGRLuuNe9ApVP92kQdgu1KtY59b", + "votingAddress": "XcMxLAUmGRLuuNe9ApVP92kQdgu1KtY59b", + "payoutAddress": "XkwJ5PPoTQQNK5kWTQKmHUbwh4QDmizJ5b", + "pubKeyOperator": "833a87a7f22d0e86c6d47c4a2a514609372c42a90c703a4f95e703d6cbbee918141e509de5e3a77b3ade3369f6c3cc0b" + } + }, + { + "type": "Regular", + "proTxHash": "1c359d8332b5738f6f88f5ad6aea76b94c333aab1141b75dbdcd28152551ada9", + "collateralHash": "08c4d2c614693d3fd06db20a34b43c6599172baca0a5fad9f94346f825c56830", + "collateralIndex": 0, + "collateralAddress": "XdwnJtbn9hAjMpKs9K4QZbJWDyAaTuggFD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.23.116:9999", + "registeredHeight": 1028470, + "lastPaidHeight": 2126988, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1892736, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuiRfBknNPTJyL2J8zhTLsfBuZLQn6K66G", + "votingAddress": "XuiRfBknNPTJyL2J8zhTLsfBuZLQn6K66G", + "payoutAddress": "Xekm7hxgnQED4bMt37a96f3AdKFmMQbhJq", + "pubKeyOperator": "118dbcd6639452652c1a10e618c2432d709e7d055c6234be02e144d9904df36af1163dd13acd6ca8f694427d9d1ff436" + } + }, + { + "type": "Regular", + "proTxHash": "d3a2b9417d2130f4a14fb09546c78f7d130923025a5b88c4219ec312f9b69b6b", + "collateralHash": "0215860c8dff64e85cec3c3707136216b08f34330e426cca43dc41530ead9eae", + "collateralIndex": 1, + "collateralAddress": "XpfynApXfcEStRW4JPAwJUxP7bbMymtBcF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.111:9999", + "registeredHeight": 1028480, + "lastPaidHeight": 2127238, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975742, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtpR4GGZgpV8FunRqjFsUSSdtp87koNgRv", + "votingAddress": "XtpR4GGZgpV8FunRqjFsUSSdtp87koNgRv", + "payoutAddress": "XxbvtdARL7s4Mj2xoG4tWsqpiHGxCegJPM", + "pubKeyOperator": "8c120589e88547cacde9bcbc81d3cdd328aa3a6dfe99376ca7ce958faa5ecc39da21b79c72750a14d20f9f0950a814e2" + } + }, + { + "type": "Regular", + "proTxHash": "6bd7bebca8469ca992bc5093646dd61269c3f27debfd20b0a134cfd35e0d9976", + "collateralHash": "e0d479204781f63ef495749d8363cc0f5e8575fc3a82061d38a092111217b768", + "collateralIndex": 1, + "collateralAddress": "XsVfLB3FAZyJfy2W1jt1GPGzWfqWanS8FU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.207:9999", + "registeredHeight": 1028480, + "lastPaidHeight": 2125877, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuLF6oCQYVPMnbjvbx6x8vgaWHXk6vsuaK", + "votingAddress": "XuLF6oCQYVPMnbjvbx6x8vgaWHXk6vsuaK", + "payoutAddress": "XcMYmAG4VfrYDxq6sKsZvFZxGFJzgvUjmB", + "pubKeyOperator": "0139176c8f1f195ca77284dfc7a5313717c4beb6aec5001f4cf804a05b8d9e391556d93f447325d40b2bb8e536d61f9b" + } + }, + { + "type": "Regular", + "proTxHash": "86147b250d902d4e120e02dbde0caac254de64c2b5fb3fee41dcf175b58e0745", + "collateralHash": "121e9fe94f15e06f05d84c5fabc993bd2220d88f1e9935bc7188ab906d5de81f", + "collateralIndex": 1, + "collateralAddress": "Xc1EfBi2LgiwLPWSBzpQGXdJH3dREJ8MYy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.235.170:9999", + "registeredHeight": 1028503, + "lastPaidHeight": 2125954, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkjt8NWhye8Ucm93W7MVWEn6mvr5wxBcSc", + "votingAddress": "Xkjt8NWhye8Ucm93W7MVWEn6mvr5wxBcSc", + "payoutAddress": "Xc1EfBi2LgiwLPWSBzpQGXdJH3dREJ8MYy", + "pubKeyOperator": "83d6a79d6a5d006cac96816b47e17d473350537e1736fda22798bd7a3dcbd51ff2cb315c7517450b3a9a795057e07362" + } + }, + { + "type": "Regular", + "proTxHash": "9661cea56646843ddedf8cc0d99337877bb5456fe6d59a47ee51ecce9a51f01c", + "collateralHash": "0d56971a64356d25dc36043e4f572e302f7153f27ff0abde2004182663b41889", + "collateralIndex": 0, + "collateralAddress": "Xhvnyo9cgx7C5t4LLETeiVnjGaUrqfDbxL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.106.130:9999", + "registeredHeight": 1028503, + "lastPaidHeight": 2125950, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxfSRvEyH9CrVxJvdr8vEiereCPD1Sjzua", + "votingAddress": "XxfSRvEyH9CrVxJvdr8vEiereCPD1Sjzua", + "payoutAddress": "Xr5ykJuVXM1voLXjmEH8WrxeyXvzHoTeci", + "pubKeyOperator": "03d85dd2c2b6f5cd282faea6aac7b1e7b4a18f81fa5e0c42fa6ea9cbc4d3c2a504261961c83bef688bb7d13e0934a32f" + } + }, + { + "type": "Regular", + "proTxHash": "c1d0788e79377da74abe477c7e5b391a641a3d6af4e7f14e183be4f5660ca36e", + "collateralHash": "53d692372673528b14b423af7a2f5ed3c7108e65a5d4ecc9d484e4904405f1cb", + "collateralIndex": 1, + "collateralAddress": "Xf8HsUhRshn1iboog7XrbA9gPhupT3M35m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.47.163.76:9999", + "registeredHeight": 1028512, + "lastPaidHeight": 2125965, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoEzsso9T8CJzNTsgwKAg6YQyKdf3udP6L", + "votingAddress": "XoEzsso9T8CJzNTsgwKAg6YQyKdf3udP6L", + "payoutAddress": "XxFb6SbgHpYob5xfoFbueXPF4mwEFRxxVn", + "pubKeyOperator": "92aadbcec7b7e611977020cb7592e47d971379e364b524c2a36389930bbd88fe532d5c22cb9811a5cfb793e0075302fd" + } + }, + { + "type": "Regular", + "proTxHash": "4a918d9f1d0f81a7b52a36ef83b4e402b32ea35717d63ad173599e6600bda407", + "collateralHash": "1cad5e438a2bfa9667a4abfd800b5639d19bc6a11eb7cda1aaa5525e072cd0d8", + "collateralIndex": 1, + "collateralAddress": "XnBSi9o7bQPpsavtEFPCBx9ZNRf8TKJjS3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.45:9999", + "registeredHeight": 1028515, + "lastPaidHeight": 2125967, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxdvHmccaWXw252Suv2oGGYVU4accorpf7", + "votingAddress": "XxdvHmccaWXw252Suv2oGGYVU4accorpf7", + "payoutAddress": "Xyc5F4oCUF3o9D3gKVKCB7qTyAHpMKznL4", + "pubKeyOperator": "0fae7a82deb2f9e95adef3df9b56244119fe73eb694d01a0003d8d310ac17df3d8eb1d106aec9d3be432d6942f1f850c" + } + }, + { + "type": "Regular", + "proTxHash": "6be8ac01a06ec2c93d303b44413ce01ba05e6c14363ed6c4a443a6ba6d82475d", + "collateralHash": "a8895923ff22bb1ee2bc91231ebf34304f7e35058782871efabf98ddd1835bad", + "collateralIndex": 1, + "collateralAddress": "Xob9Aa84a87NN2YmnEPZ7Lpn9VjzHdHyUF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.150.129:9999", + "registeredHeight": 1028519, + "lastPaidHeight": 2126001, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnfUPYrhZeCJj6UjaTKFDuET99kayk3BL1", + "votingAddress": "XnfUPYrhZeCJj6UjaTKFDuET99kayk3BL1", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "84222ab9a2d1fb45ae405f161578968fd0c4835abe46de830abcde7f93bc3b6cf968c2f4c3f438859810f3e8e35c5e9a" + } + }, + { + "type": "Regular", + "proTxHash": "d9cbb6a771f959595df9c57f87eed9040107f4a5df4658ef3c9ebd2cea90c1f2", + "collateralHash": "49d78ca9ebc5e37ee545850ee4567460e31335050a9baef647fac907232500ae", + "collateralIndex": 0, + "collateralAddress": "XhbVfWrXsEDDUjorh5ridx54e5QCwqGfpC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "108.61.210.143:9999", + "registeredHeight": 1028519, + "lastPaidHeight": 2128485, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987561, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw27oB5oStpjkFP6RWfMGSqAEkzuw1pgrZ", + "votingAddress": "Xw27oB5oStpjkFP6RWfMGSqAEkzuw1pgrZ", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "017c7ab255c609cb80029e883775095658cc97919f8cb20666c475154096d0ab68f5029859e10c0722b7b687ecd27273" + } + }, + { + "type": "Regular", + "proTxHash": "25f1cfe6539322347021fc8c223dc635b2ecaed11b1070dcb484a42b72f1615a", + "collateralHash": "7c1f3a0f7d1b52c699b9348094dde4090f40f5f4357fc28b30a116d5cdbb4ba6", + "collateralIndex": 0, + "collateralAddress": "XwM2EjEgPnQVjkRUqjKUniKJPnqa9oXYGA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.198.22:9999", + "registeredHeight": 1028520, + "lastPaidHeight": 2126970, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114630, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpr3qDA9pdyiMYb4ubYtq2EwG7byQYJZ4d", + "votingAddress": "Xpr3qDA9pdyiMYb4ubYtq2EwG7byQYJZ4d", + "payoutAddress": "Xy54EQCzHLuUzUTwWUVYUAAan93dcdiZcp", + "pubKeyOperator": "11dff5b9236fdda7b03b90f2498a4094e855c835f6d9461bcdd17d0a702f70c2a40f688e8259733353192499d2d22c86" + } + }, + { + "type": "Regular", + "proTxHash": "85feae74e6d3a147179e05d966e19b2bd14780193f8bb5cf2a2dd48c3ffbc6e2", + "collateralHash": "60fe151cce93b010692158c6d28d3743e24e0a443f9e599c8488b1f571aa975c", + "collateralIndex": 1, + "collateralAddress": "XgVALzurpc3LKwU95kA8bf2s7MreT4wP6t", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.58.97:9999", + "registeredHeight": 1028520, + "lastPaidHeight": 2128598, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007704, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnGiXqSW7EBW6M7DYyyLPt1sUuDbKZEJXV", + "votingAddress": "XnGiXqSW7EBW6M7DYyyLPt1sUuDbKZEJXV", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "05ac3e0e26eb52d86f1f033026689a39639ee24d4cc1737f66a5aa9b57d4c9216136475d93204b3e4189ffd733921881" + } + }, + { + "type": "Regular", + "proTxHash": "340b0689d93754ec030a2a609ae2b17412958860c3098c9677845f946e0c231c", + "collateralHash": "4f04d588ff6663bc39657fe60bc6a8ff89781a2f147e9f08d6ca10f9fce0f64d", + "collateralIndex": 0, + "collateralAddress": "Xb76T2VDH5X2E3rVZzyo9QoeqacmM7jW3k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "62.77.158.109:9999", + "registeredHeight": 1028522, + "lastPaidHeight": 2128803, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977462, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxz2MeSLQWwyA6svbF1mHoqfBTgKe9Paqz", + "votingAddress": "Xxz2MeSLQWwyA6svbF1mHoqfBTgKe9Paqz", + "payoutAddress": "Xb76T2VDH5X2E3rVZzyo9QoeqacmM7jW3k", + "pubKeyOperator": "91acac9cfe17c21769742ccd1dd3ef72e22b287cf4d4982abf956cc314cf34839f424fb5a8e48caa98731f581ead5b3c" + } + }, + { + "type": "Regular", + "proTxHash": "9e14664ea5bbc80a2d4de0c494e9453a5b4f7c1fd5a67d0f8fb9daf3cc328c1d", + "collateralHash": "73725719ba62f73997076b08539db5f590a57b7f8f82039e2df8d89c15c53a29", + "collateralIndex": 1, + "collateralAddress": "XbMAKCcSZDULEU9M2dkb4jeLBB1pgFhvvC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.3:9999", + "registeredHeight": 1028530, + "lastPaidHeight": 2126697, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1776002, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsmdtJyZWwwPhm2UbnQ7sNLPXR7ByuDeuX", + "votingAddress": "XsmdtJyZWwwPhm2UbnQ7sNLPXR7ByuDeuX", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "85b29951c7b78191e7361494b579188e02c02f80109baf06ba140249c331c28123e67ba122b44a5c7082316ae9e0aaaf" + } + }, + { + "type": "Regular", + "proTxHash": "32d120a25e4d202cbe824312a4f60e1779438d79ff297780b6f5c942cdab501b", + "collateralHash": "92a2a6ac4495875728d7f1b8d7538aafba352c0a9d671caed860ea027095e7b1", + "collateralIndex": 0, + "collateralAddress": "Xqfjoimin7AB29Akx1xBG88tG3TnBcN6Gr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.3:9999", + "registeredHeight": 1028548, + "lastPaidHeight": 2128233, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976861, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtvC6cM57oPuN545atBacRan1XwTdFJtpz", + "votingAddress": "XtvC6cM57oPuN545atBacRan1XwTdFJtpz", + "payoutAddress": "XbpqkLFWuNGakGLZFVkmeRfCwu6gpC7oip", + "pubKeyOperator": "835bfe604b2e633573e97f8717051aec81eea1445c6a671de0a11a7030cd359007a5de28877ba8ab88ca62b2eb372726" + } + }, + { + "type": "Regular", + "proTxHash": "ff00b58e4b281f41d6d87df335ab8e632177c3c2ec57c6e4e0d7f248e0bb9f51", + "collateralHash": "68875dd61e51922576e303b845b7995fb80f93bcf8abb503b36b3e9d54cf475a", + "collateralIndex": 0, + "collateralAddress": "XmnHevqrxpBBb8iLHyj3Et2gcdk7xFALh3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.5:9999", + "registeredHeight": 1028548, + "lastPaidHeight": 2126352, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiTtiSE1x3ufhDNTkEsu4UJRVd127NXm4W", + "votingAddress": "XiTtiSE1x3ufhDNTkEsu4UJRVd127NXm4W", + "payoutAddress": "XbpqkLFWuNGakGLZFVkmeRfCwu6gpC7oip", + "pubKeyOperator": "95715cd801a40df05a5a09e769b2f0c7268639eda22d99691c466d3d6bb4ae60a89e04a0f5d56c3a145007c41b520033" + } + }, + { + "type": "Regular", + "proTxHash": "0cdc857aaabb3c4652b274727764c5a4545515f732de096cd78605d314e1679c", + "collateralHash": "296bf0af288211f9a803f8ce3e1c0f188158ff204ead3c4c05ac9770ba7904e3", + "collateralIndex": 0, + "collateralAddress": "Xqbi4gn5YZJ6fD25LY7CpWbKuJWdayCjqP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "62.77.155.26:9999", + "registeredHeight": 1028548, + "lastPaidHeight": 2126354, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcGmQijkcU2MEYpt9oLm3Yne6v1Ad1R3s8", + "votingAddress": "XcGmQijkcU2MEYpt9oLm3Yne6v1Ad1R3s8", + "payoutAddress": "XbpqkLFWuNGakGLZFVkmeRfCwu6gpC7oip", + "pubKeyOperator": "1096dcd0d7678f2fcf94ac87b3d535849d607fa2042b066c97303e81f3adb3a9fa660b26d1b993a319e28802aef1b895" + } + }, + { + "type": "Regular", + "proTxHash": "a991c6992a48cbaf7663fe3729a0b027898a2d37f8495ab591b6343a6791d2e6", + "collateralHash": "1bcd3aef8c92dd1e22890445aad2480f14542f6fce818eeadc909734ea6e2ecc", + "collateralIndex": 0, + "collateralAddress": "XazryiGxpxkDK1npgWeapooYnEi5GDuEU9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.113.85:9999", + "registeredHeight": 1028553, + "lastPaidHeight": 2126972, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114632, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpT6f9sfaa8UqC6HxFheAGsSUc2V8hB1MS", + "votingAddress": "XpT6f9sfaa8UqC6HxFheAGsSUc2V8hB1MS", + "payoutAddress": "Xby2sZ9yBPD8WkyoebjtgTLCj5qhsTQJPp", + "pubKeyOperator": "82f028672d3def392c8d983a1f27166cd22e3aa8be11cee7640f1ab6e64ed036b1bbe34dfb1651be1e6128ce5edecd73" + } + }, + { + "type": "Regular", + "proTxHash": "2f9b93aff5c3a58a0ac27b8e3378d859f3668392c622417cc59d35cd5e8b1753", + "collateralHash": "221f57c0f821b5bae3e315195159c7f16ca5db14d66b6a5a19210894b7e89494", + "collateralIndex": 1, + "collateralAddress": "XxJAA3L1ygjBHkTG973iWpuxZxMFb73PWq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.58.33.88:9999", + "registeredHeight": 1028558, + "lastPaidHeight": 2126398, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh42NpXJKXvU1pAqzGu5yinb9DxWencYDE", + "votingAddress": "Xh42NpXJKXvU1pAqzGu5yinb9DxWencYDE", + "payoutAddress": "XmPayW3w9vnuZ4baHZgP8amKv9TAPUqAc7", + "pubKeyOperator": "0de0ef0a751ec1963e95c42d595003a5dccc0fd9a4c7ba136f2d72f64a6b958b703a749524fb9b01cb0048f3879d4899" + } + }, + { + "type": "Regular", + "proTxHash": "1b44955af0f274388a6c69ca260521ac6f6076dc9c2033a50143f945336d0634", + "collateralHash": "0fff848da0fee2eadeaf84818c1a4c0653919633636a69e079e3272bdef898f0", + "collateralIndex": 0, + "collateralAddress": "XpZzP7aXu9tS41ickE4uFK3cn6b8LAWu7o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.206.43:9999", + "registeredHeight": 1028561, + "lastPaidHeight": 2126973, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114633, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwrf6HE3UbLLzwHbaqNwDMovXZBmmdbJw6", + "votingAddress": "Xwrf6HE3UbLLzwHbaqNwDMovXZBmmdbJw6", + "payoutAddress": "XswF4vzJ8nQV9tEcLHkknpGWQ2d22W3fWP", + "pubKeyOperator": "0396f9ebb9a42a6af2a5d0f422ea29511c0098a685fe5031b202803d886e54ecd3ad7d0da79faa10a0c56c33cd8d1668" + } + }, + { + "type": "Regular", + "proTxHash": "09615521fa04a2c5c2bc16cc3421c7da1ac92774ed0bf2ee00ec13a79aa76606", + "collateralHash": "9a1557e46b0451e9fdd9a57d40ba4703b22f3526c1e664f20a9d56bae96ef9de", + "collateralIndex": 1, + "collateralAddress": "XahMtUBJsyswuzpEsBTJbfCbC4CSFuiokF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.107:9999", + "registeredHeight": 1028568, + "lastPaidHeight": 2126434, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuYfx4Qw4dsG6D6pcfSe6mW2uxMAYx7VCt", + "votingAddress": "XuYfx4Qw4dsG6D6pcfSe6mW2uxMAYx7VCt", + "payoutAddress": "XahMtUBJsyswuzpEsBTJbfCbC4CSFuiokF", + "pubKeyOperator": "19d3d2acd66d363faa6429e5ea3d050212e2e52ee443fc13dd0e2b069b37d099cfc5de8afb3f5d3cf1ea25fc78cf78c1" + } + }, + { + "type": "Regular", + "proTxHash": "62aeca86982ebc2e39a4555431a1af6cbfd20adbdc5a7241283074826b282c4e", + "collateralHash": "08a18348a66a9b2d0069a84243ad08c6d55993eba69c1e35d48f06b0837c4460", + "collateralIndex": 1, + "collateralAddress": "XoG9YVdrnzkYYxp5vre5pDzqxRfKPAQwbJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "152.53.3.166:9999", + "registeredHeight": 1028578, + "lastPaidHeight": 2126319, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2062712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgD8SkfLjiVofJ1qy2QfU1N9xooGjmhMP7", + "votingAddress": "XgD8SkfLjiVofJ1qy2QfU1N9xooGjmhMP7", + "payoutAddress": "XmPayW3w9vnuZ4baHZgP8amKv9TAPUqAc7", + "pubKeyOperator": "8f9031be564284d5680e840e0dca4fa1afb5d7e88fe864a7d17d845cbdc7495e92baa52c990f81f7d4c43c9980475982" + } + }, + { + "type": "Regular", + "proTxHash": "ea1ae51fc6edcc97218c2e62fae93c52f6aeb163dc65a630d62cb9a7b142c22e", + "collateralHash": "3d05ed2c942f328306996c12fed0e98ae7e31939ed50fd6407b80f4df8bcd7df", + "collateralIndex": 1, + "collateralAddress": "XxzMwqgSHHCL7Mj6WTsgLxT69tS5p58rk4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.225.91:9999", + "registeredHeight": 1028584, + "lastPaidHeight": 2126670, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmkaHoiXC7ebd9Gn6WDXwWJSuhsSvkDNrc", + "votingAddress": "XmkaHoiXC7ebd9Gn6WDXwWJSuhsSvkDNrc", + "payoutAddress": "XmPayW3w9vnuZ4baHZgP8amKv9TAPUqAc7", + "pubKeyOperator": "891316d5b60aff94028d8459bf1f2a44f434f9788a3757706c8de8b4014af05e4621bdf09f0ea2635415c72e35aefa3d" + } + }, + { + "type": "Regular", + "proTxHash": "39b4552615512ae55ae12e682d5e91aea4c41eda6fc5d82e8ff4504c8ac23ef1", + "collateralHash": "33a8558a1cb1b92f9f37fa7a9b85eb596c600ae69de3c3941ab91d4db0687b95", + "collateralIndex": 1, + "collateralAddress": "XxEUB2UUa2PoNepWFVy76bJLEVGPKy8MxQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.108.202.222:9999", + "registeredHeight": 1028584, + "lastPaidHeight": 2127492, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1872504, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrzQdmSbbD2rMPZwmgRt4Y6jB9TNJA2qiA", + "votingAddress": "XrzQdmSbbD2rMPZwmgRt4Y6jB9TNJA2qiA", + "payoutAddress": "XmPayW3w9vnuZ4baHZgP8amKv9TAPUqAc7", + "pubKeyOperator": "15cad8b86ce3e416e97c18945ef90202e4fb249c657d1e810d1500791b3660036f2ae9ea6bcbd4fb533bb23bcba09f07" + } + }, + { + "type": "Regular", + "proTxHash": "8ecfae740a7f2ddd5ce4b4b3d772942887f6dccface3719a5b653b9f590ae525", + "collateralHash": "7d9e1211ee4f8a674857a60bc74c861f95c3fd5c66da4bb2456faabb78509315", + "collateralIndex": 0, + "collateralAddress": "XkKhYptvt2wkEmqf8CyUUfivr9Fmgn5yZT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.36.241:9999", + "registeredHeight": 1028615, + "lastPaidHeight": 2126719, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120669, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrk8WMRcVcou1szYKuZgDXxuo8D3rabPAm", + "votingAddress": "Xrk8WMRcVcou1szYKuZgDXxuo8D3rabPAm", + "payoutAddress": "XkKhYptvt2wkEmqf8CyUUfivr9Fmgn5yZT", + "pubKeyOperator": "8d84c2ee7b2b3053a7ac9da9db0f8bdf6c74d1d1f3374bab8e4efd0a1bbe4abaac040a47dfc9e954ea53a8e115ce748c" + } + }, + { + "type": "Regular", + "proTxHash": "ac0d77c6bdeebdc05f6dac11253baf5d504f7df637ead36f172e3b9d2f558db0", + "collateralHash": "5994ddb4231365e841bff6574f1d396dd6ae840f229c6b6f2bc277e853e7a4fa", + "collateralIndex": 1, + "collateralAddress": "XnTQViNhUwibRybX3EkFfEivTFpwd4kRqP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.207:9999", + "registeredHeight": 1028619, + "lastPaidHeight": 2126822, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2093804, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XymGzFFUcjGsXsoHXXT2fBswHF5j41RE1R", + "votingAddress": "XymGzFFUcjGsXsoHXXT2fBswHF5j41RE1R", + "payoutAddress": "XuCxEXt2eUJ1mtWGzm2bpHu7BywcFEpQKL", + "pubKeyOperator": "8e2093d9cbd082705ea17d1062dcb4f457c1914260ce5898842fd072c26ca9c868e2f8127d5d7ef7ac06ab168b89d912" + } + }, + { + "type": "Regular", + "proTxHash": "5fbe5b453bc240d5889a572910dbe6b9ca25cb418c02648c9afe5419f5d9c5f8", + "collateralHash": "b2db355a5652e1dbc8ad2dc0f5d8d0e3c440039166dbc553dc82969f320b05b9", + "collateralIndex": 1, + "collateralAddress": "XepaNrVc1xtXmaksvDJXMcag8H8XjiT7Qc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.8.95:9999", + "registeredHeight": 1028621, + "lastPaidHeight": 2126911, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1190391, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaovPGc4pXX6kHfoaaqwcywgPWsQj8WiRM", + "votingAddress": "Xt9h2QKGeKJsDessH2myrbF89Kcy7KR2pg", + "payoutAddress": "Xwobeghjv26FVW4GB2seGkELkStj3AxePT", + "pubKeyOperator": "195f739639909ab3442965065f1a1fe189f3fe9f10d50408a2785e356ab7b2f6120600cc6ed3179f7f5d27b1703461c2" + } + }, + { + "type": "Regular", + "proTxHash": "5cdfcfd741502e7230df5c1d4dca352d3dad4111bc2e91548ee361bb1ad3754e", + "collateralHash": "d80956dc306fbaaac2565ccdddbd65fd16cb9da8d90156bc780e2b564f785bac", + "collateralIndex": 0, + "collateralAddress": "XjDrfZWizS4tPVbGgn1geWngwU6gZTzoip", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.33.84:9999", + "registeredHeight": 1028622, + "lastPaidHeight": 2126720, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120669, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiJMzkyoZbNV6PVPh6K2q1ANfEj8e4bUWT", + "votingAddress": "XiJMzkyoZbNV6PVPh6K2q1ANfEj8e4bUWT", + "payoutAddress": "XjDrfZWizS4tPVbGgn1geWngwU6gZTzoip", + "pubKeyOperator": "81041d5c61339bca6fc592980103720bc8e0ee1f186589545e22acc255ef48100910aeb4991d7a550c9869b79936776c" + } + }, + { + "type": "Regular", + "proTxHash": "a665dc86baa4fb4a21c3027bc96076d98ac90c5c8f31b7cf954d3d143f9fc1e4", + "collateralHash": "58c41bc5dc8855ebbe6016b77ed4d5b69545897a2955c490647f62d94a06260e", + "collateralIndex": 1, + "collateralAddress": "XvhxJ5f2A3E5ko7XiDRaSVXDwxzb8gDNp6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.28:9999", + "registeredHeight": 1028632, + "lastPaidHeight": 2126924, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeVRpgEaNACL8MqrP7wXhFfBHEVFGwirrr", + "votingAddress": "XeVRpgEaNACL8MqrP7wXhFfBHEVFGwirrr", + "payoutAddress": "XuCxEXt2eUJ1mtWGzm2bpHu7BywcFEpQKL", + "pubKeyOperator": "902f6767a0b069c892b182802bd2a49d351effb615df49786374b68b278c4607722d07900bbdaa7e0776eee7024461f1" + } + }, + { + "type": "Regular", + "proTxHash": "b7919fba8085a30cec91df19ae59a5bd7c398132c2b4f9057e699b8ea1623162", + "collateralHash": "6f3c60e05bd1702fa18a6d73904b34952ebee6e01a2d2b297fa77126b980c7c9", + "collateralIndex": 1, + "collateralAddress": "XwdQs9jreMgZRY82GkhpD7qSVBuSY39SkL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.39.142:9999", + "registeredHeight": 1028636, + "lastPaidHeight": 2126936, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbGJjirZFwEcZbKBer4n9JC5PWajWqb3vZ", + "votingAddress": "XbGJjirZFwEcZbKBer4n9JC5PWajWqb3vZ", + "payoutAddress": "Xg2teJKknWpjsC3csmcHofViWQZodRDQun", + "pubKeyOperator": "0747c6caca6ca007a52231e7747938cf60e6b49f00e2cfc8b222883b7c86304474add2748b1cce7d9fb1a49ada8a4fdc" + } + }, + { + "type": "Regular", + "proTxHash": "4797d8f141b4da04768f17610a10fc19fe135d14a39af67fe2c39029e9bd4982", + "collateralHash": "83afa3cbcfd418225a0280f00aa17ebe62e51176d43f9706c7499db8581351db", + "collateralIndex": 1, + "collateralAddress": "XhZXCo2NUduM9hDx62qbDkcfAuMVwDn5Kd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.21:9999", + "registeredHeight": 1028636, + "lastPaidHeight": 2126945, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe12Qvq36K9wo9oh3iLzsLQXKAX1UFeX9Q", + "votingAddress": "Xe12Qvq36K9wo9oh3iLzsLQXKAX1UFeX9Q", + "payoutAddress": "XuCxEXt2eUJ1mtWGzm2bpHu7BywcFEpQKL", + "pubKeyOperator": "15a3705fca8ac9bd074a25e0fc09fe5c9ba31aa6a0e46e8e4254a1549f0fa3a91fc566df1ea071d16d3141792feeb07f" + } + }, + { + "type": "Regular", + "proTxHash": "b49365a75a33ad7f662a66a9c4daed67aed5480272587439b1292c959a436935", + "collateralHash": "aab420bde9b2a0e6054814d36ec2e83dc987f9c00acb44a58712f1574bd15c84", + "collateralIndex": 1, + "collateralAddress": "XoAhm8tavyoU1JzvMEBUY1CkY2GtukqPRm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "164.92.160.130:9999", + "registeredHeight": 1028639, + "lastPaidHeight": 2128794, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977451, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xav7uEYXje46d5aLdhjrXnJQ4ragaJJjTb", + "votingAddress": "Xav7uEYXje46d5aLdhjrXnJQ4ragaJJjTb", + "payoutAddress": "XnoDiL7XPNXYkW8cmj9MwGm3gZ6uNHjgS7", + "pubKeyOperator": "0a5b0c62d8550ced8e2d876c6b123dc358a3de5eb5f4effb69afcc20c5f6015fca99054457e248972fe3662afb80ec9c" + } + }, + { + "type": "Regular", + "proTxHash": "58ab0246cb3019e7edbba696c5a254e2af1d9d88f6e996d12a8cda0c30fc869a", + "collateralHash": "528f26d36b9b8315b7e83adba1e029613a0e6bd1a488759078cde572f1403c46", + "collateralIndex": 1, + "collateralAddress": "XsTSDoXuVxGsWiQWQptqF8R2XzJ25GTzg8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.65.68:9999", + "registeredHeight": 1028643, + "lastPaidHeight": 2127071, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1190633, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfZSscz5R6vGH46eVyJ75YdYtayfdY3fxU", + "votingAddress": "XdWDo2JL65hvLvDbPx3yRYWp2hEH5Xufuj", + "payoutAddress": "XcBpJyKZGx347w3h1PbTACGNaw7yuZZ7Zn", + "pubKeyOperator": "980851dab0ec93f06bf3bab4c265da57624d22d2035f5f2aed317af367471b6b1adab594d4fd63c171d2d02e748c9930" + } + }, + { + "type": "Regular", + "proTxHash": "631a5e99e59bab2bf06e4ec9874b3c3ced59187dc724c689ffa0fe99f2d3f210", + "collateralHash": "e1b5e68a44fb2e5c702f7e62b6826b667ed6c016cd3aa82ea096e43fe673955b", + "collateralIndex": 1, + "collateralAddress": "XfmbA5sQuyA1nrmyzTd2zLt8AHBb2JY2y3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.213:9999", + "registeredHeight": 1028646, + "lastPaidHeight": 2126204, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1582831, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhrvPSw1pNRnYymGcMLUz55dMqktV5V8dj", + "votingAddress": "XhrvPSw1pNRnYymGcMLUz55dMqktV5V8dj", + "payoutAddress": "Xir7MaW1TBUxA7DufKA6VUF1FhCp5HLW2g", + "pubKeyOperator": "0db0e782170cd410e7968d78f31d5fdf92d7eebf3624b30e6f69f8a84907d68a1020081c4218a42e618a1bd85e768326" + } + }, + { + "type": "Regular", + "proTxHash": "c8d076cdc5c037136eabc0cb2d71691fcb70e9e4dbcdbe0fe64903b99bd04935", + "collateralHash": "1e05b49f2e516a5aa45de554bd6e880a09642ec5d3aa4251f790d50879b15b7c", + "collateralIndex": 1, + "collateralAddress": "XiDcmrdsNDqctAgDwuKNgBcKnKbJZ16HFm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.203.249:9999", + "registeredHeight": 1028649, + "lastPaidHeight": 2127972, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1886671, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkBZLWypr9X5TY5wP3ksPtdCNxdVUBax7E", + "votingAddress": "XkBZLWypr9X5TY5wP3ksPtdCNxdVUBax7E", + "payoutAddress": "XeVew1oNJYevGH8zuBbpHkia4QCZCdHvhr", + "pubKeyOperator": "8309e90bbd4ec2363f9990c42707e05d45a0faa5f8e80e0f854e5c81bf18ea1e0fe00133e2cdf430634c1596cbdc6ad9" + } + }, + { + "type": "Regular", + "proTxHash": "4f6a4d8c144bee691a82b7251c061301d6dc58a5ea12d4c26bf40229cc12a89c", + "collateralHash": "b1dd9a43dabcec6c8aadee2871d4a3b8d63cabb327bc252c2fb4ba8c64054eb3", + "collateralIndex": 0, + "collateralAddress": "Xz2Drw7Z3ipg64HLPsymXbmhaWc4fNzfWM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.94:9999", + "registeredHeight": 1028649, + "lastPaidHeight": 2127802, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976334, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp8VZQPtJkxHnYBmkt85NWwjKHLvWJKbx9", + "votingAddress": "Xp8VZQPtJkxHnYBmkt85NWwjKHLvWJKbx9", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "0a7f1103715af39799693715a29e4f66b1e9d91b84a5590af9e33c9717d6a1e7aafa3bbaf80f558345123901c5d7f6ef" + } + }, + { + "type": "Regular", + "proTxHash": "12ec28c86dccccbf7d5ffe2116a090eb5f238d487b76af684f1dafe8c1d04a85", + "collateralHash": "50da67acdf7c45957ffa2db984a78404506fdcc08850c46aef9b615801f71133", + "collateralIndex": 1, + "collateralAddress": "XmcTgQENPzrAYsecxxmNVj6X6Ty8WnB4ij", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.21:9999", + "registeredHeight": 1028650, + "lastPaidHeight": 2127115, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoKfF6C9Qbi899uCZehZcaWNJsKLpazRRm", + "votingAddress": "XoKfF6C9Qbi899uCZehZcaWNJsKLpazRRm", + "payoutAddress": "Xir7MaW1TBUxA7DufKA6VUF1FhCp5HLW2g", + "pubKeyOperator": "17e39d0d0d0ce95e48f8c2fb7cb7aa88e59062ba4c51d8c3b01d593cea0d22f4f5146d0c8ca9a31b9cb887d0539d35e0" + } + }, + { + "type": "Regular", + "proTxHash": "331bc8bd4e6dfe3de27c72df7271dc449e97bff6c0190fe9e30b3318cf426ce8", + "collateralHash": "5dd3535931bf0484f8373d31c919cab53066314b41dec16bfe07658ba4715816", + "collateralIndex": 1, + "collateralAddress": "XiK19BUfGVKdgoP5oW6eM1K3rC3fp7TPQC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.241.133:9999", + "registeredHeight": 1028650, + "lastPaidHeight": 2127118, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpeYTY61t8sC6LCsFdif4nnVRBbaLMCaZB", + "votingAddress": "XpeYTY61t8sC6LCsFdif4nnVRBbaLMCaZB", + "payoutAddress": "XtyhNx2mSARHN7TUFqNm48BoqD1FKTF8MB", + "pubKeyOperator": "89c4e707d2c2ed3f2796b8de0977c71871d485f2809401872267441b6cf8670da7210988cf14cbc66579e4cd44204e7c" + } + }, + { + "type": "Regular", + "proTxHash": "f494efe97df769ea9863700cc8cfe625d19519168a245dc0b72dc02b41c2de2d", + "collateralHash": "5263427ed8aca641ccbe98b7ae339ab7f625bf0fad86ca1ad9d87263f6e8d516", + "collateralIndex": 0, + "collateralAddress": "Xe9SDWf89zCsW4U9HkjNqUPGMmRgDCrJkq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.1:9999", + "registeredHeight": 1028651, + "lastPaidHeight": 2127578, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036577, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmhkxRgrUNGfDetdrbJ2LmTosLATjzbaLD", + "votingAddress": "XmhkxRgrUNGfDetdrbJ2LmTosLATjzbaLD", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "8159c2b4af66d035fa194b42fe48c33ae384606a22b217f74fbcb837caedeae27faacb1cbc049a1fcaf75bbbdb1e170a" + } + }, + { + "type": "Regular", + "proTxHash": "0911a5921394b1e8ab07cbbaeb5500ca25008c50cba4dfcde41e39c33c838d25", + "collateralHash": "3ee24b1e4d378757d55de023fa3956c3ecf4199b769d7f4f0c9dbc25ca6f2ebc", + "collateralIndex": 0, + "collateralAddress": "Xwm4hPHTg3tRRTgB6jB5RgDBRCTdqQNgKQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.8:9999", + "registeredHeight": 1028652, + "lastPaidHeight": 2125844, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1639048, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiL5xSJq8EPM4FdkWxCHXNXCLUHhyyJdTY", + "votingAddress": "XiL5xSJq8EPM4FdkWxCHXNXCLUHhyyJdTY", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "85abe7166acc5fa57890138913bed8c3fff0d98bd0c4d055dd83b1efa4edd13a056952f67386fbbf6793556785bf3727" + } + }, + { + "type": "Regular", + "proTxHash": "d1f965259f4d14fd34a8531b17c21eea7b4073e02b850a3d79945db62fc5baf9", + "collateralHash": "3a1bf746ab1b8b9f1349979ccaee7bb4e65238e155bf8554cd2039abb1b75905", + "collateralIndex": 1, + "collateralAddress": "XwJy96RwPo6WfM5B2BoGAgW9jq48U2wBBx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.33.254:9999", + "registeredHeight": 1028652, + "lastPaidHeight": 2127128, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1190834, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv99GNpGPKweyXCA8F8bme24WAtVBd5jkc", + "votingAddress": "XrDosiewXj9T8vP88MUNXHSGNB2LZ7oxy5", + "payoutAddress": "Xk4Vfi8i2dAi1QqutYD61vMegcLho8XUvq", + "pubKeyOperator": "131bf345f5b24b2a9894775cf4d9c636235d83178c7a4e747de30b31005fe240104a0ff953a4ab62fac1b87495146890" + } + }, + { + "type": "Regular", + "proTxHash": "4514ae3a73bc1b19a9ffcf601aa6dab7e639c4330ccb4ace02668d11d4f5c391", + "collateralHash": "707c079b23d61aae1168d57aeb4c48d030944fde31f7ee14139d4f262184278a", + "collateralIndex": 0, + "collateralAddress": "XpxnvEgCiVv6Ba2fsHLSGxqRnZzyTMKeHT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.238.79.28:9999", + "registeredHeight": 1028654, + "lastPaidHeight": 2128311, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2098578, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XysdX9XyGzAhd481uxqFi8V9G5fGCWNvyS", + "votingAddress": "XysdX9XyGzAhd481uxqFi8V9G5fGCWNvyS", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "8ce1b3bd04c1f83847be2360920943cf1bbac7d111f3bc38179b363f10fc5a5b604a452100519ea62598c741ab15253a" + } + }, + { + "type": "Regular", + "proTxHash": "4040458775dae2b9b210bc101783314bf1b9f1963093c128616a99d8967125bd", + "collateralHash": "a7c3fcf53ab9e74a942be3fc845e9d96844fbc6ad138398b6777dbcc8e11c78f", + "collateralIndex": 1, + "collateralAddress": "XyTaTMwriQnL1Fy9YnBcEeKrtbr7rfRAGm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.244.103.110:9999", + "registeredHeight": 1028657, + "lastPaidHeight": 2128571, + "consecutivePayments": 0, + "PoSePenalty": 1121, + "PoSeRevivedHeight": 2078484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcWBn2qFH2anosfg2vqyE4sVHvbJzgGpCR", + "votingAddress": "XcWBn2qFH2anosfg2vqyE4sVHvbJzgGpCR", + "payoutAddress": "XrckquhAFHPiq2xAhEcxc89Phn1phD59Mi", + "pubKeyOperator": "10f912e265e3865b0ca0e7a8514616f541d2526e493212d0e82218f2ec7abce09eeb0316d165cdf006dfb596b37380d9" + } + }, + { + "type": "Regular", + "proTxHash": "6b17d6e16977fe93f0fe11f2402253f62e4b29451c5696afe514a1999bc2cefb", + "collateralHash": "81803cde842e8646ad2a5548dae4d7cdf2a910de6e87782a14207ec2067469d2", + "collateralIndex": 1, + "collateralAddress": "XifQSYwYuzyxHLjXYBnxu8cuLibjbiHt4a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.61.192:9999", + "registeredHeight": 1028657, + "lastPaidHeight": 2127281, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1190963, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoL6TtiErhRQgseNvfjukU2AQ9BNrEYjoH", + "votingAddress": "Xt7XGDYbKho8Z3g3YEA7hxafhBsL733oVj", + "payoutAddress": "Xjqwpj7hq2AufiMj6HFrpaowff2TxWU3GN", + "pubKeyOperator": "129327f57de0d6a08ac4418087d355e106ef091a11d88ec88dd4f9b2acc1889e500713c739b4c2cfec0e1d1d9cc25375" + } + }, + { + "type": "Regular", + "proTxHash": "05991034adf969a27058d8cd2ece6f174cc1997cdb91ea1abb1ecaf6a701c369", + "collateralHash": "458a1ea37be82f73c531a42af3268eaac252a6a01ae7e3354441ccf6cb5dd235", + "collateralIndex": 0, + "collateralAddress": "XiVUmYddk7SCHwtQ5sJdKBeba2mh8Jnqfv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.70.107:9999", + "registeredHeight": 1028657, + "lastPaidHeight": 2127584, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036577, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbYaJJLbjJbgmB47obn89X6vWcRTTXmwYo", + "votingAddress": "XbYaJJLbjJbgmB47obn89X6vWcRTTXmwYo", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "8d56766dd40b24f0b4c9a19e18ff322057dbf25a9ed354fb8ae5853372bfad7086772ee6ae546239b33e7e8f78c8878c" + } + }, + { + "type": "Regular", + "proTxHash": "d7e5cc259a7b1a208dab29b99bd20cc3d6c5385b06084b586f804a062f9355a6", + "collateralHash": "568f657bd0f52b139c4410427a1c1c224126fc7c4dad90e504eb6c23c2d69f2a", + "collateralIndex": 1, + "collateralAddress": "XjRkf3tw3HM4ANFDph5ejasS6kQWBc2oTq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "173.199.119.21:9999", + "registeredHeight": 1028657, + "lastPaidHeight": 2127794, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1521605, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtHgp16hmrQ9oRjkDKyCZpcufuYBfD1i81", + "votingAddress": "XtHgp16hmrQ9oRjkDKyCZpcufuYBfD1i81", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "86de437a3adf49b886960eb95b230cb1ffe05e7f8331edc6c1def87b6cec95d1e65d9bc13945bcde644e796b7cb1178e" + } + }, + { + "type": "Regular", + "proTxHash": "d36f26a754b07c6d7c7f6abbe0ea740c9770bd7dfff9f25ef4e71764b999aef1", + "collateralHash": "debd91c2dce843a0471934e3b4390178645dfb12ab1ab94da2ad2af5dca64b8d", + "collateralIndex": 0, + "collateralAddress": "XjejLZqun61BM4apDgKki8J7cnc8xXte8e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.50:9999", + "registeredHeight": 1028657, + "lastPaidHeight": 2126322, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1263144, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwVDDKmixn5Jmedx2onRxaFcjqzbDNA1jG", + "votingAddress": "XwVDDKmixn5Jmedx2onRxaFcjqzbDNA1jG", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "096a12aa606b61b29b4bbc66ed3f05d5796dc61c5cd0963d9c70fed5d194c7f85cb0df0f06d5fcb629c7c88d951bec7d" + } + }, + { + "type": "Regular", + "proTxHash": "feb146a52985cbf69f0a46b3a56f5f505538440bd42e993a0685a11fac1fdda5", + "collateralHash": "d38aca1449954d9908054c02ddc198d13c545d7f043ca82bb98917a03659041f", + "collateralIndex": 0, + "collateralAddress": "Xy4KfnXQkyRVrXc1fbpmajRHC83WgagKTd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.10:9999", + "registeredHeight": 1028658, + "lastPaidHeight": 2126983, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761180, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk8cuXGxhtuov84CPe4uwJrcCJyVVDrFSy", + "votingAddress": "Xk8cuXGxhtuov84CPe4uwJrcCJyVVDrFSy", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "0ddb912c6e449e1b7dc4c0e4277dbe3a5ead08026d08c408bd359065c190840ff1fa69b08de02d3d121d8f4baf5cbabf" + } + }, + { + "type": "Regular", + "proTxHash": "3e7e6faef727c5f7ac9d944d75ad8d0327498964da6ae562d1cee9e2d3854a2f", + "collateralHash": "fc9611eea8cd4b7ddac078eac039e7529fd0469b2bbfb5ebf8d1e036f1763a67", + "collateralIndex": 0, + "collateralAddress": "XnWdSqGCgv5H2equdz1wfKjgEcqv7UUAiJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.12:9999", + "registeredHeight": 1028658, + "lastPaidHeight": 2127581, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036577, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XicR796mvcZmwtPDstYh2d66dWE1pzYmWo", + "votingAddress": "XicR796mvcZmwtPDstYh2d66dWE1pzYmWo", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "87b5b9fbc61c9d07c70b7acd57d8d6419e29b8fe3a587313697002f8ca5d14f3d5f8abe8ccb4fbee585795a9cdde0f0f" + } + }, + { + "type": "Regular", + "proTxHash": "c9e90509b2267157f68da3f2071e678931f1e2494ffda4a412d3db2bdaa3139e", + "collateralHash": "c8ee605f73580ec873b643f896b8a3393f58ed0f3c7e55007ee2a299e8452312", + "collateralIndex": 1, + "collateralAddress": "XuU6seBgCqLrP1T1R27yCDn5dBW6cEAEWy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.33.3:9999", + "registeredHeight": 1028658, + "lastPaidHeight": 2127289, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1190968, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn6jMhTjv4eshbyJ5KJkAehoELdW7oUtXu", + "votingAddress": "XtsJ81JoRUHPVAJPuZsDW1jGmfUqNt6Lu9", + "payoutAddress": "Xcx3EtDwjnirJDgojwM6zXjNzPFWt9ckQF", + "pubKeyOperator": "890f64239dec329b2d251bd4172cb6b751c5b32e90dd1e032a3130d78197559937d7491a32d28e0732c1b1c70887c9b3" + } + }, + { + "type": "Regular", + "proTxHash": "86c39ca07a3c5221300cfe88746de75b37340fc425f88f9ca74b95aec03b5b23", + "collateralHash": "2eb5cbb9e84b5bc53f5ab3f0e65b14585302015e3cd11bb94546b54783c2ee62", + "collateralIndex": 0, + "collateralAddress": "XdwSYqVzdPQhKfqmKaVgoRRX28sJv9kzJ9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.44:9999", + "registeredHeight": 1028659, + "lastPaidHeight": 2127588, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036578, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpaMZx93Ebi9Wy6iQG63VbTuRGsnF8zDbB", + "votingAddress": "XpaMZx93Ebi9Wy6iQG63VbTuRGsnF8zDbB", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "06c9f110042ef9981090b08578c2a472ba32cc69b4b73c3ec54c7f095be4919f2c11d5250cd003aa910e2d2429d8c83f" + } + }, + { + "type": "Regular", + "proTxHash": "f35428f9f6fabb7cc4c18a2261a29bbfdb8202d9e910925b64e255228458ee5c", + "collateralHash": "69306b0124b427b1b974627c0493ac3e79b3e23d977ad323899e496b76ca96e6", + "collateralIndex": 1, + "collateralAddress": "Xfd4z7p8z4UNUrBh16Xdo3wqZfttf81WoG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.146.189:9999", + "registeredHeight": 1028659, + "lastPaidHeight": 2127291, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1190970, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo7bqCJGWiQ6U4na2Pdq6iWBXLgCU5root", + "votingAddress": "XeCWR3uoxcrQAZFpH9AZQFH1MqAp5Z8WD8", + "payoutAddress": "XoCiVu5wFioKEsKMQbFZx5M86CvHxhxNhj", + "pubKeyOperator": "959dc707ea3fc22028a74953ec5d7fa3e4c6b038155af23ed8100b6a9f0a46899c58765db66a2f869202dc446e33da40" + } + }, + { + "type": "Regular", + "proTxHash": "076a86b320712712e6e236605126bf90f5b3e1ca6378dda07b0389716e31f19e", + "collateralHash": "73be48a77d80f8cf1ac51357ac013f54d1067b65a5270602148443462eee43f3", + "collateralIndex": 0, + "collateralAddress": "Xb4WaUjapzLv455pZbdZEgTjriquDjHm5m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.81.69:9999", + "registeredHeight": 1028660, + "lastPaidHeight": 2127959, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2000286, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyPNsBG7Wv54QYkRpw7HtwrErTw7swBBk6", + "votingAddress": "XyPNsBG7Wv54QYkRpw7HtwrErTw7swBBk6", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "8794b2e818d32974e727fd4b766a52a22468792fae65d4d37b78de0b986469d2b3ff80d5200ac3ae50ca6b8f13af12a5" + } + }, + { + "type": "Regular", + "proTxHash": "c92b9732ccfd2bfdf2520495260b504296e4986f2500ba0d11e527f099c9db84", + "collateralHash": "fb729db1e7446b191577be54570542d3956ded4f84d099405923b41b44276da3", + "collateralIndex": 0, + "collateralAddress": "XxWUakv2mpYpNUteKaYRyJAnv4QrAmRFSS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.107.22:9999", + "registeredHeight": 1028663, + "lastPaidHeight": 2127591, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036580, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdqBBuHt2kWBx4hvwbqQBFd3CsYMcwCrrv", + "votingAddress": "XdqBBuHt2kWBx4hvwbqQBFd3CsYMcwCrrv", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "92444a5a3bc28642379d0e50f8846b21cbdbb5808449d202fa328306719fe4a6491ba0185922bac193efed595c341a58" + } + }, + { + "type": "Regular", + "proTxHash": "db4967d8b5ac5ec29e52069b77f6bbd778e7cb41482e5f3e4b656d9c3431b4aa", + "collateralHash": "a966825826e06a7a8f471e865a723a43a2a4191abe79845f290ad22808a65455", + "collateralIndex": 0, + "collateralAddress": "Xy9ADMpbNhFTw7c9o1tpwsH5TRVEGEWrpG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.105:9999", + "registeredHeight": 1028663, + "lastPaidHeight": 2127596, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036583, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsRyLzUQseHEE9WFMq2WXAcXqAjXHs1Z1t", + "votingAddress": "XsRyLzUQseHEE9WFMq2WXAcXqAjXHs1Z1t", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "813e8bd1efa30fecd9614245169cc8b5f55592b8840448463d568277923dcb2922909e3eaf96e4bfb38fbd7cb0510c50" + } + }, + { + "type": "Regular", + "proTxHash": "f47c15055374ba362aec9a0b46352f316eb32858b7a1fee64bde11542706da46", + "collateralHash": "e7828bcadf55edacb0a14d6a102b37fa5d32a2ea788d3a72526133f8879883ad", + "collateralIndex": 0, + "collateralAddress": "XfmjCn9hfrqsVmgsP6EiF8CJ4cuasRqApu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.237.147:9999", + "registeredHeight": 1028664, + "lastPaidHeight": 2127593, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036583, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmemuCP2GwzKTVMHC66N8gVbNnsS9KUysJ", + "votingAddress": "XmemuCP2GwzKTVMHC66N8gVbNnsS9KUysJ", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "18e1b4bd8c05893191217db3ee5fff732ca9545d7c2ef4d21b9bdc5d9b19a63b4452cc5b3424daafce0d30aea3d2dfb2" + } + }, + { + "type": "Regular", + "proTxHash": "8f8dc8da08b5771fea3705cafe0f1aeed759bf896aec7ad281801bcc876299f9", + "collateralHash": "31a0b534e81d6b2bb62ed3410244a78a00ea921113766b4b46a24641891bf9ac", + "collateralIndex": 1, + "collateralAddress": "XrTzSNN7yoK7ASf2BKqZphKKiaS5iGHwzF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.92.220.178:9999", + "registeredHeight": 1028665, + "lastPaidHeight": 2125808, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988090, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbvdxPw7CkD2oDtoP49xcRmix6yE6rp8gP", + "votingAddress": "XbvdxPw7CkD2oDtoP49xcRmix6yE6rp8gP", + "payoutAddress": "XrTzSNN7yoK7ASf2BKqZphKKiaS5iGHwzF", + "pubKeyOperator": "952312664fe7cce377da1ff950b3b5d1b93bc0660f65aac43e96b46fb39dc449abf9cf882d3597a1c7b8cd5a126943d2" + } + }, + { + "type": "Regular", + "proTxHash": "7727d3c436ef68d4cc80693aae1f1abe5e72260154c4f0ecc6d64c9be22da982", + "collateralHash": "85d272ea535add5946da1942e2a59e7703c615bd6947ec6fc63395806dff82b0", + "collateralIndex": 0, + "collateralAddress": "XjyLVJtJzzA8uBP4XwR8qD8ifsTKuubXxx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.217:9999", + "registeredHeight": 1028665, + "lastPaidHeight": 2127594, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036583, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XddzjYabv41hvE2PMH8YYFEJM1bU2sZASg", + "votingAddress": "XddzjYabv41hvE2PMH8YYFEJM1bU2sZASg", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "150386fac7dc6da722d54f788f86ed39dd9a1b63a5b66eeecd9fe9edbbacbea2ffc1e7e324f8dc4b6a35dc74d9b2a46b" + } + }, + { + "type": "Regular", + "proTxHash": "23fe42795cfc81bff7e03a23e848a55e458060731f2a04de8cdcaf238051a46f", + "collateralHash": "6227f3ee69b5c070b982a8908b88340c4fc378dfc7d3b93349410e3b956a3782", + "collateralIndex": 0, + "collateralAddress": "Xn675sBk84DsuVTSVmeZAReD6YKbXtL1PQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.96.159:9999", + "registeredHeight": 1028665, + "lastPaidHeight": 2127597, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036584, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmtcncMdj9at9Zd9UBvDBkSaTqSr2XMbe5", + "votingAddress": "XmtcncMdj9at9Zd9UBvDBkSaTqSr2XMbe5", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "0e69ce091ce490c59b8ae7433e5619c547aeeb1b0f7cbb9741538997e561bc09f5071ffcc5e6815bb57ba0be5ab38290" + } + }, + { + "type": "Regular", + "proTxHash": "3a7fd50b99bed6fb8940a7ff1a8882573bec8fa914b4cf0b5ef0b8b59868d4c6", + "collateralHash": "48172354ec5ebe05d31bdec6ed0ea65016301c2cc7bad673736177f3223c54f8", + "collateralIndex": 0, + "collateralAddress": "Xt5j2c1VQt9S3BHn6LCo7yBM3hvmLYqF7R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.236.201:9999", + "registeredHeight": 1028665, + "lastPaidHeight": 2128806, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977462, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjEEFM7whheamo7T6WysZMJwryuZDA6s6L", + "votingAddress": "XjEEFM7whheamo7T6WysZMJwryuZDA6s6L", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "0d8c32551c50fbdbfbb6df3f3ccdacba9f1e028fd994588ea4add23f2704a9d8cceb34bf7f29ada21ec59a489aeabfd8" + } + }, + { + "type": "Regular", + "proTxHash": "876857c306ee9cec49ea0be03c6d2583401f56d88f6f1205f7cdf2cdaf29d5da", + "collateralHash": "8be4428ee0e5d05d0f5927db500d0bd237b99d82d086c576a514713b9115d080", + "collateralIndex": 0, + "collateralAddress": "XvLTFa1NF8KhGU567vd4EkXz7NsjggLEKY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.15:9999", + "registeredHeight": 1028669, + "lastPaidHeight": 2127598, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036584, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrodHYeesYLwjy2t18zffwaPpS1dipQujf", + "votingAddress": "XrodHYeesYLwjy2t18zffwaPpS1dipQujf", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "939ac458195e7f4245f4dc6d2185f32d39aff42875d36b0fa51e97d03fb3b92d2001df4fb21a55303c9c92ea13505769" + } + }, + { + "type": "Regular", + "proTxHash": "bd1137def6ade1571ff28f64ef2a8cb8157b15c1b7abbdf5f5230bad3101d248", + "collateralHash": "748b7bf41ef477b03e9370dca4749e12698da90ad0c18c4640a03961090aade6", + "collateralIndex": 0, + "collateralAddress": "XipQb1NTPjXAABEJYs4U28UNn4QpCGoN86", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.83:9999", + "registeredHeight": 1028669, + "lastPaidHeight": 2126723, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1623024, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xtyn9umjh4dHK3vUaKA8a1sERrn26spCFi", + "votingAddress": "Xtyn9umjh4dHK3vUaKA8a1sERrn26spCFi", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "83190a1c61a9fae05e75baefd649eeb2497c1beaae5df34a34cfa683093f828a1b63471b56b9204f97bc070333927de1" + } + }, + { + "type": "Regular", + "proTxHash": "3c631592a49fc9193b1d3a5aec6ca0e1e0752e09991e21f12ded4a817b038017", + "collateralHash": "63dd8956f865c049f8af07fdfb92d20841abe18aab49ef690153f39239da6987", + "collateralIndex": 0, + "collateralAddress": "XbyNb4TKVVrdKGrb28W873wNZqmrW6uUft", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.90:9999", + "registeredHeight": 1028669, + "lastPaidHeight": 2126946, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1213641, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeaQ62h3RuCR5qVMcKFzFns9ornTnqEYqS", + "votingAddress": "XeaQ62h3RuCR5qVMcKFzFns9ornTnqEYqS", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "0cd65d60de99950802c094fc694688d18cb47d41c4ca22e4426467b1325a08cdabab9e4d1b63372608466ff42faed6a9" + } + }, + { + "type": "Regular", + "proTxHash": "0e98fdf7488a6929b2b45640973453d74698d943eb1cf1b5664fe05111b73c00", + "collateralHash": "3ac7caeba66c4efee034abaceab0fdf8c16ea34af2c0701de7245bd9b67577ac", + "collateralIndex": 0, + "collateralAddress": "XgZsjoabNhXdL27eEab4fvBVhg3jgx1YZY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.233:9999", + "registeredHeight": 1028671, + "lastPaidHeight": 2127600, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036586, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxcVyFQPiMbzraTGLj6QXQUpRu5DGHnq3s", + "votingAddress": "XxcVyFQPiMbzraTGLj6QXQUpRu5DGHnq3s", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "10a06fdd00f1d15e7399e77aeb9baf5a1a37ec8da37bfb104fef4a95523a78052b29994b08c34e5f61b1264bb9f73c75" + } + }, + { + "type": "Regular", + "proTxHash": "e752169d4531641579b4c87c8bb36ed4cd2c26f395e5a7e655e64c47c1b47de7", + "collateralHash": "55a825cf6da4956252026fe0fa0831c28e07ea99c69d748ab654ee1425989a76", + "collateralIndex": 1, + "collateralAddress": "XuoSEppC4QrhTbFRWYfpLvJUeU62BN7Vv6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.252:9999", + "registeredHeight": 1028671, + "lastPaidHeight": 2127377, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcbFt4dvqzatXPDHRCA22529WPZye62gT1", + "votingAddress": "XcbFt4dvqzatXPDHRCA22529WPZye62gT1", + "payoutAddress": "XyXxaw5ZVzCYVaZMJknHkTSuXVGB5xDogE", + "pubKeyOperator": "002795bdb9c708229f4b3fdffdc0a079a101e7dba7f0b4c5a57f91081ce1e9978008b47c63129502f4ed06046501d11a" + } + }, + { + "type": "Regular", + "proTxHash": "6a7d56379f83f6889ab0ac026117c555c91d574afd541370bfa1e7e7326df4d7", + "collateralHash": "ac8a7a7040afc40bbd7c34a7b6bba986875157221ec69a2e992ea52c070cbc7e", + "collateralIndex": 0, + "collateralAddress": "XgxcxcmoZwEurogJBZbGQmDCgxShvpVko6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.4:9999", + "registeredHeight": 1028674, + "lastPaidHeight": 2127603, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1036586, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg5ZxJUGjNeK2ePCq49xjnvwYTHm6cWcnC", + "votingAddress": "Xg5ZxJUGjNeK2ePCq49xjnvwYTHm6cWcnC", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "05003fe4d02540a14cd269085adff09cb4797e538f0461faad8b19c79b0e96b5d5ceea02f303a9c736112a2b04a779c9" + } + }, + { + "type": "Regular", + "proTxHash": "3c71ec67e9d091afc17494760ee19e6a1ae5f96fe40f6388104f88d51b543a02", + "collateralHash": "2bdb7007546f21ca3d1e84262f0954f66e6d842630ad5a9371fb0b7c6b04d0a8", + "collateralIndex": 1, + "collateralAddress": "XhhBfJ5JrXhuVDdA66TnCqZQrBygr2ZnXQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.211:9999", + "registeredHeight": 1028678, + "lastPaidHeight": 2127404, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkriM81o7uX1LNZxRHiAtpa8Ecv8KBiFWL", + "votingAddress": "XkriM81o7uX1LNZxRHiAtpa8Ecv8KBiFWL", + "payoutAddress": "XyXxaw5ZVzCYVaZMJknHkTSuXVGB5xDogE", + "pubKeyOperator": "17ac04dcbe4572333decb848d4dcea1c2e5edf24a1e774aa1c1c6f31dbc3261883ad27cacd2efdd2ab91b24a77390b3f" + } + }, + { + "type": "Regular", + "proTxHash": "7fa4f46adc5ac94b565bb13546bc2de630dd25524ac2dce26d4f5ae0b6459a11", + "collateralHash": "de8403d6198c85ac8d0132a6890beb4b3761f963e5a0a58256ba33c651584851", + "collateralIndex": 1, + "collateralAddress": "XgJknwchXRVdtRj9ukn3rAtt9fXEKjGEZe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.207.130.246:9999", + "registeredHeight": 1028679, + "lastPaidHeight": 2117203, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127392, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvpuDyvmEjKDWW6UjY2hXsjAxXYbDzcxek", + "votingAddress": "XvpuDyvmEjKDWW6UjY2hXsjAxXYbDzcxek", + "payoutAddress": "XgJknwchXRVdtRj9ukn3rAtt9fXEKjGEZe", + "pubKeyOperator": "11b70a4e4c15676a026dd333c75a3e2b19daff4dfb8744cef911450b55d1886c4ca116c65203662476916e6233ddf239" + } + }, + { + "type": "Regular", + "proTxHash": "95e54f309763c35a7018d065df9ed1ff3c75635295b257def88ccecdf3259cfc", + "collateralHash": "decb5e2642e2b5f756ed0169e2fc29a6a29f595a30e301024e7b8b9fd700a371", + "collateralIndex": 1, + "collateralAddress": "XuzT5BLBMbwUqrRhAMaiDbzFcnxiCqpcWL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.222:9999", + "registeredHeight": 1028680, + "lastPaidHeight": 2127418, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XheRu9f4VTxmfZrgdhp5jEGUMuYmaimWvJ", + "votingAddress": "XheRu9f4VTxmfZrgdhp5jEGUMuYmaimWvJ", + "payoutAddress": "XyXxaw5ZVzCYVaZMJknHkTSuXVGB5xDogE", + "pubKeyOperator": "999cf5f91e03b7475470463f4b803a71654dd31c9c59bc6ad4a06b9414e03c87020ab3f76007bab5e9ce9755e1d6708e" + } + }, + { + "type": "Regular", + "proTxHash": "49d1a3e0cce16f7c0122a907b9a373a19b59dd3ace78ab4babe190aeecce4aa8", + "collateralHash": "793fa499f566ea926296c722d42bdde3b35ac9bbfe2bd10e9fd3b9b9c410ef9d", + "collateralIndex": 0, + "collateralAddress": "XsRTxXZhyhHimmk3DXmYzUWbBwu7FJuuvk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.5.55.80:9999", + "registeredHeight": 1028684, + "lastPaidHeight": 2128324, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976889, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnawK411jkeYcb7cyoxhLjMFS2z9pfywN1", + "votingAddress": "XnawK411jkeYcb7cyoxhLjMFS2z9pfywN1", + "payoutAddress": "XrvUAnQBJTApGKGEtYHAe88P8RUvvCqm3q", + "pubKeyOperator": "8fbe9701924454912de9372e576c8ac8766c99cf1189909e84fa532c1b01372f9198c1dbfd37d7febfbf73d320d11991" + } + }, + { + "type": "Regular", + "proTxHash": "f7af2fce06d447deb480a9aad2289c7e7fb4906260ea38d2480ef6902842e674", + "collateralHash": "567574eda8d3b69b0dff62838a9a08be7acc031b5be446b41acb5fafdedba2f7", + "collateralIndex": 0, + "collateralAddress": "Xuy4RkX29KUs9K2DPydQfrWrzjgyxdkqe2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.167.102:9999", + "registeredHeight": 1028690, + "lastPaidHeight": 2125832, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127399, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmZEvLN85A6FYQUrmHP7dcZUVhxyxgkZVV", + "votingAddress": "XmZEvLN85A6FYQUrmHP7dcZUVhxyxgkZVV", + "payoutAddress": "Xuy4RkX29KUs9K2DPydQfrWrzjgyxdkqe2", + "pubKeyOperator": "8a9b6271675391e46e2bbfd963590e5f5a88929d586256a3608385a423cd3005d370ba8835eba8fa4df101824de3f670" + } + }, + { + "type": "Regular", + "proTxHash": "610319ffb4da94ed1945d8622ddfa07d2fbd6600b26233c448d0e80fc7c8e5eb", + "collateralHash": "d02a1cc191237cf77b98549bffd5ba289db3d52d16ae1c93503baa5f8f40a697", + "collateralIndex": 0, + "collateralAddress": "Xk23jpkSFNQY7de1Gcmt6PNszBAeCJWUa2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.176.232.112:9999", + "registeredHeight": 1028694, + "lastPaidHeight": 2127592, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwCxk8LkaBjf6v4LwaKHL473c6WEUZWaR1", + "votingAddress": "XwCxk8LkaBjf6v4LwaKHL473c6WEUZWaR1", + "payoutAddress": "XuEySymCu8fMMqsXSwDZad2A7P7xsopnUy", + "pubKeyOperator": "8f03a4bd3c33f232efb54886f48b914a050261dde23f47c2a1fc22d86a662d612db1d26a3eb0492cdead3dd98240217f" + } + }, + { + "type": "Regular", + "proTxHash": "a9d5a2d5b79dbf0e0ff2c9a59064f48812c1ff307568e5d626bd7e4c33fbee1f", + "collateralHash": "1b46bad56906c9a61aa5e0cab1ea8b412b2634fb1a7f51eddd359511ae08cc76", + "collateralIndex": 0, + "collateralAddress": "XpwHv9m9oCk2r9m5fRven4r3b8YcGPhhSh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.176.236.252:9999", + "registeredHeight": 1028697, + "lastPaidHeight": 2127604, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk5TNW4MzyrRubC932pXkTi8d2ydZUsBkV", + "votingAddress": "Xk5TNW4MzyrRubC932pXkTi8d2ydZUsBkV", + "payoutAddress": "Xvz5tRfK5Z1s5bjDdq6y1NJMsFkfrGfdXg", + "pubKeyOperator": "93323d3eec97b3b02577f9406739a3636486977426cebcbfcb8253eb90876b731f8e767ea4fe40807167fd61a280d797" + } + }, + { + "type": "Regular", + "proTxHash": "a3fb3038d99c35fb20c0314abf9bf1657811f8f7ade49044a3d16b4a547d33a4", + "collateralHash": "f1edfefdd494553390d71b8f32adcea0f922eaebafbfd91e333e73cf638c7b30", + "collateralIndex": 0, + "collateralAddress": "Xmw2zrsaEKr4LbnAcv1G4dK78F1LXdFeFU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.104.9:9999", + "registeredHeight": 1028697, + "lastPaidHeight": 2127614, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaoxqgGLT7bWuubPLShNaLP5bK7r9jAvvB", + "votingAddress": "XaoxqgGLT7bWuubPLShNaLP5bK7r9jAvvB", + "payoutAddress": "Xm2LmEuPZAzBg2mSpekqdfC3GQ45Aj3rcV", + "pubKeyOperator": "17e26dc2f3aa80354cf191333030900af4e4a339f32a59cc79a5ecc0e3b15d3f9cb2fa8a6203c8417d95edea56211b03" + } + }, + { + "type": "Regular", + "proTxHash": "4b6c0f2e9a1c1c7d04d7866f2a089086ff5467a5991400d61e76222a7479b18a", + "collateralHash": "23b3af4b30c8943fbad355448e6ea1b24fbd1b3c3922e25debc8f354e97d6f04", + "collateralIndex": 0, + "collateralAddress": "XfLdHtJPAQXa9nWdqM65qYHi1V9n2uREPW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.220:9999", + "registeredHeight": 1028697, + "lastPaidHeight": 2127612, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XupHKkHkRmaz2sSjf8VqLydzpWQeksGcxp", + "votingAddress": "XupHKkHkRmaz2sSjf8VqLydzpWQeksGcxp", + "payoutAddress": "XbpqkLFWuNGakGLZFVkmeRfCwu6gpC7oip", + "pubKeyOperator": "09addc90a12fee075945d41aa170167577d5812c1224189462d74988f4f2df2b10619912067a0d476c776f531cffb9f2" + } + }, + { + "type": "Regular", + "proTxHash": "1a72e7631b3bd11433bdb625306d00f946f6cbbfa633f98e7f8ae074dbce109c", + "collateralHash": "5b085c9a2eee6e7ff98d42d90e6e98274ac405724dffab51f80fb9ee02ad007a", + "collateralIndex": 1, + "collateralAddress": "Xs9TFoq8R1tEVMod6kmmSr9XUKUpu4Pewo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.176.125:9999", + "registeredHeight": 1028698, + "lastPaidHeight": 2128367, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115899, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcK5ZoQquUEujq1Rg4KbNQxmq9QQcTmTkR", + "votingAddress": "XcK5ZoQquUEujq1Rg4KbNQxmq9QQcTmTkR", + "payoutAddress": "Xs9TFoq8R1tEVMod6kmmSr9XUKUpu4Pewo", + "pubKeyOperator": "86230e89575b73f17b2459324fe3eb802e2c03a354f9c050295facc1f64337226ea30ef992fa6830a3b7c17ef8ceda6b" + } + }, + { + "type": "Regular", + "proTxHash": "bc54e4943e7c80834f255f935a5da86cb6c902c0abcdd36ff1afaaaa3b16877f", + "collateralHash": "74352126d813d9bedb2c0646fe9a34b3e0dc2592ef333c1a168b3343d57f821e", + "collateralIndex": 0, + "collateralAddress": "XucdwxUCMhFpTanrRafEgYr5iDoC8pYwmt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.69.54.109:9999", + "registeredHeight": 1028699, + "lastPaidHeight": 2127620, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvL8H7XavJC4QnfAZPfWyrQgjWvLqH6T3A", + "votingAddress": "XvL8H7XavJC4QnfAZPfWyrQgjWvLqH6T3A", + "payoutAddress": "XbrHswbTMChwrDCCLeXzD25feHGrheQwwz", + "pubKeyOperator": "0980de89ca42fd8ed2ed784f5b3c9adc49d530b160c7f0281494b4559a62d91a54c592d4c81dff76cbde16f4b969a1bf" + } + }, + { + "type": "Regular", + "proTxHash": "06b12fb8f43cedc7567a42bd33b7da061234cd5127fd7e0bb8b4b0b3c03841a8", + "collateralHash": "7f7ac43d11e11e1dcd99ebd93970b641fcaf2dfb225db4e436a16ddd3111945e", + "collateralIndex": 1, + "collateralAddress": "XtCAP428shWAUN7umZ7KcZasVyfRb9kbiD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.250:9999", + "registeredHeight": 1028699, + "lastPaidHeight": 2127627, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvKkRG7SD2Bw5K7eEEHgZ2Zdn3KQvAdhFo", + "votingAddress": "XvKkRG7SD2Bw5K7eEEHgZ2Zdn3KQvAdhFo", + "payoutAddress": "XyXxaw5ZVzCYVaZMJknHkTSuXVGB5xDogE", + "pubKeyOperator": "81fcdf5adfb8f48190226e707fa1bbcb3350c597026c339203ce1d3d29cc1b1e134a1e7e1adfb59fe84a82c8f918f553" + } + }, + { + "type": "Regular", + "proTxHash": "e9872f0282fad1f00d60a5bc2c3d63f48082a08b4856b667406558923f0705a9", + "collateralHash": "4668694b769e6c7a2d95b29d06fa07b9a04298c9fffa46435d2988a714f273bf", + "collateralIndex": 1, + "collateralAddress": "XeGn8AkaN1tjmEScnVkxMWBSyoBFGMsVeF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.24:9999", + "registeredHeight": 1028700, + "lastPaidHeight": 2126402, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1533204, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfhLmDe6dGbqhfQnKfBBh2UMWxoSJ9SrGh", + "votingAddress": "XfhLmDe6dGbqhfQnKfBBh2UMWxoSJ9SrGh", + "payoutAddress": "Xu9TUAxfcxVJqH3Fsea6CDHoh6twgb94Me", + "pubKeyOperator": "07319ec88d7bab2df77fe2b7c30944161316423e4c4f3d07504351308cc0103dba47fdbad6e50ef4057b9b12137a3bd2" + } + }, + { + "type": "Regular", + "proTxHash": "ab34565beb2403f75886a0ebab118e8265e78790f288c28727826e2a950e8ff6", + "collateralHash": "29bf63c68c2714e9898bb7f82c2f3444c282f520f4b80b629eab632bf9d3d610", + "collateralIndex": 1, + "collateralAddress": "XahRUR7MXf2awYtNvTccNRUoqmEPCrh79i", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.207.130.255:9999", + "registeredHeight": 1028701, + "lastPaidHeight": 2125846, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988152, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xaxchj9ApXcQP7YTzy6Yjx59xZVxvBpVHr", + "votingAddress": "Xaxchj9ApXcQP7YTzy6Yjx59xZVxvBpVHr", + "payoutAddress": "XahRUR7MXf2awYtNvTccNRUoqmEPCrh79i", + "pubKeyOperator": "06935396bc1e4a84ef5dfc56fc0f27bebb5d784d2b7eabdd6ed1ffa9965221e01f8f25571525fd4f6a8e339819e784df" + } + }, + { + "type": "Regular", + "proTxHash": "ab03441377cabda2a7ae9c81fc3ca5f09254f79c932b661bb2cf3721abdce1e9", + "collateralHash": "fffa00722be2eace316cc56797be93e285435ea369fe146024bd727e27dfbcd8", + "collateralIndex": 1, + "collateralAddress": "XuiuHT7GVaMeQ3hdWkDPYhVLnHe7jmxsMv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.196:9999", + "registeredHeight": 1028702, + "lastPaidHeight": 2127733, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp8SQ5iCNc8dV5b7FMLvfM6cduew4UzLoC", + "votingAddress": "Xp8SQ5iCNc8dV5b7FMLvfM6cduew4UzLoC", + "payoutAddress": "Xu9TUAxfcxVJqH3Fsea6CDHoh6twgb94Me", + "pubKeyOperator": "995e4d5677bf72a9728dbf0b586c39bbd6ba9fe6f1a8c4eb5c8f4abbf64c57f7b73ed76b4d859a5cc9a2e91d2261b952" + } + }, + { + "type": "Regular", + "proTxHash": "78deb99d08ba1e3120a235746f5497720c8b605342df8b7464f6ff26ac188bf5", + "collateralHash": "ffb23482c91c0bd2716c9c2aa9b6e147dd4739c6ef78c1da9dc8f7bc5de7dc0c", + "collateralIndex": 1, + "collateralAddress": "XsG6puM6dw5HV3AFHKX2PctV3ZDZGsYUAL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.34:9999", + "registeredHeight": 1028710, + "lastPaidHeight": 2127780, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsCYDvq9azvtTj51pXUctVmG6pP9Rs1FsR", + "votingAddress": "XsCYDvq9azvtTj51pXUctVmG6pP9Rs1FsR", + "payoutAddress": "Xu9TUAxfcxVJqH3Fsea6CDHoh6twgb94Me", + "pubKeyOperator": "96893ff9f7be91a90f8d5f2b87db814fbbca16bafdf0e47eb86637ab87265fbe181ade0dde7c5c9462ec3d248446bcf1" + } + }, + { + "type": "Regular", + "proTxHash": "5494e1866985d55136309f987ca5e7fe39e1f837e3c1d539aa0669e2f5038167", + "collateralHash": "36abcbc48ebe509d6fbf311965a76246b7f5b4cc5c5c34a683eb313fa8487ec3", + "collateralIndex": 1, + "collateralAddress": "XhMCFbnwPD9xBpBr2s3gMWWCXfHxei6JzW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "108.61.171.85:9999", + "registeredHeight": 1028713, + "lastPaidHeight": 2125863, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988163, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkAUQ8hhaseVhwh3edPgvJW3FsYK8v7emu", + "votingAddress": "XkAUQ8hhaseVhwh3edPgvJW3FsYK8v7emu", + "payoutAddress": "XhMCFbnwPD9xBpBr2s3gMWWCXfHxei6JzW", + "pubKeyOperator": "0e46393d91ace04c99e110e49155d8edec31f731ba5897a48190023262a452d55ebdee43972e458cc622eebc14255a99" + } + }, + { + "type": "Regular", + "proTxHash": "10a9953f64e22fe4f94b56abe61fe7ea815da71e1029984248ab48f219be3b13", + "collateralHash": "3f39396585e102a6db8324cabeeb856c0c5290d0f7eb82d168f83e9ac4bd3b02", + "collateralIndex": 1, + "collateralAddress": "XpgYb36ekQPXGN4epQVmXCaCHRbdXrqXJb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.159.13:9999", + "registeredHeight": 1028717, + "lastPaidHeight": 2125874, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988181, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfVXahh5U89LuM14bEeZdHsg5XTAudwn46", + "votingAddress": "XfVXahh5U89LuM14bEeZdHsg5XTAudwn46", + "payoutAddress": "XpgYb36ekQPXGN4epQVmXCaCHRbdXrqXJb", + "pubKeyOperator": "8e10923c85e4251604b077a05f28e3f18c576a81010425245f77268b3e10e38502cf46efb75be368670539666938be6c" + } + }, + { + "type": "Regular", + "proTxHash": "76b9f786eaba46f2a8dcac22f4cef32a17276c375b823225ac28ba5435433bf2", + "collateralHash": "7a0d197d6931ee4b307f70c3938db9b10adc2c6885acb5e571f8d20f957982bf", + "collateralIndex": 1, + "collateralAddress": "XshbaHzZVsfWijMpXXf6qtyVY8efE21aG9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.176.179:9999", + "registeredHeight": 1028725, + "lastPaidHeight": 2125886, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988193, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnME6kHsKCUQoNHBtvCDJoXuL2ipLdGi5S", + "votingAddress": "XnME6kHsKCUQoNHBtvCDJoXuL2ipLdGi5S", + "payoutAddress": "XshbaHzZVsfWijMpXXf6qtyVY8efE21aG9", + "pubKeyOperator": "0f95b011360bb2109c7ff95eaec8ac8cf3f703c3cb74d5f28d738ea5e4b417063a252825e0749027ea387be76e880be0" + } + }, + { + "type": "Regular", + "proTxHash": "3a6b4022ee414931b09d651a3d76c21665dc8e5fff839adc753b286c03d2c38f", + "collateralHash": "fba952c7b9303330e13f1fb8427135a4cff1a1ca07b463bc1e21a2d719243020", + "collateralIndex": 1, + "collateralAddress": "XphnRagfW5B5iNMbu7Mo4gtquwykEEcLNs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.214:9999", + "registeredHeight": 1028725, + "lastPaidHeight": 2128339, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1585796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XprZTvUZChypi4ZuQM9smjn99DVQSL86we", + "votingAddress": "XprZTvUZChypi4ZuQM9smjn99DVQSL86we", + "payoutAddress": "Xu9TUAxfcxVJqH3Fsea6CDHoh6twgb94Me", + "pubKeyOperator": "94d877c6c8efd85862a0bebbe6e342e562648b27216e65b10ca4180e2d315979cf6cb572c033f4a786e9121afc9be3c9" + } + }, + { + "type": "Regular", + "proTxHash": "7336adb5940f2e8e56663df667aca345935b2555a5286dc4a69dc060755e58fe", + "collateralHash": "84e35ee6a3e3be9ac55817980f7760ee2de2a69c26d2415298d2e05cac268564", + "collateralIndex": 1, + "collateralAddress": "Xxkgm2iKadWiLi7Bvg9MfpRjcnvWUnhECf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.81.167.103:9999", + "registeredHeight": 1028725, + "lastPaidHeight": 2127852, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmiAeJ8iAFVXVVDfJ29T9kMoo19sFcfGfZ", + "votingAddress": "XmiAeJ8iAFVXVVDfJ29T9kMoo19sFcfGfZ", + "payoutAddress": "XqdvxpTuDipxx4ca1eTCNx2zJMfec91B8z", + "pubKeyOperator": "877d2479c5c7f591d9b4ac5acbb9c4c36b7255bced57efbf1d10fa7aab110bdff3a6d143ee111b0cd5e70603c5f00bf2" + } + }, + { + "type": "Regular", + "proTxHash": "874c4500184dc46e1a1affe5bd02298977425c0aa25ee76787aeb0b77bb5bc33", + "collateralHash": "34e3b7abf9180de881bdb4629c7c84ced46210ea6c0b66148fb8101d6367cfec", + "collateralIndex": 1, + "collateralAddress": "XcNYfGoc6VGcYEeBV18qBSTq67nvSPMujk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.29:9999", + "registeredHeight": 1028729, + "lastPaidHeight": 2127869, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfL8hiNamxPTarv5pr8DZkvTPJtsspG2L4", + "votingAddress": "XfL8hiNamxPTarv5pr8DZkvTPJtsspG2L4", + "payoutAddress": "Xuesp5DQ7Eo9c1d1PfwHLb7gdzJfaTZqe4", + "pubKeyOperator": "9949033f1b836cec66e675eb7d943ff04595a4e19d9e51b31d79cec9bf113e4d83f7f119201ab07488bb1f691b0b7e53" + } + }, + { + "type": "Regular", + "proTxHash": "6711160f9b48d72a1770e6af69a24149a1924e9a0590023e2ee56953b878fdee", + "collateralHash": "ecea331fcd5d75e9d720ba43df13ab2dde0a2c4bc390a108216a81393afcf4b4", + "collateralIndex": 1, + "collateralAddress": "XbyJuV8CC38pxPDwh45R9Z8qg8oqnva2Gf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "142.59.176.128:9999", + "registeredHeight": 1028729, + "lastPaidHeight": 2127801, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118532, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhkxtuXpomyviS71JHqDNvknrVeMuF1urP", + "votingAddress": "XhkxtuXpomyviS71JHqDNvknrVeMuF1urP", + "payoutAddress": "Xnr3fBZHW9yZZ4YYyWPnFvbjcaddXWkpFJ", + "pubKeyOperator": "88a503dd9d96998aaada1a63ab0b00b2623f82bccf0e0bcf044689b783b5d5e08c371c78f26571fcef2a172182b9e061" + } + }, + { + "type": "Regular", + "proTxHash": "54df432fb25c88bcee3533e7cd55577e5860592a14f00500e28b8e3acfee0e9e", + "collateralHash": "765f00f7eed6feee325113bf9d96ede9823b786d4a296e88f9492c8e272c03bb", + "collateralIndex": 1, + "collateralAddress": "XcqcZ1E3q8whR2TLrKKL7YsgkGFyNxPSTQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.35.170:9999", + "registeredHeight": 1028733, + "lastPaidHeight": 2128329, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2024323, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyUzRdJaALiDNR6LKedgAGDwUUvbwBMKDq", + "votingAddress": "XyUzRdJaALiDNR6LKedgAGDwUUvbwBMKDq", + "payoutAddress": "XcqcZ1E3q8whR2TLrKKL7YsgkGFyNxPSTQ", + "pubKeyOperator": "87b9b39c92e2a0414eee1380234658943deea458398c5908a64d297ae1179646950747435a9a26135120c81c4dc731c1" + } + }, + { + "type": "Regular", + "proTxHash": "7cf22b643695657d3d9adc10d105046036822477d630ca4c60cf92afaf09209c", + "collateralHash": "d9f0fa9fb4d1655d139063dfe8e66beccfe51d94cd29e49008517c414463ef9d", + "collateralIndex": 1, + "collateralAddress": "Xi7ukT4BsF4yMm63yD7aN2EekkP8vRAZD8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.74.201:9999", + "registeredHeight": 1028755, + "lastPaidHeight": 2125904, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988218, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyHdfppepeZwNnZcCbPrMipQex4rVk8L2n", + "votingAddress": "XyHdfppepeZwNnZcCbPrMipQex4rVk8L2n", + "payoutAddress": "Xi7ukT4BsF4yMm63yD7aN2EekkP8vRAZD8", + "pubKeyOperator": "867ed2f432f2fa93d2b9b340a9c176a47ab70da12caa97bffe12ca8d863ea5d258bc04cec1c0229c9389d443c72cc30e" + } + }, + { + "type": "Regular", + "proTxHash": "0653864aec2522c9b5796b220e4c57ecae36e3fae02d2a9ef956465a08846d1a", + "collateralHash": "979f07185e8d010f129e7e1e3be15f9a7c0de91e6b341041a6a42adbc1718752", + "collateralIndex": 1, + "collateralAddress": "XyvTFegLkstAqSZfi9WeZJqt9xr3A41cKK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.15.33:9999", + "registeredHeight": 1028766, + "lastPaidHeight": 2126397, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2113986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw1Fyf7vp1tAuUBwnFDHveRKMdFnTvKhnB", + "votingAddress": "Xw1Fyf7vp1tAuUBwnFDHveRKMdFnTvKhnB", + "payoutAddress": "XyvTFegLkstAqSZfi9WeZJqt9xr3A41cKK", + "pubKeyOperator": "91ff2270b496261b8b98cec7e539ddd9c80a40012b5ee95879d3370e5b3f2d1ab4cfe9f5cb39c7c58d3ef5bb8111fde8" + } + }, + { + "type": "Regular", + "proTxHash": "eff87acd8ca820916badbd01ee212151e0d3809695904514b7843ce5b51936e3", + "collateralHash": "44d0a35a91283a7d29c62a977be6beb0b148869efcfa7009a58c66f77f9cc8ad", + "collateralIndex": 1, + "collateralAddress": "Xy6LhfK87iDPqUYyKgXTM6bdto6hDw3yRi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.71.19:9999", + "registeredHeight": 1028773, + "lastPaidHeight": 2051197, + "consecutivePayments": 0, + "PoSePenalty": 3799, + "PoSeRevivedHeight": 2024337, + "PoSeBanHeight": 2051754, + "revocationReason": 0, + "ownerAddress": "XhWB7dQ1qmHBDh9k2SpoEi5mexXNrG2Zp2", + "votingAddress": "XhWB7dQ1qmHBDh9k2SpoEi5mexXNrG2Zp2", + "payoutAddress": "Xy6LhfK87iDPqUYyKgXTM6bdto6hDw3yRi", + "pubKeyOperator": "8c04177be0682d8cdb6bc92463ee86ef23b00abc6cbedfaaa8787d5e15944bb53e21f727009fb5fb206c3f4d2690c710" + } + }, + { + "type": "Regular", + "proTxHash": "7d31e8ddc12027bfdf944650da55467707ff5f3c21037b3bc00b280a739f4f05", + "collateralHash": "c15ca21009d1e4ca6db8f68396389283f67185354c5a0342cb6f05166335cee3", + "collateralIndex": 1, + "collateralAddress": "XyqPuaBzNdSHa8huzXU7XgaDGgrYMu5muK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "108.61.189.92:9999", + "registeredHeight": 1028782, + "lastPaidHeight": 2125801, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988082, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqNwpNjBoDC1EaZ5MYcf8jWnPSCb5MfkJt", + "votingAddress": "XqNwpNjBoDC1EaZ5MYcf8jWnPSCb5MfkJt", + "payoutAddress": "XyqPuaBzNdSHa8huzXU7XgaDGgrYMu5muK", + "pubKeyOperator": "90a2f2b86f04a57ceaad39354f87417d1eea55e561eb4e480a8bc7e2a10d91f799ea8e7131ca215adda9e92198e3120b" + } + }, + { + "type": "Regular", + "proTxHash": "ad28f97f2cae085c56dcb5f7a8a10a6b4721f575dcf41e1b17641819910b4471", + "collateralHash": "2770933a84ac824761229754fac4aa2fb6947e7a30db8d16ab6e1a0907faf6c9", + "collateralIndex": 1, + "collateralAddress": "XdyuLsaMZdBZ8dBjN28mMrBkYYgGfCRmX1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.108.68:9999", + "registeredHeight": 1028793, + "lastPaidHeight": 2051204, + "consecutivePayments": 0, + "PoSePenalty": 3818, + "PoSeRevivedHeight": 2024344, + "PoSeBanHeight": 2052906, + "revocationReason": 0, + "ownerAddress": "XjnQFTqyFhQTiiaEPUzxSdR7M63DqnnzRn", + "votingAddress": "XjnQFTqyFhQTiiaEPUzxSdR7M63DqnnzRn", + "payoutAddress": "XdyuLsaMZdBZ8dBjN28mMrBkYYgGfCRmX1", + "pubKeyOperator": "0fd404da8fdb750c4cce6cf0c18686ad1c5499685a4bc5f6b55799da97b1d66a1ac4a82dba090c8fb1501575fe65f073" + } + }, + { + "type": "Regular", + "proTxHash": "e03b0df226a5a99fb39eeb1c85c0c97974a38d2bab196c42a114e5c1e9af60bb", + "collateralHash": "ea5c9dd6f134ece7975a65ea1c222ee04cbec8f8985caf252387b1d0fd453966", + "collateralIndex": 1, + "collateralAddress": "XsxLP3Q9eWg8MKrG91YQ4RFbCJNUU817oy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.30:9999", + "registeredHeight": 1028819, + "lastPaidHeight": 2127995, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgC8uBrP9UgqSxxD9BwfPrt3mmE7vHceTA", + "votingAddress": "XgC8uBrP9UgqSxxD9BwfPrt3mmE7vHceTA", + "payoutAddress": "XdTyjcqvEwdETnwXoPTwLYy8yvtnTnTZVC", + "pubKeyOperator": "8f76091ec6d2dc7da0893a3616c4e5bb779e9524ea62cdb3509b1083d6dbfdc3e76c88878d4df471ae2d34604dac8d45" + } + }, + { + "type": "Regular", + "proTxHash": "3ca9a244b6f2cd8f1a6329c7bcfac76c277d90090fb16c2360f4c2e566c45afa", + "collateralHash": "f2bc9b700113bc3fed4ab4618adadce3f78f8d5cf711216b61ab846226202d75", + "collateralIndex": 1, + "collateralAddress": "XiHwN7aQXrRzSJR5gPQrbtjwsXicZpvRsg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.176.235.90:9999", + "registeredHeight": 1028825, + "lastPaidHeight": 2128001, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtC2N7yMkPeVWx7yiFdmnEb3gdZvX3DPbb", + "votingAddress": "XgUfcqh5CNR44eRRUveaEJoc1MLy8K3FUQ", + "payoutAddress": "XiHwN7aQXrRzSJR5gPQrbtjwsXicZpvRsg", + "pubKeyOperator": "175f77984b7e05d5c01da3eb5ce1a65d0eeeb6cee3a395ce70c53b14237da2ba8b04ccc9a490e3e340fe371e67c75e69" + } + }, + { + "type": "Regular", + "proTxHash": "8a85b23f9831ecc108b6edd355a85cab0b4b149a36533854c1aeb1cb5acd44ea", + "collateralHash": "e3cb6ee3e0c94a828c0bf49332449e80bc2da5dc7df95be12c1b6f6e99ea8e78", + "collateralIndex": 0, + "collateralAddress": "Xs8eRwnrRaLiERoahqPRCRDicf9kpQopyD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.107:9999", + "registeredHeight": 1028830, + "lastPaidHeight": 2128033, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjvK9bjLvcpz21LkVtMjGTPpNBDfpEhww1", + "votingAddress": "XjvK9bjLvcpz21LkVtMjGTPpNBDfpEhww1", + "payoutAddress": "XfBvPTw3QMBYnwizULREKqLiTN6reXHaNd", + "pubKeyOperator": "0c261f446b125fd803d4cde523eb5e94d0d43f264e2808c52e389053c2e2825d275669b9d6fa622311ee1ca0e5b0e254" + } + }, + { + "type": "Regular", + "proTxHash": "e0a0d46cf38447ca82861bb3d663f0a683cb32e1be912a96b18fc3c9a4e69799", + "collateralHash": "6bf23310c893741af36cd4b3191a92effdae5242b50df62e094769da6da0a388", + "collateralIndex": 0, + "collateralAddress": "XjE5nToFadrkS5tRktfqZ2x13C6jx6dFxJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.26:9999", + "registeredHeight": 1028830, + "lastPaidHeight": 2128025, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyMLNnGQTMepn1S7oQaD9TWj16KewRzs2n", + "votingAddress": "XyMLNnGQTMepn1S7oQaD9TWj16KewRzs2n", + "payoutAddress": "XsPA499FjsNRZpBqPdkFuxtqTe2CVwgP5u", + "pubKeyOperator": "8bd7376e671d5084f86067ae219f7c6408bd3f021c7915823ae5159685acca255d837c9d7d303fa42462afa0be3a7076" + } + }, + { + "type": "Regular", + "proTxHash": "2b0e6df3743db02752783384891a0adadb604c285ba2ba3780b919963b8431f2", + "collateralHash": "8224b526934bf77b5ef83cdda7d4ccc494edefa3463020ab23738289b54a8aac", + "collateralIndex": 0, + "collateralAddress": "XmRJ3WvbA5MK2LhPRe3vqf8sfub11RKvJc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.14:9999", + "registeredHeight": 1028847, + "lastPaidHeight": 2128399, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgp8KpSJu5oAbFhWRtKfLQCZzmoRgJQrzj", + "votingAddress": "Xgp8KpSJu5oAbFhWRtKfLQCZzmoRgJQrzj", + "payoutAddress": "Xg8Qif5f61foTdHmXkZt8xeaLFXddLzdGg", + "pubKeyOperator": "94c4456a3c5a2c60c97b738802998c25457dbc6a69e14b00923a3cf9a2698b65b905a19e47bef0df3f30f1af92be90d0" + } + }, + { + "type": "Regular", + "proTxHash": "2f2fff14255b8dfee26e0ebf9ceeb5a7b49b6fe73cf2dc39027cdd572535e4f7", + "collateralHash": "c4014541c4258f660bd748e36a2ade491db66fd5a4831543392be35f90cc6e73", + "collateralIndex": 1, + "collateralAddress": "XtmdahwcdeHbk55nXdCrN4PMT66RdtjjkN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.208:9999", + "registeredHeight": 1028847, + "lastPaidHeight": 2128400, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsfSavs2nLJMFXFmLy7hJ6BYdud8vuuPsD", + "votingAddress": "XsfSavs2nLJMFXFmLy7hJ6BYdud8vuuPsD", + "payoutAddress": "XyRkHjmMTjZPKv4kyRTaoRAN5pgGHKsDQ9", + "pubKeyOperator": "8642a83ed1024f881df4abe2a684ef3518e928eb2b9225dec76a860518aebde6e3cf6d2920253c88fcf53e1345cc2b1e" + } + }, + { + "type": "Regular", + "proTxHash": "73bc326fa11ba1f95183d90f47d7bd1f0d8d4e46b4aa48c6ef1efc98e1e5fd22", + "collateralHash": "75ee11658b395fc00768874a27e7074a18917d93520f767da63504584def2c4c", + "collateralIndex": 1, + "collateralAddress": "Xmy9gckpdoxZW7Ci64fhZ92L5fcmoB47AV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.198:9999", + "registeredHeight": 1028849, + "lastPaidHeight": 2126433, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1092504, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xevry7z1jHXFSxf9gbsHKDp3MbsJU1TzG3", + "votingAddress": "Xevry7z1jHXFSxf9gbsHKDp3MbsJU1TzG3", + "payoutAddress": "XkPGYfW6kSzbb4CX7og8UJxmKwbqF1jwNJ", + "pubKeyOperator": "956bdf934f2848cfaf505e628fe472413493f34083791663d23f7fd2ead6cd54ae81348cfd2a20f1d15e03668bc34517" + } + }, + { + "type": "Regular", + "proTxHash": "9559d386f88c30716089eea3df569dacdda0c697a517699af11f1c5caf3a677d", + "collateralHash": "d1bdc7789f3bfe068b23b475e42a751e770fb7fce40476e60f254cd846fef5a4", + "collateralIndex": 0, + "collateralAddress": "XupvMH9DDcRrPZtks7n9W8irUL3zqc6B5g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.31:9999", + "registeredHeight": 1028855, + "lastPaidHeight": 2128402, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhYt6DhZ7dacELSpCsaL6KwDwX5BEqLXTN", + "votingAddress": "XhYt6DhZ7dacELSpCsaL6KwDwX5BEqLXTN", + "payoutAddress": "XnAKTgeg68fGrdeQT1Xu8DLwAHFAkuLZ1t", + "pubKeyOperator": "8486990b25a946043c74ef87a1fd6b22b2e5bf1bf800976e948da5a649610f6974c54d684a0675a685d4a80b10ce0b1e" + } + }, + { + "type": "Regular", + "proTxHash": "aa3ef1b4973f851c39ffe08e42622bc6403c2e2bbd7e8a89efa33f53eafaa060", + "collateralHash": "2c79fff315f353496f203bcec9a125644f9360fddbbcbf2490a6c29fc6e30277", + "collateralIndex": 1, + "collateralAddress": "XksNoqKaiVvW9Q3xYc5dbyiweuz9RF2oFb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.105:9999", + "registeredHeight": 1028900, + "lastPaidHeight": 2125866, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820903, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf6EuyoYEsSA5HfFSLZNFYkU1EoGK5oEe7", + "votingAddress": "Xf6EuyoYEsSA5HfFSLZNFYkU1EoGK5oEe7", + "payoutAddress": "Xdzmc4hDD2Vjb13VFibMNca4NQx3mrHBrS", + "pubKeyOperator": "086f5c0d57ac779daae188eb2e177f49ab2dfe26114889fa0a7af5dcfca25cffad47f2b4e1cee0d90736aac589a46283" + } + }, + { + "type": "Regular", + "proTxHash": "ffaaf68b98d79e28fd26f9404696385f64d3576af39507adfc295e8037993787", + "collateralHash": "e0335f8c751e56e3ae7ad891a4c5c28c74f6d12d6321a2af90cfbcf88d5e395e", + "collateralIndex": 0, + "collateralAddress": "XpUEq6XazzbMn495kRj6LiVGB3j8EvdNM4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.106:9999", + "registeredHeight": 1028932, + "lastPaidHeight": 2128746, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2011247, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjwUywSpaf7Vt5edmYhPohNSkVHzBc3sY9", + "votingAddress": "XjwUywSpaf7Vt5edmYhPohNSkVHzBc3sY9", + "payoutAddress": "XdXANh3Whr4Tt8KXkUG6ZnvUCCbHBsN7yc", + "pubKeyOperator": "17f9e6c9ffed21ca3d3357f31c18cbc541d95c232025b705a65d7a32be10227c804454b690b28ebeaad910478559cbc2" + } + }, + { + "type": "Regular", + "proTxHash": "959f41018ba69aa15bbb374ef82b1d19b22470365a6c41e0d8946a1465650131", + "collateralHash": "96ee9b37bbcb1c406ff9de9b2c887b44506a2d8885ef8095d14524b962640e47", + "collateralIndex": 1, + "collateralAddress": "Xwko49B439BxYGfCqCNmRmUN5gY9SeTF3U", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.175:9999", + "registeredHeight": 1028947, + "lastPaidHeight": 2127512, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2108225, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk2i9znP14kG5Ehw9S8sQdsKnqJKzD3J8q", + "votingAddress": "Xk2i9znP14kG5Ehw9S8sQdsKnqJKzD3J8q", + "payoutAddress": "XdTsCjo5JzQkLBKZ2y9oDDSYM5HWt3UTs7", + "pubKeyOperator": "94d4d6e6c595e69345155c0574e96e892d3eaa9dbf49ee921e0801d18d8c34c641ff65fcd7977ed83c453f5be7a6a8e4" + } + }, + { + "type": "Regular", + "proTxHash": "7b18e7941f448a171e3cbea0d2722efb3a77c37422c72c0a3dbde9b5b289722a", + "collateralHash": "a362132b145dc6980d85b31a38143e8eb89e180cd034459e9b2ffd45a3533748", + "collateralIndex": 0, + "collateralAddress": "XvcUtRekWrCoT4CF9USDo2nLs4zQaaPaHF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.18:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2127904, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987015, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdmS15UxQNq1GksLhbAwrcvkmzh2R2bnra", + "votingAddress": "XdmS15UxQNq1GksLhbAwrcvkmzh2R2bnra", + "payoutAddress": "XgWgyw4kjqgMuG8B59FY5YMBDMCc41pPNZ", + "pubKeyOperator": "82ce1d6a7f58a0f82af51ce99209555d7b43c3328036deb0c01f645dd4c2e4631135900937b8b18c3ebf5192fe215616" + } + }, + { + "type": "Regular", + "proTxHash": "2c41989563fb0caf8580c89afbadc6443a1b852a26971b4336681f34e4231862", + "collateralHash": "38e0c8e15a37de1d1446629d25dc3c71794724f5a4aceba352bf5dfe6f090e87", + "collateralIndex": 0, + "collateralAddress": "XyGFQa9NYPXigSbC6tT3P9zuSkXGovfuCV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.77:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2125862, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820898, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdgZkpRPZWr8DRLKpdKUP3MpCZiTqEKuBS", + "votingAddress": "XdgZkpRPZWr8DRLKpdKUP3MpCZiTqEKuBS", + "payoutAddress": "XsUDyGe8WsHpgCjcLm4pC3x1tmP5bRgvso", + "pubKeyOperator": "83da4cca499eff56909809acfc4a79c8fe3ca901430b71952599dbaaa5bcd103761f9d38de6bbe5775037c0e7c1ce373" + } + }, + { + "type": "Regular", + "proTxHash": "8ca15cb36826ba0f1059a3eb7c06805d7b069dd59cb803f79bad7f2289846f8e", + "collateralHash": "859235bb6ccfca94eb9627a004172a9647e1018feb7c699c4b42c2e9be38f500", + "collateralIndex": 0, + "collateralAddress": "XjDcNkctV9qWdkyWdEs5WTuDdyRsjN6CYi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.13:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2127996, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987119, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdRTBciuGuswemxBAwDo2HuV4fpRtUHQpA", + "votingAddress": "XdRTBciuGuswemxBAwDo2HuV4fpRtUHQpA", + "payoutAddress": "Xo4RFVEF9QZAU84h3FiuxCVeUWoc49NsGE", + "pubKeyOperator": "0cf547563bc2dc6c4622e6232f8865f27c8f3339bddeece6ab053207dc56e0ef318ba737fbc3bca03b298fad3f93e775" + } + }, + { + "type": "Regular", + "proTxHash": "d8e26e34c39d79a98ea086e9f64439a7ebabe9626280655c8e4b0664d8766813", + "collateralHash": "2d35e4cdc6c2513479c28b9cebd1bf722b9aa0ffe9d6b59183ce7f95db19eb7a", + "collateralIndex": 0, + "collateralAddress": "XqYDLusrMjWPF3QpUZZNjvkHvV6LjAVEMe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.230:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2126024, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948683, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjwRgy3ff6YDNNSBhDaTeFmeP4Xkte4645", + "votingAddress": "XjwRgy3ff6YDNNSBhDaTeFmeP4Xkte4645", + "payoutAddress": "Xy5oRHhkQP7RAMQAqmVAcTUxUEEtjMkazB", + "pubKeyOperator": "0662ce293367288a2a20709a8e602919bdb529aad4a3c2fe68b0be06b26d71010d8aa98cf23af31973e7fa7f2c4a4868" + } + }, + { + "type": "Regular", + "proTxHash": "317fb910cda4c59e75720b5a1f94c655e3fc85a735ba11627041f0a9fba81455", + "collateralHash": "c079393750920122db2a8997deab0a8b81d2726e6f6122dc79ba20b02d446e1a", + "collateralIndex": 0, + "collateralAddress": "Xiy2nPz598EqGHNGgNiythukUgbPxZ2BwK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.8:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2128530, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmCubEBW69TUwmCekUVwfFZUFomZpH26ST", + "votingAddress": "XmCubEBW69TUwmCekUVwfFZUFomZpH26ST", + "payoutAddress": "XbpnnqMhGUvAM6bEcw3N5s7SfV2siqaXQN", + "pubKeyOperator": "0e9f4273233170e5d0d42786b15eca7fbffb801927b533537652c5021505010256260adc130b8bf47ad154b18f181522" + } + }, + { + "type": "Regular", + "proTxHash": "44f55fa413180961199c12fd79e9280c3f96ecd0ead8f92e3abd6efe28868977", + "collateralHash": "808ded36f2b7744089e211da2ec08e0b7e0cec691ac35eae2f3d4c64e76cc115", + "collateralIndex": 0, + "collateralAddress": "XdRkH4KcJeN5XjSFcxuNqbxaTCXoRb5TS6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.9:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2127917, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1611489, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuzAAmfXEgkgubFE3nwV45r7uDYabbPyHS", + "votingAddress": "XuzAAmfXEgkgubFE3nwV45r7uDYabbPyHS", + "payoutAddress": "XrVH26sWC4XT7h82owL6BQAVvR45JuF74D", + "pubKeyOperator": "0c802fae7c97ee388645e447bd980112271176aa746b483c2b0aa21b96168066b99fb5ae137fe4c94bcee9a981db4a29" + } + }, + { + "type": "Regular", + "proTxHash": "d23c417a1096b21ac366d403a4095d488e3a0c796fb677cf7e56a046609233bf", + "collateralHash": "dc4a750b740da8a314f3c921a7729576b62189a80b0b3118a694d8e2b6368463", + "collateralIndex": 1, + "collateralAddress": "XbwXMbst9r8vP91mcn1nEziJSVpsaGYujY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.14:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2128542, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcSS3yEgVijYNkpNyoUAqwpkt5LALTAgFG", + "votingAddress": "XcSS3yEgVijYNkpNyoUAqwpkt5LALTAgFG", + "payoutAddress": "Xyx2TEg1eigikEvLxNU53aPsGewAPYcvwm", + "pubKeyOperator": "015f3d46d905c60ca66f8c305b81426877607eacc79332005545494ea36a74e7500e67b2b70aace555abcffcdfb9eee7" + } + }, + { + "type": "Regular", + "proTxHash": "00b062b6809f623413bd658d91c6a64c85e34411b72b309fcd0477bc271283cd", + "collateralHash": "5eb1f3f5c9e7421f242155a4f894a4a0bd00da168f8504f332d13242a1e9fb73", + "collateralIndex": 0, + "collateralAddress": "XjRHohGADJLBo8qsxRwQRXPdPiBy2KeBB8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.67:9999", + "registeredHeight": 1028954, + "lastPaidHeight": 2128544, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxPFtuU3iiig6t9Admt2vDC5THH94oFv5x", + "votingAddress": "XxPFtuU3iiig6t9Admt2vDC5THH94oFv5x", + "payoutAddress": "XauLKRwtANviaWjT1bjn5GQ32nNcCt4ByC", + "pubKeyOperator": "8dbb1e4f1bbaff1b496157a8f9d5ecf998d88fe5a2a6011bbe59178990efc6fdaac429ac1d090fc7d3879571426aadba" + } + }, + { + "type": "Regular", + "proTxHash": "bad0ff2141cde6527f589167709d880f3ff127ab0e1c9a545bf1fc8c45d98602", + "collateralHash": "49c322cc054f232fa9353dd995e41fb336d82cd3bc183a5764dfd780b0d7213e", + "collateralIndex": 1, + "collateralAddress": "XqKaf2bSEnusr98nM1UpUDrYVbKSRNSMHW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.108.68:9999", + "registeredHeight": 1028972, + "lastPaidHeight": 2126479, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120423, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeA3BqZK7jBx2fLq4LybExVjEc1pdEZBXQ", + "votingAddress": "Xe4jbGtc2TbK9MDAFrNpdqygBVWG8XnX8C", + "payoutAddress": "XrNbhz5XkituyhBaRCB3RPB94zm2rG93NZ", + "pubKeyOperator": "0eb811dc1ce20c14407b252919d8b3b23ae93f4bc8766fbee3389696e7a9c78e297dd2115447b065f42900e35f789944" + } + }, + { + "type": "Regular", + "proTxHash": "cbb95a31a451914c9fd9462ba650cc179bddd629c2ca65037cfcb04ce2aaeb76", + "collateralHash": "ef6df2ff0901133ab3e2125612d2d63240a6004767b4e55d6f5eaa7db51372ee", + "collateralIndex": 1, + "collateralAddress": "XsHmnuxfp9d5cytCXXsDiCJrCfsEzV4MbX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.243.115.219:9999", + "registeredHeight": 1028974, + "lastPaidHeight": 2127637, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaooBphi52MmWQXfDKtynemPcDAV6FK14z", + "votingAddress": "XaooBphi52MmWQXfDKtynemPcDAV6FK14z", + "payoutAddress": "XpS61fY3tTERiQsSdKY9K5C9KZFwXtWAGe", + "pubKeyOperator": "05fa562a0470028da4df4a35186787680ebd36c995c0da815abd2ddc6ab9e95769eef7cedfbf1640a5b3c16b119a4ce6" + } + }, + { + "type": "Regular", + "proTxHash": "d345010cdc11366cfc417029a4dd459ee0196064af898173b50918e60165fc3c", + "collateralHash": "23c01f75391dd5a7608fb39991b12ee06efc75e9a04d6a4aff739dec2cb4ea32", + "collateralIndex": 0, + "collateralAddress": "Xiw5TmPcwkLNFC9UYHfUsw6x6t2wTgW9e1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.69:9999", + "registeredHeight": 1028978, + "lastPaidHeight": 2127861, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1620089, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnVv5e6Z1ETU1FNont3FJRzysQz34BKuyG", + "votingAddress": "XnVv5e6Z1ETU1FNont3FJRzysQz34BKuyG", + "payoutAddress": "Xqmc7bjbzqzDVXNX9JnmKZuiG7KNPe5k33", + "pubKeyOperator": "93e30dd89474d8016a5facce14bfee27c44f4e705590278068c270c29543762e5d854fb696afb6dca9f43ec815a0cfb4" + } + }, + { + "type": "Regular", + "proTxHash": "cae3d13451f45f15cd134bca43b76664d3997ae6b119a5494897b8ea9a7dbbc3", + "collateralHash": "bdff7042f9454406088c0b5a4b7637d91f5a66a1ce4fab775de80138648c38d3", + "collateralIndex": 0, + "collateralAddress": "XcGdCThbEZAhbvTWzKQgbn9J7ffM2QUCW1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.56:9999", + "registeredHeight": 1028978, + "lastPaidHeight": 2128676, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc5FVUXt9skmq6D96w6duBgWdG8eoQifi6", + "votingAddress": "Xc5FVUXt9skmq6D96w6duBgWdG8eoQifi6", + "payoutAddress": "XgGae326eo8ngfnRfv16mC2n47XLLKiA8v", + "pubKeyOperator": "8ccef098e3bd942906ebf19e58a5022960018de619446459c515b1c6d294d07681e8c7d09458a7dc54c9c561e96a845d" + } + }, + { + "type": "Regular", + "proTxHash": "2524850ab5600627d88f68f44c76e0558a326ed12febd746dd5ef05f9b17bb44", + "collateralHash": "4ea2066ca14021eb261f4dcafc9733caaea22a3deee6ff7f4cf94c1bf7c174b3", + "collateralIndex": 0, + "collateralAddress": "XhDUuhSPCXwtv7YcNaCPKfYw2SbS2qKuP1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.142:9999", + "registeredHeight": 1028979, + "lastPaidHeight": 2128681, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgAzdfnzJLBzoK4ykkarBAhARna8g78nq9", + "votingAddress": "XgAzdfnzJLBzoK4ykkarBAhARna8g78nq9", + "payoutAddress": "XjyXRMNyGwRhnu1mhyQPa2wd3s57Py3mek", + "pubKeyOperator": "1487ce9fd2001fc3d30496fdf73ce521369123db23a52f2edcdee20615a4c1ef320a8b166d6a8967776aa988e3f7f6bc" + } + }, + { + "type": "Regular", + "proTxHash": "b4fe56e2c71d9daf251d1fa7a3a62c8429d39e33af4f9cbf79503bb131fde8f4", + "collateralHash": "3b03226e02c30c16d6ab953a25a4c17d3be393410f2af8664063293d25c6d063", + "collateralIndex": 0, + "collateralAddress": "Xrw349x4o245ZeLAaVz75VbyBUgyj7Jdja", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.224:9999", + "registeredHeight": 1028979, + "lastPaidHeight": 2128687, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfXdxWiPbLMMQkXSNm975fgfKu9i3quvMu", + "votingAddress": "XfXdxWiPbLMMQkXSNm975fgfKu9i3quvMu", + "payoutAddress": "XbqtsiUbibr2jfZwWJ5GDR7KfEGZzG9sBF", + "pubKeyOperator": "85767af5c1598737292569382eec3374c8701814348ace4e78c53b44077bc5921a3641920c62bc01ef4ed8ae23fbe818" + } + }, + { + "type": "Regular", + "proTxHash": "c4bbcb3b47169b9082e10662319988e30ae087bc02da848cf7d9ee5fab53de81", + "collateralHash": "4c956e821dceceacdbd7b7fb1e422035254b97c12524a84ec3f03a2e5d0beda4", + "collateralIndex": 0, + "collateralAddress": "XdoFfH7Jb8Jt7NU12mReBMQaxzkzTqVLRS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.226:9999", + "registeredHeight": 1028979, + "lastPaidHeight": 2128231, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976860, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrxRMVG7KNGJUHM4JJTcpTF5nGiC56AYoT", + "votingAddress": "XrxRMVG7KNGJUHM4JJTcpTF5nGiC56AYoT", + "payoutAddress": "XkT5HpouuvEe1e57mwSQTRi35K6v6hKea8", + "pubKeyOperator": "83686e7dd5210cf140cfd41ccebcede0f41dcb4c1ce613b2dbcdb6de4cbde71732dca04bd8c9a81c1128ffa0756589b0" + } + }, + { + "type": "Regular", + "proTxHash": "5b0163e910a64b68bbc87327eb815d9241530e16963ec646bc7642e6d52453aa", + "collateralHash": "89a6f0f8aaa5d0abfcb181449bb8a0adcafcfd1418bc465af9397b8c004b584d", + "collateralIndex": 0, + "collateralAddress": "XiM8vYUMhyGBdbfo2vpbqTNVNeeQrEJ51E", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.140:9999", + "registeredHeight": 1029002, + "lastPaidHeight": 2127958, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1611617, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsymQE9jbtWwCHLYanZNug24HpTpK8UJiC", + "votingAddress": "XsymQE9jbtWwCHLYanZNug24HpTpK8UJiC", + "payoutAddress": "XockbyPuXeoWumNnvn1ePUmEykRxTuCH18", + "pubKeyOperator": "0f3c5db4d829b4279d3970f628e7567b79063019f722217e9f3ece39557e5626410990629a53916d8797fc772c7cf1b5" + } + }, + { + "type": "Regular", + "proTxHash": "c8e075fc6417d32536f1d65b6a9410f74ae4bd85ddb24bb01ba479bbf260e8e3", + "collateralHash": "921e9cbb37b94f1e80c03e336df574b28d4a3a887e6be888c24bdd1a8201096b", + "collateralIndex": 0, + "collateralAddress": "Xkfa2kkZs3wuBVj2xYTc6WEZvuHs25sF1j", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.65.114:9999", + "registeredHeight": 1029003, + "lastPaidHeight": 2127255, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmv4fSX8jJ16ZKToJBcBHgqM5HKv2DPzCg", + "votingAddress": "Xmv4fSX8jJ16ZKToJBcBHgqM5HKv2DPzCg", + "payoutAddress": "XiMLFpK3UciwEhvQHuhx5kBk3CwARg4tvm", + "pubKeyOperator": "914ddd3e0982cd0354263f64dcd38e66a1a9e1d31d32a003795f0943d082e258f0777d03d0faa2f0d86279a0776d67c6" + } + }, + { + "type": "Regular", + "proTxHash": "eb862ce19646aba03b115f5085170e0290981d896996083c09dff5fd337e1fb8", + "collateralHash": "46c5f0cbe8e9612575c87051cb0fa6c0d3dac3b598285a8ce3c7e09837027df7", + "collateralIndex": 0, + "collateralAddress": "XdqCKNsn2hcKtTbMaTL2sKRUWWvqJty891", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.168:9999", + "registeredHeight": 1029019, + "lastPaidHeight": 2128858, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu4PzVQF4QDPy2BEZefLGdrk6avBy7U2eg", + "votingAddress": "Xu4PzVQF4QDPy2BEZefLGdrk6avBy7U2eg", + "payoutAddress": "XeRE4wZB2W9f6DRnYgpqzR8NsCXkcFAPp4", + "pubKeyOperator": "92cf219768bf95e594983a850da2ae975e98198f83c8c1eb114ce1ac8fcf1ff8b60b9593a4da3b71f236ffb49f73997b" + } + }, + { + "type": "Regular", + "proTxHash": "f7b0bd6d214f9c39301a1fa1b9a3e8ed4c0edbb25f1d90a28acde88e7ae87ead", + "collateralHash": "7c4eb4d44054e7b03c74864ff4984aaf7b9ca8fb0b6bbe56b7b1b737dffc046d", + "collateralIndex": 0, + "collateralAddress": "XunEbJdBPNx8qW8iLGmvhUC9wz1BvQodho", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.100.248:9999", + "registeredHeight": 1029021, + "lastPaidHeight": 2128862, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcwnnzptDKhaFgmUJznZiirnFEb6kv51em", + "votingAddress": "XcwnnzptDKhaFgmUJznZiirnFEb6kv51em", + "payoutAddress": "XoWSv6USTowQZAkuydS7X4jAtbDX9m5kRA", + "pubKeyOperator": "87cd1eac172b1fb108fb98ca70e58659da59fbf5ced7f1ebedf5ab838294e25814ce857daff97ebbe047d62d1f2c1ca3" + } + }, + { + "type": "Regular", + "proTxHash": "41074c1102d82f772f2f6a13ed200a8af070d4403ae23953e5c7138337aa44da", + "collateralHash": "4f34b4e365ab7a16a26fd74135e6fa1503425d5004d3ebfff82032fd5c7fa3ec", + "collateralIndex": 0, + "collateralAddress": "Xg9EocpqvdRbAkzsHxNewKdHGt7ZTQAzYK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.209:9999", + "registeredHeight": 1029021, + "lastPaidHeight": 2127734, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1473662, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgDfiYngw9J2Ufc7DjHp6Vm4UkuZeWDLKg", + "votingAddress": "XgDfiYngw9J2Ufc7DjHp6Vm4UkuZeWDLKg", + "payoutAddress": "XupxaQzBhRKtAp74qEcRerAnDzXnmmzeu2", + "pubKeyOperator": "15becf08436079ba7c612a8dc96eefda1e306078b317784af0ed282f288bccdfe5e4f822a555cc97332869c7b0adadf8" + } + }, + { + "type": "Regular", + "proTxHash": "74d432b149279e1267129f97092738c5dc6bb0c0f2218edd4a3c741b09e32de1", + "collateralHash": "cc51db2e030fd591a852ffc8a82567922db1da89df95822bccdfc5a6f8ffa798", + "collateralIndex": 0, + "collateralAddress": "XwEdd6uj5CT6CkAR4GGnabXhEHB8FYHXN7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.99:9999", + "registeredHeight": 1029021, + "lastPaidHeight": 2128863, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxTkBvZ2gy7tsND7SR1qs2rMhcsLGq7MWy", + "votingAddress": "XxTkBvZ2gy7tsND7SR1qs2rMhcsLGq7MWy", + "payoutAddress": "XtqBDpvVNkYnjYBgkmyAqdNn84ms3VuiWK", + "pubKeyOperator": "9770a91e47e983c4526d905f37777954a6ee409e345325a39c325a86f2635caed5096d7e3d2dfadf8acc293cd3b1c126" + } + }, + { + "type": "Regular", + "proTxHash": "464633648cb123879f3415a2a5bd6e282da43921119f9adf2e5c399bffb0efa2", + "collateralHash": "baeed5c59bcfaaa0fb7bf29adae871aacb4b0cdeabfc9108dbcf2fb56f5c7b1f", + "collateralIndex": 0, + "collateralAddress": "XwBi3s2fgST7XcYzAoUUevDzfya2UWUu1k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.98:9999", + "registeredHeight": 1029021, + "lastPaidHeight": 2128860, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrN7Y5UHTYLZSPfaw1gVZcgZazCBeq9QwN", + "votingAddress": "XrN7Y5UHTYLZSPfaw1gVZcgZazCBeq9QwN", + "payoutAddress": "XiQV7eu9w4h6PFNEo5m5noUabJebignXde", + "pubKeyOperator": "021c8bbbeae8dcdecfb981bce45a72f6b3921154e772371ad266613785211307754232581cb314c25493a9d23a26cbab" + } + }, + { + "type": "Regular", + "proTxHash": "5fae706fed2344c90c8163bd2321627c81bf9f2c08bbdb960387e2aa695cf77f", + "collateralHash": "a6c6ea173da2e67f0506ee9d08f29be6823d421c6c5aabc6e78b2bf18f035f4b", + "collateralIndex": 0, + "collateralAddress": "XgdUmfUqcZtGepkfqdtMzYetzWacdrS5FF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.108.221.24:9999", + "registeredHeight": 1029025, + "lastPaidHeight": 2126563, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1570106, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgYtAoznQeuc5Ad5M33NYZSQGEP4GFj3vG", + "votingAddress": "XgYtAoznQeuc5Ad5M33NYZSQGEP4GFj3vG", + "payoutAddress": "XtmHPhq9ogKP4gaHGBWP1eojqjVo91LjN6", + "pubKeyOperator": "82867c36ceb8f26d1f85364c6a2fb778929019006539d49038919f3d7927bb594fa84d1cc3a655b2f552ab12f7b16bcf" + } + }, + { + "type": "Regular", + "proTxHash": "c2f404620a1c24c07308b62b3bea0a11fc006c10d42f92759bb0c8a4b6de6940", + "collateralHash": "8d2ded17d4c44bf55afbaada0e09c0f80363870b4cf105d377dd3ba2128f6958", + "collateralIndex": 0, + "collateralAddress": "XcWEv6JRERwqWq8pqDuYJH4Sdq6FrYVr47", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.35:9999", + "registeredHeight": 1029034, + "lastPaidHeight": 2126985, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761181, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkyZqFNsMcwmBsy4WkaC93yCcCNXCHqXGy", + "votingAddress": "XkyZqFNsMcwmBsy4WkaC93yCcCNXCHqXGy", + "payoutAddress": "XayWoMGtKnqugLJ1MEiRfqy8jrQVY3uqd8", + "pubKeyOperator": "81b285b858e2a4221aea57bc70c7bb3d800229e6164baee7955429acda11b4281428b4e665f6b351c52cfb461e456be9" + } + }, + { + "type": "Regular", + "proTxHash": "81318461d3a453ca9d900fed0f19808dd8ab660e6fda44c55ec2097b285cc8e2", + "collateralHash": "e6a3c97259316674f2571eb521269ffe7a2ff9e07c6419f942992ec8f4ef77ff", + "collateralIndex": 1, + "collateralAddress": "XcSpz8AdYGVWAmBzBdkoQzrkToc6hWESS4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.215:9999", + "registeredHeight": 1029035, + "lastPaidHeight": 2127647, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XevU8k1zMzLbk2BriHG8diWwPVHKRjcuA1", + "votingAddress": "XevU8k1zMzLbk2BriHG8diWwPVHKRjcuA1", + "payoutAddress": "XqRrWeX4Y9HDx1yJUNgZBUjmHCY4whAgfi", + "pubKeyOperator": "91cf78e72aa5f2c07018b92feb6f33e2a2aac6b16e592df6797a83799f0155327d07fce524f25e09482aa4ec6d069a25" + } + }, + { + "type": "Regular", + "proTxHash": "438d296e97c33a8be7036f8d298d92469a5d54811084095e59fe8b29fb6a1102", + "collateralHash": "7744a3a529c8104c79083a8d14557717a5cf8f47b04c38b13bdfafe765f99769", + "collateralIndex": 0, + "collateralAddress": "XdNWRUWZrzeaGSiJLjUTY3Hzdtur2YuqeR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.38:9999", + "registeredHeight": 1029035, + "lastPaidHeight": 2128886, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn5SqDRa4wdmjxNcvx4SJfs4RpaXUhMFGo", + "votingAddress": "Xn5SqDRa4wdmjxNcvx4SJfs4RpaXUhMFGo", + "payoutAddress": "XjngpHxtS5hbxoLjHTASvXqGWPteYJXVZa", + "pubKeyOperator": "06cfc8655eedd59cfc4145fbd2c0d2790215efaf07e315dcb1b9808be64e980dcdd2348cefe84641e047ee56e7153981" + } + }, + { + "type": "Regular", + "proTxHash": "bca5b528092c64aea0f35c3076909a3c916b72ba65cf4e2d0a7f68fd0fd7a350", + "collateralHash": "35370e2ac5bd7e5f1d14032a8fa7b7abad0a503c70d3c4763fc4f4fe16a1da5e", + "collateralIndex": 1, + "collateralAddress": "XoTswGSCwm5a6cCNuzs12ZWyMqb24Ssc6M", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.128.136:9999", + "registeredHeight": 1029035, + "lastPaidHeight": 2125907, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2089305, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrEbLmw6psPE5gu6aNfy8RUfebQjTJyenZ", + "votingAddress": "XrEbLmw6psPE5gu6aNfy8RUfebQjTJyenZ", + "payoutAddress": "XoTswGSCwm5a6cCNuzs12ZWyMqb24Ssc6M", + "pubKeyOperator": "8f73d820e1d4b2fecb4148c699026aecd4b8bb2314cb7d299eb0cdae44001f63fd56dc6d5a2545b9163c36309aa5615a" + } + }, + { + "type": "Regular", + "proTxHash": "a6efe6505567b18706d6990ec60d9a74866bde28ae7cb0426b6b555c88656660", + "collateralHash": "a7ae25311c1d6c565936a11c5ca68bd75fb81e30fb0bb921e4f62c020d999638", + "collateralIndex": 1, + "collateralAddress": "Xd5zh2dcLzSkVSnE3qB56KJXTNfVfzPffe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.159.48:9999", + "registeredHeight": 1029040, + "lastPaidHeight": 2126736, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1899570, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcKPwtixhhkNCjWqUST4qzCtEyG2DqqDuF", + "votingAddress": "XcKPwtixhhkNCjWqUST4qzCtEyG2DqqDuF", + "payoutAddress": "Xd5zh2dcLzSkVSnE3qB56KJXTNfVfzPffe", + "pubKeyOperator": "88dfa4b1b0be528f687d516a76a8597fbfcd2bbb787f45160608d0ea1b103778be1fb65bde20ecc8d6dad2aed52ddea8" + } + }, + { + "type": "Regular", + "proTxHash": "16ca7584b2e8a50b3778ac919d24a7f82bc72ad95c79b77e398d7f751211a975", + "collateralHash": "29e680aeca17f666ddd65d55c5217751be2141b1837510b94819c7176565e5b7", + "collateralIndex": 0, + "collateralAddress": "XxKbjVqDTQBwy9QArZLu5oNpzfH3c2v1xC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.68:9999", + "registeredHeight": 1029057, + "lastPaidHeight": 2127651, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986818, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuPWZqCuJJ2Fhv8bh7rCh6CcfTcoeG2xvM", + "votingAddress": "XuPWZqCuJJ2Fhv8bh7rCh6CcfTcoeG2xvM", + "payoutAddress": "XnJR1NAZjEmiEyoZfKXuxNN1GxvidoYXda", + "pubKeyOperator": "85cdfd7367bdf06e8fe870d98bb071f731b1652c63c643800aa59adad12f360291d40361faa1d463708a01afae1c1496" + } + }, + { + "type": "Regular", + "proTxHash": "b4429f77d4fde0932405d2fb72ef37ae0c014814c50a16bde2a7cee6cf1488b8", + "collateralHash": "e7b58da1ce2687038f348a9b2b9bdf84203d127c2d3a4ef85616ee6cfeefb0b1", + "collateralIndex": 0, + "collateralAddress": "XsjvUP1gYx9HFRp771yMiNf18ken1Lswbc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.10:9999", + "registeredHeight": 1029057, + "lastPaidHeight": 2125745, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XonRQZSRaynYZ19Pmjtji3iLaH7KqCZSjM", + "votingAddress": "XonRQZSRaynYZ19Pmjtji3iLaH7KqCZSjM", + "payoutAddress": "XkjHjzrhTXtocjm5nyuP751Egpp6hYysJA", + "pubKeyOperator": "17c265f846d8d9d7a9a3f1d797b870a9d94f4bacd623e5e3c26fd606b321c469d29ec46a1d863cd4e718c68c1911b37f" + } + }, + { + "type": "Regular", + "proTxHash": "0940ab0f9a7cc88feef76a2fc9d87c1420ba350de86c2baa5ff158508230c6d3", + "collateralHash": "4168d2406543c3c56882a75cd1b6e18e9aaa19a5b71e38583a4dad69af697346", + "collateralIndex": 1, + "collateralAddress": "XvzpAFj9j6sMDnCaLFmCTg9L8zF6m1VKD8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.90:9999", + "registeredHeight": 1029058, + "lastPaidHeight": 2127749, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986847, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvW4wJDt83AxQSpsYiGYybo8M55FSiWevF", + "votingAddress": "XvW4wJDt83AxQSpsYiGYybo8M55FSiWevF", + "payoutAddress": "Xi1TxAcXzWFXtVr7ZJTS24BwqBoiuMwT7i", + "pubKeyOperator": "80d722388521768129bcc20f0a719f603233687d2f3acc6d1833dc0c25931a33d3b3172bd8290a91d942a1be409834a8" + } + }, + { + "type": "Regular", + "proTxHash": "f37ec729b0328e2f914559e9c89c54b104377cfc2e342a0d2cce2e69488193b2", + "collateralHash": "62bb47bb939a5f27512688d3062da8119792af457d2aacd821dd6bd434a25417", + "collateralIndex": 1, + "collateralAddress": "Xus761yQR4bEsCbTXxEgaX2cWRpkYqwG65", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.163:9999", + "registeredHeight": 1029058, + "lastPaidHeight": 2126851, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1871828, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcbTdC63uCa5AWpogQovNNsZKPtdFJsQB6", + "votingAddress": "XcbTdC63uCa5AWpogQovNNsZKPtdFJsQB6", + "payoutAddress": "XsJ2g9ovY4ZMfReXuqmR5JMRDBYvmknzaJ", + "pubKeyOperator": "0332993c6c856c34f0c4c98ff848d5fdfc5468b8a07e71cc78cb22545f57b81d51d7cd5295bbce3ef530476cefc2f361" + } + }, + { + "type": "Regular", + "proTxHash": "347392831a07429acdc3859afd140f8e1349814f0ebff5af5bf62e121641ae16", + "collateralHash": "c63fe7b3719e95d3184e7996ffe7af35161d6a263298abc628d7db0eab89efb7", + "collateralIndex": 1, + "collateralAddress": "Xsqc9Zq79Aps3ueXwYrTK7oyrunTh2VrhG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.164:9999", + "registeredHeight": 1029064, + "lastPaidHeight": 2126960, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695453, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnCDP96i3QNKMw2j3aJx5s4GUWf366YZTe", + "votingAddress": "XnCDP96i3QNKMw2j3aJx5s4GUWf366YZTe", + "payoutAddress": "XoiByUEcDTSSWL2XheLS3vBQ8QFjjJ1eGT", + "pubKeyOperator": "108e03fd4b6af6cdfd223f90f33a62ac84783a28a5a43f366eec81a6870b0e2c8a406b8a23d59df926365b94048c27a4" + } + }, + { + "type": "Regular", + "proTxHash": "40cd8b1cb048b22f905b11a5250e14ebc51c4b5b30e51878c7a49e95516d480e", + "collateralHash": "ede6769dff78aa6ca58a73831b7cccda521a8ed7b1a86882060e785de5cba193", + "collateralIndex": 1, + "collateralAddress": "XqfEkowLW4kMAA7jtctAwCNBzmAEUe2ZFQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.91:9999", + "registeredHeight": 1029069, + "lastPaidHeight": 2127554, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1278814, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp7Fo4jXBJbtsMT7mM3wnXXMKMCqgDSEgp", + "votingAddress": "Xp7Fo4jXBJbtsMT7mM3wnXXMKMCqgDSEgp", + "payoutAddress": "XsMd5XxhTbWjiLcniSUjtXA6Z4aYCjcvxp", + "pubKeyOperator": "99e9a924c7c67cbb77945393fed3193d7bfd18d410394c6dd8f02a2e1e2a8b3dfbb6a33005d4da2a94cb370b1ffa9f12" + } + }, + { + "type": "Regular", + "proTxHash": "81aabb72da033570dcc3baf74c4e37a0ef449b4bae9cfca508b43b98211272b8", + "collateralHash": "58fad641982c8a4879112624a918030a34a70483151b7ef9d47e3539e1718783", + "collateralIndex": 1, + "collateralAddress": "Xs9Xiei44UfXNxPELW9oiwBPhwLcLm84Ya", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.19:9999", + "registeredHeight": 1029069, + "lastPaidHeight": 2126997, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986173, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdcnw4Pkdkc9kE1zUsVXzKtkbHiEakWPeV", + "votingAddress": "Xdcnw4Pkdkc9kE1zUsVXzKtkbHiEakWPeV", + "payoutAddress": "XjwErABymqQyvyhW6d6X8V1VMM7CriiWPk", + "pubKeyOperator": "1983508d97551b8821aa657d8913e1daecbeeec0965b1c89f11d14357706f4015201483d3dcf9cb130d8b2af4a40680a" + } + }, + { + "type": "Regular", + "proTxHash": "08bef1551d9a44b7ed99b8f880963c67509868de7d8818acff71066f3dd3920c", + "collateralHash": "181771a33451b92825046b4f7786e1d92f151019e104452ca9af7be5b1f96717", + "collateralIndex": 1, + "collateralAddress": "XaqEoJE739bV8W9YVPi4Bbni6tsGBpqZLC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.165:9999", + "registeredHeight": 1029070, + "lastPaidHeight": 2125885, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820940, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbea8U5vcTixcFtiZpxsLVENXgBK3LCfiA", + "votingAddress": "Xbea8U5vcTixcFtiZpxsLVENXgBK3LCfiA", + "payoutAddress": "XinEsvDCXrvctGQCuyqSiVLN21GzFzSron", + "pubKeyOperator": "87533414b8dd916a726cd11ef2b2c3f5be32882991908f917f354ec5ed39eba2101e5552011fde5a41a0dc59feb9552e" + } + }, + { + "type": "Regular", + "proTxHash": "c79b739a4538f137c26d17bc0670e3ede98630171f08317185c3a33254abb04b", + "collateralHash": "86bc2f8e5b69e120130ec8000b38357f4dbea660c6707ede7a59e83ceccde4b0", + "collateralIndex": 0, + "collateralAddress": "XpHHtpLLiSKJB1jf18YtWy74ZhYEK3GQfs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.15:9999", + "registeredHeight": 1029070, + "lastPaidHeight": 2125755, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvqVKSNTQzFKeWAMARm5JNSzutME96KWWt", + "votingAddress": "XvqVKSNTQzFKeWAMARm5JNSzutME96KWWt", + "payoutAddress": "Xg2usfvHAjpkYQn6wKqEewvjX7tAGqdDWX", + "pubKeyOperator": "85cdfad1dcfd2c1c6c55304d2b8a658449602d5be60357b28ad593350bbd76d71e2552b395f97e59a93f8bdc81353ae9" + } + }, + { + "type": "Regular", + "proTxHash": "be3202a2c405a5c4624fe761a78fc2ec7ec9db15e865c569c953d96136f38792", + "collateralHash": "3e8ae12e86959111ccf67f469e60ca43cec8ae858ef99694144b20d3ab961970", + "collateralIndex": 1, + "collateralAddress": "XhHMb6J8XRPnXkNKUdNfrvdMTy78t74KKD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.14:9999", + "registeredHeight": 1029070, + "lastPaidHeight": 2126112, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948741, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpebzR5Ezy8mUeQFSfTt38NYsgEvafH8Ao", + "votingAddress": "XpebzR5Ezy8mUeQFSfTt38NYsgEvafH8Ao", + "payoutAddress": "XiMd24Jp17s2hqjGFtV5Hokx56bpr2xGnU", + "pubKeyOperator": "9788958acdbf8e8b738c055caeb615d1b5ab0be2ec70fbb6537d83b51b2c02954c1879f38c8aed67db9bffb4570f1745" + } + }, + { + "type": "Regular", + "proTxHash": "431fb10dfe87bbb8c4d5cec90091461a2bc7aef52e4c6ac245e727c3a5c319e3", + "collateralHash": "7ba726b3141bc74676303168b63c9a8472ea64a487854951b5be0e53c67b350e", + "collateralIndex": 1, + "collateralAddress": "XoBAporChtwdf1NvTKRgB45JkdUW6394Hm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.144:9999", + "registeredHeight": 1029075, + "lastPaidHeight": 2125773, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyJX1f8miZUfAfvrQNFW3g45NPCeuharWW", + "votingAddress": "XyJX1f8miZUfAfvrQNFW3g45NPCeuharWW", + "payoutAddress": "Xk9qiYwxzDCSaZWMnfRLPxx18b2EQN7q8P", + "pubKeyOperator": "14e214f55ee8d991b947c42ba29b73db70270e294c7290a7c84c4490e7a80a9bf0f0876ff6bd8137a5fa869f8b35c083" + } + }, + { + "type": "Regular", + "proTxHash": "76b5a12b116fa98eaac9d4e127e1d84baa771b863b3cb6c0992e52620ba3b0dd", + "collateralHash": "c2d1c067c6feeaacfd12db1af082e32b6596c75566a8626d8ea1694bfd7c4ce2", + "collateralIndex": 1, + "collateralAddress": "XgU2yCRBEZFjtHAPbeQYdpvNapLSwKq6fb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.156:9999", + "registeredHeight": 1029076, + "lastPaidHeight": 2127645, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoBae3GShmUC1YZPf2zdr8LKFDgwc3Ly1Y", + "votingAddress": "XoBae3GShmUC1YZPf2zdr8LKFDgwc3Ly1Y", + "payoutAddress": "XgU2yCRBEZFjtHAPbeQYdpvNapLSwKq6fb", + "pubKeyOperator": "157e360dbacd9f8a4db15ab03fe5f44d4c6f019258753a86ae8954040b23dc048eb0b12332353d61de2625e896922fba" + } + }, + { + "type": "Regular", + "proTxHash": "1844b1eb7bb1b2228ff0b4d61f2a8bf2a65a9008d12da01c474df3ca8e2981b5", + "collateralHash": "7fd0a64b1336a6fd67435879c27016381599b97347a703c8184249672c608390", + "collateralIndex": 0, + "collateralAddress": "XdtZDkUoRpNHTcSgweP5kuYJ3vpjTBkqB5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.208.231.28:9999", + "registeredHeight": 1029114, + "lastPaidHeight": 2128236, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976861, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhJg1UAKkA6825CxJJboiZcRLdv7Q43xoQ", + "votingAddress": "XhJg1UAKkA6825CxJJboiZcRLdv7Q43xoQ", + "payoutAddress": "XceyXYmVSXSA5Dyfvu9xJ7nWGa1yYdY31h", + "pubKeyOperator": "94cc2df48ed7197d479337ff9c30d374ccbfac3f6a67f81fcb96573625ee418f3249a6ede19efb2d47ab739769f091c8" + } + }, + { + "type": "Regular", + "proTxHash": "d82b40380059e3417da1d00a6a6bcca527cf886288c80a4e05e2870a078f0ddb", + "collateralHash": "d857fce6a7d99e160ec7ff865b98c6af4bf9320c900c96cdba70ba9490208cd5", + "collateralIndex": 0, + "collateralAddress": "XmZobGv3ZZHwDzvnrJi3QkbbouSm4uWRpN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.63.120.66:9999", + "registeredHeight": 1029130, + "lastPaidHeight": 2122071, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127429, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbTMFmYqrtCdnSDTcKodkMNBpVSyykD9VW", + "votingAddress": "XbTMFmYqrtCdnSDTcKodkMNBpVSyykD9VW", + "payoutAddress": "XmZobGv3ZZHwDzvnrJi3QkbbouSm4uWRpN", + "pubKeyOperator": "94de03921db225779ee4dbdc3c73efd2c043559c8b23a291264a52a0ae7d19ead392d89ca7cc981f96b52666bd3b6f15" + } + }, + { + "type": "Regular", + "proTxHash": "d6a0f58cbb0b58d1819ee119184410bd1df9fd60a66d2fa2bf210900ca92290f", + "collateralHash": "44df6d1a025a254937844b10c84b3d22f2e12a54dbaa9e70ebbe94ef260e016e", + "collateralIndex": 1, + "collateralAddress": "XgYXwLZg61qBAwT6S3fF3g2jbAw2MLRGez", + "operatorReward": 0, + "state": { + "version": 1, + "service": "18.207.72.151:9999", + "registeredHeight": 1029147, + "lastPaidHeight": 1604388, + "consecutivePayments": 0, + "PoSePenalty": 4588, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1606907, + "revocationReason": 0, + "ownerAddress": "XtbzeRAVZtxraXQd9KCzRqW7h2dMwDnTGA", + "votingAddress": "Xrf5BDJ2XTvnQTUiYraPhHsJXVFSmNknwt", + "payoutAddress": "XgYXwLZg61qBAwT6S3fF3g2jbAw2MLRGez", + "pubKeyOperator": "8580cb364986c0e4d40e6bef560df5642347a67729ac742290e4e0b5aab86370db87f6b397ef6d66d6f5d135155705c3" + } + }, + { + "type": "Regular", + "proTxHash": "847f7390a1e5d49ed9fd0578d90bcea8ee077d68da2835a69fc0082550dc3159", + "collateralHash": "cbe72314feb2c6dd63141296eef9afeb643ca2ae84f0c401c9647e7df353b14d", + "collateralIndex": 1, + "collateralAddress": "Xx1o6SdXPzmy65dRcCWuvkodG6X2VHgKqQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.203.244.188:9999", + "registeredHeight": 1029154, + "lastPaidHeight": 1604433, + "consecutivePayments": 0, + "PoSePenalty": 4588, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1607051, + "revocationReason": 0, + "ownerAddress": "XhiNVrXib8gYQjBxxe5CFV66G8H2XN6UXH", + "votingAddress": "Xxd2KAyFzjcAzaXrTyNvrdHLMum9zwL7q5", + "payoutAddress": "Xx1o6SdXPzmy65dRcCWuvkodG6X2VHgKqQ", + "pubKeyOperator": "93547e0589c8aea352e15765cff3a40eef88d96a9a8e28db62607b14dd81c95de775173e52e478169310c5b72e75f1ec" + } + }, + { + "type": "Regular", + "proTxHash": "ab0a9a2c15d8782726109d56e072ea0b91fdaca7e22db7e283a746a15ebe3229", + "collateralHash": "c22db674db321dd1e91cf9b655a2f1a0586a69236048dd8bbc0f066e60b679bc", + "collateralIndex": 1, + "collateralAddress": "XgC9WunkiCSSL21oRvueeeAKDdabM1qkJu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.145.240:9999", + "registeredHeight": 1029159, + "lastPaidHeight": 2126798, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120749, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XynAs6ZzCGzmb7UaWzjxVadaKVpQ2Q9hov", + "votingAddress": "XynAs6ZzCGzmb7UaWzjxVadaKVpQ2Q9hov", + "payoutAddress": "XbigWQJCz3UKKankvZ59HJE4jBS2zkLkQu", + "pubKeyOperator": "015ae9f1e5392a9952a6af37cc548a604d67a3e1b777126c3bd8e44b48c3fdc0525fd435e9bbdd193fd946ea0647bbdf" + } + }, + { + "type": "Regular", + "proTxHash": "ed9ce3de0e37f7eb18f9ac4ddf108f19c531b0f0d21b60c431b85e582159aa93", + "collateralHash": "a037cb4effdf06f3623d509f3e659fc9a3aff0f68959d40779d088b739923544", + "collateralIndex": 1, + "collateralAddress": "XdVBvzTYne2VQzcMckc18n7MLfo1N73WuX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.156.71:9999", + "registeredHeight": 1029258, + "lastPaidHeight": 2126738, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1768499, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnqES437jyft6EPkWkDp8n86ANtch9amtx", + "votingAddress": "Xpg31TuVe6ywL91FAmruZTZBiMmf6osw6h", + "payoutAddress": "XehJtdbhKFChLFM76uMpR9oE7kSTCaFEGf", + "pubKeyOperator": "80b84cff0c18d98c9aa2c0323d72d79a91344683594b5657f7ac3bed74797b400e8800367eaa2c8725085faefcc679a6" + } + }, + { + "type": "Regular", + "proTxHash": "4155cffae0e53761c8c763181be5fc656dbf5a4bd6ae3b1e86c3f70094f579b2", + "collateralHash": "0299e278050060e81b4e834e099b0e92a22d633683fc8a2c8555010856b6a17b", + "collateralIndex": 1, + "collateralAddress": "XbyEmfaixBbnM6qv4mrc92mPMG6QQp3C7n", + "operatorReward": 0, + "state": { + "version": 1, + "service": "92.60.36.89:9999", + "registeredHeight": 1029304, + "lastPaidHeight": 1972740, + "consecutivePayments": 0, + "PoSePenalty": 4075, + "PoSeRevivedHeight": 1910688, + "PoSeBanHeight": 1974570, + "revocationReason": 0, + "ownerAddress": "Xt94GeLtDe7hSSX5KtLw77uu2YcqntXvdS", + "votingAddress": "Xt94GeLtDe7hSSX5KtLw77uu2YcqntXvdS", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "1935463522df77ade2c6857041ce0bd9dd4ded6a343b93c423764fd244793ff03b251f8c9a0ac2f552be9784b63973c6" + } + }, + { + "type": "Regular", + "proTxHash": "410585c03167636cdb9493bb76bca7601be00489b50db9376f548a8920205511", + "collateralHash": "f072597843ea19deb73a0e5e81eb974a4b93e6e921aea282ea77508cbe2d9b8d", + "collateralIndex": 1, + "collateralAddress": "XyfpioNniToJS29sXwSBhGftvTN9ixAGYf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.20:9999", + "registeredHeight": 1029317, + "lastPaidHeight": 2126420, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv6wEZA1kr44zR4jKTHCXXRyZvHHsGWybN", + "votingAddress": "Xv6wEZA1kr44zR4jKTHCXXRyZvHHsGWybN", + "payoutAddress": "XdgsNpcyX2uiGn3eXR2JW2RA6GPSjFcddm", + "pubKeyOperator": "96661efd681f5f89f46ac2fd55d6fd38c15d14e924b5aad7992158e8920d79e43c08115ba1f266b4386e2e6796a5046e" + } + }, + { + "type": "Regular", + "proTxHash": "5942017987a75dad698f89eee17e91d587e2e669ce341ed00fc329208f8b032a", + "collateralHash": "222381a85e7d72a23ca7058333489090196fbe8fed3c2960acc0f3ad0ad2a60c", + "collateralIndex": 0, + "collateralAddress": "XpvZPnCnf9s2G6oNGaNZfAEEJZuxefqnx7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.21:9999", + "registeredHeight": 1029320, + "lastPaidHeight": 2128648, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1572863, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcESkVRB3aE3s2yixr6dmRz7tEXLUqwUsR", + "votingAddress": "XcESkVRB3aE3s2yixr6dmRz7tEXLUqwUsR", + "payoutAddress": "XjnkC8haDHrdCwLA1LAm1gmvrCpxPSHcPi", + "pubKeyOperator": "0ccbb3fde3de721bf7797290cdbed6f5fa139b6b37bf5c663ad2d668827b52b31e82cf37e2d73c6e43ea0cfaae987ac4" + } + }, + { + "type": "Regular", + "proTxHash": "99ee801e03f78744ad69a1f354c4afee2bd9d49c71ce6ce0ca98810d937d4dbe", + "collateralHash": "7df5bb0d3e97a003074544f18773d4c7852b6c2df71ae887ddcd1c2479b4df0d", + "collateralIndex": 0, + "collateralAddress": "XgFeiQFHdcgz66h1DBtU5qfeMJTadDd3nY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.26:9999", + "registeredHeight": 1029320, + "lastPaidHeight": 2128004, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987128, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtVCJxvHJss2k5PgMt2c1Xfva7Kr5oiagp", + "votingAddress": "XtVCJxvHJss2k5PgMt2c1Xfva7Kr5oiagp", + "payoutAddress": "Xr99Q6bybpRMyJfCud39wgrELSiHTgTKe8", + "pubKeyOperator": "911ef413183ef903a6ad5b0d5b1e5a7f0379ba605ae82cf0f673585f2ddef56bcb71068adf03a2bcf5ffdf89f9f117ca" + } + }, + { + "type": "Regular", + "proTxHash": "6d69b7e463b90d7a84665e106f0196d860714bfe2a10cd04582f48fc6906b718", + "collateralHash": "12f4c63faa9ab7605c6751d0d9df5ac8a838d6139510c66decbbfea7c178446e", + "collateralIndex": 1, + "collateralAddress": "XqCtQYcKfgiW5ny8ZyQmQHdXnQWHG2jMvQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.25:9999", + "registeredHeight": 1029320, + "lastPaidHeight": 2126383, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1272366, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr5biZZkfnZ6osiF7XMvxaNCQpcAiwPm4U", + "votingAddress": "Xr5biZZkfnZ6osiF7XMvxaNCQpcAiwPm4U", + "payoutAddress": "Xf8jwnhpELCZw16yAeBoXMXGuJPrcUqzks", + "pubKeyOperator": "08d3f26462607a856da1766fd97a53955540f41ac630f7ec7b93e145c6eda8ba1272b8fa92fc4ed622e646568751ecf4" + } + }, + { + "type": "Regular", + "proTxHash": "49fb7756df2c96988b7bc343211931c7a1eea1d65ae5f45aa15e24fffd63e298", + "collateralHash": "5bdb373005b57a1af962ccfee4fb156215ba9767d908f0b065f6b4b370217025", + "collateralIndex": 0, + "collateralAddress": "XvYZekK2u9Q71niMSicqKtE3K7bkDaUJ7d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.244:9999", + "registeredHeight": 1029320, + "lastPaidHeight": 2127382, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761624, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj6ZrmKB1vXB4M744QskhzDuNgC2ojQJBX", + "votingAddress": "Xj6ZrmKB1vXB4M744QskhzDuNgC2ojQJBX", + "payoutAddress": "XqVjy5qf5W47VWWUM9XDCkkiabmEWuffBT", + "pubKeyOperator": "0cf8c54eccd8568d4d04663628d3d4f177a4e80559758af495c085c6c8c3c8440654d3c1458f4390ef0128d042581c3d" + } + }, + { + "type": "Regular", + "proTxHash": "a164e170fdffc8037e1f9436e2873df010a588e9431ae14554889242605bf299", + "collateralHash": "522249632aa582c11fd0ca4514e25ade307bf7054550b213428cced8225cba2d", + "collateralIndex": 0, + "collateralAddress": "Xy6zpbjZaCKjpLDLxRgFCxm8oqQ2rgkHUr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.24:9999", + "registeredHeight": 1029320, + "lastPaidHeight": 2125802, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820807, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XouZ15GHTn3F5VcRcGdQ2zKyjxrUQeFZ2w", + "votingAddress": "XouZ15GHTn3F5VcRcGdQ2zKyjxrUQeFZ2w", + "payoutAddress": "XxrdFdTnKLujKtYNfUf6Pp13mvoTyj7F41", + "pubKeyOperator": "98a9d9bf82b6dcb5afb63b863fc45c91065d0354297fe25060ce827e9f0d1af25eccb91cf15318f425cb5da27aab2f9f" + } + }, + { + "type": "Regular", + "proTxHash": "ff8b08a613ae5f177482f698efb7b27cf00916debee37b3f221d05f8e5efb2e0", + "collateralHash": "2b258823805f7f9e33dc383653d91660bb4e452ab02f7705a5739841bb163ec3", + "collateralIndex": 1, + "collateralAddress": "XhqxeJuh5VjaYTg1A6miJXrrrSXXvbM2rW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.23:9999", + "registeredHeight": 1029320, + "lastPaidHeight": 2126445, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xow8582yZMb8UnYNAsi8oo4N4eXdPqpxX4", + "votingAddress": "Xow8582yZMb8UnYNAsi8oo4N4eXdPqpxX4", + "payoutAddress": "XdM9NW5fx6gt81wxQM8fZJFxa9gyTBFUUZ", + "pubKeyOperator": "83be89a7c5f82e7607af4503753d8a50699246035c6c9be7c7d10048ff03382739c8de8b7b158a8935554e3983971d59" + } + }, + { + "type": "Regular", + "proTxHash": "37cd1d98a806432d55c363d42f28b138ff1663baabff861235090c5268f9ecb7", + "collateralHash": "143fdc0b05777d728cb8c5a356956e5e6aa809bdaeb6d2b8d1ad17457db8bee6", + "collateralIndex": 1, + "collateralAddress": "XwapbUnDQmyJpbEkHFaXzREJa3oXR22kPA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.236:9999", + "registeredHeight": 1029321, + "lastPaidHeight": 2128573, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2004292, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeMHkUNXg6BgyAKnuZwmvhem7tApAtgEUi", + "votingAddress": "XeMHkUNXg6BgyAKnuZwmvhem7tApAtgEUi", + "payoutAddress": "XiRAd7HmdFFxM6ofQsMo8rv9PMJZHep54Z", + "pubKeyOperator": "109ba1e7736fd311758fe471fc7f4b91d522524ac2b56eec73b5c3f988c61584fe2982de7809278d35264e47a1eb68a2" + } + }, + { + "type": "Regular", + "proTxHash": "00f3583e4810e06e454d011a0cde6f61aedab3bdd6153e95db1a39052eb0e378", + "collateralHash": "9820423f3bac08256f8b945d84bc8dcb725aeae22cb08a1a31ca36e31a4eee36", + "collateralIndex": 1, + "collateralAddress": "XkN1qML7m5V8w8PGsaAcCwW9E1QmfQfzY1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.237:9999", + "registeredHeight": 1029324, + "lastPaidHeight": 2126460, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqEDmPRY3V2uct2kv6HczYPzLow3iuJZtq", + "votingAddress": "XqEDmPRY3V2uct2kv6HczYPzLow3iuJZtq", + "payoutAddress": "XvciyBRvqnK2quWMv5kXwUWfYrLqmfve8Y", + "pubKeyOperator": "8766cec62bc40cc9b83f395627514d94780ffaf2c5cd8f8d5abc09a99b89c3009783c48f35b6063e7ec0ded6f14b04a4" + } + }, + { + "type": "Regular", + "proTxHash": "7ccdecdd6ffb52d56513b1f35e5f8f8f842e40b6cc7ef7c02efac3576453d418", + "collateralHash": "5c2a326c38a8d815253ab1d1b02da66145fac086965cd772d4eb384f6809d903", + "collateralIndex": 0, + "collateralAddress": "Xxa9a1yMVsMV2rHcSPGoetHcxjXYTiifa6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.188:9999", + "registeredHeight": 1029325, + "lastPaidHeight": 2126890, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986092, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwfx3czmd6si9cEorXE4J5QWuYch27UCWP", + "votingAddress": "Xwfx3czmd6si9cEorXE4J5QWuYch27UCWP", + "payoutAddress": "XfL8HUSckwByPVt9wvEP5rTAdSs65qepty", + "pubKeyOperator": "9315bf078b52bc1463fd5741950912751944ce133d04ccd48ff8a7e82fcce2f5b751c4985cf5acafb0a3b02aa4a66a45" + } + }, + { + "type": "Regular", + "proTxHash": "05d6c2471b69c0ec8f71c70d78799756c465ae5d91a03344777b0017a8043014", + "collateralHash": "1bb1a8533bf672fa83d17a914540450f2a7714e4fd7e0f221bbe8325a94de13f", + "collateralIndex": 0, + "collateralAddress": "XsvarhZWkW2mkw5ojm758EFfa2B6SP7Tyj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.189:9999", + "registeredHeight": 1029328, + "lastPaidHeight": 2126508, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf3wMa7ehUNa8zQRp3CDGPoPD4QUkg8z97", + "votingAddress": "Xf3wMa7ehUNa8zQRp3CDGPoPD4QUkg8z97", + "payoutAddress": "XyUQHc2vwY2uSpWrP5tVRtyFhjWifGLwEC", + "pubKeyOperator": "146de9f1bdacddddd3161dc2bca21e0f5432290b761967edc92e670df9fcbdf1e476f81c4c2f4d3146fff6c361c40631" + } + }, + { + "type": "Regular", + "proTxHash": "77d23cf380b0005b3f57ffd7ef3913c9f142944327e95b40973a229d1be0f859", + "collateralHash": "e8f30ece3f8f8eed761fb3d1d559d4d8aec26d5825ad547dfe3fee6fdc449082", + "collateralIndex": 0, + "collateralAddress": "Xw13Tyugejc1HujpNQPGVEKAjmmgGAsQNj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.238:9999", + "registeredHeight": 1029328, + "lastPaidHeight": 2126140, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948761, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XucVMj2nHJJLSccbUuLoxQpiBkfzc8iZ9P", + "votingAddress": "XucVMj2nHJJLSccbUuLoxQpiBkfzc8iZ9P", + "payoutAddress": "Xr1q5uZ6K28rY3qPFwZZCUYyCD3KDYRTVf", + "pubKeyOperator": "07ed43e3d431820ee3b36c7cfc76273df658e23cbcc97e77c287b9567dbb696810d23a493bde66b95489081949cbb3a9" + } + }, + { + "type": "Regular", + "proTxHash": "5bc8a264128db7566958c0f8f144e93d0334a8eb8b5a048e9a20a9be6a816b02", + "collateralHash": "c8598f19ad87fa49790d3f1184262293549098f35f2cc14acae5a758b7c8c284", + "collateralIndex": 0, + "collateralAddress": "XgSRaEMSbTuGuhVMxRctFYxFuoxShbvBvJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.239:9999", + "registeredHeight": 1029328, + "lastPaidHeight": 2126507, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwaa2PRBwCYMJJPHFnZAjt9Vnzt9VDUh4P", + "votingAddress": "Xwaa2PRBwCYMJJPHFnZAjt9Vnzt9VDUh4P", + "payoutAddress": "XtY65wjqvfrNMhvjs7GD3mSqnQyfybsQWe", + "pubKeyOperator": "8192ba0ed679cc7bbd23925efd48a79ee17146136465456d5ae3f8f644ffd7baa0b9ced3fe88fa2d35fdef807952b592" + } + }, + { + "type": "Regular", + "proTxHash": "b5da9e91919865ab515979e9868ff97da7e7cfa52cfe922b67ebc46d0182881e", + "collateralHash": "b8ad3ad9d3fda1693168d155c81f9b7c641925e063613994d98386341e4e0724", + "collateralIndex": 1, + "collateralAddress": "XtEkRBBWc4irnryiMuw2uuLhW2XJqtVzKQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.176:9999", + "registeredHeight": 1029329, + "lastPaidHeight": 2126099, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948735, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd5RMYvKA7SB2p26r7DN7khyB3wrcYXZ76", + "votingAddress": "Xd5RMYvKA7SB2p26r7DN7khyB3wrcYXZ76", + "payoutAddress": "Xr6TX5KFP9wKSvq4UmooXv1djgmUz4rmG8", + "pubKeyOperator": "00451bf80050d40a9d7c2b23f0bbac25d82581e08d74eaade0fe44f280abbefb843e4ae8a3316f4667ad20ec8b032f30" + } + }, + { + "type": "Regular", + "proTxHash": "58b38dcb81ddc582ef54b94ce8a7b847ea15728e5612be42d45513e3110d7f34", + "collateralHash": "215dbda087c7c31c9ba7c648bf3478f0fa1e3275ef25af7fdd95976c00f319e8", + "collateralIndex": 1, + "collateralAddress": "Xuyr2grKqhYjYdhxEgbCg61WZDqgZ2LX2m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.245:9999", + "registeredHeight": 1029329, + "lastPaidHeight": 2126196, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1271953, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpvhN1DEhWppF2GjASNKiFQeGFweNLWSrF", + "votingAddress": "XpvhN1DEhWppF2GjASNKiFQeGFweNLWSrF", + "payoutAddress": "XvEaZYAxGtdT4mMgJ6bGbd7JLzkcUeq8GY", + "pubKeyOperator": "0c5e523c4be2c7acda6b71d52fee336131e133cdfc1272768a16e87c28d5c9a0778a9b44cf16e6a0b043382cdcb82d68" + } + }, + { + "type": "Regular", + "proTxHash": "a569acf816ff49a72c18a62bdcc59bb95ed962c9c6ceae2fb4006e30d1946700", + "collateralHash": "e71d353a0daccb2e1e8f840de2f2d044d3f42d8bd8791092b6181977bcafa7a5", + "collateralIndex": 0, + "collateralAddress": "Xaxmqs8nRZjeTmiTSJVmcRUaZLSpr7gTT5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.240:9999", + "registeredHeight": 1029332, + "lastPaidHeight": 2126125, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948760, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuDCe9eAmU9nhQSmwY8iMrUH5bB3qrzPcG", + "votingAddress": "XuDCe9eAmU9nhQSmwY8iMrUH5bB3qrzPcG", + "payoutAddress": "XpeY7R987NXvmqBUaq6hfd41xTLhTvQUMV", + "pubKeyOperator": "1861fb12213ec53e74b34a189a89594f24c670e21ecdd2246bbdc1bb95c00a02191579e8c841cdcc9d58ff82692970cf" + } + }, + { + "type": "Regular", + "proTxHash": "e0675980b1979c33d9df71dc5a27fb3c2e7b0e2b467321049b294cb20c6ff048", + "collateralHash": "fffb5b9a61856d3fdd10570cbba14316382fa15a29d7daf593e322b6dfee1250", + "collateralIndex": 0, + "collateralAddress": "XgxS1VhHp6q45bFd2YUJ645okigAWwtKKS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.190:9999", + "registeredHeight": 1029332, + "lastPaidHeight": 2127809, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876237, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XazT1zZfqETqVEwy9mTSRZcqL6wEtjDbBh", + "votingAddress": "XazT1zZfqETqVEwy9mTSRZcqL6wEtjDbBh", + "payoutAddress": "XqfLo4XdaMGev8KnzRnAwg1AANWXEh5qZW", + "pubKeyOperator": "065c796228b9e6a444c21a5376fa18f94480d5c71dedf481d6e27907e26db7aa0ec4d1faeb216744772fc662315df85c" + } + }, + { + "type": "Regular", + "proTxHash": "de4ec2421addff6d4f16c24fb9cab0751e6a46dec809d6b4e0b100dfe32df6ab", + "collateralHash": "bc150d32a225ec559719546df9369abb7c9db5cea17d6897966d719923334f3a", + "collateralIndex": 0, + "collateralAddress": "XazVXwzJURYuKN48ZHYkCRKmLVgRed3ZWT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.177:9999", + "registeredHeight": 1029332, + "lastPaidHeight": 2126103, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948735, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwPavFNLj4DHHbvsMZ8uSKNtLZ9m9exx36", + "votingAddress": "XwPavFNLj4DHHbvsMZ8uSKNtLZ9m9exx36", + "payoutAddress": "XsebS2xHngnRcb89qiwdtLjRsTVihKLV6f", + "pubKeyOperator": "926f2a61ba75c2ecd369692848e138d8d18b2474422eb1865e044b1078baa361cbad5250760bda6c5470d5181ab6c84d" + } + }, + { + "type": "Regular", + "proTxHash": "65e423fdfcdf0105e45cf9efd786bae90472a2332cfc75db484f4f0fa5aa5e60", + "collateralHash": "cba60508df5c189414f60600f3d0cfef3370ec199dceb0c6d2a4ea3620e26e50", + "collateralIndex": 1, + "collateralAddress": "XbnNSYdFvi9rbZwAsSQhNMxYqAVSdrryms", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.179:9999", + "registeredHeight": 1029334, + "lastPaidHeight": 2125777, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820783, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyL9FHHDTfwofie2rDbGzRjjZQEN8VDv4C", + "votingAddress": "XyL9FHHDTfwofie2rDbGzRjjZQEN8VDv4C", + "payoutAddress": "XhTbhpgWvTb4Ki1cxShsavpDaVHrTi71Vw", + "pubKeyOperator": "85ff78e51f591b465456a2071c0d760a3fbab350a8914701d07e369edd92bf4db71320bf9a572f991070dd936a45129e" + } + }, + { + "type": "Regular", + "proTxHash": "cae8ea64148ed721a5bae7882df125c931266f86a2bd4f47c29723c571ed9178", + "collateralHash": "94f6e909c2a36cb7999bf722a7208419bb1b40ae58d975bf0e58605ee36da431", + "collateralIndex": 1, + "collateralAddress": "XqYp6vLVfDdkJ2977ZNoxeLapkbTWanQPb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.231:9999", + "registeredHeight": 1029334, + "lastPaidHeight": 2128651, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1572870, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcC7W8KwcLjm9Rd49dFC8vyNJ1AY8M5FdW", + "votingAddress": "XcC7W8KwcLjm9Rd49dFC8vyNJ1AY8M5FdW", + "payoutAddress": "XwWs1kmbkbSkA3KrWKPDMiNZUxD4qyfC2U", + "pubKeyOperator": "0e70519ed62505531e3dccfc8b463ff6b1fcdcb908ea0080934f966eb33af63d37e3906a07766d632efe990a25142765" + } + }, + { + "type": "Regular", + "proTxHash": "ffd6d22ab773cc667432e548b8956662050b0924f335b29bce8055749f99206f", + "collateralHash": "be92dd717a12b251d273ae3ca5c9c43575f32c7fea86244f12109fa841a59b50", + "collateralIndex": 0, + "collateralAddress": "XbypeBTdKqJNdWAzKKA13FGV4ZN8DCRYe1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.246:9999", + "registeredHeight": 1029351, + "lastPaidHeight": 2126671, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt2egPDu4xy7QR4qAi7GELa1CZK9YPnDf2", + "votingAddress": "Xt2egPDu4xy7QR4qAi7GELa1CZK9YPnDf2", + "payoutAddress": "Xo2w6T1PjgaZ4PHLcoceueAQZifdDQ5ViD", + "pubKeyOperator": "90571176dc000c4372f51d9603c93034cf37d8254ac4ef6d7aabb7ca5fbca03f47b02184c08e04160d976a9e177ab50a" + } + }, + { + "type": "Regular", + "proTxHash": "5d53e276bf2fade8f8fe7e24548341ccd7058aabef28914b0505e305e6b11b7d", + "collateralHash": "52099877ab5ab8fbdad492d9c150f13962f541131ca2232a9bba796dfdd01041", + "collateralIndex": 0, + "collateralAddress": "Xsn76jPQNUdda8MV2JQxn8a8bnYmoxwxMs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.242:9999", + "registeredHeight": 1029351, + "lastPaidHeight": 2126941, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986138, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XemZq4maM6JLqdfJU9msgVqp9KfFM6MJZj", + "votingAddress": "XemZq4maM6JLqdfJU9msgVqp9KfFM6MJZj", + "payoutAddress": "Xm7n2Q5roqggzDtgXgVZiNVZS3soEgwXYs", + "pubKeyOperator": "03437877af6b89c0305cb891dd31d009d8257572628c1da93b2e2f9b4ee5eac1924613d43409f8b3d267e24bca63ddc9" + } + }, + { + "type": "Regular", + "proTxHash": "eae6ac386bab3b6963f9f6ec18253661bc0cb0088c61297ec1c6cfd01c2f68d5", + "collateralHash": "79c60069f25a4792631b071afdb57325709bb024b5aea99201809d2cb0912559", + "collateralIndex": 0, + "collateralAddress": "Xmh5BcQvSNM9R2K6bsvJgM7wzagTSaKqc1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.178:9999", + "registeredHeight": 1029351, + "lastPaidHeight": 2126104, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948735, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcPN4FmyLKL8sHRQmxm65JkspEDGDGr1gQ", + "votingAddress": "XcPN4FmyLKL8sHRQmxm65JkspEDGDGr1gQ", + "payoutAddress": "XshGkfr9KW6Apzn62Jid8RbDAjDzeSzGGs", + "pubKeyOperator": "0e174ae474071ca7d9bcd0f8f1d011e82a59639faf2db95232e07c48ddb04885a1239135e90be5f640dc149d07798ccb" + } + }, + { + "type": "Regular", + "proTxHash": "c5c4612ee4dff316beda43489e5edb5e7e11d84796f07ac8d2a4bfb4e5f72b27", + "collateralHash": "fa4ece9dbd055edd7b5b25c6cbde73a8e6a328741b2a25a8596a03a7daf080f6", + "collateralIndex": 0, + "collateralAddress": "Xc2WhsNaFE2V2YFEor6FqBoZRS9WnNF8qm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.241:9999", + "registeredHeight": 1029351, + "lastPaidHeight": 2125789, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820787, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaoiNAs1Q9u14n824NL1fdNGyXyCiTky1j", + "votingAddress": "XaoiNAs1Q9u14n824NL1fdNGyXyCiTky1j", + "payoutAddress": "XjL2UvLBAfL66AjujQxGZmj2iiD5H7hfxE", + "pubKeyOperator": "96a49f41704cb6a365aaa537b23ca8592db9790df76a65f2a8fa45e478a5fd8075fbc842e98b738174d8ac16061bf7ae" + } + }, + { + "type": "Regular", + "proTxHash": "856e1ad9987de4859b7029405065675bed79592cd6802e2ed885eb5dca95a97c", + "collateralHash": "04d2357313d65eed23040802f56bac0ac2fe7d25039c504ed20ce3afc22b0ce7", + "collateralIndex": 0, + "collateralAddress": "XigCbQGw82RdcjK5Tsa3VxrHvE4qC4EFGE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.225:9999", + "registeredHeight": 1029351, + "lastPaidHeight": 2126688, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xeu7WC9soGtZDvLTk7m9QgSAA1ZNWNDuDa", + "votingAddress": "Xeu7WC9soGtZDvLTk7m9QgSAA1ZNWNDuDa", + "payoutAddress": "XsihM3ie5sRB8zDH2JVTpFsKHzXR2WUqF2", + "pubKeyOperator": "04d6645744e7bcc14b986de35930162452a5f7229a46bfad5f1d39da7f9205ef56fcddefd2fb14f8ee7f7f340aecbacf" + } + }, + { + "type": "Regular", + "proTxHash": "5e4c3a248ef6de76efb8fb0193a20a7cdc44c25abb78bb075f2713315c94285a", + "collateralHash": "ecdba96ee84521755ab8ec31a7a291938f143f6023f6a60226f995ce8f024cdc", + "collateralIndex": 1, + "collateralAddress": "Xttqnkhf4TfyzK4nvnoRJu8nTWydZahNor", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.243:9999", + "registeredHeight": 1029353, + "lastPaidHeight": 2126692, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XknCRzCqY8ig8xXKJdKr3WLsvT63ALXeoX", + "votingAddress": "XknCRzCqY8ig8xXKJdKr3WLsvT63ALXeoX", + "payoutAddress": "Xn69eru9uKhyGqDrELCFsqkRdNcDCbhPym", + "pubKeyOperator": "157ceade87a403a3bc127d8f7f849d5d62e1e7dd3ebc9b71d4521f9b5085a82fe0ab3c8d59010a4289bbab3362472cbf" + } + }, + { + "type": "Regular", + "proTxHash": "8410079cef81f5b6a054c5f94c528d6c9099a3301dbe6f02b0d87a361b581ac1", + "collateralHash": "a11ad46cae87da167bd698360eb67fe8dc9b680e738b1f57d4d846b78b9e5815", + "collateralIndex": 0, + "collateralAddress": "XePVjiPEgFxLF1E7sUB5tq8hYzrDpuGPmn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.226:9999", + "registeredHeight": 1029354, + "lastPaidHeight": 2126989, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986171, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsmidmV3pM5wBCVVtd4Cr34Nq8WAKsjEDT", + "votingAddress": "XsmidmV3pM5wBCVVtd4Cr34Nq8WAKsjEDT", + "payoutAddress": "XfSiabHjXV7vkrZ3VEMfKXXy1X6LwxFYsY", + "pubKeyOperator": "88403efbdd1fbacc498d5cb83b380591cbb18d9189e1900775e2595d608660a53a5428339f4f98d9dfb2ea6246b0ef71" + } + }, + { + "type": "Regular", + "proTxHash": "e8b598360aad1d29903e54fe0ca8b36b855f9026a1dccd0ff52f2247bcf6d5fe", + "collateralHash": "cfca25072d479a7ba5fca77c3e33d80d34fdcb2e9353a9703fed1ecc45277cbf", + "collateralIndex": 1, + "collateralAddress": "XcHB1taK9PkEk4CAZaEe8VwMgGCG2HhjWv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.248:9999", + "registeredHeight": 1029357, + "lastPaidHeight": 2126830, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764845, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvRjcw6tyLgFwEYTiDHXEjza9xtTzT9yu2", + "votingAddress": "XvRjcw6tyLgFwEYTiDHXEjza9xtTzT9yu2", + "payoutAddress": "XqWsBi98QzR67E8E9xWWfg6SfnWVJfM3EK", + "pubKeyOperator": "946e8e0b2e12135d5d32407e984962b87c1dfcc7189dee8921a107874c1845e8262381ccfe33a03f0d7de7834fd811fb" + } + }, + { + "type": "Regular", + "proTxHash": "f400ce8c09b0610ddc039345702c400071a94180e433084c3aebf59158ca3089", + "collateralHash": "ed0bd618afafa9987c589e46e9d993f8d93380fe3e794600b85b34cec6202982", + "collateralIndex": 0, + "collateralAddress": "XwJxKZuHiHEzNf6WAcdkujF2uABvHmqgcd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.247:9999", + "registeredHeight": 1029357, + "lastPaidHeight": 2128583, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2004296, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqrH9Yat3XuM6f65qj1d2VSEUCoBs15ost", + "votingAddress": "XqrH9Yat3XuM6f65qj1d2VSEUCoBs15ost", + "payoutAddress": "Xe8JH3pfm7zg5dvD52zZr4i27LaWT9pjZs", + "pubKeyOperator": "81cdbbd0611cf9807ce5cc15b4cef322bb02615d4291e6c68138e97e1d3383d6f54c2a2a9573728633e7f7c4c4984e3e" + } + }, + { + "type": "Regular", + "proTxHash": "36aee1d8c11588f6fd1f91887ddf317f11f3b21eb924968a59207c9a77ba57b5", + "collateralHash": "3f34e3bc72221ac79c73ebf45476961aed67ed37111537bee2ff343fc4cc678b", + "collateralIndex": 1, + "collateralAddress": "XuEwQXni5RznZXzz1Kqh43p1fJX5oPw9jb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.227:9999", + "registeredHeight": 1029357, + "lastPaidHeight": 2126770, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2036302, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhsG1Xrq7Bs7PWR7yhoS32MvrDWMnsYh4d", + "votingAddress": "XhsG1Xrq7Bs7PWR7yhoS32MvrDWMnsYh4d", + "payoutAddress": "XfpyVBHouxeRWq7u5ipnaoWZyJsHjFxfYb", + "pubKeyOperator": "07cbe435b4b9a5c2a35d6935edcae152b74cf4690b67167ab6bb3bfc968713b421b3396c45b740f4f47e28ad63651b68" + } + }, + { + "type": "Regular", + "proTxHash": "c98870821a35647bba4fd1cb8473f47fb545521780130b03b1448015e42b385b", + "collateralHash": "910536ef129a5444fa718601d03d7c907341e4bf06ad2097ac5078929bacd220", + "collateralIndex": 1, + "collateralAddress": "Xt944KAumsAF88VVw3eHxBhHwsGYTGYVy1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.212:9999", + "registeredHeight": 1029366, + "lastPaidHeight": 2126724, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XioWn7r9Pc3ZkDBkJVsto3r8uVKfor62HL", + "votingAddress": "XioWn7r9Pc3ZkDBkJVsto3r8uVKfor62HL", + "payoutAddress": "XjKpwTPYfJr9UTpwnikTVuNfsR6ettUt7z", + "pubKeyOperator": "0cc6225a6f31ed99e0e1fcb8bf7552d7aa42ce338a442d400d42de0fd6f05f923e3f69a84e0feeca504919b4696b201e" + } + }, + { + "type": "Regular", + "proTxHash": "58e15bd9ffafbe30c313d04d39d56c50ff1dc73b9f96d625b89239b157167862", + "collateralHash": "8097b774640887f8db90813eeba9a5da24e0d045f4a0a639ac800ce7e255977d", + "collateralIndex": 1, + "collateralAddress": "XjTj3dHyULKq8CUrVQCicasCfMNgG9HkSC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.228:9999", + "registeredHeight": 1029379, + "lastPaidHeight": 2128567, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2004289, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxt4n9kC1kgzMGaehdgSV6PmbgbRzAFk4f", + "votingAddress": "Xxt4n9kC1kgzMGaehdgSV6PmbgbRzAFk4f", + "payoutAddress": "Xqajnc3xTktQRinhPgZAErHsMj3i9DD8W4", + "pubKeyOperator": "07ad3633714ee3ebdf1ba552d8b121af21a7146f9188bc392391f8709e82b0fb39507100e20476ea33032d0e01991c47" + } + }, + { + "type": "Regular", + "proTxHash": "b71d199a89c5d5553923460b6226ae4a39ea982eb9d0bf5487782b0a777eeb7a", + "collateralHash": "ca96f090c1a9ec4247ba6c9a9356f4c60e12e37d764c3f9f9389df91d7eebfbf", + "collateralIndex": 0, + "collateralAddress": "XjVpVufztErz65rV3FxpLLzB1RnM2zy91o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.229:9999", + "registeredHeight": 1029379, + "lastPaidHeight": 2126768, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvMArSvR1EwRdt8gJxG6JSnPhUgRaRhowG", + "votingAddress": "XvMArSvR1EwRdt8gJxG6JSnPhUgRaRhowG", + "payoutAddress": "XvaGyXAcyYA19SvMhgR5Qh6c2VLRQNfF5W", + "pubKeyOperator": "8be9b7504bb89ad6530a25478f0310027e3f5bd8f62ecabbd725458f5352f6050bb2038ceada3346eab15227bd3a6e43" + } + }, + { + "type": "Regular", + "proTxHash": "ce4153fbfacbaf75e5afe167379829e4d2076efaf11132c2687d7a55310d31d1", + "collateralHash": "03838b8c9233e0b60e68817c4a002eb3098bb11979bbb8056978669064aef2ff", + "collateralIndex": 0, + "collateralAddress": "Xt89s798ewCpB8Xz8jwu3sApHEBdubrjpA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.93:9999", + "registeredHeight": 1029380, + "lastPaidHeight": 2127748, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986847, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoeP7fs4bZvsaxunJSyzMALW53NFkiVMut", + "votingAddress": "XoeP7fs4bZvsaxunJSyzMALW53NFkiVMut", + "payoutAddress": "XvneF5rRa8mSK6G3Gasr4MkTZpWpPcKscf", + "pubKeyOperator": "8c2c18d0a8125aaa8f5fc6ac2f1885292149ec5b3137cf9e856613f1eeddceccb95c01d654c2649e864e8e6b0f16ada6" + } + }, + { + "type": "Regular", + "proTxHash": "e8b9d59a23d46b7af2b77006896f62b71b353c9cf81834faa2ce7cc0902dfb1e", + "collateralHash": "64f9491f6a70c649b5dbb5599f5292347edce6a5b8a0b585e7a7437abe228591", + "collateralIndex": 0, + "collateralAddress": "XoEcQpoTdb4PKY4fBcjtTsQpDtDHgpZL7L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.22:9999", + "registeredHeight": 1029380, + "lastPaidHeight": 2127004, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1350023, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnxe9fwrKaPU5DWhFwPBksKcdBZG5Y7xJa", + "votingAddress": "Xnxe9fwrKaPU5DWhFwPBksKcdBZG5Y7xJa", + "payoutAddress": "XxmHXuxvJJFWJJ8qSZE8en3cewCdyNTA8U", + "pubKeyOperator": "95d3c42c3ac01e0410c2582654579bcdd2bb2036fc2b2e880a7ce44c538d56dda48b57c8ab4d1b285b5ce64f2505b732" + } + }, + { + "type": "Regular", + "proTxHash": "4930133c83958393188b359636a293e20cf9b7c37497e75e9cf4a2c42ec6d176", + "collateralHash": "c5041f6cf322535d48dd51fc8af0111888bc29a1377a5016a630dbc6770eedae", + "collateralIndex": 1, + "collateralAddress": "XmdgF352zA6tSHwbFUBMYuKdxvQkTDPC9k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.21:9999", + "registeredHeight": 1029380, + "lastPaidHeight": 2127461, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986598, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwXiwCWEJe6mFsz9FnrRcyNk91W8Ny2ndh", + "votingAddress": "XwXiwCWEJe6mFsz9FnrRcyNk91W8Ny2ndh", + "payoutAddress": "Xhpb67w2KfVqcAU8Qbrex25cSb5Hqhwehb", + "pubKeyOperator": "99e62339847d6d36b0eee5ffb927f1660debdedbaa9ae0ad6b748159c91436ea5a5da6c75900b2e96304b5c10168dded" + } + }, + { + "type": "Regular", + "proTxHash": "834b8b76d9a8fbab66da322a56e738a303afb5947b91507b51a22c10c29aa509", + "collateralHash": "c332536595b5354645c627a00dd9e7687cf3d5db6098771383a2eb4c49d6044b", + "collateralIndex": 0, + "collateralAddress": "Xf1SQtY21kVdnzAZngDGpDUTEZuRDmyEB4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.94:9999", + "registeredHeight": 1029385, + "lastPaidHeight": 2127193, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1315975, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwFomdH9pajsVsz8mgBsVzapcAFA6BUno6", + "votingAddress": "XwFomdH9pajsVsz8mgBsVzapcAFA6BUno6", + "payoutAddress": "XsXSgQpnVKX8hhyoVcqkCQgXRx6mmMdN3F", + "pubKeyOperator": "9132aed3d970adfefc2f560555fe99c0535c1ce2913f91047e45d6cd815cb1273208187a86ec31be6b0f8e1af62b907f" + } + }, + { + "type": "Regular", + "proTxHash": "929976d218efd33fabcea8fe87fd987f3189402476112d1df6284b93c0f81f4f", + "collateralHash": "160d6d9240831b606b3f2c634a2472d172c7d4511f1d692a156883255c87d70a", + "collateralIndex": 1, + "collateralAddress": "XkEfzxHZj7LzooSQAbP525Vju9BMfVQWQM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.97:9999", + "registeredHeight": 1029385, + "lastPaidHeight": 2126777, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtdL82y5dZNhHApy7wKjq3EtjkpiTDDJuU", + "votingAddress": "XtdL82y5dZNhHApy7wKjq3EtjkpiTDDJuU", + "payoutAddress": "Xy9zARXCevgFz1zxtaRe42fEGnSrBdDELf", + "pubKeyOperator": "02ab52425100d319bc1b5e1382c4eba074f73f2ae94f6e1713ffd9a0f513b541f44d9a0879f48fdcaf3521ebd3b734e3" + } + }, + { + "type": "Regular", + "proTxHash": "da76c71b2591058a2cda16903c7fec2ae447d75be83c8a6d8b687b1ae6d224ad", + "collateralHash": "90e09bd52fce7ee4e883388c8f8e1331764c8730a533c7920e2967efa126bff0", + "collateralIndex": 1, + "collateralAddress": "XvXF4tSroWp5ejyQWx9LNrR5bKkxciDXLy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.96:9999", + "registeredHeight": 1029385, + "lastPaidHeight": 2127265, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986408, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrYhgsUASKknugeooVRhKLrULW8oddZVmH", + "votingAddress": "XrYhgsUASKknugeooVRhKLrULW8oddZVmH", + "payoutAddress": "XhZCdbSACdVZWZr1P5gSnGBchpXSDicsSV", + "pubKeyOperator": "100a733c6eff643d68f8af2db4ae89f4b191b042b5feda21ea7237a99583a51fe904c57b3d6a7d998b6278537bffa4a4" + } + }, + { + "type": "Regular", + "proTxHash": "3f06e7c308f0476584a99bb8c687ddb52e5b62f5852fef243366f4336f53c2cd", + "collateralHash": "fd085768a8815dba66fecb1b99d62665c68e827927c88a71408cbac76242fa60", + "collateralIndex": 1, + "collateralAddress": "XrHRoH1NQEohKNzAAyytdzs4p69GehGwwt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.23:9999", + "registeredHeight": 1029385, + "lastPaidHeight": 2126043, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwJe8Gjbzh7REp7dv5HC78DXzuHAFdU4RY", + "votingAddress": "XwJe8Gjbzh7REp7dv5HC78DXzuHAFdU4RY", + "payoutAddress": "XfK4aoQHLxjitzLeXsTQCaG9VhywBKqVus", + "pubKeyOperator": "83a556ddb1a3ce59a3d2d08ffc03cd291efa0d163188932c766b0326dc15eb73472f26eafc1edf5cca2db5745a932611" + } + }, + { + "type": "Regular", + "proTxHash": "9204f1cb4d44752e48781c9dbec1c98ca93b2392e0108e616f5adb78922190fd", + "collateralHash": "30c5240a257e298955d6e332ca5664b310b18f24c77b4fd643ae81a713fc34bd", + "collateralIndex": 1, + "collateralAddress": "XbFLQQhmPg9KnzQry7HCk8R1fUsDZpKvCW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.95:9999", + "registeredHeight": 1029385, + "lastPaidHeight": 2127278, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986416, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgkPLdYFmi4Zbgv8LmhBirfA5vABCQHko8", + "votingAddress": "XgkPLdYFmi4Zbgv8LmhBirfA5vABCQHko8", + "payoutAddress": "XwCHkG38a5cB61j9teG1zFSpQnQT1X6tfb", + "pubKeyOperator": "84ae61a283c1c4dd6667fecfa8a963362d9747f43b2942bc48e9bb93c6de51ef9e7925a9c6adffc2492318dd7ffd10d9" + } + }, + { + "type": "Regular", + "proTxHash": "9951c932fa70afcee01a3fb2caa49b74c81618798bf1d3e9744dfed82af48406", + "collateralHash": "2e3b2ed8171e9847487bc3a713be1ac0664515621152977a1459f6b818cf0a25", + "collateralIndex": 1, + "collateralAddress": "XvoeiWxMxg45XcRTRejegwzbfVUnRUuXPx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.98:9999", + "registeredHeight": 1029392, + "lastPaidHeight": 2127259, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986403, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq49uHJ3T1Qwi9xRrnYdXWu6zscfMk9j3e", + "votingAddress": "Xq49uHJ3T1Qwi9xRrnYdXWu6zscfMk9j3e", + "payoutAddress": "XffseypcSXeboZdy4hmqMtPx3s1VNT35oV", + "pubKeyOperator": "972935cb28ac518159a9badc53452c65bfa45566c8f15250f7c3b456d7ba8010233104fa3f6efe85146e778891655513" + } + }, + { + "type": "Regular", + "proTxHash": "b99c926d56c8414ac217ec92211f4682ddb8aefda94e536d106171b4e9253b15", + "collateralHash": "35d56c4f32b660d47f30f476d932145b08adf955845524738e8c1b3b147562e6", + "collateralIndex": 1, + "collateralAddress": "Xg3JHiy5vpCVn3kiLza45kD6f9oZxeJwgb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.24:9999", + "registeredHeight": 1029392, + "lastPaidHeight": 2127633, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986818, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XreyDHVv6ADXRBUgUG85TYTVXttpguLfwR", + "votingAddress": "XreyDHVv6ADXRBUgUG85TYTVXttpguLfwR", + "payoutAddress": "XipKqCpoYjyrbZJiFiigdoXa3NxLfRT9is", + "pubKeyOperator": "8eb3e59c661e5a525935d21dae4baff0b9950bb0d4dbc8b522d77d0246651b31c9471d31b233ef7df37cb401e350be8c" + } + }, + { + "type": "Regular", + "proTxHash": "0bb46b2bc2f96443584250c1cd9252f0143862b6076fcb0ad3313f19a66b7382", + "collateralHash": "06b1be20e0ca1516251daa10193b48099b5549dc5c21ac7f4ac4ac013991618a", + "collateralIndex": 0, + "collateralAddress": "Xj1aKrhKZtzmk7xBGBjaLoFcTqQu2aEAqj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.99:9999", + "registeredHeight": 1029392, + "lastPaidHeight": 2126967, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761172, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgmf3XH7vGSTEAVixRQvfZKA2LypjMX6c3", + "votingAddress": "Xgmf3XH7vGSTEAVixRQvfZKA2LypjMX6c3", + "payoutAddress": "XesxuBDHNjq8HtJKa5YrwSRUexxiofHn2V", + "pubKeyOperator": "958a21a0fc82be0c0dfa80b44aebce0025cfce50c4a97d69d7d37dc800501eb93affe736894bd45106b7e5d8ec9ce028" + } + }, + { + "type": "Regular", + "proTxHash": "4876aa185b47d522fd0f5b0bf00f642cdfb0a290037d4d53182ec7612a57f55c", + "collateralHash": "1a5a678eac76ede53fbfecde516501534e7ec2b8c2b83167025083938f07c6e4", + "collateralIndex": 0, + "collateralAddress": "XdW3ajwVZo8aHZLqU7hNK9ZoY8GhYzVNrV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.102:9999", + "registeredHeight": 1029392, + "lastPaidHeight": 2126903, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764896, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnyCsPcXBsJkpxZnuF7VVy19DAzeDvXhMK", + "votingAddress": "XnyCsPcXBsJkpxZnuF7VVy19DAzeDvXhMK", + "payoutAddress": "XrUMAgkSvv7aD7ffbndF9mWbCzRGWsmF4a", + "pubKeyOperator": "8991ab154c52c83e62da2387cdf4b39ff9dfc72890b37be3b498e1daa547411f2b73a459ec58a8e6dc5e37a8b37e131e" + } + }, + { + "type": "Regular", + "proTxHash": "a284dc65db52b3e3f942f9a83b4917170fb8256c9546bd7086649a99b794a7dc", + "collateralHash": "40c918a9785dcdd9f590055f1db6b233c1e86ab7d0a0b3470b27f366104a5ee5", + "collateralIndex": 0, + "collateralAddress": "XgdJo9szJbHSaybFgGMsFNGGnxu7KyrpZW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.25:9999", + "registeredHeight": 1029392, + "lastPaidHeight": 2127663, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986818, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdMJhZdewS9esR2MRw5JVXPXqRW1nAZY92", + "votingAddress": "XdMJhZdewS9esR2MRw5JVXPXqRW1nAZY92", + "payoutAddress": "XwKJApsrnKbYXaCGUJ79wwT8pSLtQUpaGZ", + "pubKeyOperator": "96a5b6ed9dd5a50d3bbb1b184368258ed8954c42beeef72c8c52deb5a44faf598a1da8cbf7130906c7b613f030b5d8f0" + } + }, + { + "type": "Regular", + "proTxHash": "b126f9b1a05a6257efee560633263f47755d1ab76486a31c2ef17d7f81f7d845", + "collateralHash": "5a704ec0ecad28933bffa712f8d0d0a30b70b61db58a99bc0349a7a3b873990d", + "collateralIndex": 1, + "collateralAddress": "XrzwpVwcT3tkYtPhkjUYDQVwqNkBfEerTR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.104:9999", + "registeredHeight": 1029398, + "lastPaidHeight": 2126899, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764893, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkTCSEdNZ4e3opoLYeec6JSpHE4y54H8UP", + "votingAddress": "XkTCSEdNZ4e3opoLYeec6JSpHE4y54H8UP", + "payoutAddress": "Xb9hRXoVS5udsGfmZN9tCqQZf25jMxXu2n", + "pubKeyOperator": "085a3b6f1e747579c963a6a02c9877513e0ba7ef31bc522dcaaa413a41216d71dcd47ea163aafc4ac33fd1959c9b5e6c" + } + }, + { + "type": "Regular", + "proTxHash": "f68d416e8237718d9d6042249ef0d658845ab12234e1af554270fd989dfc4708", + "collateralHash": "49d6a7e829ce7e7ca9fdbe22426668b52b91ca5d9b3ed01ee1964d39a8067a3f", + "collateralIndex": 1, + "collateralAddress": "XyLwHBcHeUn7ARxx3s1RMEpNbq6LAkMskH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.28:9999", + "registeredHeight": 1029398, + "lastPaidHeight": 2128575, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2004294, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtRpbEQAQCRT77ygiAy8RexaUeFYuZzxUH", + "votingAddress": "XtRpbEQAQCRT77ygiAy8RexaUeFYuZzxUH", + "payoutAddress": "XswbjNproZmpEvak8KinGTuuBmDcBaMQJa", + "pubKeyOperator": "8525b86bd5524720e62ed1c9d3a84b4dda822697925f78df6d0a84f5248b611325d0bfb81fb03c3b2008ea0e7839e1fd" + } + }, + { + "type": "Regular", + "proTxHash": "1dd4ec053e0c6fc74c9ff8f45fb6e2440c01cf94f1f9a67bc55a2b47b5ed3f81", + "collateralHash": "3a43b54a0f29d5c3a4081a6bfee6d48d72797397451c47b519b43cb8ca27f2bb", + "collateralIndex": 1, + "collateralAddress": "Xk4XKXEmctp39GvN3VYsZN7u9HmFT969of", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.30:9999", + "registeredHeight": 1029398, + "lastPaidHeight": 2126143, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948766, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi8NvpEQmDXqHzKT5YdVrY27ZAZVE7PDMq", + "votingAddress": "Xi8NvpEQmDXqHzKT5YdVrY27ZAZVE7PDMq", + "payoutAddress": "Xw6xdMGYPk1fZ5MhwLiYarsgxyANLBXMRL", + "pubKeyOperator": "932d5453579dd2ba979738389cba46a9c4930be8d41266204acbd28bdc01931aaee32cbbe98bdd0976e07fe7a7e33ab5" + } + }, + { + "type": "Regular", + "proTxHash": "5651057fe97b7f8c40512087ee7ea55eed7161e47be8901c6f5c59a7ae189fb4", + "collateralHash": "22ddf9af487333ae9410b96a5a080951f4ba50f636055f83bf3bb2cbd569747d", + "collateralIndex": 1, + "collateralAddress": "XehLXRTur1FryiZT2E3VBY9dQbebUU1N6o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.27:9999", + "registeredHeight": 1029398, + "lastPaidHeight": 2127747, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986847, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxyRevY7ezCiBMPp4RM2CNzmtLHq5ymYUu", + "votingAddress": "XxyRevY7ezCiBMPp4RM2CNzmtLHq5ymYUu", + "payoutAddress": "Xjs3xoTNfLLy7EwUiUkiWSkq11DwxHXFDQ", + "pubKeyOperator": "8b3f00590d0f05443def6a67470e71de676d462d8dfa902505c21d5056e8f3c94eb9d9893130f9bd0ff3f7243c3fb530" + } + }, + { + "type": "Regular", + "proTxHash": "30fac3990292aa3455665a6cae3125c21dfff2edd2c3815bff1d371e0ede39cf", + "collateralHash": "b8cf2076d1d278fb424b79342dc1f562ceca0c0f88670cea62448f36577ce121", + "collateralIndex": 0, + "collateralAddress": "XfwNNTdm6B73UymgSjuVv8wi9ZxrT4ZvrF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.29:9999", + "registeredHeight": 1029398, + "lastPaidHeight": 2126847, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1871822, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhu4LhK9aSpfK8V5ZuNGTXAmUJWvDfEwJm", + "votingAddress": "Xhu4LhK9aSpfK8V5ZuNGTXAmUJWvDfEwJm", + "payoutAddress": "XrrJ8n3BEctBS34KDu4vxqxYtzfXgxVV42", + "pubKeyOperator": "90d533885a7607f41f49095983563db64dd9c0973d2b5b369f527abad7fade38ca923f83146dc3c56fe1c7422d00a2d3" + } + }, + { + "type": "Regular", + "proTxHash": "8c68c93de1153b98f71805439c6236d6d767a44dca161e1c81816923dab242ba", + "collateralHash": "a9fe925c4157079708d9788d29657bf46807aa0e25fa88a2866e40b00c854228", + "collateralIndex": 0, + "collateralAddress": "XxBcvwod3dTb1riTpwHYXbrs4s8KPqfMwQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.47.114.233:9999", + "registeredHeight": 1029420, + "lastPaidHeight": 2116544, + "consecutivePayments": 0, + "PoSePenalty": 3851, + "PoSeRevivedHeight": 1891257, + "PoSeBanHeight": 2117994, + "revocationReason": 0, + "ownerAddress": "XbYQsznqPgRvJSSwRMSpnPZBewsYNP1FpS", + "votingAddress": "XbYQsznqPgRvJSSwRMSpnPZBewsYNP1FpS", + "payoutAddress": "XxBcvwod3dTb1riTpwHYXbrs4s8KPqfMwQ", + "pubKeyOperator": "1767cefd2a49a4bee661234d9298298a125d670f52789ac3ee0f19c08df60f3bf241917a51d10e1157702c107bf31ff2" + } + }, + { + "type": "Regular", + "proTxHash": "94c28ef1b760fd6d14879300ac8900bfc62ff79542ecdda95de3fdbd827c163e", + "collateralHash": "534bb8c628810e1e0b6f0fa433dd40e96d0e4b97728d6a5e914a48c9330e53f4", + "collateralIndex": 0, + "collateralAddress": "XuAnEsXCK27bw86iuTSUqCTyak1kdadVwo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "116.202.26.174:9999", + "registeredHeight": 1029420, + "lastPaidHeight": 2025103, + "consecutivePayments": 0, + "PoSePenalty": 3836, + "PoSeRevivedHeight": 1891271, + "PoSeBanHeight": 2027562, + "revocationReason": 0, + "ownerAddress": "Xs9asbujUkiBMdw67nXYFVaCNKx9nq8d78", + "votingAddress": "Xs9asbujUkiBMdw67nXYFVaCNKx9nq8d78", + "payoutAddress": "XuAnEsXCK27bw86iuTSUqCTyak1kdadVwo", + "pubKeyOperator": "0d9bfabe954a2b41026519abb9c671acd1b7960337943898a60b84c6c3dec8dca3b80fdf59b80bbbf76db4c3dd84cc16" + } + }, + { + "type": "Regular", + "proTxHash": "86a3602ed3c2affe0e9c2f381ddad5271d4cf6c765e0db4f96e1bff7c3a2fe70", + "collateralHash": "51344dd4401e4181e3729e14c397681196aa6a3429b7227ee2c2601b8340eea8", + "collateralIndex": 1, + "collateralAddress": "Xu3aX8fsBshvQc5xJovSSoP6KhYzNsbTPW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.31:9999", + "registeredHeight": 1029431, + "lastPaidHeight": 2126909, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvaCpB69QixN9QiA5seHxnrhpqJkUa5mnP", + "votingAddress": "XvaCpB69QixN9QiA5seHxnrhpqJkUa5mnP", + "payoutAddress": "XyWyu4bCPsKXg9SfvcvS9EFUTXVApvNx2W", + "pubKeyOperator": "0b18b79f40b3e7fe4b16ef532e7aad60305feca9851141d91e008dd4a6b432c499396dde36b95b82423030009c617927" + } + }, + { + "type": "Regular", + "proTxHash": "e88d13ab3fca65e393dea5706f6c25f20402f5b4254c332d047bc1811f7f9fc1", + "collateralHash": "db5651d234ce8a3ce5d32346f72260b051edf430471317776d4701177294e788", + "collateralIndex": 0, + "collateralAddress": "XnNsMDbqMCXt2w9hXzYXYG9ep4GCdNmEko", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.32:9999", + "registeredHeight": 1029433, + "lastPaidHeight": 2126117, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1963540, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw5RJwbgCNpJYfXgG4wdinom97UyvsjQ1m", + "votingAddress": "Xw5RJwbgCNpJYfXgG4wdinom97UyvsjQ1m", + "payoutAddress": "XoLgDRUtE9KBCajmyFXVLABhz4k58rjXkE", + "pubKeyOperator": "9676aadf1bf29bbb705ddbabfe6813d5def89e8e8d2735c4f95864e942e2b46fbb55885bf5aa2bccca9b7d54ac39c510" + } + }, + { + "type": "Regular", + "proTxHash": "5a7a0b06a982aaf0b2853df0d0e1511464d452d7eb31b5f554aba3d36dfd9bd1", + "collateralHash": "177ed4411d34b8285baf358728393945e9c8a1f05e5fc010e9795fce893b3414", + "collateralIndex": 0, + "collateralAddress": "XvSv1XoBzQoJYC2TArg1gxbLuCivtZams5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.33:9999", + "registeredHeight": 1029434, + "lastPaidHeight": 2126912, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtjADjcxo1WucgXUGcw2kpXswFPc7riAvL", + "votingAddress": "XtjADjcxo1WucgXUGcw2kpXswFPc7riAvL", + "payoutAddress": "XtzLBHFb7Xt2EkWzWepPH6RhoZ3THrWPJF", + "pubKeyOperator": "0a58f58351e62787eed69ce59771859e8988a4f6239bc1b170b38f4e560c1be220f49ab4199f193d58888ae09e521bf8" + } + }, + { + "type": "Regular", + "proTxHash": "22d1fc2c14b2b9a7b92acb02b059b48433fd53233c47cd2c5a2316ef81327f72", + "collateralHash": "527f5b7a920a96735058db32f156cc996c1d392ea3ea8f9ea166c500e497ca52", + "collateralIndex": 0, + "collateralAddress": "Xvo1SThipevVpp3SCpZhmAFE7KFATQoMsW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.108:9999", + "registeredHeight": 1029437, + "lastPaidHeight": 2126025, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948683, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XerznZmrUZ2CpkQzTCCTvT1sdREriA2TXb", + "votingAddress": "XerznZmrUZ2CpkQzTCCTvT1sdREriA2TXb", + "payoutAddress": "XkYZ2WWD14AFidpRXSjNh2R9EPsfmDQwZU", + "pubKeyOperator": "9747b402f2fd5610f37c10ff032d8b51ebd8f6dfda97a5a0c0d09e69f55c22da9a30754e4f727a6e90266cc91efbb807" + } + }, + { + "type": "Regular", + "proTxHash": "613bc1d39b2d5796b5141cdc47293a3806c08c44e6faadd20a72a0bc9e805d3b", + "collateralHash": "79a5171fae17c739e26d7172bee712dbcd4a690e005bd8c9c2cb1bd3481b76ad", + "collateralIndex": 1, + "collateralAddress": "XfwEZhZ7y8usjmoZ55iH85EHTPqjEJQ6G1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.34:9999", + "registeredHeight": 1029437, + "lastPaidHeight": 2126128, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1963557, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvbpvPyBgB7xHoUhFH39q24TdzYohXXTPt", + "votingAddress": "XvbpvPyBgB7xHoUhFH39q24TdzYohXXTPt", + "payoutAddress": "XjBqwUjktZCzcVfd3FeV4a8xkztqFutUSS", + "pubKeyOperator": "8ac93d0666114589f61181016f03b8a795c33482fab5877888e122bd4395073b3ad3156b9ab7b6267bddc2d6f9481efc" + } + }, + { + "type": "Regular", + "proTxHash": "31d42c3f3181f0e78fbcb46ffe32bfdaf20de861af7c530a8828b580c415efe8", + "collateralHash": "9acebbe401acd2b7ff37378c8a7920ed5231a2f0477967dde65d669c07fcf67b", + "collateralIndex": 1, + "collateralAddress": "Xiq1b4R7Niu9rKNJ59GMxA5PfrCFsqGZLZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.65:9999", + "registeredHeight": 1029438, + "lastPaidHeight": 2126917, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyZrJpvt5Bi8KYj7AXkjBTTBrp5o9TjRKq", + "votingAddress": "XyZrJpvt5Bi8KYj7AXkjBTTBrp5o9TjRKq", + "payoutAddress": "XbRezb5TFvG2BVuQCFUW5z8CSbZxA51AXG", + "pubKeyOperator": "1142ecf857558c08f443f2eb25dee6a083f0827d033797ecdf0f4877343896c9be9e23727c9a1acfadc00c0de6268315" + } + }, + { + "type": "Regular", + "proTxHash": "c6254e281fdada3302dcb75763db49673414b2e0f4bac173851a530668e9b81a", + "collateralHash": "3607f761d78885571485df7c677e772a1867951755d172f5ea00b807f561ebee", + "collateralIndex": 1, + "collateralAddress": "XufLFSx8McVGbLMXQu8LgpDt54RE2tUUWx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.19:9999", + "registeredHeight": 1029440, + "lastPaidHeight": 2126918, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhD95LqTAd4K53gsnYeg27MxaveyPpNUFt", + "votingAddress": "XhD95LqTAd4K53gsnYeg27MxaveyPpNUFt", + "payoutAddress": "XmvwREc9cMyQKqMAk6V6swvgsmTAqeVZHu", + "pubKeyOperator": "12ecaf7a3c45c5b9408b5a22043d3c0bacd51b8c8d7f671a888463966a44f54fc3578eb6e91e37bef6532ca05c2cda18" + } + }, + { + "type": "Regular", + "proTxHash": "83860a0f37684c056186659978d9eaa4873fa87c6a178ed84045e74eccc39973", + "collateralHash": "9a15fc6652ba1002cc15584cf22993aaf3622527db359223dcbb55018d75f370", + "collateralIndex": 1, + "collateralAddress": "Xx3EcyMSZwmVUQPi6pQX9pLrrCZGHJqtD9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.12:9999", + "registeredHeight": 1029440, + "lastPaidHeight": 2127586, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1700378, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnnj3XYK25tAYHHh3xyc4AozysDyry2762", + "votingAddress": "Xnnj3XYK25tAYHHh3xyc4AozysDyry2762", + "payoutAddress": "Xb3qmrntETU73RFHLpQ93Fq2PkbcfSaTMx", + "pubKeyOperator": "0d2ae1bf3cec9715c02ae4214bfa051a55466eff01ffa2fa01265989de7e1c671e8fe0efd121377245becbc7f62fddce" + } + }, + { + "type": "Regular", + "proTxHash": "66ee8e4560f013ac8a2f7ddc1c9835ff6330ad8641ad795140a8187f2f4f19da", + "collateralHash": "7c3411deff4f0892827eaf6c3d73ebf6d5e99cc66287d3f452f04566fafa4133", + "collateralIndex": 1, + "collateralAddress": "XxXQkEZCfbGZkyivmx31v3th8yAygxaQvF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.63:9999", + "registeredHeight": 1029442, + "lastPaidHeight": 2126921, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrmjRTfuKFpP5XJcoA37q7N4DNmzmab8m7", + "votingAddress": "XrmjRTfuKFpP5XJcoA37q7N4DNmzmab8m7", + "payoutAddress": "XfHfCwf3tq6cyUbUQ9xGrS54otmcLBZ64w", + "pubKeyOperator": "835340ee087f26f79447f3a7fe297279ef8df88c43cfd659088ae6a1c7bfa9f5788947ad8c2e0cc3ca4a59e5d1b19609" + } + }, + { + "type": "Regular", + "proTxHash": "70dbc59946857410916bfa7bf90f128c463438a2a78ef7a11d8a6cf19e6b2aab", + "collateralHash": "070279eb29ae6c2e2e61b835fc9740524aa8ab8169044edabdbce15a2bbfaabd", + "collateralIndex": 1, + "collateralAddress": "XiTRKiMoKa61TmhwDZQg7awNbe1BVJkjke", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.16:9999", + "registeredHeight": 1029442, + "lastPaidHeight": 2126042, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xew5a2FTEWnpyq6F5d2LaDXTcC776WPbwV", + "votingAddress": "Xew5a2FTEWnpyq6F5d2LaDXTcC776WPbwV", + "payoutAddress": "XxUYNVqV1LNPTHC4PKRRVt3AbE95S9nRyy", + "pubKeyOperator": "02e789569394696be01e4d9deaf1d35a659a48f6d913cd8483854f5a9d581019169ad0636bc283a1974f610136772aa7" + } + }, + { + "type": "Regular", + "proTxHash": "697cb8db5c2f854a3bde4359e30afb6b8ceb4b004445c8db553592bef15d3207", + "collateralHash": "a57bce902b934d2201a81bb539cc439ca9d18f332548aba059c6957c8ecd4637", + "collateralIndex": 0, + "collateralAddress": "XtvqQRDxkyYk3kjUcVHz1dSuqnTFYQ82g5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "130.61.120.252:9999", + "registeredHeight": 1029456, + "lastPaidHeight": 2128222, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987338, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsHfZsWfeAxSk74vBZWFhpSPcAKGcyGVXY", + "votingAddress": "XsHfZsWfeAxSk74vBZWFhpSPcAKGcyGVXY", + "payoutAddress": "XjFWkTkE9kXyEqKPcYu1x1ZaVBxGJ5RTzm", + "pubKeyOperator": "069007d36c2dc95d510ec27e74aebca0adcc2d0cb9ed33dadb862a7b5d0dc9bf1a41209a967084022e06cf510610b086" + } + }, + { + "type": "Regular", + "proTxHash": "15bfd8c4f721a7b8e5b2b99b51847fd36f0a8a6696c164eeaa6157b140ac6d0b", + "collateralHash": "367c0c003ae8272503f6b3a0a739b4b70abe5a820fe3b9aba6f87eb2a60d1dfa", + "collateralIndex": 1, + "collateralAddress": "XpzNXvvfBcJtY4HzVdHEQvGaAN1o721uYs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.166:9999", + "registeredHeight": 1029456, + "lastPaidHeight": 2125884, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820940, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfidZFvXS24PZUxr6QhL5wWsCMCeB4HsLz", + "votingAddress": "XfidZFvXS24PZUxr6QhL5wWsCMCeB4HsLz", + "payoutAddress": "XorzCAkSg8Xp9bjK48nk4bxEeLswnbNWSz", + "pubKeyOperator": "0bbd97acdd5fe47f71f05b14fa9d885db5095b02f20edf4212eaf69efbd31aaa957c272501dd328293fc892b685fb571" + } + }, + { + "type": "Regular", + "proTxHash": "8c5da7fafb0900bdad9562345f42151615f2b2bdb5cb5a574c071075d93c5212", + "collateralHash": "469de0b06394d54e795ba750ad73200c06c9b1e7d40c9c6f83818feb3ba036a3", + "collateralIndex": 1, + "collateralAddress": "XgBJNf75fGW6WH5wfp82mJgnKX6Z7NczUe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.17:9999", + "registeredHeight": 1029456, + "lastPaidHeight": 2127849, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1562787, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs6KcGYaCvLnyNxDsEKn5m1oCLQc6tx1BK", + "votingAddress": "Xs6KcGYaCvLnyNxDsEKn5m1oCLQc6tx1BK", + "payoutAddress": "XgV62CKEWTkyVKTnqwJ7xbNGdXF6CwoiMB", + "pubKeyOperator": "0bc60b15bc8666e9a1b8a5810c175d3e10db057b2a679863221434a7cfd0ac59a80a961457fe080a84fb9c988fd278bb" + } + }, + { + "type": "Regular", + "proTxHash": "44b70685d1f6f38c5f4a71c9feb7b33615e4d94cd88012b7a8f10179a349d134", + "collateralHash": "38594bdb47aa43b8a5ff41da686661f08ed2efeb4a44492479fcc5ebe7ccfca6", + "collateralIndex": 1, + "collateralAddress": "XwhWEbuqW1My3aExahbW9fYTnvMnmozijh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.26:9999", + "registeredHeight": 1029456, + "lastPaidHeight": 2126948, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkPHz8rcGGwkxN5afbgXPNwXKgCinTje9n", + "votingAddress": "XkPHz8rcGGwkxN5afbgXPNwXKgCinTje9n", + "payoutAddress": "XfzRfKPEXERnxWdPHNYGUurJrhbs1i9V9b", + "pubKeyOperator": "0ec6ed06e908e1b68891f53748e3327f9e58d49b693e82ae8ba6bd40a699a66a956bf387a7342d3095419030733b43b6" + } + }, + { + "type": "Regular", + "proTxHash": "1ee849dbe7480a9fa1b0490778dc912b449ead638ee564d043f15793a439c503", + "collateralHash": "f0d59559e3136b8498bf937c386c38bd02a9ebb488ed59f70d9d1de9e158896f", + "collateralIndex": 1, + "collateralAddress": "XfE8fhHvyHZDVax94VM2b2uUyN8QKZ17Bs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.103:9999", + "registeredHeight": 1029456, + "lastPaidHeight": 2126775, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2036311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyVn2SnHroPtowQyVZr7LEj3PWorWy5TGx", + "votingAddress": "XyVn2SnHroPtowQyVZr7LEj3PWorWy5TGx", + "payoutAddress": "XnuteLRxFWHQpAuns5FuJ6KSeanPJC58W1", + "pubKeyOperator": "8a487057ecf758df9969d847d33536590fdca1a3fdfc7ec14a0f37bde880be5aa51b848602a66b6962ac0575f47a26d7" + } + }, + { + "type": "Regular", + "proTxHash": "09e008fc2cd4c879f1e0da862e99965b001089e3f9aae1d499832348a33c6c27", + "collateralHash": "ca87a89ae1acec730b4e3214c039e87cca8a014851ec2c65de6076f29200a73c", + "collateralIndex": 1, + "collateralAddress": "XcyPA3B5kFM9LhyxMSRh67wJp7jPCmRifH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.64:9999", + "registeredHeight": 1029456, + "lastPaidHeight": 2128679, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1808932, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrFXMWrPPTPTDWrRSs6atFE3Y8ffoysNuz", + "votingAddress": "XrFXMWrPPTPTDWrRSs6atFE3Y8ffoysNuz", + "payoutAddress": "Xq3WSbmQRFnnEVQpgszBmjvtjMcsn9NcZ5", + "pubKeyOperator": "9605492b344aa5c9701db30973af52c67559e4faa6f799e0cf27f812c15ff6bc7024b620dfa0a2d93ee03928d120694b" + } + }, + { + "type": "Regular", + "proTxHash": "add8ed572c5c8b4586b709af2c073fcac33b001b1143b4672943d5ec0effa52a", + "collateralHash": "88659c63ef8a22e20185abb598468d6c82a500313e2de663efe44188bdcc5d5f", + "collateralIndex": 1, + "collateralAddress": "XiayxFaBHMgP76WhPUCtx2L8zratH94ivp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.167:9999", + "registeredHeight": 1029457, + "lastPaidHeight": 2125892, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820956, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk3TQ8rqqDStuKrmtcmWfnMX6he3sWPqpw", + "votingAddress": "Xk3TQ8rqqDStuKrmtcmWfnMX6he3sWPqpw", + "payoutAddress": "XjETse6UHMRJvT3CBhsdWL1Zwm8bddGtCn", + "pubKeyOperator": "93dff5c9562913643ddd819960e2e20014f8cf5fc8a006f2e970e6b884b297de84a6d1b47724a0055a1b92ee406234e3" + } + }, + { + "type": "Regular", + "proTxHash": "4433aa278f35ad23cb3fec5e26e584cbdd061e4e77414e40474c866e7678943f", + "collateralHash": "1ef65a3cee41c7b2d15ba8b2d15b2ddb2ca39c427371d228dab105210fb6c7da", + "collateralIndex": 1, + "collateralAddress": "Xmg3w5XkTUiyABGpLPDMDnZ6UhtPWLzz7c", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.168:9999", + "registeredHeight": 1029457, + "lastPaidHeight": 2125893, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820956, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh4kra5L2CKgq5zLcmNicg9dFPH49Tit33", + "votingAddress": "Xh4kra5L2CKgq5zLcmNicg9dFPH49Tit33", + "payoutAddress": "XqCwdtSoUSyEQBef74EJmYU6QV62X6692k", + "pubKeyOperator": "83eb08385008ffadca58d6643209e6a0a46bb5f249ddc07d1a801cf112d69e81d5e9dd1af34ef732fef787d77ff8d42a" + } + }, + { + "type": "Regular", + "proTxHash": "e25afbb32939a62382b8e3f2bc2329c3167e8946bf6b0d3cca1561d84636af66", + "collateralHash": "5bca6445d757e766c087ed00864be0e44f56c868df96f79e4fee078e9a482666", + "collateralIndex": 1, + "collateralAddress": "XuJc5w9gP94ytqRYHnvkFBJq5D9ervU7Us", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.170:9999", + "registeredHeight": 1029457, + "lastPaidHeight": 2126968, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695454, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XugVAkjFk1smhm5JZ2es3CeBY5QmU3mVdb", + "votingAddress": "XugVAkjFk1smhm5JZ2es3CeBY5QmU3mVdb", + "payoutAddress": "Xf1K7PUGXtPaMzKiTGJYuXwAHsXaAhZV32", + "pubKeyOperator": "94a7a29762d8a062b7099a87de24edf6ca7ba3154980f7450c83efea486b909e0605b92e627960846e1153151d0c10d4" + } + }, + { + "type": "Regular", + "proTxHash": "39a282fc99b677d142653a0946542a9407149b9441f1e68e6b28c51c61b0aa99", + "collateralHash": "0d895eb664ebec1958f3cdb795d20d786788d924abfff32ab3b0101a97da996b", + "collateralIndex": 1, + "collateralAddress": "XsPCALUpby8gCpx48eYqAxZiJ9bB1hawJh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.124:9999", + "registeredHeight": 1029457, + "lastPaidHeight": 2125869, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820914, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xawgbbc1i99bUobqqzKvamKR5gTh67C7uH", + "votingAddress": "Xawgbbc1i99bUobqqzKvamKR5gTh67C7uH", + "payoutAddress": "XfJ9xLLRpkgD3iJctYvxL998MSZav6q8WF", + "pubKeyOperator": "83a8e612ccd3c4cf7554ba4c9e5090c9a15a4ff70b9a8cc742745891071e30904b171f59ee473fc1104483229453c659" + } + }, + { + "type": "Regular", + "proTxHash": "fb221628cf6e255eda07cb7fe02fb121ad6e7c732e57c30c37a9fd35ea20d4a4", + "collateralHash": "c741da3e93c4ab7bf64983305610e30854b35a5b4670abb50f8c491e02591666", + "collateralIndex": 0, + "collateralAddress": "XgZuoLV7MiZAHXr3aqY9eSRuJJJ4z52urF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.169:9999", + "registeredHeight": 1029457, + "lastPaidHeight": 2128568, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2004289, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsRhvuHM4RUKSHC8i2mGbrLiVKiJtMiSki", + "votingAddress": "XsRhvuHM4RUKSHC8i2mGbrLiVKiJtMiSki", + "payoutAddress": "Xb32LPnZTUkMBKBsN43VFU8VSUvLgAoRwz", + "pubKeyOperator": "85c649e189357b57c9f7d2ef0afb13b3f9ff2c68492553f435d09df5174bea666a0d621b6e7d96c786ca915c71c2d5b2" + } + }, + { + "type": "Regular", + "proTxHash": "feedead37f5efc0f84c5099d81a95a3bd4b165b1752bc37d111ba3fcc49858ca", + "collateralHash": "e57d9f08c571d5740d426087e810e8bacb7c010b4929ce83452f0bf861716a44", + "collateralIndex": 0, + "collateralAddress": "Xp5SUk6MN5jrQMCmDA6b4u9wTfKnjWW2pm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.130:9999", + "registeredHeight": 1029464, + "lastPaidHeight": 2127036, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvsKjzQxd8PJ23KRZ6j7WkyFH29Mhatjmw", + "votingAddress": "XvsKjzQxd8PJ23KRZ6j7WkyFH29Mhatjmw", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "10ce6efcf8b83d3308d8c6ab03dd10bfb20e177fa1953605baf9ba160bbf2361841eec0afd69b41e9e7763c81f651da8" + } + }, + { + "type": "Regular", + "proTxHash": "d5af49f10e748f9752e6f5205a0dbcf2b16c6ec79a5cf4947477042f94e88d7b", + "collateralHash": "0368aeed81bb3c4a3025db7ea25b39bf4c4916502ca1c05f7dabeef2f25a3e6b", + "collateralIndex": 1, + "collateralAddress": "Xz299PRdZQUYau8dsV7XGBYa4pAheEeqPi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.171:9999", + "registeredHeight": 1029464, + "lastPaidHeight": 2125894, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820956, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmbTLzf6TH7XPCR2CiBXcxcAL8BcAx9Her", + "votingAddress": "XmbTLzf6TH7XPCR2CiBXcxcAL8BcAx9Her", + "payoutAddress": "XsMtKJX48a7qKDh9VhBA7BV1FUTJZcww5W", + "pubKeyOperator": "8ac239ac08f991893623917b242d9791dfd78de9b4f5c23c8eaf5b1399c118f38a00cde3c67c3805a200a04e87509b3d" + } + }, + { + "type": "Regular", + "proTxHash": "0ebff194d1768f77a4a4a9eeac07200f7bf14cef7454a2ac156517b3acacb140", + "collateralHash": "905c60624506913ffd0f2c3389badb701afda51f92114da6094e51e7a7689b03", + "collateralIndex": 0, + "collateralAddress": "XwP3JoHmtx1KWF71HFCZUeKyg98kC7X9dX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.131:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2127053, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xye6capCP7TrjYFbGHLc7gntpayeV95WSY", + "votingAddress": "Xye6capCP7TrjYFbGHLc7gntpayeV95WSY", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "04bbbe07d8c16a745d07f8e30f341c1994c9fa9c038dab1d32823d5d7c30a386f0f176620d8cb1e5889e2ca5ce018a39" + } + }, + { + "type": "Regular", + "proTxHash": "6a1c7009f6cd08d312e57ca4b47a7a72208b7ac4c6ffa588f27f26f2f214e859", + "collateralHash": "d4fdfd0b63514ff77f722e9cdf22502b055034e2b9c41782e4c4b085a81e5b85", + "collateralIndex": 0, + "collateralAddress": "Xn8coHRhyyHnPCvfhXh3ok9gbFBKY7HkNT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.132:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2126394, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1569823, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnw79auQhH6mX46bzaLQWfhWGf6gz1c3z8", + "votingAddress": "Xnw79auQhH6mX46bzaLQWfhWGf6gz1c3z8", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "9464a73e39e0fc49e40e5de652848b74cad859c21c61311bfc366044fcaa5a4af5884547b9ba2ff80e32995c6443f30c" + } + }, + { + "type": "Regular", + "proTxHash": "6eb4430b557754ea31bd8ca79e37f11db796b25217a1d2ca348d3458b01355cc", + "collateralHash": "b36be4375e791fe96a60f95c3be2578fb56801827266ce3939b896e6453c169c", + "collateralIndex": 0, + "collateralAddress": "Xufr4gpu7Bb2EeYLue29cZcd1KfZWsuBXQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.137:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2127001, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761195, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoiL6MbZc4iyEpLnEbCjU49mYoPcPow7bn", + "votingAddress": "XoiL6MbZc4iyEpLnEbCjU49mYoPcPow7bn", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "8249ab30805035c3f8d6cf36bfa1271e20d19145fe594374c4f0d91468759ef56cd06de1acaf8d2d0c5f0cc131dcfe27" + } + }, + { + "type": "Regular", + "proTxHash": "a2e28a5a0a9249c05b2aad1f8872e775c50f382a97578e9f6486b6e2f49fb350", + "collateralHash": "cd40b90e8672394ad80ac7b4720ef476164933fd8b1ce45c234d9a30e7ccc770", + "collateralIndex": 0, + "collateralAddress": "XbU1P1CM5YzZF3xzmHvrthh37hRAs5E1eZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.138:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2125756, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820755, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtDTwmSM45wPykfFxr4MpVuaPtwrAiGPzS", + "votingAddress": "XtDTwmSM45wPykfFxr4MpVuaPtwrAiGPzS", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "83de36664a58d7d4683411e57a62a2929b2914ecf2c1e93216cb7a6d5f59e620f7ed94c5ae5fa6bb1b1c2cddb7a495d7" + } + }, + { + "type": "Regular", + "proTxHash": "04c64c5321d293dfc80026f3f4635db3c31c063d906e6c05fa85b36d896f2259", + "collateralHash": "a6f5743b4f2e009049915263b3cf81b9befe556979c7aa7b7cbfd0ce5857c1c0", + "collateralIndex": 0, + "collateralAddress": "XugU4gYLFTrXfAfDJMrBy1YmEaByktnLLz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.139:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2127069, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhMxhTNp4p5q3byeSrTHdyzEEdoatir747", + "votingAddress": "XhMxhTNp4p5q3byeSrTHdyzEEdoatir747", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "840ed2ddbd922234a83ad3df0327f824ca54486edcb6ec5da9c0e3fa53ba20b0c5f4349fc0072ffdfcbe2d40af6fcb8b" + } + }, + { + "type": "Regular", + "proTxHash": "7a6b734a35a8485b2d7dd63cb9b51b64b154242f1b5216b872ab1cbc55e1526d", + "collateralHash": "936d742717c38df62d621419bf3bc66ccb5e5e628968c4e6be82d6d5bd435ab0", + "collateralIndex": 1, + "collateralAddress": "XjQTXu6X1T2DdDwLhqHzh1wZoNGt7uJbps", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.172:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2125916, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820960, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqF1qHTLYBFjQbMStYVNfDhds3UKr5MjqZ", + "votingAddress": "XqF1qHTLYBFjQbMStYVNfDhds3UKr5MjqZ", + "payoutAddress": "Xdhkz5zL4xNKJk8zRfMbr75rjy2tg4yDdz", + "pubKeyOperator": "11ef5edb5e0c995b98590623555b9521a99085f335be167299564957dda5ba5a8cb49d2dc436e4b4ce7effd05677b7d0" + } + }, + { + "type": "Regular", + "proTxHash": "ecda36cdfcdeb8865756e7c9db3708a443731fffd7c4b38f36c3ef5f393228b5", + "collateralHash": "7187092b2b81e25e0645f23395bbeb4bbefeb1afb429a5282e1038d550c9109e", + "collateralIndex": 1, + "collateralAddress": "XvQVMvYDWrZ7WKEwXCQHpyK64Hic3Tm7Qn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.168:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2126747, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1354586, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsEpTFNDNjw11t5dis6E5CxozmU5ahrYmh", + "votingAddress": "XsEpTFNDNjw11t5dis6E5CxozmU5ahrYmh", + "payoutAddress": "XwhjLZGUf1VMUxfT25ZsMqz5nHMBAAWWaU", + "pubKeyOperator": "954b5017998fe8a16d3946ed13ffa255c546a1dbd478e5bb3a2657de4d331a6abda1587ee83a8c6954bcad8ee43bb16c" + } + }, + { + "type": "Regular", + "proTxHash": "3099cb1b4ff3ac7b4de8c8671078f3267633d0c9f5260f81e8b06a783947b205", + "collateralHash": "7ea855a654bca86bbb9c583ef5c218478586ff0cac692a36f8ccf3bc090bd7b5", + "collateralIndex": 1, + "collateralAddress": "XotqCm8mv7Cb3aVgLkf1J6X19zX58zoRXn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.28:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2127550, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1700345, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmm3RfWUEUrKSgJzZrVp1YNzdFnriqP7Br", + "votingAddress": "Xmm3RfWUEUrKSgJzZrVp1YNzdFnriqP7Br", + "payoutAddress": "Xb9vP6tBp94YEVUbBprS24un7jXkfWL3DG", + "pubKeyOperator": "9944f7c4990a45f0597812400cd3db875d312d4c4f5c180a276cc6a8e3851f2f32baef0148ad5158375950211c5bdc5c" + } + }, + { + "type": "Regular", + "proTxHash": "bcfa6690eed123657f92dba574c6b2641986b6a30abd96fde2f5e8351e9eba1e", + "collateralHash": "8103094c5a77aadcc841ce6b319c5c0e3284fd431f8714963174d133a0bf3bb8", + "collateralIndex": 0, + "collateralAddress": "XoumV8hQdo1J6nFu5QmLvrGjgwHyAQqWeX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.142:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2127051, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtDijX5U35WQQ3h5mLrmDPYYAD2jUmwYL1", + "votingAddress": "XtDijX5U35WQQ3h5mLrmDPYYAD2jUmwYL1", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "8f0343607b479bb9a910909700e0824e4c223fe0dfc4c43a9f9d4ffad4cb2a3e44071f4e22af03003e2aa7a8c99c0cc5" + } + }, + { + "type": "Regular", + "proTxHash": "d66ba16f114b921b3e48c7a0681ba465a68f09029a130999859cb0abb48a0717", + "collateralHash": "f30dfd61b96b306222dfdbd5af3a655d69249da13857683140f2e85128f815ab", + "collateralIndex": 0, + "collateralAddress": "Xuvxr63KMPEE4xxnbSwwbyGJFB5A117FQK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.143:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2126795, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986009, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xftz3bkU88gpa7oKvG9ZqTo1AoPuxe8aFM", + "votingAddress": "Xftz3bkU88gpa7oKvG9ZqTo1AoPuxe8aFM", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "0da94600ae2577f3cebbb9f919d91438831a9d084a4153155955bdb56109c29c12a299e3263f74cbc25c9cde3e4285d4" + } + }, + { + "type": "Regular", + "proTxHash": "611beb9939aed8a0d2086c4512f757d89519e117600ec38d7ed120981fe7ee43", + "collateralHash": "b1b75554b5488ddcb51e14a48dbf8187980478d467ed898e2bfc9467df96a303", + "collateralIndex": 0, + "collateralAddress": "XmYYpc8HtrHiifheRx8fAfuFrhnmh4etLS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.145:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2127067, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxf8Zr7QNeUh12acARxbbo7sPCbTSZU4mv", + "votingAddress": "Xxf8Zr7QNeUh12acARxbbo7sPCbTSZU4mv", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "13180f0ca3ba7a83b7079269b06a2ed78e54157cd8fa69a45549f01e0edecd72eb29b27fbbaada27c36b52f110ee4b41" + } + }, + { + "type": "Regular", + "proTxHash": "f2c47b9872b396261388bda3c330a8f07d993ff96207695874df80a96dd17bbe", + "collateralHash": "31811789c0769f535cf3c45f9927c3191ce8d3233344e541ed861438fd1dc32d", + "collateralIndex": 1, + "collateralAddress": "XsYSTr9euqsbZXmEpDQY63dz1TKfSPePtD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.27:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2127070, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf7itnQD2hM5gG63nFZ5Bm1NnnT8E9KVPs", + "votingAddress": "Xf7itnQD2hM5gG63nFZ5Bm1NnnT8E9KVPs", + "payoutAddress": "XhMV8pYnviiqtuX46SuWzEcx6Ps9sNuxYf", + "pubKeyOperator": "85109cff7f828ad34b1e3c44604aa9a639035ddcdc7856d59c22067750fb1843b63d87e1e61355938385046c902a5a07" + } + }, + { + "type": "Regular", + "proTxHash": "e4bbf295a2372e37ee520a295781dea6bc48311b31e8f9618c7b4e9872af25f0", + "collateralHash": "c91a5efce0475f4d14a56ffd763b12137b4e9227bafaa9d677596fa071043007", + "collateralIndex": 1, + "collateralAddress": "XtdzNw4Jz7AaHxAJQ92AgvfNzD3jfrrwcD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.173:9999", + "registeredHeight": 1029465, + "lastPaidHeight": 2125921, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820960, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjdx36grCqbjSSUsUmR8aRr8fnbqBMu6fK", + "votingAddress": "Xjdx36grCqbjSSUsUmR8aRr8fnbqBMu6fK", + "payoutAddress": "Xx443aKHf51WyWmDgtBFGfwgZeNcX1KPRy", + "pubKeyOperator": "01a4d3ca13d2576d7e85c3caaddfcfe77afe2a2248ef1ff87ec04cc58197b53fed435bad566c1e5264a70535412af647" + } + }, + { + "type": "Regular", + "proTxHash": "88d26b93a53f887053f04a8c805ec4f42cefa6fe7fc9cfe526cd6dbffd4dc527", + "collateralHash": "51880fe77e91dbf4d545c6272686dce376c734493abb28cfacf141d227991d09", + "collateralIndex": 0, + "collateralAddress": "XjcNPe8NwB7MAVRzszLqWRopywkHNKu2Ra", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.140:9999", + "registeredHeight": 1029470, + "lastPaidHeight": 2126792, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986008, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdHNZTQmLSyWjDTMvT4cgrxTA7EnpEsfyL", + "votingAddress": "XdHNZTQmLSyWjDTMvT4cgrxTA7EnpEsfyL", + "payoutAddress": "XjcNPe8NwB7MAVRzszLqWRopywkHNKu2Ra", + "pubKeyOperator": "0316c4a4cf715c858d53b3bfec7cdbe285c6cb145545a42554b45784aa8b2763fe3ec0dcf7366773948f190992631799" + } + }, + { + "type": "Regular", + "proTxHash": "891f1e75c339c66cf3bbb4c24fa58b0cddf8944948e7332dca0a8c16123ddc58", + "collateralHash": "b396695d3b1472b323d4ba3e523754e98a7630b7340df50b50468d4b5b2a3f3c", + "collateralIndex": 1, + "collateralAddress": "XkveT48N73eU8L5ZLjegCDVvGQr1Bh7jqm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.7.182.86:9999", + "registeredHeight": 1029492, + "lastPaidHeight": 1985957, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": 1987159, + "PoSeBanHeight": 1987530, + "revocationReason": 0, + "ownerAddress": "XtuTnGgXbjroPpTX39y3KeZnnhUArxL66L", + "votingAddress": "Xqkaka7NtEVbhLhsYCrED5oPNot8muNqmM", + "payoutAddress": "XnNxLdU8Qmi8z8htoTxop6k7K262Q1Sjc2", + "pubKeyOperator": "956fbe8201592f5885d3013a2a5378c3de7395046b8d61c975c7945c876df71bcb583b8fe7c653dbdfffae671b2e3b72" + } + }, + { + "type": "Regular", + "proTxHash": "d0c0586325d3078daf65c44737ece83f7ea96322856378ee994d9b31e1d23c38", + "collateralHash": "2accbc1b6f8b4d511e51f0d11285c14900e1a91fc5a02c4b5c988fd4270014b9", + "collateralIndex": 1, + "collateralAddress": "XgPSTY8SGSniE5aUbB3erDTg2XWmoWhYXG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.80:9999", + "registeredHeight": 1029492, + "lastPaidHeight": 2125744, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1239421, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XePzwM8s8c4ftBEn88xju3LJBUFeNA42Ha", + "votingAddress": "XePzwM8s8c4ftBEn88xju3LJBUFeNA42Ha", + "payoutAddress": "XgPSTY8SGSniE5aUbB3erDTg2XWmoWhYXG", + "pubKeyOperator": "0ac64b2c70fa1a37615aee3b3d312b7ce79991cc80e16d9d203d5cb041221dc4e9d9af5591ac2e06f07ccf6a6d4079ae" + } + }, + { + "type": "Regular", + "proTxHash": "203c497413026e429fdef12b99370b59648bc2c0facee3604d3c3446a81bdaa7", + "collateralHash": "c93bcf63157ef2c9c12c790806106a6738b50884e9813982457f8c768228c8fc", + "collateralIndex": 1, + "collateralAddress": "XwhQHUJZoLrXd6JFMaESa3ra5zDdYMhhfM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.42.253:9999", + "registeredHeight": 1029517, + "lastPaidHeight": 2126218, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1373500, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx22i9syAnjS8rtbAfzrCNpbpWsCUQ7hdG", + "votingAddress": "XuqpZRNDifZJBV3wezLFTZfM415BSzcVwL", + "payoutAddress": "XuEfkpqeM2UiigFiHZ6kTujgMEdnFyxTfh", + "pubKeyOperator": "95d520e9d616f8b487fbcd5e03eaa5106148065a01c4500489ce117dafb3b964f3068ba158203bc92a4ed1c141d9cfcf" + } + }, + { + "type": "Regular", + "proTxHash": "383590ce824fcf59859d04ed115d7309f8e61ee0e5a21015b8cc07f873eb17b9", + "collateralHash": "9f785997ea8a8aa42f58ae8bf9c935c574627ccefa1dec81b848151936ee87d9", + "collateralIndex": 1, + "collateralAddress": "XcXsjgPsYL3U8Pi9K9PCeTX4AUn7mU4Q8L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.244.78.10:9999", + "registeredHeight": 1029546, + "lastPaidHeight": 2128419, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1901153, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxJowMcRJ1zu3aNKdBBzMBMppf7ptxWaUM", + "votingAddress": "XxJowMcRJ1zu3aNKdBBzMBMppf7ptxWaUM", + "payoutAddress": "Xcha2TaKJUDkkLrC1qBzwF3XMfU8ihP44B", + "pubKeyOperator": "144c069d591281f9c27ebf3dd5395e7287e6c911c8967cd9cf0abf5c3aac945dc295053b0400346d9200141e2cf9db20" + } + }, + { + "type": "Regular", + "proTxHash": "936fe30e8960d0fb5cd61d3b7b16329330f03d7b65b01679e54d41268f23f0d0", + "collateralHash": "ed72ad5647c06dca2af3593df3e2b6e3cf0b7f717b1220813a3b8f79b1c6ba75", + "collateralIndex": 1, + "collateralAddress": "XqLqvF9strUYi7feSrF9XzBV1xQNcSJ4si", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.92.86:9999", + "registeredHeight": 1029557, + "lastPaidHeight": 2128125, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876596, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqBFLjHNWdYKrAmtJcaLm6p1KEBY4pM9sb", + "votingAddress": "XqBFLjHNWdYKrAmtJcaLm6p1KEBY4pM9sb", + "payoutAddress": "XqLqvF9strUYi7feSrF9XzBV1xQNcSJ4si", + "pubKeyOperator": "0abd4263bbb51f5036789f40a93e959a7118858e165ff455207cfaf431063df02cb1ad9997790d19d37c797d4acd0f8e" + } + }, + { + "type": "Regular", + "proTxHash": "d88fb994856e9b949c9ea2a414a8a530961f67a0d3008d1ae92ef1705317e716", + "collateralHash": "cf32d891a3b8122e1bafc65bc841594d2e89d65893b8c27456a97bb83d603bb4", + "collateralIndex": 0, + "collateralAddress": "XsB49J6tsUczp1KT958UFhDqkYE98oPuXq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.252.232.103:9999", + "registeredHeight": 1029567, + "lastPaidHeight": 2127758, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2084423, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XetiYtLgfRztpqZRavdMwa6iWnzxLYb6Ue", + "votingAddress": "XetiYtLgfRztpqZRavdMwa6iWnzxLYb6Ue", + "payoutAddress": "XsB49J6tsUczp1KT958UFhDqkYE98oPuXq", + "pubKeyOperator": "08cb64eae0149046c2bd07922b6351c14fce5f2c1dd3113fde21dbcdb45e38629847257d9f1c22efd6ca0c04a36efd08" + } + }, + { + "type": "Regular", + "proTxHash": "b7ee82c07440783b26738a982f74bcd691a194a93916914d15549b912612f3e2", + "collateralHash": "88cb71cebdbd7435b9edbd9fbb1480ba7fd615bf03550b2fc0b262f8c5ff3bed", + "collateralIndex": 0, + "collateralAddress": "XaqKyJVWi2ddniAeyduWhUjRDyEuFxJJHi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.63:9999", + "registeredHeight": 1029582, + "lastPaidHeight": 2127737, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976287, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmPVn4YnzSU2XAryKNN9HzVxdVoxUzEgte", + "votingAddress": "XmPVn4YnzSU2XAryKNN9HzVxdVoxUzEgte", + "payoutAddress": "XaqKyJVWi2ddniAeyduWhUjRDyEuFxJJHi", + "pubKeyOperator": "87271f6b6c951e8b86f4aa96abe4a7d034fd9931bf8089964083768a1f6c76e03f414f706b968f023b2aca968d152923" + } + }, + { + "type": "Regular", + "proTxHash": "de5700279746d4d1b25ff6d4407b32c322ce5cf7a159873c18b929c1cad67865", + "collateralHash": "56f9475cf2687a382ac613f3d055c37069819fa3899f40ff76a8784735e36af5", + "collateralIndex": 1, + "collateralAddress": "Xdqz5t7qiM6AQwvGZs6dhqJxoDk75dU2dj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.42.44:9999", + "registeredHeight": 1029591, + "lastPaidHeight": 2127478, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1875989, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgp3MzBuiV5zRWXDt6VUZo4xX4bA55JXD3", + "votingAddress": "Xgp3MzBuiV5zRWXDt6VUZo4xX4bA55JXD3", + "payoutAddress": "Xdqz5t7qiM6AQwvGZs6dhqJxoDk75dU2dj", + "pubKeyOperator": "03d970dd8d7b6909bd5d6511159fc38576a8d4553e1ad357b3d97b27d06a97e55747e413b93d4d3b1f843ad8a24e9a67" + } + }, + { + "type": "Regular", + "proTxHash": "d3ba040a212ce7ee8fbc2215c03cc7f038bb9a0a0e9d59ff525bd2f51064629a", + "collateralHash": "dce7eb8437cd384419d9c96b9f270a2f8cd4b6a290bddb2c0aabda2d039ecb56", + "collateralIndex": 1, + "collateralAddress": "Xc2UPPZZ4YKxK58S5a55SgNVkoQVci2993", + "operatorReward": 0, + "state": { + "version": 1, + "service": "123.193.64.166:9999", + "registeredHeight": 1029606, + "lastPaidHeight": 2127991, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2084645, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvcy8JxQ162TVpcoCjXQjKLVESCfY6sndY", + "votingAddress": "Xvcy8JxQ162TVpcoCjXQjKLVESCfY6sndY", + "payoutAddress": "Xc2UPPZZ4YKxK58S5a55SgNVkoQVci2993", + "pubKeyOperator": "088dbb700890ba2af40bae1d4e8d174616ca7228bb18dcb969c7bd0ef13e93a18a4dd82bbdeb6251edc6be28c7f4db3f" + } + }, + { + "type": "Regular", + "proTxHash": "9d13faa3500889e2259c3816ec723cee24aa68d988297891d87c7394bea1a488", + "collateralHash": "b509abb1fb75c6e7f879e658b8e8b61fe240f543932f825481bad1771c2980ae", + "collateralIndex": 0, + "collateralAddress": "Xba8puiDBdJApEUYWxDSebG8yQKnUyQ1p8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.47.167.250:9999", + "registeredHeight": 1029621, + "lastPaidHeight": 2126682, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120628, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrC5pL9JtuREV84WVNMc3WrxNDJvru4gRy", + "votingAddress": "XrC5pL9JtuREV84WVNMc3WrxNDJvru4gRy", + "payoutAddress": "XuF5VcAMhZvTv9GYsa4JsjHWAztoxWjqG8", + "pubKeyOperator": "08b4bb316e712645d9df9b20675d0118cea2e7eb9513f8c04bc1b34f0d23e0378c4bd27274e350af32974f6e063c9287" + } + }, + { + "type": "Regular", + "proTxHash": "acc1b390700a15436a0dc8f895210508b560d0ca0face61d38c97bdf0547c5c1", + "collateralHash": "5148f3359150568b411b389dc9a79120ca44ace893b1b1ae48fb1fad469e76e5", + "collateralIndex": 1, + "collateralAddress": "XfPfx23GzjouiiSDwWroRSCh37RSMCKRQc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1029722, + "lastPaidHeight": 2048136, + "consecutivePayments": 0, + "PoSePenalty": 3802, + "PoSeRevivedHeight": 1962591, + "PoSeBanHeight": 2049149, + "revocationReason": 0, + "ownerAddress": "Xu5LQdnmMegFrjJzgtDHLtFXwCFA8EhmPx", + "votingAddress": "Xu5LQdnmMegFrjJzgtDHLtFXwCFA8EhmPx", + "payoutAddress": "XhJiL74njwo8Yoo8gCGaZV6297wmA1RLoz", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9fa181eb6da98d676a5e650621424dad5cc2151fe70795139c2d9556a0eaa379", + "collateralHash": "9ac6cad7af01dec6c4ab80f1345ffaa15a5b22a4f486c4a5dfa53ba9e5dee840", + "collateralIndex": 1, + "collateralAddress": "XwLpk1rDaKgF3eFuFm2tLoFwv8XZpZJpLz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.155.91:9999", + "registeredHeight": 1029729, + "lastPaidHeight": 2127498, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1260497, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsHhJk6iAZJS6NaU6AjBD4xQQCqRRnXLNg", + "votingAddress": "Xcj5Nf4XyGwMgfbmfYA7yqEgFdup3JzDtv", + "payoutAddress": "XvfaRxTwhRJiJjdTab3B1eJixZ61YNBtyv", + "pubKeyOperator": "9525a9a3eac9815d12fbbdb23ba6f73e476873032e928aca5e95130722dbd01e9f12fb2a2538c99048a645cb4ce3473c" + } + }, + { + "type": "Regular", + "proTxHash": "2281de9e9fea3544b0c605db6efbff3e107b6f6e053458a371f5c0d35a648a05", + "collateralHash": "1bb9e0c5f7b200ff9ed963cf922f1f09aeddd1bbedfb77315215ad2bd3febc6b", + "collateralIndex": 1, + "collateralAddress": "XxMpoC6fwpm2TtxVik5357yqDDzw8Zh18e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.229.142:9999", + "registeredHeight": 1029739, + "lastPaidHeight": 2126781, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1349808, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xck6FM6K6ZwmYPypRpSEAXuhm5pStk2KcL", + "votingAddress": "XqER9N6He2Zuxbpg4h9cHhi1UvUaFQhtCE", + "payoutAddress": "XgfyuBR5p5dogr91MRvjpf51y1oC65Ebry", + "pubKeyOperator": "87e9c1e89bb1960ddfaae8e26b9ea3ded2ca5aa5790968e2a9b3a08764f9888e7f2e628a88915b3e350d8ebddcd2692c" + } + }, + { + "type": "Regular", + "proTxHash": "404f83c976c6bd6c4523d993c0e715b74b9ffaa4bf306fb61a5d28f7150e854d", + "collateralHash": "1438b98400bb24603d24a7ee37e56d70ab7c631f2008c40d566b118a24523529", + "collateralIndex": 0, + "collateralAddress": "Xcy7WQgGF5T9jFZqwd4oRdAQEjF1wUTKwL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.73.248:9999", + "registeredHeight": 1029742, + "lastPaidHeight": 2126784, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1349819, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjjjEHki7jJifeQqdXHsTR8pK63GX1oenC", + "votingAddress": "XdsPfGNvD8s235fXvLqYeoHXFCEWSBcar3", + "payoutAddress": "XaomcDRoUzF5MHYiqfdNQAs4RFZU9u3dw3", + "pubKeyOperator": "863f4a3a7672c63f967facf801f41fe961fcf26423283fa4f85ddb1acafacd776f4c8741d868631d444dc74eaf32d741" + } + }, + { + "type": "Regular", + "proTxHash": "8f7739aea4c7fd64ba25241fcf40bcb52a54fd68a9d48e504e7d9fd2d7087cc9", + "collateralHash": "aa2f41b6591fdb9d7b436b2d036c285e2c6ea946443bb9a8a4718c8c26c5fcad", + "collateralIndex": 0, + "collateralAddress": "XkxVWdDoVGv7nqAGeVprsN2cbsQmwX9qcA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.91.57:9999", + "registeredHeight": 1029746, + "lastPaidHeight": 2126791, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1349819, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe9j6MN1dYdMvtr4BL3XTCX9Xoa3HnTY6d", + "votingAddress": "Xu98dHeZsNcj9aNqoVhn1dPeJN9U4yTPFG", + "payoutAddress": "Xq5m4x3c4zcXoKSqVpJh8tbhxtm2G9xUgm", + "pubKeyOperator": "074d5f33853b1385b84bf6fb44d7cef81d593f3c0b640ae53adda1d28eb5770233d7fc5cc2c094c8fe454045e4af234f" + } + }, + { + "type": "Regular", + "proTxHash": "c7c00c511130f5e9687082fbe085b814211c0edd9712f688598477dd7a4d49b5", + "collateralHash": "eba86092e7f250b82ca9c01af31cb9486a7c3a0c524dcd9033d902d17044ba40", + "collateralIndex": 0, + "collateralAddress": "XvMw5d9D1dW2pxPRWatDqCQB5i6ryGh38C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "164.90.221.233:9999", + "registeredHeight": 1029749, + "lastPaidHeight": 2128523, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1337451, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvegYDbM2tdv64KP8A6qa55A6qS9t8skfS", + "votingAddress": "XqWN5MAaQ6JUG1pcuPG2TJ2U7cJuh6N8EY", + "payoutAddress": "Xb4w5gF7MwRMVpP7fTL466yBnPAPeuxvZF", + "pubKeyOperator": "8a7fed582772bd5b1bd5ce18cd6647103ac7546ecb26788669d59ce1d20d5c23622615181a0267da600b56180afb4a59" + } + }, + { + "type": "Regular", + "proTxHash": "f80ace3f1a5099a4807578388a5bf07c71dd6ef075df03b2763271d467dacf8f", + "collateralHash": "2831bdead88396c6406bd41a524a5f1bf2b76e3e1a411c5381167a74948f8ccf", + "collateralIndex": 0, + "collateralAddress": "XtssPVjT1JAsZPUgyzHYiEzu2vExMqeKew", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.92.68:9999", + "registeredHeight": 1029754, + "lastPaidHeight": 2128524, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1337456, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd1FMnuhHjbNvHpSJi3mEXjBizBP5w83gN", + "votingAddress": "XjY8ue64gqPFDNaBLPMa4kCTL63suAtrHJ", + "payoutAddress": "Xcr7kLEsJaNtz4JZQT91sxUuR7G1vih8nY", + "pubKeyOperator": "952a626f6d528d5cdd45a6e2259af1a8b35521404cc2c1b26c0457fca3df2b4e8b3f4d419bcff424efbc8347c75776ff" + } + }, + { + "type": "Regular", + "proTxHash": "f6ae1017822f6cfd6aed268994bd328dd24384888d66f52e7fe59271e718146f", + "collateralHash": "8218b9ca5bccd7edbbc98362fbc6c7480822eaa816d8193b5f0ff5015f8dbd28", + "collateralIndex": 0, + "collateralAddress": "XqHM3WwXspsLwLjP5xmok2RdpMbFQKGRNM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.35.94.177:9999", + "registeredHeight": 1029755, + "lastPaidHeight": 2126786, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1349819, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi9Htrciz9cpBhd5u1Txo7siPiePTtkjTq", + "votingAddress": "XiKuqRtx5B1Gwxa2AUwLYX5UTnv4DRocUM", + "payoutAddress": "XqwFzvxxx7hmQy64XVwfAKfc2eyY36hF4D", + "pubKeyOperator": "840f19fb021b6691e1a86901cae6e0d90cdb66f4e1ca30d999587cad53fa38711f828271102d6ae479376b9aba081229" + } + }, + { + "type": "Regular", + "proTxHash": "0467d2d224faa3de7bd50874b5f7af1e0764fe52735f535ad576c07f04bb56f8", + "collateralHash": "dcbe24f7cfc0cdbc44987ccdf6430f7291b12055cf46f1baeafe0641901ba1bd", + "collateralIndex": 0, + "collateralAddress": "XkrxH773gQSfENjDfHiwxCttBnWERTRiZD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.80.241:9999", + "registeredHeight": 1029758, + "lastPaidHeight": 2126797, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1349820, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyRjY6vM4zNKkvmJQdaanm6HThbEQ42WFm", + "votingAddress": "XfqTAsEEYAGfSD9ytU6jskftRHETDjZk5w", + "payoutAddress": "XqTRAiZpQYo9TumaPYL3tdwXaJzLbxSQ7d", + "pubKeyOperator": "1991f093a3057f008924813c1e1823e5c8631c9f8823594be545bb65b9cb58321fa65990170f32b22c7ebb0e1f95d3e6" + } + }, + { + "type": "Regular", + "proTxHash": "a532a475f021fe80fd4d59ad2f97b248afda9862dce385dfc60666a91d4e93d1", + "collateralHash": "bbaa37cdfe706f147e3179dbf813cc1f0083bed230c984587c068436b99d096b", + "collateralIndex": 0, + "collateralAddress": "XyqTJa46vKVQ36YoLQnL8zPEwg8PPm1JNb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.113.5:9999", + "registeredHeight": 1029764, + "lastPaidHeight": 2127419, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1336019, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgf2PQxP8Nw45XfcRBW7oWjU7VWsChkigV", + "votingAddress": "XynA8VoQCzRdgetaDwkbnZAfGsSSYyTCii", + "payoutAddress": "Xh7te48B836WZuCV8WWQ54V9NaGqYiqG5Y", + "pubKeyOperator": "802bf50260a119a62c7511b95017cf2486423ea8ac8d051cec2725a6b90bacebb10bb17f25d4c8aad3af5bb47daab72d" + } + }, + { + "type": "Regular", + "proTxHash": "b712dd73425a1756d8eed5ea8bb7be4708dd5c49d8ea80d704d9b8717e7c9fc8", + "collateralHash": "181d3ddc20a8dea568dc7de7827d92e58f7390b0f0f237e4cfbdf25bb48b5fcd", + "collateralIndex": 0, + "collateralAddress": "XsAdJkzxHRp5xPBruxuwht5qLmyv3uQ1su", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.71.227.113:9999", + "registeredHeight": 1029770, + "lastPaidHeight": 2126796, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1349820, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiFwp4MmfseybtUbbU2o12S1UP9gspHr6P", + "votingAddress": "Xm8gCXxZTuDw2NY96h2rx7zniskVvGPgMv", + "payoutAddress": "Xpa2afaR373SjfrbwgJdwDaqxjLB2j6bMP", + "pubKeyOperator": "00f8d070885406a6421f378067ca65a7df5c33835875fe23c756f989af5ca7487d681edfb6d7e13661d46c7affee1aba" + } + }, + { + "type": "Regular", + "proTxHash": "0b64de24afec066dead108f4230d9d0c53f7b1f7926800931cc7e9ad3abc4126", + "collateralHash": "064c5b4887777cd232d6ad628488d2f92f5d1054e301b0a142760ad755a9b636", + "collateralIndex": 0, + "collateralAddress": "XgtzdGsQHMfdwMs67wybqoBaFY3f69m6Zq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "35.172.97.53:9999", + "registeredHeight": 1029841, + "lastPaidHeight": 1265713, + "consecutivePayments": 0, + "PoSePenalty": 5101, + "PoSeRevivedHeight": 1323298, + "PoSeBanHeight": 1324246, + "revocationReason": 0, + "ownerAddress": "XrQsLAUjajCsBKeXAXeSNfpJVG1CeKHsce", + "votingAddress": "XrQsLAUjajCsBKeXAXeSNfpJVG1CeKHsce", + "payoutAddress": "XgtzdGsQHMfdwMs67wybqoBaFY3f69m6Zq", + "pubKeyOperator": "826b65fe631a3d7a8c8efaac2cb5e28a103e26bd1983170541110e07953c681e791e5803ae4c481a0ddb9c90c820b1cc" + } + }, + { + "type": "Regular", + "proTxHash": "5289554760b43b1eb394be3868989dccc6424b787c294eca896abbcb42789368", + "collateralHash": "23767babf2e7131bcd019486bc51de1996bbb9ea3139a1d6ffa12a43aaef1d04", + "collateralIndex": 0, + "collateralAddress": "Xmkpmp9T78iuvbuSBxWGNaZ4mSE8C55SWD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.233.160.177:9999", + "registeredHeight": 1029842, + "lastPaidHeight": 1265716, + "consecutivePayments": 0, + "PoSePenalty": 5107, + "PoSeRevivedHeight": 1323298, + "PoSeBanHeight": 1325867, + "revocationReason": 0, + "ownerAddress": "Xq6qhMNtVzxFBKMKzFsfjnyuL2JwMGbXQx", + "votingAddress": "Xq6qhMNtVzxFBKMKzFsfjnyuL2JwMGbXQx", + "payoutAddress": "Xmkpmp9T78iuvbuSBxWGNaZ4mSE8C55SWD", + "pubKeyOperator": "8fe4460916201f8a2714d16f518085567ca2c2fa6176bb6fb2132f7324cf3e808e558f8af99c34ebb5fe71673f9c6bd3" + } + }, + { + "type": "Regular", + "proTxHash": "65ddf37566f7aaf1cc6a12891529babe0c8b70a6d726366f760c6860eabd65a6", + "collateralHash": "e1a294be2c30524b03512e450bc395f2ef5ea933ca7e1ab6da889313fce9f193", + "collateralIndex": 0, + "collateralAddress": "XgpSAWRFArMWabtFb5e1rTKLoM1RL9Zk1Q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.30.149:9999", + "registeredHeight": 1029887, + "lastPaidHeight": 2128409, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoUzKqRoRTUvZBsyWTQ9kvy241bjWwq17L", + "votingAddress": "XoUzKqRoRTUvZBsyWTQ9kvy241bjWwq17L", + "payoutAddress": "XgpSAWRFArMWabtFb5e1rTKLoM1RL9Zk1Q", + "pubKeyOperator": "961294cbb05f3f0083cd1ea5af384bd23d3f323cfa3e70f7e62a26dfdd6a06457827ff4c9531839db23657635966d4e5" + } + }, + { + "type": "Regular", + "proTxHash": "a1f56f291bc5b04e358f2bb83c733fedcdf2c600954b8417bdff9153d06f3d63", + "collateralHash": "4751ac34eff0cfd8ef1f63452990cab68ece292b5d7ca5b2197619205c4a607b", + "collateralIndex": 1, + "collateralAddress": "XnUzN4XaZN9x8pbVjrhoRC7JgjuUhGR5BJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.28.35:9999", + "registeredHeight": 1029916, + "lastPaidHeight": 2128216, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1437723, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwW3KNEWCivt8UH2R6Z5V966ScY4Jaifhy", + "votingAddress": "XwW3KNEWCivt8UH2R6Z5V966ScY4Jaifhy", + "payoutAddress": "XnUzN4XaZN9x8pbVjrhoRC7JgjuUhGR5BJ", + "pubKeyOperator": "95b51537fe3c7a446412ca9ebf8ee287e7b3264ac26648d65a86abf55df8fa314c1c2746f6157c1aca502a4674ddac90" + } + }, + { + "type": "Regular", + "proTxHash": "5894e06041f263fb3af39eaf2623e070ea6e54f4516c9a5ab8275af96d03903d", + "collateralHash": "de23ce6fa9184afe9bcf80431d5056139f398dd5e1ece10d4c83f4e53a639fc0", + "collateralIndex": 1, + "collateralAddress": "XuyDQyQMjWZdyWFoS2ZhS94eKcdRCmwkro", + "operatorReward": 0, + "state": { + "version": 1, + "service": "108.61.206.134:9999", + "registeredHeight": 1029918, + "lastPaidHeight": 1722126, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724459, + "revocationReason": 0, + "ownerAddress": "XpiCpM7BD8cYx5ZvakXBW4RHiyUbYEE6gR", + "votingAddress": "XpiCpM7BD8cYx5ZvakXBW4RHiyUbYEE6gR", + "payoutAddress": "Xsx5CzkKKsr4sLJcHU9UgfBuozxFjvJtqC", + "pubKeyOperator": "9963db90fa12fe05a1363e3aa087b38bf5faffaf8ba348e92571c459cdd478eca1512e2c3005e642d0826e10a46031d4" + } + }, + { + "type": "Regular", + "proTxHash": "f4365c94351b584aed929d817d92d23e9d2e84166ec78d78d8f5a6f14c0e8667", + "collateralHash": "c02ad3217882c642c8d9adb5a2367a2fdada52ff8b22ab48dfd698fb3cc97f5d", + "collateralIndex": 0, + "collateralAddress": "XiCMVQ5WEy99YfDAdYt8o9TAZ7UViRkcmg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "195.181.211.64:9999", + "registeredHeight": 1029958, + "lastPaidHeight": 2128175, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987279, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy69urpdt5BDY7D4bJJYA8r4v4prKrY5jb", + "votingAddress": "Xy69urpdt5BDY7D4bJJYA8r4v4prKrY5jb", + "payoutAddress": "XiCMVQ5WEy99YfDAdYt8o9TAZ7UViRkcmg", + "pubKeyOperator": "078b3cecb3e253a1f6f0a0d3e7f792ad6bcde8d2518e6c518fbdfb18c71e6741b5f3a605620dc992a2bac69b4e47b4ca" + } + }, + { + "type": "Regular", + "proTxHash": "052b9892a3768aeafeb42036f5f00cb80ee8d42c0e8c317f3f41a81fbd38f82c", + "collateralHash": "b7bcd8c333b3b9c545db08bcffb113c75e282a21a9ddd9d2d3fbe2403f1d6796", + "collateralIndex": 0, + "collateralAddress": "XkdF1dKsUXwds6CtBnJxxdXw5qic3x8UAT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.139:9999", + "registeredHeight": 1029985, + "lastPaidHeight": 2128503, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkfdxwf8mhh5xwX7Nk5EDHzcFV2LLFVESb", + "votingAddress": "Xkfdxwf8mhh5xwX7Nk5EDHzcFV2LLFVESb", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "02ce4a6041c4eb9b1bcd4eafc68c37b84b7dd3173e0d8ce76f439754b63c185cac6e8566c1444bc9542b85952265e0eb" + } + }, + { + "type": "Regular", + "proTxHash": "280e8370cf3878abaab02334a8b41f278ffb70d0bbef6a2cba24ca9bc6fdb96e", + "collateralHash": "c12baae3c633a3e90628603b121566cd8fbc44cafe617575b02939f3e9ad3552", + "collateralIndex": 0, + "collateralAddress": "XdVa9SumburVoAxQLMG4CtydM4hPQMjNXy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.42:9999", + "registeredHeight": 1029987, + "lastPaidHeight": 2128504, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhFLHvtHsfd6f6he1h6vkYTzuKHuRaVk79", + "votingAddress": "XhFLHvtHsfd6f6he1h6vkYTzuKHuRaVk79", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "007599fae96fde3ae14a0ba4e94a6fae85e38898e1ca812442ef75749535241ef54c62ba0996186c0f80339593ebffee" + } + }, + { + "type": "Regular", + "proTxHash": "78d5d6e1d6626bd3fb2b457c6ca2c90751a337ee70a1fdcfea1fbc4741d21fe9", + "collateralHash": "afc3825da4edcce68b3febc8fd0524ce27d4e0bf7541c54c5fb411e9a909ce63", + "collateralIndex": 0, + "collateralAddress": "XxDWeDiTbNKP6oPLQErs4gdrfV9nB4JXta", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.229:9999", + "registeredHeight": 1029987, + "lastPaidHeight": 2128505, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvGvvzUqgMEW3oW2Fmw1KSSn26qxEvnqwx", + "votingAddress": "XvGvvzUqgMEW3oW2Fmw1KSSn26qxEvnqwx", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "944cf7a45e0b80f63fc11f27c36dec1761de34f49909eab615bc775c3def78e136c5ebd65dba281c1e786eb05f3efd98" + } + }, + { + "type": "Regular", + "proTxHash": "874fd98a4e4000bea7f3cff6e85ac953dd46f29b1d095262ddb7b05cd0915657", + "collateralHash": "5baf62425814e71577d9d5de541917ae89abf0da1ad3ae959536869c69410b2a", + "collateralIndex": 1, + "collateralAddress": "XeFG6PTFn9NsG97w2gsQ7w8MDmHyV4xLhw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.198.75.79:9999", + "registeredHeight": 1029997, + "lastPaidHeight": 1983519, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1910686, + "PoSeBanHeight": 1985514, + "revocationReason": 0, + "ownerAddress": "XcRzxUudnXkjpLk3D3GuML6cdN5EgXAAJK", + "votingAddress": "XcRzxUudnXkjpLk3D3GuML6cdN5EgXAAJK", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "08707e91b2e21dcd1921d0f7750ae8a8a810d02c4699f9fe270b4c95196e7a158589c545037140c0cc9f2ac395a8d8f2" + } + }, + { + "type": "Regular", + "proTxHash": "ba47988e107d105eace663aa7ee8a15d300a29817559b035108cc16338df5740", + "collateralHash": "273d24ea45e7b0652df4e9ec5ef3f9cf4f9581a2cd70ffbdeee3f850c296516f", + "collateralIndex": 1, + "collateralAddress": "XfYngupHmzVJLGq9xVx5etuSuyBWHuSj3e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.31.26.46:9999", + "registeredHeight": 1030000, + "lastPaidHeight": 1983532, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": 1910687, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "XvBobMetrFtFDjEuku3UF5WE3b741NDGdb", + "votingAddress": "XvBobMetrFtFDjEuku3UF5WE3b741NDGdb", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "988988be5fa339b8c7e4f5bfffbc240967712e97af741bb944214462c244f9e11c3f4a1d9222d91fd0d620cc21bc6e08" + } + }, + { + "type": "Regular", + "proTxHash": "d497c2a7ad29b5fd5e60b31fcdaf7ad2db85c709d83039b9f249a59f1b71a480", + "collateralHash": "74ec4e61406143a8c73c1ff4adcd7325b43e01b8d78b7e75dbd71e8e387a523b", + "collateralIndex": 1, + "collateralAddress": "Xo3GRBWAL4JSBHPPPo6nSdnXQPuP4RRzzU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.83.91:9999", + "registeredHeight": 1030030, + "lastPaidHeight": 2126734, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1768499, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnu6vxLQx5piJa82TWg5JVcjAgHUTEH1bq", + "votingAddress": "XwmfutMZZgneznrxG4JwjnzKRC4U3CT2nw", + "payoutAddress": "XbD2jod4w983K6L5xEgdCMK66rmzYkhmo5", + "pubKeyOperator": "0025af02007de457012315d050188176ca2384e71755c1ca4ae340860c3c4820baf84fd28e3b47b342eab57e7006f5e5" + } + }, + { + "type": "Regular", + "proTxHash": "ee9d50f41dcdec944a73dcd34c0693beee53ecd80fb4eac664bf93e7fa1cba8f", + "collateralHash": "7094abd71a1dd108aa2901db2f95ccab30bddf5bb852c8d9f805ee7eb4b4d1a8", + "collateralIndex": 1, + "collateralAddress": "XgUrrLbYMzxdHW2ubLaiVy268GG8kXt2tH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "209.250.234.85:9999", + "registeredHeight": 1030030, + "lastPaidHeight": 2126735, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1768499, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqdUNAy17uLf7GQ8GSJ5HN3Y2bMGz2vrdj", + "votingAddress": "Xj1w4au3WMMqJax3SHC6aeVZGrCULJpLk6", + "payoutAddress": "XoaJLn5VumnxC5mW8ochykLC1KFsfehifw", + "pubKeyOperator": "93be51339f5d94ee76b02e2bec0d390555836a0c456b1724710107d5910648e960d4462743ac57417d995ade8d8b8be2" + } + }, + { + "type": "Regular", + "proTxHash": "b481c990d08ad36402d104fc288ed65e5db7754fc7122fe0870dff92e40b57b9", + "collateralHash": "997c956890ba7f3151731b9878996acdb86e8e6f7c09771ed14955e6e50f2980", + "collateralIndex": 1, + "collateralAddress": "XmPwfgDbDEdrwcRxQUPkgoH7JRRp2Ch1bp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "70.34.207.191:9999", + "registeredHeight": 1030030, + "lastPaidHeight": 2126732, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1768497, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrWcLEpupeq4K9DEMJYdqytf9pFxK32EYz", + "votingAddress": "XhUJruroobm8js1DyVJN3LCfi5SACHzQXt", + "payoutAddress": "Xb4R15ziPVysZS9DNcfHzZq74uLSC2s2Hy", + "pubKeyOperator": "823602f80d5068f5bb47e1211e25769755fe939b2949c928444d7fcc8d6406f32989d471a4e2e70581a75b2f1b392767" + } + }, + { + "type": "Regular", + "proTxHash": "3cd089f374f7d6071ad0db3a4d20ab4597ab6ab89c700d6ac66bb43454e398e3", + "collateralHash": "13cd9b5b21c11da3c6ab6d0171cddcfb175763213c9027e2b933e24b11b1cac0", + "collateralIndex": 1, + "collateralAddress": "XfiNRcR6TzBo2cQHbQDUzgsAC3wmBdFxUd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "70.34.198.244:9999", + "registeredHeight": 1030030, + "lastPaidHeight": 2126748, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1768528, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhu2k1vbY735BSkc44hsCjWCCXYBB8fXxx", + "votingAddress": "XhbBmKEiJYeohqeMqWbw5Hk93RgK3mRHu6", + "payoutAddress": "XrJfXd7gFgT4Eg6h91ycVnk4ZUpfeD47F2", + "pubKeyOperator": "8d1fabb183eda9bbde1ae67ebec745c8e87eb05ef53cb823af51b2601aff0c4671691186d9e2ea5f2963ccaf5ecd0c5a" + } + }, + { + "type": "Regular", + "proTxHash": "a33c980453a0b5c61fceb4b306d9cd1b2aed598ac2549733214c6f985cc1de80", + "collateralHash": "1eea347888dcfe566593569ad0c9cfd8c7db1028724f081cc46fe6be43e9cc9c", + "collateralIndex": 1, + "collateralAddress": "Xw73NAF1aUUNBgm313Acs9Gr1bPZAP25Zw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "79.98.31.59:9999", + "registeredHeight": 1030037, + "lastPaidHeight": 2127297, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1699974, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwLUY8Sp5qYWBNeGbvYQuUjf8gKHd39CTx", + "votingAddress": "XwLUY8Sp5qYWBNeGbvYQuUjf8gKHd39CTx", + "payoutAddress": "Xw73NAF1aUUNBgm313Acs9Gr1bPZAP25Zw", + "pubKeyOperator": "91e97a5459b1a1e42688a1dd0b81e57a97a45b2b767e447c3054ffc51a14a487f4ce3f041a4838554a2ae139cbcb9049" + } + }, + { + "type": "Regular", + "proTxHash": "cc24b14632c945fdc9670f87f369b80843ab8e4460a14f0eb5ce317fdefe3594", + "collateralHash": "235480c9fb0ea1919b8f993bd6f39521d6d07d11844f91dbf4a9b92331c3d835", + "collateralIndex": 1, + "collateralAddress": "XmkQ5UwpVn3yfU8TEZkEA5HGQoKiZf3AHu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.5.55.94:9999", + "registeredHeight": 1030048, + "lastPaidHeight": 2127803, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976335, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xukok8Yi7tgyGmEMrfFJqgQC3fhkwgvcVJ", + "votingAddress": "Xukok8Yi7tgyGmEMrfFJqgQC3fhkwgvcVJ", + "payoutAddress": "XmkQ5UwpVn3yfU8TEZkEA5HGQoKiZf3AHu", + "pubKeyOperator": "88ae98e67255dc20e1d13e716dc630584d65f675313f5580d4c50afad0fd9342d9a3cb76fc6290cb7a495a6bfeeba9b9" + } + }, + { + "type": "Regular", + "proTxHash": "e7c0121410f17d11a7e9ccabfa36b0560bca1b03366dbc52ce64f1f06f5e4144", + "collateralHash": "6f21334c4a0df10a46e552c884423920d9de65fa24faf0dbb640f290c2218769", + "collateralIndex": 0, + "collateralAddress": "XkNKmTVcS6h8oPk8u5WhYSL9Y3KcBM6Nbe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.11:9999", + "registeredHeight": 1030057, + "lastPaidHeight": 2128770, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1866284, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxVozY7heM1Nd1et4fspR8Uk2jugeLsorn", + "votingAddress": "XxVozY7heM1Nd1et4fspR8Uk2jugeLsorn", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "80de6f6b2b9137fab1fa8dd8d61de04582a42deaf8c6879f62d8d48dfae9c71a2129c23e3de354b21de76b4f77c014e4" + } + }, + { + "type": "Regular", + "proTxHash": "ced8a039e797cdb37debd0bc6ecb7b27bbee67e38b1544577b2070481746a798", + "collateralHash": "ad81e825981464e52dcc37eabeab59944929483c99b0ab21d1760acddb92bb96", + "collateralIndex": 0, + "collateralAddress": "XoBdXf3NTxyWf3YRAFMEzte3QiXdcQXeN4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.186.176:9999", + "registeredHeight": 1030107, + "lastPaidHeight": 1347578, + "consecutivePayments": 0, + "PoSePenalty": 5109, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1352470, + "revocationReason": 0, + "ownerAddress": "XfssMH65M8YzFiAq8mXf9pGmP9AJrcsuzX", + "votingAddress": "XfssMH65M8YzFiAq8mXf9pGmP9AJrcsuzX", + "payoutAddress": "XoBdXf3NTxyWf3YRAFMEzte3QiXdcQXeN4", + "pubKeyOperator": "14b2c4ff9fc14c8f724f5c16755f5cc612ba06bb4a83473eb1de7656adb011b3e373c02bca9cd4c1f990c53992042510" + } + }, + { + "type": "Regular", + "proTxHash": "e2eba302acbb1aa7e2f1689750cd225d163f0a02e51fe3e15bcb514fd2bc087e", + "collateralHash": "e784f4a80067ab5f8736eb7640d7ce2469578604b7e75c13436f075e7c6f76a7", + "collateralIndex": 0, + "collateralAddress": "XfQpZ6vCkQyRCWmQdPKet2t6JVm3Wni34s", + "operatorReward": 0, + "state": { + "version": 1, + "service": "199.247.15.40:9999", + "registeredHeight": 1030111, + "lastPaidHeight": 1332843, + "consecutivePayments": 0, + "PoSePenalty": 5104, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1336053, + "revocationReason": 0, + "ownerAddress": "XdE26hKibaEhwHGZbHF5Un71uHPmCN8XcA", + "votingAddress": "XdE26hKibaEhwHGZbHF5Un71uHPmCN8XcA", + "payoutAddress": "XfQpZ6vCkQyRCWmQdPKet2t6JVm3Wni34s", + "pubKeyOperator": "025ddf52d212941e118f2123ecf2a26eb1c8098a4771b75af86e6a61c1d7d4d93a4bfe9e330647e9363aed979d3b3c3b" + } + }, + { + "type": "Regular", + "proTxHash": "3385a08ea2497d069bee524bd878c57959e1167ae9945f41fca7025f314eeb65", + "collateralHash": "cd2c8c0774f330e264ef1040680bf1e9b2e20e4a88ce513d4023988da056372b", + "collateralIndex": 1, + "collateralAddress": "Xb5DTGLvbrry3nHKzyzbxgpYZinuLRzJfd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.9.60.204:9999", + "registeredHeight": 1030364, + "lastPaidHeight": 1983520, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1910686, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "XmRn2TsC8yaXX55EDYPRDBqAfZyCTauVqf", + "votingAddress": "XmRn2TsC8yaXX55EDYPRDBqAfZyCTauVqf", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "8acdf96162269d0f2528631f6a32486180e9d57531995a44b2237800878cd29e473fa31edbe14cb5d9128940727d9c85" + } + }, + { + "type": "Regular", + "proTxHash": "f207a7fe6da636d5970527cdc1f8edf16769a97e57092decee79724ccece3f70", + "collateralHash": "32b6d0da14e9d512d25767fed77f1f9b85c08e9c705b521f86f2d5043f6b79ec", + "collateralIndex": 1, + "collateralAddress": "Xtygd1BHwDm2wu9DCtcS8KBuYErM2QpWRG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.47.148.66:9999", + "registeredHeight": 1030369, + "lastPaidHeight": 1983525, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1910686, + "PoSeBanHeight": 1985514, + "revocationReason": 0, + "ownerAddress": "Xp95AzT7a2RVPAG7YGPfM7KbhnS6YdbJRY", + "votingAddress": "Xp95AzT7a2RVPAG7YGPfM7KbhnS6YdbJRY", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "1484b4e5967238950b1b23f837cc84988fdedde93e4300fc878e63c3f864d347e993ac9b25354d89415509f9a8a6bd21" + } + }, + { + "type": "Regular", + "proTxHash": "9be7be3fe8426adbd28eb56b838dfb053672c09032762cf347133813950bf93c", + "collateralHash": "8e7b631ee2de0c110c5f927da7b1e43266220438b0dabdd2e3fe98afca4739b1", + "collateralIndex": 1, + "collateralAddress": "XwyJ8LAyWCwiVWugzRpnGrEftK86QBry7d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.23.72.176:9999", + "registeredHeight": 1030376, + "lastPaidHeight": 1954470, + "consecutivePayments": 0, + "PoSePenalty": 4158, + "PoSeRevivedHeight": 1692382, + "PoSeBanHeight": 1954698, + "revocationReason": 0, + "ownerAddress": "XyYp7cfDwz2imsre736yB2ThQ6mY7qjeiA", + "votingAddress": "XyYp7cfDwz2imsre736yB2ThQ6mY7qjeiA", + "payoutAddress": "XeKc5r2DSCYbcN24CqQYtzmgm6PjDM8snv", + "pubKeyOperator": "96b450ada07d7b4a100b26c7bd641d34ab3bf8508a9328982dbf6cccebde8b0b790cf7a59f3039b52448b448a291cec0" + } + }, + { + "type": "Regular", + "proTxHash": "3e416aca42041bd871e4853b5f994f9b12bce139cc8ad4c869e17d0a9a924413", + "collateralHash": "0eb111ac0ec2bae7255c5b9d82c5278a158f9c8a0f29cdef12bd76080ff4aed3", + "collateralIndex": 0, + "collateralAddress": "XtZc1WnDMcEPzVKnmuiHEM2ZUbMUpZeZQJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "18.214.108.255:9999", + "registeredHeight": 1030395, + "lastPaidHeight": 1952262, + "consecutivePayments": 0, + "PoSePenalty": 4163, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1954122, + "revocationReason": 0, + "ownerAddress": "XkrTcuN9RiJpkTC6JzuJXb3N4m8V1SSc8b", + "votingAddress": "XkrTcuN9RiJpkTC6JzuJXb3N4m8V1SSc8b", + "payoutAddress": "XeKc5r2DSCYbcN24CqQYtzmgm6PjDM8snv", + "pubKeyOperator": "084b68d0319dbd22123507936a5c19899ee2efc190bd50b21c012f83d2fa31bc35fce12da8c904191764ed253caceacf" + } + }, + { + "type": "Regular", + "proTxHash": "2f7dbe9d810215f45f4c69f1397e039e91b61f0f5141cf4fbb8cbf8be39a047a", + "collateralHash": "e5dc834d18c65d36dcaf69a6280e167dc6f4a524a08ea7c05fd92a29a921bf59", + "collateralIndex": 1, + "collateralAddress": "XeQPfsHGLJiE6VEMqLEGi6QF2Jz3D2XfLA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "35.170.34.170:9999", + "registeredHeight": 1030395, + "lastPaidHeight": 1950714, + "consecutivePayments": 0, + "PoSePenalty": 4158, + "PoSeRevivedHeight": 1713015, + "PoSeBanHeight": 1954410, + "revocationReason": 0, + "ownerAddress": "Xykj48ZWJyHhDGdteKAgUJ9yyKZUpa2fEu", + "votingAddress": "Xykj48ZWJyHhDGdteKAgUJ9yyKZUpa2fEu", + "payoutAddress": "XeKc5r2DSCYbcN24CqQYtzmgm6PjDM8snv", + "pubKeyOperator": "80dbc6f31d5a321f923573674bd814939a3b626f6caa5f6cecf673e134d34085df0b40500ff71c2ba5c8d7744ebd2085" + } + }, + { + "type": "Regular", + "proTxHash": "3ff3fad66bbf63ebafebf4009fec6449f13750c1d116f9c4f000cd1fd3f2fc0c", + "collateralHash": "757a16df525233e705292dbff038ef0a16f08b391680c3c911d6d231ed6f3acf", + "collateralIndex": 0, + "collateralAddress": "XcU4p2tmQsn3As7tnEUy15ziqy3Ry7w4DV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.20.102.73:9999", + "registeredHeight": 1030395, + "lastPaidHeight": 1953255, + "consecutivePayments": 0, + "PoSePenalty": 4158, + "PoSeRevivedHeight": 1711592, + "PoSeBanHeight": 1954410, + "revocationReason": 0, + "ownerAddress": "Xe7XsVw7UR6hq65c4xLCTqmAGYPnkWqMFu", + "votingAddress": "Xe7XsVw7UR6hq65c4xLCTqmAGYPnkWqMFu", + "payoutAddress": "XeKc5r2DSCYbcN24CqQYtzmgm6PjDM8snv", + "pubKeyOperator": "0f8bb5a7c138b70f69c96fec54ebe8101314434a1c3ede53f61739564bd5cf4accc2ac64f66f33cd1cc77470dc99f16c" + } + }, + { + "type": "Regular", + "proTxHash": "ab448e32e55087803d72399c5d12fb754e7b76e02a961dd0432bc5e7e49a5d54", + "collateralHash": "78cd39995e83fb9ec12236eb433b956fca873a3cebd7b948c7b0cd18e39e75b1", + "collateralIndex": 1, + "collateralAddress": "XmAwQVCZp5E5Jxaci69ANNAQgUs23YxxnG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.45.106.57:9999", + "registeredHeight": 1030493, + "lastPaidHeight": 1983518, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1910686, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "Xmoexi4dKiEZ7ZNPgHKXZxZqRx8CAipaTg", + "votingAddress": "Xmoexi4dKiEZ7ZNPgHKXZxZqRx8CAipaTg", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "82b5a00e64efd19e471421de24ad6e06fbfd3ca7eacf6997f45f9bb5387d8a5130be272e259a82db658fec9bbf353031" + } + }, + { + "type": "Regular", + "proTxHash": "72716d7eb429acf070752b18eb95e7f53e8a6f4a719e5a3e94ab3fa5cd38c769", + "collateralHash": "13275efaca5bc9ca89337e250e6d50f104abb2990dfa900e584cb933cd92e51a", + "collateralIndex": 0, + "collateralAddress": "XmCKSDuZKP2MpiAcaAkQgU7JQYsgKS6wTg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.38:9999", + "registeredHeight": 1030537, + "lastPaidHeight": 2125838, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820869, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd7PUxqibDkKjVDYwPQB4HmFq2MDurfXBY", + "votingAddress": "XgoFvwebSPrFZa87JdvXepfASgBvhV4N5s", + "payoutAddress": "Xtdiq9SLUKbvDjXVyjVjHCyjN94PktPivq", + "pubKeyOperator": "99aa464e4fddfd1174e3048acc5be97251539b4289d6f42582ca85866fd5c71a9292577eb4ee534459dbd147115a4a8d" + } + }, + { + "type": "Regular", + "proTxHash": "500121ee951635638810760653c03392d90d9d832c398f9316a0dd636f4963aa", + "collateralHash": "557e5f7e3a60b00aeb793405fb798541f040486ca0acb522897efc3f54551eb3", + "collateralIndex": 0, + "collateralAddress": "Xw6PBdEQT7f7YfdFSXoqCWAEyPmmgtgLYv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.111:9999", + "registeredHeight": 1030541, + "lastPaidHeight": 2126826, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986027, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhPr9vPvr1Cvny7RFwMhTtu115kckYWgFL", + "votingAddress": "XrfTqqiERw8GE2kqvVyVWvU755HWwgcxGH", + "payoutAddress": "XjKGdQTTj9zyTGp5afBkXsHAEvrnfkYAss", + "pubKeyOperator": "8b5c641ffb86a31d3fb524c60005ded2467b2438ec9aac38752a0c53419cd0951b2ea864d7edaeba7b5b40c54f732e77" + } + }, + { + "type": "Regular", + "proTxHash": "fc477c9de9d9c2ef524f8b23e5fc202cecc7e64e77b76eb254997163f066cd03", + "collateralHash": "0f2094988efb52109b9127ed08be830a632e8facf4aab2bc51b19daf1bca8562", + "collateralIndex": 1, + "collateralAddress": "XaigSkGR1U2SxELaa9QQpms89Cyh4wa8Wk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.115:9999", + "registeredHeight": 1030545, + "lastPaidHeight": 2126377, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrm3hT7YtPggww3Mgq7dWC19q7gfxJjLoA", + "votingAddress": "XixvaCMBUijPN26yDn865uewAPCgFQeL1R", + "payoutAddress": "XvPKJLKZ5sYNGpqwA6JbXv5FnGCHBUF5x5", + "pubKeyOperator": "128d88fb4112df42cfe027cfa0e63185e8d1521e1088ed8e0a93b98b38a2b489fc2563448f80a9a52e09afbff8a66588" + } + }, + { + "type": "Regular", + "proTxHash": "b9010349b072484557416f08a86b6ffddca688993e5186d58f09359dd8ec67be", + "collateralHash": "957a508a17e99715c76348cde0a3f1fbd40911f205d00904ffb89df4821eb2b1", + "collateralIndex": 1, + "collateralAddress": "XbF2w4FtN49aw6gBqkDzMXMrGaKqhb71xJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.21:9999", + "registeredHeight": 1030604, + "lastPaidHeight": 2126440, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvGb8QbLYFXDKU4vK3YGp973jQ3uvn5c6a", + "votingAddress": "XvGb8QbLYFXDKU4vK3YGp973jQ3uvn5c6a", + "payoutAddress": "XbF2w4FtN49aw6gBqkDzMXMrGaKqhb71xJ", + "pubKeyOperator": "0fde2b3a9b76a691066c0d7e17a65d58cef4dc2d2da18525febf4ade1f54e63fad7600e728bae166bb99a50f7bfcd9bc" + } + }, + { + "type": "Regular", + "proTxHash": "3eff034a96b2d2d48c36703b63142735f71dab962ff7701c7193d11f77a6bc5e", + "collateralHash": "855ebf0fda90792b6a980024bb9ae61fc391b44e3f16339b71723b75b96e0306", + "collateralIndex": 1, + "collateralAddress": "XhCDuGFF6xpoWMh1B6wECgHbBccizimRYg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.188.215:9999", + "registeredHeight": 1030621, + "lastPaidHeight": 2127993, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1256639, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk3MXqyX1ncz9eQbWZArDRpN2cZNChPd89", + "votingAddress": "XmSftU8ZDtmWviv4fsf69NCExvCJA9taxe", + "payoutAddress": "XvnrWZPKe8xaa2JgEExJKNqbfktsVtBAru", + "pubKeyOperator": "036883d465c035b86818993a36eebf8b2e7c38207f62387c9eb4a86911dda983a25c21659384f99dea4495dbb56bf021" + } + }, + { + "type": "Regular", + "proTxHash": "da3d567dae4959716e6f3d36dc00b1a6c31b510bf689c510f6837960b12bfad5", + "collateralHash": "db55c07aa023d13cb3de2d9f53f40adaeec46b9bd69dd659ddd9e10b4251fa00", + "collateralIndex": 1, + "collateralAddress": "Xm4DbmSMKZitBigdGp2VHu21bnx4W5eK5o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.238.241:9999", + "registeredHeight": 1030650, + "lastPaidHeight": 2128790, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2116329, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrYpUb4BqocvwPmuaig3LyBdydBAHzSUG5", + "votingAddress": "XrYpUb4BqocvwPmuaig3LyBdydBAHzSUG5", + "payoutAddress": "Xz1efgQkaP2w2bmg24RbakUtF7zQbCLQ7m", + "pubKeyOperator": "15587add8368454379447eb74e2bad91dbecee73430b6dce96eb6487cd37285a8959aa58a6fdf37c17592b4892d84687" + } + }, + { + "type": "Regular", + "proTxHash": "c75b5aaf2a9c127b3f4199d4700abc1eab9fb8ebdf31b4d296951ce395bd52e0", + "collateralHash": "4b82bd56480fa3c3dc594a2fc823ee10d88fe9cb0fd763cfd86cabc56f8da9f8", + "collateralIndex": 1, + "collateralAddress": "XhMth2ibVw6QfdGbXJHJFSPTbhofmX4LjJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.131.160.119:9999", + "registeredHeight": 1030650, + "lastPaidHeight": 2119388, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128663, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvyMDUobbshGnvybHFsjAvCGVYd3sgdgg3", + "votingAddress": "XvyMDUobbshGnvybHFsjAvCGVYd3sgdgg3", + "payoutAddress": "Xz1efgQkaP2w2bmg24RbakUtF7zQbCLQ7m", + "pubKeyOperator": "0416ef5bc840ee36ee786fa6194edb5ae0c34dd97d024b89e48a55c3438af59d47f560147ee206e71cfbb5db16e1e4e6" + } + }, + { + "type": "Regular", + "proTxHash": "5967a41a80ea778afbbb4363c96250d34b86fd8d01956080583b98911834fe46", + "collateralHash": "29c051159613c99987f879e1a4e1754e66209fb74528c81163e7e7c2b6e23e71", + "collateralIndex": 1, + "collateralAddress": "Xub5dwehDaUCRChzgm8j7Tqro39UwPK9LM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.217.126:9999", + "registeredHeight": 1030653, + "lastPaidHeight": 2128247, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115795, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvkgCGNi5BNh3vYz5Ze7VsHBWdnmB8rm8j", + "votingAddress": "XvkgCGNi5BNh3vYz5Ze7VsHBWdnmB8rm8j", + "payoutAddress": "Xz1efgQkaP2w2bmg24RbakUtF7zQbCLQ7m", + "pubKeyOperator": "13bedacf1de90ea514674decc7c03b582296da44e271673a5a18b06f4d29409188865100ead59b25691a0ce6fa01db4d" + } + }, + { + "type": "Regular", + "proTxHash": "a3a9194e41153fc1d3ce508b8997cfb0636c02c38d20e57933df620bc75c04a9", + "collateralHash": "5f9973a2d000aed15195cfa04e631c3b0abb62a74270f42e08f5c1875d667345", + "collateralIndex": 1, + "collateralAddress": "XtZfDq4K87hobNet8xPhuFJwRkbmh3xUFk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.131.180.71:9999", + "registeredHeight": 1030657, + "lastPaidHeight": 2127211, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124046, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XinU88CPwwpoVMFWLTGZgt1UyjfVGUdKn6", + "votingAddress": "XinU88CPwwpoVMFWLTGZgt1UyjfVGUdKn6", + "payoutAddress": "Xz1efgQkaP2w2bmg24RbakUtF7zQbCLQ7m", + "pubKeyOperator": "0d5a5bff1379e632a30a1498f0a3ab1e7a349f7ad8abb89199648bcd6edb3318f592b8cd8b4d1ef2f154aa388bd1a347" + } + }, + { + "type": "Regular", + "proTxHash": "444d54ade2f06d72dffcad1108d2e130ef1dd31398baeccd25c9454704e3753a", + "collateralHash": "f0346717d38594048178163de2bf0b26d0d81a4c546fdd59b36ec755f60adcf3", + "collateralIndex": 1, + "collateralAddress": "XcWtEJNBNLB77ggjkk3UeNfoyaGe3mK9yz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "198.199.119.50:9999", + "registeredHeight": 1030661, + "lastPaidHeight": 2126052, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122898, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfEmFUKMj5QEduXhuUvu9M5T9N7iMQeSXQ", + "votingAddress": "XfEmFUKMj5QEduXhuUvu9M5T9N7iMQeSXQ", + "payoutAddress": "Xz1efgQkaP2w2bmg24RbakUtF7zQbCLQ7m", + "pubKeyOperator": "19ad7e616e60e6c5d21ebcb4aa5e26b265b74fc529d8cbfb58e8e0c2043df3102461c2eab5864a3317c8a7e19778cd35" + } + }, + { + "type": "Regular", + "proTxHash": "543773032a5c7d9af702c18b2fe2f1b9c7b6f020d1c14613ce1cffbcb5d2c122", + "collateralHash": "38dc50f7c1fa201c23cf2bf651acb87db98dc956a6d7b40f1579935a60598734", + "collateralIndex": 1, + "collateralAddress": "XdMckdMiHbLYAk2Xeb6dK7DJe76GrPG7EX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.236.58.131:9999", + "registeredHeight": 1030665, + "lastPaidHeight": 2128680, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2116208, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbk376kRq9AVX1k7eBxwXeZfrmVWhbTQ5z", + "votingAddress": "Xbk376kRq9AVX1k7eBxwXeZfrmVWhbTQ5z", + "payoutAddress": "Xz1efgQkaP2w2bmg24RbakUtF7zQbCLQ7m", + "pubKeyOperator": "85c417521186888df0177c8208d2aa1f61d191eaa178e2e63f959c7ffb4af1a46ce31c5770d539dbb8f159c2c4eb1ea6" + } + }, + { + "type": "Regular", + "proTxHash": "cede760dcf94a8c9b2cbfd4c4ef05df6fd86548fe9d2a13c39beffc0d4cd5f07", + "collateralHash": "b625779cb6b185954d1ce29f4272993e63e7fdfa157c8e44c14de2f889a3cd49", + "collateralIndex": 1, + "collateralAddress": "XiMU9NsNj6bEt2WrR4GkGLDdrjZsndeQ9w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.66:9999", + "registeredHeight": 1030689, + "lastPaidHeight": 2127136, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1315975, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu4e2rF23EMxJDjiL1K8rinMCDHUJh4iyL", + "votingAddress": "Xu4e2rF23EMxJDjiL1K8rinMCDHUJh4iyL", + "payoutAddress": "XiMU9NsNj6bEt2WrR4GkGLDdrjZsndeQ9w", + "pubKeyOperator": "98656ff1ffb118fe64114628aae464cbee7904150aaab906e1538bad8213c88a3f7388a060e0204f19a0bea32b4bd243" + } + }, + { + "type": "Regular", + "proTxHash": "d91710639b2520ea03f82e0d44bc2e4244622eaf81b7f31ef0e9074c5d4df59f", + "collateralHash": "4a42980ab7691e96f4d48ea4f8a254e42afdcc77c5214c9d901e60c0eb051b2f", + "collateralIndex": 0, + "collateralAddress": "XimUc8R1haBBPULmKPq32oKNnfxjA7Xt8b", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.33:9999", + "registeredHeight": 1030711, + "lastPaidHeight": 1885422, + "consecutivePayments": 0, + "PoSePenalty": 4396, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1886442, + "revocationReason": 0, + "ownerAddress": "XtzC6S8nEKfZDaWnstbYuQVBSvDpN36xFe", + "votingAddress": "XtzC6S8nEKfZDaWnstbYuQVBSvDpN36xFe", + "payoutAddress": "XbDG2zQ2B7f2MbLENbHg75Kc1b3RJUfou1", + "pubKeyOperator": "0679aae1aee676a210905956c0a230dd1abd38e078bcc7a0b92761bfea4c8da3a046fa906c2dd820493b60aae21929b2" + } + }, + { + "type": "Regular", + "proTxHash": "fb17d9cf525ccd4d24a7c2afebec5486c3b5220b8269d0f3089fdbda2ac6b9db", + "collateralHash": "54081a3dce37f5e1c362b32721d47a58eb130f147d7592a1cdf15f1bdff2e51e", + "collateralIndex": 0, + "collateralAddress": "XeYp4aysCyxz9JybhekpxHLBk4yaUThYBa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "62.171.167.46:9999", + "registeredHeight": 1030765, + "lastPaidHeight": 2114792, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 2029951, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XdWAjfbDuHHWZaJwhbiFs3C1TPHYkF2ccK", + "votingAddress": "XdWAjfbDuHHWZaJwhbiFs3C1TPHYkF2ccK", + "payoutAddress": "XeYp4aysCyxz9JybhekpxHLBk4yaUThYBa", + "pubKeyOperator": "9550b8f6a4f16715237071f1217b573c362a7d204e95a5e261011a364f1b5ac4749317a6063677a0949a5ea2459d335e" + } + }, + { + "type": "Regular", + "proTxHash": "7e7934bc27e03700cc2f34269b42997b82f18d5786b085b8a84fd7fd4ec0b3c9", + "collateralHash": "deeaf7e55cc5b7bb7c692437eeb5d961596f2cfc5a4a0a177e8ac529ed9c6cf9", + "collateralIndex": 1, + "collateralAddress": "Xof4sQJtAoZuBkDk7etPpkUSgrN4Wi2ckT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.141.226.190:9999", + "registeredHeight": 1030888, + "lastPaidHeight": 1690612, + "consecutivePayments": 0, + "PoSePenalty": 4517, + "PoSeRevivedHeight": 1411840, + "PoSeBanHeight": 1694724, + "revocationReason": 0, + "ownerAddress": "XeTn81U3UNs9oaDERZa6emYs3JsEsvgWp8", + "votingAddress": "XeTn81U3UNs9oaDERZa6emYs3JsEsvgWp8", + "payoutAddress": "XdG39C6HbNPJSz5DHRecAMKGUBzBC1VH2L", + "pubKeyOperator": "81f759a8ec7fdc6a7e93a6f7bbcef5c541e41060477a353302d7ac5328ad88a32d79d98c9e3529b93ead302065065a69" + } + }, + { + "type": "Regular", + "proTxHash": "f51907462af18f56fd0b084a14101c7b9e4585df815e3c75eb734c537a9804eb", + "collateralHash": "846ea6c67c9ea5fa44a6261ff4c642bee14d59717770e60815110d83aca3460c", + "collateralIndex": 1, + "collateralAddress": "XnDdtjstHpmw5i5sQnmb4chPMAmXvkCohr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.70.98:9999", + "registeredHeight": 1030989, + "lastPaidHeight": 2127256, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdy2v9cz8fmTX4BwGzsSjJwRZNmfqkBExV", + "votingAddress": "Xdy2v9cz8fmTX4BwGzsSjJwRZNmfqkBExV", + "payoutAddress": "XnDdtjstHpmw5i5sQnmb4chPMAmXvkCohr", + "pubKeyOperator": "07444cb7fab8d36d024c225a0ff7f3aace5b7ea2375d5dfc86ac4b86b38c41ee2f50d42274b9a20f68994687d88faeb0" + } + }, + { + "type": "Regular", + "proTxHash": "b5e9d95c3a1876b3c41c56182ef3e75f68a9387b367610a55e3ca72c5d9b0385", + "collateralHash": "ab196fafbf2ac0c178acf16a30e0924e29f611fafb685af1cb724121aa297b50", + "collateralIndex": 0, + "collateralAddress": "XcjMkACZyPL7JnXhreVojRKk7UgVnhwkdE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.165:9999", + "registeredHeight": 1030993, + "lastPaidHeight": 2126803, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986011, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjtxRTkQZFqxP3EDHkxLDN2MSh2UGZ88J7", + "votingAddress": "XjtxRTkQZFqxP3EDHkxLDN2MSh2UGZ88J7", + "payoutAddress": "XcjMkACZyPL7JnXhreVojRKk7UgVnhwkdE", + "pubKeyOperator": "0881f6f465294de57d35f1e406eddebb51d28b485ce3caee750c775f8cf76009ac8fc0e54030ddd23514a3f3daaa31b6" + } + }, + { + "type": "Regular", + "proTxHash": "91b60e2b5a3a9375e9c57e5ab0ae3a66531557ff0536b756c41acbe25fd1e785", + "collateralHash": "416df41a3533c8276902ecf48d1257459b50aba53c02db5f81de0d9443eca5db", + "collateralIndex": 0, + "collateralAddress": "XexsdRSaCJCHEwjRq2YXURhRGcHmvsdcbn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.97:9999", + "registeredHeight": 1031044, + "lastPaidHeight": 2127295, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdMSn2EY1ekuUeJG6P7pN9CtHXJ3oqYaMq", + "votingAddress": "XdMSn2EY1ekuUeJG6P7pN9CtHXJ3oqYaMq", + "payoutAddress": "XexsdRSaCJCHEwjRq2YXURhRGcHmvsdcbn", + "pubKeyOperator": "049dcbe44b8a7193f15011e17eddaa851b102e33cad6713bd10003fa32f218cc0678502de217b57bf8ae70dcfa030a98" + } + }, + { + "type": "Regular", + "proTxHash": "f5e17d96642e82c983cab562e8f81bd50c1aab64ab941562033a5314c150e8de", + "collateralHash": "da5cc1fbc52ee0db7a0a99f62a44254d640136561fa9cbb23c07ef930ed01a5c", + "collateralIndex": 1, + "collateralAddress": "Xe3tZrThRh8LAcD6GzzF44BztSysXvWFBh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.132.147.251:9999", + "registeredHeight": 1031092, + "lastPaidHeight": 1986926, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1910686, + "PoSeBanHeight": 1986954, + "revocationReason": 0, + "ownerAddress": "XrsBA6qBQMRLnfcX5cJ7afZFnkYhpgYEKd", + "votingAddress": "XrsBA6qBQMRLnfcX5cJ7afZFnkYhpgYEKd", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "8a87cfc52774f1968252f5438342a999f5277b0c8e76ca119b71c1055e9c0af36feed23a419c530613aa573ceed441bb" + } + }, + { + "type": "Regular", + "proTxHash": "f1aca79e1c7650b5a9d52fa60330e53d0c51bd88370a884c0e7bc120790098fa", + "collateralHash": "751fc2b4595dc469acaf5677eb8bb1d0f6cb7b235534ce635f4a6a3a0b4945bf", + "collateralIndex": 1, + "collateralAddress": "Xv7vAzP17BNrxo5LJFQMpoo4ZBkuWT6vPx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.51.198:9999", + "registeredHeight": 1031092, + "lastPaidHeight": 1983537, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": 1910688, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "Xm9GdnHQ6wgQ3RvJvrcxuV2HsMqMjN5FLB", + "votingAddress": "Xm9GdnHQ6wgQ3RvJvrcxuV2HsMqMjN5FLB", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "801105f27dcd746e77fc7c60c20f9cbe715b910899ea8189f0005cd634b7cfe3d9428e2cc67ecbcbe640b5ef61978ba8" + } + }, + { + "type": "Regular", + "proTxHash": "99d73ed1edd5bc08c332f09409c1550fe838a0d704e683d010139194b480da8f", + "collateralHash": "ea1854ec0bdf241e61e559c13fca1657f38eaa2cb71c6169097b45ae2ee8215b", + "collateralIndex": 1, + "collateralAddress": "XmK5SzYLE1zhsZUenatRemyHRfSB2K8rae", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.36.244:9999", + "registeredHeight": 1031097, + "lastPaidHeight": 1983534, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": 1910687, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "Xj6iYx9uyPbhWh2sN4o5Ana3GqejyAWRxj", + "votingAddress": "Xj6iYx9uyPbhWh2sN4o5Ana3GqejyAWRxj", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "093c2b6d096933f7ff7f4d7e2831a3325d262ac73929e4e39b40e045d5136c93455d0af0fd51b0acc212895299820b24" + } + }, + { + "type": "Regular", + "proTxHash": "3c67272ba7145d51257f5fd80f63d298df844a3cdddb06d0c0b35f21659c39a8", + "collateralHash": "cb1ee78bf94eca1b23b1f3372a21285f9abf85fd8051d323d35d7689dd6efb37", + "collateralIndex": 1, + "collateralAddress": "XbbqAZyZKTQrBdFHSktesbH35Gu5XAU5cy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.198.107.193:9999", + "registeredHeight": 1031097, + "lastPaidHeight": 1983536, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1910688, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "Xg6K9CYuiFpbjG8K4iA8gLYW3DMAfoSbai", + "votingAddress": "Xg6K9CYuiFpbjG8K4iA8gLYW3DMAfoSbai", + "payoutAddress": "XpBrKYWSgB2M7f9bwmXzjVDbvLCrmxmBch", + "pubKeyOperator": "0b635cebe199de35ef85395095161339be276a67322c31ce3928b0ee44be35c84d9ab20fb31d833720905b11bd7101f3" + } + }, + { + "type": "Regular", + "proTxHash": "78be51cae43abf788ea0175a402c20292b308bc4872ba1fd6cb5ce0c1d1eb205", + "collateralHash": "1239f1b6c61efa8e4ef6fbf3f696d2846f2e6235c21d951e66a3acbf39a79a21", + "collateralIndex": 1, + "collateralAddress": "XeawPFGib2FXcsGtYj6QXq3BErdcMoHPDa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.103:9999", + "registeredHeight": 1031118, + "lastPaidHeight": 2127471, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuZ5anwmcuk8qi4wdga5k24xdGFjzL4YY4", + "votingAddress": "XuZ5anwmcuk8qi4wdga5k24xdGFjzL4YY4", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "1089d208fa0d3ab7ae7a980e07915717ae69c7d59404beefff37ad2b4c90bac6c9df112b3d04272629b1e3480e9334b6" + } + }, + { + "type": "Regular", + "proTxHash": "15752ec004f86d2256177a67f49429d9cb8c8add60f99eabe49dd1e7bf4bee32", + "collateralHash": "60470689bd75b3fbd9579d2acbb8ce4a805ca4ef7750a5c94c87f426aaf90f55", + "collateralIndex": 0, + "collateralAddress": "Xy8TUc8JJVbnVYDok1V8uFBnp2gm4Z2XiY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.72:9999", + "registeredHeight": 1031118, + "lastPaidHeight": 2127487, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqgiQBeSyHdL6gD7rQunCtUT5r9ggByoTe", + "votingAddress": "XqgiQBeSyHdL6gD7rQunCtUT5r9ggByoTe", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "0e31f54a719835d7ffe767908b6da7be762fec82d92f6abb61d477e81b9d1f62e7beae24aa889e091993ecba0062cb7e" + } + }, + { + "type": "Regular", + "proTxHash": "ca4f1b75614cfa27924610511ebae428f267b2a25cfb497a464baee8f6a16c85", + "collateralHash": "13476042b50251487707eeb83702e0ed51371645c638d53441d4601bfbe0bf2c", + "collateralIndex": 1, + "collateralAddress": "XjnX4bkf6vPdKWXNUD2NSx9Uf7qZykSuvo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.228:9999", + "registeredHeight": 1031118, + "lastPaidHeight": 2127501, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvBGzrZWjQeBhC1uPbMr1GH91DNEnQA7zn", + "votingAddress": "XvBGzrZWjQeBhC1uPbMr1GH91DNEnQA7zn", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "04e4796ed2ce6c2a19f013e4cfcd6551278410da94970b001112913a4a270a3e83ff17a78ec4519fa180f0b74f3dd656" + } + }, + { + "type": "Regular", + "proTxHash": "a4d127e4690bc72c7eb240592e4bb61320a602ba2d7053265c00b5b9554a4e5f", + "collateralHash": "cfe10e28f0693829c0af135e691b86417a3191a89e656a90713c05a77672627c", + "collateralIndex": 1, + "collateralAddress": "XsCoCmvDevGyReRrdFYonzEJUKyxcrjQNL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.97:9999", + "registeredHeight": 1031118, + "lastPaidHeight": 2127494, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbMQ3NjFQnr4SSytyyxHPhsFN5uuCpVeri", + "votingAddress": "XbMQ3NjFQnr4SSytyyxHPhsFN5uuCpVeri", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "0697b4c9d141bd48173f029cdec979c03f96e38916918cb147f0d219fba6d9c2d347940076fa359b19044d9b93c50298" + } + }, + { + "type": "Regular", + "proTxHash": "0783bde786ef7c212fc9efb7faaef595dc7c67f2404ba3cc9b7b2b5f8a666102", + "collateralHash": "0fd9a82196199d009225658dea069098d9f2edc99362f1c688eea417062ad12a", + "collateralIndex": 1, + "collateralAddress": "XkkEFeucnW6D4Q327ArAPAMCiUBuGFPCKz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.40:9999", + "registeredHeight": 1031118, + "lastPaidHeight": 2127446, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmcbux9izdtYWrYTC4zvvMWf75H3h8hBJm", + "votingAddress": "Xmcbux9izdtYWrYTC4zvvMWf75H3h8hBJm", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "81d1b510f69385082b942bb502109de9d3cd6cacc6f5b1802f1e7f3254234fa0ce2cd98f23a47e82eca11b05a2dc662b" + } + }, + { + "type": "Regular", + "proTxHash": "866e728a75a035e4c68d21f809ba3957461124cce96dac85b9144410b31a612a", + "collateralHash": "fd660a4d4afa46d38d48c430dc5e22861a22f1f96cf1cb6c60b01b5e62e23fff", + "collateralIndex": 0, + "collateralAddress": "Xiwis5KE1YU2XqdKRFkEihFBv7iwT2Qn8Q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.232:9999", + "registeredHeight": 1031118, + "lastPaidHeight": 2127484, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnC561TKgwdtGFq5jXchVSNr3WY3EyCkhn", + "votingAddress": "XnC561TKgwdtGFq5jXchVSNr3WY3EyCkhn", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "10ea71b10574820a89a5b4b2eec685a82be18aa0ebeeaa49e2077cac013ee3e3bb955f2c7323b880c568368a579d98f0" + } + }, + { + "type": "Regular", + "proTxHash": "10a8d2cb9261228f9845d5f7029219e257f1a1bd8f82027be671a2029ad41cbe", + "collateralHash": "fa913c9ac4953e979ea97aec0d51b6bb99d7a6d1c6504ecc2a269d4f5b4283a5", + "collateralIndex": 1, + "collateralAddress": "XrwmdZPtGaw63wqHepu5gwHcKSx7iX4vne", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.238.85.93:9999", + "registeredHeight": 1031154, + "lastPaidHeight": 2128188, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1980335, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy3LuBXSrMTonH5YhawaAK7aidGNockSta", + "votingAddress": "Xy3LuBXSrMTonH5YhawaAK7aidGNockSta", + "payoutAddress": "Xeg8pgJqfZHsx9GQRoSFpnjwsdzzAtj5z2", + "pubKeyOperator": "985a629d10599e6c0a383d3c81be3e78d863b84d6ccf362a94f1dcc1574317ce93d33347fb70ee5c550083a1e757f7b3" + } + }, + { + "type": "Regular", + "proTxHash": "ad34caf5c5136842ecc36d57b687d048a2642f4b9b0471c4d4aef7397f7f52cb", + "collateralHash": "09f951391c956284a463395570ffccdbbd568f1cdad3e1dbd8cc8b127c2ecef7", + "collateralIndex": 1, + "collateralAddress": "XrqctqUwxq2kRQQE2CJmKvHjVYsGtcynhJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.153:9999", + "registeredHeight": 1031248, + "lastPaidHeight": 2126894, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1909783, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaokqsHGKCr9VkiYmdU1gCxYS6WDHmxMhu", + "votingAddress": "XaokqsHGKCr9VkiYmdU1gCxYS6WDHmxMhu", + "payoutAddress": "Xss57fHNUN8XRvMNn3cdc9suzDp4zD6JQR", + "pubKeyOperator": "97507b1eb0fe5044aae8f3c038301009add693a5245999ed2c0a459a62dc98c4e7fa4303aec475a83b60c2cf3a62d573" + } + }, + { + "type": "Regular", + "proTxHash": "758808b7bf471639fdddde85763805a49b1268ab2c1b417ca54da22a40722eb3", + "collateralHash": "95151cf758274006d4892195cc592be079ffce42950dfa2b5c61ea697a738575", + "collateralIndex": 1, + "collateralAddress": "XvU2peS2sevjkGJPuyucCZtLfE3tGMdg1T", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.155:9999", + "registeredHeight": 1031267, + "lastPaidHeight": 2127807, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtPRp5CpRkrnpWMRAn7i8ydtLwBriGDK7j", + "votingAddress": "XtPRp5CpRkrnpWMRAn7i8ydtLwBriGDK7j", + "payoutAddress": "XeFbfiwwE2EHtAAhcodio48VRRCqJt3oS7", + "pubKeyOperator": "0c806f4177024555fe4e9c63c3eb74f9bdd42c4e4359ee3209b6c72d91f6e14e4121c5c004ffe2595132cbff65dc66ac" + } + }, + { + "type": "Regular", + "proTxHash": "cb698b6ff3190bd57c3ce4f382d5f490a9d5c882b52e59f82247c35ef974a439", + "collateralHash": "f94eea981f82eb4d18796b3c528596a1e8d5c143916bf23b83bf0fd92ad77457", + "collateralIndex": 0, + "collateralAddress": "XwtfJ2ZdrfpgxeT4o5KDCD3feJfjBe6btw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.27:9999", + "registeredHeight": 1031273, + "lastPaidHeight": 2127818, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdZF4hvFZvEg5oTXd9Scy7YUjQ1yzM3rPi", + "votingAddress": "XdZF4hvFZvEg5oTXd9Scy7YUjQ1yzM3rPi", + "payoutAddress": "XkAWg8LtP3ZYXTj7FTcohodCXzRsMbxHWB", + "pubKeyOperator": "19fa0b04474cee29e8e845a8a83db65afac0b7d0de97a2efe0dc910b5f9c0fdd6ed483eda1a4b72ce6c92c9a89d8d849" + } + }, + { + "type": "Regular", + "proTxHash": "03a9e80f3293d96ffda9ca44ab80efd8dd342672d2a8d646194cca62cc95db68", + "collateralHash": "37b2e0287a06fd369aae8d4b9a2e338d72c57c05386c4c4e492e46dbac8a1700", + "collateralIndex": 1, + "collateralAddress": "XrWcksd1bqqiRNpBmrH5Rh4c8ooBtwmYyg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.94.156:9999", + "registeredHeight": 1031430, + "lastPaidHeight": 1873061, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1769959, + "PoSeBanHeight": 1874346, + "revocationReason": 0, + "ownerAddress": "XxujhJB7qKqjHWkXKWJdCX5hu9DScN4JBZ", + "votingAddress": "XxujhJB7qKqjHWkXKWJdCX5hu9DScN4JBZ", + "payoutAddress": "Xv9cDvunac7hKVDkujtCk94qLSHCRwS56D", + "pubKeyOperator": "07ccd40d342520f61e88fa75fbf2dcdfc522117c79ff174e903e81ef68bc712b137ee8613415bb7ee4ebfc55b2b3552d" + } + }, + { + "type": "Regular", + "proTxHash": "08df46272431f1eb19e325a2ce9acd8f1b3ffcf30aa134812cd5d8473c4df3ca", + "collateralHash": "a17afabc51f163f12d5589fe3b2b2a8d6184700ad644c8c73c81f0e758971c4d", + "collateralIndex": 1, + "collateralAddress": "Xi88ZGxhbFZX36jozT3x6R6nEmPzrQJiwc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.217:9999", + "registeredHeight": 1031624, + "lastPaidHeight": 1793384, + "consecutivePayments": 0, + "PoSePenalty": 4441, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1797162, + "revocationReason": 0, + "ownerAddress": "XdDmhJnXy9pQoJqa6tQVvcPqfJP5EM84z5", + "votingAddress": "XdDmhJnXy9pQoJqa6tQVvcPqfJP5EM84z5", + "payoutAddress": "Xi88ZGxhbFZX36jozT3x6R6nEmPzrQJiwc", + "pubKeyOperator": "0030e6a5a104c5c4521e150d761c1d99a1034eb9587fee3d4796e7fbf015a95cac8c8c6fcccb9c500d1f65271423e3df" + } + }, + { + "type": "Regular", + "proTxHash": "50bee87660a4a564338ba21a78c8990f5a431cb1e6d4f03f3c0b3998a787bf3c", + "collateralHash": "00f90b7e45229a0bccc64309c9f70e15aae58d065d9959e0fd72ecc7501376d0", + "collateralIndex": 1, + "collateralAddress": "XfDyA3FYV73fqwaHoierf4YBeBuWCTvSyu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.214:9999", + "registeredHeight": 1031626, + "lastPaidHeight": 1797225, + "consecutivePayments": 0, + "PoSePenalty": 4440, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1799147, + "revocationReason": 0, + "ownerAddress": "XjkdHBacVsYuzkcbZDbBVYbtyeFBaoCDtt", + "votingAddress": "XjkdHBacVsYuzkcbZDbBVYbtyeFBaoCDtt", + "payoutAddress": "XfDyA3FYV73fqwaHoierf4YBeBuWCTvSyu", + "pubKeyOperator": "0384ef8f71933b9656ad2b3af67d4d71afa66c970b82606276dc8dbe20c03d505bba627aa29965d84153bd2ff9370e18" + } + }, + { + "type": "Regular", + "proTxHash": "23ab40023dcf32cd9ade0c7a2724ffd099b3d17c0b73152be012f248e6c8c34e", + "collateralHash": "e32650ff3927d7340aaee37996d076b52cdc46e3ecd48fa2cfc59cc3c6680eac", + "collateralIndex": 2, + "collateralAddress": "XbRm4yvbc2U3agfiYgdJtLRe4jiQocNi3h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.242:9999", + "registeredHeight": 1031626, + "lastPaidHeight": 1797229, + "consecutivePayments": 0, + "PoSePenalty": 4438, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1797900, + "revocationReason": 0, + "ownerAddress": "XsQsYk9mq3fpFvSq4izWv3YfC716jyDmGU", + "votingAddress": "XsQsYk9mq3fpFvSq4izWv3YfC716jyDmGU", + "payoutAddress": "XbRm4yvbc2U3agfiYgdJtLRe4jiQocNi3h", + "pubKeyOperator": "9241d87621c137b8f81433c78cf60423a6d370279fc80650de04d87f0010512fbc29143697b749924fe0c71ce8294a79" + } + }, + { + "type": "Regular", + "proTxHash": "56421f23d721f9549b346d6bc7369ca5af5d990ba13e40c40ac9d54ebe8757e3", + "collateralHash": "e79b2c9c666f7d99e377d1c12f3411f6bfa5caf0a23a4bc486c21f3a2df51ff4", + "collateralIndex": 1, + "collateralAddress": "XdcLVDSVeLH4SSZee4irbkunpE6xrczbq1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.56.88:9999", + "registeredHeight": 1031626, + "lastPaidHeight": 1793392, + "consecutivePayments": 0, + "PoSePenalty": 4441, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1797142, + "revocationReason": 0, + "ownerAddress": "XeDPxKdjPV9f7CoqtXMJCZh7wzfJN8TWGs", + "votingAddress": "XeDPxKdjPV9f7CoqtXMJCZh7wzfJN8TWGs", + "payoutAddress": "XdcLVDSVeLH4SSZee4irbkunpE6xrczbq1", + "pubKeyOperator": "01b4867eee9ed04800e70c252db0939d527e292bf50f9fd19df74aad13e28407f4766e5eb7a24f5b99c2e2c34cec087e" + } + }, + { + "type": "Regular", + "proTxHash": "6420a1ac270f8a1ec8404442cff3794eb80388da4169232cf3cf90d99dc7f332", + "collateralHash": "975fe03d0cd43ca7cb0089fc8cf52e8ef23d624ebdd9aebd018d332474aeacd6", + "collateralIndex": 1, + "collateralAddress": "XrYAsDENGVEsJ5EiUz35NoGV7hShDGzzX8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.125.71.9:9999", + "registeredHeight": 1031645, + "lastPaidHeight": 2127035, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986227, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxeAPsW8c2huAQ38EBfouuRBAySkN6JaM7", + "votingAddress": "XxeAPsW8c2huAQ38EBfouuRBAySkN6JaM7", + "payoutAddress": "XrYAsDENGVEsJ5EiUz35NoGV7hShDGzzX8", + "pubKeyOperator": "84c7528a05c1ab8cc22f29c17adaea5c61f80cd649353e6c388bf0af438fbf7565a0cfcdbf1f87b187d08ffd5cc05e24" + } + }, + { + "type": "Regular", + "proTxHash": "81bdf6460a9f3775b5ac11615268608baf659e19066618642d538caee0ee2957", + "collateralHash": "96d3f0be7031d595b12f5faad24c0152d0d0f0db8a246e38ddacb49e9b3aa31a", + "collateralIndex": 0, + "collateralAddress": "XsDHAqVSyy5otDqNQTrGeZmZrrYJUane19", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.32:9999", + "registeredHeight": 1031706, + "lastPaidHeight": 2126987, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761181, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkhXeSwEGYYVHm2QWkh7dL787cktswMVJi", + "votingAddress": "XkhXeSwEGYYVHm2QWkh7dL787cktswMVJi", + "payoutAddress": "XowXJHQbXpQhCgSzypb5ssK4y8SgNBCZ9N", + "pubKeyOperator": "97be43a4bc7759b59b4c1f59e0b132d1222cf4e2370a48ad0a3a4d58672706baa5e5f49630203ae5aff521258532643c" + } + }, + { + "type": "Regular", + "proTxHash": "52170b0ad10e8c3760bb39b676c0cb835ee6ee9270971b6fcfdbc195cdd64358", + "collateralHash": "c7380cfe3f0e1f056d4996100848e67d3676986cc485364439a9275b2b65dca4", + "collateralIndex": 1, + "collateralAddress": "XvbPrymTAbrL6LAmkzyPfbaWeMMwy49m3p", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.234.78:9999", + "registeredHeight": 1031721, + "lastPaidHeight": 1195708, + "consecutivePayments": 0, + "PoSePenalty": 4765, + "PoSeRevivedHeight": 1098610, + "PoSeBanHeight": 1197813, + "revocationReason": 0, + "ownerAddress": "XxvWKNYKtZ8a3nBkb7Pv3wfbvZmrK6xp8y", + "votingAddress": "XxvWKNYKtZ8a3nBkb7Pv3wfbvZmrK6xp8y", + "payoutAddress": "XvbPrymTAbrL6LAmkzyPfbaWeMMwy49m3p", + "pubKeyOperator": "924b1b4aaab3f45ca10b31e5df6b85c38a64c239db3d9970a4a226a99fb10829fc2e30f98e12b74ba25983b579de43a5" + } + }, + { + "type": "Regular", + "proTxHash": "939b5de485a2012968b6f57de4e599b7bf7ff8eef638d63fc8718f9430d34793", + "collateralHash": "3903aa65e661932a7052b7eaf7efc3fe6c454a9ea3fe2d4f6cc46ef5a5678b2d", + "collateralIndex": 1, + "collateralAddress": "XwXh4f4kuhJ2pfVUt7kXhY6wsUmQp73gT4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "148.251.136.6:9999", + "registeredHeight": 1031723, + "lastPaidHeight": 1486631, + "consecutivePayments": 0, + "PoSePenalty": 4657, + "PoSeRevivedHeight": 1370361, + "PoSeBanHeight": 1488693, + "revocationReason": 0, + "ownerAddress": "Xqqhoo3ivPXTUAGw8stJJw1SjiAxcod8Mi", + "votingAddress": "Xqqhoo3ivPXTUAGw8stJJw1SjiAxcod8Mi", + "payoutAddress": "XwXh4f4kuhJ2pfVUt7kXhY6wsUmQp73gT4", + "pubKeyOperator": "9143c6bb031f65b46933a9a050352746857f5c8bb921f1e73cbd7afb816c61d898ef2f72a65a8118ebfa2ec9f42828ab" + } + }, + { + "type": "Regular", + "proTxHash": "e3c5e91dc2c8abc2256bdd9de8387959fa1d0f5aeae7b33305f358e238abbdf8", + "collateralHash": "ef04e5399d24e8e920438a052d6524f700718bb56dc34199f722bc0f0f3a686b", + "collateralIndex": 1, + "collateralAddress": "Xk6VdyKyu2UEjdArFWKJaGuwZfwUfQV9Sf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.88.15.97:9999", + "registeredHeight": 1031891, + "lastPaidHeight": 1320816, + "consecutivePayments": 0, + "PoSePenalty": 5100, + "PoSeRevivedHeight": 1287355, + "PoSeBanHeight": 1323227, + "revocationReason": 0, + "ownerAddress": "XhheyTETGeuEweoxGaeEVF27rcD7StWPZw", + "votingAddress": "XhheyTETGeuEweoxGaeEVF27rcD7StWPZw", + "payoutAddress": "Xhosp4Z1Fdjb3NBGGFkto4fvSYWcj7AA3c", + "pubKeyOperator": "821b3d3efbbdca25dd80aa992d765881edf9a3e3f151b8edd483c2cd87683bd8eabc35b9aec11df821fe5e9751c5be8e" + } + }, + { + "type": "Regular", + "proTxHash": "04cefd74dbf70bf138b361cb816abc21e1965f3633510426094358e63e61db3c", + "collateralHash": "fee570f8c2bed4590bd77d360ba0778b4c98f64397222622fcd5269e5d60dd29", + "collateralIndex": 1, + "collateralAddress": "XsdPuhdH5H3xQLFPP9S1SebjCQdt39w4q9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "34.234.120.36:9999", + "registeredHeight": 1031963, + "lastPaidHeight": 1983359, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1692171, + "PoSeBanHeight": 1985493, + "revocationReason": 0, + "ownerAddress": "XgBeGtVUwY1dRGzLnWoGoyzk2KtC8wFeku", + "votingAddress": "XgBeGtVUwY1dRGzLnWoGoyzk2KtC8wFeku", + "payoutAddress": "XsdPuhdH5H3xQLFPP9S1SebjCQdt39w4q9", + "pubKeyOperator": "079a442c2ff2eb6f1266eb758ca27ff588c5d66f21c7f1d16cf89bd5e0c9da50b680b47c1fe723adc44525bb3b3d9750" + } + }, + { + "type": "Regular", + "proTxHash": "2228747b00f351e5b34deec3aadba63628d32bd650712f21f7b38f9c2bb37589", + "collateralHash": "69b57120048cb2c50d91762c9bb0f29e0843ee977531650fceaff567b27362b1", + "collateralIndex": 1, + "collateralAddress": "XdqbSuDPQDy9NpB2qMLSWbPKvBTUrvsvqg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.104.225:9999", + "registeredHeight": 1032053, + "lastPaidHeight": 2127354, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121203, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvmAcScvtApsik17Qs3ik7aZkkAqayttYX", + "votingAddress": "XvmAcScvtApsik17Qs3ik7aZkkAqayttYX", + "payoutAddress": "XewxH5ExqKfnxAR9AUQ1EspNyYs3a4nZhX", + "pubKeyOperator": "9860dd6725d8888d317c3e0d905fd60fa4dd10b5edef93c942853713c4991614aff4d4cf776d2d33a93d57cb11d581db" + } + }, + { + "type": "Regular", + "proTxHash": "2a9320c6379233cbfcc861170fcc76e32a7b6154460772472159fd79b699abc9", + "collateralHash": "5fc1c3ce154078da125e8219359656aa97ab89d4c8133fafcfd5954c2c3c98ce", + "collateralIndex": 1, + "collateralAddress": "XrQJqagaTSUyKyK1CAUz8oPsqpsWP6PhyV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.7:9999", + "registeredHeight": 1032107, + "lastPaidHeight": 2125772, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xoz5UKa1DgMZLzQK89MJNAGtFkBfDHxtPg", + "votingAddress": "Xoz5UKa1DgMZLzQK89MJNAGtFkBfDHxtPg", + "payoutAddress": "Xs2zQdoQ3tSBJ8K19eCSs4GkVb3qDUBaJf", + "pubKeyOperator": "877c8c09bdcd9d216f4a56dc3eff1cd1e9d8b912ca41147e1005022c8256e1dacba830312cefa5e25d74c5ba8ba1e8cd" + } + }, + { + "type": "Regular", + "proTxHash": "34b45d8461b5b0753f6f09877b9a23862c96c96ea0dca55a791d7f37d0520e1a", + "collateralHash": "fcd89b66f80b37e4fb921d02891b8ffbc915ebef5e8874eb320bdc16d3376c65", + "collateralIndex": 0, + "collateralAddress": "XuQ5N7omDDs217mNfSFb34FmmtdcmZYTdM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.230:9999", + "registeredHeight": 1032134, + "lastPaidHeight": 2126702, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1175677, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xoo3JNXwCFVKAmpMRgq1pD6DAAzywsX4sN", + "votingAddress": "Xoo3JNXwCFVKAmpMRgq1pD6DAAzywsX4sN", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "0bd6a63f121ed0de1eecfb76f637056eb9cc438140f31c87a36cb510fce475f9b0d2fd9da6e2b99ba267a146ec67eb4e" + } + }, + { + "type": "Regular", + "proTxHash": "20e1a7d032b199c6cd7172784aa133a73b86fa13779a5407504a1c9d45cadada", + "collateralHash": "06421fe7a3a4934ef8d0a8dea7ae88f45f690c4ce2fc528254c6ef484bd31892", + "collateralIndex": 0, + "collateralAddress": "XrYKsjNDURUmrUrgcbWXtmo124AJorKmac", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.78:9999", + "registeredHeight": 1032137, + "lastPaidHeight": 2127085, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1166510, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeweznmerpaUZUapcNU1X2bJwijvz9FSGt", + "votingAddress": "XeweznmerpaUZUapcNU1X2bJwijvz9FSGt", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "96475713ea0ff74395eaf02db9f9f3a4c53c28d6013b1301af9b469b476352f576699ddbeac55d4383399f3b8f16cb61" + } + }, + { + "type": "Regular", + "proTxHash": "33dc3ac6d20255f4d1a19401cdde719b0a59572e6a702e0b2b4618c7c60e8f57", + "collateralHash": "517567036a971a738e8683324e4d0f6dc3ce3b845b862858bc9a79e050ad9463", + "collateralIndex": 0, + "collateralAddress": "XjwUFu87V9Gc2ipud2faDAKZ5adp6dxcaF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.80:9999", + "registeredHeight": 1032139, + "lastPaidHeight": 2127003, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1084091, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjGZjkMbzCKBBqpmeHMgT7BGDeexSc77cm", + "votingAddress": "XjGZjkMbzCKBBqpmeHMgT7BGDeexSc77cm", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "1719314556e198ba1e55e2b345c048cd6599019a494d3f5add734ba75f9788edacb5bccac2ac6d3443366d7f958fafbb" + } + }, + { + "type": "Regular", + "proTxHash": "e7e545e399aa2478b00bbf0363df709bdc4ee908718c8e1764c1bf1fc53cb501", + "collateralHash": "614b703c38b574d2dd097f43b6e890af57152d88f24a3a8773279ccad0355516", + "collateralIndex": 0, + "collateralAddress": "Xpg5x9kNGfpkTpa4cyoSmfBhe4Kk3dB8vE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.202.141.60:9999", + "registeredHeight": 1032217, + "lastPaidHeight": 1972174, + "consecutivePayments": 0, + "PoSePenalty": 4066, + "PoSeRevivedHeight": 1623835, + "PoSeBanHeight": 1974858, + "revocationReason": 0, + "ownerAddress": "Xnjk5YeEg5pcXJyqzE1L7o4e5u55nV3raa", + "votingAddress": "Xnjk5YeEg5pcXJyqzE1L7o4e5u55nV3raa", + "payoutAddress": "Xpg5x9kNGfpkTpa4cyoSmfBhe4Kk3dB8vE", + "pubKeyOperator": "04fcdb4c68b6822949058a6f9395dc7fb31709ed72c96a6122cb77baa011afa5e29f60561a7ac0b8185adc686ebe4e46" + } + }, + { + "type": "Regular", + "proTxHash": "19e048c6c30173c9bc564cd55788a86cce9e12a7a8677f35862e3d6efe170adc", + "collateralHash": "b1a71ac9df32082c5d45cd8d3ab8dd9c05204d19eac635911e394056bb0bb367", + "collateralIndex": 0, + "collateralAddress": "Xv3sAU5uV3sQeSFqeBJcQf4G48mmypM8fx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.43:9999", + "registeredHeight": 1032317, + "lastPaidHeight": 2126829, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764845, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnVFtVUjQgZvTqHDuzmsmeRSciD24KA9YE", + "votingAddress": "XnVFtVUjQgZvTqHDuzmsmeRSciD24KA9YE", + "payoutAddress": "Xv3sAU5uV3sQeSFqeBJcQf4G48mmypM8fx", + "pubKeyOperator": "125b2d35d0ba451e02eff49192e7955fc43ccdc36ab19f6c1d9c05519eff83967d174d2b901888d558e469d27d4fb7ff" + } + }, + { + "type": "Regular", + "proTxHash": "649e2d8e0550a6493b9e9e254039b05ec9787e1b38982fa731958ab4dcfc3bbc", + "collateralHash": "c0516d5da3921f94cd8aa5905da00daa49af8abcf2fa92b7c21d5e1ca4c3490f", + "collateralIndex": 1, + "collateralAddress": "XpnhPT4NiuHuUNNrowSsYaWgkhdMyHRrc7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.207.17:9999", + "registeredHeight": 1032467, + "lastPaidHeight": 2114418, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 1691087, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XpwtjRfUJVVR9mjgkFZ9DVMnapvJNEReUX", + "votingAddress": "XpwtjRfUJVVR9mjgkFZ9DVMnapvJNEReUX", + "payoutAddress": "XrDkde5bkA8ZDvmLGBtzJGi81AwScLVjZq", + "pubKeyOperator": "148981c5441e28f46de2b869ccf3fda025ac917595b32662cc7d4977f839a6486e3689110d34fff4f1f54b75d55fb3cc" + } + }, + { + "type": "Regular", + "proTxHash": "803c9126ae8d84909b8f56c6ba483f0f1c54675b7691514cbee89ad8e2a7925a", + "collateralHash": "10a8c8002574c445e22bb5446fd4ff25fc12137ffdbbdc7d312d97016ab77d1c", + "collateralIndex": 1, + "collateralAddress": "XmmZmi2eQeYwnr5J1oXxZKJM9fyLJC2BYR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.248.181.223:9999", + "registeredHeight": 1032533, + "lastPaidHeight": 1868990, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1733013, + "PoSeBanHeight": 1872330, + "revocationReason": 0, + "ownerAddress": "Xxe5cNtZmQYEkqiThmgJrQJmyK3T5BeHdo", + "votingAddress": "Xxe5cNtZmQYEkqiThmgJrQJmyK3T5BeHdo", + "payoutAddress": "XkyaNbiv16b3CkR2gSbLMiUDyNBsh4wMJm", + "pubKeyOperator": "0c6fe1fc008af58db22b868d2b0302aa1f46b5833439fb53ca7a54ececfce437ee806418f636172fcdb2ed80864650a4" + } + }, + { + "type": "Regular", + "proTxHash": "64594ac7eac0f9cb7688b08aaabd22e6a66ae3f14a65ac3a45e5f4541f89879b", + "collateralHash": "148758e0b6c3b9a6dc5a142efedab7425731ca586f04b74db654d363d0a8b373", + "collateralIndex": 1, + "collateralAddress": "Xx1TCPZzXoC4rsgTsVCuxh1xUNvEPocyWM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.190.157:9999", + "registeredHeight": 1032578, + "lastPaidHeight": 2117130, + "consecutivePayments": 0, + "PoSePenalty": 3838, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2119434, + "revocationReason": 0, + "ownerAddress": "XnKN9JfLuiGBkqppH9yPLGx9uk3AHo19x3", + "votingAddress": "XnKN9JfLuiGBkqppH9yPLGx9uk3AHo19x3", + "payoutAddress": "XnceyaAjQJ2P5LHsXosYGEZMCNK8EdwPX4", + "pubKeyOperator": "11e2e0a92c3e8c9a700efe73c60f567ed26781875836a858f1a24998c676604b63e634cf8fcc535538635565e6b52a81" + } + }, + { + "type": "Regular", + "proTxHash": "a3a711633b36a2af81959bca8a153ceb91e075dad1769129d359f4f42c5517b9", + "collateralHash": "9bee2eab3315953d057d653e772088f02ce7280891fa7a1ad6df7429e2eb8cc0", + "collateralIndex": 0, + "collateralAddress": "XiJt8yjxsk6cGwzG2rT2mqZz4KbxEDm5mY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "18.217.236.63:9999", + "registeredHeight": 1032592, + "lastPaidHeight": 1731844, + "consecutivePayments": 0, + "PoSePenalty": 4462, + "PoSeRevivedHeight": 1490287, + "PoSeBanHeight": 1733411, + "revocationReason": 0, + "ownerAddress": "XfPnGbwqvYa1ehcdMH41iyNPZ8LEy9mW6R", + "votingAddress": "XfPnGbwqvYa1ehcdMH41iyNPZ8LEy9mW6R", + "payoutAddress": "XiJt8yjxsk6cGwzG2rT2mqZz4KbxEDm5mY", + "pubKeyOperator": "8c2f35ee7299492d71386e452ca4079fe5f13b3937afe1ffa4263e52432dfe852ec60a3863cd475b52fc19fdc48656d2" + } + }, + { + "type": "Regular", + "proTxHash": "5598bc3fcd40bc3ae263027a5aaf3b8515e30ab20696e01fb06b3b83c4284fd4", + "collateralHash": "96d1158c62152e182cb0aad2568c80c9591bdb9993d22053d90a4b66d237a7bd", + "collateralIndex": 0, + "collateralAddress": "Xhny6pKbvLnueDE7wm8JTcK7Ho2EYiXhhi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.244.99.70:9999", + "registeredHeight": 1032676, + "lastPaidHeight": 1195749, + "consecutivePayments": 0, + "PoSePenalty": 4773, + "PoSeRevivedHeight": 1098654, + "PoSeBanHeight": 1198101, + "revocationReason": 0, + "ownerAddress": "XfFsz1cJMyB2ncvNmaBmPg8qKmFMB6VJjq", + "votingAddress": "XfFsz1cJMyB2ncvNmaBmPg8qKmFMB6VJjq", + "payoutAddress": "Xhny6pKbvLnueDE7wm8JTcK7Ho2EYiXhhi", + "pubKeyOperator": "18c187875a78f71e3435943e135a75fd792bc8fed19cb121f18b9b1423ec00bf2ea65dcc6dda1a6ad9c9a90cc1ef796c" + } + }, + { + "type": "Regular", + "proTxHash": "26095ca9ffe15ee7fd772de85f080fb1cbaf3d38fe61a6c342544fe39a81327d", + "collateralHash": "779b56250227baf690438960105a8bdedb308a6d49ea4d823ccd0a20d3045902", + "collateralIndex": 1, + "collateralAddress": "XqgxCPPC1AwvELNdtbhjJ7hsGhxStSQfKv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.171.158:9999", + "registeredHeight": 1032698, + "lastPaidHeight": 1195704, + "consecutivePayments": 0, + "PoSePenalty": 4771, + "PoSeRevivedHeight": 1098605, + "PoSeBanHeight": 1198678, + "revocationReason": 0, + "ownerAddress": "XmUQKwdB8q3ygywZg2NopSJZXufnScdY94", + "votingAddress": "XmUQKwdB8q3ygywZg2NopSJZXufnScdY94", + "payoutAddress": "XqgxCPPC1AwvELNdtbhjJ7hsGhxStSQfKv", + "pubKeyOperator": "172f16ef1c9f219a8e55c5cbbd47545dc3d771232ff69e17c627ac80948517c7d1677e918b5bce752550ab4cea9c9bf0" + } + }, + { + "type": "Regular", + "proTxHash": "68391dade9e175bb5a66c3c80bccdaa3c9fbd0514d74063856d534f629096bb1", + "collateralHash": "1d7e047b2cbe358bb66707fb0801fc579a56c2573d96e1a88a7e5225e8b92173", + "collateralIndex": 0, + "collateralAddress": "XjVj72QeYPNya9LmLGYmBkEcM2tPnF7ZUL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.104:9999", + "registeredHeight": 1032704, + "lastPaidHeight": 2126331, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1140634, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xyp6jFfaWLPieHWomTLFfuHSdinV4ix6oY", + "votingAddress": "Xyp6jFfaWLPieHWomTLFfuHSdinV4ix6oY", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "08915a5164a39c40a66491b04b44c89d5ac0122b3e733f1c7310f5b5df71b3b46e2e73475e80a67f37d52113c325ce4d" + } + }, + { + "type": "Regular", + "proTxHash": "8685d53248b2b494fcb4e01f102518b550442bd73fddccf7d037f2329f85a5f6", + "collateralHash": "8dbd967fa0b3d26cc7474aafd757b6b76a9cf4b03b096071f8bea5f802f010a4", + "collateralIndex": 0, + "collateralAddress": "Xg8zyqLGwyi24fR5iPJRaDGqGV7FTJHZNk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.68:9999", + "registeredHeight": 1032704, + "lastPaidHeight": 2126426, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm2Rkeg8GRcyuUetKkonLnDpVTQpPj4kHQ", + "votingAddress": "Xm2Rkeg8GRcyuUetKkonLnDpVTQpPj4kHQ", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "104eed39725245d4cced9a79f28058b99b051568481e55c55b018a089521e3e615d79765de42bc9128ae75e5f58299cc" + } + }, + { + "type": "Regular", + "proTxHash": "4a0348788789b85c9a0112c099ef1f8276e501ce2eaa33ed8661437ad6f54ac0", + "collateralHash": "75cd1442a1216eedf95fdd346e8374025ea033dc69d21d2004afc4ee9cac8361", + "collateralIndex": 0, + "collateralAddress": "Xx5QQ7iWcVdYk2qQfFVwfwvsFtVqZ4My3D", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.46:9999", + "registeredHeight": 1032704, + "lastPaidHeight": 2126424, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv9q3y3UBxsnnBeTfmHC4ZWguvCQk4qCCj", + "votingAddress": "Xv9q3y3UBxsnnBeTfmHC4ZWguvCQk4qCCj", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "89b8787b9d9c057522ce517cff5e6909ce8cda77d0de446896d0e27909e41c5b494c2e764b2936c673ec8e2a3f0dfb94" + } + }, + { + "type": "Regular", + "proTxHash": "47b1a5d557796aab26d71cb2c2f7d8d962dc4c75cc22b7284cb31efc6c780f36", + "collateralHash": "2da3debe31217871548496d4743f2de5f129a9e58d89444bbaf8233bab36fee5", + "collateralIndex": 0, + "collateralAddress": "XnLjzvGnYL52dyMQPkcnap3wTmwAh9irxh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.16:9999", + "registeredHeight": 1032704, + "lastPaidHeight": 2126633, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1102286, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqcp8jMCff3pHd8GeLtMpsaoDiztMe59ws", + "votingAddress": "Xqcp8jMCff3pHd8GeLtMpsaoDiztMe59ws", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "81bbb0dde6cd5e6ae53960f754459538ea430be443f10ceca831d8170f0813a41e53b672b53b4308e8013fed9939f7d8" + } + }, + { + "type": "Regular", + "proTxHash": "14ac3c1c75e80dbc088e345716b285d20fd784ffd2de51e5146fdd611866b702", + "collateralHash": "dbbc6284d1f9eca72c140e5c289e98669decbe9cd033611d045acc98730b2c5f", + "collateralIndex": 1, + "collateralAddress": "XjXEHS3D16QwQJ6RcXs2fycwZ9VAdiHCEa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.66:9999", + "registeredHeight": 1032704, + "lastPaidHeight": 2128653, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1144009, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoP7Z1gTPujW3mDYSoJgE5a19qb5FdLh2N", + "votingAddress": "XoP7Z1gTPujW3mDYSoJgE5a19qb5FdLh2N", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "8896af29cd715936bc3810902ac87341e966a22793bd566be50e6ecb6a29d116a82399d03c85607d2f8e0fae4f97fab0" + } + }, + { + "type": "Regular", + "proTxHash": "e8ce80ea903a5f4af70dfed189fbcf6926374743202c4cedafe58c21eafdc51b", + "collateralHash": "c04a3a19dd767e5f1c34f86c62fe62c46584d82083e9585e608b1ffb00bbf643", + "collateralIndex": 0, + "collateralAddress": "XyXwQaR22ujjsfaFMLZ3bAbh8cswVjkyxS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.36:9999", + "registeredHeight": 1032708, + "lastPaidHeight": 2126435, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo4M8iVwqHSCD6pDww5mffStpgFwqqXLQU", + "votingAddress": "Xo4M8iVwqHSCD6pDww5mffStpgFwqqXLQU", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "0ec1cb67584a867884f0ed7e6e0885b021f3f56e3ebae4258603010884d495964243669841a20db2fc071ce479047774" + } + }, + { + "type": "Regular", + "proTxHash": "e20eb3aa1f62c438eb89aea58adef794b4fc8725394e923476a51458136ddb7a", + "collateralHash": "41b55ffcc40a3075728793a9c28822a9766249567d57e17a78b14deb2edd4053", + "collateralIndex": 0, + "collateralAddress": "XbkjXGZDUfwAf6gvN9meq3TXvJdCMjKWeu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.143:9999", + "registeredHeight": 1032708, + "lastPaidHeight": 2126436, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv2bF25PBh4KF2KjYZ8wBf5B5arq7tvMaE", + "votingAddress": "Xv2bF25PBh4KF2KjYZ8wBf5B5arq7tvMaE", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "01b3a8a2639257027a59be8d5290e20233e36ec6dd0f5fac51d75eca9f58a60954651c041341273e4d3cdd5b0fc785ea" + } + }, + { + "type": "Regular", + "proTxHash": "7fd0a504278a1e6a0cc1188c98178c279667450502a87e8e841dfaab7896657b", + "collateralHash": "49eae220e329f6bc154a9eac4640842ec6ed0fc7fe638ae432bfcf4294c61c27", + "collateralIndex": 0, + "collateralAddress": "Xo8EHLJxxs6SrFteZLhwvUpgpn4wKdCfzF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.17:9999", + "registeredHeight": 1032709, + "lastPaidHeight": 2126998, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1136815, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfhrCMMsRiBdT3Xkjspm7ARpRcHvtr3UD5", + "votingAddress": "XfhrCMMsRiBdT3Xkjspm7ARpRcHvtr3UD5", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "0140c6cce1152085456b44c005042fa5b19048e23e7ae498b831dbcffd8fcd9360d26ac8c95db2c6f41b419791915e74" + } + }, + { + "type": "Regular", + "proTxHash": "98728e3d097e979286968dbb9cbba002f265948eb4fc9a14d0fbe5e0258de6e6", + "collateralHash": "29d88933c9174076017a286a7e2bdc1164a9aad26f628e208cc10d7480b6b0e3", + "collateralIndex": 0, + "collateralAddress": "XkNHLnh4nXmpcbauAv8Cvh4Nor4jA5rwgk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.226:9999", + "registeredHeight": 1032709, + "lastPaidHeight": 2126441, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtpiN6pnTiqJNQRJ3tvgTpGGSAAMq3FyRj", + "votingAddress": "XtpiN6pnTiqJNQRJ3tvgTpGGSAAMq3FyRj", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "142272c0e15731b92bd5a25c66fe9a571f8f5fbe4f249559f2dcc25daf042f79f4d0395c173b504f9732f3a9e7fb4d05" + } + }, + { + "type": "Regular", + "proTxHash": "9432f922d4a07631be9d31fcf610425f26c677ee57bb76719e47a2b1d80d8ef6", + "collateralHash": "b54bf3b9393cbab7cfe322e65d576b4ab580d2b24e01f5cb9f7b13c0f94aa19d", + "collateralIndex": 1, + "collateralAddress": "Xe5yK7XsywCLNfa32QbhSwaReBpAEbyvTf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.158.221:9999", + "registeredHeight": 1032711, + "lastPaidHeight": 1195709, + "consecutivePayments": 0, + "PoSePenalty": 4772, + "PoSeRevivedHeight": 1098610, + "PoSeBanHeight": 1199254, + "revocationReason": 0, + "ownerAddress": "Xri8hjvwBBa8p2ST61jDaenkpWPGw1eRmr", + "votingAddress": "Xri8hjvwBBa8p2ST61jDaenkpWPGw1eRmr", + "payoutAddress": "Xe5yK7XsywCLNfa32QbhSwaReBpAEbyvTf", + "pubKeyOperator": "0dcc4b041abf281886ada11f2c6e14a5834175a8dd0ec6ba56414c872474b296f5317fd0bd2589ebd11deed920e1a1dd" + } + }, + { + "type": "Regular", + "proTxHash": "f35b04711186532df06902c4d6e59521dde9578b55fa6790bf9cf8c90499b0d4", + "collateralHash": "f865d0f1ef9b1385864487874caf397f8c7c4f8880a0ab667fe9a6db8e667709", + "collateralIndex": 0, + "collateralAddress": "XamM7rqfKfL8utPSdK6p4U3MHBb5vAN7eH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.184.29:9999", + "registeredHeight": 1032724, + "lastPaidHeight": 1195644, + "consecutivePayments": 0, + "PoSePenalty": 4773, + "PoSeRevivedHeight": 1098552, + "PoSeBanHeight": 1198139, + "revocationReason": 0, + "ownerAddress": "XfvJukhU2UZAhZCewsDZxzX9ZCgTT8Cr3Z", + "votingAddress": "XfvJukhU2UZAhZCewsDZxzX9ZCgTT8Cr3Z", + "payoutAddress": "XamM7rqfKfL8utPSdK6p4U3MHBb5vAN7eH", + "pubKeyOperator": "904effe5d2e320f8f2143295c973ed4c384d71e07c428c50f5f0ac6f1b7fbb94c906d349713423c210325fa312a9494f" + } + }, + { + "type": "Regular", + "proTxHash": "f08491211ae85729aed495f8666676607088e82405b7889cd85972930e9a934c", + "collateralHash": "39958d01b6b36903dcac0ae461210b6be1a5224bbae49210030bbb3cb988a8e8", + "collateralIndex": 0, + "collateralAddress": "XpScuvMLpjpN7d9fjYeU7yGhPcVZia7cMZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.38:9999", + "registeredHeight": 1032734, + "lastPaidHeight": 2126764, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1165959, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg5WgzX1RJXXtCFhajycNWcoQEyA5HQeUQ", + "votingAddress": "Xg5WgzX1RJXXtCFhajycNWcoQEyA5HQeUQ", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "8d800a2878621ce612ef2fa906713c1f20a023379d720b0cb0a2c7007747096b59ba1b69e160c6b9e5568f58b982c6c9" + } + }, + { + "type": "Regular", + "proTxHash": "0034527c826c4ecf05abd6aa139e3f46ed983a46b8868166a1d03c4f798e3f8d", + "collateralHash": "6173db2124a47cda1c1e3956f6cc14e4c19da05a9b507f1d1e6a236973374911", + "collateralIndex": 0, + "collateralAddress": "Xfr1oSnWss4gr36HcupeY3bJ9gb61DSCa3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.81:9999", + "registeredHeight": 1032734, + "lastPaidHeight": 2126465, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo4S7aJdaUSMpLpZ1aH9KhgP1z6G2bKW18", + "votingAddress": "Xo4S7aJdaUSMpLpZ1aH9KhgP1z6G2bKW18", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "98cbf2ee947fa712d81cd50582b8f3fd4cbc4024caa78d3bb2c763f0848afac2ca663fb045e7341b127fee38e702cdcb" + } + }, + { + "type": "Regular", + "proTxHash": "ce4d55d48c153f7baec45886ccb84f7c56209fb2e2f8912ea6617b96d047a2fc", + "collateralHash": "2180f29ae7e33e2fc14636f06f9064382b8ae65392a1cbf157faa6efc11b84b0", + "collateralIndex": 0, + "collateralAddress": "XcTmWwPUNaE8GtycpFC6H9UWkpbRigj4sp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.39:9999", + "registeredHeight": 1032734, + "lastPaidHeight": 2126470, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb6fSefywHK4p8yxXCkb7KumuFQe8CjN5p", + "votingAddress": "Xb6fSefywHK4p8yxXCkb7KumuFQe8CjN5p", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "94dd833b270e582e2feac2516a364db26a6e8582fcd0a0c3779c709a1355f770ac1ed03e812fe767746d98f53ab468aa" + } + }, + { + "type": "Regular", + "proTxHash": "f8ad2a1ab4cb45c49964df0a00c9a89c04df13e3a2668c768bdf03b5e91a388a", + "collateralHash": "f3b8d993056eb5f5b01fd136590a7988c6a23d82e2fcdd7106642697876d6243", + "collateralIndex": 0, + "collateralAddress": "XbdeWg5rRpC9XEK8gMV9rNUJzEq3UGyyPB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.79:9999", + "registeredHeight": 1032734, + "lastPaidHeight": 2126462, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtJ2zMGUQQeZJYw5JSsFTEhpFC8iTUSL6Z", + "votingAddress": "XtJ2zMGUQQeZJYw5JSsFTEhpFC8iTUSL6Z", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "16a2aa386afbc4ab3db010008d07b5a2bac350774d5e434bfd43a55e80e9653a15e0ef5b4a9a2fed1ec62ae7587c9e32" + } + }, + { + "type": "Regular", + "proTxHash": "c878233511e6b4cc0daa120ca5b3468d65e3539000cb1a0ec084d5e7de49099b", + "collateralHash": "1a21fefe4ee89b9b25f8418b58ac44b2f7e64483c9b574537c2ecccd112809d6", + "collateralIndex": 0, + "collateralAddress": "XoHLnSKouxWmXzpHdEoSkGSZcpzAXaC1iT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.10:9999", + "registeredHeight": 1032734, + "lastPaidHeight": 2126468, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcNGGBqP8MPHQGKj6udSfHSy5unJneLXpe", + "votingAddress": "XcNGGBqP8MPHQGKj6udSfHSy5unJneLXpe", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "119a646d120b5a5131f9beceb30ddb22ea126ccbc2c97b3d3e654a442b25de51cbf50039e82031d0ea6cc2e570b6bbb6" + } + }, + { + "type": "Regular", + "proTxHash": "d6be92c2866bbe72aafb1d3a823f04a751c3ef318223ec1163a432920b9b61aa", + "collateralHash": "c200b545bec1c6f7566b03cb2cda223156e9cd56a39da080d9e134d1e9f50fef", + "collateralIndex": 0, + "collateralAddress": "XvqsJRksZ33wmp4EceAJCExDFVasDSD4kC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.146:9999", + "registeredHeight": 1032734, + "lastPaidHeight": 2126469, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhd8sycXcYL5bCNmAtEjgZpGgVstrMdxRL", + "votingAddress": "Xhd8sycXcYL5bCNmAtEjgZpGgVstrMdxRL", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "878a04280103f8fd7c0e5795a5642dc4bbb64ded64440d87c81f2e10d1dd0db696c99b228ca80860ed9aab6d13fdb224" + } + }, + { + "type": "Regular", + "proTxHash": "288aa361ef8c806ce740a250257f2291a71912776ed46fafc468f8396db21ba8", + "collateralHash": "6836147903d93aaad5ec44482ff3ba2f371475b93a4b70944c15ba9e21067041", + "collateralIndex": 0, + "collateralAddress": "Xu6asKiP64aLstqJMBpXey3M7qi1pJmoNK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.7:9999", + "registeredHeight": 1032740, + "lastPaidHeight": 2126476, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdNtfhi5e1wxNTNKipX2frsfLPs1w19YcH", + "votingAddress": "XdNtfhi5e1wxNTNKipX2frsfLPs1w19YcH", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "04e1a7f7560a9422ab86988b8feb56d3b81e3e4d7fc2877c0611ca624ade53e239b9a7176542333375c6edf7ca9ce044" + } + }, + { + "type": "Regular", + "proTxHash": "bf0f38bedfac5070fd44f13c11b5092b3838d654deb7c754206cb8dc4e3745da", + "collateralHash": "5bae85e8404ccf766b7e35020f0ed3f8e31931dd6b3e16c479fff9539792a3c5", + "collateralIndex": 0, + "collateralAddress": "Xi3pKXv1NBG6Mo33JvqhbJ22F9jr39NgcN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.32:9999", + "registeredHeight": 1032740, + "lastPaidHeight": 2126477, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdxiCkou6H7GfC6sBkNvKLzKJdzx5g1pwb", + "votingAddress": "XdxiCkou6H7GfC6sBkNvKLzKJdzx5g1pwb", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "08cad8053d78706d2e21efacd78401c1184316106e44e2b2011737eefe4c232f2e5c5efd929da2dcd103fa989a0ce786" + } + }, + { + "type": "Regular", + "proTxHash": "39a55c72a69e271abcc07b8180fff7df18a076787333f1994d6c2d3f54b31638", + "collateralHash": "42a4c1e7d2b9743b2b6cad1cfca53cf9d605988ac91fed076027da8771a0ab7c", + "collateralIndex": 0, + "collateralAddress": "XpPPa64TJAYspg7zS2hwqESG6qszneKg8P", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.143:9999", + "registeredHeight": 1032746, + "lastPaidHeight": 2126483, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcwdfQoJpQGkHa1xCMY8hXqcNo6jA3oN3p", + "votingAddress": "XcwdfQoJpQGkHa1xCMY8hXqcNo6jA3oN3p", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "83be8c255835d66ec58fadfac3a6cabd4c400973650e46d0d0c4434788b63f4c1ef74db64605699191e440c76001c1e1" + } + }, + { + "type": "Regular", + "proTxHash": "544a497c4bf88b40ebe344edde89ebd05e20e31be17050ea45e59b419228ab38", + "collateralHash": "dd43430e5c9919e34774fbe9d6474fee391525f15567001b6a88ba0c8d8c8d89", + "collateralIndex": 0, + "collateralAddress": "Xk3XxdkwSQDUEi3KkpVVVg9ceFrFqCqaHu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.43:9999", + "registeredHeight": 1032746, + "lastPaidHeight": 2126484, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhEPeHbZgnygefKmAQtc7gqyp8GR7uCZtA", + "votingAddress": "XhEPeHbZgnygefKmAQtc7gqyp8GR7uCZtA", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "8903dabc4479bb21338a1911214830ac243924bc36768408e904b271c1edb9c09b610dee78f611672ed4c29043870d92" + } + }, + { + "type": "Regular", + "proTxHash": "bab66332c071051f2afa4ea1dc7215da2e7e93f45e29be49fd6db585657f6d65", + "collateralHash": "21e753aa562f305c432c5580df91b2132de92a4b1cf9f728e5e5ef7b61bf1224", + "collateralIndex": 0, + "collateralAddress": "Xe32eUbGtL84WqmNZb9HjbewRV35UWPRBv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.74:9999", + "registeredHeight": 1032747, + "lastPaidHeight": 2126488, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XooHENsTimSX7TLadqGtAvhULVF4YchMup", + "votingAddress": "XooHENsTimSX7TLadqGtAvhULVF4YchMup", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "81246626f435dd8aa0e74acc82b7b98c9e7a525cc84e93f2c9d563627b40684621722800a54b0ba20f71bb252401a37c" + } + }, + { + "type": "Regular", + "proTxHash": "771bc99c662b0ba011ae0fc50b83cd9ecd2a4ad19fba1e6938fc990180a1a56f", + "collateralHash": "8f6de1eec25ac023e8d9f744ed8b28b5e9e5f69f4a7ad8ac7a6af7cce1ec496a", + "collateralIndex": 0, + "collateralAddress": "XhiAw3NDc5X9TPUtpu85rQmdURaAJz91KL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.138:9999", + "registeredHeight": 1032747, + "lastPaidHeight": 2126492, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbk1LscQSiLiCcdWAw7gkGH7VMvrLZomVW", + "votingAddress": "Xbk1LscQSiLiCcdWAw7gkGH7VMvrLZomVW", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "150e2ae109c979bdbd1380a22bf9866a7e816d991b1d2cbe1fdcf43abc702389a35ec7af4152a4ded2bbf13a294f0c8d" + } + }, + { + "type": "Regular", + "proTxHash": "f77abb28d0d441ce109f6ba9454178dbf5689b6e71b4a2e847ede6b5ffd00014", + "collateralHash": "ee245a29fac792226aac6e429b9056ec63b9b134bcfc67e691964b2a5f4bde8b", + "collateralIndex": 0, + "collateralAddress": "XwSu5ypxZq8b6EkHzW61vpYJzWQbDfjZ5C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.135:9999", + "registeredHeight": 1032747, + "lastPaidHeight": 2126617, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1083528, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmdrac3dir7XcmcNPbXtipUMEqEDmVRuBi", + "votingAddress": "Xmdrac3dir7XcmcNPbXtipUMEqEDmVRuBi", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "12a20dd3e82fa9774007bd84c9ca78c69e07416359e9e0d6bec9e3fff415d7676dad61344f7159fac27e62a6e801d5fc" + } + }, + { + "type": "Regular", + "proTxHash": "65f0314c58681731a88754abf3169eb8017dd9d4cca0e1a9a8ae947387d62d4f", + "collateralHash": "1f696338b394a13219fb28f105ca5ad2b200edd214a595285d671caed1545694", + "collateralIndex": 0, + "collateralAddress": "XqfdCisS49tieZmkeyXoMn1QEfMFiRuB4G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.145:9999", + "registeredHeight": 1032747, + "lastPaidHeight": 2126487, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi9ArrHXWtmLoLowcztVMSJepTg62Ykv3Q", + "votingAddress": "Xi9ArrHXWtmLoLowcztVMSJepTg62Ykv3Q", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "864cc66573cfdf5599f83c78bfc0d7358f0c4e92d130a300363c9b0ef59ab59101e83a77941ccaadf2f8d1ecf8e777e7" + } + }, + { + "type": "Regular", + "proTxHash": "4030316b3a1aaa4aa174e94e7c82fd847e116a50cc280bf37a44a94215ebd747", + "collateralHash": "b70023e143c4d2cf6e887baf4f9e3e0f2c515763b71cfdae0440f5a53ca05da6", + "collateralIndex": 0, + "collateralAddress": "XawCQDA5CGv3JE3PEV85CwT1iE68yswRur", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.19:9999", + "registeredHeight": 1032747, + "lastPaidHeight": 2127479, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1983197, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvv9YCBvg6fgahPVbhujJWybWm2RucueN7", + "votingAddress": "Xvv9YCBvg6fgahPVbhujJWybWm2RucueN7", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "104761b17c066b81f49cd1bbe38916574a196e65024e18e1bab47c647b11b5a56987d538f6b7b26caa49512dd4c373cb" + } + }, + { + "type": "Regular", + "proTxHash": "8f3b081366c54e826c1437fa43f467557a614729e250a84be3f4fab7e9db7850", + "collateralHash": "701921e7f7178482c939508097d9b99d2a275af382febe8ca18b06715b3aac25", + "collateralIndex": 0, + "collateralAddress": "XmBtCypbuWpxT2rQiQVzGgZxYN1oAbCgWi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.6:9999", + "registeredHeight": 1032749, + "lastPaidHeight": 2126493, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmMtUFGAXkFDvGhiDCx85ASV3DAwRa5djg", + "votingAddress": "XmMtUFGAXkFDvGhiDCx85ASV3DAwRa5djg", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "8a67462d25875ef375c5a87431308d82903a4081daaebd16983563a1884c858d8c8669ba9f85bc95162e9173c4eeb3a0" + } + }, + { + "type": "Regular", + "proTxHash": "9b5ea17f4e11abd1f3b61e72da796c9853ae9a84315455790dd6f22db35b7273", + "collateralHash": "570637623b1290fe9c072db4f05f38567e41509dbbba3940549adc603db62d1e", + "collateralIndex": 0, + "collateralAddress": "Xm64cUtFqb57ePheAHQV47MMLtfweEzE9M", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.130:9999", + "registeredHeight": 1032749, + "lastPaidHeight": 2126499, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvdoU6N6Np3quexN22vZ9o2yyuJEq4E4zC", + "votingAddress": "XvdoU6N6Np3quexN22vZ9o2yyuJEq4E4zC", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "944be5269df80a87677dd9c7f6202c58d7b8eeeff712b2581b96956e823f02b7095a0fa27d12f8e10a426fa666abe7d2" + } + }, + { + "type": "Regular", + "proTxHash": "dcde9bdd7f4de7498d7db448aa942c86938ee52273ebdd3eb1a5d11d4e975bdd", + "collateralHash": "05b5d48546677bfde499e1f33dd364391b49faddd039a3473af744ae34fa4270", + "collateralIndex": 0, + "collateralAddress": "XibFVGvJPSBwzt3jMKZApWTSzJrBpUkfXo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.37:9999", + "registeredHeight": 1032749, + "lastPaidHeight": 2126500, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw98mtePBWYC3UHBfC3GmCskZamptS9pp4", + "votingAddress": "Xw98mtePBWYC3UHBfC3GmCskZamptS9pp4", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "0581aa4fa0b84c39aa920f538b92d7e0680d88776cfec9d41f6f599d32cdc4d53d7976e92fcfdb8e0a3a1ea5a9650582" + } + }, + { + "type": "Regular", + "proTxHash": "e7a8a869722d45d9d562b514dde2489f550606a0dd0a648c00eaa90066de83d8", + "collateralHash": "f919a4f2298da307273b4fcf2a08226dffd286b43dc3e3719b26d6e407afd978", + "collateralIndex": 0, + "collateralAddress": "Xj23a8zh7h6PJ3cD2EZyUMooSGCo2C1ze9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.135:9999", + "registeredHeight": 1032751, + "lastPaidHeight": 2126506, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm9ADCJK6MpVWjLjSYYCDTaL2TWNXadpfH", + "votingAddress": "Xm9ADCJK6MpVWjLjSYYCDTaL2TWNXadpfH", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "8720cbc63e2137dab1807375a574b383220194a317b52f74e2460dbab4b2884d2a1bfab0474ba629232d5fde52c3132d" + } + }, + { + "type": "Regular", + "proTxHash": "bdf094725d041a0657e0a0c6750c35695fcdd5825c63f792d227fae1a348a97f", + "collateralHash": "2868e8b43e4a6afaef5e7239fd93a53a93d5e86d4f88ecd594b6d1db3c0be6ff", + "collateralIndex": 0, + "collateralAddress": "Xiy5ZzvCTreJttkF7Aw5sL2UWev6KVFGji", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.43:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2126520, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv3YE4CNtCVYWWzZxiZcEvzkRBSxvGmqgd", + "votingAddress": "Xv3YE4CNtCVYWWzZxiZcEvzkRBSxvGmqgd", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "93d761efc4656d60dd3fa6d7632ef67c13211afae37508e3a89b4e5ab487b680a94624b915dce1a407c372cb317cf69a" + } + }, + { + "type": "Regular", + "proTxHash": "e6735108a73ad2dbab7a263046224143b62f2ade1eab9b9ec7dfd4ce796f87db", + "collateralHash": "9868ba5ee9d2aea88636dc5437835bf44fd8eddb50b89ecb255c84c30d477659", + "collateralIndex": 0, + "collateralAddress": "Xo4jCPMQWhey1is1HPVCLQ3MPhzbSrLbeg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.142:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2126523, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmmcb7STD2yRr4HgNUQDajTeFc6kXtjvLk", + "votingAddress": "Xmmcb7STD2yRr4HgNUQDajTeFc6kXtjvLk", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "1732371c6ccbfe8629ae3538e037a533e34195570cc6869637a3b746a8397d6ebad17a127121ffdd9b3fe3220183ce4a" + } + }, + { + "type": "Regular", + "proTxHash": "a0b79296670312d0207a3df30a871e4c4c377b5ebd82e07204ef673b5a4a1c84", + "collateralHash": "69594366cab17f9ed82e34a53f8303821b625280f24010fdd1e0070296b4b2c2", + "collateralIndex": 1, + "collateralAddress": "Xm1kvkf49WN3j4Jk6mnKsMksLJsgFHVePk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.13:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2126521, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdYuzoqCtqfPLL2f59kCwcCuno1kvxRFRj", + "votingAddress": "XdYuzoqCtqfPLL2f59kCwcCuno1kvxRFRj", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "8ae998064c71231e031d1d63e8a9fdbd3dbea69993f5f54c885bce0b8c70a4711a55926b04aece8ab994e445a95deb55" + } + }, + { + "type": "Regular", + "proTxHash": "cd711163789916e709d039f1af0401b9cef592f3f48c70258fe2aaab8da65128", + "collateralHash": "4a5c66d2aeca555f1b4e41a576ba4fea64c4ffc9595cda8eb23e0b08bf867dc0", + "collateralIndex": 0, + "collateralAddress": "Xb81CNHFJZftaxaZk27MXenYehgrnkXE2u", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.17:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2126514, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfrG2rrHBS7NDHJdrGJ7Q3GC8UFesJKV8z", + "votingAddress": "XfrG2rrHBS7NDHJdrGJ7Q3GC8UFesJKV8z", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "800169d58d0084a18067e77cdfa23fb38f6231c1c961608e66d8c3523560a2b1951c1e89a836dbe9c5ed9ef6a3d550da" + } + }, + { + "type": "Regular", + "proTxHash": "bbc6140b3be36b4fff27f01cb801639598290a168841914c4a89a4b6551030a9", + "collateralHash": "a4e6b813985a42a18d0522eb766ef196082c463286bdd17c3a27460792deba12", + "collateralIndex": 0, + "collateralAddress": "XdduHE4SboWgzYCxYBTBgbh2U15uu1a1tu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.6:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2126246, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1101709, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm4vsMwkV7kUSJdaxAhnBTFuVRehBk42kx", + "votingAddress": "Xm4vsMwkV7kUSJdaxAhnBTFuVRehBk42kx", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "08d6e9001222cabdee144454b5b4d5df2d5686bb6b3f44ffb684fcfd8e05b113f157b7256f024fd9031137d467ed2803" + } + }, + { + "type": "Regular", + "proTxHash": "81686ab61a732ac706d9611afdaa81a57bac02ce384340bdb8d01dbf6d635220", + "collateralHash": "6ce31017706dd5992a84c3acce4321f30f6b9255a72f1da3badf5695526530e1", + "collateralIndex": 0, + "collateralAddress": "XdDfVrR15sW784xiYinHvBX4N4FYEs32ty", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.145:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2126512, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwDa49vpXoYivcE77cYX29hk7dkCAuu7Kx", + "votingAddress": "XwDa49vpXoYivcE77cYX29hk7dkCAuu7Kx", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "1562afa1f0192f7d8bdc216dee8fa3aa46ba25394aba7406ddb3707779b29ce7fac4f2502dd301da732086951a6004c1" + } + }, + { + "type": "Regular", + "proTxHash": "ff93af84ac3f7cd70dc522696e9d012662e00fff403ff78f122e6dbd7a6a4b54", + "collateralHash": "1475f536f8d578d52495667f521e1a89100ff8390cf7c5535aec9ff882146782", + "collateralIndex": 0, + "collateralAddress": "Xs1SQeBFPwWfYqgPESQrKtmwToU7AqhKyf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.13:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2126517, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgsqekCX8UZmrAVvebDwaoCNjWcHXhLHok", + "votingAddress": "XgsqekCX8UZmrAVvebDwaoCNjWcHXhLHok", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "0ce19d67ad90e118ae51b46c7ae6e75d4e0d0bfb647436b7d4109694eed32a895678bc6e6ecbe82f49b05ce687955cc0" + } + }, + { + "type": "Regular", + "proTxHash": "672d1d5e38b407e8f9ddc6abaccee4cc6d5774ead0ccb351e3e61c1e00fe4db8", + "collateralHash": "7da7c5a22d886d25f9adbcd36a73f5cc6d22e37dd5a9a032807d93ff18af1c05", + "collateralIndex": 0, + "collateralAddress": "XebrNmKoSKVjm4fydFX54wrhhCwem9Yvjg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.142:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2128859, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1100596, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnwK2aUknDi2owrVW1ZwxTMjiVTq3S77rz", + "votingAddress": "XnwK2aUknDi2owrVW1ZwxTMjiVTq3S77rz", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "10d8faa490c6dc9eab971c7fb6dc5d3bb24e9cb9957fd09526504840813ebe5464cce1b28d72397986919b627df8f48e" + } + }, + { + "type": "Regular", + "proTxHash": "df15f31e20eafe051205b399c826a1da327185f6b90da026111b7eeadc4da4e3", + "collateralHash": "c98067517b44521ab0d59356fd7b59f675ea5728ecebd1791f5559cceab8f2ad", + "collateralIndex": 1, + "collateralAddress": "Xs3LM6kxK31EdD7gdqvCNzPuDuJNw83Kw7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.142:9999", + "registeredHeight": 1032757, + "lastPaidHeight": 2127108, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1166510, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XghJLZ5HgDLFV62T9LQts7mGuEWDKmwiJw", + "votingAddress": "XghJLZ5HgDLFV62T9LQts7mGuEWDKmwiJw", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "97fa308b2dc7974c408a78cbd7cba0f6bf6410718ea19e60b7e826391324184cc4878598707773639ebcea330ede8137" + } + }, + { + "type": "Regular", + "proTxHash": "a520cd9f5fd4b72f143db9e188985f1944cfdfa217e295bc20a078cbea35e049", + "collateralHash": "cc954e4703490c3786e0a01512aed8bd31cd4b7ca1130f1dbeb72cd5ef6f1b8b", + "collateralIndex": 0, + "collateralAddress": "XwFzknayjqyFR2uVqsZ64e4pQ1jUTeMcMa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.11:9999", + "registeredHeight": 1032762, + "lastPaidHeight": 2126525, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjVfHtfq3u1aQUwtkPAVBPuM6XxnEDv8SS", + "votingAddress": "XjVfHtfq3u1aQUwtkPAVBPuM6XxnEDv8SS", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "04222bb30a1c9927711979ffeae540ff872cfcdd520e156f6e7307965abdff230d37ffa9cd6bd0e6d5252bb2eb8bb307" + } + }, + { + "type": "Regular", + "proTxHash": "0e9b6f4856b31db84b1e10d8378adcca99ab571dddb602b5f7176d3ea8ba76b7", + "collateralHash": "d061c6fee38e35237e36e02afdccaeb90d638bfb336c5d43f3098b129577475d", + "collateralIndex": 0, + "collateralAddress": "XdoRJuANAZR88BfdJXtuC4ZdrCFZP23Mtm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.32:9999", + "registeredHeight": 1032762, + "lastPaidHeight": 2126625, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1102266, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcoDG8epwpSTs6zLJNRLGJ34c7BQU8YrXM", + "votingAddress": "XcoDG8epwpSTs6zLJNRLGJ34c7BQU8YrXM", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "09b9e4417ac9fc8361be0c5bd30485b4a2c0f5e52cd6c685dbdff7a3e6a0e77a508d4772abe8d9ddca6eac5d5a18625c" + } + }, + { + "type": "Regular", + "proTxHash": "5d7339e09e9b69900b5749df2c178364afd3a0d8b513d8191ef2bed185a98eb2", + "collateralHash": "ef6f711d10718600a9f2700e8d8af92ac1e6028f40986170a415525857dc8f28", + "collateralIndex": 0, + "collateralAddress": "XpmJC3os94PCsDmUeJNZef4qY24tiVUJuG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.137:9999", + "registeredHeight": 1032764, + "lastPaidHeight": 2126533, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrSj3ndfHeKipmN6PMJAFT3x53vq3g1wrQ", + "votingAddress": "XrSj3ndfHeKipmN6PMJAFT3x53vq3g1wrQ", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "021a1d0c02cd64b524865611ebe1a64f574e010a059d52bc4dd1ea3a533c83920a03361dc7613ca1e77f5bc528c143b9" + } + }, + { + "type": "Regular", + "proTxHash": "583a55a9ab5857352e142cbb149a33dda3c2da2350d7b22b0d83d4b808ce4184", + "collateralHash": "5388cca7866044cc56e804076d434c2294d3c9c2aca92ad9aed31b75b0d6d3e8", + "collateralIndex": 0, + "collateralAddress": "XchKTQzujQQ7Z8VPJgAjbyYQAMegFiqDzL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.142:9999", + "registeredHeight": 1032764, + "lastPaidHeight": 2125943, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1082520, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfppbena8NtUqbH484sniEiv35seEEuo4g", + "votingAddress": "Xfppbena8NtUqbH484sniEiv35seEEuo4g", + "payoutAddress": "Xg6JoUJ8qMqC6hTDvf1UYt9H69ifPoqaD2", + "pubKeyOperator": "896534a7f0035c819d1dd226fbe769f24ef62d15cebe9cc1a28a7509d4a8c9970ab3aa8a383f18a7c48d056b54dc6b63" + } + }, + { + "type": "Regular", + "proTxHash": "63294dd7f642289f77491933153afec00ccffaa16f089457400560da0c71e113", + "collateralHash": "fc85fdc178074a2dba303d62236a60b61b6d21fca86ab2c607fce5fcf54e939c", + "collateralIndex": 0, + "collateralAddress": "XgGeKdxL6oAXYQ5oZ61KQsik9G66mRZcFb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.140:9999", + "registeredHeight": 1032768, + "lastPaidHeight": 2126538, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd7F7WzxKCbhcmHGkYad11ePFpy4fUosfb", + "votingAddress": "Xd7F7WzxKCbhcmHGkYad11ePFpy4fUosfb", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "03bb5c3564a9b5504b00433df5a89f0fa75d11a19e38197243b7e2afd7708405d0df79db0932c7fe6ba0a85421cea746" + } + }, + { + "type": "Regular", + "proTxHash": "bed8c26162aa68149e75e037f65252ebc3d188942245191a151ba1f9c8171869", + "collateralHash": "9601ded34e41840f421c20f499949cec2b57ef3bf1ddb829a9fac5d80cc7964b", + "collateralIndex": 0, + "collateralAddress": "XihRn9JWfiWnT36ES7D3QHUqhy8NM7CfCB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.44:9999", + "registeredHeight": 1032769, + "lastPaidHeight": 2127922, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1162850, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp8GV8ey2xWEHGYF76DC9xt5V5cDzfDkMG", + "votingAddress": "Xp8GV8ey2xWEHGYF76DC9xt5V5cDzfDkMG", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "1939ccb4f0796aa234a1f41422fd1fb1b5686628e00bce0fccb15cf643d050babe1761c2151b663b0ab1e4db9bf08cdb" + } + }, + { + "type": "Regular", + "proTxHash": "5d90bbdf2e6798dea49e371eaafece9bda5e4c2900cca269e15af54ed5c7eeda", + "collateralHash": "734734e0242944b5a330b342cd1dd0d2189a5e7a1d76a0315f430fa8e77a6b98", + "collateralIndex": 0, + "collateralAddress": "XmSPgX4Rh1KkeUYjnKyVQBwbdY2GrJepy7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.129:9999", + "registeredHeight": 1032769, + "lastPaidHeight": 2126573, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbSnqTopThBM4JzimQTNogfhP5stmoPnu9", + "votingAddress": "XbSnqTopThBM4JzimQTNogfhP5stmoPnu9", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "16e810f1e6f3ee8617572ad61d4bbc70da8f7a4a8fdc9eabc8fa7d917ec19cba563160aac270a1256911caeb5963967e" + } + }, + { + "type": "Regular", + "proTxHash": "7fb37becb7f574f51daae998c61b5237225988b92faf9b912342cf37305eca27", + "collateralHash": "327b22500fff7fab5d99f9c50c63ff0f68a735fec15eea148b79c2905b4c2062", + "collateralIndex": 0, + "collateralAddress": "XsVsoZYAdhuwsVwY247XM8znTcTZDKzdK1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.12:9999", + "registeredHeight": 1032769, + "lastPaidHeight": 2126546, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmLunq4JZKHj5ZCt8W7uwcMk1aMVkDhe2m", + "votingAddress": "XmLunq4JZKHj5ZCt8W7uwcMk1aMVkDhe2m", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "0e389807328355fc40c7a9c8e1e8736068a8095057137d2a5afbd44f0d4c75e818354403259863ea234f6d8a0796e3fe" + } + }, + { + "type": "Regular", + "proTxHash": "3d75c31891f916162d6a8acf25c67d19cf2c6e37f39fb716adf578d0c70322a5", + "collateralHash": "cba66f783511e2d0d5535a863a0fdbbbeea65e2fcfef2cbc5bcb41bdf82adfda", + "collateralIndex": 0, + "collateralAddress": "XtNDu8MYYqfTeYYXZKou8h8rgUpHDeLKzD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.139:9999", + "registeredHeight": 1032769, + "lastPaidHeight": 2126560, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcwLjxNRhdrjrSXfr2YNtA6mB8nEmW2V8W", + "votingAddress": "XcwLjxNRhdrjrSXfr2YNtA6mB8nEmW2V8W", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "105972c7be3c93d66cb0c6932d85c4aa0761b5c653996761ddafa3732a9ab15cf0edc1441a3248a62ce1ae53832bbfe1" + } + }, + { + "type": "Regular", + "proTxHash": "5c5674300be3205b093a9851b4a43456f3f141ae9b45480e3c52ffc94e204d0a", + "collateralHash": "1704ff520bd80942942f7ba721d77c8f035c2925c31453ceaec7afd72ce4a19e", + "collateralIndex": 0, + "collateralAddress": "XqGDmq1ZuUzXjQr8JTz9CUDXxqfcNRCvb7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.10:9999", + "registeredHeight": 1032771, + "lastPaidHeight": 2126574, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgpjdLLNWgcsZM1Wav4TY4KLQ2ppwSXmpX", + "votingAddress": "XgpjdLLNWgcsZM1Wav4TY4KLQ2ppwSXmpX", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "848407f696713c7e4ed6453ab04eeec7c00a34fae01a6cdd76444acd3a3039698aa9a282cf2879a9aea0018599afd44d" + } + }, + { + "type": "Regular", + "proTxHash": "4fc4408e5725ade7b409e847cbe6007e24cb7d0ae03884f688209f6e8b639fd7", + "collateralHash": "453fa3455913b71e6ee2bfa561cde3c04c8f5324c5e5e3e3bd2223a117bc8c3b", + "collateralIndex": 0, + "collateralAddress": "XsyB8rgp7hrk19PXAUQ9KFtDmw826vdHZH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.16:9999", + "registeredHeight": 1032771, + "lastPaidHeight": 2126582, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkSjGJ6Jx64qYF5Do2dHsHzZmbuAVpRopt", + "votingAddress": "XkSjGJ6Jx64qYF5Do2dHsHzZmbuAVpRopt", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "995f45b6dda000c9b83a92cfd8101a54eeb57b54bb71bb2ab5c990ecc21c5759aa2cbf185116de81d0aba9bf03bfc0b0" + } + }, + { + "type": "Regular", + "proTxHash": "19e470b220624ad044597f824bdb1ed7cf3793142afb08406eea47ff9b555751", + "collateralHash": "10991cfb6404e53c9f9f914166d839f208842b1f2951ce55ad5b66a9ad8533dc", + "collateralIndex": 0, + "collateralAddress": "Xe8iojDSp2DMJrt5ScN6P1h611Y95FdC3m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.14:9999", + "registeredHeight": 1032771, + "lastPaidHeight": 2126577, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdAviM2XEbGKMRKPE3DQ4ixt39R6FrtmTb", + "votingAddress": "XdAviM2XEbGKMRKPE3DQ4ixt39R6FrtmTb", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "92166ea48c5ec892de338e306c11613126d0eae570c1b08827b91634972cce655774c40799234d3d5b8b580a2364d609" + } + }, + { + "type": "Regular", + "proTxHash": "53f5c40acbf3acffca748f1daea0090706dca5ac2abe47b59c4a0cafe5e69035", + "collateralHash": "5697d94a9713d33fdd4898d77945276cd5d81a2def729d8c784daaa03271ab01", + "collateralIndex": 0, + "collateralAddress": "Xu42qErKfivWnG2fJzo76MaBT3jMc9jzNb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.145:9999", + "registeredHeight": 1032773, + "lastPaidHeight": 2126068, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120012, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcPwKkuFdGYv1rzdU1G44JreiQ45BdMZfN", + "votingAddress": "XcPwKkuFdGYv1rzdU1G44JreiQ45BdMZfN", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "077c46c2b0aef32126a586f21c1340f5fd336adcd2b3a60ffb87dc3c4882c35c189135bddc620e6cb5743a6fd9588930" + } + }, + { + "type": "Regular", + "proTxHash": "fe57323d5591fde771c13d9baa258ee9ee5cff6de47e486d7e0587633728d8b3", + "collateralHash": "22e9e29529cdc4aaf26bd495c3aa9038f7b928fb6793eb36b39eeb76a47ae723", + "collateralIndex": 0, + "collateralAddress": "XskCDsQjD2fXvd4y6B4FVVQ2wLp4UtwJG1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.42:9999", + "registeredHeight": 1032774, + "lastPaidHeight": 2126597, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdvEqYDwMnrkp533nGjSZfkRYsRhBnASZw", + "votingAddress": "XdvEqYDwMnrkp533nGjSZfkRYsRhBnASZw", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "03f5baab255f987e274ea19b1b51c9dd06ae739477b6c4ad3a2f207967e469cacaf66ada2a59bfd90acad1bb0d9d117d" + } + }, + { + "type": "Regular", + "proTxHash": "8dd88eaca9515cadf04b4a351c600a1a1bea3cb8ff41335bd732af47a387cab8", + "collateralHash": "665e6dfcda4b7ed37247f7df25396af81f9c6c0dabc72140371076fe9af2fab5", + "collateralIndex": 0, + "collateralAddress": "XeE69Wu9jfnJhcmrYkmQCHHzkkZtNpAgmq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.10:9999", + "registeredHeight": 1032774, + "lastPaidHeight": 2126599, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbC7qxzj6vnwDwDbhjFJCpvhFrTjBg5xcG", + "votingAddress": "XbC7qxzj6vnwDwDbhjFJCpvhFrTjBg5xcG", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "806e4d40fb802c6494e6bdc4e5b157bad3ec20937d5aa28a81744ddaf85b71f5c58f26f8969775ea6a86ec34dfa8cd5a" + } + }, + { + "type": "Regular", + "proTxHash": "12204244b05de61baa97a1a8bbd9e64f802831c31d711792fa6c90c2888638aa", + "collateralHash": "947efe65a528e80b3391f7cfe40532e9b9ec5fd0536f03a3e8a8d8ab6eac84c4", + "collateralIndex": 0, + "collateralAddress": "Xho7PMWE6Nig5PCpBd6CksCv1S5thjKPsr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.35:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2126607, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdxFaQr4dwisEULk4auG2PqaWnoY6NS53h", + "votingAddress": "XdxFaQr4dwisEULk4auG2PqaWnoY6NS53h", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "98d478849bb1cc57b40c6dcea5a7f2bcbc2f821a78880a214aade78d68a5caad66a4c0ea1f4576c55d2f17e27673c4da" + } + }, + { + "type": "Regular", + "proTxHash": "ff58cc0157e12eb2d20890a2f19b39960611329e7da1994098ad38bf6c1929a3", + "collateralHash": "24e07ca77aa4f8cbcaa7c4b32c19236ebf7b10e25643dc475e6ee26f9ad3bf5c", + "collateralIndex": 0, + "collateralAddress": "XnZUaz4Vn6SeS8oGF4bAXxvZdf2XFFrAG4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.72:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2127121, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1899980, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbDjiVBNNbfs5WN7ekmohHuS2YsQKcVcZw", + "votingAddress": "XbDjiVBNNbfs5WN7ekmohHuS2YsQKcVcZw", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "80113626b7a736c08fcd2d78a280757c38974ddbf907943113c5613fb78a0bafd31aed2399b8743e2e11ebb6380db33a" + } + }, + { + "type": "Regular", + "proTxHash": "62d5e2f02b79889699bb8d5f23eb94b1d657fe7d95cbf5d559923f683f8f3a3b", + "collateralHash": "bd5196dc7034af0888f46fab040fb334e02033e0214b4e1b917ad8a47139e916", + "collateralIndex": 0, + "collateralAddress": "Xp8MdjUDQEF6qXM9V4d1ctrU8SYdCGebQi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.44:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2126652, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1141188, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjvzTriSS1A8JhhsujvWTC5f4uWqzfw3aH", + "votingAddress": "XjvzTriSS1A8JhhsujvWTC5f4uWqzfw3aH", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "0a6e3ccb6390c37c13a291a0be6e98a83e464673e403d9fee0033eb427c7686c56156e9a6298f597037dcdf450b51a0e" + } + }, + { + "type": "Regular", + "proTxHash": "b5154772e13aa9665e947f58534c23475b3ac17ccb7436b49c9b305307ac32ea", + "collateralHash": "8dfecb629d1dee3d27fc869aa4944960224e5ce8df35ebd3ab0286fda4f61591", + "collateralIndex": 0, + "collateralAddress": "XtF8xP9a39Q43jLBQibH191G1VroKGXXVn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.42:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2126615, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxNCEb7WEoWApgagFPngQukqqBqPYM4dDe", + "votingAddress": "XxNCEb7WEoWApgagFPngQukqqBqPYM4dDe", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "8e55894085ae8353096780a38bb32b6e6494e63ec6f339f64b3c7f55ae942293af103ac3f2e78d78dcdaae3a589ff60f" + } + }, + { + "type": "Regular", + "proTxHash": "060ee8a0c01682e7bd3fc8ee2a8312888a5559838ffa00a9be734d4a90b5b6de", + "collateralHash": "8817ab036ddac931df63d569f7219cfe04c672fc774d6c9d83b95373534bb26a", + "collateralIndex": 0, + "collateralAddress": "XsMcFUra4V8hFyAS3Ca4GxUeivuLuGzgBL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.74:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2126608, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrwWVn7sggzfkzvaWEJLgBorAvMnzoWtd2", + "votingAddress": "XrwWVn7sggzfkzvaWEJLgBorAvMnzoWtd2", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "185449a148e6f53635ce8852adf978df942acdfd95b0f0deb0cea86ac5cd728c319e1557629e8257af425583ef99f5da" + } + }, + { + "type": "Regular", + "proTxHash": "ab250b45017ed7ba5381911fe9995359bf559783ac3c4f72a70397d6858930a9", + "collateralHash": "cc84a0def545152a0e943d55f558f9ab22f875a3dae6f47a66da1b0279571db2", + "collateralIndex": 0, + "collateralAddress": "XieTH1jcfYNv9o6mSbqHGiATKeiQdw4oU1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.77:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2126605, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxUMHf1mMBpg2Z8zWV6EnAJpdgLRx1U7Ri", + "votingAddress": "XxUMHf1mMBpg2Z8zWV6EnAJpdgLRx1U7Ri", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "05b5ee76547484ffdf8228943b16114a933b0494e3fc797dd98216fe3832c004e4ab79aa67b7da21b3f7af81ecb93315" + } + }, + { + "type": "Regular", + "proTxHash": "5d39edb9bd3a86a454e5a83ed683b3a387265086ee0823ecf88494f6ce5093b3", + "collateralHash": "fcace7c43198b2617f47019b65f658cff62dac03ee3c7293a79eda76a1633cd5", + "collateralIndex": 0, + "collateralAddress": "XtAS7b3htYMS2baYsoesfYfRF3vzmfm4b8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.96:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2127000, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1136815, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbdezFwfo9f92BZ9J5GLMvKSBZbDLgUbNa", + "votingAddress": "XbdezFwfo9f92BZ9J5GLMvKSBZbDLgUbNa", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "069ed54549336e189918cc87f3c0de838953414926ebe87899c5d88dd9786d4c7745ca80cdbea51f294ead89e383b570" + } + }, + { + "type": "Regular", + "proTxHash": "fb304b4b04fc039c7de928f6fbf9ab8486e53a3ba392b56b746d6ddbc74d19f4", + "collateralHash": "7fccd2d88b09e70e1f25f5ec482bc32e9b49e6c1d4ef5c86b6f510ea1f3ed129", + "collateralIndex": 0, + "collateralAddress": "Xsa3qXewqPaWVukpvGuz5iMQKJGWEdyqE1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.141:9999", + "registeredHeight": 1032780, + "lastPaidHeight": 2125944, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1082520, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsd172u8cCHdkzDHv971NYc62q6xVsv9Yw", + "votingAddress": "Xsd172u8cCHdkzDHv971NYc62q6xVsv9Yw", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "854cba983fe6f307b7e0ff3bf53a6af7482c5bf0dc2f0f0ede920c35b70bd08a956718e9affbab2ea4e9afd2ee0e51b0" + } + }, + { + "type": "Regular", + "proTxHash": "f4d3f933b70c42b371c605af2b61dfdc761fcdd6eebaa91c8ec39b0b476e9b2f", + "collateralHash": "0ccee884d5879d00bf2300238b441f854adb87053f231e7d9ddc5f3a70736abb", + "collateralIndex": 0, + "collateralAddress": "XhBBH81sBk7KKgzxxS27WZFMJheDWvtFfh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.15:9999", + "registeredHeight": 1032781, + "lastPaidHeight": 2126620, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvXfM6njUYJrVzGUUM8a8iZ7wta3cpbqfo", + "votingAddress": "XvXfM6njUYJrVzGUUM8a8iZ7wta3cpbqfo", + "payoutAddress": "Xd24w6yyazF6AFJmUew8UbNcSYxRBDnDLS", + "pubKeyOperator": "0a58c16b128340a67e3b7c880e72920bd1f46a49360ec513bbbec35bfc1e12ebd68f18e67d0dcdbab6a024f8a38b6d73" + } + }, + { + "type": "Regular", + "proTxHash": "3fab2e8d418a4846433a32db6b960368995ae69006e7c15bc7c180cb702ac288", + "collateralHash": "b4a86a53c03f671ceabe5304658431f01c21a9396e006c0ca4607da626601417", + "collateralIndex": 1, + "collateralAddress": "Xst4G12yY8AxMWiAgePfJijRDgMLt4Xe4W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.190.236.195:9999", + "registeredHeight": 1032841, + "lastPaidHeight": 2127320, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1875820, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqNyLw8qPPjDkFHAtqzpsKxJi7CF5ZXzrr", + "votingAddress": "XqNyLw8qPPjDkFHAtqzpsKxJi7CF5ZXzrr", + "payoutAddress": "Xgr83yWWmCW5wJZqSk1MXQjewNR672CatG", + "pubKeyOperator": "1411d7286bb4da9f96e4f8a8b5fa04c602df92f7176f4c2491e6b0d52c24ed9fafc41ec8dbc5cb8ceefea5208bcd4fab" + } + }, + { + "type": "Regular", + "proTxHash": "6809b0ea4a39bdb585f4eab9dedb7a03d6e3b32894f23891ab613d86fec1258b", + "collateralHash": "4abe576544ba4717540ecc051a93dcd339ede68c9e06a145f558aa8e165decd1", + "collateralIndex": 0, + "collateralAddress": "XptQiWXMtc9CMZqnnNPHTjmHRbk5YVqTTL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "198.199.124.71:9999", + "registeredHeight": 1032841, + "lastPaidHeight": 2128418, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115965, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfiDoWzwnLhirCjxhYSu43NZwkDGnvp4rp", + "votingAddress": "XfiDoWzwnLhirCjxhYSu43NZwkDGnvp4rp", + "payoutAddress": "Xgr83yWWmCW5wJZqSk1MXQjewNR672CatG", + "pubKeyOperator": "97c24f32399689a22323cb3ae63bd90ac35a9fb3f083f430040004711c9e55575a61f3bce809e7e3d8db0fc7b0b9f0f2" + } + }, + { + "type": "Regular", + "proTxHash": "2ee8c08b5a572ac43be3494220a131da6b8836ea77251dceeb9cd40d6b78edf5", + "collateralHash": "57498db5ee8071b970fc28a1f7d947acd2edb73f22a83d3b8d9331332551bc6e", + "collateralIndex": 1, + "collateralAddress": "XdZ8UPydmHHFKZyzUQaxtAtfe6eRLNznGY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.132.227:9999", + "registeredHeight": 1032912, + "lastPaidHeight": 1595306, + "consecutivePayments": 0, + "PoSePenalty": 4606, + "PoSeRevivedHeight": 1518714, + "PoSeBanHeight": 1597845, + "revocationReason": 0, + "ownerAddress": "XhGqumk3SWYqy8NFEuZes5gTb5thX2cbhL", + "votingAddress": "XhGqumk3SWYqy8NFEuZes5gTb5thX2cbhL", + "payoutAddress": "Xmoh7Swq9hAc72DQbfj28ytcWVHTiLsa2X", + "pubKeyOperator": "19989351bc2b76c112f4fda16dc4f7884693df7be88a5ad8d659404ba71fdbbf4f1716e3bf4cdbe8d7a35c1f79f0de3f" + } + }, + { + "type": "Regular", + "proTxHash": "1cd70c43e622095e5375ccb6720997c31c34c6f8b89a13a5eac0c132f5fda3af", + "collateralHash": "f06931b7043d7f5b996cc28ab4ce8ff25763a0ff8e7e1689756d36fafafda509", + "collateralIndex": 1, + "collateralAddress": "XyRyvKR1JPH9GnbXLZ8gjfaR5Tu9YTzFXP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "147.182.146.51:9999", + "registeredHeight": 1033062, + "lastPaidHeight": 2126213, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1855545, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgnckCQn9ShVDMKiM4w6MtqjZqfyAsUGux", + "votingAddress": "XgnckCQn9ShVDMKiM4w6MtqjZqfyAsUGux", + "payoutAddress": "XyRyvKR1JPH9GnbXLZ8gjfaR5Tu9YTzFXP", + "pubKeyOperator": "9475f1d8d73159c6e2dfff3c10d4d3a5a0c6963845dc8c6ab80deb7ee44183608304b4d4bdc7385dfb5ee48609bd4f1f" + } + }, + { + "type": "Regular", + "proTxHash": "9b255da43c2f0b9f73b449b91765600c8d4e6d05d22f82675fc48abf7596a581", + "collateralHash": "87ad2c221e54fbf8efde522411f5bb8dbac2744e71d5ad2e7c68dd89c9662b23", + "collateralIndex": 1, + "collateralAddress": "XkxNbtTmsaqVndjv7h5E3JPUnerdDMwdfa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.207.85:9999", + "registeredHeight": 1033267, + "lastPaidHeight": 2125878, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1258023, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtEPkE5JHU5gdFaa6YS1Mrtpkx33GoPt3X", + "votingAddress": "Xe3HtyX9EskJ6LQw2z13q28uGEC53Dgu76", + "payoutAddress": "XmoUZCTyMMJAomPaBS3PVL7T5HLksBDgfq", + "pubKeyOperator": "1008b5cc5ca907c6aaa246fcebe7a4634e675ce8f618d24ba120ff5dcd92777808eeef3c977241564cf21e992eb670c7" + } + }, + { + "type": "Regular", + "proTxHash": "25a386e611273364a41426699cce0afc77181d102220149e436a7887fd0a2169", + "collateralHash": "cc5860b4b1456adc1468b1811709177aba592d4454dfb5e4f6847ecce3561eb8", + "collateralIndex": 1, + "collateralAddress": "XmUSA7XH7iY5Nbh7XnjiA3M82mm7DuBGvt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.3.93:9999", + "registeredHeight": 1033301, + "lastPaidHeight": 2126471, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1613925, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xku9owWLodRnPi3XeoDLGXkBH8v9GMMU1R", + "votingAddress": "Xku9owWLodRnPi3XeoDLGXkBH8v9GMMU1R", + "payoutAddress": "XmUSA7XH7iY5Nbh7XnjiA3M82mm7DuBGvt", + "pubKeyOperator": "0d613c7614addad529c356c2da4284bc5214b944571ac1019c0aacd5a62c25b63f65b25797376d83d8a4c63c783f626a" + } + }, + { + "type": "Regular", + "proTxHash": "1562c5201b0e01d652c7f400b11f028086bd5fd64a80c68361ecda9b6038a346", + "collateralHash": "a6315b945f03bf2be588ba24a3ca14a9f529b96b33cc3336ca9104776c6dc4b7", + "collateralIndex": 1, + "collateralAddress": "XyYhpf7c3cccMySJooKfjpfZeCFEH3Hmoq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.245.125:9999", + "registeredHeight": 1033779, + "lastPaidHeight": 1875002, + "consecutivePayments": 0, + "PoSePenalty": 4404, + "PoSeRevivedHeight": 1694799, + "PoSeBanHeight": 1876918, + "revocationReason": 0, + "ownerAddress": "Xs8ZuVTFuPdAGdvBXn3gvKToN2ojB1CfMh", + "votingAddress": "Xs8ZuVTFuPdAGdvBXn3gvKToN2ojB1CfMh", + "payoutAddress": "XcTQCdqyf4N7rPg6fwAJuySTDbAtho21M1", + "pubKeyOperator": "13f341029d4b7d868749e77f8acf5962e1c3efe6994eb4d4999f92fc54a2eef2fd3d21bfc27460d7ffa7033b3506bdbb" + } + }, + { + "type": "Regular", + "proTxHash": "adb282e29e9ff076ad64d0ab0f771a9a72043491eb325f58cf4316ab9056b497", + "collateralHash": "0920fc65617e26791ae25f6e5be3b74442f687ef10c881f3d6ab8d3aa6de84a5", + "collateralIndex": 0, + "collateralAddress": "XdvibkTb9mxG7rwktzud1Q9p5gyzj6fMYN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.6:9999", + "registeredHeight": 1033896, + "lastPaidHeight": 2127926, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1376073, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkJSjLATDMft7z7fPXXS3TFsWpXa8p1mbp", + "votingAddress": "XkJSjLATDMft7z7fPXXS3TFsWpXa8p1mbp", + "payoutAddress": "XyjSuiNpap39RxTsqWGaWewXgiUbnStuNR", + "pubKeyOperator": "10e4d6931b757e4363852dfed588374c4436df06a5c6f91bdafa3ac805adf8ca0ccb1b53ed24ae652273562b9f48911d" + } + }, + { + "type": "Regular", + "proTxHash": "0b281dc2cd8e488b651e80ea6e2db8d2a42e09519c59d36d53e0de75cb57f177", + "collateralHash": "e0c8bdcf31f609e652b9de9d7007237bd050e7c56b7d220a20756e53702e1c42", + "collateralIndex": 1, + "collateralAddress": "XrWPjS32THnfoJsUekm6dAXCvVE6zyXXWd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.134.235:9999", + "registeredHeight": 1033902, + "lastPaidHeight": 2128024, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxyUHcWdh4V8NMbFk8GktPVqmBi3yEJiRy", + "votingAddress": "XxyUHcWdh4V8NMbFk8GktPVqmBi3yEJiRy", + "payoutAddress": "XrWPjS32THnfoJsUekm6dAXCvVE6zyXXWd", + "pubKeyOperator": "93007b4957419ce32723d1d515ded2e9783e845d4e579baee001f503dd4b6e031122ace43ccfc6890cad6170423d57d4" + } + }, + { + "type": "Regular", + "proTxHash": "89eeb928053abab8d69a68ac0483a05678a2548f95a03f75f7ca26170f26e0dd", + "collateralHash": "01cf60421f6d75424efe3cab90a3ea2df5fedb36b40885fd77ea6bcedf2a45a9", + "collateralIndex": 1, + "collateralAddress": "XrQrSfEZ7DoXpN9exrFRuQK9hFeDcmbpZG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.27:9999", + "registeredHeight": 1033902, + "lastPaidHeight": 2126011, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1378058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdPbEVdD2g58zBnexSpm5p1EhfscCfRFZT", + "votingAddress": "XdPbEVdD2g58zBnexSpm5p1EhfscCfRFZT", + "payoutAddress": "Xf52BiosBPjoqVhrcGXrVYarprhZN1qqtN", + "pubKeyOperator": "85ecfdb728604eccb835cdab7773910025d1a9234f8fc0e6d8d7811a2a84136c6370bd92db4c07a6e77aebeed54f7ac5" + } + }, + { + "type": "Regular", + "proTxHash": "579c8bd3368d3e840bd84deee88bea45690f786c83d5e0fd3c2a6bf9b402dc42", + "collateralHash": "78576d685dbe08a93a56ecaf236d48b1818e7d57ade33a514e8dfcf8aec4693b", + "collateralIndex": 1, + "collateralAddress": "Xd7fTPEMfr1Wbvi4E4hsn4aL94m8wqvDRz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.137.10:9999", + "registeredHeight": 1033936, + "lastPaidHeight": 2128042, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbnzf7wGgWCyaEimffdk9KQAcsp1m1jh8i", + "votingAddress": "Xbnzf7wGgWCyaEimffdk9KQAcsp1m1jh8i", + "payoutAddress": "Xd7fTPEMfr1Wbvi4E4hsn4aL94m8wqvDRz", + "pubKeyOperator": "8e63f2eb4a5f457bfa462456e7bd0929e3adaa2c567dd8814a597b4c38e654ea8ced746c78cc1b4782f081f0b3bcb8d1" + } + }, + { + "type": "Regular", + "proTxHash": "a524b4bcd75cb884988feda4231f8d905ba82d6dd474b783eb2d9e379e032cfa", + "collateralHash": "97ecbaa322acb3ce604947822a7ab6296fdfc7505cf4b2622dc5b966243e9bd2", + "collateralIndex": 1, + "collateralAddress": "Xej1yRfh2qC7zKSjXcUGXKsLyq69xa7nHz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "154.16.63.112:9999", + "registeredHeight": 1034075, + "lastPaidHeight": 2126631, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123464, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrTYetp4c7DtuD47JQxhsjSqLA8cA9Tiez", + "votingAddress": "XrTYetp4c7DtuD47JQxhsjSqLA8cA9Tiez", + "payoutAddress": "XscuriNMGe3iAnEBHR1ePca2WM3eSNMHHH", + "pubKeyOperator": "11a087c5a1f58d3b8a44fe9c0356d079653fc7fbd27665582810cb3d775bb86f74d08075749090cc7a2916bfc7babfbc" + } + }, + { + "type": "Regular", + "proTxHash": "27844d5fae71957aed890ac1620bd9b0d80bc8c1a78d8272b85246eaea16a98e", + "collateralHash": "cda10eb65d033f8f254a39b40fa13e44506a5b79e0044e08e3e402369daf1218", + "collateralIndex": 1, + "collateralAddress": "XnerXjDTGE9HmzkVhRTnPjYhfFmZ4nwMdw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "154.127.57.63:9999", + "registeredHeight": 1034100, + "lastPaidHeight": 2126629, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123463, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuVMaJ2nkDzJ6vYtThfnTrqdGzf7viQmbk", + "votingAddress": "XuVMaJ2nkDzJ6vYtThfnTrqdGzf7viQmbk", + "payoutAddress": "XscuriNMGe3iAnEBHR1ePca2WM3eSNMHHH", + "pubKeyOperator": "8c3f897ffe8cdf46adcf24e0d839232a83b45909256785002aee9390dfb4520e21e66e73755dabb9a9dcb38da83d550e" + } + }, + { + "type": "Regular", + "proTxHash": "65c4123f4d724d5c606adcf94db5eda06970995f677a6b2dc691a8826cbc3461", + "collateralHash": "48dcec0a94649ea0001410a2f07baf1efc447afba3fd63cc36468abd72cc310c", + "collateralIndex": 0, + "collateralAddress": "XcLJ5TyRuXfjuuybNfKD2fUXnQwe3ZKSyx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.223.154.100:9999", + "registeredHeight": 1034393, + "lastPaidHeight": 1270746, + "consecutivePayments": 0, + "PoSePenalty": 4723, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1274997, + "revocationReason": 0, + "ownerAddress": "Xuvrr2qk1xodHLg4ZNRWcVKQ1pPSp7E1rd", + "votingAddress": "Xuvrr2qk1xodHLg4ZNRWcVKQ1pPSp7E1rd", + "payoutAddress": "XcLJ5TyRuXfjuuybNfKD2fUXnQwe3ZKSyx", + "pubKeyOperator": "8b3982fefc2e7d389eebd968d85f8ff558152a84653519ccd35fa85eccb5b4c97149d6801dd7c9cea998827bbdcc9497" + } + }, + { + "type": "Regular", + "proTxHash": "783504e434997093854a0cbc71f685c44ce77d00b5ed91ee17d15b90c224c092", + "collateralHash": "85ab72b7edca4cd9eac5d50bcfa0df077513187d22438b5bb1c4bb55e73deb2c", + "collateralIndex": 0, + "collateralAddress": "XsssUDJDFhpBuzU7ZQhkEEBVMAJeE8Sbwz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.71.133.190:9999", + "registeredHeight": 1034393, + "lastPaidHeight": 1266216, + "consecutivePayments": 0, + "PoSePenalty": 4711, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1267811, + "revocationReason": 0, + "ownerAddress": "XsukKH9sVh6pJWDLSAfXYkm2sHhME2xdzq", + "votingAddress": "XsukKH9sVh6pJWDLSAfXYkm2sHhME2xdzq", + "payoutAddress": "XsssUDJDFhpBuzU7ZQhkEEBVMAJeE8Sbwz", + "pubKeyOperator": "0797cbc34a47ebf45c6328651de835db1e5cb58721b6f27b752228210227be6d305de7915ccffde924c540c3529950a1" + } + }, + { + "type": "Regular", + "proTxHash": "7017218c756cb3f2d382382eeb9da4ba3d5edd7da7f1e2a8a7c6bc8eab350ce7", + "collateralHash": "c040b936ab9f9aa5c18ae5e4d1fc096a77a1afc59971de3fbf20274629812010", + "collateralIndex": 1, + "collateralAddress": "XgM1cEGffAM6iGwtWmWHZE7MJPzpV6NQ9S", + "operatorReward": 0, + "state": { + "version": 1, + "service": "152.228.173.29:9999", + "registeredHeight": 1034532, + "lastPaidHeight": 2128459, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1762842, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc179D39rfAWwGmTVNq3k3T7nL4jGawmqp", + "votingAddress": "Xc179D39rfAWwGmTVNq3k3T7nL4jGawmqp", + "payoutAddress": "XvWARb9qEnG8QwpSng7zW3AkHf7zHkMPbb", + "pubKeyOperator": "1314ae82003c9e3b94f7b60c94befb7444d1fd9b2a52865d8fef14b5fad27440904d3f9f281240b0d2fdd979353f07d1" + } + }, + { + "type": "Regular", + "proTxHash": "54cf07f00b43a2573d7774dde265b178239cc67de068da003cdfe6facc2f013c", + "collateralHash": "64bf9a14c2bbf0a881a75340459f7e74909fdc1e8d0b7a5dc89907c6f89053dd", + "collateralIndex": 1, + "collateralAddress": "XajJfUomNxhReBfxzcAtDWhS11Hp7db9NX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.36.87:9999", + "registeredHeight": 1034535, + "lastPaidHeight": 2128845, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgQ3dyd3k2ehBQECoZJ6XzpUmwdTW7FHdS", + "votingAddress": "XgQ3dyd3k2ehBQECoZJ6XzpUmwdTW7FHdS", + "payoutAddress": "XajJfUomNxhReBfxzcAtDWhS11Hp7db9NX", + "pubKeyOperator": "995dc0aed6a30b13e5c0e5c238ab7e28759bf1666a8754c50f13286600b8ad872ee5a7f5daebccaea9f81b8e7ee18d7f" + } + }, + { + "type": "Regular", + "proTxHash": "dedc3589dfcece98b6461677c1c3ce4658cc8d370d839ee22484e5c5224b6e5e", + "collateralHash": "62cbd7c2e3b50d8a3af10b2b2350797cc3b7b2b19e571b42a03574bc49c39bdf", + "collateralIndex": 1, + "collateralAddress": "XkSQma7a9dLMQ3FR9ztfazSLARqcyUKjbk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "145.239.90.214:9999", + "registeredHeight": 1034546, + "lastPaidHeight": 2127546, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1765652, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkcsLsje2AsTyBxDW8dB2XmrcVMKWLJz9G", + "votingAddress": "XkcsLsje2AsTyBxDW8dB2XmrcVMKWLJz9G", + "payoutAddress": "XvWARb9qEnG8QwpSng7zW3AkHf7zHkMPbb", + "pubKeyOperator": "0c696645d03d31edf1184227b023e1df7b699bd2206b2f23df6222cff6ec8d454770ba7f518310b5d342618ffb83204c" + } + }, + { + "type": "Regular", + "proTxHash": "118b4d140743448fbc6164734bb2831bd75e1c315ea8bdea379e90844cda2a12", + "collateralHash": "d78be59df71ebbce94f07d593c1f4a9107f9e16d709177693d89d77496d8dfb9", + "collateralIndex": 1, + "collateralAddress": "XkWLgRhWs1npykHb8VnG8satc9a1N8m8LZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.223.139.88:9999", + "registeredHeight": 1034999, + "lastPaidHeight": 2126535, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1665674, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoHE6muTLM5VfQvVGkpuzhdYxyhS13vqi7", + "votingAddress": "XoHE6muTLM5VfQvVGkpuzhdYxyhS13vqi7", + "payoutAddress": "XnBYeDGTJZVPoVSs9WxzppUJcxS7BuBLxv", + "pubKeyOperator": "88ccde570a9ea7e025b050f5286aa8291279f0f4b2e2c9e0b1f3d6529ad5e26f18ff1e2a56c6a621fb0fd272f1359d8d" + } + }, + { + "type": "Regular", + "proTxHash": "54d3fc8846edd4f3db916eb4ac2cc7f58e2f0067c9b7befa2fc856cbf2234349", + "collateralHash": "3392de62f84da92c704d7ec4c7081da40106d1ef0b7caea3efcf4bba0a992cb2", + "collateralIndex": 1, + "collateralAddress": "Xvj2kDuw53ZWiSfe6zAAFXKfFDXLskoEkr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.36:9999", + "registeredHeight": 1035165, + "lastPaidHeight": 2126124, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgdTSducJkGyXGft82m1LV8TfUq4v3kp37", + "votingAddress": "XgdTSducJkGyXGft82m1LV8TfUq4v3kp37", + "payoutAddress": "XaiNUnbuKhWPP2nt4rhpXZocKXE41rKr2W", + "pubKeyOperator": "917236f9c9872745f732b2dfc6a9f665774d8b58458a199d9eb7c198aee6bec92f4009a7510267533d6104cb29b7acf4" + } + }, + { + "type": "Regular", + "proTxHash": "113ff81c88decba3dddbec1e5fcb33501fdb2aaec807a8cadc0ea021d5a98a53", + "collateralHash": "912af78f4232c7f80f582a27ab098bd2af4c7bd82bfcebf36f2c5bcfcfdb3d0c", + "collateralIndex": 0, + "collateralAddress": "XuzLAQ5GDuwEAwkBU1AqnYzr4qhLNMeHzj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.221.170:9999", + "registeredHeight": 1035330, + "lastPaidHeight": 2126306, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiRw294EjGkshm5Sm7r4XxjqdJVNN5UsNN", + "votingAddress": "XiRw294EjGkshm5Sm7r4XxjqdJVNN5UsNN", + "payoutAddress": "XyVGNsmXftkn6fU3eLzy88f45g2LFTW8hW", + "pubKeyOperator": "10617472da90bc1c3a2792c26740a54c135c4ae12543d6a834f7f1fc1ea02bba5344eeaba1129910081d544fa90195a1" + } + }, + { + "type": "Regular", + "proTxHash": "fd7bb2dbe74b2a35ea783e846e53a848df25fc586c67b2366f17cdfc719dd023", + "collateralHash": "1fc2c851485764766c6b452ee1fa1a5f60d1f7d4a892ec0c68f05713fee9300d", + "collateralIndex": 1, + "collateralAddress": "XsGrfuN1n1WhyxtdaFMWa6Z6LvPu2fPfcf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.98.39:9999", + "registeredHeight": 1036018, + "lastPaidHeight": 2126805, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2100637, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiSbv4bQ2hhHP54wzvKqmFkwHnNkUh5pY6", + "votingAddress": "XiSbv4bQ2hhHP54wzvKqmFkwHnNkUh5pY6", + "payoutAddress": "Xnodok6S9JtzmR8RtQrfQF56tfqgb9vMtZ", + "pubKeyOperator": "0d53038109f4396134dfd5a3a0f0b458d2330ee1068e0a5d46f73e61757ded3534910c29edeb08550f7eb87f09bc02e7" + } + }, + { + "type": "Regular", + "proTxHash": "5c1884fb7b2b01a2fcb4a198f122b93817413bd2d783e56eec6c4e4b246d0bf8", + "collateralHash": "ba93182c74759865a1082c4d34814ce0954fd6ca28e16d0cf52a62ff5be2c155", + "collateralIndex": 1, + "collateralAddress": "Xb8gFQ1ngiDqLiyFFQGGKDCtiRRrmKZ1LB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.59:9999", + "registeredHeight": 1036756, + "lastPaidHeight": 2128241, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976861, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqgFs2vTc4nsPCoZfYy5EcyMwmx7uweBWR", + "votingAddress": "XqgFs2vTc4nsPCoZfYy5EcyMwmx7uweBWR", + "payoutAddress": "Xb8gFQ1ngiDqLiyFFQGGKDCtiRRrmKZ1LB", + "pubKeyOperator": "014c7a2be61cd173fed07b97a75835580cf6f90ac27caa334ab8719ac7a87fd0e0aee6b2a8491a880e68a9c1c562fc20" + } + }, + { + "type": "Regular", + "proTxHash": "a0d852b247159ea6d07805fa5375376d01eed193c88d311c7badbcf6203164d0", + "collateralHash": "5273f016fee9841c6cc4ab039f98ef03b764e5317d8ef7f802a6d7c0dff7091b", + "collateralIndex": 1, + "collateralAddress": "Xfaz2YANj8MqMUJndL2Aj8E8ct4J5nRX8P", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.93.223:9999", + "registeredHeight": 1036756, + "lastPaidHeight": 2128809, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977462, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwnsLzeLJjr5ri81qns2RnjpvRq1b65P89", + "votingAddress": "XwnsLzeLJjr5ri81qns2RnjpvRq1b65P89", + "payoutAddress": "Xfaz2YANj8MqMUJndL2Aj8E8ct4J5nRX8P", + "pubKeyOperator": "0df3ca85bd5ee978c261f0f338ed0e51011ed25ef0f649ed7b6d186df29284251420f8251b97b397245a76adbb9b3aaa" + } + }, + { + "type": "Regular", + "proTxHash": "43081ae8229218ac7b72655f6838cdcc68b8713794eff6f3aadf4603de9aa465", + "collateralHash": "00e72eca98aab035ee316dadedb74ac5f1b8f35daeb3c31ba24d73a1650ae34e", + "collateralIndex": 1, + "collateralAddress": "XwVECnQ1FWBD9WQWXeA1qLR62c4L8whg2D", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.102.136:9999", + "registeredHeight": 1036766, + "lastPaidHeight": 2127882, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxQ72AtqKzRmaHF8rNnoqVibSi4iw9xG4G", + "votingAddress": "XxQ72AtqKzRmaHF8rNnoqVibSi4iw9xG4G", + "payoutAddress": "XwVECnQ1FWBD9WQWXeA1qLR62c4L8whg2D", + "pubKeyOperator": "0bc5441807edcdfcd7cb6ce590d25d07cf10b72ff92c3a31e134b852b01afb32d597d667a58e76af7a47febb9c099b7b" + } + }, + { + "type": "Regular", + "proTxHash": "87d2e7cdc63c05833b8ceebd1bc6fdaf3a18f064e6a01c9f2464c5b69a792c1f", + "collateralHash": "b74082b241a2d8f68958ab88d5eb7440bee582c90cd52b8d43cd2e7d68815aeb", + "collateralIndex": 1, + "collateralAddress": "XiSZBREXb21ytK2zPLCPt7pw7Xnyn97fnD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "31.10.97.36:9999", + "registeredHeight": 1037110, + "lastPaidHeight": 2127226, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121082, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgWGRNFu9n27xarpKB5DiTK6F4dAQHh8R5", + "votingAddress": "XgWGRNFu9n27xarpKB5DiTK6F4dAQHh8R5", + "payoutAddress": "XnCijjPKQauy7FvQxLSiNwnF9aQdM7gwXk", + "pubKeyOperator": "027e0ca0abb2cf196ed67893d2f17a1f46e819db294726fe982d99aafd9fe61ee6227fe8786bdab808355164a4f42bf9" + } + }, + { + "type": "Regular", + "proTxHash": "9406164da4a7efea93f6822c67be37f091d36b939c2a2d449a2cb39caea268e4", + "collateralHash": "b65d78784f2f8c29e07eceea746752378ca846be7784a9502a36da818c41fdc0", + "collateralIndex": 0, + "collateralAddress": "XkQSDXPX9wUXNdUi3snEMNPArwUGtNWbdm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.20:9999", + "registeredHeight": 1037672, + "lastPaidHeight": 2126891, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1909782, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfSNJ8cnNkqwnBjbmxbvbqbqiXDXQwamHJ", + "votingAddress": "XfSNJ8cnNkqwnBjbmxbvbqbqiXDXQwamHJ", + "payoutAddress": "XpzzenpuLdGdKy5RLcJUJcvtW3F9STxTTE", + "pubKeyOperator": "917d4210f07d8849807e4f8479e52c02d27cf251807a32fdd806892493dd6b7f6d08131f32632a1ff141ef605d09ed8a" + } + }, + { + "type": "Regular", + "proTxHash": "ceebc16ffe64010034f245ab95f555e059b188ae404d9112865830400e9aaabb", + "collateralHash": "b55de21bb580c1445150a4e9c9ea963ae05c99704d5327c886df567d4487f185", + "collateralIndex": 0, + "collateralAddress": "XxhXFhNq5DDX4xwRu7jB5LHyaciECPkA3t", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.213:9999", + "registeredHeight": 1037696, + "lastPaidHeight": 2128793, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxrDzZCDFMukbgyeav5pTfVWgsanWri7eK", + "votingAddress": "XxrDzZCDFMukbgyeav5pTfVWgsanWri7eK", + "payoutAddress": "Xi9x7W13CPTPwpibXPVivi9xorkEwsnxFB", + "pubKeyOperator": "8bc2eeaee64447c4ab172dcbbab711f34db98f8e9b4fc55a7ad4bb5c8521d7ff671d70196392f9192cca96ea7f47f88f" + } + }, + { + "type": "Regular", + "proTxHash": "b6c70cced4618c5541a1f2567e6193fdac24e500e6e86b90e8532f5d34aae3d6", + "collateralHash": "e8786b42ebc0016d111747ea7569ff896919fd3585f79139da821c6ce609eab4", + "collateralIndex": 1, + "collateralAddress": "Xm4B9twh1UAAkFqTRZvQCuLpaLd9puZ8jU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.77:9999", + "registeredHeight": 1037696, + "lastPaidHeight": 2128834, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt1oirCiW7aCcsvHRtmBUtfCVvxWyVX452", + "votingAddress": "Xt1oirCiW7aCcsvHRtmBUtfCVvxWyVX452", + "payoutAddress": "Xi9x7W13CPTPwpibXPVivi9xorkEwsnxFB", + "pubKeyOperator": "8e3dd52a79e74d851ec4a5c3bb602bccbfe0f5030eed89b8407f9b8950bc7b92be3ac506e5ee811ac2b34b26580ecb1b" + } + }, + { + "type": "Regular", + "proTxHash": "0b2b64480db7c23f166a4ee7d2a3badd86b82368ad4f92ef03d5f025e13716f3", + "collateralHash": "28ffa6e9d5e0605620dcda5214728715a366f36b8d75233a0f9c10c4110450d8", + "collateralIndex": 0, + "collateralAddress": "XmisLwDFHQPLAPhAy8mQtDaZiU9Cu5tHyU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.13:9999", + "registeredHeight": 1037696, + "lastPaidHeight": 2128838, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XciaQFb68GiHWfHuDStcAkqSs7j6737oMC", + "votingAddress": "XciaQFb68GiHWfHuDStcAkqSs7j6737oMC", + "payoutAddress": "Xi9x7W13CPTPwpibXPVivi9xorkEwsnxFB", + "pubKeyOperator": "941b04a0e8b19e5994b9414917c176d8f4818dc3169d33c6a6ee6adba091aefed7fbba096012206511f7dd8b38b50a92" + } + }, + { + "type": "Regular", + "proTxHash": "2114709a1e09ed7f3811530569d61bd4a6cb9afdb923dba20097495acb61560b", + "collateralHash": "521becf446818e560e4e0cd94083a4bca78c7b2a4e686cef658873d838b5e357", + "collateralIndex": 0, + "collateralAddress": "XtWoCP1uzHAHLELvdUdiBPSLsC9RLhQ4NP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.216:9999", + "registeredHeight": 1037703, + "lastPaidHeight": 2128839, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnAwLTcJZ1Y11ihiJvYdMHJQypjtnAmu9x", + "votingAddress": "XnAwLTcJZ1Y11ihiJvYdMHJQypjtnAmu9x", + "payoutAddress": "Xi9x7W13CPTPwpibXPVivi9xorkEwsnxFB", + "pubKeyOperator": "966b6fe2cc2bc7d497150c85376d6df0077bc789c692c4bf4cb82f6c92d4a148ff263713eeba0e8a78fb6cbd5f54b85e" + } + }, + { + "type": "Regular", + "proTxHash": "6ce3d52d730f36d98b2489074c7db798eec0da995b04e74d5601d6ab72b51fa8", + "collateralHash": "7fdc7e4144b8f9e73eb366fbbed6e6abe866ee4a37b9333c459b29405d8ca3d8", + "collateralIndex": 1, + "collateralAddress": "Xhv6rraNP7VWv9btHfmUqWb4PzbdbgXGMH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.109:9999", + "registeredHeight": 1037717, + "lastPaidHeight": 2127030, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695538, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvRmZbHtB6LsNk1Am3W8jbpdVDkPN7Gbz5", + "votingAddress": "XvRmZbHtB6LsNk1Am3W8jbpdVDkPN7Gbz5", + "payoutAddress": "Xhv6rraNP7VWv9btHfmUqWb4PzbdbgXGMH", + "pubKeyOperator": "16d199953d53feea6b685455f0d9d6981a78f166ba2fbb4b693f512d54d970c095b44f9a5a04130dd880e48e00b99a9a" + } + }, + { + "type": "Regular", + "proTxHash": "155c88972a99386f50ff6097b7132a76dc34296897c9036f51db361875442d48", + "collateralHash": "ff07d14cfc5cfbe7e499f37f88a8f39e8a248c11eedfca5897965deaeb458a8d", + "collateralIndex": 0, + "collateralAddress": "Xy2VNk5NGNq4U9LzEUqp2qVyvEN6VCf5pi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.223.74:9999", + "registeredHeight": 1037744, + "lastPaidHeight": 1984173, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126827, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqFxzZmeB5cn1nqSw6Qu1V7HceGMxr62TN", + "votingAddress": "XqFxzZmeB5cn1nqSw6Qu1V7HceGMxr62TN", + "payoutAddress": "Xy2VNk5NGNq4U9LzEUqp2qVyvEN6VCf5pi", + "pubKeyOperator": "116555e6c331eaaa8433063e72a156db6abc745a89b366af0ae6e1a737a69127d5e18967d3fba4a72349dd04a0e754bd" + } + }, + { + "type": "Regular", + "proTxHash": "613d41444638879e522735dd60784c365d2adc8ab0104ea99bd13af1e8e78e68", + "collateralHash": "a91872c56bbe3822613783a9cc6168e67933d51d3bbd513b436f4ce52035540a", + "collateralIndex": 0, + "collateralAddress": "XcRHAyJAVTV8Co3svhrW65EJAq3Bq6BWrq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.172.188:9999", + "registeredHeight": 1037750, + "lastPaidHeight": 1985075, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127137, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnhLGBwVZtYDEqEkMykBsbbPJZHgm6DsCT", + "votingAddress": "XnhLGBwVZtYDEqEkMykBsbbPJZHgm6DsCT", + "payoutAddress": "XcRHAyJAVTV8Co3svhrW65EJAq3Bq6BWrq", + "pubKeyOperator": "8ea809bc1e9e662056c8ba667ed50b87c6e5760edb3961673a2a20830c536a79e8ba6ac29484086db49086ec583e11fc" + } + }, + { + "type": "Regular", + "proTxHash": "905ad314f849786ca00f866b5a9db2b88e17e64d1175e7c729e0b83664b5ec45", + "collateralHash": "1c28a4f448238dd331b0352aa10b157f25a83c5c09c24635535f8a0a87eba02d", + "collateralIndex": 0, + "collateralAddress": "XnkcDmcNspZFyJxfTgpyTXMPU5WEFQq6RV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.131.134.41:9999", + "registeredHeight": 1037755, + "lastPaidHeight": 1981387, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126773, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvc7Py3yFNKGCDbQpDdVNubThCYDesjCpm", + "votingAddress": "Xvc7Py3yFNKGCDbQpDdVNubThCYDesjCpm", + "payoutAddress": "XnkcDmcNspZFyJxfTgpyTXMPU5WEFQq6RV", + "pubKeyOperator": "8f119742ce6c0ee1f7f7b40a9dec2db6ffa42ec0eabfc0adaa2fff298d5284f05abc79ed716697007b1382b78fea1936" + } + }, + { + "type": "Regular", + "proTxHash": "0df1bbe80e534d132b8a1dca6d83889c1f61de4456c336194941e069dab73317", + "collateralHash": "1a2ea01d3db5767e8f537c14f36449f256ebd82874d0619f7b4267c30b2f8ecb", + "collateralIndex": 1, + "collateralAddress": "XiQ1ek1UHaDsaXWyg71uDvP6KgGZWUAEj7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.230.209:9999", + "registeredHeight": 1037765, + "lastPaidHeight": 1966423, + "consecutivePayments": 0, + "PoSePenalty": 4110, + "PoSeRevivedHeight": 1873779, + "PoSeBanHeight": 1968810, + "revocationReason": 0, + "ownerAddress": "XumiCQMah2pv2eaaVYUP59yV9woRmz8gqd", + "votingAddress": "XumiCQMah2pv2eaaVYUP59yV9woRmz8gqd", + "payoutAddress": "XiQ1ek1UHaDsaXWyg71uDvP6KgGZWUAEj7", + "pubKeyOperator": "01f9689156159a0589ee46b12549b81b6d95aa67265d2c6d17f8f08c6ddb1eced316c3762f519bc1caa7007d63a5f619" + } + }, + { + "type": "Regular", + "proTxHash": "42d1794725f9e0656c7c6b4431548d526b9f93e295ae602f703711abf42b06d1", + "collateralHash": "5c6aefe4ad5c228967a05518b3a9328140815f9f259f934cc245065223ff66bf", + "collateralIndex": 0, + "collateralAddress": "Xidi9zByVyY1uvmDJW71B1Y6stxHMCNVWn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.172.195:9999", + "registeredHeight": 1037786, + "lastPaidHeight": 1983714, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127163, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsP7PB7hqtUZfaySyJ6xhS3dFUDT6o856T", + "votingAddress": "XsP7PB7hqtUZfaySyJ6xhS3dFUDT6o856T", + "payoutAddress": "Xidi9zByVyY1uvmDJW71B1Y6stxHMCNVWn", + "pubKeyOperator": "14763d91c47f39661197318786be4ff5cd763617389a1ee7d48f1da197d41f56e85b70dda052ffe43c73e9d469eb721e" + } + }, + { + "type": "Regular", + "proTxHash": "74ab69ef7e1b6b3e81e2be9709b3609b0a70e7b1a9e7804a6c2f9e825b7b2f96", + "collateralHash": "aaf0fda0506da0e73a7c90acf0d3121318446a68785410c67b356322b7096e4f", + "collateralIndex": 0, + "collateralAddress": "XkxX38U5vzgn2SuBk7NmzSx2sZyrXsCxS4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.242.110:9999", + "registeredHeight": 1037789, + "lastPaidHeight": 1984402, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126630, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmUA8TMNxcq7QMpJysbnn2JP2ut1SByAQE", + "votingAddress": "XmUA8TMNxcq7QMpJysbnn2JP2ut1SByAQE", + "payoutAddress": "XkxX38U5vzgn2SuBk7NmzSx2sZyrXsCxS4", + "pubKeyOperator": "01385fe2e2c58eb01c318fef83aacf8b4f7cdbf8df7642ebb24388a54c31b18159ed75aefbf1494334d22491e45f3aec" + } + }, + { + "type": "Regular", + "proTxHash": "646a9c8092fafb881a9bd3097926fdffd0463b464df4b66480082c681947f284", + "collateralHash": "ad7fc5b3b67fc0d8f8fa4cdc2d17be8de5ef4dad6cf5d6321cb5631bd976dc65", + "collateralIndex": 0, + "collateralAddress": "XrXDvQRXAHz8wErHiveWHijLvLqktEqbT3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "198.211.119.126:9999", + "registeredHeight": 1037794, + "lastPaidHeight": 1980953, + "consecutivePayments": 0, + "PoSePenalty": 4019, + "PoSeRevivedHeight": 1873841, + "PoSeBanHeight": 1982614, + "revocationReason": 0, + "ownerAddress": "XqAysr1cpDmDewTFYr5yM9bJ3kgfh7Wiig", + "votingAddress": "XqAysr1cpDmDewTFYr5yM9bJ3kgfh7Wiig", + "payoutAddress": "XrXDvQRXAHz8wErHiveWHijLvLqktEqbT3", + "pubKeyOperator": "1491de9f4e77a225d735a0d479b7d76c58c3e5f08a33f0fc0565f7823c9d548d1cebffea5139272f70c49f8f8bc1ce2c" + } + }, + { + "type": "Regular", + "proTxHash": "4516a9d4d0d929e780b851c7b5187fccba87f62fda168b2a48ef5259b1bad4fa", + "collateralHash": "d8f55212d4371f00a535e44fd1677caf6a3dee88456c6eb3622d6af51c0abedb", + "collateralIndex": 0, + "collateralAddress": "XrpmW8dgf38YVwDNzx2DVQu7KB5cfcuAza", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.160.29:9999", + "registeredHeight": 1037796, + "lastPaidHeight": 1980045, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127730, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuyQjbXaSpsnQ56KJgHhiWSrEQSqSotLwq", + "votingAddress": "XuyQjbXaSpsnQ56KJgHhiWSrEQSqSotLwq", + "payoutAddress": "XrpmW8dgf38YVwDNzx2DVQu7KB5cfcuAza", + "pubKeyOperator": "8bec6df1f7e038fa64ce2f5f231f31a39710657a0b7e735bffe8c4a56350a8abe5dc019675bdb86af11880bd61641e82" + } + }, + { + "type": "Regular", + "proTxHash": "790c8360bf9bce3ad15d9ed42b424d842d76241f513344d9f7d7108ecc014447", + "collateralHash": "89ebdc5478411b620b85c211d8cf539f8b39bc150c4f191a873a4e8d36cee7b1", + "collateralIndex": 0, + "collateralAddress": "Xw5FPEuCWc9iP2N6e2EBrN6TuiArzEe9S8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.240.135.83:9999", + "registeredHeight": 1037802, + "lastPaidHeight": 2128114, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118839, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbttJAaaAYcJTSqY9fx512agczHDqKehrG", + "votingAddress": "XbttJAaaAYcJTSqY9fx512agczHDqKehrG", + "payoutAddress": "Xw5FPEuCWc9iP2N6e2EBrN6TuiArzEe9S8", + "pubKeyOperator": "033ac9737b62b0bf5f1b424cbca290ab153cf91a1cc1ec62b62c3bef715c71e6ef1d65e3ffb9152d233a40fde1513c3a" + } + }, + { + "type": "Regular", + "proTxHash": "802567c9dce4bd7c710a55cbdf88ee4ed0a3ff3999f665d28a378eca175e8605", + "collateralHash": "16c1b12ea9a11c8eb3d455b87c4fcccf82e7a81842d22db10d6dd16b6222543a", + "collateralIndex": 0, + "collateralAddress": "Xq8xhkaj5ztrEh9Uavj1CX6r9wb7JPCRaE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.243.219.25:9999", + "registeredHeight": 1037808, + "lastPaidHeight": 2127116, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117954, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbczCFPLohqn1zhnmUX4UYZZQEwdXL4WT5", + "votingAddress": "XbczCFPLohqn1zhnmUX4UYZZQEwdXL4WT5", + "payoutAddress": "Xq8xhkaj5ztrEh9Uavj1CX6r9wb7JPCRaE", + "pubKeyOperator": "885dfb06a6b7021e54f8ceee0c8d903b232f9113857b762e9ea846be256767203abe809463dff90116b7c397f81e1fa3" + } + }, + { + "type": "Regular", + "proTxHash": "4dbb3aeb27e306076516944680a9f7f38e7c889d71deb212be5e0ce79442bd17", + "collateralHash": "7a4fb4113cfd40de019f2165948a52a6aadf9d121587f8fca6fc444ed5c13a90", + "collateralIndex": 0, + "collateralAddress": "XeqVdwzDzgXnUD3ZfZj7ynfGXuJRxrW8TL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.48.49:9999", + "registeredHeight": 1037815, + "lastPaidHeight": 1982146, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126538, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmFbJzsFyLDBfz2nAgvUw6JcmvhTNUKjDJ", + "votingAddress": "XmFbJzsFyLDBfz2nAgvUw6JcmvhTNUKjDJ", + "payoutAddress": "XeqVdwzDzgXnUD3ZfZj7ynfGXuJRxrW8TL", + "pubKeyOperator": "96a3da1d9fbc05293e475a5195d263b13666374ddd42eaf69627cf31a50d20dd418faaeeb3fe2d16fe1a985318ad6697" + } + }, + { + "type": "Regular", + "proTxHash": "f567f207b0ce27c57ef85315e9c7151d4d1181a2f6332ebfaf2024db9ebe5639", + "collateralHash": "1c95f5a29f2f61c814a313a88c3b78e54be2ad2a53f4dadbddf5af28447ec09c", + "collateralIndex": 0, + "collateralAddress": "XhNBhm9XZ89GysYeHnYXXB3GRDVk6V55FW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.85:9999", + "registeredHeight": 1037815, + "lastPaidHeight": 2127254, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyD8DNCeudNyugtskLpBSJN9zz2kKVBksU", + "votingAddress": "XyD8DNCeudNyugtskLpBSJN9zz2kKVBksU", + "payoutAddress": "XrxYXj6P1C4PH1KDUYSKTPqLkzg7gJ4iLV", + "pubKeyOperator": "116eebf165e1ec36c828437bea04152c1875deca27f0af2e81cce25d178b7d523f29545875cfaadbf768853385d07639" + } + }, + { + "type": "Regular", + "proTxHash": "60a4739609beff65cb713ad222ac6b117801b3616c858cba40d3b44d124c314a", + "collateralHash": "c8acbdc72e3d8b59423639470b482339f4a15ae78562e36c0e8f39321f05ea5a", + "collateralIndex": 0, + "collateralAddress": "XaxQXAqesqQQ5N6tyzmqwiZB3EdEG4Z8P8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.47:9999", + "registeredHeight": 1037817, + "lastPaidHeight": 2128880, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiLvsU4BYunga1inKeawaLQMoUdXcCjyxw", + "votingAddress": "XiLvsU4BYunga1inKeawaLQMoUdXcCjyxw", + "payoutAddress": "XmDiYF563DuLjuEX2o53a3vX4gijenYSPn", + "pubKeyOperator": "9848f22fe0a090f83683ff6983dca9d10a73e27223d5d5f9964e5118f6ad0230af889508198d7bd65e3cbd1597e2a88b" + } + }, + { + "type": "Regular", + "proTxHash": "193603f5b2fedf340883110202514b8f4434194806802c8a151a188af46da9c0", + "collateralHash": "6252425c2ce9a6063942543d155603dc7ca6c124dbfc866905ebdf379b489833", + "collateralIndex": 0, + "collateralAddress": "XyU67JNARY9DT2B34WDKSFn2ChHYS753TY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.254.160:9999", + "registeredHeight": 1037821, + "lastPaidHeight": 1980844, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126783, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsFJQCq1u59pEYAK8Fa6LDbKBAZbwawQCQ", + "votingAddress": "XsFJQCq1u59pEYAK8Fa6LDbKBAZbwawQCQ", + "payoutAddress": "XyU67JNARY9DT2B34WDKSFn2ChHYS753TY", + "pubKeyOperator": "16ba343e2e3e9f7eff03451252d669fb8022c32011d7825509a8bcbfc15246e75a12fc41d36be143008c6be2ec3689c0" + } + }, + { + "type": "Regular", + "proTxHash": "29a647921e1be4ef93794e977e46022bdcc4fcf039076b1230725df6af10dd1f", + "collateralHash": "948daf77ba3c5ce2ed6fd3c460c8db9f6f9e4a049fe5de9f68bd447b9f65fd04", + "collateralIndex": 0, + "collateralAddress": "XfjFv1q5VFZwzDQNY4BgFnbmtxU4JgbymN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.120.125:9999", + "registeredHeight": 1037827, + "lastPaidHeight": 2127490, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118300, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmZFBHqscseyAsiH9P7bWNbei7niB3MH9e", + "votingAddress": "XmZFBHqscseyAsiH9P7bWNbei7niB3MH9e", + "payoutAddress": "XfjFv1q5VFZwzDQNY4BgFnbmtxU4JgbymN", + "pubKeyOperator": "04ce9678f43158ec2b2a033cef694f6fd952e945b87ab9b456348c50f479ef8f6517f3ebe200064bb45975249f5d80d3" + } + }, + { + "type": "Regular", + "proTxHash": "db34356f10d01c81dca0cefa9a580cb2aee454ac3d1e38da99ecaa8999cf131c", + "collateralHash": "4ebafba48732042cadcddb2a2b3daaebadbdd4bbde8f96332b8b287242df8692", + "collateralIndex": 0, + "collateralAddress": "Xjvh5hH9T2VZuByuA3qMV2CFp8Swbx5T5f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.243.136.66:9999", + "registeredHeight": 1037855, + "lastPaidHeight": 1973324, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126631, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbWjNqFCeET9tP4VFyKeQLow5rvEFT3rii", + "votingAddress": "XbWjNqFCeET9tP4VFyKeQLow5rvEFT3rii", + "payoutAddress": "Xjvh5hH9T2VZuByuA3qMV2CFp8Swbx5T5f", + "pubKeyOperator": "0f60df6e188e15f35fee974f8c24fba8ccb743738d3c948e6a9b45dae4fb15e6ec3d9864ba80b9ee54be10bc749e43ec" + } + }, + { + "type": "Regular", + "proTxHash": "adfc4f530097b9e641618416a9d7b2cb84b8d058c0624960d1fb6bea3e3394df", + "collateralHash": "c9fe746055107db3959d3000f01526f54ac027707d4073e78b3e9c0d822e23cd", + "collateralIndex": 0, + "collateralAddress": "Xtr1N6coqTXTKRTpxALjixNpCVvxvdjs8g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.228.88:9999", + "registeredHeight": 1037866, + "lastPaidHeight": 2127548, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118364, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgBGiPDC6a7rvMACkT2iQrVFwd8VhXLDBq", + "votingAddress": "XgBGiPDC6a7rvMACkT2iQrVFwd8VhXLDBq", + "payoutAddress": "Xtr1N6coqTXTKRTpxALjixNpCVvxvdjs8g", + "pubKeyOperator": "9019df7c4b31fbe3f1d898cb92cc7685b666987de8593a8469936934cddcc71e5af5d89f499d26cd221052631bed803c" + } + }, + { + "type": "Regular", + "proTxHash": "569e774b04a47e5eef895359692d9a59d8765fe4425c3f2aa58c9bdb36e0c7eb", + "collateralHash": "2edd853a2a02f2dd68c4e49407bac8bce97c7cf8376eae9c6c1013f49e0db964", + "collateralIndex": 0, + "collateralAddress": "XcwhSPP2Zn5TeF6WKM3JhxtjaJpn3iq8qp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.243.205.212:9999", + "registeredHeight": 1037878, + "lastPaidHeight": 1978596, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126884, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcShPvMGiiySkkWgXAaStrfPLrq2rZUejk", + "votingAddress": "XcShPvMGiiySkkWgXAaStrfPLrq2rZUejk", + "payoutAddress": "XcwhSPP2Zn5TeF6WKM3JhxtjaJpn3iq8qp", + "pubKeyOperator": "8e808d14dda46be0f918e58e1785d935dd03b0273b0bb9dcb4ca21b9b9e76f0ddde2110f45863873a48e8fddba9fe5c4" + } + }, + { + "type": "Regular", + "proTxHash": "5d2f8a542829fd7a77fdbfcf13fdd642b4c92ce7e0cf2fa99b4b42f9e1d80fdd", + "collateralHash": "379bd6ad03a8951383e192ce39004ea1554bba7097ca7e9b6d1dc8c3ed575d03", + "collateralIndex": 0, + "collateralAddress": "Xhz6UGmvdgTZnXYMNt2vD9GcesCDXPsycs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.196.182:9999", + "registeredHeight": 1037893, + "lastPaidHeight": 1965627, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126617, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr1TzmfYcRZ8GewnxkaNYbYZtB39ZAYYym", + "votingAddress": "Xr1TzmfYcRZ8GewnxkaNYbYZtB39ZAYYym", + "payoutAddress": "Xhz6UGmvdgTZnXYMNt2vD9GcesCDXPsycs", + "pubKeyOperator": "07f43a2b4a42a476de6173552247f14813a8f1a040f9565fd305d7e1329af6a7e4147d188cacac518025cda1d683c176" + } + }, + { + "type": "Regular", + "proTxHash": "df7e24b96123ad9213e290eddea3b7c8496fdd3473150c730b2e60ecee72724f", + "collateralHash": "95792d25fb9e3a6daf9aff27fddb297f19d59bf0e6a19c18885b6ddd9d213102", + "collateralIndex": 0, + "collateralAddress": "Xd7m6J1PAqw4X9PAeGHz69hKpYHuT7cdtt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.13.222:9999", + "registeredHeight": 1037926, + "lastPaidHeight": 1984763, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126848, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyWYbBtyixKJWMDutYxzQNY9D6VGxa6Joa", + "votingAddress": "XyWYbBtyixKJWMDutYxzQNY9D6VGxa6Joa", + "payoutAddress": "Xd7m6J1PAqw4X9PAeGHz69hKpYHuT7cdtt", + "pubKeyOperator": "83d28d667a3c25b02c85002103d1ea4b414722fecc8ba0c7096a032c2b2b967b8a364a93edf2ac987a00c816b735d469" + } + }, + { + "type": "Regular", + "proTxHash": "a872f1c32573dadb931e579c3c6d94edca7df819277ca162db3a7e7814255b21", + "collateralHash": "1d75d596f054e59edce4f3f4fff30adc174d98ff3b9e32a6c2272400790f6528", + "collateralIndex": 1, + "collateralAddress": "XiEF9Wh7AEFmBFSSBjmhax6owrQAbXD5ns", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.131.124:9999", + "registeredHeight": 1037933, + "lastPaidHeight": 1979620, + "consecutivePayments": 0, + "PoSePenalty": 4006, + "PoSeRevivedHeight": 1879258, + "PoSeBanHeight": 1983210, + "revocationReason": 0, + "ownerAddress": "XtpXMhFqTEJCyuUHVV2mqw987ugyTrLWRs", + "votingAddress": "XtpXMhFqTEJCyuUHVV2mqw987ugyTrLWRs", + "payoutAddress": "XiEF9Wh7AEFmBFSSBjmhax6owrQAbXD5ns", + "pubKeyOperator": "0f088e81ec98c75ca12f89b0ed55b3c864a16766624e3d2881771bd1874a6bf53d6b5c62612f9897fa7df4768b5e3e59" + } + }, + { + "type": "Regular", + "proTxHash": "43fdb5f9bfde7117b9f0ebf568fb915c22189d7704d3e0a2dbdab661efa58480", + "collateralHash": "ad4c20765fc5d0ae32fc4c55d435a2523fce9c15ea28faafc610d930362c5ac9", + "collateralIndex": 0, + "collateralAddress": "XsL6WyjdNfCycdV7rtKiL46Qi344h1ZnuA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.240.132.231:9999", + "registeredHeight": 1037955, + "lastPaidHeight": 1980464, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127114, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiwaNAkNeJExPs7fgzXx56uch5rVAXJ1iP", + "votingAddress": "XiwaNAkNeJExPs7fgzXx56uch5rVAXJ1iP", + "payoutAddress": "XsL6WyjdNfCycdV7rtKiL46Qi344h1ZnuA", + "pubKeyOperator": "0dcbe6d96872279cc7b4b186eb39b9dc5c2dbf948eacb5a8c9aaf40d2365e5e4bc280b3b8b66624b8fd0ee4b4d7f930a" + } + }, + { + "type": "Regular", + "proTxHash": "55cd6d8398523775c03187f47baaee5d84567844ec1f5a9ceeacac01a420f959", + "collateralHash": "61e5bdeb34e1cb060b94ba1e4c3fa04a07eaf099bb09ddbff8a014cffa488cc7", + "collateralIndex": 0, + "collateralAddress": "XbCWFTaHAthaaFCeVC2g6oLxRBpurhoyTQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.210.144:9999", + "registeredHeight": 1037961, + "lastPaidHeight": 1980066, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128193, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvMqHFyXk6iaafQ1oCv9CB7VN81nXo8z3o", + "votingAddress": "XvMqHFyXk6iaafQ1oCv9CB7VN81nXo8z3o", + "payoutAddress": "XbCWFTaHAthaaFCeVC2g6oLxRBpurhoyTQ", + "pubKeyOperator": "92d74457102672384dfddc8917d80af492ac5de5e61faab182921113e61f1b84cdc88d311c522dd3ea631b3d4ca66fd2" + } + }, + { + "type": "Regular", + "proTxHash": "59e7eabfed48907490b7568a5849833e9c79e2886f0aeaf660aa76bda93aa3a9", + "collateralHash": "d421c8b597b671bf836f5b6cddcce732779f187d4fddc48cd783982591f01351", + "collateralIndex": 0, + "collateralAddress": "XpwJKn9k7QRHPPBfXY42UCnRzAHgSkcW7a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.172.197:9999", + "registeredHeight": 1037967, + "lastPaidHeight": 1984883, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127187, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcvYdSRn5ZFwMtCKwiygc2LBnUFH5h2L27", + "votingAddress": "XcvYdSRn5ZFwMtCKwiygc2LBnUFH5h2L27", + "payoutAddress": "XpwJKn9k7QRHPPBfXY42UCnRzAHgSkcW7a", + "pubKeyOperator": "86c83c6f3f2295e4e323ff6898e79cc25e9879dced23fe8cb17d94b3ff79c8cbe814dcaa111e7158122db5aa0b8a094b" + } + }, + { + "type": "Regular", + "proTxHash": "ab282009325a06c60b2230fe929d5135f0db7d875d0a910cc52531b6e37b43ee", + "collateralHash": "581e94ad25daeb3ab810180af4b885459d21989c56ce502d709aa75ca0d9e736", + "collateralIndex": 0, + "collateralAddress": "XswuVZWNVKiWrpQ2tS5j6eGLJY7JhCvUgD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.107.192.166:9999", + "registeredHeight": 1037972, + "lastPaidHeight": 1984494, + "consecutivePayments": 0, + "PoSePenalty": 3816, + "PoSeRevivedHeight": 2053448, + "PoSeBanHeight": 2054634, + "revocationReason": 0, + "ownerAddress": "XnXj7oRGfSzRRacgoze3zrJHsH79rUmSSf", + "votingAddress": "XnXj7oRGfSzRRacgoze3zrJHsH79rUmSSf", + "payoutAddress": "XswuVZWNVKiWrpQ2tS5j6eGLJY7JhCvUgD", + "pubKeyOperator": "968c94c346b0f3d9a09ffb6638d0e0dc13ece73e909a442454f513686912ef6dc818e87383e70db190bd67949481eff9" + } + }, + { + "type": "Regular", + "proTxHash": "3dc80e8703813b9cd7b9a138b15c528bf8c972b9751cdbc65dec0d0d2231e253", + "collateralHash": "c4c1ac2389ad8ab911fd25c95608fb95f5567dad82cead39cc3a4ddf805635f5", + "collateralIndex": 0, + "collateralAddress": "Xhoh45s52HQK8mRzM8xqtwATou1yzmbufR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.58:9999", + "registeredHeight": 1037984, + "lastPaidHeight": 1980573, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127371, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrSYi8D9hVXFnaGfzFrdtVyrpBTCpowBmT", + "votingAddress": "XrSYi8D9hVXFnaGfzFrdtVyrpBTCpowBmT", + "payoutAddress": "Xhoh45s52HQK8mRzM8xqtwATou1yzmbufR", + "pubKeyOperator": "05ec321a51ebee928fbdb79f4b79ecff9b5a492f397bfe4daacb4ac60461013865d1009f8fcd1aeab49adc93c49516cf" + } + }, + { + "type": "Regular", + "proTxHash": "5c1dc0cf442156e8f8ee01a826fa6eb082a167c9efe94735ab3a22d8ffa581ce", + "collateralHash": "133c6c848081817d92c493e41de8e186a45b5211f3cd15d5c69b7073099bac9f", + "collateralIndex": 0, + "collateralAddress": "Xu8avjMLNosVjHs15gmkises9JpAz1VsxE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.243.76.23:9999", + "registeredHeight": 1038004, + "lastPaidHeight": 2126956, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117807, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxuizofNKjSvGs7viZmWM1WvfnCT6hmD9f", + "votingAddress": "XxuizofNKjSvGs7viZmWM1WvfnCT6hmD9f", + "payoutAddress": "Xu8avjMLNosVjHs15gmkises9JpAz1VsxE", + "pubKeyOperator": "99d92edca932191dd3cdb966d3b9a78c8ade5b7e5a50dc3cdf9ecb57d2a5941a749c7ff25f8bd6d3d69a5bbc2e9d357f" + } + }, + { + "type": "Regular", + "proTxHash": "5ea2495cfd60c240aebe8645a7e8ccee5fa79611590917c820f3b9851e3e883d", + "collateralHash": "4817859796d786201ab77bbf4b8c993c86402c2c82c64efc0ada1ef2b41fd2b6", + "collateralIndex": 0, + "collateralAddress": "XbLQ2WUzo1rZ2cM9gQ76GzXFb9tPRUj4qZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.21.42:9999", + "registeredHeight": 1038020, + "lastPaidHeight": 1982818, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126884, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpqTZgGvG5sqPBw55thFapgsTg1u4vySe5", + "votingAddress": "XpqTZgGvG5sqPBw55thFapgsTg1u4vySe5", + "payoutAddress": "XbLQ2WUzo1rZ2cM9gQ76GzXFb9tPRUj4qZ", + "pubKeyOperator": "97ffacf1baf25eddaa9266957870f5109753272f6b34a5e768de869af76f21fb158920eb70fab0514e684ae19123b856" + } + }, + { + "type": "Regular", + "proTxHash": "256e97575cb77fc5be4f1d9c862a6fb4607ca12a8a94c8a5d83f175f4d9b20dd", + "collateralHash": "ba306ab4cdf33e3bb37116233f5a73315a7ca518c1331faef34fa264cac5ad13", + "collateralIndex": 0, + "collateralAddress": "XbSN9jnap9e2rBwrDmbNTtQnqZwCMs2p4M", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.196.35:9999", + "registeredHeight": 1038027, + "lastPaidHeight": 1987509, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126657, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhWdbPoSauF62tCmoSqVWSncPhmNAgLSMa", + "votingAddress": "XhWdbPoSauF62tCmoSqVWSncPhmNAgLSMa", + "payoutAddress": "XbSN9jnap9e2rBwrDmbNTtQnqZwCMs2p4M", + "pubKeyOperator": "922d0d3d98e321f23e726f219da0e1f401c899a87434d068822134e0dedbff40146bb7320f313d8fe2a2158304d41479" + } + }, + { + "type": "Regular", + "proTxHash": "c7f1c2fd8bca7eaca03f4f0e295d5f45bc0d592b0311d89df878802cbece4a23", + "collateralHash": "5444ac6d79da82c60473e714cf9b7a2552046651b0730180af0bd1326997dcd2", + "collateralIndex": 0, + "collateralAddress": "XsWomG7RdyuJxyQZSSu2LSmUNWaw644dp6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.165.78:9999", + "registeredHeight": 1038050, + "lastPaidHeight": 2127495, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118306, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgbg6snfr3MAHxEmFPZs5P5sP5uRQqQcRM", + "votingAddress": "Xgbg6snfr3MAHxEmFPZs5P5sP5uRQqQcRM", + "payoutAddress": "XsWomG7RdyuJxyQZSSu2LSmUNWaw644dp6", + "pubKeyOperator": "95c0145b9ed64de16520be36e899de2d5451e308a63fccd1bef0f92deb93109dff6681fb5733da1c82dcc0d640faac84" + } + }, + { + "type": "Regular", + "proTxHash": "4de8f90b8fb0d6d90685a6c1402134962c559c75c91361c6cb53cfb7e4ed12e0", + "collateralHash": "f7729766eae9b8bc020f52acb5c75d111ed1b7de336cd5702b10a7c28edc64d4", + "collateralIndex": 0, + "collateralAddress": "XhvCfmzj7hgm6cRhRncKt2o8wMTwUyD4ys", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.60.137:9999", + "registeredHeight": 1038056, + "lastPaidHeight": 1980702, + "consecutivePayments": 0, + "PoSePenalty": 4018, + "PoSeRevivedHeight": 1386139, + "PoSeBanHeight": 1981770, + "revocationReason": 0, + "ownerAddress": "XedGTY2tNN6XTip3gfVcaPnxhPVWba5HTG", + "votingAddress": "XedGTY2tNN6XTip3gfVcaPnxhPVWba5HTG", + "payoutAddress": "XhvCfmzj7hgm6cRhRncKt2o8wMTwUyD4ys", + "pubKeyOperator": "90213c1d2da13cdd6ae6c0366cec94897091e50d951720ba21ecc6a07e021171326186ccf8d12c7621c0e7c8e56ddd25" + } + }, + { + "type": "Regular", + "proTxHash": "f3c79412fddf10a9e6fe3b9471098ee24b8ffcf3bd2bed336e58ed833fa82378", + "collateralHash": "bc9bb98d5d8ca6c5a2ceab528cf6bca93037b8b41b58629ab8ddbfdc38149a61", + "collateralIndex": 0, + "collateralAddress": "XuQFX4kuNkPhn2ztMbQy4usgpY7nDNWemf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.7.146:9999", + "registeredHeight": 1038067, + "lastPaidHeight": 2127488, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118298, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvpJ6GicXoPZesq8mBTyGhsfrWkX5SUZx8", + "votingAddress": "XvpJ6GicXoPZesq8mBTyGhsfrWkX5SUZx8", + "payoutAddress": "XuQFX4kuNkPhn2ztMbQy4usgpY7nDNWemf", + "pubKeyOperator": "949176a302960e4b71cdc8e661b9f1c5336fc8c9e9937cc8a1b1a10a55056408f6cfa346ba88a11a26ec9ecbdca592e5" + } + }, + { + "type": "Regular", + "proTxHash": "2f2883e916ce4ec52f1e04c7d103659a923bb7774b4c77145c541a9b02b6850b", + "collateralHash": "5ad21895bb7afc84fa5cf6d10c4606f1a27e032eac546a9f8e18b56a9444b55b", + "collateralIndex": 0, + "collateralAddress": "XpAoi5kpgyWhSJWb1Jc5Jo1j1CxycsPhDG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.243.59.230:9999", + "registeredHeight": 1038077, + "lastPaidHeight": 2126139, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120076, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcRCuGRAYqn1dL1vHCNpid4i15fZqVvQzs", + "votingAddress": "XcRCuGRAYqn1dL1vHCNpid4i15fZqVvQzs", + "payoutAddress": "XpAoi5kpgyWhSJWb1Jc5Jo1j1CxycsPhDG", + "pubKeyOperator": "8320ea89f6698d5b6bd988cc8d36d36622bd1b697f412f21dc41d2d319115aa2f56ff1f6c1f1a052b5935664511bd0e4" + } + }, + { + "type": "Regular", + "proTxHash": "ef6e4b43501deef6dc60451d42439795721bbdf7341543514a12c8ed1177e765", + "collateralHash": "e9e70a040c754af24694cd1882a3a32a4519e3953abdc3ccc6277384efacaae4", + "collateralIndex": 0, + "collateralAddress": "XeEQEkAZ2XDzd2Ny2cj6iejAAPerad3CZd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.194.154:9999", + "registeredHeight": 1038092, + "lastPaidHeight": 1971342, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126841, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnh7TKKjBpC8Y2kbw2Q3HtyuajiY2rgnxA", + "votingAddress": "Xnh7TKKjBpC8Y2kbw2Q3HtyuajiY2rgnxA", + "payoutAddress": "XeEQEkAZ2XDzd2Ny2cj6iejAAPerad3CZd", + "pubKeyOperator": "90bceff9d9fb7a1bba76750a97c02a3ceaf54626252d95ed172023c5810b6a4c1817c0341d6787ebba1957f1ac2225ea" + } + }, + { + "type": "Regular", + "proTxHash": "85981fbc23be98b871d9baba36433de0960314d0a6c8701863ea98a1a6a3ab4d", + "collateralHash": "6348bdf845daad446a532ed21b7d15539e4023de87bdbb14bc540f3f6f371fc3", + "collateralIndex": 0, + "collateralAddress": "Xv8vf7eSrjv6gtfQchpL4kvqNgJyuAWVvG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.5.202:9999", + "registeredHeight": 1038099, + "lastPaidHeight": 1966375, + "consecutivePayments": 0, + "PoSePenalty": 4105, + "PoSeRevivedHeight": 1734001, + "PoSeBanHeight": 1969386, + "revocationReason": 0, + "ownerAddress": "XxmdVgLtRwxWafpmPJdZLxwEgQBWF15nQQ", + "votingAddress": "XxmdVgLtRwxWafpmPJdZLxwEgQBWF15nQQ", + "payoutAddress": "Xv8vf7eSrjv6gtfQchpL4kvqNgJyuAWVvG", + "pubKeyOperator": "0948346a4e6f6bd810ba461a820546234eca6ff321026d100549da1d83cdb323ad11f657d7cead22259d92d8d5221088" + } + }, + { + "type": "Regular", + "proTxHash": "6ceccf35f53a368e2f2b251554b489856d90911030f9b956c08fa3a4490306fe", + "collateralHash": "645fabe12fd095ec5d196eaad5df15ac661cdc8daae075d6e45e2fdead13b3d2", + "collateralIndex": 0, + "collateralAddress": "XjEvrQPzituGoPwVxdy8vc33ZTFqhSrYgF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.131.143.9:9999", + "registeredHeight": 1038123, + "lastPaidHeight": 1984962, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126672, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdtQozY6Z3VYXYRgFoUDDmGftEy2gzaV7L", + "votingAddress": "XdtQozY6Z3VYXYRgFoUDDmGftEy2gzaV7L", + "payoutAddress": "XjEvrQPzituGoPwVxdy8vc33ZTFqhSrYgF", + "pubKeyOperator": "126e7b3b2ab146ef271e53faaaedccdcbc84ef145e8e35b39d8c1f32db6833e1734df89604bd99bdec5825ab5bf10dbe" + } + }, + { + "type": "Regular", + "proTxHash": "e4ed22c489272d28714ad3551f10be2ed26930ea032480825ec11f844e66a37e", + "collateralHash": "54a057c8592c2d0e31e96007526a2e64d3120df912e948694caa4076769f36e1", + "collateralIndex": 0, + "collateralAddress": "Xb7wK3Sg3hJ9oCrKVABd4gtqCTNudXYUja", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.161.128:9999", + "registeredHeight": 1038132, + "lastPaidHeight": 2127515, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118332, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xszcm5rXoqw6ozcEu1ZVUoEiHdQF9qiFE1", + "votingAddress": "Xszcm5rXoqw6ozcEu1ZVUoEiHdQF9qiFE1", + "payoutAddress": "Xb7wK3Sg3hJ9oCrKVABd4gtqCTNudXYUja", + "pubKeyOperator": "119086d0021daac6851edd6276eea8ceeac0ddaf6b11a284908f644879449de906ee2cf37d50757047b67919f8f95ab7" + } + }, + { + "type": "Regular", + "proTxHash": "f138cb8db63a293817b3242ed797d4dcfe10229ab8054f4a386ad8a7f8d74a8b", + "collateralHash": "35191e0591a2aa89b8d42469cd2f3ceb1741e3f3a4b69ebaf0bed3c10f95d0ce", + "collateralIndex": 0, + "collateralAddress": "XqWYb9yiM53pdYXp449bYwoHkQTHMCqNkQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.201.140:9999", + "registeredHeight": 1038155, + "lastPaidHeight": 1984038, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126628, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbVQLfoLU3EW8uLbnJjw6HXtqoBdrPMMa8", + "votingAddress": "XbVQLfoLU3EW8uLbnJjw6HXtqoBdrPMMa8", + "payoutAddress": "XqWYb9yiM53pdYXp449bYwoHkQTHMCqNkQ", + "pubKeyOperator": "96996dfcd70b7d48bea5a0a0bb0278b1a2854a9bb7b987e729ec76d7efdb120698701be2d9c16e9a961fbdf4ff42bc84" + } + }, + { + "type": "Regular", + "proTxHash": "801aca37b65aee7bcdfd9fb7f06da6d57a8aa72e8c2cf7b5eaecd3bc1234b428", + "collateralHash": "4a9c2a7d50b3b4594924e8fe53067c9d3a16651077ec9180c31e24b0d23e2496", + "collateralIndex": 0, + "collateralAddress": "XnDaqD8Afq6kAbFyjrsBsPc5g21gvbdNJd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.131.236.114:9999", + "registeredHeight": 1038165, + "lastPaidHeight": 1978529, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126858, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo5nwCiYMwCejN7Ucg7bx1KePDrh5D1P5D", + "votingAddress": "Xo5nwCiYMwCejN7Ucg7bx1KePDrh5D1P5D", + "payoutAddress": "XnDaqD8Afq6kAbFyjrsBsPc5g21gvbdNJd", + "pubKeyOperator": "9872e8bb61bba997d32cfa81934d442f2de0e9645fbc6d4d90f0632cd33c719901ec6e6d64d7109d3b3491c3b0689199" + } + }, + { + "type": "Regular", + "proTxHash": "43bd79e698d0784d42dd657fa9f8946abb220732fd3489ec678aa952db63e8a3", + "collateralHash": "de4b5058932f19f2027157281942590db15dc84532ed1b5a670d5081c89c859c", + "collateralIndex": 0, + "collateralAddress": "XnRts9gGqhArdG7xW86YvyLAGgpWDyceYN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.128.168:9999", + "registeredHeight": 1038182, + "lastPaidHeight": 1966176, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128027, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XewhUa3mw6yF959sKM61qo435uFFwPVvD2", + "votingAddress": "XewhUa3mw6yF959sKM61qo435uFFwPVvD2", + "payoutAddress": "XnRts9gGqhArdG7xW86YvyLAGgpWDyceYN", + "pubKeyOperator": "8d11a9f2bf786af55a9b47739df97293cf9a17fa7de2810b2aacf75a07241f9136e6eef9c21af52892fb7bffb35eada5" + } + }, + { + "type": "Regular", + "proTxHash": "7bb6b567236e0aae061431c28883de777752876a9ab9af02b4a8632df734c726", + "collateralHash": "72c936a60e0c3f8441cc104d8064934344adafaaebdcd4113e01df4e7f3a641c", + "collateralIndex": 0, + "collateralAddress": "XysrKjgnVXtrbgZfLsLYqSxQMXF6TXEGz2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.157.166:9999", + "registeredHeight": 1038187, + "lastPaidHeight": 1984157, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126508, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgRsks3ZMd4kUuQwRXkA6W5SKxM9JG39hS", + "votingAddress": "XgRsks3ZMd4kUuQwRXkA6W5SKxM9JG39hS", + "payoutAddress": "XysrKjgnVXtrbgZfLsLYqSxQMXF6TXEGz2", + "pubKeyOperator": "93b5cf532924f0a4693b4552770ca20e73fd8eac1e6ca1e410297dbb298920b297a3ba24adfd0370258b4598affbe7bf" + } + }, + { + "type": "Regular", + "proTxHash": "9cf7d6b1d314c6fb05ee09e0e23f64ce753ea079d16c57d0ccd462cd6a3fd347", + "collateralHash": "4df79d9ee27c7c4346c9ef3f1aaa53873de549d0dd15fafcbb04cfa6468d1b73", + "collateralIndex": 0, + "collateralAddress": "XwE18vtxj8N8B38Zq7vEyi1yBJyoGhtk1d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.131.134.62:9999", + "registeredHeight": 1038188, + "lastPaidHeight": 1984455, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126783, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhMtYFLbGZVXKJWgbF6PfPXpmjgDoEs96f", + "votingAddress": "XhMtYFLbGZVXKJWgbF6PfPXpmjgDoEs96f", + "payoutAddress": "XwE18vtxj8N8B38Zq7vEyi1yBJyoGhtk1d", + "pubKeyOperator": "88d1143861eefb3c6edabe2933e1af5356fe6f8cb63e9f92b42b676a72652d4c6e889079b8a7a3b83bd54afb5967779c" + } + }, + { + "type": "Regular", + "proTxHash": "8adb9ad3f4e32c60ebf97f0755fbaf46514d47b061307853c8df80a480097b72", + "collateralHash": "a49ffd0f1bb9bfc16005b0c68d79898ee824906602b1254f2ddac710c73873b0", + "collateralIndex": 1, + "collateralAddress": "XfUUTR4vtAJCKnoAponZ4dAn7w8zhV3KUb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.196.1.10:9999", + "registeredHeight": 1038229, + "lastPaidHeight": 1984415, + "consecutivePayments": 0, + "PoSePenalty": 3981, + "PoSeRevivedHeight": 1734009, + "PoSeBanHeight": 1987530, + "revocationReason": 0, + "ownerAddress": "XdnHnEYbbwHBrYE2ub7zgZZBztwkaBovaB", + "votingAddress": "XdnHnEYbbwHBrYE2ub7zgZZBztwkaBovaB", + "payoutAddress": "XfUUTR4vtAJCKnoAponZ4dAn7w8zhV3KUb", + "pubKeyOperator": "0ef3cf908081295bbb09e6d46459cb8297a820e1e00eb6ec5da3a97d33e87abc858d9f28224ae3c72302b2bbd1d704e9" + } + }, + { + "type": "Regular", + "proTxHash": "1d4583610c16be6af564ed9994311063270b5060bebaac74066d557d57d53e44", + "collateralHash": "e99bae11718efd44c266e3fbb248f2961733e4d0f233a48bf7ca7749cb56a6e4", + "collateralIndex": 0, + "collateralAddress": "XbRh8HX1txRTphKcDCgDtK3iLWVKPEBrcs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.1.197:9999", + "registeredHeight": 1038241, + "lastPaidHeight": 1985733, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126505, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyB5Cs5gxyLXXEunCu4EKNMsR7K8oKiJFu", + "votingAddress": "XyB5Cs5gxyLXXEunCu4EKNMsR7K8oKiJFu", + "payoutAddress": "XbRh8HX1txRTphKcDCgDtK3iLWVKPEBrcs", + "pubKeyOperator": "0bc736e83a785770158e9639f91f4c4a4ca71795ba9205bcf3b6ce4b2ca4a69971b214586c0fbf1c57897f515b90f641" + } + }, + { + "type": "Regular", + "proTxHash": "71298c005030f1566ee4d3f4ac0938775985a545d084ec6c2d3f52f83cd957ca", + "collateralHash": "2af8daebe5b355fc85e13fad8d5d0be03902010eb7e939ea276ed09eea37eecb", + "collateralIndex": 0, + "collateralAddress": "XmtuEvFPirq7J1EXnNxatZFVDu9ZdSpDZe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.180.119:9999", + "registeredHeight": 1038268, + "lastPaidHeight": 2127532, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118350, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu9XkBNLcLyWpWczBqwPvD9gkuR3W43Y26", + "votingAddress": "Xu9XkBNLcLyWpWczBqwPvD9gkuR3W43Y26", + "payoutAddress": "XmtuEvFPirq7J1EXnNxatZFVDu9ZdSpDZe", + "pubKeyOperator": "11035ba8560e243c2a9226753be62675450b1ce4b1daa784b455b795dcd747b38802b573a661cb987057e5d3d08505af" + } + }, + { + "type": "Regular", + "proTxHash": "7f855fedd2a0046f0f5ca5c6739d8efabde279613de0657e70307ded3766f725", + "collateralHash": "e6073babde37045e7bdc54e4560853311745951eaf9abc2614e2d4de9c7fcd83", + "collateralIndex": 0, + "collateralAddress": "Xs7iYVXKnzUMqzNtBhvPBzuFJn1yVjwgnk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.140.22:9999", + "registeredHeight": 1038290, + "lastPaidHeight": 1983682, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1385375, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "Xe8mYaBfNFm3btdu2cqPUDFjqWqbTPcjSp", + "votingAddress": "Xe8mYaBfNFm3btdu2cqPUDFjqWqbTPcjSp", + "payoutAddress": "Xs7iYVXKnzUMqzNtBhvPBzuFJn1yVjwgnk", + "pubKeyOperator": "806dbe23ac86a9079a805bc3199f0371938f072bd7303b59869e2493e5c6d1794ee806fdbbed5f548f1b5609a7b50e56" + } + }, + { + "type": "Regular", + "proTxHash": "f1ecfda9ce2a3a32a77eea194bc7b3a1d508b97e145082fad9001ae5a888e04f", + "collateralHash": "41fbb1dda9177f2a2649a64d21ae52c864ede29b7dbd3b2e4f47ad29cbc52a96", + "collateralIndex": 0, + "collateralAddress": "XbM8Le6NmoEyCgZjqHmK8eFd6LR3DzbZhQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.0.242:9999", + "registeredHeight": 1038388, + "lastPaidHeight": 1980878, + "consecutivePayments": 0, + "PoSePenalty": 4000, + "PoSeRevivedHeight": 1873791, + "PoSeBanHeight": 1983498, + "revocationReason": 0, + "ownerAddress": "XpfRN1hkEEbH5sDkSyCd3yDEfrtvaJp3L6", + "votingAddress": "XpfRN1hkEEbH5sDkSyCd3yDEfrtvaJp3L6", + "payoutAddress": "XbM8Le6NmoEyCgZjqHmK8eFd6LR3DzbZhQ", + "pubKeyOperator": "8c325d92cfcac55587a0c610f24ed0c0fba7c6ed4ecd9f49f787b1c50cff4cfcd7d88c44a2a3efb12608799046248e84" + } + }, + { + "type": "Regular", + "proTxHash": "158371d0abe83efc37774d87a8f9683c7822f40a66185a0a5a200fa4e46f4fd2", + "collateralHash": "4797c1ab4493f03984dd0ac34627c1a39bdf03d344fed8d71a68764ac751d37f", + "collateralIndex": 0, + "collateralAddress": "Xc5DupmqHXfN3Lgm6UWCw6mL6ymshnJj8p", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.69:9999", + "registeredHeight": 1038453, + "lastPaidHeight": 1983249, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128436, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrSDg1rxFqXbyXaoSGEUT2G3nrTaS7gMED", + "votingAddress": "XrSDg1rxFqXbyXaoSGEUT2G3nrTaS7gMED", + "payoutAddress": "Xc5DupmqHXfN3Lgm6UWCw6mL6ymshnJj8p", + "pubKeyOperator": "8321e91b3a474049237d9b6238c7476618fe9e5c352b140e3f399341bc8954151da5738f7fdecd6cdaebc044ff8223e4" + } + }, + { + "type": "Regular", + "proTxHash": "559fefb4987bb459ae765487838bb00861d121ade1ad637f68cd2cf12dded4de", + "collateralHash": "625c5636c1190e2f35bfe87adaa1ba699d38e3650c223c62c0f3f6d5635f0c9b", + "collateralIndex": 0, + "collateralAddress": "XjXYVVSgZSKF8R1JTqvmNMta6SPz8Lx3o7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.149.161:9999", + "registeredHeight": 1038506, + "lastPaidHeight": 1985098, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128529, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XetpmiFcrXo6cHHSNYyzh2gZKVLEwHjAmm", + "votingAddress": "XetpmiFcrXo6cHHSNYyzh2gZKVLEwHjAmm", + "payoutAddress": "XjXYVVSgZSKF8R1JTqvmNMta6SPz8Lx3o7", + "pubKeyOperator": "098c388a5f354f52eac658dd37d3acbf8246d1bb91830036b8184bb843817d2c8eec62146d37f007e8e2d947a5aafbc4" + } + }, + { + "type": "Regular", + "proTxHash": "29fee065df4ac82b9c5587804f01aa13dbabc3e4f3f9b6027a19ba663bb58ec0", + "collateralHash": "c3fbdee14964bb4b4203d44a0b84e16fb6a7541c56a8144a24d56aa5e5c70039", + "collateralIndex": 0, + "collateralAddress": "Xm3WuGCndadk9UzjK4DqVFv9wcTiqGTLcH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.16:9999", + "registeredHeight": 1038669, + "lastPaidHeight": 1980593, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127486, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxwDoGq7AkECMTcXP3gy1d9dpLBYbFCmqC", + "votingAddress": "XxwDoGq7AkECMTcXP3gy1d9dpLBYbFCmqC", + "payoutAddress": "Xm3WuGCndadk9UzjK4DqVFv9wcTiqGTLcH", + "pubKeyOperator": "17265cc742e4d32af05ce85072eb16bdbc8a7041d3699c8af0074e7b67d69f1eb50bad9461e6a87d37aa42a4ef2dffcc" + } + }, + { + "type": "Regular", + "proTxHash": "9adca4c612c40547047ac9da0ff50bf4d10dbb22a9bf124ee767136d5eabc308", + "collateralHash": "82ab8096e26729164039e1203f1ad38e66d8750fa32bb1ba972a2c59919ec3ea", + "collateralIndex": 0, + "collateralAddress": "XibggEQutxiT6imWqWdEvEmxosizg2k1zB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.55.115:9999", + "registeredHeight": 1038679, + "lastPaidHeight": 1979804, + "consecutivePayments": 0, + "PoSePenalty": 4009, + "PoSeRevivedHeight": 1384976, + "PoSeBanHeight": 1983190, + "revocationReason": 0, + "ownerAddress": "XuMva3D7s1wDormJTh6nAuL9HraSDrVxQg", + "votingAddress": "XuMva3D7s1wDormJTh6nAuL9HraSDrVxQg", + "payoutAddress": "XibggEQutxiT6imWqWdEvEmxosizg2k1zB", + "pubKeyOperator": "85125394fde796f328550d89404783f072126322392d42e2e37357ad6046bdf65b384017b440d23a0380adc537bd95dd" + } + }, + { + "type": "Regular", + "proTxHash": "7436f2c83297cf0e02aed17b1a0605901e3cf0a4ef4ec5e0654c96f475ab879a", + "collateralHash": "37a7fb69eaae0a0b2cdfd059f28e15b98d2022fb8db975deab95a55640387fb7", + "collateralIndex": 0, + "collateralAddress": "XxCgwmUcZz4uZpNxR5PHa6zd6vbVZXGyGk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.129.7:9999", + "registeredHeight": 1038739, + "lastPaidHeight": 1984967, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127977, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo2kSaqGVtj5JPDxeEgvtLYKGRPsaMjCkQ", + "votingAddress": "Xo2kSaqGVtj5JPDxeEgvtLYKGRPsaMjCkQ", + "payoutAddress": "XxCgwmUcZz4uZpNxR5PHa6zd6vbVZXGyGk", + "pubKeyOperator": "1723a4af1180517b7b2a96a182ed3d1f19e1426ea84cfc1b42ddf4565312b5c597e5abe6910eb1723072329a091a0fab" + } + }, + { + "type": "Regular", + "proTxHash": "b38a9b716c88384971c67b4ad27994293deebcf2f284fe28b2051519e0247253", + "collateralHash": "f9428fb59838dde53725c38ffd150b19407dea9489c3deb7d0d96c3db86e80b8", + "collateralIndex": 0, + "collateralAddress": "XkjQUVPM4gLhvch7iWEBcbSf9PLywUh6gs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.159.196:9999", + "registeredHeight": 1038791, + "lastPaidHeight": 1985108, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127761, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XseeqJszq1Zmcy3VdeS5UGT12Wxz5wsrPS", + "votingAddress": "XseeqJszq1Zmcy3VdeS5UGT12Wxz5wsrPS", + "payoutAddress": "XkjQUVPM4gLhvch7iWEBcbSf9PLywUh6gs", + "pubKeyOperator": "814cc55c662b55d7f6801ecc16a93ca2ed2bdffa85fd3561a9d6506afca72ba9af9ab4962916e38852c6c8f9ad52b137" + } + }, + { + "type": "Regular", + "proTxHash": "48f8e135e0ce4e72ee1a6cbac4fd1a062d1c0e34383a3e2159e810b212a1646d", + "collateralHash": "a32064c69a270732ecbdda32e725675458dc9aaa8fe04049033e90ac3d538a30", + "collateralIndex": 0, + "collateralAddress": "XsvvsZCLkRskpxADny225wpxEMiBX1YVcX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.186.23:9999", + "registeredHeight": 1038812, + "lastPaidHeight": 1985080, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128493, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyNtDhdZDV2XJa3SiWskGwm8dQuwWV5RrD", + "votingAddress": "XyNtDhdZDV2XJa3SiWskGwm8dQuwWV5RrD", + "payoutAddress": "XsvvsZCLkRskpxADny225wpxEMiBX1YVcX", + "pubKeyOperator": "0dfee4b7d411b998155923ea5eedbace2c85d2d4a7088b6b2ddcd722a2d9eddc11133c2ec87ff89d46d3607a27dc9a88" + } + }, + { + "type": "Regular", + "proTxHash": "3fda0681cabe2f2e18acfba53e242dde8d3d4ad0ecda6464998dacc50f903952", + "collateralHash": "ac7176d96ebbf5884db36c1c4407e7c91657712e37d7da254f4b0a56415c02a2", + "collateralIndex": 0, + "collateralAddress": "XpsCTAJRrREiJC7jnQmgyPwicbFQxkNaVg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.159.218:9999", + "registeredHeight": 1038826, + "lastPaidHeight": 1979986, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127788, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwQuhKpvib9G3XsCYxbDsyn7Z8JtowHW1Q", + "votingAddress": "XwQuhKpvib9G3XsCYxbDsyn7Z8JtowHW1Q", + "payoutAddress": "XpsCTAJRrREiJC7jnQmgyPwicbFQxkNaVg", + "pubKeyOperator": "1707aba1961543fed6a722a33301360e0f6ee5276b5990914919f251ba168b71c2cc20edf7e78fc223820850ac03740c" + } + }, + { + "type": "Regular", + "proTxHash": "7cfe6fa4be29b63a75227668772b5259d6fe7adadec02bf870a8b7fec43b910b", + "collateralHash": "e8593c0d1cc65127ec9e53188be901011b1f6fa98f3cb2c8f4516afccfaaa11c", + "collateralIndex": 1, + "collateralAddress": "Xcz3tyRrq9tWB4BrgxFCjaynV4fB2NMVJN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.180.40:9999", + "registeredHeight": 1038871, + "lastPaidHeight": 1983917, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1590092, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "XnnEc9RzbZRwaLVhZik8TEEMbbho9WTCBq", + "votingAddress": "XnnEc9RzbZRwaLVhZik8TEEMbbho9WTCBq", + "payoutAddress": "Xcz3tyRrq9tWB4BrgxFCjaynV4fB2NMVJN", + "pubKeyOperator": "8fae5c02eb0c39c4c401608b3986d0c10e82ec7aa9eec319f50dad9c2a3826b90e71da7983838c13e3d35d24f774e5be" + } + }, + { + "type": "Regular", + "proTxHash": "0b479cb3338ee8032a18698954c657dfeec1b62a11cd0d6db818650642d28778", + "collateralHash": "8e0c7a6cabf0b2b0a72b8a4cee50045a3c0d78fdac4a306586a7890da43f1fb6", + "collateralIndex": 1, + "collateralAddress": "XnYcNSGEubLx5LEGTTJgZf9KU62GuFF24a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.17:9999", + "registeredHeight": 1038902, + "lastPaidHeight": 2126895, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764890, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfyN9zixLsA57cm3LxHMbpYpfjDCvRh4R2", + "votingAddress": "XfyN9zixLsA57cm3LxHMbpYpfjDCvRh4R2", + "payoutAddress": "XwujGytpomYdQvn82cWQjkKxY6eRXnxnkv", + "pubKeyOperator": "8b6b3df1c2bf61a0f4b160154afbd15826f1e6fedc2eb2d53fb998597de44a096f427b7aaffa2564b0d2ddbd9ba774b8" + } + }, + { + "type": "Regular", + "proTxHash": "a20eba99d076056a8c905e43cadc24d46d89412bdb38b4c1d1e37064ccce58fb", + "collateralHash": "cf994a12dd774f1f81fb34796c0aad0b86a302d16570955f505786c7bc93e00c", + "collateralIndex": 1, + "collateralAddress": "XrLq3GApgzuVwW1n8d1HW9ERVY8HGbesxx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.37:9999", + "registeredHeight": 1038903, + "lastPaidHeight": 2126958, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695450, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr8XrBRB3NZ42uPzDdv6JVRo8HDDhNJ2ba", + "votingAddress": "Xr8XrBRB3NZ42uPzDdv6JVRo8HDDhNJ2ba", + "payoutAddress": "XfbAjYuNnFmFdw5gN34gPDMSMn11DYD1cB", + "pubKeyOperator": "8cf37ed30345238ec307a3d9730da91632350cd4ef1bb7436e697a0dd64f4e6ebe6e3a74e5c127ff4bd5953f1f67603e" + } + }, + { + "type": "Regular", + "proTxHash": "c1b1762516632ed664fe857869e064a5abef80079f4ec8a27450d5d7a5564424", + "collateralHash": "558026a18774283896beba582fa890f6023bce570dda5807188ff54e2c5ddd81", + "collateralIndex": 1, + "collateralAddress": "XjWxfeuV3nmHgWxojnUqxVEqNYQ5AB1aa6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.50:9999", + "registeredHeight": 1038906, + "lastPaidHeight": 2127585, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1700376, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnaY7x2Pb1bgoYAGze4WBRBtc19kPUjgeC", + "votingAddress": "XnaY7x2Pb1bgoYAGze4WBRBtc19kPUjgeC", + "payoutAddress": "XeUxuiD1WHc7kDm37iWx1wJ9wfViY4dbQp", + "pubKeyOperator": "9142db81a7ecb73137a6546b5cf6747168a79afc527ff86de020e9a20a65f957cb0da2587028a21cc7498d4db60ad9b2" + } + }, + { + "type": "Regular", + "proTxHash": "ceb453ca85ef06edbfffe4bc636896485a7294d7a8b0d6d60342eb9af0ef3c2f", + "collateralHash": "4034c038b06c0643277c065a1cd53921b07377551cee70beecddf8807d0907a6", + "collateralIndex": 1, + "collateralAddress": "XhdCFgNvpMDQFJbnfBPccRJjjgoff7eKPK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.39:9999", + "registeredHeight": 1038906, + "lastPaidHeight": 2126949, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695450, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfLE4HdAnYvBsuEyYoX6W7CN7nDRvg74ne", + "votingAddress": "XfLE4HdAnYvBsuEyYoX6W7CN7nDRvg74ne", + "payoutAddress": "XdwTNMibuzr4z1euptThuY2UiG5vQvCfo6", + "pubKeyOperator": "8d28d4167f5853852d34d61f331e6730e34b8633433282e47f973b3b5bbb1e08f68868dd97e5d21f4c712628414331da" + } + }, + { + "type": "Regular", + "proTxHash": "d10fcc2c21b83f4590bb1b5ec90e1a132e8ae8299b039bdd708ecba34303ac0b", + "collateralHash": "876abbef0f9240c0c8be020f1e316c9bfba22c0d02c2b564147bffa45a7970f6", + "collateralIndex": 1, + "collateralAddress": "XyyuzhTaiMARJS8Z49Vtfs2L8Ane31t5AF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.69:9999", + "registeredHeight": 1038909, + "lastPaidHeight": 2126905, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764899, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsz7yDRP15X5NizYMuzDhZ9qRVqJAGDPfE", + "votingAddress": "Xsz7yDRP15X5NizYMuzDhZ9qRVqJAGDPfE", + "payoutAddress": "XkYbUtRrgHgfzHkve7Raz7BoJcmhoM2Yjf", + "pubKeyOperator": "921958278157241233fe7e816d06c4bba25583a108507c691d3ee45e3a7231a5606c31161c1c32614f74deff608690d9" + } + }, + { + "type": "Regular", + "proTxHash": "148394a30f05c5e9b765ed2dc97a40ad7aac22c356e678585bb0c36d7450b46f", + "collateralHash": "16c04cd82c21ad44cf990ed06625e0ac47ab4350fd5cf2e51a239496ac2dab4d", + "collateralIndex": 1, + "collateralAddress": "Xj5H8j15x8hA4fiqurz4dShvHbbMHr2zcW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.62:9999", + "registeredHeight": 1038909, + "lastPaidHeight": 2127891, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987004, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfs75VLjhyiQ2BdrheThENm7S5KX31N6po", + "votingAddress": "Xfs75VLjhyiQ2BdrheThENm7S5KX31N6po", + "payoutAddress": "XneCBV3tyrraHjxpCWuXd134JXLQmanv72", + "pubKeyOperator": "832ecdb7db558ed15faf7c3559a8ef8e8c5592c458a607dc469a48a732ea245790613f48e8c2cc0adaad8ee88037005a" + } + }, + { + "type": "Regular", + "proTxHash": "23234232ff0ebe006ca826bcb7b2abd6fa3a1c1b2bcfa2591ad94b08fadcd18f", + "collateralHash": "e42179f8b42a47bf761f2ba28b4057d1c64c06f60f95ce95dbd58a8b1a99682a", + "collateralIndex": 1, + "collateralAddress": "Xrgo4HpRHryu5AbQy4zDTAf9py6AjKN3Y3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.55:9999", + "registeredHeight": 1038909, + "lastPaidHeight": 2127892, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987004, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh9wuwvD6ZKV7d9GZX1qx745tovAYXDh6i", + "votingAddress": "Xh9wuwvD6ZKV7d9GZX1qx745tovAYXDh6i", + "payoutAddress": "XcFmMhqiDFwrtKuoqAJcbdBuJVj9KXMKik", + "pubKeyOperator": "0455f9526d443b2e8ec751ac98ccd06ea4c19bc908c56a3f11ce9fe4288e67eccc1016419c9ea08dbc5fa1201c79076a" + } + }, + { + "type": "Regular", + "proTxHash": "56d86d05eb95672667a7f7a5fa8908617e4f7624a1d2897e49469e2a591b65d3", + "collateralHash": "5d70293c858cf4708754421c7e781822be4189c14442493e6c02e57b11c2b129", + "collateralIndex": 0, + "collateralAddress": "XsZx67Rumf9s2m3DHHbLTrT1UsHnkCvDEB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "37.139.6.204:9999", + "registeredHeight": 1038919, + "lastPaidHeight": 1986595, + "consecutivePayments": 0, + "PoSePenalty": 3985, + "PoSeRevivedHeight": 1879204, + "PoSeBanHeight": 1987797, + "revocationReason": 0, + "ownerAddress": "Xyshs9RxXon8hvUJBaWhEUAMBBXP8q87i2", + "votingAddress": "Xyshs9RxXon8hvUJBaWhEUAMBBXP8q87i2", + "payoutAddress": "XsZx67Rumf9s2m3DHHbLTrT1UsHnkCvDEB", + "pubKeyOperator": "87368e0755b9b145d13cfab35e967f59eecf665da014f3025fd4247dde1ee749a1fbb0912e32668fc1c410cc2760d1ee" + } + }, + { + "type": "Regular", + "proTxHash": "4e551ede4405f0d1fd12612cc087c9ed867153dec69c8dada9a0b620b972e3a6", + "collateralHash": "3e0f7ef50060664c290511942a8f1946582f75b8fe528dfffba02d3ad3d1d8c3", + "collateralIndex": 0, + "collateralAddress": "XoXeaPWQiio7BVGqqemeEPbPHdbKAsYYgG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.37.225:9999", + "registeredHeight": 1038950, + "lastPaidHeight": 1982044, + "consecutivePayments": 0, + "PoSePenalty": 4009, + "PoSeRevivedHeight": 1387815, + "PoSeBanHeight": 1982922, + "revocationReason": 0, + "ownerAddress": "XxstdvAo9LaCmL7j8oZ89Qu4gL5uCjrXcZ", + "votingAddress": "XxstdvAo9LaCmL7j8oZ89Qu4gL5uCjrXcZ", + "payoutAddress": "XoXeaPWQiio7BVGqqemeEPbPHdbKAsYYgG", + "pubKeyOperator": "929735a2089ea090d847ba6a337a8a87942462d4081931c8ce98348b6020c3fbf7a3fda2d373e2371752c4f22fc6191a" + } + }, + { + "type": "Regular", + "proTxHash": "55677b9610be38f7e4efd53d896883e5acf889c3a7b3452d401883543820f663", + "collateralHash": "c2358bc2124b535be7d8edafc23e7e858a8c63cf85670c5537b6062c245986c2", + "collateralIndex": 0, + "collateralAddress": "XrLy1n2yq1QE2osp814eaTqXvXykw7nwfB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.77.93:9999", + "registeredHeight": 1038956, + "lastPaidHeight": 1984516, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1873823, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "XheanQjVEkswmj16r1y6t9DRS6WWS8yiKt", + "votingAddress": "XheanQjVEkswmj16r1y6t9DRS6WWS8yiKt", + "payoutAddress": "XrLy1n2yq1QE2osp814eaTqXvXykw7nwfB", + "pubKeyOperator": "805580aea9d30815985c2e99e78c117999f5e8dd747d76dfe91cd3544ee0026f617596686bfaff1c2c0f6810e74aa498" + } + }, + { + "type": "Regular", + "proTxHash": "5029d0dcb6ae9fbbd86065059aa0ee6dbb5d34f737805299bd7feebbe6dbfc95", + "collateralHash": "543d90892831a5c634c7add275e77556215f0e837455379be9b70fb64e130315", + "collateralIndex": 0, + "collateralAddress": "XnLh2ZNEwMfaf9X3KSwWKZ81a3i1N8PQi2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.71.159.104:9999", + "registeredHeight": 1039083, + "lastPaidHeight": 2127973, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124799, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwwhMA3y7PKucwxVwYBG8rUyLVRz3uCKvj", + "votingAddress": "XwwhMA3y7PKucwxVwYBG8rUyLVRz3uCKvj", + "payoutAddress": "Xej6VB1mb2mHTbCdTW2cSuFHVURCKinRLc", + "pubKeyOperator": "82382fb5079153b39e1b629247f1c5888a74604ec1127be575d988fe623af0e7894967e71db131c8a274661777f82f8c" + } + }, + { + "type": "Regular", + "proTxHash": "db85835927f1c0bd75bc48a671116448bce93edf60c6092b786937a0981356a5", + "collateralHash": "4bc275388c883773b9e0be998e86822b4024acfbc2b1d1ebaab40dbbf1f431c3", + "collateralIndex": 0, + "collateralAddress": "XxuLFaqCLYudgF9kZyQyA9yHJ7tbcpTLTc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.163.205:9999", + "registeredHeight": 1039107, + "lastPaidHeight": 1982377, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127649, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrCjxupTwjZNJZhQtSB7SPaAEU2aCGAP2M", + "votingAddress": "XrCjxupTwjZNJZhQtSB7SPaAEU2aCGAP2M", + "payoutAddress": "XxuLFaqCLYudgF9kZyQyA9yHJ7tbcpTLTc", + "pubKeyOperator": "96b8cb78267ab6d966f514aab91fe25110b1c5b8bcac6542a1f622152d289c9ba347dd75581b2ce6bebca24c30cb8990" + } + }, + { + "type": "Regular", + "proTxHash": "7b86b4e6c680949c2c04163304d79f7f7a9354511a09f8861a8e8245003e2a60", + "collateralHash": "7cf726878f65c1c435c303c526a0ea7a88c52e15d5b70c69a66dfbb2862ecdd7", + "collateralIndex": 1, + "collateralAddress": "Xyt5zzT9i92VKwm9y2THo8zbL7L8AufJs3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "34.209.237.242:9999", + "registeredHeight": 1039150, + "lastPaidHeight": 1726368, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": 1689289, + "PoSeBanHeight": 1727628, + "revocationReason": 0, + "ownerAddress": "Xcp9WvPDQTjdkFGRxbuPHkDv4sFjdxRmwC", + "votingAddress": "Xcp9WvPDQTjdkFGRxbuPHkDv4sFjdxRmwC", + "payoutAddress": "Xyt5zzT9i92VKwm9y2THo8zbL7L8AufJs3", + "pubKeyOperator": "033a892de5639d0ec877e6b1e734efab29cc48bdafc81e197552ef843ddd1e335a0d538cef6acd04a1e51025e2e33124" + } + }, + { + "type": "Regular", + "proTxHash": "e19c0fa2774c6f37692cf3ca1de3ae2117665dbf1626bf812104d2a632dd86f4", + "collateralHash": "32c3e86cdf0c82056e84e627c97e2caa8dd150cf8aa8fa1342547646c3b5966d", + "collateralIndex": 0, + "collateralAddress": "XrizhUfYdqcdyjeyYgXWU9J57jE7g2i4go", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.180.8:9999", + "registeredHeight": 1039175, + "lastPaidHeight": 2114941, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128805, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw9XJT6LJxTondQ3i6KcXQ4N4Rbgrhw3Nb", + "votingAddress": "Xw9XJT6LJxTondQ3i6KcXQ4N4Rbgrhw3Nb", + "payoutAddress": "XrizhUfYdqcdyjeyYgXWU9J57jE7g2i4go", + "pubKeyOperator": "8b67f5adea7d9dcfe965d8e3d82409f7f28bf9c1b3c258eceb04a29ccc28660f2c72d0e61e970f3594e4699aa8a3f317" + } + }, + { + "type": "Regular", + "proTxHash": "ea05c8a3ed015c83eb327e156159e6b36a7f18166458c78cd403ed33c6238088", + "collateralHash": "ba896f704f5daf4aa87a37dfa30f18a488b6d81f9c9ad4953237238cb9da7d59", + "collateralIndex": 0, + "collateralAddress": "XrN7yi499Kg3Da6inu4UeARcb6zhoLWLDz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.161.176:9999", + "registeredHeight": 1039185, + "lastPaidHeight": 1980488, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127693, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfZym2x4k5DgJgLyhpVzdAMuL1refhQ2LZ", + "votingAddress": "XfZym2x4k5DgJgLyhpVzdAMuL1refhQ2LZ", + "payoutAddress": "XrN7yi499Kg3Da6inu4UeARcb6zhoLWLDz", + "pubKeyOperator": "129c33054216010cec4f2e48d3e102587ec7a6ecd87f90c18c85cf0f935bf294a7d0af5a4f93ea06b1191802c2d9cb66" + } + }, + { + "type": "Regular", + "proTxHash": "d838b2c399bd725fc9b13a20fb732e5d4f069a26fb36383125838ddad0ea02a6", + "collateralHash": "c359f0e22f63ee87a1381a8c287fd8f571d6196113d91b6a52f0b8e8b76670bc", + "collateralIndex": 0, + "collateralAddress": "XakPXLjh9XNaFAoj7EoZh1VUuTZ7cNdu8Y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.192.42:9999", + "registeredHeight": 1039330, + "lastPaidHeight": 1967127, + "consecutivePayments": 0, + "PoSePenalty": 4110, + "PoSeRevivedHeight": 1881054, + "PoSeBanHeight": 1968214, + "revocationReason": 0, + "ownerAddress": "XwaKU9YABYTVccWeZXisoiMrpfCK6Cioyg", + "votingAddress": "XwaKU9YABYTVccWeZXisoiMrpfCK6Cioyg", + "payoutAddress": "XakPXLjh9XNaFAoj7EoZh1VUuTZ7cNdu8Y", + "pubKeyOperator": "0842fbb05f2e52b17698e02c8c84fede045cf92ef6b9ec3cac3d83224820051e292fbaf23c029ecbbc46d9cb414f2ada" + } + }, + { + "type": "Regular", + "proTxHash": "76749c3ca125cd6284fee4895183c6d2204db963b8ada062c280d8064e463381", + "collateralHash": "53a968b0f79d6262851138b0455fd40e3e0452691f5fdbe403028995330354e5", + "collateralIndex": 1, + "collateralAddress": "XdrTgozh9SpL1F4v4i4bL9WGo1HW7B72H1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.169.7.12:9999", + "registeredHeight": 1039344, + "lastPaidHeight": 2127640, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoL6m7rjUbgK7kG6vJ32s1k8kfPfG4FEHa", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xtqd7w2sssBRziubh2ZWcQCnuA9uqkgzcw", + "pubKeyOperator": "1663364df7db9bebbab82c4ca285e70195f8c1e4e6200b5d6e389569880ac24f7ddbfdf2c0902d57778bc61ab802d944" + } + }, + { + "type": "Regular", + "proTxHash": "20ede6c4805c2b053637b2235d00968dbcec9941602209f033857dbc57e8098c", + "collateralHash": "1b30ae3435be0e286f13c674815c355cc94369d493192f8a1873a38494d8137f", + "collateralIndex": 0, + "collateralAddress": "Xqrfe7isjA6k25QCX1HJR2J6TxYZG5d8ue", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.253:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127641, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxd1N36vdnZDTksbzhNi7wYqMDVdufEcxi", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xtqd7w2sssBRziubh2ZWcQCnuA9uqkgzcw", + "pubKeyOperator": "0da4291303a580de7499d81e72fcbdd923a724c3d7c3d4c7d86362ca5acd8785101c282b40ef663c343d8e764726641a" + } + }, + { + "type": "Regular", + "proTxHash": "8a31fc12c7b4e4bb62a915c07b1207e4d4a734b31f7024734df91484f84b95a8", + "collateralHash": "52fdd00218ad3c229184e7b8528d870b240d716114ed8e491ce7de448a35fd67", + "collateralIndex": 1, + "collateralAddress": "Xaxb8MzfVzvoVUVLnQSGdY9hkUWU9ZBWfF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.252:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127652, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121480, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfazFWapzcuya5cFAh6ZJA1zfTCK8AXmon", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xtqd7w2sssBRziubh2ZWcQCnuA9uqkgzcw", + "pubKeyOperator": "03bfbe677c2446ebdd4d86e1dce20852d882c2ed0ad04870a40e4a5042abfb244c20570aec3e8553fa66002ad8cb4731" + } + }, + { + "type": "Regular", + "proTxHash": "c9dcdcabe68450c6e24b5e6098807c5bc03f3e91316eacc5a81a320592443265", + "collateralHash": "5bdbefcb9655ebd2b731ff49ab39750aff233deb9c3ce7d79d783d295c42b596", + "collateralIndex": 0, + "collateralAddress": "XrX4yNugrr1YiB1H2Q4Bm6FmKYTkyWAh3K", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.251:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127649, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121480, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmNJYDh8vPvvTC8z8HoN8dRQe2L2KXm2vb", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xixk4EWXVsjz8L5FtYnWycHMhyXKfDVdXq", + "pubKeyOperator": "89faf73c85baa460d8301ec0fd96eb880bd78fe416a38a99519e1c9e354c70db7cbfb809d418a213810098e8c33fd69f" + } + }, + { + "type": "Regular", + "proTxHash": "387338d0d7617d530f33bf2ef8e013a3236b28aad0129bfb5fe371f42962d082", + "collateralHash": "d5c215769256734e5f25fb90e5f16b8fd53406cf958e988aefee5f5dc426b452", + "collateralIndex": 1, + "collateralAddress": "XheSgJsTNpfcNtjgVU43v99ivVrdcRP1ae", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.163.0.176:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127658, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgqPFegZryjVoqAjRWESAxfUvC6nibhj4r", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xixk4EWXVsjz8L5FtYnWycHMhyXKfDVdXq", + "pubKeyOperator": "8162cb75478d2328c6af409b3ba0f4f720cd30c340d0b608e62bfb7ed72015a35f1ff5225acbd97af2a33320fe3ede48" + } + }, + { + "type": "Regular", + "proTxHash": "0cc3a17dc9e832a415ef08fb3673bda84a5e6a3265b9777682da22fc89c17476", + "collateralHash": "c4e1bcb005e23658a042ee7b9160425d49f87bd6d3918cce8b998ee695dec74b", + "collateralIndex": 0, + "collateralAddress": "XbDJ6U5znafFxPpP9RiedYYwLPsnUe5NJt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.249:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2125748, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1877326, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg3kk3kfYRd3MXjQXgQGwXCP8eTQM2kQZ7", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xixk4EWXVsjz8L5FtYnWycHMhyXKfDVdXq", + "pubKeyOperator": "18ea2d3b6f64ea54e10f24dbf56df0615e4264d870afd4aaed6579e48ab53b00a3419e4dda48decee8ce04fc9628f72f" + } + }, + { + "type": "Regular", + "proTxHash": "0a618db7f50e9a4a707d3a22f4662de25a3f048303c1cac5d71ee27fff5eb4a5", + "collateralHash": "679b2bf5547d89eff24cc3984c572ef17330b205ac90b5bb7b0164a48c0698dd", + "collateralIndex": 1, + "collateralAddress": "XboVKFCXDdqQ19rdnHFojXULimKjqM4RTJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.128.156.150:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127661, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrN82tGtnNPYWazrNvYsXRN5hjQatUsyqm", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xixk4EWXVsjz8L5FtYnWycHMhyXKfDVdXq", + "pubKeyOperator": "8123766ae4752999080d6bc838989d86dace876d1b8aa084e5d35d24716ead96fdf2e2826c651e1b8c17080d875f93c7" + } + }, + { + "type": "Regular", + "proTxHash": "26b9dee1642a6c66238e5770f22d993e21de8e4530134525cd6042b6ebbd2af9", + "collateralHash": "5cecbe4ec2f478b7ee73d3b320b33fc1946b51ff07892acc5bc87faec104d0b7", + "collateralIndex": 0, + "collateralAddress": "XhvgfTwdnXrKNQLoc8feSzdsk4d3EyPafx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.128.156.3:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127666, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbJNda7AdurHLKpjBwf61cdCE49LP4RnMS", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xixk4EWXVsjz8L5FtYnWycHMhyXKfDVdXq", + "pubKeyOperator": "8d6f7f97193db95fb1b6f7bc3f4a142ea8ba4802bd4028dd45254467f38ab6bfbf31881cf0651420401311530035cf29" + } + }, + { + "type": "Regular", + "proTxHash": "0bd3e8b009811531957c24d37f04ffaa38e80677b31a996463e2e047c23b5a6f", + "collateralHash": "a7d66760a3f95227212a4c7c59aff5a2ba5852f85619d11128edb3a62e7e861f", + "collateralIndex": 1, + "collateralAddress": "XdNqPZmadkfZrAu2xVk9LQM3jwYWE3SfCj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.220:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127636, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvqxJ3mCwsXDVMtcE98V1Wn9gztnGg8ehb", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xtqd7w2sssBRziubh2ZWcQCnuA9uqkgzcw", + "pubKeyOperator": "862f5f544f7716c79f1400996b984c391e0e250f2ee15836c70ff8f11f61bcc69b5453370a8a86c2495f65260a897ff1" + } + }, + { + "type": "Regular", + "proTxHash": "51132bb87793fee975d2723a654203b7ce02ad2a3af0a23d0d5395ac3e0b1ee3", + "collateralHash": "5e80c5ddc5f404503b36fe14bb5645b4dd35ded07e33fe39a1db7f3b1bb2038d", + "collateralIndex": 0, + "collateralAddress": "XpjNitbgMorZGAe5s2YbsyFZBGSUGMbmYD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.169.7.89:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127648, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XptzrL5toCcxY2rersjPz7BZbBexjTkRrq", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "Xtqd7w2sssBRziubh2ZWcQCnuA9uqkgzcw", + "pubKeyOperator": "1040cb11541ba3ce31f18ebcb87478297d1c45110b9a5cd82a229283527e58797592705fc1364c0ad4ad83dbaccc4674" + } + }, + { + "type": "Regular", + "proTxHash": "ad03e4865f03c7a9a28dc0bd4c0af622d0a7f54996c24c791c8e248c0f7947eb", + "collateralHash": "14c600a37510e1f9c177a69445dced63bba93fbafe068ffe7f3c194e2844ea04", + "collateralIndex": 1, + "collateralAddress": "XeT8uaLbk4dEcNHhVjd8XboE3HmXaGXCBy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.213:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127664, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcFaPuV3ePiAML4gP8TbaDsnUrDCcGU1UA", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XsVsWBgdXTrdGXsaHRxa2GJiLm4uRW2eQk", + "pubKeyOperator": "08693aaa528e5d7fd07da8356a2fcf95b233d193663596437ea730c147eee40a52af4571064a3a3ad3b337be5d33ace1" + } + }, + { + "type": "Regular", + "proTxHash": "45fb31b87d6e409238270f5917c351cc109bae245f83daf8c803d6be79dc9137", + "collateralHash": "53db04b1b453bc2a4acab4fdf11c85904b51d88e52f0ca9892160fea1ce71bfd", + "collateralIndex": 1, + "collateralAddress": "XjaXTxQT2d9Qm5hLRXS11uAb3Kv3tcZMfr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.212:9999", + "registeredHeight": 1039426, + "lastPaidHeight": 2127654, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxeWgUFSG9BayvFJF44zWKBk8mcnnsCs5J", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XsVsWBgdXTrdGXsaHRxa2GJiLm4uRW2eQk", + "pubKeyOperator": "044865e19ca6e71089f1801e4605eb509581bcd6f051d03ee03872826652c2c803693d27399bf84f1e16ffb3aee09d94" + } + }, + { + "type": "Regular", + "proTxHash": "642d26637caf677094a7e1a253a7554859a93f8cdebecc6e3950c652412cae3c", + "collateralHash": "64ea5bebf2089629e7e6672ce8bc2c483c202c32557b2dcddec32bda78a5890e", + "collateralIndex": 0, + "collateralAddress": "XodMfCvq1q37FfE1ZH4P954MCYHSo5DS92", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.211:9999", + "registeredHeight": 1039427, + "lastPaidHeight": 2128745, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1877134, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmmCzirfqxrJPEBxGAZATEon2KpsFkqEbL", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XsVsWBgdXTrdGXsaHRxa2GJiLm4uRW2eQk", + "pubKeyOperator": "8d9c49c673b8a295e668af0d77e9f9b95231a1732d784869fdb02602eb210fed53e7061d4ae909493a3e9b3b8c41c01e" + } + }, + { + "type": "Regular", + "proTxHash": "9e7e29d71cc6d324982f6029054f0f51c6d364c9929e03a576c02669b3b96572", + "collateralHash": "55cf720dc65ecd767d07b36b476354c26dc5aecbeaf130ad9591593406c2f26e", + "collateralIndex": 0, + "collateralAddress": "XwKWeSLHfwyqxHvyFZPw1Bj9CMf1uizYcS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.35.57:9999", + "registeredHeight": 1039428, + "lastPaidHeight": 2127657, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv58oZ25yHimsBfqnMP8CQ3DnFVvEr6Kco", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XsVsWBgdXTrdGXsaHRxa2GJiLm4uRW2eQk", + "pubKeyOperator": "893dad324bbb343664727294a820cfdd33b5051209bb3e73e10054bd3eb2d20b28c39ad77c19a3a90a2b2ee3fbaea067" + } + }, + { + "type": "Regular", + "proTxHash": "09bae4a35c8cb70efdd80ae89ed724eeb486db82e230e1409d6b01d8cf1a8b63", + "collateralHash": "1e59d0da8b02ec693ccb97e163bf0faa976df0b902bbfb0a409aac00093bac86", + "collateralIndex": 0, + "collateralAddress": "XhmBJmRErH7hgdfDxQfPskZEV9EwKpkkn1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.52.166.66:9999", + "registeredHeight": 1039430, + "lastPaidHeight": 2127656, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuNU9nsEuzUhcsJ6r7d6RYVXJmFBsp9ebP", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XsVsWBgdXTrdGXsaHRxa2GJiLm4uRW2eQk", + "pubKeyOperator": "947f00161f9cf1c48ffb31fac106d3ad05c294291e053786f9699bf475f534a0d3494f508b9ef5aa30cd2f1f26c96a82" + } + }, + { + "type": "Regular", + "proTxHash": "ee7db0604af1947f6d91ec799d8d0e760eec4314048a1c3b3c664787908a0997", + "collateralHash": "082c202a32bd9b00d718380a566feb9b32f3f916afe16d92f2791423904ffc62", + "collateralIndex": 1, + "collateralAddress": "Xh7twugteFigBxtD3s7DDn2oRqXe5TNkwU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.160:9999", + "registeredHeight": 1039430, + "lastPaidHeight": 2127659, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm6t5iQGyzL9NnuTpQQUtVMpZvpLVrDsDb", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XwccyfrUiE2gUB7aXRyxFdxzUxTjv6V3tM", + "pubKeyOperator": "029ea6507a40269fc508a126749236718d11cbf7b5436df67d7335b643f9f6a962d72ff3a7477b27b134639148ed6307" + } + }, + { + "type": "Regular", + "proTxHash": "90a9eb66521a08506a3eda253fb231872bcd6406376eae59f099d7550e743de7", + "collateralHash": "8bd15becfc91cc0ed6f93c8ee1694bb10ea7eccdd921fb878b1066a1dc72eead", + "collateralIndex": 1, + "collateralAddress": "XuuQRj7Dagp2GAgkufd5H7YiVA4kyQTHnZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.52.166.69:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127672, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121482, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfjyW7mpScZ9N6XLBvFQzZDNPbrGsaEmpU", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8f22732d2660bb55ef7787c78352295829c47f8fc90fc0985c6f342a7d38a8364345c631581a6e66ef9661595c485758" + } + }, + { + "type": "Regular", + "proTxHash": "801e436e08a0f1f6bb8d236b5f8909a0a89b17444e34bba7d0ed92c3714a53ad", + "collateralHash": "bcff27752af859b921fa5c3739cbab17308ea2953e07ad237c439d5d869fdea6", + "collateralIndex": 0, + "collateralAddress": "XiYHEpXhhF9rnfhtSaUs41knocsuSTGzBi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.159:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127662, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwzg4CK45xiiRmrGYUxd3dCcAJn6vQAGo1", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XwccyfrUiE2gUB7aXRyxFdxzUxTjv6V3tM", + "pubKeyOperator": "05a6d65c3b220b06e553331728fc43a277ac1b07762d4be76916e898fadf76563d9a9a34a8d93d43962d6e7a879d8af0" + } + }, + { + "type": "Regular", + "proTxHash": "4c58e115ce55e32e18994f2f804ba8e4a6c8e404a35d1a48b9b1b6d06bf49452", + "collateralHash": "6992f0e639f60c666a9be4e2e7a2a015ff6d69df4987f5f9a01b04777580cc41", + "collateralIndex": 1, + "collateralAddress": "Xv1s6jNYjA1A859e11Lrj1DEbEyS7wydBV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.253:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127655, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqXQusEKGPBGCM31c2tbbhkqnrBhdKpzSJ", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XwccyfrUiE2gUB7aXRyxFdxzUxTjv6V3tM", + "pubKeyOperator": "0c5340af17ca7054208ec335e7758c62804fe96534209da0fa8823ae80046e6e58719312a73085cdc65be737ad8ada65" + } + }, + { + "type": "Regular", + "proTxHash": "bbebe22c677861c3239dc93032d21806a8bad57514cfd0a7f2ef543d6bbdd998", + "collateralHash": "59d0e408732d6cebc31423ca658be7fdfcecea255540ebeafed214e8bb80fe79", + "collateralIndex": 1, + "collateralAddress": "XnunuHjgjQLXUyBbgN27WQs8mmnM7mmPuw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.52.166.72:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127660, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwpsne8Ei31BkUZxRyj3Yucn5bjcRLuMrf", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XwccyfrUiE2gUB7aXRyxFdxzUxTjv6V3tM", + "pubKeyOperator": "0092d65510e47eaf0103b7f110c43fc2f39c53228269e2b4418be107be39edaaeb6c47fe2416b8a10a5683b657296e94" + } + }, + { + "type": "Regular", + "proTxHash": "b5368bf8ad61f860ba62a0bebffa0a1d1e97e5fb9d075a782f22c62f56f1b81d", + "collateralHash": "411d685502e978dfa8998d0054b41a0dc80d57d45b47676d17dbed4b5bc2d3cc", + "collateralIndex": 1, + "collateralAddress": "XwbB8se14uAGRx3fG5tacesLAQ2bWrS8eh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.47:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127653, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121481, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh5euQJb2A534f8k8cpscDByc3GSAgPSE9", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "03b87f62f3951c32002bc926f2367d2251df0fa61a6189c72f0e1368187a953de35b0416682e0901144f1f8014ad0a46" + } + }, + { + "type": "Regular", + "proTxHash": "195207b7b8c2b8f001f89c75a4b846cef2e7b0caefb132227d346a6e606bfcb0", + "collateralHash": "3f20805f9cc16b72c5303bb1297df1c3de21b9736a002943a743867f066d3304", + "collateralIndex": 1, + "collateralAddress": "XwVVN1LEgoLKCtCSYEqEZGhuvEgNcnXDUi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.237:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127670, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121482, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XubUa4Amjpff93ZDSM1K5Eptq7fCB7bj69", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "101969411b48fd4df4bcb349e7b285453e7bf4eeda1977571be2fc4bcea98c5f1e65196ddbf11b4bdfdd5f979a637dda" + } + }, + { + "type": "Regular", + "proTxHash": "d9f6d28c9f6d69dedbaca8dc501fc8560caae68d87fc36e3e095917cc532a367", + "collateralHash": "c5168ff197a003a41b9b273014df1e214c7fa8e20a1ca298ab0a93cff92d1ae2", + "collateralIndex": 1, + "collateralAddress": "XfMtcY56mJsUj7vkMphAQ5juJLwKoKcn51", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.232:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127669, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121482, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhKqrzpzsLBraYytLZr8rvohvDWBWvUvxZ", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8a27109ac57caf6b510ae5d29e4052fd55cbdb02685d0334dbea3bbb0017d06cc4e6852874d0bffaf1a2262b3c44134d" + } + }, + { + "type": "Regular", + "proTxHash": "f42acba47a0c08a359c87d1422868c1bc6847773bc728f477ed06e09a26a68b6", + "collateralHash": "9c57faaa9c235ebe6b1c2408b2f264bec3a6550e1bc64e77079ee591e4852e87", + "collateralIndex": 1, + "collateralAddress": "XtGaYxUnCaqcMuGQqbLCyEJQCZa7BzwDTT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.169.7.146:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127671, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121482, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqXnb1BaRBFguSGpMBwmj9LDMUtc7iCQTf", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "082e86f00cece842aac187aadd48a7d4b87480e81221a39d900cce863b83f1eedd614171c77c068e45c53131cfc307bc" + } + }, + { + "type": "Regular", + "proTxHash": "c07b17f48176958f075c457fea2058b013ea174ed446ce75a92ef168d8b0feff", + "collateralHash": "8de107600f1c7f4f69d8884b32b45f7f2d3fc761708b209b7ee2f686ffeff93b", + "collateralIndex": 1, + "collateralAddress": "XuWie4kTj5exctTT4otTDkzQ3tQgpDyJ3a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "173.254.235.62:9999", + "registeredHeight": 1039434, + "lastPaidHeight": 2127673, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121482, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XndtC9cChnaCn2DLqkMAD5FTu6xrS7Ks7M", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "059aa61878c313f95e696f8919bb5809fc5fe41dcf64d7ac7e569ef13a5420378846dad9a7ad24f64079d139005eca49" + } + }, + { + "type": "Regular", + "proTxHash": "6aa911489d2b5eda775b0c6b3947db53a7d1a824f63164c27d40c8f5ab68fbe8", + "collateralHash": "563d16a492648e34c7bc77fdb83170dbbe5035fb4650e561817a179e2777da41", + "collateralIndex": 0, + "collateralAddress": "Xf4gDnhZAybEuxW6VLfwArwsQ8UyVAjHSY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.230:9999", + "registeredHeight": 1039436, + "lastPaidHeight": 2127032, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkzgWgyWBRKXo3NXq1Zazo9ko9KN5zDfvV", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8ae8efac9275b325bacb3817ced923e332d7d219bdfd2a2cade7f59b807103ac07d974f879eb337b16f4e12605e2c3c1" + } + }, + { + "type": "Regular", + "proTxHash": "48dcd48582cff290a555c8e59ef51a9d2e459a41f6257718dedfe6efeb02b449", + "collateralHash": "0d419f0595a385575eb327add43a565e101deb46629cdad2e5cf6d44effee472", + "collateralIndex": 0, + "collateralAddress": "XnpLMSkKLyrm7tAGVBoxbNBjuJi5rHVUuN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.229:9999", + "registeredHeight": 1039438, + "lastPaidHeight": 2127668, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121482, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkTjYt3b2EUoTBjCRfvRn749PkeWeRUeDP", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "10437a7914b8bfebfe8df83274d6c43e369ba7c47d6f004a353748059498d83acb98f21238f022f3daf1017469459b42" + } + }, + { + "type": "Regular", + "proTxHash": "d195a68986590b6b032bb733313f70df82018a6253c9fa1be9cb1f51bc94df3c", + "collateralHash": "02e9a2918c0a679b2495e01d35e47013938801d89f05dd9e5f6f10319bbf0c12", + "collateralIndex": 0, + "collateralAddress": "XqJa8BxRVj8VorG22JKZsLZhaYHeB5ffzg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.128.156.78:9999", + "registeredHeight": 1039438, + "lastPaidHeight": 2127667, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121482, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk4sR3buzENbM4aGaiFeNgGJ3nt5pSUigy", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "93532b6391c75c94ac83ec94e18327e1d88548f8c62066a1cb6f82161c26790a84c97e5ed02f845d4967ff1ef34e4dcd" + } + }, + { + "type": "Regular", + "proTxHash": "d9c2bf7ef9d7a327266faa6bf04181f222b640c6e9b14472d16014ec3122623b", + "collateralHash": "56755a3e5ac9a584d487e3e4e69cc8035ba96e7a42f226e81c22cc8a7db5d6cf", + "collateralIndex": 0, + "collateralAddress": "XkSN1KopPyHY8B4kHyRgHd46fuGSB6bZJD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.129.5:9999", + "registeredHeight": 1039440, + "lastPaidHeight": 1980628, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127939, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XavBYnCntoDsZxf5tw1Mo7MoFshsW5p8Rw", + "votingAddress": "XavBYnCntoDsZxf5tw1Mo7MoFshsW5p8Rw", + "payoutAddress": "XkSN1KopPyHY8B4kHyRgHd46fuGSB6bZJD", + "pubKeyOperator": "965a7414e82f6f5603c0def8fc07eee3012e35a325398a0e238f16dfd98ab57301133135def3bcb68d2c2b2499c34674" + } + }, + { + "type": "Regular", + "proTxHash": "fc1328045fa9d3052b6f96288b5b3ceb3b6651b1dcb0a76b1b1a6ece0711477f", + "collateralHash": "d03442a845efe5a7ca4728ccde8d4d97f2122cc08e06b50a1d6167c49fd54aa1", + "collateralIndex": 0, + "collateralAddress": "Xnr9QBBq7kyaA9z5H4fw1W9VFa4n73LY4a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.227:9999", + "registeredHeight": 1039447, + "lastPaidHeight": 2127050, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgdBAWrb8t5yqRFHbmVnJiZGU1MrmumPAi", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0ca6c70e9ba66c9f4c88b624bf8ef23813c74dc2f2a18c8614ad1f06dc8ef02b6895e0e98e6415b6c05d23b1ca8c3314" + } + }, + { + "type": "Regular", + "proTxHash": "a4bf129005ce5155995f471b5265916648b79417706fd9e605ba7d9f715f6847", + "collateralHash": "e4a23649aa3e5413e7b569152c33a9d47446436f912bad353a956aec94e6946f", + "collateralIndex": 0, + "collateralAddress": "XsEt6XNg1zbt9jezmCnn7UVW2naw4134cP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.226:9999", + "registeredHeight": 1039447, + "lastPaidHeight": 2127678, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxRxTthERQgxYeneDBpnhSnnvnZc1mNRrf", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0aef134dce55e0add9cfbdd78801a88825f209a43afa576287ae0f2159d397c05b6f48d5898b497af3f4cc3528f39093" + } + }, + { + "type": "Regular", + "proTxHash": "6e8d52daa195d09bdbee2153ee4b6dac3e9fc0b13a006e4f7a57df93d94f119d", + "collateralHash": "145cadf290c04330270ab9bdc1fd2567d0ab2e7251a54da437c8328eaadabbc8", + "collateralIndex": 0, + "collateralAddress": "Xg4fMHcRLRgieMJP4Bm9PzBA1jyQYeLQan", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.234:9999", + "registeredHeight": 1039450, + "lastPaidHeight": 2127682, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmqW5QPzNXabhuARkyLtwwNji5zu4haD4c", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8fee49fc8503b54fc58b02ccfaf4bef0f801098cc565a21ada920a2c1a4cb6c9ccfe7f1f9f6989834c4d7874ba3bab6e" + } + }, + { + "type": "Regular", + "proTxHash": "83ccb614fcc17fa905d1f81401723d58894f6427a257c78cdbc2e493b46b90ad", + "collateralHash": "8f446a8bb8422b0e4b8b4c04e7ad16f21d7dba6f966b7da51c9068863a84afdc", + "collateralIndex": 0, + "collateralAddress": "XiNocfSC2QfaHRTnqkwS1FVQMaPwMcsBu7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.86.163.160:9999", + "registeredHeight": 1039450, + "lastPaidHeight": 2127683, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjN7zo3tJaC98VopWRyuLquPfJnXTBHT4L", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8dd573605637b46e02e13d28188ed6bae3e34bce03951db830bbf1bf550dd5caaec34706bdfcb4274155edc222528cb8" + } + }, + { + "type": "Regular", + "proTxHash": "fac4265c8c8213b069b75bb3c565309accb214631bff9cfb41a4ec1b6feda7fc", + "collateralHash": "490b51af2e60fb00924f5aebba75d8247eb5b1fa2ee0d1703426f2379f0164dc", + "collateralIndex": 1, + "collateralAddress": "Xugap6eeo3jWixexuHpFBFFhNWiBJ6YyMQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.233:9999", + "registeredHeight": 1039450, + "lastPaidHeight": 2127686, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfsUeqAzhCtrEGXNhLeRd23G2sjt9ouTFF", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "09453eaac3282a0c76638f66b0a5da648fdb0fe5f2a313097817703a9737f129af76632dd0749ac4cdce1f9b4c19e4d8" + } + }, + { + "type": "Regular", + "proTxHash": "aebb4d74c20efc13e37078118a39c6f1f29f1e3e5d65133631956fb67a21e64d", + "collateralHash": "a7a3611fe10a464f243c11c0e477e7f4622694cbde8bb060aaafdf689bdc6293", + "collateralIndex": 1, + "collateralAddress": "XvscVYNDrkAryMiB4MaRuGYF3PQWbj84Pc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.225:9999", + "registeredHeight": 1039450, + "lastPaidHeight": 2127679, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdNfKt6nx3T1i6nrN7kFj4ouWanFjJXkuM", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "82c44b0e655780ae0b1d4e96eeb49e6a7c48d5d5c00d112cb8822e2fcde9d9cbc82a64f8c5f4de6223c775295e446543" + } + }, + { + "type": "Regular", + "proTxHash": "6144173f3c0217de8666cacbd954da12f8f3e19599cefbc2c725c11ce708e8c3", + "collateralHash": "c9019b7a7b8432c964f9111ecb6707f6ca8037ab2617caf34c0b8596a06d8828", + "collateralIndex": 1, + "collateralAddress": "XgFKLbbdbNih8a6c1Xt4dipDzmn7vhFuYp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.224:9999", + "registeredHeight": 1039451, + "lastPaidHeight": 2127685, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxTxaUGARvMh7Qthf6tseWo6eB3QXzCN6u", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "93c119570fb8f6217336c1baaff0cc3c1042843bae6057399359774f17cd4ac966a7bd6d75191e5d80c50bf8dca0f925" + } + }, + { + "type": "Regular", + "proTxHash": "2ef7cc83b6986ad8b2e09b94ab93cc11d336085eb13d14b8777b718049480574", + "collateralHash": "1d6a48783bec054d8b6b951b0255b5ac4482e22f6aafe8f6275804fb430e9a1a", + "collateralIndex": 1, + "collateralAddress": "XsirKTRYeDSvV7M47ikqtUb3AQNrfBYqtd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.128.156.80:9999", + "registeredHeight": 1039452, + "lastPaidHeight": 2127680, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt8odrxv4omQbXESyfBJRrnv4g6KD8yBkQ", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "963a5684158950188d214b4597a9a960b233eb7735a4d8876d6731f3c169bcc22ca5921c5178ec4e3fd68fd12c0e8395" + } + }, + { + "type": "Regular", + "proTxHash": "6e65d662f69dd6d24ef3967ca527245f43b080e13394f6d911ca86db63e8c0df", + "collateralHash": "1542a18cfd97401a67bc289b298a05d8a47a2bd44de846ba2cc998188581767f", + "collateralIndex": 0, + "collateralAddress": "Xw7JCLTVyAzdTZr4ew5bXxHnBQKQ4rGvWa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.30.248:9999", + "registeredHeight": 1039496, + "lastPaidHeight": 1984476, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": 1873813, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "XrEUBp34Uui4FuowMcNviDsWxxsEYmT3Mq", + "votingAddress": "XrEUBp34Uui4FuowMcNviDsWxxsEYmT3Mq", + "payoutAddress": "Xw7JCLTVyAzdTZr4ew5bXxHnBQKQ4rGvWa", + "pubKeyOperator": "17e8231646f0b4706100e6394434a9a1d6a53478ac7ba31fbda9d4c2e3bb0b43fe0670b581b1506194a03e8cbdf1b706" + } + }, + { + "type": "Regular", + "proTxHash": "8c898f3a32ad84cfec01b78ac5dbdcbebdee5abf5655843d1fae26143fdf741d", + "collateralHash": "35661e81b23a5af0ad05b46c4d215813aef49d207a7b845d463a88860a927d69", + "collateralIndex": 0, + "collateralAddress": "XxKJtpskLahWW9sN7eTwrdwDM33i3AWhHW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.227:9999", + "registeredHeight": 1039526, + "lastPaidHeight": 1981794, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128407, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkAH4Q2EhHREK4oQ4dg4ASrLm8f1Dr2cCk", + "votingAddress": "XkAH4Q2EhHREK4oQ4dg4ASrLm8f1Dr2cCk", + "payoutAddress": "XxKJtpskLahWW9sN7eTwrdwDM33i3AWhHW", + "pubKeyOperator": "0849e224037779c2c0972462899be8973a0bb64d81e7f9d499d3d75e77391baef6469ccffcbbaeec012888a2cfd3b278" + } + }, + { + "type": "Regular", + "proTxHash": "9eb168da804b2e373a5b9e3db7ed808202159eb143a7a1800da7c3f8961f83cd", + "collateralHash": "db4e457539032b1dfc624616e76e64413e303aa2812e01eb3d5ad80f86bce5f4", + "collateralIndex": 0, + "collateralAddress": "XbEX7FhSTJcHvRhtxydFMJa31zYAts2TwD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.1.179:9999", + "registeredHeight": 1039609, + "lastPaidHeight": 1984723, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1386614, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "XrGXDYmjwj2aqtmxM84WjBJCT1nv6aNmVa", + "votingAddress": "XrGXDYmjwj2aqtmxM84WjBJCT1nv6aNmVa", + "payoutAddress": "XbEX7FhSTJcHvRhtxydFMJa31zYAts2TwD", + "pubKeyOperator": "083bfa973db6699f59855abff4570d74a4b9b192f80735723e3a0fc0121fef488d63195629eec3d98a1f4c9c3804d649" + } + }, + { + "type": "Regular", + "proTxHash": "31a8d40f82846fe5b636a2bec1aa9af5373b1c4b78b8bd669c9756864636c50b", + "collateralHash": "0303f33daa93c216d08567e75f2db40108f87465ecb7feba9d531828687adfe0", + "collateralIndex": 1, + "collateralAddress": "Xghe6ERCLxuxExhXXz3dU2A9eUTYNVMGM8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.200:9999", + "registeredHeight": 1039669, + "lastPaidHeight": 2127675, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpQy3bvq1uXLsakezy6sw5C8f6bpm4qjAs", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0a57e187de4e7193a111e3b69c6d972ea882e9c3517b47fc06637d5af9be0ee10fae7b62e2eac9553dafd82b3aee011d" + } + }, + { + "type": "Regular", + "proTxHash": "f3f9b88c40eda82e0a6ea5122efb3c984ef7458922a2ff1e76106ba9ef8b5505", + "collateralHash": "f00c4643bce50d9a16c860dd9e17ebcfc27d52ee5c9eab0bc0f3ea08bba7347b", + "collateralIndex": 1, + "collateralAddress": "XgJS7yy6eWPEojuUgpu5uxVteUqJSA5vaT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.86.163.152:9999", + "registeredHeight": 1039669, + "lastPaidHeight": 2127674, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XikBFCHm3dGd2uVMnTERG6XtcohrPC3HhC", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "10f5fd3cbec286dd3197288ef7f8c3c071315cf8bc8ee44f7bc63aef16e2e462a53dd4944e1d6a014c499386e5fbd2c2" + } + }, + { + "type": "Regular", + "proTxHash": "831010246ca2df1e860cdd04ac181c4f5f37277e6b34bf0afe7e2ca161c54b85", + "collateralHash": "1b249a6e9a37171b0fa827fb8c137c524c3a9a6dfd1fc682b2416d632080fc96", + "collateralIndex": 0, + "collateralAddress": "Xb82Bk59o9R3TK9w1UWR4Gxhrh2m2XkWXK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.190.43:9999", + "registeredHeight": 1039669, + "lastPaidHeight": 2127681, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqeb5kAdpC6oAA6xVQ2MT2thbLkz93uSJw", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "08235417c86abd28912797aebf48b75daa5a925da3fbfdf7cc8bb25d963a894d49ef55abdb17a175fc6ad9880d7019fd" + } + }, + { + "type": "Regular", + "proTxHash": "d3d786481019cfeb4d84d33fbba97b9cf380a6523a3fd6f01b04f794b8bd037f", + "collateralHash": "fff4fb44e8c97e887b261133ab303406bf6531ca4576f7a98eccfb358541dd75", + "collateralIndex": 1, + "collateralAddress": "XmeMZGpGYBrVwapZiKw1wRsUaCfV61yt4e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.243.114.43:9999", + "registeredHeight": 1039669, + "lastPaidHeight": 2127288, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121146, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeECEXKMkMMdFSA9Buxb4hx9C9RBqApSAw", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "83f644db7244d5caf82c381dbdbeb968646dc1b36d24155c7b53591e4dd53a1cdbca5c9f890f54687e95ca289317d2cb" + } + }, + { + "type": "Regular", + "proTxHash": "dd35da3651e4c28471efb71eff98ba64dd798deab6a51bcfc48764c74a5a4241", + "collateralHash": "fb4d1697f703a32d4c1606218af836cde886959d83bda9993ac3a9ea7ae6cede", + "collateralIndex": 1, + "collateralAddress": "Xcrab1wYWJW4JjC2G4b5ykYckXZtLDxAXy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.86.163.149:9999", + "registeredHeight": 1039670, + "lastPaidHeight": 2128731, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1877132, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw2Qx5okjkKoVvmYhNGQxpLrNoWAt7ZxRg", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "03e387352258339b3f9a5c3f5353ef3dc234af947fa649bb359694b6daa43ab4d5d907e711f5de2e9ca7f6130f0ad69b" + } + }, + { + "type": "Regular", + "proTxHash": "91f0bde1e452915ed101c2f4a79fcfecc8064fbbd6f0abd2017653813e59683a", + "collateralHash": "bede0cbb3b52a73bfa150aee8f53231e2afa123f5b9f225a879e9b71bfd2f111", + "collateralIndex": 1, + "collateralAddress": "Xdube5oqaSKBFby1UKni2sKA6SGebZgFNm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.64:9999", + "registeredHeight": 1039670, + "lastPaidHeight": 2127677, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsqZTHuJryhuRaVMhWCpXQbrBRa5MuKvLY", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "05e2e0ff4488026ff18e1700c8378f50e4b84b9222ee46d0898ba7debe7da7121f98edca635bd167345e7904ee08330c" + } + }, + { + "type": "Regular", + "proTxHash": "83e24c6c90befc8c5e7299b9ce27f9f172ba7494a8c07b91e75d7d391c900d49", + "collateralHash": "4244a3d47fa8cd0b299cc0af65dfbe0046791ad7b2aebd0f5cbe62b0f50dc6fc", + "collateralIndex": 0, + "collateralAddress": "XrKUsgRUNgt79YbPNLKLT4AvAJ1bGMyHKG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.60:9999", + "registeredHeight": 1039672, + "lastPaidHeight": 1984139, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127456, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtNhrnhfGSEvaFfDAJ5bhYoJ3WeV24h9zF", + "votingAddress": "XtNhrnhfGSEvaFfDAJ5bhYoJ3WeV24h9zF", + "payoutAddress": "XrKUsgRUNgt79YbPNLKLT4AvAJ1bGMyHKG", + "pubKeyOperator": "81a4c0e55e7257e9bb761829dcf4e727e1a440d63dc84977754a52f685651c270c5060c609200c1c09a4c9c673609bc1" + } + }, + { + "type": "Regular", + "proTxHash": "1bc144f5de86f1d631a146d0cb38670506fb17f67b2f620bafb83f4b611c63e2", + "collateralHash": "ba8441b403e71b0e5520af8feb583e03fa3fcdceb3983bcd1de974a3b8554814", + "collateralIndex": 0, + "collateralAddress": "Xo9gJe5ocqNmE8qebbEbLK5euU3VBsGP8H", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.63:9999", + "registeredHeight": 1039833, + "lastPaidHeight": 2127470, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnAbFZWVDAdUvjPYFMgSnyS353TChwaPDF", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "94b94fa1e24a9dd749fce36ad738a8c6c8caae91f2e45636f21b11bdad75bb26c08e2ab9434f1109af87b3626f35cc26" + } + }, + { + "type": "Regular", + "proTxHash": "d3ddea9366c7deb606d1ba58e2911a3958d81f887dc8c1af69e6f90a0b0ec8df", + "collateralHash": "86511fe42c0fccce5d4eeeba47185ef5560924836f0bf0e38e810584c0180c40", + "collateralIndex": 0, + "collateralAddress": "XdXgvs8NQX9KuqfGz4xx8GhyP2BfSfutkm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.128.156.27:9999", + "registeredHeight": 1039833, + "lastPaidHeight": 2128442, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1904480, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcd2XLWuRWMYUnWJp7RJ2DXXGQ3MVcTGs8", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "132d5a7abd61180cdd71f092e32b84b3ba70fde01618aaacabe9633904e6959249e240e51a26de2aed0e5d07c2bfb75b" + } + }, + { + "type": "Regular", + "proTxHash": "0ff94b156645ad9a69d5736dd359b9a18ae9e5937f96cf4d1a89d3d6f42b8cb5", + "collateralHash": "6a1945ba80beee430d9f6b21e7a49c1fb64eff18621a4afb8cbcda68e7e0e969", + "collateralIndex": 0, + "collateralAddress": "XoiWhVMeL3VJKyfdhYfhEW8jteipYecPAr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.190.40:9999", + "registeredHeight": 1039838, + "lastPaidHeight": 2127684, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwj8svfKCDPvw9yPgoy47gVkoFi6Hf2Hmd", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "969aeb43c54f644029906795b5ba9113edf0eecd696a263bf94c45588097c92b93fa3147ce52c0ab662fe8dcc4075797" + } + }, + { + "type": "Regular", + "proTxHash": "b8b912783dda56e0a7c970d59c27a32f9f05103c3e51a966f7fc705eea9b9f50", + "collateralHash": "dde50fd3bad73767bc9b51cb6f34b4d8efba61e29653546b8cf13db0ae0559dd", + "collateralIndex": 0, + "collateralAddress": "Xd6iD5PeFNarzjmMCni1vyv66EoVWsA6Rz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.219:9999", + "registeredHeight": 1039838, + "lastPaidHeight": 2127688, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqkquaExukt1kqjhGnc5oBkdTLDPsjqLk9", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "97d53778858de64cff480f1e681e8791d1ff03321272ccf2ea91798073cd3c94d8593b803080d70b9242dc33f6bcbbad" + } + }, + { + "type": "Regular", + "proTxHash": "03d8a74b91a769dda32e2d57d108671bba2f9e759a5a60d99f53af2d019a96ae", + "collateralHash": "7061a8a281b6aebc6194621b6bbd54d5e5027ab738560366f9aaf5cfe0d3ae25", + "collateralIndex": 0, + "collateralAddress": "Xxqrma4BKafyAxauwfhvNXPRGj6zKyEBfE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.244:9999", + "registeredHeight": 1039842, + "lastPaidHeight": 2127692, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxBSgMEThL1E9VmrMo4nqffqF3SBz9VGSh", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "9520c21e08d7889f7ce539b1eb3b1ed06dbabcf3772bfb2ac0a093376e803e31afbc18422b02de47aa5437567f8885d7" + } + }, + { + "type": "Regular", + "proTxHash": "ad35702e6c9dacb45c21bf0ebea062b43d5a8e26280f6a9591dd6959aa017c48", + "collateralHash": "eb1b7db0b7704f25845ddcbaefe287da221918ef787e9ec1ea70d54e0b294a15", + "collateralIndex": 0, + "collateralAddress": "XyrFZb61CtMXxPie7788bPSmyrYSU8tE3r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.54.64:9999", + "registeredHeight": 1039849, + "lastPaidHeight": 1980848, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128363, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XskyrEEC7v6gsPaGfdAe8ZBzfJeAsNHDUt", + "votingAddress": "XskyrEEC7v6gsPaGfdAe8ZBzfJeAsNHDUt", + "payoutAddress": "XyrFZb61CtMXxPie7788bPSmyrYSU8tE3r", + "pubKeyOperator": "0b28584f67853b6d542189a6ce71697fd41eafd04e548712897c3dda2b34ee734f97a5476f54037af81bbd05bc2176d7" + } + }, + { + "type": "Regular", + "proTxHash": "ad02e2e0a2f7fbe5dd8f66b7f3de574dffff5a7bd283795791ffacdaa9be2ca7", + "collateralHash": "fb38429fc0ea72fb87006b2ed68bc308d0d7cb137272db7d643e3d21ee2d7577", + "collateralIndex": 0, + "collateralAddress": "Xv7AhwVDhgAWFsw3ruSVw5XvSLCqMPfWqZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.243:9999", + "registeredHeight": 1039849, + "lastPaidHeight": 2127691, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqh2EShKAwPwthpUnz32Hu3gZs7sa6C4To", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "822d261eb1db4422e0ea1cc33c6d8b12afcac3eacaf3da4edb8f293c19872ab011075b6823487d8df7ab787339218ac2" + } + }, + { + "type": "Regular", + "proTxHash": "7fc302d87dce2d611d1ad02a2d9af7c39b33323b57a72f7d79083271c5b445db", + "collateralHash": "9ef20313f3ff52e0e5f465d65fced9f19d139a23efcb3193f5633d0f3c23be52", + "collateralIndex": 0, + "collateralAddress": "Xu3ZZFjhLDn6X7TuS5sviHZ8cQJWeFhAXs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.140:9999", + "registeredHeight": 1039849, + "lastPaidHeight": 2127693, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjFMCj2wSj5oBiJ4oBcRSPne9DkDsSRBj1", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0d8902d7a992bd1241e6a71c82b1c32cdfbf666fe2706e0028d3b8f082223e02776ec76b8cde689f70afb84618ab2d00" + } + }, + { + "type": "Regular", + "proTxHash": "2b934fef8fb93d8a66eb3f828d607b26f54da389290d0d8744578b90afdda233", + "collateralHash": "1ed70614ed8e71b7d04fb55e7ca2133bf8a7e4be12d259d462f904216b0e39c2", + "collateralIndex": 0, + "collateralAddress": "XozMKxYGazBnrnqFuJ8yFtyq6myc5deKLU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.138:9999", + "registeredHeight": 1039849, + "lastPaidHeight": 2127505, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf9uyuuRf6T6CXtWFdpqwmf8MLWYqaFYdm", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "935bd0031efd4505f93c96831ab577ee7f4379bc4319a4bc0aa47452ae2b42c96911f3147c4a8728c8b3d04bd2b5e119" + } + }, + { + "type": "Regular", + "proTxHash": "3c73a6c8e74e64c1e0ef0fbb1658e3678bd729b6153c57ef7b5cdff252e7bb65", + "collateralHash": "ef978e7747e171db3694b3806bdacee1c4bd924b12359b7bb4c095a2a3152113", + "collateralIndex": 0, + "collateralAddress": "XpqNrJjQqsffPNF3sPyh3tEL4qatTpDSgV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.137:9999", + "registeredHeight": 1039849, + "lastPaidHeight": 2127690, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjFA7GFYjDEAGRabfUrGuR5wupsB58w3vN", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "045f64dd776b01114ec874eb3966b1f3e4d94ae53340b1d832e4a9e88727f059caa53dd75d917ab4f01d91323370f305" + } + }, + { + "type": "Regular", + "proTxHash": "4d48dff2fbb97e77e554b524363426f0aca0cdfc2cb5af3526b4c3352c0aa951", + "collateralHash": "e728f741ba2eeb47c6b7ba7ce318a1b77f8c6afc8070a300ecbda0a025ea4ebc", + "collateralIndex": 1, + "collateralAddress": "Xr2jqRZo63zNixnMnagN8pkXPwoEYBFxHo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.136:9999", + "registeredHeight": 1039849, + "lastPaidHeight": 2127689, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc336k44cYcyt4yHE34pUXbosAp8kY4rEn", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0585c3ac3e1b907acea9220f43f03c318db14186a2c2177c96b8e356ab8ec97fdbdab7b2e9410c5f64c37679a0c3b169" + } + }, + { + "type": "Regular", + "proTxHash": "c611d560beeec1e39d76c9279b6c97801c852b51a7fc7c1500c8dd06c2263050", + "collateralHash": "f1dfd7b4dea58b8c41677d384e6f0dfc6cd350d8b6180b588bc6bfd24ac4523e", + "collateralIndex": 1, + "collateralAddress": "XeXZAHtwW3KKgurSyyLui6WazcXrzPabhc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.134:9999", + "registeredHeight": 1039849, + "lastPaidHeight": 2127687, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121484, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxHCPHCvdVCpFYDoVbzf2TzS6e4VBmR7ho", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8a645ce4308da24e5aac11967873935e1369c16425c8bcede5ec6c135ac4379062aecd24e07d4d7b2ce4df1259548738" + } + }, + { + "type": "Regular", + "proTxHash": "bfe7622b8a4d85a272a333de7e2e9d666aa06c6f7af1ca89df795f88da00597c", + "collateralHash": "f9fcdc564e4baeb70ae6cfb7cd0cfe05abf8857ae13aca339ef3bbe18dfba26d", + "collateralIndex": 0, + "collateralAddress": "XvJtjaGmtc1zHwbHoVD92QbXzEnnzECjkk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.241:9999", + "registeredHeight": 1039866, + "lastPaidHeight": 2127698, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121485, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiRq5PeK9yDQaHo4NNAsM2WtUda2LwUWoA", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "15e792aa936209e1cef81f57261e005e11c0c9758eca86f2e93cca13a3227ade8ebcbf52011830837cb5a0ad50ac48f3" + } + }, + { + "type": "Regular", + "proTxHash": "616d923dce7f05d3909f323c494dc80141849ffb26af7ec59eb32a6590883628", + "collateralHash": "8373d03e238646abd3646066c57eac06fb73e41fe8d08e83dc213ab02b83d9ca", + "collateralIndex": 0, + "collateralAddress": "XsC4niDYuhNSMektjAXifjXDNsMWEyr6ep", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.132:9999", + "registeredHeight": 1039866, + "lastPaidHeight": 2127695, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121485, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh8cBcCShJX5mXmUMVjw6mP1tBfiSb13pp", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0d1631266a1dda98c7ecead10d4fb3cefde865eefa1c11fdd6a820a3e2f5b52cb634ac91a1a9ffab35275f0a74d9c95b" + } + }, + { + "type": "Regular", + "proTxHash": "ee2d98b33bf531c9a5e23dc2cbff757eeb8c2a5f325777857224843a0f7f5c5a", + "collateralHash": "a0a75a2a4f349380656f9179bee214bccf07b5418fa500afac12b715f6792ed0", + "collateralIndex": 0, + "collateralAddress": "XnaTwyXPUux49ZLGRRGFkEnLr1omxFwZsP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.130:9999", + "registeredHeight": 1039867, + "lastPaidHeight": 2127696, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121485, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv2J1e2MWQCJMkGrqKW7ExsfViBFNVasnk", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "996ec2dacb64ea4ca23ad01d53d08fa418cf32f7765e14bb0af87b92263d7afd690efc3a2586601c98683068016be2ab" + } + }, + { + "type": "Regular", + "proTxHash": "11f9f00be4344714274c55f5cbef32daa88db524d80cfbb32e438bcf3ca0f124", + "collateralHash": "6533053eb5e666c414b7bc0d23bf6f2e8a8fef623cb7fe1e8449952b98ee6dce", + "collateralIndex": 0, + "collateralAddress": "Xe1t5R9cXtxjbLWjeXkPeRv1rZVZ1zjhv9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.66:9999", + "registeredHeight": 1039867, + "lastPaidHeight": 2127694, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121485, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsbvoRK3a1HhJEp85RH4nE2Z1G9VyUkuZQ", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0c80c198d0d1cb628f08af4f229bd9846ff351159a911ce37ee145db6372c8975ca4d34577d549a2e8019599107f784b" + } + }, + { + "type": "Regular", + "proTxHash": "b44edbdffa9b7dbb21c8a84775fd3cc80ae1234099bf2e20458e93e1d5f9a4a7", + "collateralHash": "c947f059098225dc792d8fc1cac9fc55067bec7079bff2cd1df747902ad2d460", + "collateralIndex": 0, + "collateralAddress": "XdGGiXwzPgLquEByWNkDhMfmhrb91iWpbp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.23:9999", + "registeredHeight": 1039867, + "lastPaidHeight": 2127700, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121485, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyfnVJyVibtTDgzR2d9TNfJZ4xmGiKV9u9", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "983660eb7ea5caabbf2423e39d06d1b3099519e8cff8d515dc6799e32799a3e64afd9a60486e856f4265087021ce0265" + } + }, + { + "type": "Regular", + "proTxHash": "53ee6c66f32d26d9a1b7c59c9250f38da94e03d7d8c075259bd654981b46c487", + "collateralHash": "9741eee868642f640958786e27c9f098e200dfa291acc0215a3dd1bb8bf5684f", + "collateralIndex": 1, + "collateralAddress": "XmmA9xqq6Gp1KTbbiBuKL3MdszRcxo7VhA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.21:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2127699, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121485, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnsaSJLG8ypGNTJocP4ZFRBj5usmSHRxqr", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "962a9e9ea0437968f1514f8267d6185062b0de15009fe812f70d38f8f24bd6e3e23ae4f8f215bf4c8a4ee1ef951f5997" + } + }, + { + "type": "Regular", + "proTxHash": "4546242b596c24cdbd854af012f473a6bee991442da127f928b6bd4682f59a66", + "collateralHash": "9218a2f30907b16e027d79a305a525b3ddd5d8bc732e484cf21284f7c5eb08d6", + "collateralIndex": 1, + "collateralAddress": "Xu4AwNafBg9groyZKHduTkgVjitBBR1KQm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.123:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2127697, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121485, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xinrdfs5UQ73eno2B3Y6vi5CNSZeJ8mmAt", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "05b998954c2682f4d1e7aa164e053f965eb20567565466d124691f16b9d7ca438195558fbf48ecdd2c53246a84fac79f" + } + }, + { + "type": "Regular", + "proTxHash": "42c105a76a51c7638e5d4b94d7fcba256d460c2af05923826a62ddbff7ea89d6", + "collateralHash": "11f42a4fc0ae47618685c0e8c86b28f3498356c7e5079034b3c6366e032655c5", + "collateralIndex": 0, + "collateralAddress": "XrN4M62KVesqe8tmZuUBcmEe83WgiePMch", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.228.83.84:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2127706, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121486, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuYf2LAd94RSNUXFLtwD4tTE7PFZ9U9euv", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0e89e74ab7ca34eaacb9d0170111ded16a5ca19afc47624aa1b4b3841d77cfa012ef094a032ecf8a016988bc30e45f87" + } + }, + { + "type": "Regular", + "proTxHash": "c519aab6118ca20a71b212484dc72173e0c724b03bd0b0fb15d4fa0efacad7e7", + "collateralHash": "b09c9351807b200956fde199a5f40da46f804951a31263efaeda9d3771ec1ab4", + "collateralIndex": 0, + "collateralAddress": "XnWv9Rs7nqY2GskMu2tUe5ZFxmSUoZ3RrC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.243.112.9:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2127708, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121486, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvcWQRic9WijGYsAADxB79hz8asLeCB2yr", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8517ec69eed245311b92d8373ca234feef7ab1195a86fb9fe080026c9a6178e47535f8b169f579f1b4229a678816d486" + } + }, + { + "type": "Regular", + "proTxHash": "1aed5d6ab5397e1409623199ee7359d8606522c2318287750ab67e43ec6c71d5", + "collateralHash": "8aaf67d3e0e726e6458ff98ff87297cc47e85d8b07cc1158facb8e92e2cf64c9", + "collateralIndex": 0, + "collateralAddress": "Xu7pU2QV7sX33xs1Y7prLPxw7BwqQV8Ufm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.163.0.174:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2127705, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121486, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xij3bdiHku92rRRbs9BKouYHacsZDwiBpS", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8a8c4e4c4bec3ab0088ad7206a4144ba40ff51b47b16152298ee708a312150efec7f10527d74373b2a6d8cadc0967c2e" + } + }, + { + "type": "Regular", + "proTxHash": "c242d1e7a6a4c671ed28ea1204bed222d05163ca6a364714f5d7e9281e3c9cda", + "collateralHash": "b26eed0551af0b9f96fcaf93d7538b72c7dd44494fd8f5af966222c85541e8d2", + "collateralIndex": 0, + "collateralAddress": "XhYx1MDMSfQgQDS8u8kuMetqCf81JBRqaZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.133:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2127707, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121486, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhCdYfjrUYsM8zaTcQe42oZmrD9XBz6y4q", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "877b82bce5884749ac054a52466302b5b854835615c1d0b6c6d818f7b64eb207b8098768a03fc2738f80ff9bedcef061" + } + }, + { + "type": "Regular", + "proTxHash": "bbcf99e4d0e27628fe6cfc9809f81d3a2856193e9e5a5a6c117901044cb822b3", + "collateralHash": "a142c1b0f31c47751b70cb34555d7502d19876433be4765b2fabf7652d51ed9e", + "collateralIndex": 0, + "collateralAddress": "XoZFp59KsFvPGAXeqLUGK3fWvcyezCSJ1o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.125:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2127283, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121144, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XifSAzGvyYf6Ls8edL1HDGN1QzuwWBV9pG", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "06f68ffa7fe87db7cc2279a43ed1b156e3f9654b910cdea162407d738ac23d6292ecdacd9fdd0b2df52add3c8e615359" + } + }, + { + "type": "Regular", + "proTxHash": "b290c827c973307d2cc35e21f6407d7909b72202916f8ab13b2612a8c3a6ef8c", + "collateralHash": "9d3d88bea98bad6ba81994d048f617fdb5ef208803c55daf2eb4210926430219", + "collateralIndex": 1, + "collateralAddress": "XgrjLQgSWTVF1heANUxD5DmEx8qWKMzG9W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.128.156.30:9999", + "registeredHeight": 1039873, + "lastPaidHeight": 2128808, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119536, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrTDM1zhnVUGsmhBe6ofzZgaWk6wi5kitP", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0efd93b586af7f7e5770085ffb7acbfbb1e405bb1a20f76e8dce797316d17e6b161d0e84c1743c9ea50bf7852b171aea" + } + }, + { + "type": "Regular", + "proTxHash": "0f7bc171ba4ccad22ed4496aa2c68ea948e21453b6067f865c62131e54f4ae7f", + "collateralHash": "3fe122faf95a1f64497fbfa37274f3071f5e9766bdb1b9cd0de119aac46da98f", + "collateralIndex": 1, + "collateralAddress": "XcVdJPUrEwnMNvEKqA6THWoBD1jX1qgfwX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.117:9999", + "registeredHeight": 1039875, + "lastPaidHeight": 2127714, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121488, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwBFTdMpBU9BjMAK3t8Ekwu7GwAjkdExo3", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "829c943f21b5bda506a141161e9737408975e8ac23c89353995df42aedc0d5137b92ebbd9e413dc7dee318ce9351c19f" + } + }, + { + "type": "Regular", + "proTxHash": "018f4eb9bf31743baf91aa22640e26ef687ad266774d9529e258a06e024646e8", + "collateralHash": "8516432b3e8b3139d01abb3edaf8a2a5c09e4f22946f8d8de642605f07b1d8cb", + "collateralIndex": 0, + "collateralAddress": "XjszbhD26ESxYR6aS7e8os4CVRtSJVJ7F8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.25:9999", + "registeredHeight": 1039876, + "lastPaidHeight": 2127717, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121488, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtycG5Jmon5VKaAkA5gH9TEeu8hbBrWwVA", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "90908933bd97769966d74a7a85fad9ce894ec6dd943b71678a2ec87a155a9a0a390707e64d384a6452fe478771262504" + } + }, + { + "type": "Regular", + "proTxHash": "30a3d4d6defc8d2aa0d2a1b92d1124091b472d1f198616c870c0314f43f75d43", + "collateralHash": "db701e6eb00387292e1f75dcb7a141aae14fdfabd4663c2f0287d0abae90ef3e", + "collateralIndex": 0, + "collateralAddress": "XkuHTQ4jVctWj1kxafKLnLxQvKGsQJF1cK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.57.108:9999", + "registeredHeight": 1039878, + "lastPaidHeight": 2127712, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121488, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfV8r4ogFiiAGBHSX7dSrWSfNRqGy9dfqt", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0abc9b9ee35465c024cf4c72ed60dcb600c8657e6deff6f4ad69400b5f3a9d5140bb7c09c5262cd1265c093a7cb6c184" + } + }, + { + "type": "Regular", + "proTxHash": "c8c0705b11a8bc3e001b00e5eb74a381a66d420f301772082f606902aa47e880", + "collateralHash": "a98206992b4d44709ce169b22c8a1865d3ea4850427fafd799d4d0a73bab6cf5", + "collateralIndex": 0, + "collateralAddress": "XqzUCXf1WWxPsqq11VuoJAaxGTkaqKxZ71", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.243.114.238:9999", + "registeredHeight": 1039879, + "lastPaidHeight": 2127715, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121488, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhW6PPVDg5AdyeoADzz7c3eFEDCUZKYWyR", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8d11628045ed7318932dcda1e7ddd8fcacc87a602f918b51422594cf2597ac9de9144a16904b8a6708f8e3ab453fd3cc" + } + }, + { + "type": "Regular", + "proTxHash": "c942c25954b98141ced38965cdf43c204bbfae19f315483edb61103902125625", + "collateralHash": "d7526432e38ef3079893c13bfdf811a88c88500e551f3a1387103aa61a483700", + "collateralIndex": 1, + "collateralAddress": "XvVHLDMKaW75T8giq24FD53mobeiZo84YS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.20:9999", + "registeredHeight": 1039879, + "lastPaidHeight": 2127711, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121488, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfFVrRbL8rpK7D2Q5MpY1eVN7DiMUZuAsj", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "83560c4e3eb95a0ed4c549bd59b1f6a2f01b13f61adafaf75a442e57825852d330dc4a4163c02da408bdfbd8896a7c43" + } + }, + { + "type": "Regular", + "proTxHash": "1387032748c2a7b1f37c99dbddc81a916e8335b854d565e5ad965dc75469a6c4", + "collateralHash": "5a594007321830fd4b5c739664835179d4aa0e55c0630357aa9ce13bca74078f", + "collateralIndex": 1, + "collateralAddress": "Xwq4DeiFxfew4S4Z7ad3zimJWVCFTsZvbz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.56.108:9999", + "registeredHeight": 1039881, + "lastPaidHeight": 2127716, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121488, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiNLCJsGAUXn14P23DamVMxZ7ihxgDFqGq", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "16095b1a2e9cd1a9d1d459251977e90533d7ef11766880279b57651718026d7428d6961d2cb2b669da89a8bfb24e74db" + } + }, + { + "type": "Regular", + "proTxHash": "f8829d300f661724a4a68aabcca16039f0d0cc8d07e2c06360f9df0f6c585c3a", + "collateralHash": "51781b7ce21d1eb4ed0f3769fb80852dfc442692bc8e11f13fd34bd7cf63449c", + "collateralIndex": 1, + "collateralAddress": "XcbEt9PJvFpMDtC6gKKdep3JZzJ9jcZzTR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.231:9999", + "registeredHeight": 1039883, + "lastPaidHeight": 2127719, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121489, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjezuYH3rcyMboxDu1BrdeLc1z68bJFZeo", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "08fcd86f63506de6087315e04d685d32cd2ec79e79fc4194702dadbb9cf3efa1d8069b3e10ed44280355443f02ac7fb4" + } + }, + { + "type": "Regular", + "proTxHash": "9c2e6a26785e52b88baa9dd00aa263a47283d9ce5221aa76acf0024389150a67", + "collateralHash": "64ae398db2f7e131a39adca738ad7e8ad6511cdff7ded5c76a401f8d1281e6b0", + "collateralIndex": 1, + "collateralAddress": "XchhKyMFAYrWHmTvNey9Mk1K5WGE2C11mE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.246:9999", + "registeredHeight": 1039883, + "lastPaidHeight": 2127723, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121490, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfLyyvmREj8Le64RSE5ieAjCwFBaHVDwGT", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "88eddd803b13ee7c00ca3b791e10d8423009a1655b562d59fb5a45c3c2cbb133c0e18047049718b1a6703c89b7e09364" + } + }, + { + "type": "Regular", + "proTxHash": "53560e11ffbdde3dde390e6267d1285bace0e601f7e2e5ee16c2e0c171b551c2", + "collateralHash": "a8942ef7cf5de9ef43112dee050755e675719a8409c3f4cce31431bb7ebb23b8", + "collateralIndex": 1, + "collateralAddress": "XiBQhQ4QL9VaP2MPUvUE4x5iT3oRujo1rg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.187:9999", + "registeredHeight": 1039883, + "lastPaidHeight": 2127727, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121490, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnELxGxEnVnLoNmgZwkBVnrVSa85domMPH", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0c82d19581261559e55dcc6008249fea598abf602e0ff9246c08a6564c35ecbccb736f655997152c1b1dd500ffadb14d" + } + }, + { + "type": "Regular", + "proTxHash": "69588fabf5068768eaaa447334e6efa4feda451b9f5474040ddac122d81d426f", + "collateralHash": "2dcd8fd136765fb033efd190a9c1f2bafb7749801b678b894301ac79e8fe8758", + "collateralIndex": 0, + "collateralAddress": "XfKJtgPkzTt2Y8jBMD2gC3VqjGFhpn1rww", + "operatorReward": 0, + "state": { + "version": 1, + "service": "96.44.156.197:9999", + "registeredHeight": 1039884, + "lastPaidHeight": 2127724, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121490, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhwbFsRLuhnkvxfjdZH3SAdQChJrzSVzTm", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "939274fa4bab538fbcacaea351c698e04d4322af5b47cf70266348c2bf5879dc03f2061b9ca0a003efbe279ff896172b" + } + }, + { + "type": "Regular", + "proTxHash": "5955f23d69a3f98bd6d70bcabeb80b79ae3125c341fa910abd604be6e23dae90", + "collateralHash": "9fa476f02cb7b6db42ac111f75213ab2fb48638c74fed8fc8eb69bc577039d1d", + "collateralIndex": 1, + "collateralAddress": "XjdBdyGCSzVArJXQExL2ajk1fa47BJatpJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.86.163.147:9999", + "registeredHeight": 1039885, + "lastPaidHeight": 2128710, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1877115, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrxMg8xxmzCoy8Si4YVdchoXk3qFkTE9CJ", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0adfc5961dd6b09d937c355fd0fcaaf689f80bed76e5a2e78ab2439edf146941686e36b791dcc53be90ab7a87bba7b07" + } + }, + { + "type": "Regular", + "proTxHash": "11cbc637f8f51bf0be8d40323fe45efd2ee061e05d81f2605418b41eea46a29c", + "collateralHash": "a71f304b4f1fe71faf0129eb8e5c4caf7bdd1f4f33bdcde31ccaed5a54938029", + "collateralIndex": 1, + "collateralAddress": "XpdozQyf5ksTZzYydcHv57QbBTsZzmuJVi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.29.56.109:9999", + "registeredHeight": 1039885, + "lastPaidHeight": 2127725, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121490, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc9bvDzWdDjGW3S4aTUbKZBAwqtWX7UEL1", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "8d823bdc8565b89bd28e0ed991436863eae499850899d4c9f06a7d5bc7f2af5a0f26503814fcb3923e06049647405da5" + } + }, + { + "type": "Regular", + "proTxHash": "d485c18173b851f3761fa3f717e00b104b6c564ae6c91b36dd302be8a12a6ca5", + "collateralHash": "51d1721351698226becf26c723f662a1bfbbd68053b3a33917884f779519ea30", + "collateralIndex": 1, + "collateralAddress": "Xu6Jf3rRR4KwVsyoWbht6yVgqsPeJXiKYt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.152.0.214:9999", + "registeredHeight": 1039885, + "lastPaidHeight": 2127726, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121490, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsRCo22c3uB2UKsgEfHsAQoHDC6dU8J93a", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "0114955296802340f9f67e4dde4a6cf1b5d6f518fe09fdf61600aba3b27cc1dc36dcac48c638389f1a63f4f53171cd35" + } + }, + { + "type": "Regular", + "proTxHash": "7bbba6d20097c5754d1f2b74254be9befc6e3ade4a049afe293e3c11593dcf18", + "collateralHash": "014fb8ab3baf443834a6301d4d9e954aa6710a4fdbab801be8226902d1855b43", + "collateralIndex": 1, + "collateralAddress": "XtwifGxRAxqoYpmfky5E4bmD2Xyypkxcgo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.61.107.222:9999", + "registeredHeight": 1039885, + "lastPaidHeight": 2127676, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121483, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxa9JV7vF2BLsDA54n42w4gTJMwFa4Ni3h", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "13e63365465ef3c4fab41da760892f8164f767d27a3df4e44d1470704b43ef2586c32ef36de555638df0f09f890d0d62" + } + }, + { + "type": "Regular", + "proTxHash": "c57aff0505e7a1ffbed7e60d089236d396e36ab4c64c473926f56b2867a8332d", + "collateralHash": "66c2ccf2c35ff473a0ba9a2e896bed28cc76ff580bfa04d4d2d27e8717e3ed82", + "collateralIndex": 0, + "collateralAddress": "XmMfB8fL7TKuG8Aymkfszh6hBNLMxxnPjn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.56:9999", + "registeredHeight": 1039953, + "lastPaidHeight": 1978461, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127275, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvrAbXbaqG6n1RDzdAnnKnJNfSTy2iSHhy", + "votingAddress": "XvrAbXbaqG6n1RDzdAnnKnJNfSTy2iSHhy", + "payoutAddress": "XmMfB8fL7TKuG8Aymkfszh6hBNLMxxnPjn", + "pubKeyOperator": "8001e702fcff4389148ede7c9515b5dba5cffa05160c1d17055e6f3386dec52105e0d88b3d21c86d5dd34f2c6475bccd" + } + }, + { + "type": "Regular", + "proTxHash": "51a4fb382b4469c9a2fb14676a24774a61f539103ceed79f18d2dd3ede6e671f", + "collateralHash": "d6b1f23519f591ad259d305b015e2a61adddcf594b28aa56d64056ef21ff4a2b", + "collateralIndex": 1, + "collateralAddress": "XnXecFHdEeTor3GuN28GzmVo7s1aiXNDdV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.59.62:9999", + "registeredHeight": 1040046, + "lastPaidHeight": 2070964, + "consecutivePayments": 0, + "PoSePenalty": 3799, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2071317, + "revocationReason": 0, + "ownerAddress": "XkCz8bmEDu5jwLvDWkmuThtWmSSiLu69T1", + "votingAddress": "XkCz8bmEDu5jwLvDWkmuThtWmSSiLu69T1", + "payoutAddress": "XnXecFHdEeTor3GuN28GzmVo7s1aiXNDdV", + "pubKeyOperator": "00223eb86a92c58d7d528bbe7c5ad99e77b51ff5ed81425a8a460916d068bb42fd7d8e26f0ea475150de79cf20ca8ee7" + } + }, + { + "type": "Regular", + "proTxHash": "70e1c049e9d35dbd7655516318896b9712cecee307dd6d1b316254acbea14896", + "collateralHash": "2a286f5844fd40235e268fe01ad49b914fafb448f8dc748445629c5b8b5b1afb", + "collateralIndex": 1, + "collateralAddress": "Xf9kmRoFdQU2WXMRxgU7cqhWTjp8e73jt7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.33.74:9999", + "registeredHeight": 1040050, + "lastPaidHeight": 2067593, + "consecutivePayments": 0, + "PoSePenalty": 3802, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2070762, + "revocationReason": 0, + "ownerAddress": "Xm1nf12Aeo3XHxD94X35mC2DAvXdgHmF1P", + "votingAddress": "Xm1nf12Aeo3XHxD94X35mC2DAvXdgHmF1P", + "payoutAddress": "Xf9kmRoFdQU2WXMRxgU7cqhWTjp8e73jt7", + "pubKeyOperator": "99650c6f0b401e1ffd2f63b9489bec67cff47d0c8da20276116f02a98de5dfb000be84054d3fc82b032d1c92378ce7b7" + } + }, + { + "type": "Regular", + "proTxHash": "5cf844a788d706abe786178182551b8712c0718c7f1944804d1611ef37a5ad3d", + "collateralHash": "f39e7a69479b7191915370321e6ee3dbc1ece118dff9340b7f00528257849aac", + "collateralIndex": 0, + "collateralAddress": "XbcuwK7tJikAbdYhWB3ySuicLadDRpZJaH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.186.39:9999", + "registeredHeight": 1040062, + "lastPaidHeight": 1983379, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128323, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqAMH1VuWP9iQXdr9QMa9xrUkfQ6oMFheB", + "votingAddress": "XqAMH1VuWP9iQXdr9QMa9xrUkfQ6oMFheB", + "payoutAddress": "XbcuwK7tJikAbdYhWB3ySuicLadDRpZJaH", + "pubKeyOperator": "8451624e5fbcdcf1703e9c1e80cef6e07e648ce343952f3e30c82c17c64a934870b54f30249398532e4a3e74a1e07df4" + } + }, + { + "type": "Regular", + "proTxHash": "df722b745603ebaca279e83d5c9f04ded5abb961b2901c863b4bee167385e6a3", + "collateralHash": "3ccca43d34f6400b1e7d09a4008a04d040597adab6b1938cc0470a309d4491b0", + "collateralIndex": 0, + "collateralAddress": "Xq4UyqYwdhDgp9ztLS4uVUcTza8pVh86Dt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.152.222:9999", + "registeredHeight": 1040121, + "lastPaidHeight": 1984838, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127896, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfwjsVDttRXsofhDPtLdLb6ZstWQmdtGVR", + "votingAddress": "XfwjsVDttRXsofhDPtLdLb6ZstWQmdtGVR", + "payoutAddress": "Xq4UyqYwdhDgp9ztLS4uVUcTza8pVh86Dt", + "pubKeyOperator": "858b723abd9fcd44f34c78196d6800baa4ce6122b2df0c870877e30838fa8507fd2a60b1f714b801a07f4d42b62c3797" + } + }, + { + "type": "Regular", + "proTxHash": "c4f10ed9ebb9cc9dc01f28925728b5d4f438dbff52217ca95374884a859e72c4", + "collateralHash": "caf186f4f0b18a5c49edcc8c18f774381105c3940b6a947cc082e8f5faf64db3", + "collateralIndex": 1, + "collateralAddress": "XmRhKirgtG57nq2ChcdA23Wt6FivFF6EnS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.5.179:9999", + "registeredHeight": 1040139, + "lastPaidHeight": 1985122, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1881032, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "XqCte6iF33U1PoZ9qVBWu7FG7TwgAcH1ep", + "votingAddress": "XqCte6iF33U1PoZ9qVBWu7FG7TwgAcH1ep", + "payoutAddress": "XmRhKirgtG57nq2ChcdA23Wt6FivFF6EnS", + "pubKeyOperator": "0b11359c950e99239880598b0c68843085ac409ddbc7699244412c4e7d29a2d5e793ea1182943c5d2740b75b3098d662" + } + }, + { + "type": "Regular", + "proTxHash": "1737a5ecfceff261c4c528c5f71ecc489c30808e8b5301e8f7ec348a079fdb0d", + "collateralHash": "6c0e3250f09e1e435a05f386e940ddd7e6fc40bce567acaabddfdb2f126ec330", + "collateralIndex": 1, + "collateralAddress": "Xoik58Awn93wNK6utACtBJqZfoB7RznxQs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.163.0.45:9999", + "registeredHeight": 1040209, + "lastPaidHeight": 2127721, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121490, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgk9Dr4tMhgdxUBqxVbnTF9Bh33BQ9L9Gj", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "81e54db3f12baf6018ed8252548bf6e775ef0cc5ad5ab937969fb5191e80aec2cc4bc5fcc965f8a20e5084f89bb37471" + } + }, + { + "type": "Regular", + "proTxHash": "567361737007642a1044e43544aa94030604d477b1675493b0001fb38a2570e7", + "collateralHash": "8bd13f7ae8df0029abc8542beb0865c8e030a1370206217ba677ccf32c7d0436", + "collateralIndex": 1, + "collateralAddress": "XiDan1kkEoCQST1FCLNFbUMPFN8rF2VuR9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "2.56.213.218:9999", + "registeredHeight": 1040218, + "lastPaidHeight": 2127738, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2087808, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmkouyEBzByANyRKwfjVeRepsZaLDsQMBE", + "votingAddress": "XmkouyEBzByANyRKwfjVeRepsZaLDsQMBE", + "payoutAddress": "Xig1STVJhBTbWYvqbwkSFYixay9DpffSGh", + "pubKeyOperator": "91474741cc90422121d9fa752066ed77142881a532919e12673cf5ce78155b1a56f18431bca33733409b8b5f87f2177e" + } + }, + { + "type": "Regular", + "proTxHash": "11d8588fd7555f7276a37a1dd91e24f3d1e7b8e05018a69a878b3b415f7ef21a", + "collateralHash": "b4bc8e63e2d703ba86b74f9df2d13089e07eef45afbd31614eb6ad29d4f9acdb", + "collateralIndex": 0, + "collateralAddress": "XrTev562qrPYuGHH5GcpktGCfo6Ua9qFJt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.12.33:9999", + "registeredHeight": 1040323, + "lastPaidHeight": 1985357, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128581, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvHfGGNZX2NEfGw8Cwzye1ebi7SYhBrHpw", + "votingAddress": "XvHfGGNZX2NEfGw8Cwzye1ebi7SYhBrHpw", + "payoutAddress": "XrTev562qrPYuGHH5GcpktGCfo6Ua9qFJt", + "pubKeyOperator": "8c77c140c1376380b9457b542eef5d0bf8407497d5ee298332ea35136d314e7664e86f1391b868a79052bbd29939e642" + } + }, + { + "type": "Regular", + "proTxHash": "ff6eef134c820048043b923fdd68d73d0010f167bf63c7fcec80ad28b8d9e74c", + "collateralHash": "78e6a2072a2ffa81f41bbfe89421949488f18f2f96b4abfdb7265b8d0b42b843", + "collateralIndex": 0, + "collateralAddress": "XbPonST1mXRSYBxuwAptwHdrfPgF8w4bwv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "37.139.11.82:9999", + "registeredHeight": 1040423, + "lastPaidHeight": 1987042, + "consecutivePayments": 0, + "PoSePenalty": 3975, + "PoSeRevivedHeight": 1385287, + "PoSeBanHeight": 1988661, + "revocationReason": 0, + "ownerAddress": "Xs9WmcCse81e4BkwqkLecrHxSj7THpcffT", + "votingAddress": "Xs9WmcCse81e4BkwqkLecrHxSj7THpcffT", + "payoutAddress": "XbPonST1mXRSYBxuwAptwHdrfPgF8w4bwv", + "pubKeyOperator": "9034d1c46b1e7b171eaaf2826d1ff8a4c4d925a5e3013ec7d8d741ee06a33ac682b010e425d07bb15fe7d9d951e3e5cb" + } + }, + { + "type": "Regular", + "proTxHash": "30d4ebcd100f039329f2a597e3e1e22e07e852b931b54c3e16279ba1200d8f5e", + "collateralHash": "b4fc941ab961b955c59e2f12a66116192132e9205ac645a866b62fc72644876c", + "collateralIndex": 0, + "collateralAddress": "Xo4WWk3bSJjg6BBb3sMoLVnqVQEruzEBTs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.61.118:9999", + "registeredHeight": 1040430, + "lastPaidHeight": 1981674, + "consecutivePayments": 0, + "PoSePenalty": 4016, + "PoSeRevivedHeight": 1881075, + "PoSeBanHeight": 1982922, + "revocationReason": 0, + "ownerAddress": "XmTrHvjhmPiZW9UjFMwrsuU5vbDh1VBRaG", + "votingAddress": "XmTrHvjhmPiZW9UjFMwrsuU5vbDh1VBRaG", + "payoutAddress": "Xo4WWk3bSJjg6BBb3sMoLVnqVQEruzEBTs", + "pubKeyOperator": "075aca7e96c83fef55d198e8ee837e20ec0ea8652a3f5ebff65de8c9a215f1f9203e8d4a9cd41935b6b14557ada4b256" + } + }, + { + "type": "Regular", + "proTxHash": "17e2310fb28bd4b5fb09a17d171ce48539e04725e79a5b33da3ebb5219357fc6", + "collateralHash": "0f1e2356ecc11e7f7a07a889d38484e34dd3f6057a75697849647cd1b04eb657", + "collateralIndex": 0, + "collateralAddress": "XgMMszurpJgHuNEynpdjL1ByV46Z2iuqPH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.128.50:9999", + "registeredHeight": 1040504, + "lastPaidHeight": 1978497, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128088, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrHe3RM3Wux7joXcesY8xjjJVjNx9HGrxm", + "votingAddress": "XrHe3RM3Wux7joXcesY8xjjJVjNx9HGrxm", + "payoutAddress": "XgMMszurpJgHuNEynpdjL1ByV46Z2iuqPH", + "pubKeyOperator": "1948d392912320b0636748999a2c2e64615e0587711553123a013089d369501ca9353d0c05732ba18dfa2952043ffa1a" + } + }, + { + "type": "Regular", + "proTxHash": "11458559445f58a76496b3da896d5e2661a93b0750bd4a1cb6bc7ccaed8ebcdb", + "collateralHash": "ac82bc29b38f1feedb2197e6852b4220bb47949b156e2d9042fb0d3f63e0b95f", + "collateralIndex": 0, + "collateralAddress": "XqBywujYnE2XSQZBPTWNfFadedySM7Ax7g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.82:9999", + "registeredHeight": 1040575, + "lastPaidHeight": 2128522, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1158527, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XccffPUUX9QsnpCVDDY3agKPEBdoUquqU9", + "votingAddress": "XccffPUUX9QsnpCVDDY3agKPEBdoUquqU9", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "93ce6b5cec263f0cdf19e817398ab4f7a142e1346b1641d20e251d5095086acb701d48fafca05cadd6873c5b60099bf5" + } + }, + { + "type": "Regular", + "proTxHash": "7ec1b79eb53ac708a95c2eaddd71b7e793a1905edfe23186f3b146827affcc01", + "collateralHash": "9a298301faac44eb85dcf42ed23aa792c6e9fe50c58f659bc5892a654f4e5608", + "collateralIndex": 0, + "collateralAddress": "Xj1xqorjWqyDYFKwNsQbREpRUMJE9CMd9w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.149.233:9999", + "registeredHeight": 1040615, + "lastPaidHeight": 1985347, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128659, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu6y69vwQWp6ptTmSoAYHsGCve6YpDiRHk", + "votingAddress": "Xu6y69vwQWp6ptTmSoAYHsGCve6YpDiRHk", + "payoutAddress": "Xj1xqorjWqyDYFKwNsQbREpRUMJE9CMd9w", + "pubKeyOperator": "976b2c46d25170251ab4c372ff5b8c2f64078201c150e3dc9f4134cec69bf23221fc168876348844afb245e733cd8d4a" + } + }, + { + "type": "Regular", + "proTxHash": "cd41c7d470d77cefec5c3929faaba082f18d6fcee4e7140ef325d41050eb501e", + "collateralHash": "4d1f3e28333edeb582b1f36195be4e18ab33bc50ab4121618d021a15eb1e83a2", + "collateralIndex": 0, + "collateralAddress": "Xxheyu3WUiCEbVY7J6LgPwgAJKfW8c4zK7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.156.220:9999", + "registeredHeight": 1040659, + "lastPaidHeight": 1985353, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128708, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxykZufmsRp8d9YYUzhsxL7EjsHbjXWZQF", + "votingAddress": "XxykZufmsRp8d9YYUzhsxL7EjsHbjXWZQF", + "payoutAddress": "Xxheyu3WUiCEbVY7J6LgPwgAJKfW8c4zK7", + "pubKeyOperator": "95e7c2398e85daf544e2d10bc05b42918d3499526ac9bb93a1a2733a1eca5f08ed654a6236b0f6e44ed7771959222a45" + } + }, + { + "type": "Regular", + "proTxHash": "fb2d8f5be43b3b96c9c9350787e39233afda9c312e851189f80500ddf21b8fdd", + "collateralHash": "86bf03902ee4f9d8c79b7e95806ae5cde741cb8ebecc9ed0839d02ede6bcb848", + "collateralIndex": 1, + "collateralAddress": "XivguYF5f847fvcMJtWYhXeA87nj8pJg4b", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.182.189:9999", + "registeredHeight": 1040692, + "lastPaidHeight": 1979648, + "consecutivePayments": 0, + "PoSePenalty": 4016, + "PoSeRevivedHeight": 1879281, + "PoSeBanHeight": 1982058, + "revocationReason": 0, + "ownerAddress": "XgcB3W6B9kti7W8HWUmtEPt6pY7UModTRZ", + "votingAddress": "XgcB3W6B9kti7W8HWUmtEPt6pY7UModTRZ", + "payoutAddress": "XivguYF5f847fvcMJtWYhXeA87nj8pJg4b", + "pubKeyOperator": "14d41586a98cc8aab22557126a655be437946455dccbafd215dcc1ccc9dce6d2444ea6ae94dd1685d44e00199bbafb3c" + } + }, + { + "type": "Regular", + "proTxHash": "3abe89c3c0153e225931c032efab644731157635e67c80f23c8c20e7a20d837b", + "collateralHash": "a5598870ced772a726b885830cee316cb2de7daeb2697df060828409f4e1e20f", + "collateralIndex": 0, + "collateralAddress": "XqCqEk81TShuzugqQNCsLZT9BEJtQUXeP2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.139.109:9999", + "registeredHeight": 1040717, + "lastPaidHeight": 1985494, + "consecutivePayments": 0, + "PoSePenalty": 3993, + "PoSeRevivedHeight": 1387736, + "PoSeBanHeight": 1985514, + "revocationReason": 0, + "ownerAddress": "XobPCqM6xJkdukvUf14q5UYEd4HCHqqxxj", + "votingAddress": "XobPCqM6xJkdukvUf14q5UYEd4HCHqqxxj", + "payoutAddress": "XqCqEk81TShuzugqQNCsLZT9BEJtQUXeP2", + "pubKeyOperator": "97fa07e5b67c33de9eb8fa01b2e06e849c9f73da4840c8f037c15e3eba29791bbd47e2be5f67abd566b13223ed9e4e51" + } + }, + { + "type": "Regular", + "proTxHash": "3a21b44617555e59998b5c0421a24bbb7cb9cd923abf7fcf68eb8148548a198c", + "collateralHash": "3d810eef8549b0481e7437b307d2b2340f5e248c84bb983f852650df2867ce52", + "collateralIndex": 1, + "collateralAddress": "XinnPCJsEqyvHiusgikA1bs7aVDBq42f9K", + "operatorReward": 0, + "state": { + "version": 1, + "service": "37.139.5.159:9999", + "registeredHeight": 1040755, + "lastPaidHeight": 1983676, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1385324, + "PoSeBanHeight": 1985514, + "revocationReason": 0, + "ownerAddress": "XbL3krnB2giGAFShY7zdtKCv69csVwrYiK", + "votingAddress": "XbL3krnB2giGAFShY7zdtKCv69csVwrYiK", + "payoutAddress": "XinnPCJsEqyvHiusgikA1bs7aVDBq42f9K", + "pubKeyOperator": "8218f9bc0e0b0ec8a7e41b23d6589df6cac287d2ae80bfe1b975483fbbcd42bab5b1a3e48943b09cf449c3db27594e88" + } + }, + { + "type": "Regular", + "proTxHash": "4ed230fee3311079c53b0415c81abdddef33ff1ef23a3fff736d0dfd1319e6a1", + "collateralHash": "aa8ca1e78aae9c5562bbbbd71fab27787c9c22bcf8167ee55a12d6d3790c6c11", + "collateralIndex": 1, + "collateralAddress": "XotfgSKUBNovwnNJmgnqqgKQMnkQSy2fdN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "2.56.213.221:9999", + "registeredHeight": 1040802, + "lastPaidHeight": 2126389, + "consecutivePayments": 0, + "PoSePenalty": 2144, + "PoSeRevivedHeight": 2120329, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbPSKSjvCRDYFpUmtaaDbe5QiTT2aArbRw", + "votingAddress": "XbPSKSjvCRDYFpUmtaaDbe5QiTT2aArbRw", + "payoutAddress": "XieRrmW1wVXMMCLdc75VBo6EppTvUNfm5z", + "pubKeyOperator": "0a55feeb95069c67139787e86c6ad236dfbc9160ff2d42dcf9da99be146e5618b709b26ad6b451a5d2c0d9ca81b3ee21" + } + }, + { + "type": "Regular", + "proTxHash": "703f82ab1e60a9b882451cf6b0f8bfce00fecf1c97d5b475b6564e49155e289d", + "collateralHash": "d4dd5677bd74cce8881df16cd32aec0943bbf3fbe4c5da468d311b3952190f8e", + "collateralIndex": 1, + "collateralAddress": "XqozRdC3XL1gSiNH7FXJym4RY8Lx4dvzwe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "2.56.213.223:9999", + "registeredHeight": 1040803, + "lastPaidHeight": 2125629, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126755, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdh11Duy5xR5A4TeCKwEj6ZfFhcMXnZHUR", + "votingAddress": "Xdh11Duy5xR5A4TeCKwEj6ZfFhcMXnZHUR", + "payoutAddress": "XgVt2ta9jSkDimzHgndTqgRJwfa3cvfoMV", + "pubKeyOperator": "19131fc7e22c69c2b2194c7ad3f22f931d5cd61c277fcb901b236e4a1eadc5a7154e4330789632b9bfa3bd4d6af0c61f" + } + }, + { + "type": "Regular", + "proTxHash": "82b61b0a6ea7cca44c25f6db70c514daf85c02db1ffc4b7383549a10cc97d249", + "collateralHash": "0aaf42cb1d79fa36786b415c95fb935ef5fb0ca940e6a91bd4bf41ee9033ac59", + "collateralIndex": 0, + "collateralAddress": "XqkALAexoLNrhYaPqYz6wjwUYndxVHUvCr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.1.147:9999", + "registeredHeight": 1040806, + "lastPaidHeight": 1983724, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": 1385499, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "Xrsgm82AjYG6PfUDTCFhXftpNsPX6HmrX3", + "votingAddress": "Xrsgm82AjYG6PfUDTCFhXftpNsPX6HmrX3", + "payoutAddress": "XqkALAexoLNrhYaPqYz6wjwUYndxVHUvCr", + "pubKeyOperator": "08af7220d9c42f6b7da6e2d301f084b915bf526d1c340a848303d92b3b57e7894d2717be6dd94a16cf4b8f94c03ad222" + } + }, + { + "type": "Regular", + "proTxHash": "c069d697fca794bb5b48d9cbfca7b51d2c5473e7c277f75aa6c3239a4e674c08", + "collateralHash": "54909c85635fb2b6413e02aced44b711bc84d82d05b5f192f3b2867e6834d1eb", + "collateralIndex": 0, + "collateralAddress": "XrUz5xZR8QExjmZyg3DeTCEE2Ab3SMBK6N", + "operatorReward": 0, + "state": { + "version": 1, + "service": "198.199.124.50:9999", + "registeredHeight": 1040811, + "lastPaidHeight": 1966371, + "consecutivePayments": 0, + "PoSePenalty": 4108, + "PoSeRevivedHeight": 1733997, + "PoSeBanHeight": 1968522, + "revocationReason": 0, + "ownerAddress": "Xhky5wcxUGH8XfZ8PuUuDXSnUr1F6CuvMu", + "votingAddress": "Xhky5wcxUGH8XfZ8PuUuDXSnUr1F6CuvMu", + "payoutAddress": "XrUz5xZR8QExjmZyg3DeTCEE2Ab3SMBK6N", + "pubKeyOperator": "9845f051390bfd3e39f1051ccbb8997d569ebdb1265d304c688e18731c3d072d60596e91be1d9e4aa210b075ad63c30f" + } + }, + { + "type": "Regular", + "proTxHash": "bc1ed7836d2233bbd8c0827abd4846c1455793fadb19a99e97f584446186523f", + "collateralHash": "8256cf17d953dcf4233c6205991b84ba852a7b90b5cffff1e4303cc6cfa42c3f", + "collateralIndex": 0, + "collateralAddress": "Xim8DCs8jQosMxEaQGPxhXHMNFTHMjDDBa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.159.73:9999", + "registeredHeight": 1040835, + "lastPaidHeight": 1980616, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127866, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh5YPcn97Wxtb2iQNv7XDhpKKSJBBotgdC", + "votingAddress": "Xh5YPcn97Wxtb2iQNv7XDhpKKSJBBotgdC", + "payoutAddress": "Xim8DCs8jQosMxEaQGPxhXHMNFTHMjDDBa", + "pubKeyOperator": "80a0b3f21a61f1834c593a21ef1b87d09f3bd961fd7b86a65362c9494bcc189e5eeb590acde2dfe0f2d79b74e040766e" + } + }, + { + "type": "Regular", + "proTxHash": "53fa62033273eb2d5a178a9019dd43c45d8c4c7e3697648c4263ad6d3d69389d", + "collateralHash": "bc06f09ffb16c07588355a446bbe2b7935abfaa9de185cd973ca251e6cc3278f", + "collateralIndex": 1, + "collateralAddress": "Xmp7ucSmiSqXN9tqWyJzzGNyUy7RLFjg4m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.157.91.177:9999", + "registeredHeight": 1040837, + "lastPaidHeight": 2128684, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1730275, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmR2DRMN4nA2ipdQG1vYLA8uRqaR9nhBDS", + "votingAddress": "XmR2DRMN4nA2ipdQG1vYLA8uRqaR9nhBDS", + "payoutAddress": "XqdKWiyrcvwBXTC3QnfURYJ9JSozoqGSwE", + "pubKeyOperator": "134057c09733f406ba830414a436c1473f7382dd76d4a5c5fd73ff9a569af3b61e59feff1f5a17eef9f7cde976853f6e" + } + }, + { + "type": "Regular", + "proTxHash": "f701c2255e188b411534235a78082ea3eb28c7e43612a69ffd78f6c2a72cca91", + "collateralHash": "777ecb153f525c2a8afc53e2f252a91db5fcc19edf025b9fe0eee56344de1fcf", + "collateralIndex": 0, + "collateralAddress": "XrLy4UU9dLJLfafttWEVfUJKtLhxrFW5Eu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.69.31.130:9999", + "registeredHeight": 1040890, + "lastPaidHeight": 2061697, + "consecutivePayments": 0, + "PoSePenalty": 3815, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2063253, + "revocationReason": 0, + "ownerAddress": "XyXoLm1Wrq3Ft8aKEdH7N1rCp3yyH3GSXe", + "votingAddress": "XyXoLm1Wrq3Ft8aKEdH7N1rCp3yyH3GSXe", + "payoutAddress": "XrLy4UU9dLJLfafttWEVfUJKtLhxrFW5Eu", + "pubKeyOperator": "85354254d1148542dba06798a36d4f6e3a1bfc5318ac9e00d819a51088a9e97873179f4a46ea877b8ae21837dfd879aa" + } + }, + { + "type": "Regular", + "proTxHash": "d200ee773f0f93fbe9eea6188eec8a05ba07780cb275a2061b527c0503ef8f6e", + "collateralHash": "cf63605da8c99f250ea3969bab0f4d044eece08b210391846acd09843f53ac66", + "collateralIndex": 1, + "collateralAddress": "XfSogsGts5WrEePkv2SgiJMed6iSnoA2L3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.140.151:9999", + "registeredHeight": 1040890, + "lastPaidHeight": 2062309, + "consecutivePayments": 0, + "PoSePenalty": 3813, + "PoSeRevivedHeight": 1895037, + "PoSeBanHeight": 2063253, + "revocationReason": 0, + "ownerAddress": "XoKshuHLXJSUpGPryrpTc7t9J3rrpUnxyM", + "votingAddress": "XoKshuHLXJSUpGPryrpTc7t9J3rrpUnxyM", + "payoutAddress": "XfSogsGts5WrEePkv2SgiJMed6iSnoA2L3", + "pubKeyOperator": "1678a03234ac2192d1f4a39fd151aee1d41b214664acad63d1a36c2f319654eb5e43c31d8e09985ca5314446c85f3e73" + } + }, + { + "type": "Regular", + "proTxHash": "c0d3669e770aa84e8da49d2432039574179e9a595e588ff7fe2614092431e6d8", + "collateralHash": "ea487fa008d226f7d6453dd634127789c9b2c517855cd91cd7340b6b07366982", + "collateralIndex": 0, + "collateralAddress": "XsBLjqw7yxZinwEDPGYmuZAHND2QXbCGRk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "37.139.29.66:9999", + "registeredHeight": 1040906, + "lastPaidHeight": 1983152, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1879204, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "XfznzCkvKc4r1Ct6tkTRB6WD2y9BRj12m2", + "votingAddress": "XfznzCkvKc4r1Ct6tkTRB6WD2y9BRj12m2", + "payoutAddress": "XsBLjqw7yxZinwEDPGYmuZAHND2QXbCGRk", + "pubKeyOperator": "802cdeaa259db76ec4d23aebc6e012a65c7d53cb00a35686228ea4d170fd590d2dec213c841857655c2aeff0b5bd5fd5" + } + }, + { + "type": "Regular", + "proTxHash": "5b0b41e3756c6861d44b344d0f14dc8bc2300ec679c901027f195b426d03ac96", + "collateralHash": "c8abd9ce030fe39af3b232d20d638c5fd57a28c5ea60a318748cb97d6287c8c5", + "collateralIndex": 0, + "collateralAddress": "Xv2EPi4PNmN7CJ3nQuHLuccLeLmqRUXVW8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.172.196:9999", + "registeredHeight": 1040996, + "lastPaidHeight": 1985113, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127242, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwxjsfvDofrgN3Z2yqrmhdPXTGdhyMiSoy", + "votingAddress": "XwxjsfvDofrgN3Z2yqrmhdPXTGdhyMiSoy", + "payoutAddress": "Xv2EPi4PNmN7CJ3nQuHLuccLeLmqRUXVW8", + "pubKeyOperator": "86edc104d6c17fd2a739c272e3251d6bea449bf24937a78914e0b254e22dff4fb11d5cd4d18e2df1ac4957369e05822d" + } + }, + { + "type": "Regular", + "proTxHash": "023447f20a556399b13d98ee106f0fda6862d180344029a02c51f605e0909831", + "collateralHash": "577e010448e643d0a400412a4ca9bc5b6a8dcc65eb3a54e5d3d575242e0d2328", + "collateralIndex": 0, + "collateralAddress": "XvPhgQrqjLKbB4Xn88He2ajSbCQSgKjLyZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.224.233:9999", + "registeredHeight": 1041005, + "lastPaidHeight": 1988328, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128616, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvsPHDKc53G2tVZw6kYVxAbYxg16HefdQS", + "votingAddress": "XvsPHDKc53G2tVZw6kYVxAbYxg16HefdQS", + "payoutAddress": "XvPhgQrqjLKbB4Xn88He2ajSbCQSgKjLyZ", + "pubKeyOperator": "00779888692fbaec343f42b0e9b552956f705f690318fa3f5a6d5451b893281575c7f8051e1d4db7703d5856b782e0a6" + } + }, + { + "type": "Regular", + "proTxHash": "cf74f1fa6049b13d88b60df207382e380d5586c801f8aac41262f9e9abc509c8", + "collateralHash": "b0314762d367e85cccf111d1b4b53b449b50239d5c2de925105aabe7df873edd", + "collateralIndex": 0, + "collateralAddress": "Xu4ndNtZreRZAA87GH6mNikUJ2CoPMiDBt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.166.18:9999", + "registeredHeight": 1041083, + "lastPaidHeight": 1980451, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127551, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp9R9uThKKp3hH9dxLZBjs2XoCSQnPKSXq", + "votingAddress": "Xp9R9uThKKp3hH9dxLZBjs2XoCSQnPKSXq", + "payoutAddress": "Xu4ndNtZreRZAA87GH6mNikUJ2CoPMiDBt", + "pubKeyOperator": "054447bea5723e76328040f50b74897e6b34a2b28fe547675a3b068553f3536771f0af89069455d69d1850192a7b193a" + } + }, + { + "type": "Regular", + "proTxHash": "29d2e282c6afc066ad77b37871255ba300da72c298a9230e6ad808558dcdceb1", + "collateralHash": "fdae8db22fbbbfc16da69141350b43baa7c634a8ee5306ce16d2b0e67c083e48", + "collateralIndex": 0, + "collateralAddress": "XpGm4mgYiF6LJ3bHUuBbnzL1zh1DXmy8yV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.159.219:9999", + "registeredHeight": 1041101, + "lastPaidHeight": 1965683, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127829, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxhje5iqEQVZ8eTuT9LzQpY4GMrHuCm5Sw", + "votingAddress": "Xxhje5iqEQVZ8eTuT9LzQpY4GMrHuCm5Sw", + "payoutAddress": "XpGm4mgYiF6LJ3bHUuBbnzL1zh1DXmy8yV", + "pubKeyOperator": "948fea6aae9145c85265710dfd17006871059c3c94c899785a53fcc0915918bdf09781a2309414355d26cbc8f067615a" + } + }, + { + "type": "Regular", + "proTxHash": "6d662103ba5d838386d3a26c446c99ac5743881968ac34d3ce55789a94f00f68", + "collateralHash": "b0145b98a41b59cea83ea909e73be0f4a73fa5ca91d3ee483ab8d62a78ec23dd", + "collateralIndex": 1, + "collateralAddress": "XwmHQfrKTjHzkeZtnNpthGeW1eg9B29b2m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.219.237.108:9999", + "registeredHeight": 1041125, + "lastPaidHeight": 1669911, + "consecutivePayments": 0, + "PoSePenalty": 4456, + "PoSeRevivedHeight": 1640102, + "PoSeBanHeight": 1673771, + "revocationReason": 0, + "ownerAddress": "XmKoTeT152zRhmK5zt5H3E4QTJtyBdiysz", + "votingAddress": "XmKoTeT152zRhmK5zt5H3E4QTJtyBdiysz", + "payoutAddress": "XvjTqQazRn1d7XA2bEQWsLPgoSg5g7vaW1", + "pubKeyOperator": "0774b68ca6b96a5a7cfc310e2a55fce5e5f7861d4964d3cd09649bb0701e55e9cbed651e4c8212e6a78475b071cc74ef" + } + }, + { + "type": "Regular", + "proTxHash": "17b861154235f320b5bc6b43c7ae4e48efeacde699cf34681c08a821091bea86", + "collateralHash": "f2d85b2eb43ffc83a6a3d14691ed5d956c3da713c28cb16a53a52f743c6e404f", + "collateralIndex": 1, + "collateralAddress": "Xst1f3HDf5fThNJXWzu8UDaw4nCxBfL1dN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.219.237.111:9999", + "registeredHeight": 1041127, + "lastPaidHeight": 1672522, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1634163, + "PoSeBanHeight": 1674923, + "revocationReason": 0, + "ownerAddress": "Xr4PgXBtX1cXkX3hJ6PDHfr1q4gsffTb3p", + "votingAddress": "Xr4PgXBtX1cXkX3hJ6PDHfr1q4gsffTb3p", + "payoutAddress": "XyFgMugZdSDC3TbhcEi2tvuGTbM7uA13qB", + "pubKeyOperator": "80f5d6a72d57b10d8773280b553583f69c183c33985a7aedeff63ed7d3d2124ec1551c6b9fb11a45c09351769107e7c0" + } + }, + { + "type": "Regular", + "proTxHash": "47ee1618f510156ca8b658e8b4ca1cd0e64d0fd3d57a2b639fd10abb4978285e", + "collateralHash": "26adc4bbc2fb0650574a9df8a4eba79cae3a06cce6ed940669c6f35dd2413894", + "collateralIndex": 1, + "collateralAddress": "XjMjyKx5zyBYbxgQ76mWnmd2riBwXWW42Y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.219.239.82:9999", + "registeredHeight": 1041132, + "lastPaidHeight": 1584810, + "consecutivePayments": 0, + "PoSePenalty": 4561, + "PoSeRevivedHeight": 1634163, + "PoSeBanHeight": 1635285, + "revocationReason": 0, + "ownerAddress": "Xy22zL4Eo4q9DH4jDcXnfS89J7Z5dnSK6T", + "votingAddress": "Xy22zL4Eo4q9DH4jDcXnfS89J7Z5dnSK6T", + "payoutAddress": "Xrc2MgzU89CmL8je5StSu1TDDN1S83qV9R", + "pubKeyOperator": "1203d660407aa2e3a1226759cfffaed6c126172ad97fb4305ee88a897c1a229b32b0d12808de21a1d049fa15be2a3b8e" + } + }, + { + "type": "Regular", + "proTxHash": "c3a403ea6a0d1db6eaa0a0449de6b48a676c507400e0bf931f5defa612a6a9b7", + "collateralHash": "19b41f885ebe247141acf99fbc02826f813cddbd0050bdbd81775e99facbfb31", + "collateralIndex": 1, + "collateralAddress": "XnE374ibiE94N9rybVpHe91PU1Ke688YBW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.64.104.221:9999", + "registeredHeight": 1041135, + "lastPaidHeight": 1682301, + "consecutivePayments": 0, + "PoSePenalty": 4470, + "PoSeRevivedHeight": 1494095, + "PoSeBanHeight": 1683670, + "revocationReason": 0, + "ownerAddress": "Xb9zJrug5nHmgx1rcdV2WjbHHTu4mxFPuV", + "votingAddress": "Xb9zJrug5nHmgx1rcdV2WjbHHTu4mxFPuV", + "payoutAddress": "XoS5dKxQiftxLjD5BPNEnevSaDDZnmjQac", + "pubKeyOperator": "030ab5f00c2c79f5b3c6b5c81f9b6fcc787e4efe34b9bcfe9cedb6b996fa0c132cb0323eecb5ea161d0e01fec8786ab9" + } + }, + { + "type": "Regular", + "proTxHash": "c0f14f9861c9825452638be0398b3b190a294c2e4d6555a5bf6099556f4b65fc", + "collateralHash": "5c2aafc47af0af89c2638af70d9c20067b800e837c9098d798a748d23a716331", + "collateralIndex": 1, + "collateralAddress": "Xda2jY4kxaUuD4Em927vUDhbnuWpLWE6wd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.244.17:9999", + "registeredHeight": 1041137, + "lastPaidHeight": 1984451, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1873784, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "XteFExJSK8QJGt87TQPjEqmGHX5km1giR8", + "votingAddress": "XteFExJSK8QJGt87TQPjEqmGHX5km1giR8", + "payoutAddress": "Xda2jY4kxaUuD4Em927vUDhbnuWpLWE6wd", + "pubKeyOperator": "08f2df3680e05aaf7b66fe3990860a43550523cf93647cff5b0123e51608a4d2a2d209311672acc00edd6737e29cbd3a" + } + }, + { + "type": "Regular", + "proTxHash": "d0c8e82fa2bb3b21e9dd3fe57337031aef6855d3249d7ca19d0089fe9dfd288d", + "collateralHash": "0a4c933e828ffd515d98d21405eab23c9843737469958afcbc563a4b07c92cef", + "collateralIndex": 1, + "collateralAddress": "XsWtKJWQELZScfpmNMGuEmb4tJkdNZjoPJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.64.104.222:9999", + "registeredHeight": 1041138, + "lastPaidHeight": 1735176, + "consecutivePayments": 0, + "PoSePenalty": 4469, + "PoSeRevivedHeight": 1494131, + "PoSeBanHeight": 1737180, + "revocationReason": 0, + "ownerAddress": "Xu1CTHTuvLQdKY7U4xg4Y5xJcPGet6rJwo", + "votingAddress": "Xu1CTHTuvLQdKY7U4xg4Y5xJcPGet6rJwo", + "payoutAddress": "XkmGg6srq82FNL4otoAEmbiTM7DpmY6rF2", + "pubKeyOperator": "0c8695a5c73ad1e6aace39970c16064275460631879833fe5a39f9ba23f17c6c79277cb304b9b56325568c6e628ee7e5" + } + }, + { + "type": "Regular", + "proTxHash": "150662a1f3635235e4db9688774333744e5b78acc119282830720b4b33364f91", + "collateralHash": "8768505b4ec30b811ec6c94805036516046b7429e9484473f3c09c7ec34f134f", + "collateralIndex": 1, + "collateralAddress": "XnZwgJmHRv1UTo13Hmo9BTAkmv2BeLBxD6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.64.104.223:9999", + "registeredHeight": 1041140, + "lastPaidHeight": 1731467, + "consecutivePayments": 0, + "PoSePenalty": 4462, + "PoSeRevivedHeight": 1494131, + "PoSeBanHeight": 1733579, + "revocationReason": 0, + "ownerAddress": "Xr2rUmCzdxeVAKxebZKCoHdHCPPRET7xwW", + "votingAddress": "Xr2rUmCzdxeVAKxebZKCoHdHCPPRET7xwW", + "payoutAddress": "XqkTZyo32ngLND77Sc4mTB8pbemJZZMXyH", + "pubKeyOperator": "95a5e2f352479fc32553b07b20f0a8861867ae6fa86b1ce74aca455c7c03397fba30e9c958cd71fc986b0beddd1a7442" + } + }, + { + "type": "Regular", + "proTxHash": "98124811f0fc6c8c546884694d4a016c4b98a3b6442a1335dccefc8ee88970fc", + "collateralHash": "4b17b948b3148250ebeae887e9f10526b04dac36f641bf08efaf8bfeba9620f5", + "collateralIndex": 1, + "collateralAddress": "Xo76gmntukzXVSfNdsjxtzmdCtCe5Rbnxz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.64.104.219:9999", + "registeredHeight": 1041143, + "lastPaidHeight": 1732228, + "consecutivePayments": 0, + "PoSePenalty": 4466, + "PoSeRevivedHeight": 1516350, + "PoSeBanHeight": 1735019, + "revocationReason": 0, + "ownerAddress": "XpmdwC32vAMdpdHj6rmQUbB7PpctVu26jw", + "votingAddress": "XpmdwC32vAMdpdHj6rmQUbB7PpctVu26jw", + "payoutAddress": "XjYhMecEkE1os9fN5hgqfZkLLcAfdNUjdb", + "pubKeyOperator": "8b9edb13b82e54c5b284b14869c55f21e83b44fd64932c2089f6aca8fdfbbde9145cef47b3e0d42c7bb53882ffab6639" + } + }, + { + "type": "Regular", + "proTxHash": "c6a1ae326c75d29125f9e52d3e1785799b7c7f5e83fe6dc2abe250fd0aabbb21", + "collateralHash": "e276404514394c725b7e9f661fbd48eb7c06f316c4975c36acf20c7b058c9ab3", + "collateralIndex": 1, + "collateralAddress": "Xe6GerfWRWcGFUJJAFqf7SkVriGnFZhdtZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.206.165.89:9999", + "registeredHeight": 1041147, + "lastPaidHeight": 1732772, + "consecutivePayments": 0, + "PoSePenalty": 4465, + "PoSeRevivedHeight": 1495528, + "PoSeBanHeight": 1734467, + "revocationReason": 0, + "ownerAddress": "XbcWFXyEiDJhDwqBtXB5YZ8r5SK89aVgPq", + "votingAddress": "XbcWFXyEiDJhDwqBtXB5YZ8r5SK89aVgPq", + "payoutAddress": "XdxvFiGDSXVKqe8iHtmyji2WrE2wt22YfX", + "pubKeyOperator": "96427db7ac84ee40c82e4680baa4185518ded1891f38282745f070fff577c006cfbc5db3d7d76d20bed3ec0e1e696d6a" + } + }, + { + "type": "Regular", + "proTxHash": "2ecfdcb9ea0cc70da8d722ba7755fd83cf180cff5d9d408e0b2e4e53c61f0734", + "collateralHash": "f1c59745c036f9def51ff6df354b2093212c6df0d8664157455076c390f51b6f", + "collateralIndex": 1, + "collateralAddress": "Xmcxe25V4pX943VKovfUYnvQ8va9uScnVu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.206.165.90:9999", + "registeredHeight": 1041150, + "lastPaidHeight": 1736416, + "consecutivePayments": 0, + "PoSePenalty": 4468, + "PoSeRevivedHeight": 1495529, + "PoSeBanHeight": 1738102, + "revocationReason": 0, + "ownerAddress": "XomuKFvMLxBMUddKgjhJP7FHUE1GiKqChf", + "votingAddress": "XomuKFvMLxBMUddKgjhJP7FHUE1GiKqChf", + "payoutAddress": "XpeoLY9Fx1T6bpfarAzhrRPZzQ6tZhxEef", + "pubKeyOperator": "889b874dfaf663c9304f38d94739969ebeb928c2168ec3a3a5da198805bd8bf39762c88267b4092f2395a3897eefec95" + } + }, + { + "type": "Regular", + "proTxHash": "0842eec6a5110ab6ed75490ff53be8d77d6c03249bb2b42c24f5e7695783c64d", + "collateralHash": "330879433e6c9dbbb086e59eae4547312dee74a8acf202bf267ce483f4aea1bd", + "collateralIndex": 1, + "collateralAddress": "XqfTotjdGpQ1wx2pKQkLg4Fr5nzbsEkRXy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.67:9999", + "registeredHeight": 1041289, + "lastPaidHeight": 2127237, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975742, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqzxjXNr9dkKuDkd8KqkKfeyYK7yg8R7Zy", + "votingAddress": "XqzxjXNr9dkKuDkd8KqkKfeyYK7yg8R7Zy", + "payoutAddress": "XoD5XgcovrVNPpyZDoq5hoeoPfmS3qqdfG", + "pubKeyOperator": "0ad5a3f7a1fa7b6de79958bd97449f7d1f4de19b7c3e122349c3bb79b3609b4779954cad8b5b5092a96db59702063fd5" + } + }, + { + "type": "Regular", + "proTxHash": "1985bf5a1e2c3caf9aedd5e345008bf198cb486c96c653bb13286f6447d12b11", + "collateralHash": "c7c7fba25c4ae353bb04c44a329243bd89e4fa99bd0e774db1defa3bdd5d8cb5", + "collateralIndex": 0, + "collateralAddress": "XwP21dopTKhSaAx2hocgVvpi2uZzAz23uA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.30:9999", + "registeredHeight": 1041292, + "lastPaidHeight": 2128278, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976882, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtFNkrS9PPxheGjy3Pfif2ow3dVsajm1er", + "votingAddress": "XtFNkrS9PPxheGjy3Pfif2ow3dVsajm1er", + "payoutAddress": "XoD5XgcovrVNPpyZDoq5hoeoPfmS3qqdfG", + "pubKeyOperator": "8114d8bfc924bfcf87843755439127ba70a199662ffccf03ceaa019e1a2f9801aed7ac5c318fe2e4a2ca54c07db79ab0" + } + }, + { + "type": "Regular", + "proTxHash": "9ef71a1e00b9605f5523c6557cde0b5a3d280b0101f419bf3f8029a3022c04de", + "collateralHash": "8d0a16de10f19f3aa4cc0fcb4419eba0333aa93d18c1bd272fafb7c55b695b82", + "collateralIndex": 1, + "collateralAddress": "XrktnHX1qEGN2mJaEiv9D5VDnukmfY79Kq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.157.91.189:9999", + "registeredHeight": 1041343, + "lastPaidHeight": 2127579, + "consecutivePayments": 0, + "PoSePenalty": 3727, + "PoSeRevivedHeight": 2087726, + "PoSeBanHeight": 2128650, + "revocationReason": 0, + "ownerAddress": "Xk8swBRCDTZ1C2pxAhE26hAJjyNR5xwB4r", + "votingAddress": "Xk8swBRCDTZ1C2pxAhE26hAJjyNR5xwB4r", + "payoutAddress": "XmcGSe1HM979n9JrViP9sBoRZrTQ2AbQyb", + "pubKeyOperator": "939a849f1241a1e8967b649928a19a117b681a50a66a1964bbc9aaa0cf497ad6106b953b20f083f4a930bdb88082ce11" + } + }, + { + "type": "Regular", + "proTxHash": "70a8389e923d046c914507a57fe3596efc331c630176d36c96c1d04f0a5daa37", + "collateralHash": "1a1eba21a77bf3aaa48636fac213508362edc761662c9bd9b0982c0c50643260", + "collateralIndex": 1, + "collateralAddress": "XhUZNksd8n9amVfDBifVnQR8L9njjPBZab", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.42.99:9999", + "registeredHeight": 1041361, + "lastPaidHeight": 1981140, + "consecutivePayments": 0, + "PoSePenalty": 4009, + "PoSeRevivedHeight": 1386531, + "PoSeBanHeight": 1983498, + "revocationReason": 0, + "ownerAddress": "XanzaiRQxsRdFbnoWgBGsKutZu9wFy8v65", + "votingAddress": "XanzaiRQxsRdFbnoWgBGsKutZu9wFy8v65", + "payoutAddress": "XhUZNksd8n9amVfDBifVnQR8L9njjPBZab", + "pubKeyOperator": "9433046a63f602c228e38397782875c2ff342b0ee9eab23f0b93fe794463191518fae65cbc9cb1330f043e0004ca16ab" + } + }, + { + "type": "Regular", + "proTxHash": "e425459884ef8c0a7a0ffa3f656cf97e3dec0cebe737bbf513053fc5d6ed349e", + "collateralHash": "a8b2a88c97682f213d3f71ffa2d0ae2e13220745c7fa7e2b93c2aff0824db4ff", + "collateralIndex": 0, + "collateralAddress": "XsQHt66HDH6xnTkayzF3qE6GMvWWJsnCSq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.150.204:9999", + "registeredHeight": 1041383, + "lastPaidHeight": 1984413, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1873719, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "Xv31NCNHYfkvNLnVutMGvAsfQQqimxiZ3x", + "votingAddress": "Xv31NCNHYfkvNLnVutMGvAsfQQqimxiZ3x", + "payoutAddress": "XsQHt66HDH6xnTkayzF3qE6GMvWWJsnCSq", + "pubKeyOperator": "85bdb5dc93193e721d3ce515cf543240782a4338b4cc865df10d8517e88d01c3bb7ea00344a37a29d343870e90446dd3" + } + }, + { + "type": "Regular", + "proTxHash": "2fbdb48261be9bf350aefd47ca562f1b0b598c5ec0320cc2fc20b5d6f4517242", + "collateralHash": "4ff0e6927593441619da14aeef18c7700eb34d59f89e074989d296cca9109037", + "collateralIndex": 0, + "collateralAddress": "XuWfvDbNsr4mQdQjHs5tujtLLrVj1mSyZG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1041540, + "lastPaidHeight": 1722893, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "XeSNoGiQDBWxTtJFZrePR8PQ4QniUHtWQU", + "votingAddress": "XeSNoGiQDBWxTtJFZrePR8PQ4QniUHtWQU", + "payoutAddress": "Xqej5ojDmWbCXvKGm85ZquaeEWTEJ49zf6", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c5ed79b52723d5507848129a20acd9d18d1a62ac9e7a0e1d622db10fdb9d423e", + "collateralHash": "9a6cd9d9894cd9c7c28f56debd794a44870722ca751c212c8b4790081902f344", + "collateralIndex": 0, + "collateralAddress": "XqRYFoBQ3AKkJiN8dqt1dYUAdAZDmVBxpY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1041541, + "lastPaidHeight": 1726933, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727340, + "revocationReason": 0, + "ownerAddress": "XtojshTGaehfihCMuyrfm7cqqRW5rD7k4t", + "votingAddress": "XtojshTGaehfihCMuyrfm7cqqRW5rD7k4t", + "payoutAddress": "Xqy5KJSQc97tyLBeuX6j8JQycpCetWyoKN", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7418e63e3740c3681da4148447439e98c883f0da28944c1fba833c3af5400dab", + "collateralHash": "9bdba9e56952109eecb1f56780f03c9f7ff6c9ebc68692b02b08592640afd9d1", + "collateralIndex": 0, + "collateralAddress": "XywfmpP4zP577fXwJqSby11HhNipTdBc9F", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1041543, + "lastPaidHeight": 1722899, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725803, + "revocationReason": 0, + "ownerAddress": "XrBSdpGKzm45CiFkb3qr8se6agtRKjUME8", + "votingAddress": "XrBSdpGKzm45CiFkb3qr8se6agtRKjUME8", + "payoutAddress": "XmHB8qU31MWKBwPNXn1FCVW9aRErBxq4YW", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "84d819a598a3f54e42a5271189113bfe75cb543444e52ba3808b08cede90e55f", + "collateralHash": "e91456716c5cb45c320d801505dee38885c1317827a18896fa76b5aecf9f2340", + "collateralIndex": 0, + "collateralAddress": "XnmoD2BLxwMRsaGs5Wb9sUJiGUL3zAvh6m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1041543, + "lastPaidHeight": 1726937, + "consecutivePayments": 0, + "PoSePenalty": 2437, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727408, + "revocationReason": 0, + "ownerAddress": "XfT6erVxuBc15jcWFKcvgZbKWRLeu7jf62", + "votingAddress": "XfT6erVxuBc15jcWFKcvgZbKWRLeu7jf62", + "payoutAddress": "XmtaGdxeAWmdWSBDpbAMCP4etaoPUrZnAq", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "182ea91d5a111e8903052f794ff369b163ce89da90220640b9a0fc5b6a6bb139", + "collateralHash": "a1393a9ac77f479c58bb4d0573728e86e02425262b875c47daa302d658c33539", + "collateralIndex": 1, + "collateralAddress": "Xm7WzNCGQBSTnPDMbChaMAqCELWTM32iZx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1041544, + "lastPaidHeight": 1722900, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "XrzvSQtQJUjii9JQvZPQsSgAPKdFUeMMcw", + "votingAddress": "XrzvSQtQJUjii9JQvZPQsSgAPKdFUeMMcw", + "payoutAddress": "Xpg9WeC2vNFNKqnbom3WX2kpBut9U1eYDf", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1fb3066c8175dd3ba481389bece4d3392bc5ab24a7dace0eb02efd0510977780", + "collateralHash": "3e5f613d94b8203e201a5845faafc5d587a20105b78c82ed00c3ca4328258a34", + "collateralIndex": 0, + "collateralAddress": "Xeg9v8ZUCaQTSeMykymCAYYmzcaYwPomAH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1041544, + "lastPaidHeight": 1722903, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726284, + "revocationReason": 0, + "ownerAddress": "XvHon5VBmwu1XmeTVBZDCkTg8SjLdh9p1g", + "votingAddress": "XvHon5VBmwu1XmeTVBZDCkTg8SjLdh9p1g", + "payoutAddress": "XiQsmWju2tbcN4PR3iNkjcGSAaBkerciUc", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "40ac47d68313057ea84325110af06a6ab605e4c4df18a3a01d7ffa737d85ccea", + "collateralHash": "dc99981fbaa2ddb55b725f34ab79d061b76c96d832c21f827849b549d9fba895", + "collateralIndex": 0, + "collateralAddress": "XrLwis8g5KCq3CjC16Njers2j5SzwbVRr4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.85.205:9999", + "registeredHeight": 1041591, + "lastPaidHeight": 1980941, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1873827, + "PoSeBanHeight": 1984362, + "revocationReason": 0, + "ownerAddress": "XnLnX7w379JFceSLFobBsfiCMcKUiTaEPS", + "votingAddress": "XnLnX7w379JFceSLFobBsfiCMcKUiTaEPS", + "payoutAddress": "XrLwis8g5KCq3CjC16Njers2j5SzwbVRr4", + "pubKeyOperator": "9863f0912e32557ec8b6a0b5eff622be87f2b6c2706e16afa0a55ef7f33f712b851ba989f5fe469cdb2b3fda96e75559" + } + }, + { + "type": "Regular", + "proTxHash": "8ef71d8296c6e5166adf6dd8893ffc02f9194a1e572dcc1bd9e3528b2e2081ba", + "collateralHash": "9cb5b79045fdecc57a70029aa856f3a65ccdbcd711608401a337ea69149f2a76", + "collateralIndex": 1, + "collateralAddress": "XtWZUfHyVakBmazbxU49suK9RgEWnrjCmx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.157.91.19:9999", + "registeredHeight": 1041622, + "lastPaidHeight": 2125038, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126805, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxRmQqVXutDmWEuQNwhr3hidqG8SogLQMV", + "votingAddress": "XxRmQqVXutDmWEuQNwhr3hidqG8SogLQMV", + "payoutAddress": "Xp3c4deAfc3iuWhJJPW4P7H4aibmT9taz1", + "pubKeyOperator": "11a093411fd6679cd68186cf697d059cc408c76ea227055cf166813fb51bab52c259643945c0d0f8f905636c35896d45" + } + }, + { + "type": "Regular", + "proTxHash": "da490287ad389dd05e6faeb8a685fe1c65840cf3c1438a38f04483d3adefc78b", + "collateralHash": "fa4cb6bfced9ed479a18024b2df718b236115c0fa1b71e2728d1fbc28cc0d28e", + "collateralIndex": 0, + "collateralAddress": "Xvk2BhYBkrej2bgSnXFxJnW2AZrsW4wKKa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.128.51:9999", + "registeredHeight": 1041640, + "lastPaidHeight": 1981105, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128121, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfAMGkz5zzUrSbCSW9RXGJqkuHhTafMrQP", + "votingAddress": "XfAMGkz5zzUrSbCSW9RXGJqkuHhTafMrQP", + "payoutAddress": "Xvk2BhYBkrej2bgSnXFxJnW2AZrsW4wKKa", + "pubKeyOperator": "89647f7632aa1d2c39469658ef7fb9046a2dc64dc2002a4d0b282b59ccb2547aa42a0a3b68b19dbbb1a994e41d9b424a" + } + }, + { + "type": "Regular", + "proTxHash": "5dbd24d1f1c1807fdf626543c29b21316da94b6a21ab86d88527f57cb11727ec", + "collateralHash": "ecc57ac03f9d8b0b5d92c0b918b65411a210fcd9a279aaf95e958451a8759cc7", + "collateralIndex": 0, + "collateralAddress": "XgStuSVCYBL736Nks1WiFFzVKo57BkaYyB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.56.220:9999", + "registeredHeight": 1041758, + "lastPaidHeight": 1985085, + "consecutivePayments": 0, + "PoSePenalty": 3972, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1987797, + "revocationReason": 0, + "ownerAddress": "XgmqUczzcwHrUZeLgy1MJPsbAH7Lqif7HK", + "votingAddress": "XgmqUczzcwHrUZeLgy1MJPsbAH7Lqif7HK", + "payoutAddress": "XgStuSVCYBL736Nks1WiFFzVKo57BkaYyB", + "pubKeyOperator": "8b0e1fea4cba93bd50c49ff110baded1c90d8e4e3c52115e1a23678f133fbbedbebbde20c6ebb964b88c1b5238b9ef71" + } + }, + { + "type": "Regular", + "proTxHash": "c52b252703a7c07359a9b4c9d057c9b317ff08af1d963b304120fe0051f850ee", + "collateralHash": "3a99401ffaabab499810fe14b781661df4ea0410d8f18a8c065b523e32b0541d", + "collateralIndex": 1, + "collateralAddress": "Xt94faxmyZkXth2hi5wkqwoPwtHKNi1HuJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.178.169:9999", + "registeredHeight": 1041936, + "lastPaidHeight": 2126202, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcHN2v4wP58wsjKFiHvmTj3hY4bJGXv2KQ", + "votingAddress": "XcHN2v4wP58wsjKFiHvmTj3hY4bJGXv2KQ", + "payoutAddress": "Xt94faxmyZkXth2hi5wkqwoPwtHKNi1HuJ", + "pubKeyOperator": "861327a26cd0b6fabb50faafbe6b80bef353f4d8ed05cff74e1ee8f47db490ff766729a5564c71408fb8a2be14831c8a" + } + }, + { + "type": "Regular", + "proTxHash": "bb678c98b6a4085360f3f54594a8475231be4bbc81e218532e9a20a950ce2199", + "collateralHash": "c398da20d809db24400ac9c4183fa6c0cb0b8a4a577b0dda94186c080a0a3404", + "collateralIndex": 1, + "collateralAddress": "XiwxcKxyWxhGPSseVV1WebCtdJ6NMJESgZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.2.7:9999", + "registeredHeight": 1041938, + "lastPaidHeight": 2118893, + "consecutivePayments": 0, + "PoSePenalty": 3837, + "PoSeRevivedHeight": 2007235, + "PoSeBanHeight": 2119722, + "revocationReason": 0, + "ownerAddress": "Xr6mzm8A5YXKfhiZMHQiTSREPcNiZ9Qmxg", + "votingAddress": "Xr6mzm8A5YXKfhiZMHQiTSREPcNiZ9Qmxg", + "payoutAddress": "Xv35BeERJ3pXoQfSZwZKRrWSy3KwYn84A5", + "pubKeyOperator": "944eaf6d0e477f99e6c02149bd980859e6384f662272dd371018c5a46c7b9aa8f5956ffafe3461b9adac4b917c949b19" + } + }, + { + "type": "Regular", + "proTxHash": "88e59196dc4d54066f7f63e708cf6f380fcd282f28d33baa0fcc8149ef5b2972", + "collateralHash": "fb380ab1fbc14352fdee5f6a23b922b2ba82af52ee519544a4ff8f633c672dbb", + "collateralIndex": 0, + "collateralAddress": "XqrwovYTm98buYBKtJFXrvf7GAi6Avo3Zo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "37.139.10.249:9999", + "registeredHeight": 1041983, + "lastPaidHeight": 1981811, + "consecutivePayments": 0, + "PoSePenalty": 4008, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1982922, + "revocationReason": 0, + "ownerAddress": "XoBS2MYegcpawxLCtrYm2SEZATrhSfknvH", + "votingAddress": "XoBS2MYegcpawxLCtrYm2SEZATrhSfknvH", + "payoutAddress": "XqrwovYTm98buYBKtJFXrvf7GAi6Avo3Zo", + "pubKeyOperator": "01c4544e585b744e2bbfad6997f5063db2df8cbfe97c9652ef7e973079efec86f83fdc06755d91d4db50f4e72cd6e694" + } + }, + { + "type": "Regular", + "proTxHash": "12777044a7367311f4dd0ae1ee583006c757580b5d7212d6443b20ce8e62e92f", + "collateralHash": "c28a31cda8713c1a5eb47821614311efa1640a655edf332a933c2218c7c9ad01", + "collateralIndex": 0, + "collateralAddress": "XiXrNx9sZ19NwWsUsg5mfGWWQHLsvUo7Zh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.59:9999", + "registeredHeight": 1042281, + "lastPaidHeight": 1981498, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127409, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx9DUiDSmC8F3oK2MVSrSy5ueb924WaSCM", + "votingAddress": "Xx9DUiDSmC8F3oK2MVSrSy5ueb924WaSCM", + "payoutAddress": "XiXrNx9sZ19NwWsUsg5mfGWWQHLsvUo7Zh", + "pubKeyOperator": "0d1ab7438c6aa71a0639fb14c14304eb9936f682651a67fa5acc3fe14fd5693b13b137554a9d23b44956aa3ed82f6060" + } + }, + { + "type": "Regular", + "proTxHash": "de88e9d922c63ff98a2d34bbb391496820227e51a10c7b19099e9e9876d35c69", + "collateralHash": "7ab5a2ad6dc3226aa4c852715b356137a34da9c554a963e7d38c79fa32053c51", + "collateralIndex": 0, + "collateralAddress": "XqkbtGpuTmny8BVrjD22MkSaNbLeyEP56A", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.171.57:9999", + "registeredHeight": 1042320, + "lastPaidHeight": 1981772, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127307, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyTtMJv7pH8FLL8qmDPH2xFLdm3QxjNzCY", + "votingAddress": "XyTtMJv7pH8FLL8qmDPH2xFLdm3QxjNzCY", + "payoutAddress": "XqkbtGpuTmny8BVrjD22MkSaNbLeyEP56A", + "pubKeyOperator": "16154ece2ef98c16a49cbfda2071ac663ec2cd9989505a4530dda0c2b338d2c02cbfb2200b72afbf1838baa2d6c0d582" + } + }, + { + "type": "Regular", + "proTxHash": "5480f489c2e7d4e9992349a0eb85b4a81796979c66a5f2c67f5df05866e01df1", + "collateralHash": "b085dfe1a8b217370dddeabdfcafe4c1cb486758ef67dd0981e2b8c7522e48f2", + "collateralIndex": 0, + "collateralAddress": "Xfdkeuz2SdqgFDHxgjjCBPEGTc9Kctq4u5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.153.111:9999", + "registeredHeight": 1042368, + "lastPaidHeight": 1983560, + "consecutivePayments": 0, + "PoSePenalty": 3985, + "PoSeRevivedHeight": 1385106, + "PoSeBanHeight": 1986954, + "revocationReason": 0, + "ownerAddress": "XbeVRRJAgx6JEDiciRKcKWMrqkffw3rw8X", + "votingAddress": "XbeVRRJAgx6JEDiciRKcKWMrqkffw3rw8X", + "payoutAddress": "Xfdkeuz2SdqgFDHxgjjCBPEGTc9Kctq4u5", + "pubKeyOperator": "155fae7865fda947df9153b306f23913ff242b0f067b5a4d6ec37b5ef2ab54061d0661a86be38065e96fbf992ba88916" + } + }, + { + "type": "Regular", + "proTxHash": "e57cd2b222410fe9045b26aa9246feb3b2f7c60b2b1129951ea95ca3057989f7", + "collateralHash": "a84fd82a496c6c4b2ce688d34d8a2f888e04d04640293e6e1ad4fae938500ca3", + "collateralIndex": 1, + "collateralAddress": "XeERYTuRYfptbmAi1yLXgA7DGeSq7CEYs9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.158.188:9999", + "registeredHeight": 1042405, + "lastPaidHeight": 1984148, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1880136, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "XfkK6C2whNZpCVmuVEoGZiaviELcUzcC8d", + "votingAddress": "XfkK6C2whNZpCVmuVEoGZiaviELcUzcC8d", + "payoutAddress": "XeERYTuRYfptbmAi1yLXgA7DGeSq7CEYs9", + "pubKeyOperator": "141d89e211c93bee9f4cb26e4bd1fa530798dc1cc27e545c0e096aec9d913ba2cae572b339aaab612a0bb2f60dd71ceb" + } + }, + { + "type": "Regular", + "proTxHash": "01c1241272fec89bbe3048676692d691c1e2149ebba1a55bb06392290a81a901", + "collateralHash": "f8769ac7a2d125294a0a4b874034173dcd9a4d812c7403a7b25e58a830f707a5", + "collateralIndex": 0, + "collateralAddress": "XjmiEwqPnNuYuWRUwy8Vdnu19w4boJeGuW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.236.233:9999", + "registeredHeight": 1042521, + "lastPaidHeight": 1983367, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": 1879382, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "Xc36aQ9mzU288P3FjQeaRivPy5NmY417gk", + "votingAddress": "Xc36aQ9mzU288P3FjQeaRivPy5NmY417gk", + "payoutAddress": "XjmiEwqPnNuYuWRUwy8Vdnu19w4boJeGuW", + "pubKeyOperator": "059d940595f7e275f2a2c64b55b4e29c99b9db41c6cb949bb57d86a6890c598f9cccdca3f3e8bb4bd482d3621322ea9e" + } + }, + { + "type": "Regular", + "proTxHash": "4ff640fbe1244bc0007066f90776622d3a2efb9fd8a8c5c27f5e89f358fc08da", + "collateralHash": "4faa884b00368f65a690dff41df8e2febdb272784ea90e538b6991f217c5451b", + "collateralIndex": 0, + "collateralAddress": "XhdEQr5ybkGiGvWVg6CJckeRB4eUHsC3Dq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.232.187.22:9999", + "registeredHeight": 1042689, + "lastPaidHeight": 2128466, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1827692, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwzckuwQkfvdPHCif31ejWz5PPVc4dfTHN", + "votingAddress": "XwzckuwQkfvdPHCif31ejWz5PPVc4dfTHN", + "payoutAddress": "XhdEQr5ybkGiGvWVg6CJckeRB4eUHsC3Dq", + "pubKeyOperator": "0dcc882f15743749ae6ddbef9e1be822cfd51a10a353e9184182d02628ea251d0f0d52f545b80271f83edd3113da0144" + } + }, + { + "type": "Regular", + "proTxHash": "1b87a352204dcab9b28082d358a81b1e614b03dce2ba2a423368b7386d8cda07", + "collateralHash": "569cf6ff57b7967c966cd31430276a0f7852cb4057c08b05fe9f5e5390730834", + "collateralIndex": 1, + "collateralAddress": "XjdvynSqsjSK2BEEKWic9S4TKwE8mmXqLG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.56.94.188:9999", + "registeredHeight": 1042730, + "lastPaidHeight": 1533792, + "consecutivePayments": 0, + "PoSePenalty": 4870, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1537653, + "revocationReason": 0, + "ownerAddress": "XrAG2J36om5tXdrG8fTR5ZQ21ej9jxkB7W", + "votingAddress": "XrAG2J36om5tXdrG8fTR5ZQ21ej9jxkB7W", + "payoutAddress": "Xkuk1z4XHbGEhMXr8sxubdWMi66DfFpris", + "pubKeyOperator": "095df90102e6f63dc58f4a8910e8ab145899f53c7a532c8fcb28eb24724a4cdd7b7fdcd15d3539e4fac36690a020a409" + } + }, + { + "type": "Regular", + "proTxHash": "7a16c86c3ba2b7ec19e13064505195f700e8cb7729e5ccb6c8aa0657cdfa9d82", + "collateralHash": "3843e2e16e88d5f14d81970c214e9299f304f01d0f88792ab3f51bcaba6fdf4d", + "collateralIndex": 0, + "collateralAddress": "Xuizi1a6DhjzAsmcUE8mzba9mZLHGqWQNH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.165.80:9999", + "registeredHeight": 1042754, + "lastPaidHeight": 1978550, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127620, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xur7C9bSTE2229P8g1gBpLtwoAoUzj6Kmv", + "votingAddress": "Xur7C9bSTE2229P8g1gBpLtwoAoUzj6Kmv", + "payoutAddress": "Xuizi1a6DhjzAsmcUE8mzba9mZLHGqWQNH", + "pubKeyOperator": "813da9abd4f93fd325b582f872b9551edcc2d3069672624f363641d87fff41f53d70bd0fd6ac0956813578eabfe9ffd4" + } + }, + { + "type": "Regular", + "proTxHash": "64d0dd5470811e34b9ce07b7b111de9aa3c3b386651894e116dbe6d1b969543d", + "collateralHash": "554a40b8c0d738e2e35f3f413a1bb7707d843b0c54af2debb32c2a211af82da1", + "collateralIndex": 1, + "collateralAddress": "XbWqVm7SC8g5F78t634vNECj9K6q4ZMSBB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "180.68.191.77:9999", + "registeredHeight": 1042809, + "lastPaidHeight": 1870501, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1745280, + "PoSeBanHeight": 1872618, + "revocationReason": 0, + "ownerAddress": "XrKQvfVxUSQK91LdAMTWqovSAUNLF7xUeM", + "votingAddress": "XrKQvfVxUSQK91LdAMTWqovSAUNLF7xUeM", + "payoutAddress": "XbWqVm7SC8g5F78t634vNECj9K6q4ZMSBB", + "pubKeyOperator": "16b95507213d3a58b351b89c50481a167485009b2be7c329d9f9efb4399695e0ebbcb084943df079b258001e077f55a7" + } + }, + { + "type": "Regular", + "proTxHash": "1eb05da8e76ed4c9e70f0400762e8136d82d90484d803842f113f2b824252ae1", + "collateralHash": "60ef07b310d74143d81e145f97d426f737ba9ee55b72ee0a3f5f2e84ba3a155d", + "collateralIndex": 0, + "collateralAddress": "XkUTcAac2ctCMjyW3tHvXKzdv9FH7krdrz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.183.183:9999", + "registeredHeight": 1042927, + "lastPaidHeight": 1985105, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128253, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc9JnKihonh36wKUpiZPVAo87p7aQsj2Xz", + "votingAddress": "Xc9JnKihonh36wKUpiZPVAo87p7aQsj2Xz", + "payoutAddress": "XkUTcAac2ctCMjyW3tHvXKzdv9FH7krdrz", + "pubKeyOperator": "8c4dc56ad1bd61e55b7006548a8a7762e6228069c70e1f35c560854be2b6724c9fb29f0d0416af18c3e7a99a761aede0" + } + }, + { + "type": "Regular", + "proTxHash": "c4a15fde0759164e7de20c8afdf60cf0ff0f885ce63b6810e35240501a098997", + "collateralHash": "71de63862c7ca6d627876a7197d44d26882489d0cdb61871d2b9767f660e8ee9", + "collateralIndex": 0, + "collateralAddress": "XgvFut8CmQMQP9TFdvXDrubd9UZXHVaMC2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.202.37:9999", + "registeredHeight": 1043162, + "lastPaidHeight": 2127114, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmq4QhtfBxvznxFrwtwZYuTj4MQk94kfK8", + "votingAddress": "Xmq4QhtfBxvznxFrwtwZYuTj4MQk94kfK8", + "payoutAddress": "XyVGNsmXftkn6fU3eLzy88f45g2LFTW8hW", + "pubKeyOperator": "99845ba07218cb70ad5779f7c70fd6bb5d1f807df3b772c4551b9a79c4b1ac39e3e46379fe2209cbc940f8e798314712" + } + }, + { + "type": "Regular", + "proTxHash": "857b424eb29ad076da2cb80e0accfba2b1f2d879290dd96f855d4cdfc485116d", + "collateralHash": "5933147d6dcf91e0f0507c55d03bbee6054b3984b9cf5f591da0983a4cde3787", + "collateralIndex": 0, + "collateralAddress": "XxPVVDgCtQ2gU7UmHhUh6pNhZoCx6uFAw9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.32.155:9999", + "registeredHeight": 1043322, + "lastPaidHeight": 1983211, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsjFK5UBzXtyFBq8r51zhY1FCRUgSf6a2E", + "votingAddress": "XsjFK5UBzXtyFBq8r51zhY1FCRUgSf6a2E", + "payoutAddress": "XxPVVDgCtQ2gU7UmHhUh6pNhZoCx6uFAw9", + "pubKeyOperator": "8c981426a2daea29fc4fedb5923b58180a6cd323fce27661a8cccc943fc72e508cbcf36a9361ef59b8fe9afd49a68259" + } + }, + { + "type": "Regular", + "proTxHash": "460ecc6c1ab6fce1ba4fd88384cae19b988bff82dfae90777ef17aad7c61fe23", + "collateralHash": "bb13e72236d8bb57d4c7fde7b458f1e0cac8bc932f0618d971d790b04c910e0d", + "collateralIndex": 1, + "collateralAddress": "XxgbcT6WSho47toMTcbBtFFTxr3Gom2jW7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "81.227.250.51:9999", + "registeredHeight": 1043979, + "lastPaidHeight": 2126073, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2116856, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpgQu4G5CAR3WbgYM85QB2JLthU98YGSa8", + "votingAddress": "XpgQu4G5CAR3WbgYM85QB2JLthU98YGSa8", + "payoutAddress": "XpnRPDeBgUBkAZn7LrEdyFf6EK15D1fe83", + "pubKeyOperator": "889c18828eb661ee9e3a967e2e05864d39de3666f57065ac1c6ccc14cb1bf22633117197bb18df78516f4c2b16f8070e" + } + }, + { + "type": "Regular", + "proTxHash": "f4cb0938dd2d5843ed0bcd92d7609b5d4324cc986eba5bf4b8afb643bd31ac8a", + "collateralHash": "9d66e4d6ebd66a2deaba35da74d8ead5234e2f2d88e1206c4fbc8b74767374f5", + "collateralIndex": 1, + "collateralAddress": "XrKiMnDhGZg6NUSrgHcSD3dgoG5isg54uq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "142.59.178.83:9999", + "registeredHeight": 1044554, + "lastPaidHeight": 2126474, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120418, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe5AkvEeqpPQAquuUqa9eeGsWW1dM6haXn", + "votingAddress": "Xe5AkvEeqpPQAquuUqa9eeGsWW1dM6haXn", + "payoutAddress": "Xnr3fBZHW9yZZ4YYyWPnFvbjcaddXWkpFJ", + "pubKeyOperator": "016844c9d0bc3058e75dd52fc52486943a07ab3a19ca91ec2e4aa0eafdfb8aa8de83d94ceeddb30fc7320ad37cb27fda" + } + }, + { + "type": "Regular", + "proTxHash": "00a6aa2d8bc371d4577c887a5c68003b75dba238eebc9c6d76941b1e7b7a4304", + "collateralHash": "f5976a61132e0c1c81933e3b3be06c0c73bc5cde1ef855ff79c936a8dafcaf8e", + "collateralIndex": 1, + "collateralAddress": "XbfRewDMvtzhqptEEgk3AAkUTaN5ZfiSg9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.148:9999", + "registeredHeight": 1045755, + "lastPaidHeight": 2126217, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvX2JFjdECnk4pucJAMgqiLLPuw2fScAHo", + "votingAddress": "XvX2JFjdECnk4pucJAMgqiLLPuw2fScAHo", + "payoutAddress": "XbfRewDMvtzhqptEEgk3AAkUTaN5ZfiSg9", + "pubKeyOperator": "0511a3fd6483e847ec3743388a0b27d6e06ec4fc5aaddbef55be1dc0ed8b18dae49d3090157bdee6e0ee14ae100deb46" + } + }, + { + "type": "Regular", + "proTxHash": "b4b0d5fcdd169c7ae466231d0bbefda1e3f707d07891212cbd164e224ac9e599", + "collateralHash": "af7c45dc5e9a508be930b0b3c498f4113fa6d6c950119b6f672ae7d6293d8739", + "collateralIndex": 1, + "collateralAddress": "XdnWRi9u9H569Gue1NAtv3ApFieqxuXzPN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.127:9999", + "registeredHeight": 1046037, + "lastPaidHeight": 2126415, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoovJSXwTTf8dDfV9mtpwozxdwtKNmwocz", + "votingAddress": "XoovJSXwTTf8dDfV9mtpwozxdwtKNmwocz", + "payoutAddress": "XnUkowgszUMy87BBX87yLe9DrnEZVbFvgJ", + "pubKeyOperator": "919d5511a6bdf776dc7d6345f5259f167a44e53564f53552789062fb04125ffb606334b9e6cd4ee59a3b9f71756e72ac" + } + }, + { + "type": "Regular", + "proTxHash": "95cf85c7817de7b91fb6505a79fe231d73e6d2dacf959006cbd1146386371ffb", + "collateralHash": "f07555de6aa78dbf3ab7fcc33912cc3121ac641cfc12dc5127a1e02de3e58011", + "collateralIndex": 1, + "collateralAddress": "Xu9AcH6kWG64nckhQS2VZBC5QdtnexVeaY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.167:9999", + "registeredHeight": 1046525, + "lastPaidHeight": 2126740, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpN8pxSn9FBCgZh3NqZ9YziqdM5RzEMEYY", + "votingAddress": "XpN8pxSn9FBCgZh3NqZ9YziqdM5RzEMEYY", + "payoutAddress": "Xs2x3je255Tz4XDjGLSDfHBLtn7XmhnKaR", + "pubKeyOperator": "836187d7b4f467a7a4cdbcc621bced9777c22fddd17015a8226cfdb1ecd4f89bba333bf4076a70d9b6de550bdf425b0c" + } + }, + { + "type": "Regular", + "proTxHash": "d500dc4e33c9174becd2600d6b61f70e2411f65854db194a68de67fd3c5e3ee8", + "collateralHash": "5c28d223e2b6a2de3c6834f4b613aec67c6289c2417171ce18973a4487bb6eed", + "collateralIndex": 0, + "collateralAddress": "XtQCRSH4v7pj9U87mhKqKGEjuFDmWZaebL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1046567, + "lastPaidHeight": 2097501, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1557313, + "PoSeBanHeight": 2100219, + "revocationReason": 0, + "ownerAddress": "Xm3wsQ39i2ihfcbFCbvhxEL3yU2B2MXf9g", + "votingAddress": "Xm3wsQ39i2ihfcbFCbvhxEL3yU2B2MXf9g", + "payoutAddress": "XtQCRSH4v7pj9U87mhKqKGEjuFDmWZaebL", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "53b891c2b7589ecc60915f726f875ffbc925f9f930da0ac5a0d401e7d3cc1a72", + "collateralHash": "22e9986aec09655a4cdce033fca31da20cd9412261c8b22fa2f8613dfc4bed29", + "collateralIndex": 1, + "collateralAddress": "Xrdo7VEWW9hQoWyoneuLw29Hg35QCtKrQy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.152.112:9999", + "registeredHeight": 1046704, + "lastPaidHeight": 2128133, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1857932, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkDQrUPKhWhvQLMsHcfynJ6RqzJ9LWnnpW", + "votingAddress": "XkDQrUPKhWhvQLMsHcfynJ6RqzJ9LWnnpW", + "payoutAddress": "Xq3sjsvMyyXHZSPsRaBeb9aNj8YWdj9v7N", + "pubKeyOperator": "8c10b4020c630351db359d1e6fca75e81aa2db7931bc5d0bb7dfa0983627a4c4c762af250e8ac28f238bc8da40deabee" + } + }, + { + "type": "Regular", + "proTxHash": "f0adc9a04556423c8fb94cefca91dc6cc44bf5c047a63bf325b10f8a64b11180", + "collateralHash": "d1c7a770f16d6315f00559bbd0f897226ca696a937a377b909f53e965cb09b12", + "collateralIndex": 1, + "collateralAddress": "XhkqfVukLqveT5nW63y6apWrUaxn1bLXSw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.108.253.11:9999", + "registeredHeight": 1046788, + "lastPaidHeight": 2124442, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": 2128056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XifRSoG2zc1UK8NEe6BfteH8mn46N4FWw2", + "votingAddress": "XifRSoG2zc1UK8NEe6BfteH8mn46N4FWw2", + "payoutAddress": "XmXcDEZo1hUUNMLmXNypfdiHpwLuq8Ez8c", + "pubKeyOperator": "0c3bbdbbe64a575bdf57efca0e4cf20afea2926e1367c30b1ddbefc68c3269d835f1a4c21dd6e397270a66f20a973ee3" + } + }, + { + "type": "Regular", + "proTxHash": "cc9ca2e84afcc0d806704c0faad834598d5d8edb82d214617c45d7faca0bc0fe", + "collateralHash": "c990c6158ad7005a320ae4aaedc132d8017ef0b648f9a0c02a4b47f18b9f0a4b", + "collateralIndex": 1, + "collateralAddress": "XrABJhyN3dPUT1nYhKcvDY6piXerBweKUC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.233.92:9999", + "registeredHeight": 1046793, + "lastPaidHeight": 1605888, + "consecutivePayments": 0, + "PoSePenalty": 4588, + "PoSeRevivedHeight": 1533975, + "PoSeBanHeight": 1607638, + "revocationReason": 0, + "ownerAddress": "XbsCPV95QB6UckpBxg7HQJsV5qezEvZpQR", + "votingAddress": "XbsCPV95QB6UckpBxg7HQJsV5qezEvZpQR", + "payoutAddress": "XkzKbLQAFiDgfihYo3EqjsZSDJaFUi8ykr", + "pubKeyOperator": "14c66f75ffa61ab89a05d1a481cd38aee3b7b0a0586b23f81b7ee7c77f0dc6399c477f9631fcd5937bbcdf5309ec408b" + } + }, + { + "type": "Regular", + "proTxHash": "093915cf03ffa4fc0621e04da393109bb9751a0a4a9ea8facdb47e5432741932", + "collateralHash": "3b79f7c2af5f9667f344ab8db3af4224a8b147f17a6dccd8d57331511b603428", + "collateralIndex": 1, + "collateralAddress": "Xhv57c5sxWNzwRUrd1WEqMXRJSnag5rXK1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.155:9999", + "registeredHeight": 1047144, + "lastPaidHeight": 2127246, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyjKLEq8HcP9cjLHnc66HM3S1Qxie5RHML", + "votingAddress": "XyjKLEq8HcP9cjLHnc66HM3S1Qxie5RHML", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "98cd4ae45074ac70c832f588ebfb28961ee690fceb0be47a9be962eb8566a04406179bace0254e3ba605a3b03288ab8e" + } + }, + { + "type": "Regular", + "proTxHash": "5cedca64d83b6e11d34314639d62c7f355be1f27d9c20f5dd17add9d4dd0f33c", + "collateralHash": "49d9234b544066b25fc89dd8c3724604862dffee9bb022191c7d0bc4306b991a", + "collateralIndex": 1, + "collateralAddress": "Xo46dfLHrza5qinUyhke5GQyZU5wZ3A1a5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.182:9999", + "registeredHeight": 1047148, + "lastPaidHeight": 2126108, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948739, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkVNtigjKobSkLgDSGt79m7gtYCdqvC5uV", + "votingAddress": "XkVNtigjKobSkLgDSGt79m7gtYCdqvC5uV", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "967740ef7542035d097822a80648998181edc5f86b7a85a10febc5b52cfb2e86c94fd1851892ebca4c0b3b071323e051" + } + }, + { + "type": "Regular", + "proTxHash": "bdb0deb1f5446b782ebd5b62b7b213f460826889da58ffe09a5886a9c885f3cf", + "collateralHash": "73661937acd90b4bd4972097e6032af0d7aa9ea782b36c4c61d240069534f62e", + "collateralIndex": 1, + "collateralAddress": "XqAYZrNYS3stTBRANSwUoQLnpEaqwbZish", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.51:9999", + "registeredHeight": 1047152, + "lastPaidHeight": 2127274, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb1CcX41ZMK4k5JQmsGyuCuCZGFkRjrCJW", + "votingAddress": "Xb1CcX41ZMK4k5JQmsGyuCuCZGFkRjrCJW", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "961ffce055ca01cfadc65ea4fb98411c75c001d5f0261440be6732bd56bbab216d74b8b014c0375914cc7b04eadc4f1d" + } + }, + { + "type": "Regular", + "proTxHash": "d41b219d51b2666f9bd720b40eca75ab293c70814a4e666554878716fadbbd42", + "collateralHash": "69e6e0988bc1da8c5591ffcc410ecaa57b292f66f22d6a8433fd6c5d02791b40", + "collateralIndex": 1, + "collateralAddress": "XsV4ogiAWvm9uCd4iXC6Y89zp1hTTBZp3V", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.187:9999", + "registeredHeight": 1047154, + "lastPaidHeight": 2127343, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1441196, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcknatsLSs6uVWXisiEpBZRki9nNMPLmBp", + "votingAddress": "XcknatsLSs6uVWXisiEpBZRki9nNMPLmBp", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "14a49eadd093b3b508ff43fd7e0950a6d151acaf8e188ca84b1d981ec0be689afbfcfad8a66740fa49c4934457e08ea6" + } + }, + { + "type": "Regular", + "proTxHash": "5df6de8c92cac8738228e25589922bf6a35a3a8c2c1f7d15d75f01fd46764830", + "collateralHash": "f14b689c23236af773419464a28d6cb40d5abbc615ae1045b7fd3ef9cade3a46", + "collateralIndex": 1, + "collateralAddress": "XiL7snoMr2N6y72RgHFKsNrqcUTEmjeaa8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.89:9999", + "registeredHeight": 1047160, + "lastPaidHeight": 2127872, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986994, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkcAwDp4mBjxbW5QHnkVDMJn5UoY9vp13v", + "votingAddress": "XkcAwDp4mBjxbW5QHnkVDMJn5UoY9vp13v", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "1812622fc6dbdf5993bef522c5f4444c066a423f1bd51e17d5099b2745513ae6fd31de968640aa719167a117eddc705d" + } + }, + { + "type": "Regular", + "proTxHash": "147050185386a7ee7704e7604a21da9de92cba117d8363f5b42b92ec39ab52df", + "collateralHash": "0f230aa6598a72250eebbe9dacbe295c681f842254b42cd18670486e4c881bfa", + "collateralIndex": 1, + "collateralAddress": "Xxcv9BQUX84aVFuo6bsgvSeDCgeUtaBdDF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.44:9999", + "registeredHeight": 1047171, + "lastPaidHeight": 2125815, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820814, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnoTveTdXgc1r6SEaSG999xuLKtpnoo7i2", + "votingAddress": "XnoTveTdXgc1r6SEaSG999xuLKtpnoo7i2", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "02775b810f03b9e1a1031abbd1e152ffecf8da7ff48e1fbb7664c219cfb1222ddefc6e2c5c89b45e03bc9e4ea6fcdb3d" + } + }, + { + "type": "Regular", + "proTxHash": "b835a13e3ee5080c473bae6f7d7af4a42866a173c880c3bf73f0190a6e42164f", + "collateralHash": "cc8d78058946223d8819912790010deb4ee01a2d086a5b8a04c4abbcd652b4ab", + "collateralIndex": 1, + "collateralAddress": "Xvemk6jt5wtZsyjBWDBzgRM9spGdYmbZsS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.221.100:9999", + "registeredHeight": 1047195, + "lastPaidHeight": 1371019, + "consecutivePayments": 0, + "PoSePenalty": 5120, + "PoSeRevivedHeight": 1085328, + "PoSeBanHeight": 1374707, + "revocationReason": 0, + "ownerAddress": "Xo2UpB4WhLsgsMwc9VU9cCzPMpYZokad8M", + "votingAddress": "Xo2UpB4WhLsgsMwc9VU9cCzPMpYZokad8M", + "payoutAddress": "Xvemk6jt5wtZsyjBWDBzgRM9spGdYmbZsS", + "pubKeyOperator": "86cc8e4ab543de3ab9dc1bed4a4491d9440ab73b1680c4dca3c663a66eb13462c076abd1a0f2ed4a5caa6b1fd1649774" + } + }, + { + "type": "Regular", + "proTxHash": "108448bfd2babed6b9c25622760e60c6b2c5cfd17f590658b86ff7c919def378", + "collateralHash": "c60820064708527b5af8e85fb468404689ab3621df25bf4c64c8e2a96bea1c5f", + "collateralIndex": 1, + "collateralAddress": "Xo9rti4XyZkra53ZmFYxvdjdZvj2mNRc9w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.183:9999", + "registeredHeight": 1047244, + "lastPaidHeight": 2126110, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948739, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnK5ABYd1Fo9zB4WB5ZuZKPiHFiJqJQzGY", + "votingAddress": "XnK5ABYd1Fo9zB4WB5ZuZKPiHFiJqJQzGY", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "0756859f4ea8be341328f411b2e16926cbdf96648fa7cab5eb8ba662d6d58d917fc7688c1d9147e2390d5349b9604ace" + } + }, + { + "type": "Regular", + "proTxHash": "a9cc0baca3c02e746ccf5052088b3a58a79a1a157e69f7423cf33330b43b5782", + "collateralHash": "8834b219f0f41b2b939bbcdef02cd137322318f2153fd6ea55ac995a34578553", + "collateralIndex": 1, + "collateralAddress": "XrqYUzxt1FiyXZgQpKWRactWUCbqTB8VMQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.61:9999", + "registeredHeight": 1047244, + "lastPaidHeight": 2127369, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjTHTyzYYV7T4syHkvKoYmoMSszify1qC8", + "votingAddress": "XjTHTyzYYV7T4syHkvKoYmoMSszify1qC8", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "10ee7ad7f595691af1a77bf6bf27ddc8478581c0bb035cd24b743dd0415b336a214c0d079e75454f7624c7e58df11f42" + } + }, + { + "type": "Regular", + "proTxHash": "6400c08370692c4bea2d8b3d51f808746e63b39c678412671514afcf22609de5", + "collateralHash": "399cdc04439a146aaa48028c22d0d203a4b8abe809f07a8d746efd54aec4a900", + "collateralIndex": 1, + "collateralAddress": "XwiJBw2mE9APmLrJt27NrrE4bkYkfcfAzz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.6:9999", + "registeredHeight": 1047248, + "lastPaidHeight": 2128574, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2004293, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcbfjhCKyTYoU1GyCVY6KaTZQcg2DHELTL", + "votingAddress": "XcbfjhCKyTYoU1GyCVY6KaTZQcg2DHELTL", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "0ccb7f4c1de8c75d8bc761fbb46d0d625fb416a416b22dcabdbd47becc821b80437f351abd48bb334531c92966ed3e61" + } + }, + { + "type": "Regular", + "proTxHash": "a26ee19ced74fc55aefb7fae64d6b0e49e1a7a3f6598dbb584bcbe43eb5c6e8c", + "collateralHash": "4b5fb58de9ed78a4ff4d8402f790ed11ae8f547c9a4f843634debaae1fa90e8a", + "collateralIndex": 1, + "collateralAddress": "XimCrNxvppnfeLvWS4yeJijLnAiyXKJDPd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.79:9999", + "registeredHeight": 1047248, + "lastPaidHeight": 2127376, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1191123, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk2qf7J9nYWW8Dm8LhxT3wCnikv3QHBEF6", + "votingAddress": "Xk2qf7J9nYWW8Dm8LhxT3wCnikv3QHBEF6", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "8f4fad4d3a38c662b27390ef799c39de12533575e5267dd34d81b97b3916832fe6d0eda5aea8b6f4db9e43b820908813" + } + }, + { + "type": "Regular", + "proTxHash": "a4b56cc337ffe101e0a5651bdb942043612ef10bd176b8c86db032c1ba8d1344", + "collateralHash": "07ba9262a85622f3b9a41130b96cc1aab54cdd43b0fc2c06d0cf7b1e266b3201", + "collateralIndex": 1, + "collateralAddress": "XsRe7fPtTLgH1kkbMaHBDuNpbtujcYnttw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.46:9999", + "registeredHeight": 1047250, + "lastPaidHeight": 2128572, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2004292, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfXQ1F2koUuZphJDz8ztTfnbaTWSUBNzLS", + "votingAddress": "XfXQ1F2koUuZphJDz8ztTfnbaTWSUBNzLS", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "09c0ee0fa20fe6355e2cf84ca77799f3a39ca5794bcfc7dc4c78b747f7cad5d18dc54fa7963462bafc8565e92a8a0472" + } + }, + { + "type": "Regular", + "proTxHash": "91d3787634e52541680d1853d051450587e0f025d691460926df5194350023f2", + "collateralHash": "e4727bde347de4a820b4bbb724de7db76a0eb9a7725a4ec80e788c348258fda9", + "collateralIndex": 1, + "collateralAddress": "Xg2WfR3w72PeUHhNqDagvfx8PCNcoTpEEu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.70:9999", + "registeredHeight": 1047260, + "lastPaidHeight": 2126565, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1665706, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdddQ9T71G7X7uydjwumcejQhvvP6yBGot", + "votingAddress": "XdddQ9T71G7X7uydjwumcejQhvvP6yBGot", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "8f8532a66eccf1575186b8378c2e4bc40f5a4bcf0f41bc625697f0bdd2ef3137883c3250c7b0dc4edcc92d0bdc99de9d" + } + }, + { + "type": "Regular", + "proTxHash": "fdb28cd79093c2a6be18f7b168f50008125a2416984ac4126dab6c8646657dd6", + "collateralHash": "655f5de07c7acdfe1c4fffff69651b98d2fa34db54b639f55cf675df6b1ff9bc", + "collateralIndex": 1, + "collateralAddress": "XuxRQuRYQ1TBenaktDocf8pEN5e9y6BFch", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.35:9999", + "registeredHeight": 1047281, + "lastPaidHeight": 2127409, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhuXDkqHfM9ndrB31wRihSGj5Ld68MMcZ7", + "votingAddress": "Xwqp92vXjeFbyJGxx2SUXLCHsNqbX4PAUy", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "8a2c376ae40d217b5c7afecfd18493ef29ee32716d66c7901cf6d70c978ae62f6ce37dc0b30f603fb6c097dc9e7dca20" + } + }, + { + "type": "Regular", + "proTxHash": "974da38bce2e72fc3855cdd9dba91bcd91875054f90fa602b899828172e571cb", + "collateralHash": "b267c4e4c46ed6b59853eb2c4841ed35aaa9ef98e29923fa4605e06b3f84beae", + "collateralIndex": 1, + "collateralAddress": "XfsrTNSFWTYYqDm28ydsvxQVdvCtpEJ2Mp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.36:9999", + "registeredHeight": 1047281, + "lastPaidHeight": 2127406, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmSaEfHc7DnEPgVZvYiVLHpfu7gWnTosfH", + "votingAddress": "Xibg2m2kz4QLECPQ7mBET3wsLD37DXbi4w", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "0d1f1de62607e61bb5b16cb0dd0ffc3e389224eee37d87fccb74781676bb92ec9c641b361c22c5094a11a04d31c83e3e" + } + }, + { + "type": "Regular", + "proTxHash": "93464074b530dbf07aeac00023e742815b91b3ed43bb8c71802ef79f5604c2f9", + "collateralHash": "cfd6604931c82ca30d3d4cabf6481f4c3c4fcdb2d432d0f7ccf59bb0253b4ee7", + "collateralIndex": 1, + "collateralAddress": "Xg7kVJapATQ4Vf2QmjiHorYekZciQxgz5P", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.68:9999", + "registeredHeight": 1047282, + "lastPaidHeight": 2128092, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1939835, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuqZvx9hrJdGcFYPYq4n5dWf8PLQUkMGmh", + "votingAddress": "Xp9yr1c1a2B71f7dz15n2LSn7834n26Nca", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "0c2817934ed1f6b00c7eeb4cd58603d7745e7f5d4d53a2116b424ac839b48a8ba4633b75729fbb8c1e200faed41c27b1" + } + }, + { + "type": "Regular", + "proTxHash": "86df403ad70ff51cf65d5d0376d2d906fbe6d1a7875c360a4fbdaaed558ce1cb", + "collateralHash": "356dc464eeba3a159087d78037778c27d588fac6a97782098c2397485e89bf18", + "collateralIndex": 1, + "collateralAddress": "XifoSJUMntvHDWwmppic3tCx6fUNibyy8V", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.162:9999", + "registeredHeight": 1047283, + "lastPaidHeight": 2127029, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695535, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvFReewu9aC8mpNnC2cusu8M4hK9kvUiYs", + "votingAddress": "XnsQFyzefPmmoAZRPL2ryQjLwtDp7UG86D", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "93715aa9fdd42f796ce3b726d01254fec10647479db0fa7775304d540ec608a3040f6a5aa1326164ac70bf7c5634303b" + } + }, + { + "type": "Regular", + "proTxHash": "2d925832565fcf67fa292fac1a6e8053d579b04f95d558787d0da4bcc03daae1", + "collateralHash": "74e75a2ea36ae43c54003083b48787ed88100d50b494fc5937c26fa0a1c7ea1f", + "collateralIndex": 1, + "collateralAddress": "XyETrTySJfEHddBdHTMn6N6b6q5QUex8j1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.4:9999", + "registeredHeight": 1047283, + "lastPaidHeight": 2127905, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987015, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoSh82By6utPKehFZ4jVk1oNK1kuqa53dZ", + "votingAddress": "Xytnpi2hT7hdNyJBVmpqNvKgkNxXbrRQpB", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "96c1d00f49b8a17dd7704a99bfdc3cc55561be2542a495007dcab3c0287bcb32dcfd4fea2e1c0c4e64b25bbdf690cf31" + } + }, + { + "type": "Regular", + "proTxHash": "8cd8e70dde38a2110a12df3860da528d9af5e66656d6efe2e1794796cd31eef0", + "collateralHash": "047fc3763178b1fc35cbfb28911078e7ffa4b82e61bb4129d15ba3c7af356d3a", + "collateralIndex": 1, + "collateralAddress": "Xr1iAErSYTYZLUW2UzkiyqysNjiiXeun5t", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.36:9999", + "registeredHeight": 1047283, + "lastPaidHeight": 2127619, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1624284, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbm3ZSjLy6UsXs48H31BvC9GL6DeYWdiVw", + "votingAddress": "XgxWAH4MAXxEzvTo2VQpqhuEYGQnT3fqVK", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "11cd5837b5c4654d177b351f0ee4e0be2a5eef0bff037a544c2f95eaf662c2c23d9ec59b366322ce59bccc8b3eb33104" + } + }, + { + "type": "Regular", + "proTxHash": "e4e5b6b129207bc07a768ee9d50fd2defb8a1ac3710d73656ccc38613628db3b", + "collateralHash": "bc17613eebbc3fc1dfcf1b5a9743dcdea5d92d21072817d7bd864e28718e418c", + "collateralIndex": 1, + "collateralAddress": "XpxEMQR3vU9u7Xx6nC9tNt646mfygV5fSL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.58:9999", + "registeredHeight": 1047283, + "lastPaidHeight": 2126111, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948741, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdSoKwmKsb5rLdUWdGviQSWgtaJspekjhW", + "votingAddress": "XpSkpjCpv2rUBatn39bMvg9hBSsRm2kyiG", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "86630fbbd90156acc362aedc9fa48f95c461ece5139f69c4e612cc0efa2568a2a8685e13c42c18ab177b4faeedc55532" + } + }, + { + "type": "Regular", + "proTxHash": "d20e157f7f043f2dc1359fca206bfa2eeb8ad076437465cfd45618ecbe429ea9", + "collateralHash": "f8172fcab8f928ffbc2e2b697741542f120e07571f764f009a99665195f6d50c", + "collateralIndex": 1, + "collateralAddress": "XayKhRxMKFdESW4Lz1F9xrKmm2UQqwZSbq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.47:9999", + "registeredHeight": 1047287, + "lastPaidHeight": 2127410, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdQ8k4jLM6D5VEib9dQVps9iCyCTgwCMpq", + "votingAddress": "XmTGqLN9LmsL7epuGhFZXrPKbYP1tmJE1f", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "80150be0739c08ecee54c83825cc1ba076095245d6b9c28aef0e7c7473f124ea97ca8a48fb1a07a010aeafe5232232cb" + } + }, + { + "type": "Regular", + "proTxHash": "f0141bd0a8515081b1165a7cc89bbcf346b102df5812243284f74f5c1193c53a", + "collateralHash": "02e7515b4b569a9c141f1abb26019d5df53a9066eb86bb6207d8a232d279cbeb", + "collateralIndex": 1, + "collateralAddress": "Xk1w6pNKAGmjkmWMnuHSbJJcSXVESH5qFH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.88:9999", + "registeredHeight": 1047291, + "lastPaidHeight": 2127411, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XenvzXYMTGKBMrjx2T8gPJqjuWLopYmeVu", + "votingAddress": "Xc2WSjx5S24nK511iquV76Aw4a8os4og1n", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "0c08500f384056485306bc8ff98a26ede2d20248ea1f7ccbd3ddc8b29a0e46a8fcda6a02d7a12b6ae94207a441411477" + } + }, + { + "type": "Regular", + "proTxHash": "8f9567b522676b2123cedac8e9b9b64b8257812dfa6a75ea1354e6452f1fab6b", + "collateralHash": "eb20dffd681584e2b46eafdfc74616d6da83cab91f996c7fe29a0f9a75b810d2", + "collateralIndex": 1, + "collateralAddress": "XsNzNUeZc8HLY6rPCBqE1RJcjQvcCRtCei", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.56:9999", + "registeredHeight": 1047291, + "lastPaidHeight": 2128261, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1351923, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvArjvsoHWvSGG2W3q3kjRyDaqYpjvuVrr", + "votingAddress": "XuBBkuwfcD3JuRFUv5uwm36fMu3o7KoDLM", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "0f00f5c4d7e6e37256ae539b189d0dc8f5c2954267a97a2a86b0c45df9971e2e1daed83b3081874e4a505c67773c2816" + } + }, + { + "type": "Regular", + "proTxHash": "9bea5652c06faa2a0e599d06fab3705b419415c6727937c7356e0cdb25284f91", + "collateralHash": "5977dfb3dd62a24f0dcf742a7094172a8818e00e826454a882d0f3b9481080b4", + "collateralIndex": 1, + "collateralAddress": "XkbjvjQikWkE52MyZ681Yu7xGT9M5iRmp5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.67:9999", + "registeredHeight": 1047292, + "lastPaidHeight": 2126843, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764856, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi8XQdf2fLgKvnuUqK8TFEhZzNjymSB5W1", + "votingAddress": "XvMjLBtHfYoKA6WQqEcF5E6jWVkEXSG6sk", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "9923ff9ed880d9f6dea24b461c07d99bbe24f9cc9fa51c0832ecc4b6364c05edf719b45c0cf382ac7f5cdb629506015d" + } + }, + { + "type": "Regular", + "proTxHash": "9fc2e53375969bde4190f2a5e49dae3c0016ab7d50b95e9e63963b31c0077393", + "collateralHash": "57b6c95a9a5f73a8ede09c6dea69a53d4f66adb625736ccc717d5ddb7fa77933", + "collateralIndex": 1, + "collateralAddress": "XyGc1soAtwhvGSUk5qGV8VBAtJo6BB3rMi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.33:9999", + "registeredHeight": 1047300, + "lastPaidHeight": 2126806, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1871796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgm2zVQNcNbeupRZiLbyvXRGGD3dUXuNp4", + "votingAddress": "Xx5skMMyez8mSZPMY3qKJAn7tzEDub6Mgd", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "898a2d37e7816ae89b5e333999cebf87855d1b423ccb66c0f530eeacfea7d56b1e37bffb8f506a35243e2b2269c95fe9" + } + }, + { + "type": "Regular", + "proTxHash": "c6aaf7de8773277cf33477aa43c5d2fd2482526e8204921c873612ed5746f8d8", + "collateralHash": "ccd2952e7698339aac6f9308b3ee5d0d082ed24379443ffe7ff0dba7823a8cb3", + "collateralIndex": 1, + "collateralAddress": "XepgsZCiq9YLcjtHxVKPDDGBXYVeUjntse", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.185:9999", + "registeredHeight": 1047303, + "lastPaidHeight": 2126833, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764847, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkNGtQEbqtDJHaX7VCRV4BHEfK6coZe5ZK", + "votingAddress": "XiwB6XLhvzkHGi7x9bynyDAAYTeCB9cUYr", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "029537994896c7b0a0d904c430744795a5f26e1b3884ed5ec3fab75303c2e711bbfdc6dd95e3cad265176ec01d81e8ab" + } + }, + { + "type": "Regular", + "proTxHash": "a3296ab32830651a0b17883c05bcc5950fafd28e9290815ace1ce6dd26ce4b45", + "collateralHash": "6e537b719bc5ef0f9e858bfb95d69818e9420d00006b9d52429a7754c3e7e05d", + "collateralIndex": 1, + "collateralAddress": "XfB6ahxHHopDYwfnGxpcBvjdn4N3kyrUsd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "79.98.30.55:9999", + "registeredHeight": 1047304, + "lastPaidHeight": 2127713, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1380425, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu4pnNRVmSeXXtWSHNiukPUxVNSopog7L8", + "votingAddress": "Xu4pnNRVmSeXXtWSHNiukPUxVNSopog7L8", + "payoutAddress": "Xk6RjwRuBPZ6JnNezygrTiX55RPyyFKswW", + "pubKeyOperator": "04c4952bba25bc5f87212d46254c5988194252157d921bbf0c771c6afa1e45219f20fa5c7de1f62edf43e232d3d4971a" + } + }, + { + "type": "Regular", + "proTxHash": "db9d5d935d35ce16cc35d33f5261bd5f383edb09fab165a4d14c83263571a2c3", + "collateralHash": "66e38a42885b741988415f0fbad2b40a6d716910059459e8940cac3a649f1a7b", + "collateralIndex": 1, + "collateralAddress": "XfRwstmWHTD1CE3DMD74H8mc5sa6xLyJf8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.184:9999", + "registeredHeight": 1047304, + "lastPaidHeight": 2126814, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1871798, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyUYKcCWXa8aqkmPkpXoTLu5SsX75PXyz2", + "votingAddress": "Xp8NYraLJWirusuncZT6Bj9C8rL3dshTu7", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "00a225768b92fa5bbe0a29dc4f4eac8b1ca7fc157c8c398d7ff9358e35ab71fea5dc7be34f8bd971ca33272295bcc0ec" + } + }, + { + "type": "Regular", + "proTxHash": "70c88f398c2e10b7c026db5389431548fccfe77593d81fce7108c0bf6d8ab7e8", + "collateralHash": "bc2ce2a9072214e17c2b63df9027302eb77fdb2be7e3c540586c980ab290956d", + "collateralIndex": 1, + "collateralAddress": "XpU2njCsdN3Zz89Gh6Je9LCx1vaHSRk73E", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.63:9999", + "registeredHeight": 1047306, + "lastPaidHeight": 2125803, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820807, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XasH8F8MAfbF417D7fVmvSHGT9hD7NKXCq", + "votingAddress": "XujdkSufrVdyg92g3kghAMu4kv8ALaRcMS", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "129510c201cb53de1e3f629db58533af792e46a4dd8e9fbd8b43592ea19d30037561a9132b06d0eb820b74b7eadfc67a" + } + }, + { + "type": "Regular", + "proTxHash": "812e3da46a31730be697626722efce62d3af9614341913e1d2da94853bf30523", + "collateralHash": "176471f99bbaf0248c026a45b8162a5d06e410e73038a19aed46c9d2190a6095", + "collateralIndex": 1, + "collateralAddress": "XxYGwneLFxguHoxeQtuLUTRZKWaPFAPGd4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.71:9999", + "registeredHeight": 1047306, + "lastPaidHeight": 2127424, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkK7Vy25iaDkVb7osGQRLhPQg5Q8ajSBVP", + "votingAddress": "Xd5qtS5361JZMJbMEZGSVTkyy1mAhwzc8A", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "09fa1d68dac314ba471385f2e9c7dd22632b1699098ea21cf1478caff4dea93786ac1884de7794ad8974416da56335f1" + } + }, + { + "type": "Regular", + "proTxHash": "f179b3d802db2093ee6651a00c0abec6e5ed69e3515aab1e929ae0c5a7d7c5b1", + "collateralHash": "c6f64115e37c588042e748bf3e02c49fa9e1267068fa957ea4cc70bf3e16f35b", + "collateralIndex": 1, + "collateralAddress": "Xu8wKyFNCyMjgkZ6kYv5mWKRcBxB6ZzNDn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.87:9999", + "registeredHeight": 1047306, + "lastPaidHeight": 2127870, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986991, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xahnv5DpMtXha6UvZ52cBSZSygNpqE9NqV", + "votingAddress": "XerwZLPCbx6bTrCDTXU4okdY58L1uNuxfp", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "184e80194b518478d570fcd661f331d79d2a21e742064301d8148b52be40f00088f02c17acab4816cf40063115eb9202" + } + }, + { + "type": "Regular", + "proTxHash": "6d59dfc1f5764d16d74f3896e2bd234e66f60db8806b79eade85ada560a6a917", + "collateralHash": "59ac225adf0e4b867c8025c4f56917d091aa4f2d6f444a5ca0d10bcf55c51ec8", + "collateralIndex": 1, + "collateralAddress": "XwfX7EWzSq2c6uTky9SLsyWUW4bvB7JFq4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.81:9999", + "registeredHeight": 1047306, + "lastPaidHeight": 2126593, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1665741, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq8wfoTBA9VTf8KizZYuXExaq1xefAw3gP", + "votingAddress": "XfuRSFBLAFMzyHZub4feyunbkW3k6JjiYc", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "85fd317689c64e445d19d4382b4726e36b113459afe198aaf4d88aeeb5b4c6b255300364f127a3fdb90bb93b6d79393d" + } + }, + { + "type": "Regular", + "proTxHash": "63086ea2d7211078c0b17c91392bf1fad1e535a135087e2530bcbeef98034256", + "collateralHash": "ab5ac18aa13acfb0feacc47c2fbf0f3bad55e738857619b2de7ec74d4d60a61d", + "collateralIndex": 1, + "collateralAddress": "XxYqjyZozB5Hp8uCaRp64FcZHB7csfRiTi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.35:9999", + "registeredHeight": 1047308, + "lastPaidHeight": 2126609, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1665755, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsyMYYW8JPjjUeX3TAzs1jq8p4YfNgWBN2", + "votingAddress": "XuA7S46eEmahqBjJ1zQbb1RNuKZoHqm8QS", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "052126c34be6750b3a87a0a7241fdaa9d638c6ce4067573b8b5313bb24bd4c5b9bae39f046b682d4b3525490d7e01ee2" + } + }, + { + "type": "Regular", + "proTxHash": "6c8f8b3c569496daf521964f304200ec990ca73c0662a17b365c35e8c1cdc714", + "collateralHash": "cbb37e1601d1710dbbb66592cfed94073738be71f049617276335d2e0689b955", + "collateralIndex": 1, + "collateralAddress": "XhTA6aZCaRcStePdjhRnkswTgZpVGrP1wm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.65:9999", + "registeredHeight": 1047308, + "lastPaidHeight": 2127270, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986411, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XygtAQpwhX1fDb49j58VfRY3ttWhSw4Bqn", + "votingAddress": "XsHkBxyUEPoB9MLwNj7VthqYEh9CeYPZNg", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "88e0b78eb3fb3407deeba0aa867d5adca36fee9ebb15bcefd7098e691f489e2df95eddcbb9f1c8d52f63573e5802c74c" + } + }, + { + "type": "Regular", + "proTxHash": "206c1ba4e21033dbe925c94fb77d151a437c3841134e90a694f4a5200779cf2b", + "collateralHash": "ef65d57afccd8158ffdbaa9d6ac34212b6764711787668c0c7053ed7b5cca0be", + "collateralIndex": 1, + "collateralAddress": "Xk3qQjoPxpsLJoYEtU1vvGxUKJ39WGXsmv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.49:9999", + "registeredHeight": 1047308, + "lastPaidHeight": 2126184, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1271934, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpBDvcypB4UQEUNkmxDQWNPWmoY4W88KjV", + "votingAddress": "Xi1E89qZj7vAoVix5pX5WSnCkrsGvfu1ab", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "8fd97561bdccd9900317a20f83d600d119abafafefb3d04ac5365911a57664c729cec9076f75c4a0abc24b997c719b5a" + } + }, + { + "type": "Regular", + "proTxHash": "ebaf7f9f9de23015855c7dc6656cea9a1f972330132531fc6afb6781beb15902", + "collateralHash": "66afde55226b6708ea56c3a7c6eef0d2e4ab976d98dd903c3e28548550318a35", + "collateralIndex": 0, + "collateralAddress": "Xd3aSpcWhXvchxTkDNtJSEysmS9ELUmCBm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.71.143.3:9999", + "registeredHeight": 1047309, + "lastPaidHeight": 2127908, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1201185, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwXTj4TmwUV8Giu1m1mcj3BPaUp1Szs6L5", + "votingAddress": "XbZutX6JWhQvwkfQcRE19dFDvR9J3QT9Yb", + "payoutAddress": "XyVGNsmXftkn6fU3eLzy88f45g2LFTW8hW", + "pubKeyOperator": "8f9b67b255037449f13ef5b1ef930932db75c7abd6f55e23c3b1125bebe56ce632c013774c2c2583dfe786bdc998e02a" + } + }, + { + "type": "Regular", + "proTxHash": "c5c4d509babaf397ba618cc975ae4afc47deb37fa6a589070151d23ee58385b2", + "collateralHash": "38745f6f005e820675d517e0edfd6da6c3b9cadc83545f7613ab4d9e4e19650b", + "collateralIndex": 1, + "collateralAddress": "Xpv64gazsu13XDnbrj2h3bTLnuNv728G3y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.40:9999", + "registeredHeight": 1047309, + "lastPaidHeight": 2126807, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2016159, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw7aJBmFnWBRrz9dcECRekGW8Zw5WRchhX", + "votingAddress": "XpMKRMAWfzYMEgzy9g3qUG24qU56aTmpSY", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "10d2aa07a52ff502940e4fdc7570d91edc5c31b031ebb505b7e63147d1d1910c92ad597cdc8df63ec1b36bd8de8ecd90" + } + }, + { + "type": "Regular", + "proTxHash": "f87449ab816f7c69a8d664897127488f41309385f95496132bae6380dfedca52", + "collateralHash": "c7b4bdc59bfebab6990ba7c22f72108017921a1aeae1a1dfbd22e8542495f253", + "collateralIndex": 1, + "collateralAddress": "XfmYX7iCB7KLfaWB5VFchg6KQLBJRkBGSF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.8:9999", + "registeredHeight": 1047312, + "lastPaidHeight": 2126832, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764847, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjXDpVydYeaTihQtN6xksPyAqHX83LbQxV", + "votingAddress": "XsM93s9u3eetj7oommJqFfjn9t1XYgd4nd", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "95f907ffa24d7af57142fe3bcb144dd8d21ecdfbe9f67842a3308d32c18bd9bc11f2c8b259dc1fa659193ce78cbe9ce4" + } + }, + { + "type": "Regular", + "proTxHash": "a7b27265e3239895e3b0dfde63560b4f209547aff5265b636989427784f0eec1", + "collateralHash": "49e52c4dd7b347b6354c4abbf197a958c4cdd0c95c0a6d04a518ff0d2bf7f1ee", + "collateralIndex": 1, + "collateralAddress": "XeJLVB6WEeZG5J9WpyCTV5oaGU6cEA1S7k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.158:9999", + "registeredHeight": 1047312, + "lastPaidHeight": 2127857, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1562797, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrBwzjm7QhtnwHs9Mn9qMRLrocVpe6q4y2", + "votingAddress": "Xr3LTGrV71vBYMQuR65xPtxRjWwG6bsD99", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "15542155f42275fe73def38cb1f946b8f2fcf8758ae1c1683004663fd0055251eab006fe5edfbd28c1d83ae9a47ec7a0" + } + }, + { + "type": "Regular", + "proTxHash": "d1042d345d562ebd3857efa2906518896ed30fccd1ead3d783ba2a8fb9cbee13", + "collateralHash": "62f27bd5a0c081bfb8834fa285084de49c09490f2dcd421c28f7add2e13ffb25", + "collateralIndex": 1, + "collateralAddress": "Xqa2FJuG87oib8bJwb3fgQmJJKNLDT3EK8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.83:9999", + "registeredHeight": 1047312, + "lastPaidHeight": 2125864, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820901, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XonqJYVXK41got9fNBZmS1uYYNgRv1KPwK", + "votingAddress": "XeJYMJBfgSfitMy17KobQ8EBXWauwLxnTa", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "990250f8722ccb412757c3072d8343c1fa0007c239bed107881bd30f1117623bb6c5f9520fc8dac794563d87c5286d35" + } + }, + { + "type": "Regular", + "proTxHash": "433b6b2c5f88e8e51f9aef45f2fc22fc4012fc9b12aaba52016db1e39084e168", + "collateralHash": "d62d0c96b316c6d5c41e4e0e66d46d0ce8cfcac61d7ab1cf903ce298441874d3", + "collateralIndex": 1, + "collateralAddress": "XxhWqF3nHrAq1h7tuCvnivK96eXsPGLMG7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.76:9999", + "registeredHeight": 1047312, + "lastPaidHeight": 2127428, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnuCbETQxcj22ACsiLEygcfjnoiMXXBtnm", + "votingAddress": "XsKGT994rdzzhDLrgJsSDrEbxMuBLRp57M", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "16568919752dc933c2d29f91e6ac476d2c2f5c7b48891f32ef2c2f5746dfb3393b5394c24ab4f4cde44c5b388509d849" + } + }, + { + "type": "Regular", + "proTxHash": "6cfdbaaede02ab2ef820f51d7657210c035c80ede422f9951ff6a5844e0a0e31", + "collateralHash": "cac896e729e61118b2db529e6fcb8d608b0ca63d72748c2b26fb74eccbd8f81a", + "collateralIndex": 1, + "collateralAddress": "Xfe2PgiRT7Mkzox3jDc7hycGpRj7sui3b4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.41:9999", + "registeredHeight": 1047312, + "lastPaidHeight": 2127425, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiLyifJJDUwcg1EciG7jnKGngJJ4aSTbWm", + "votingAddress": "XqzThRRrnaA8iVNEkog2VpvJ8RxyXKJGnR", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "8d2c65e0f5ebb43978706a51a6fe37248a6fa866bf4bb8c848393ff722157724746cff578847273f9c2d658692088695" + } + }, + { + "type": "Regular", + "proTxHash": "81eb1bdccc7a660b1cd01ed63ee954071344fdb2aea5003b3a7a6e287c6693c8", + "collateralHash": "86c966209c66eb2e80fc9dc14e947c4d4465f605f91186b43d040cd613826bdf", + "collateralIndex": 1, + "collateralAddress": "XnUhVzG4c1AQBiJZy4NSonkgp8v9cULyUX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.10:9999", + "registeredHeight": 1047312, + "lastPaidHeight": 2127028, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695533, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr7pQf5zKAr9gUndSS1Pe57swvNZaJ8od3", + "votingAddress": "XxZCLeKTJUriHvENGZFuQFH5xFJPQFamzj", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "8ca7e57072ab96602fc7d15f735320d375a6d7979645be2e9f9a0332ef3dd2cfd1d95c88490106b5550b0a2017833b4f" + } + }, + { + "type": "Regular", + "proTxHash": "6d2de38c1f12b3d5ecf291c745614d1c9b9d50eccb33b7a21b5cb7e9829e31e2", + "collateralHash": "e908b33d724800ff273babd8f58987e3c83ea138374a71a3ff416dd1520622d4", + "collateralIndex": 1, + "collateralAddress": "XjP1zaMGtpHnPDgg4HJ2nGJZSwyj6q1RwM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.159:9999", + "registeredHeight": 1047312, + "lastPaidHeight": 2126922, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1666252, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv4wTnAhVJp6KpBEUkEeF4y7KMYkw7aX17", + "votingAddress": "Xvt4xfSS9XFPVezwASxt6UKypnJnPzCmf7", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "190dc556fbd56e3d80e25b78306955c26ffe93e49eb3739a14001dc703b0a52b6d2223bf984ab4cf8557fcdd08d46d89" + } + }, + { + "type": "Regular", + "proTxHash": "0fb4333041be1620ce1319a58180c2b12600a3e5a6b61475683c102246e0bc94", + "collateralHash": "3843755ed95c58fbcba96a67ac64a7d44c9031f14056d4f8b79ad86da0262b2b", + "collateralIndex": 1, + "collateralAddress": "XmT6H4aicdT7kEJM6sRdm2E4do6nQvkccN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.73:9999", + "registeredHeight": 1047315, + "lastPaidHeight": 2127429, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjsB5rYMEqwt7rKtnZtg8XZrnSdZ61Eu6z", + "votingAddress": "Xb69ZUJ6j52X1gsZBLsnrSecQTgSatwYA2", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "94269ccd4003ddc0ef768ff023da06457c60b6adf7cbdb1d38a27fcb90ed59e890505bba255390170ea76d49683cef70" + } + }, + { + "type": "Regular", + "proTxHash": "e24356683d558366e713a43f1138cd3d19480a0a96638b52a7a1c081f20ddad2", + "collateralHash": "2f0bdba631f25cc2d2ada84d8b8efd876bf486ab1f7f4a108cf84f98b5d6d595", + "collateralIndex": 1, + "collateralAddress": "XhVTAFgxU6G81UwQHsox44tKpmeEMauJFg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.120:9999", + "registeredHeight": 1047316, + "lastPaidHeight": 2125870, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820914, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkdJdggnHmXTiaZRX3bQSWqEWW34bNttcL", + "votingAddress": "Xy4gyX51mx2QFwsqFPCNU2czM84oSgPXy5", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "1077c446ac94daf3be46af0d8bb666335542ff732e9e24ac9c3c3940ff45394d67c60c5adc24830651b7ddbc0dae82c1" + } + }, + { + "type": "Regular", + "proTxHash": "5f99d7b3a5a6d7267044afa6aca2acce051cd93233fb4f467ad22bb0278ead76", + "collateralHash": "365ff454a3a0f1eafad96bf03dd5181710d5b1c077885fdb2b6afcfef0ec5f60", + "collateralIndex": 1, + "collateralAddress": "Xgwtav7z3N6GgA78KQALuChws5cUAmxQE7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.160:9999", + "registeredHeight": 1047316, + "lastPaidHeight": 2127196, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1875712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhAnhJu39fSQjUHJ8zfbFCQfuEA3yMeKcq", + "votingAddress": "XyXKjHveDtjbyyN6zeg183F5DUpATNRNrk", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "12cd79728758a002a521a13d0542e9f1231dc0d92252814831741fcfb0773f96a10f066d5359675964ed60ade22e8eec" + } + }, + { + "type": "Regular", + "proTxHash": "09c37e3110ccefc0cdb8fa349f0c401ad2e687e4ec0eeffe07c39b5e087dc075", + "collateralHash": "8db9b85c0d7e5d06337a5f13e45f2e42dbc681f6c2d5a1981250b616e369c919", + "collateralIndex": 1, + "collateralAddress": "XqHbSNn51FsiQ6kyBu72t5z488bnUnAwap", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.37:9999", + "registeredHeight": 1047316, + "lastPaidHeight": 2126048, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948721, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XevEF7VdCP8EnS1kUY2rYNVqJUoT2q86Ft", + "votingAddress": "Xogo73zhm7zUvsCZPdYXWei232QEiNKAsV", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "9526af7d5e2f38025ea28720b3f515456d8f7a6e60adc1ebaa3fd96e5f7a8b6a6cabfa8fbe08e41b52caf57ed3d2084c" + } + }, + { + "type": "Regular", + "proTxHash": "c88fde361025b69bb22a2ed94f675832fa2f18b2d2b94cf52f8e4906fb841b3f", + "collateralHash": "44f05c2fa76581ed295b20066722c504ea5ba41122916bd45813d56b4caa01ea", + "collateralIndex": 1, + "collateralAddress": "XoRCt8PmQwh3d1wRSSbukBv5pGFYJafQ5L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.53:9999", + "registeredHeight": 1047317, + "lastPaidHeight": 2126691, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1354497, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtwtGqYvZaqi67SEZpxNefuJitYjScbUeD", + "votingAddress": "XfFndQQrnokiiwziAaaSYCYtvEJygyk62t", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "94215ef8ad5e1eab8de0314688897b772c3b4fcdb9115c1c3702fad8be017e8fff174944352edfa1a177b3f5a8e0692d" + } + }, + { + "type": "Regular", + "proTxHash": "29d9c0f9cc304305eeca4a95ee3f22f6b8a52b9301c333ce48b1257942fa3fd8", + "collateralHash": "5bfac10172adeaa41685f872c205fe3b39a30e9832e4e9bfd4b2e50ef4c401cc", + "collateralIndex": 1, + "collateralAddress": "Xdg3c4dJ89AK2TZ5P2t7UL962nzu63eQZ2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.156:9999", + "registeredHeight": 1047317, + "lastPaidHeight": 2125879, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820927, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqetM55Lhzbd9FHwBgjufc8faf8oaqiBH5", + "votingAddress": "XmuT8fE7P9nQkgfctzS4ArKA2aApdFjjE5", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "9786545fe4a83b3faf64f742f4b7756a20b27f1fbd08463a49721018b5e16a312c263ba8e13e6824d4ea92824deb4817" + } + }, + { + "type": "Regular", + "proTxHash": "bfb20edc24fd9d5243c6182651f7ac8a5c19f21013f50e159bf30b9074ea297c", + "collateralHash": "d3929c6da93e69f9e092a6166be2d72b86f5f088c204985a7b18d9b98b0f6576", + "collateralIndex": 1, + "collateralAddress": "XgURNwAZLT73eWsqk2E1jqheRny6ujByKk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.119:9999", + "registeredHeight": 1047317, + "lastPaidHeight": 2125868, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820912, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XssKpZbVi6xTraeXaorsWpSGBN8m5P5iFW", + "votingAddress": "XoL2HVst1hq7r2zdiEQVoAwRcG4jXJXYLr", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "19d82bc06233508f85ce52152a7af304fe4661ae48f69315c8bda08c5b652914cc19b7efb138e3d96ed0553fe6b84e38" + } + }, + { + "type": "Regular", + "proTxHash": "a5ba71df261c61843f846f2eff15d9b6d8eba50bce64dde7983ed11eea89d545", + "collateralHash": "c9b2c8a23292135652c013867e892045e737134d613602fc39316d8575ea8167", + "collateralIndex": 0, + "collateralAddress": "XgjpZptMnHUbrytJMYr1R9ud6Y9mhV47z4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.226.218:9999", + "registeredHeight": 1047331, + "lastPaidHeight": 2127920, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1201224, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe7e9urUaXcbivG4E7LGoc5AB3A92zfWie", + "votingAddress": "XoevryTMErdcYTWyLf95PD6DwuQWyQ9ub7", + "payoutAddress": "XyVGNsmXftkn6fU3eLzy88f45g2LFTW8hW", + "pubKeyOperator": "8a153b20bd3fe16489aa947822dc1785aba42da5d40e5429d092d36ea01cf2cf0e6ef10cae7cb7137664cb845da4c4f9" + } + }, + { + "type": "Regular", + "proTxHash": "c2224689a3f245b6f7113a4b5fb0d4dc8ff988fb159c377504fffd3ba5d4f261", + "collateralHash": "76424c0c7d01e51f9f3ca1263275849128ae741869c48ae2bdfe44112595d3e9", + "collateralIndex": 1, + "collateralAddress": "XsBWaVz6oPYRoxf9SNSkkQoCdwrtXhG2a8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.218:9999", + "registeredHeight": 1047361, + "lastPaidHeight": 2127530, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrE1SysiPNzfJGeK2GFrLC2gP6md8ysN8f", + "votingAddress": "XrE1SysiPNzfJGeK2GFrLC2gP6md8ysN8f", + "payoutAddress": "XsBWaVz6oPYRoxf9SNSkkQoCdwrtXhG2a8", + "pubKeyOperator": "10611c18a4ed0a8d81adb5dce519c73cca3dcc6755989cd33e86a5b9a895ef8af2363fec1e8ac1e3b23825ed5840fcf9" + } + }, + { + "type": "Regular", + "proTxHash": "82acd2f7457476e66d1aff716259164ae916cc1545af34fd508980d38e1e3d4c", + "collateralHash": "79a70099ec86f28da72c180e866c6943935171f84996a6110faee9cad367a658", + "collateralIndex": 1, + "collateralAddress": "Xu3ZaZJmvMQ7YSPDeXDtLrSMDHMPC2yZeR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.151:9999", + "registeredHeight": 1047365, + "lastPaidHeight": 2127533, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbgL6U7heomfkHpU5kqtQ79XNqmheSL2FC", + "votingAddress": "XbgL6U7heomfkHpU5kqtQ79XNqmheSL2FC", + "payoutAddress": "Xu3ZaZJmvMQ7YSPDeXDtLrSMDHMPC2yZeR", + "pubKeyOperator": "8cb92c0f072035b86268154918f87aca3cb74e00c44a51340818191560831e076a79c631de9ff4bca502be78ddf7bf67" + } + }, + { + "type": "Regular", + "proTxHash": "4aa5502fff51d0a11f892e1b262d6372c21564801f7a2ca4817664a38ce038e8", + "collateralHash": "939813f86158c2a5bbc81ad27fab3334ef0a0d93bc9e51908ea9ca7973916ca4", + "collateralIndex": 0, + "collateralAddress": "Xyxv1dcoPMLV1awNNmeS2YPgN3SG7f6qSC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.12:9999", + "registeredHeight": 1047402, + "lastPaidHeight": 2128709, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1261839, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqSmUcLxDgxT8Tg7n2eYvGQ9TuHXz5CPXt", + "votingAddress": "XbMNmnL9x9LxyskHnYaKXm2KC2Wy4pMakh", + "payoutAddress": "Xasq9KiLvMenAqzS1tNqHUk3HBeTdhYeVq", + "pubKeyOperator": "07c5ee75d827ebadb592c1f65410b62352e6a38d2be75ade0b387175e1621320074b3941d24cb0c2e9e9a10eb25c3621" + } + }, + { + "type": "Regular", + "proTxHash": "ddb6ccc21dedc0b36aebd22aaac1fcd5a1d70a9af4873d1637446c898a05d7b1", + "collateralHash": "efdfb8e088c1d08b5953ba5d4f4d35e8d37c3afc0161af70561e707b82813177", + "collateralIndex": 0, + "collateralAddress": "Xsze4B4BqpZjBRxGDU1LoAAaYYgCdLq3Fw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.2:9999", + "registeredHeight": 1047521, + "lastPaidHeight": 2126934, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986135, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoP7FTCBTzh5QHpLTLLvNKTf1x5bDiBbAR", + "votingAddress": "Xgg243pQzAT5i679ew6gwrWroF2HCNqsY4", + "payoutAddress": "XshfZjCw2Ar1vT7uSpHWCmtF1pE7pvJt4c", + "pubKeyOperator": "94af9bb09fb8915a31d5177afa031ab50e67a9a3027e8a298797d9e5c39a4c3586c7b2204d506b042de3455d19130453" + } + }, + { + "type": "Regular", + "proTxHash": "ca317d659382e172c3a45220f4cf5b3640236447f7ae7663cc8df3f2f5e97cd7", + "collateralHash": "d1e6829cb0df1370bf901dd0950cae357f93512b71d0bf9359483000d39ab877", + "collateralIndex": 1, + "collateralAddress": "XcSkYZMDZWRqZVFwYSe32pjiC9iGgmRUDA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.207.71:9999", + "registeredHeight": 1047523, + "lastPaidHeight": 2127630, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq1AfUAeqcKzjWNrsKFB6wa8SN4CDhgpw9", + "votingAddress": "Xq1AfUAeqcKzjWNrsKFB6wa8SN4CDhgpw9", + "payoutAddress": "XmJFzj8XWNfZui6S8ZaiqJjNEQAQkM7czR", + "pubKeyOperator": "84c0119e582c6d545c78b1e8289f4333dffcb104164efc490baeb490f63535ee3b1e6e6621298f2befd92911f2e423e3" + } + }, + { + "type": "Regular", + "proTxHash": "d17b2f2d0ede9aed26a4c86f7e3d0a33133cea10e552a1262530f981d804f14e", + "collateralHash": "ecb22826b5e9433bc5e97c02de6204f1b32d9a697f6e33c424be6ac413c6a53a", + "collateralIndex": 1, + "collateralAddress": "XqNJD9DftB9yNEPcWbxY38JsrGo19Jqe4k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.216:9999", + "registeredHeight": 1047537, + "lastPaidHeight": 2126799, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986011, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgJcL8ApJ2HN4PTxKJMb2cheZAN2ZnRgaq", + "votingAddress": "XgJcL8ApJ2HN4PTxKJMb2cheZAN2ZnRgaq", + "payoutAddress": "XqNJD9DftB9yNEPcWbxY38JsrGo19Jqe4k", + "pubKeyOperator": "8a76dc8591f8a8cb7cf3b50452b1c1da9b650703524b335add719e543a6caf4bcbd8cdd37413c2028f74775672fab928" + } + }, + { + "type": "Regular", + "proTxHash": "07e9eab9358f102776dc069ffc19e78c6dd6da23326d728a0cc660c59acec0bf", + "collateralHash": "09d049c056b13958c84ef5f736a723b902365e2c59cb3bbae20092be960056eb", + "collateralIndex": 1, + "collateralAddress": "Xtjy1KxFqwDh1UvraoVtLhSu5KsPCSEjCb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.44:9999", + "registeredHeight": 1047568, + "lastPaidHeight": 2127776, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcKhNhLziW6PCpdjzd1atF3z2AjTmteeAa", + "votingAddress": "XcKhNhLziW6PCpdjzd1atF3z2AjTmteeAa", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "12802a897140b80f643a4d54a9e3b5029d88d07ed55112de660d1d47bd82f58d86551780932244422daf30a63bd22df5" + } + }, + { + "type": "Regular", + "proTxHash": "8787fb54f9e6281764228a4cb9f060f22714023ae49f964b4874da1e9916e849", + "collateralHash": "ec06f8cd9ae3fbde2dfa014d6c24eb8907813e5e8e589af4e151cfcafcb1dbde", + "collateralIndex": 1, + "collateralAddress": "Xji8m92mqxSMkFHXPrYAmbpRQV6zFN3FVv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.239:9999", + "registeredHeight": 1047590, + "lastPaidHeight": 2127796, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeMcZ6PsSHsYrJQX2CeDavuELcjuGdxgEc", + "votingAddress": "XeMcZ6PsSHsYrJQX2CeDavuELcjuGdxgEc", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "827e73dae855d342fd302721310a9979d58d92e5f1817fbe2cd817892c383d72076499a3ecf6db5321b77e0ca9125c18" + } + }, + { + "type": "Regular", + "proTxHash": "8e483b9308737fe836d71967ddb634559a5c63c8cb8d495275952e0f6cb5a717", + "collateralHash": "b79e55a7170b8330f93a64694e2073505a80a11a8a79fd16778dc1b21a249a7e", + "collateralIndex": 1, + "collateralAddress": "XpGNRYuJhduYPCPdtQKPgi6zSLjXREspaH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.34:9999", + "registeredHeight": 1047590, + "lastPaidHeight": 2127786, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkNMLaGeBsuPyXa7oFtnrQ66Hf9ZPKXsun", + "votingAddress": "XkNMLaGeBsuPyXa7oFtnrQ66Hf9ZPKXsun", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "1113e6dada64581e5e358d28e3c8c20269ec5a6d0b01bded30bc988ebfc816cc04ca2cec66b120306209ce738f0f10a5" + } + }, + { + "type": "Regular", + "proTxHash": "3e991c57ff5f5385b20b6bc70ebc3e8dfef1c53cda08038dc15a6d84d16f4777", + "collateralHash": "32a9352e455c23cdffa59b8124aadf9b194da63717a6ab6b995dc7aa05fdebdb", + "collateralIndex": 0, + "collateralAddress": "XsXnYZgJgsWToWjUHn6vHUQJFyjVWQfpaV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.247:9999", + "registeredHeight": 1047614, + "lastPaidHeight": 2127816, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbjk5E52mkymkN3HTtCsTtNWoSRZ93QhpD", + "votingAddress": "Xbjk5E52mkymkN3HTtCsTtNWoSRZ93QhpD", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "838f0d9d3c3ed05b49a19ba5141ddf1e67d8188f3b63101c97d413dfb8675268c41561a04a15c3e9e7834769e68626e3" + } + }, + { + "type": "Regular", + "proTxHash": "aae2b5e444b8a9905077787d639d20a0d93d9caaa9399417a210761a8242ba30", + "collateralHash": "9f789951ff987b97783a1b37ceea720afc88655dcdababdb9e285006a1759be5", + "collateralIndex": 1, + "collateralAddress": "Xum5jZVzpsVinU9GokMwjS19Kr9x8UpmXU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.42:9999", + "registeredHeight": 1047614, + "lastPaidHeight": 2127813, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xewn2LijYxCTjMkxZmENkPbH97do2Zrmnk", + "votingAddress": "Xewn2LijYxCTjMkxZmENkPbH97do2Zrmnk", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "18b87dab75ef68961ca33873103cdff771aac88da53bdf8940f5872bf9d17dc0923f31d8991b7167ac5ea12078589645" + } + }, + { + "type": "Regular", + "proTxHash": "895ec3a67ca98a2bb86ddd22532a31936acde4a2482c7e8fb162595061950854", + "collateralHash": "8c22d9393e8e36c45596149ad7306ea3e3ce1d5ea892a04024e6741eee8b4f7c", + "collateralIndex": 1, + "collateralAddress": "XnnLLo1A3TDfBa8pTMq1Rbx8ciZLejdq8Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.137.155:9999", + "registeredHeight": 1047645, + "lastPaidHeight": 2128889, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1211625, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxEjs8BeAVKSjx3ojo6bHD3r2LYx6mkM1o", + "votingAddress": "XvXABL7uLFU3ju9syg8C2YzF5exPBwMAFp", + "payoutAddress": "XasHYpzjkTLRjHFDe9kjTj63ZcEPw9eBJT", + "pubKeyOperator": "0a9ebc4d2c51be3ffc133a6e678980e13390e680d24dee1a4cd764489bf0f002f641d5eddcc6b45ff47da505e9d9e971" + } + }, + { + "type": "Regular", + "proTxHash": "6705e0ff4be76083042441229903a06a31ce6be068b5436937ac84603aa3f110", + "collateralHash": "744f1f27084099e5f5308eba00a36f82ee044c7423f29ccbed0074d8f649fe9f", + "collateralIndex": 1, + "collateralAddress": "XsMvMzr3eJyuaYogVDzMp3z8oCa5ue8sH7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.245.34.149:9999", + "registeredHeight": 1047646, + "lastPaidHeight": 2128887, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1211621, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjeE48gxox4HPzLEgstDmEoMRk2G9uK7fz", + "votingAddress": "Xepx12XW88CYig2C6iqoWsM9NQE2XRb1Vw", + "payoutAddress": "XasHYpzjkTLRjHFDe9kjTj63ZcEPw9eBJT", + "pubKeyOperator": "17c8942de54ad5f8184bafe0c159c7a0868d94cd384392ed56f3f60beaada261cbfca5bba336d53655f2c9c11949601f" + } + }, + { + "type": "Regular", + "proTxHash": "0910964e3735c8d062499ab386b295420cc0d1033fe204fa121ff5b6d54de817", + "collateralHash": "bee563b3ccf50b9095086f227464159c3dcc24899f5e83a17701f68ec4755a7f", + "collateralIndex": 1, + "collateralAddress": "XoSMS611X8HBmMFJEYP77pZZG6RXXDcnRc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.79.18.106:9999", + "registeredHeight": 1047659, + "lastPaidHeight": 2128663, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119371, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XryDfoLcM1U2yEErMo3oeBev46VGXy7uWF", + "votingAddress": "XryDfoLcM1U2yEErMo3oeBev46VGXy7uWF", + "payoutAddress": "Xm7ztpxhpGhDn8s24NbBTGXqmtuvTmiibK", + "pubKeyOperator": "0efcc95a818dc29c962c1ac31348272ebf6726db06545b7e057c822431906cb7161218c42bbb4aa382d1b21af7c2d6f2" + } + }, + { + "type": "Regular", + "proTxHash": "aaca8ff4d392dd119ae61b5a92eeded973e29b1294af947d70f7c99e20c76954", + "collateralHash": "f51db0b98f09fe694bb8d54b3aa33d9a8dbbcf0e9608cb346af7483eb6eaa43c", + "collateralIndex": 0, + "collateralAddress": "XppGfeHpJXWTcCdex4QQwUpgN9tm19URkd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "34.224.134.199:9999", + "registeredHeight": 1047667, + "lastPaidHeight": 1985936, + "consecutivePayments": 0, + "PoSePenalty": 3981, + "PoSeRevivedHeight": 1735490, + "PoSeBanHeight": 1987530, + "revocationReason": 0, + "ownerAddress": "XozP3zGDcyxo8mhPgribwyJmbm9sw61dic", + "votingAddress": "Xk5tzp27N5hEZMDQGBDqygYywuV3RsPxWx", + "payoutAddress": "XppGfeHpJXWTcCdex4QQwUpgN9tm19URkd", + "pubKeyOperator": "13d5d0bc417a6de61c54447d7fae9419749cb7c5615ef0521b5a2928d1a62f713bb59eff0e572274f5aed5358f89f191" + } + }, + { + "type": "Regular", + "proTxHash": "d6da31f573e45c4580cd07d5ad7de38db18d1f96c4e98f77b45e7694eaa9d53d", + "collateralHash": "c075516c7eb9c43d359565eb994b4047e902ccbfc51307a2bd1614a980d9061b", + "collateralIndex": 1, + "collateralAddress": "Xi6kZgM2yTUDrypou5aBzHsurTCUbJGV8w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.44:9999", + "registeredHeight": 1047670, + "lastPaidHeight": 2126824, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986027, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XspbdzuWg2ahzCxuSng1398m9X5C2E2L3o", + "votingAddress": "XjqQjCFy8vpVEpymwn2W9b6GYnpyktC822", + "payoutAddress": "XjR8Lo9fV5537D6mfKNsqHDevF1FKrc4Rq", + "pubKeyOperator": "99b3ac59ac16b5b40da703406b29bd7fa072bc3f77c5f1c93ddc34b3af93a715697c9d1001cd2e22806871059fb28eeb" + } + }, + { + "type": "Regular", + "proTxHash": "6bfe315dbdd671cd15eb8536e48a06c7fb01d44e3c38a53cc1d1d793f9ebe8af", + "collateralHash": "cad5f80ee831a4e3e60a7c2a5784e6c9d244e61a2348eee7dddb12bcafea1be5", + "collateralIndex": 0, + "collateralAddress": "XbqhcB2kDwGbMT97AqpXErxbUsSVTYkeor", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.224:9999", + "registeredHeight": 1047670, + "lastPaidHeight": 2127031, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695538, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj7rEC3XUrdemeG8zvZ8qpJBLYhVUksD5A", + "votingAddress": "XocSZGK2jJF1HENGdf9ZnhM55Hv4UwaarK", + "payoutAddress": "XahdeCLmdJqrKrQAG7nnx9VtpNt6UUp2PH", + "pubKeyOperator": "001c576e670ade910cf3e69e4eeac8404daeaabfccb702d3ae53efa2d851e55dc734061a9d9cbb3f19d1dfc52f8ca095" + } + }, + { + "type": "Regular", + "proTxHash": "0d192a736ca81e5b4e1000280f41bb557a7b5f4c758e240f6ea1c1496324f8f8", + "collateralHash": "4f8b0e7e56632d908aad9d040000bc654869b3dddbba7cf6013e1933da13fb25", + "collateralIndex": 0, + "collateralAddress": "Xb2JLjFUsiMWgNGqocveFH7SX4jbzyQrNt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.28.203:9999", + "registeredHeight": 1047743, + "lastPaidHeight": 2127583, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1478039, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo1EmdfyjxXyomb4SwhXkFcn44g7Vmq3bL", + "votingAddress": "Xo1EmdfyjxXyomb4SwhXkFcn44g7Vmq3bL", + "payoutAddress": "Xajyf6Vdm991D2bQNPbv84xVNhnKRaMkyQ", + "pubKeyOperator": "8426736e5bd2a26634790bba15415d880163b9c28b7cf4473f204d108d350525cb8ff0c99f2fc074e16c6ffd2299b809" + } + }, + { + "type": "Regular", + "proTxHash": "29cdf603f1c59f7a5636f1a01bbfe4121c6cd337650b891f7d033a25c563bc97", + "collateralHash": "0efafa5845ed15987bc688d0d54805aae41ac9fc481241dedf9dee47274a6baf", + "collateralIndex": 1, + "collateralAddress": "XnpjiZzCGtDzrqQDTcTiMAMpAQKpRS7dfr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.55.181.80:9999", + "registeredHeight": 1047744, + "lastPaidHeight": 2113022, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": 1977501, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XqSHdJW5XTxSBwR5r7wGupV2WkxZnPq3Mr", + "votingAddress": "XqSHdJW5XTxSBwR5r7wGupV2WkxZnPq3Mr", + "payoutAddress": "XfrZtKPDjUHsHQ7rAX2Th8imV3aLAbqdGZ", + "pubKeyOperator": "8ded9b3f13536dff84151aa775762b893f74c6105094725493b9b668dce2e6f2bff3344578755f8e4685292d9378c312" + } + }, + { + "type": "Regular", + "proTxHash": "4cad8728bb473c80fa9862c8d87ff8be7096c29d9eee1f43dd714b53ce5f948f", + "collateralHash": "ffc530f76a2ee2ac6428106f6dbbac2eb7ed61eca6a83730a5251c8761229ebf", + "collateralIndex": 1, + "collateralAddress": "XdPAMWh2Aay5k8vUbbyG3QvnZ1Ui53QYuc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.189.157.131:9999", + "registeredHeight": 1047763, + "lastPaidHeight": 2127452, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2070688, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxEXiRw3MUKFwD1xQsHPAxu3WyKmsmU5XM", + "votingAddress": "XxEXiRw3MUKFwD1xQsHPAxu3WyKmsmU5XM", + "payoutAddress": "Xd4EAEE4DGhw3JPLV5miWs6QEyxbB7FMYP", + "pubKeyOperator": "91e6be78a4ac75dfbbd4e02a5e1e75b67c6a00c6757522fa30563606698295fec402c9031424f5d1fae829aaec77d139" + } + }, + { + "type": "Regular", + "proTxHash": "4ba60e485e74a1d63e5c0e7929a96b00f7b6eb2579ddff2191c3430e301823db", + "collateralHash": "9147e221e8f8d152748651eb8eb8b2762f8e24c197dafada320d37dd2e0546d4", + "collateralIndex": 0, + "collateralAddress": "Xpq7KodXSTh3jw4rVevHmZ12cLyZLQa3je", + "operatorReward": 0, + "state": { + "version": 1, + "service": "208.87.102.95:9999", + "registeredHeight": 1047763, + "lastPaidHeight": 2127565, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1773241, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmJGx36wroys3dibTJgVFPx2tqsVYW7Wbh", + "votingAddress": "XmJGx36wroys3dibTJgVFPx2tqsVYW7Wbh", + "payoutAddress": "XbANdHfEcAEMY3LDGR4p98k8utsio7mkdB", + "pubKeyOperator": "8a234562311fbff8b06f529329c630b568c34cb4c572b3e2a851febf593c8a8a1e5514dbf9d3d1db33dd56522a5e3063" + } + }, + { + "type": "Regular", + "proTxHash": "7afbd798bda1e97548af7600c8aa63fbcf424285911a89d73fceb8cea869355f", + "collateralHash": "8be29bc7caebda218b6f0afee3f2120c0d6bf5f000ff35328a6d6c6064e6ec2d", + "collateralIndex": 1, + "collateralAddress": "XoDrdHmKDHMqLSnBbR83wVdZjc6YZ3BUA2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "208.87.98.19:9999", + "registeredHeight": 1047763, + "lastPaidHeight": 2126089, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2082695, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiRmFdsQVm2xEVqZwBoxFmqPxxy39Rnfpd", + "votingAddress": "XiRmFdsQVm2xEVqZwBoxFmqPxxy39Rnfpd", + "payoutAddress": "Xod7jBYgNygf9Sspift6prXqYgsMcJf6Xw", + "pubKeyOperator": "80f476c5fdfbe9fa41c814baab634281ef7aeafb2d0c66e07760de09a2865aa8d06fb221bcfe1b8bd19b548a1c3f31b9" + } + }, + { + "type": "Regular", + "proTxHash": "ba77edb708ffda34215d77bc5bb7785e82fa13bd15b0e539a73c56fde0287927", + "collateralHash": "8ba75b561cb92cb79471a5ad91605e8206353a0f01bfdcd1b3abe6bde9fdf66f", + "collateralIndex": 1, + "collateralAddress": "XyL9wHUsucMQPcFoyJkbgY5mCY2Ldyrh6E", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.46.240.32:9999", + "registeredHeight": 1047789, + "lastPaidHeight": 2113337, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": 1977827, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xh52RsnLJ8HcX2xwTKPie9E8bFieR9t35a", + "votingAddress": "XqY53eDdsoZtdjBeRZ9cG4QNjoXojmiu2W", + "payoutAddress": "XgKBM1ZTuE2tAZGo9r8nNMsakQk1CV5BgD", + "pubKeyOperator": "0aceb6394d7af002d15a436ac9ae94e6e438e114c2ce30fd2858130ed6951b7304d30a6f0ccd86377d9193e2bbad2a9a" + } + }, + { + "type": "Regular", + "proTxHash": "55030c16aa62288ff32f7627b6e43d3664fd6d4326985b11a52c4175ca78ff3c", + "collateralHash": "9681ed0d48aff4a47b3cc55c3a0d4203cf628131585b4980948cbaf56ab23bf9", + "collateralIndex": 1, + "collateralAddress": "XxTLxfCfsMVXbniacxwYfmobJsSChMn2Nq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.147:9999", + "registeredHeight": 1047981, + "lastPaidHeight": 2127735, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1375797, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmDVj5fR6cJ8MFnp7uPBFcze35DcnP1DR6", + "votingAddress": "XsAR1jd3zi1XXQZM5aTWr9u9y9yVn2jpuV", + "payoutAddress": "Xx79ju2ngxM4n4qBHbFeeEGXZqgK7GzoS5", + "pubKeyOperator": "138cb0a07838ea7c5332ef532d81985076fc6200ac5a87175298661766facb850f7aaadd32fd7363dec2fd1b6f828d30" + } + }, + { + "type": "Regular", + "proTxHash": "e6251b30726e5241749e6dbc313a34dab5c49e710a403aa3146ccbda5d16f29b", + "collateralHash": "f65107276b1c5602cef82c76eeed8c75a7e72e4d31be2d1d826305a48eccff2f", + "collateralIndex": 1, + "collateralAddress": "XavqFrzLTDcAxACJH9nMogQAqkhchy8gKL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.110:9999", + "registeredHeight": 1048005, + "lastPaidHeight": 2127763, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1849711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoDLWHDt15U12jCTeqHvzdKJ4EG5YR9peX", + "votingAddress": "XoDLWHDt15U12jCTeqHvzdKJ4EG5YR9peX", + "payoutAddress": "Xn757SZsKRprKqQhv6up51DuXcYoFtp47R", + "pubKeyOperator": "01a8b787cf3ab2b23131a3db682eee7b1ba81439b1e2e26dc009b61d6026eacdaf9a640b4c59ea93a9398eb64f3cabe9" + } + }, + { + "type": "Regular", + "proTxHash": "3ee28aca3474ddabe5fdeb9381f351b277274ebebcf5d19270adbaf736ac724f", + "collateralHash": "1b5ba1863086a47bea4427b00f81669e24c9a7a52573c4fcbe49fac1d5031823", + "collateralIndex": 1, + "collateralAddress": "Xpu7fGhg4AF7Xtq7YkSHWgMxLSAA1ksVQf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.144:9999", + "registeredHeight": 1048006, + "lastPaidHeight": 2126809, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986019, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfue66oN7u9t8aZtwiqJ4Sucd5SZhs8xQa", + "votingAddress": "Xfue66oN7u9t8aZtwiqJ4Sucd5SZhs8xQa", + "payoutAddress": "Xn757SZsKRprKqQhv6up51DuXcYoFtp47R", + "pubKeyOperator": "862494f2ceb4836e7854b3f52db016e3df370df31836d2607e592fbb47ef46b9f6b54919f15347355063694a9b94bcc6" + } + }, + { + "type": "Regular", + "proTxHash": "ca55f40df5dfda162d7055663ab76f206e29b3546100a926f7ea47a0c1328ee3", + "collateralHash": "48116d87dc16fe0ea89c920138389914b828640c2aff62686903e7abc3558aa8", + "collateralIndex": 1, + "collateralAddress": "XfXfjy4Cgy7DVUxpiojXemdULjSMGyk6va", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.102:9999", + "registeredHeight": 1048009, + "lastPaidHeight": 2126009, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948662, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvBaeZ5Uj35D8SgccGVmAkDChRzmukLYVT", + "votingAddress": "XvBaeZ5Uj35D8SgccGVmAkDChRzmukLYVT", + "payoutAddress": "Xn757SZsKRprKqQhv6up51DuXcYoFtp47R", + "pubKeyOperator": "8eb7610c0453b7f3e0bd17097b69fed91df6047ad54c320d14810720a9496943c251894f4f5cd8e4e657d052876bd09a" + } + }, + { + "type": "Regular", + "proTxHash": "0b7cd58e8d630ee2f42ca1208891f136841aa8aad9ce7331c45d0545305f4e9b", + "collateralHash": "59582e5170faad9ab2496a407380919cd50cba274db42921467dc8d2a4b76ec2", + "collateralIndex": 1, + "collateralAddress": "XnF6V2MCqoEDjQstvTuUREKmC8a63icQFr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.74.253.213:9999", + "registeredHeight": 1048020, + "lastPaidHeight": 2126663, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120612, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbTtVy5VvBxgdmxVShpd8vpZfFzeEbG1ka", + "votingAddress": "XbTtVy5VvBxgdmxVShpd8vpZfFzeEbG1ka", + "payoutAddress": "XnF6V2MCqoEDjQstvTuUREKmC8a63icQFr", + "pubKeyOperator": "87d729dc929df0a8b67db31ed01108c0be9b3f8371ebe1f742f54af0065802b55fc52b4e3e2c0e4d447cee0c205b6d94" + } + }, + { + "type": "Regular", + "proTxHash": "aef80a4712eba6cfd145d7eaafd13fe80e047bc65ccd4f35f79f55bb7eba3eda", + "collateralHash": "1a6a442e322233ed154b3a045de6690f64ebe77526baef3097412e93e43e9fb8", + "collateralIndex": 1, + "collateralAddress": "Xecv8bgVNuzd6EoygXZjPS97EFjHcYkQhU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "155.138.253.78:9999", + "registeredHeight": 1048116, + "lastPaidHeight": 1732880, + "consecutivePayments": 0, + "PoSePenalty": 4464, + "PoSeRevivedHeight": 1580554, + "PoSeBanHeight": 1732907, + "revocationReason": 0, + "ownerAddress": "XoEAZnhZYvfxXchH64vQYr8Wk2doLfM73L", + "votingAddress": "XoEAZnhZYvfxXchH64vQYr8Wk2doLfM73L", + "payoutAddress": "Xk6Q7hWebiWcu9eqc3gkGv1XhBgptM7FV2", + "pubKeyOperator": "93bdee88449d333acf4f27ead5c68af1a6bbd577eac41087c277fdf2e3a9a93e1a77a1c62e67e2e6a3282a3d3da73266" + } + }, + { + "type": "Regular", + "proTxHash": "f7fa98b97ba1c0a75c13142c16e055c406b94ffccaa97918f2bb171f0ecc4340", + "collateralHash": "ef9f884f5f85f56382605830e65611f1dbdb22b04ceb95d688768d0f7d8ef35e", + "collateralIndex": 1, + "collateralAddress": "XhNZZotzLAaoGZyXUCTYnQcG8yykYULnEk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.202.79.138:9999", + "registeredHeight": 1048117, + "lastPaidHeight": 1737399, + "consecutivePayments": 0, + "PoSePenalty": 4465, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1738389, + "revocationReason": 0, + "ownerAddress": "XcGLi2b4KiA1JJL4dGYdBhRZBmsWZ87UYu", + "votingAddress": "XcGLi2b4KiA1JJL4dGYdBhRZBmsWZ87UYu", + "payoutAddress": "Xpm2PrbrSTqUxFfCbG7oEqey2x1E3fvmj8", + "pubKeyOperator": "9594083950d65f3b520f05abf973a0c4c78fd6df4586cf01b307dc81e671fc72ed541f3f93f295c742d770b0fe76d09a" + } + }, + { + "type": "Regular", + "proTxHash": "3824f53813b8dda94d918fd449c8e64f763652e708cff6742934d7182dbccb65", + "collateralHash": "c8fd4ef054fe2da30f378d2b140fd9130bdb6898b5c702b7e72411c0dd433959", + "collateralIndex": 1, + "collateralAddress": "XoEhmDcDyJgEFebiooRzwtVNie7b2t9Frv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.95.180:9999", + "registeredHeight": 1048117, + "lastPaidHeight": 1684479, + "consecutivePayments": 0, + "PoSePenalty": 4505, + "PoSeRevivedHeight": 1390235, + "PoSeBanHeight": 1688147, + "revocationReason": 0, + "ownerAddress": "XsYrjZFgMxTrmKYaVrv5bSUmEEknSfp35u", + "votingAddress": "XsYrjZFgMxTrmKYaVrv5bSUmEEknSfp35u", + "payoutAddress": "Xm3YnNwVNxmeDkkogoqs6NR8E5TXiBXrw3", + "pubKeyOperator": "957e9b7190a6161337c0a7d91edac17a1e6ccbe3406ea695bb5f4adcb34c1dc3e5b4ee04692a38b8f37463885a6f63b0" + } + }, + { + "type": "Regular", + "proTxHash": "d152029ea6feb6501bed5fdbaa1af5344cc3d7ff455ae915f5d88faf1fdd2e81", + "collateralHash": "a64d62cc1d4f907e4af3708d400e4133b06a2561331cbd7ac8fb0cd10c07a933", + "collateralIndex": 1, + "collateralAddress": "XiUxXeg6DMFC91ZXjuzSHHCFLUQzgS7bWi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.156.254.41:9999", + "registeredHeight": 1048117, + "lastPaidHeight": 1684470, + "consecutivePayments": 0, + "PoSePenalty": 4504, + "PoSeRevivedHeight": 1491911, + "PoSeBanHeight": 1688387, + "revocationReason": 0, + "ownerAddress": "Xjd3q1jkXdgdnZsCMNfxDQ8cnqbKpxxKkp", + "votingAddress": "Xjd3q1jkXdgdnZsCMNfxDQ8cnqbKpxxKkp", + "payoutAddress": "Xrf4d2W1yZ5ZEPmSwPgXwyrvjfeveNmorF", + "pubKeyOperator": "03be1094aaee9f8f423b6ed39fa4205777a3799327c27fed7d15f2e036e6f62efd336d87e0fbd9d2456b651da8e27e81" + } + }, + { + "type": "Regular", + "proTxHash": "9557bb0f1b00c6798a3fe1987eb0850b6a1a25ac370761e3f5ce9b61b5c6365f", + "collateralHash": "2731f6234eb95b685a78ce3416c7cfcc5116de935e8fd073221216b5f0ac3463", + "collateralIndex": 0, + "collateralAddress": "XdPy1wq2eEF5y1ETH5tcDnhnRXeAA9oa6x", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.34.53:9999", + "registeredHeight": 1048477, + "lastPaidHeight": 1869982, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1872330, + "revocationReason": 0, + "ownerAddress": "XeE9V9ZQ4rQcmQcRF41Xy4TJ6kyWaPETNL", + "votingAddress": "XdCXKdVz8zuDVf23DvTWw7kc6NNziV7xpm", + "payoutAddress": "XmreVJ1Y9uCfdkh6Em7x6L6K7oGryzKTn2", + "pubKeyOperator": "8c876ecc080ee3ad79fb7e2e06d04927eaa1911e7ad366264781f949274680cc83cbf16d64fdecefd852b6d9d5fa719d" + } + }, + { + "type": "Regular", + "proTxHash": "4ff085ab5889ccc2c38e1bb36da2dabbc4ec2281aef2da33965e020b051c458b", + "collateralHash": "d04826266e60cf7265a03f86f593bf18c1e5bc27addb6e205d4661fd3ef64e23", + "collateralIndex": 1, + "collateralAddress": "Xo8kQ3smHaqTQ5mDqmm8XeBqwN9WpeAgiC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.211.229:9999", + "registeredHeight": 1048646, + "lastPaidHeight": 2127245, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1204927, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiN367yJH2144p7Ggnxq2haZvTD3CsqGmp", + "votingAddress": "XmjU9FNpZDy8Mk1osH25m4C8GR2BnTznZc", + "payoutAddress": "Xo8kQ3smHaqTQ5mDqmm8XeBqwN9WpeAgiC", + "pubKeyOperator": "0243e154d13fe89267457567948ff51629a22b236f4a66679b38467a46aa0bb4b10d1ddce61e4607401bf9aa7830c112" + } + }, + { + "type": "Regular", + "proTxHash": "2bdb3934bc56ef0c27b881c479e7d5e97ffbdcaa53af18359dd863c0144b81b6", + "collateralHash": "34c4d83a0f8f5028e761461f3157aa50a217576a252256603749ed42c040f54a", + "collateralIndex": 1, + "collateralAddress": "Xk2EfUnBervUhFJpQsi7qtFerSf4stFKBQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.101:9999", + "registeredHeight": 1048989, + "lastPaidHeight": 2126654, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1268197, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmQT3YUJKGoNomrxru3v6o1rRELWLHtEeh", + "votingAddress": "XqgpLtcNqj3g1gqPWtriKZ3qLum5hdmEkh", + "payoutAddress": "XpGi1ipJdJUSMvNUH8B3TMT2P3PLCDDqMV", + "pubKeyOperator": "94c3c84106bdd231aa8810cae2e8f3b8c011af1243af838c43b835fb075d3336226ed8e6983cfa314e92b33b9507ed3b" + } + }, + { + "type": "Regular", + "proTxHash": "c626c00656f86d62ffa9931b1dca321e6b58753f1f644ab22a7f0a90b8bacb09", + "collateralHash": "80767da8ebcfeb4e1a1184b46b0cdf8578c27b562cd9cb615ac8c4385d132ab0", + "collateralIndex": 1, + "collateralAddress": "XhBkggYahCYsw9uevJXhp4pcy7T8QexbYy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "62.77.157.12:9999", + "registeredHeight": 1049053, + "lastPaidHeight": 2125831, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeaugfihgmgUEchL4Jk44vf3z2qYYLtSAF", + "votingAddress": "Xs37ThrVnsV2NN1yS5nq4PeV9kqfkQ1SdP", + "payoutAddress": "XhBkggYahCYsw9uevJXhp4pcy7T8QexbYy", + "pubKeyOperator": "877b82c0a8ebe03131f9e45c84d7cd5d21972cef7ad87265a4b94bbf2a68e13ca03f39d0edacd594334ab51f1587f27a" + } + }, + { + "type": "Regular", + "proTxHash": "399150351393ed9929249a2f742e8b4546a57beaa2aa72f5beeb1c43b7bb952e", + "collateralHash": "f059c912c34764733cfb28a97cd22138a0562ce6fcf23e0e88f3449853cec0c7", + "collateralIndex": 1, + "collateralAddress": "XkGZdoL9Vj3EpaYt78CfRGrrebPFNvfC1F", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.141:9999", + "registeredHeight": 1049179, + "lastPaidHeight": 2127566, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1394319, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeznaHi5piZPaFVPWg6V8RMWG3uXu2vMib", + "votingAddress": "XeznaHi5piZPaFVPWg6V8RMWG3uXu2vMib", + "payoutAddress": "Xrndmqubf3tag3z1EHKNeLu4BsEhFtKau9", + "pubKeyOperator": "8dd61094bd587ce5c5ba9fe253321d2f9e49ff71afadd4cd7d17ba1db0596314a3be53da2b9562608d9ee00d334bdfc1" + } + }, + { + "type": "Regular", + "proTxHash": "aaabbd7d944efa7f532c75635419916ac6ec3db2a944b8366a4a1b15bdc0e921", + "collateralHash": "300c282ea08d270413ac15e214a505b7c81dcc020a0cc4d5e9ae9df345ad409f", + "collateralIndex": 1, + "collateralAddress": "XjfZhHTT9FAEugnB12UTnM3JZYGJMRU2Zg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.17:9999", + "registeredHeight": 1049182, + "lastPaidHeight": 2128264, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1414358, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyzWbetp3iSwr5t1qoV18BQwp7FXQnL1AV", + "votingAddress": "XyzWbetp3iSwr5t1qoV18BQwp7FXQnL1AV", + "payoutAddress": "Xefyiv1TmqnpZofgTbNWUkma1nmCHaA7Hh", + "pubKeyOperator": "98fad613b8a7d0f8fb178c52d63b80b0439f495d62a2b095431f101505bd8e624ca5e053f8c70ec59a0ae4ad2066d5e2" + } + }, + { + "type": "Regular", + "proTxHash": "2a50a72c40e67677924f130a52fdbcc3561412394b4e99f00525edea215985ea", + "collateralHash": "86883ed167698b2b81d62d110e60ace5b6ec353193b02893bef70391ed0e9077", + "collateralIndex": 1, + "collateralAddress": "Xi7BBkrgcJA818Bwa4bQFUb3csto4DMCDQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.74.32:9999", + "registeredHeight": 1049206, + "lastPaidHeight": 2127874, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1219574, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsxLJyT1xg9MehsVU8yuKJPU3X8mWac639", + "votingAddress": "XsxLJyT1xg9MehsVU8yuKJPU3X8mWac639", + "payoutAddress": "Xi7BBkrgcJA818Bwa4bQFUb3csto4DMCDQ", + "pubKeyOperator": "1186049198a34d1044c4b4454e5533bf4304a75be48400b21d5ffd353bc9e4f08b71a8ed6fc41edfdabd3672ffa66772" + } + }, + { + "type": "Regular", + "proTxHash": "adcc454391d9f53e6fa523e047db5f335e38d9ead70dc8e4e648118c285d1d77", + "collateralHash": "60d54a018393fa189614e9dcd73db0faf8587c81b460553c9ff79535e48acce5", + "collateralIndex": 0, + "collateralAddress": "XhZ8CNVLTTycaRGtqVdeCh1awmGn3RtGSD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.227.43.54:9999", + "registeredHeight": 1049229, + "lastPaidHeight": 2126495, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1863692, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XttsS19wXf77pbwuyLfsmbcnftcKJpZeJq", + "votingAddress": "XttsS19wXf77pbwuyLfsmbcnftcKJpZeJq", + "payoutAddress": "Xr3rvgHq1fMmcTBAKETKAqT59JgKqZ7ViN", + "pubKeyOperator": "11e0564192270ffc88307f66eb53b1ec2ce48a71844dfa73d955f021bf3c0d357781f74c1a45d28d50965ef1eb0a2d5d" + } + }, + { + "type": "Regular", + "proTxHash": "09086e05d5debe5aaeafceeaa531ae249eebdb600483573e63ee6305e7f4a826", + "collateralHash": "b05c1a3cfadc1412953246521ba28c08b4f890a41a1c7a1cc60ebd8253159057", + "collateralIndex": 1, + "collateralAddress": "Xf2Hcj5SmeERjGph872hwAAnWizDi6LHvD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1049244, + "lastPaidHeight": 1746904, + "consecutivePayments": 0, + "PoSePenalty": 4472, + "PoSeRevivedHeight": 1246499, + "PoSeBanHeight": 1748868, + "revocationReason": 0, + "ownerAddress": "XqgfTimg197V72jJtGfrtUudKaLYHKvFbD", + "votingAddress": "XqgfTimg197V72jJtGfrtUudKaLYHKvFbD", + "payoutAddress": "Xf2Hcj5SmeERjGph872hwAAnWizDi6LHvD", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "bfb61dd4433734074981c9eb44c6a59910d60891cafd9c4eb4939e44aa15e0f8", + "collateralHash": "90ce6be69fffeecfc780b3b1ad27e2e661d6ef7ff9d64f5eb29b66a2c17d1603", + "collateralIndex": 0, + "collateralAddress": "XdyqvDqkqcc59ZAnf4mwWKRyBKnXNQJ93x", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.248.159.169:9999", + "registeredHeight": 1049244, + "lastPaidHeight": 2125895, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvrCkRyzhWdSVcuL95xL8ZqWbnwJAiXb41", + "votingAddress": "XvrCkRyzhWdSVcuL95xL8ZqWbnwJAiXb41", + "payoutAddress": "Xr3rvgHq1fMmcTBAKETKAqT59JgKqZ7ViN", + "pubKeyOperator": "83ce55d1170f9ecaaa7a7a4bc5aa676c2b3fffeafbc814f927a2ed3c98e1362f0e9bcfee591415638c386c0278fc94aa" + } + }, + { + "type": "Regular", + "proTxHash": "12ad39cebf01b3a1bf8b74d9b4d0d2cf1f0c6e764a52ed80d9f66a73c8acda53", + "collateralHash": "98083dacae9d727773be50e5363971ea8711efcdcec1071ec9b1d0834bfee622", + "collateralIndex": 0, + "collateralAddress": "Xn5EBUcqyGHozXZvLwCwqMwvp9EZAhddTz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.73.247:9999", + "registeredHeight": 1049245, + "lastPaidHeight": 2125896, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvdj4z3iD5Z587KxGNLBzBwJCfpa88H2fB", + "votingAddress": "Xvdj4z3iD5Z587KxGNLBzBwJCfpa88H2fB", + "payoutAddress": "Xr3rvgHq1fMmcTBAKETKAqT59JgKqZ7ViN", + "pubKeyOperator": "8cb67d8b46258c91f6a8da1dccc5b491ae21b8dd7fb755d509d6eb4781c41f41c4fe2ab7a0784bbaec1f0f0c99df0a16" + } + }, + { + "type": "Regular", + "proTxHash": "3b1273a1ecce8e9c08e18dee81ff133ecce69e506aefd8c0cbe8d5e59f449a7c", + "collateralHash": "7e68523b658d48d76376ae75c10f57acb6d78daff8953dc83adefe98b71faed7", + "collateralIndex": 0, + "collateralAddress": "Xs5V81BGexqYahBusfdvWo3MGRZ9CPYjBh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.198.4:9999", + "registeredHeight": 1049303, + "lastPaidHeight": 2063175, + "consecutivePayments": 0, + "PoSePenalty": 3813, + "PoSeRevivedHeight": 1942028, + "PoSeBanHeight": 2063850, + "revocationReason": 0, + "ownerAddress": "XdwR6Qe6jTjyWgZHfNUWAwgqjKqgn5xWPz", + "votingAddress": "Xp1xoZ42cWZwT8zY7i8oFQ91wFi6y8RcF7", + "payoutAddress": "XixKAMDtX5Ts1mU1eukrgVesWZEZVf6wiL", + "pubKeyOperator": "1543fcd8129a1d7d84707aeaad034d0653c23829cb130ad51abb305cbb6438cefe2d9068cbe1d3fec0d6d5742d8e8961" + } + }, + { + "type": "Regular", + "proTxHash": "1838348a19ce0315edfec8cd96e84844d7d1ec5220445e2ed876c5870b102af1", + "collateralHash": "a6866d2fe723277e7ebb90fb0e81a49df17809cc2c236cec85bba3ffaf77e7c4", + "collateralIndex": 1, + "collateralAddress": "XjLiwgHJeDTw96wW6ThVMpZpxc9mMpUG1a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.143.120:9999", + "registeredHeight": 1049303, + "lastPaidHeight": 1207761, + "consecutivePayments": 0, + "PoSePenalty": 4700, + "PoSeRevivedHeight": 1116022, + "PoSeBanHeight": 1209564, + "revocationReason": 0, + "ownerAddress": "XpPta8VQBV4vaLDSwUzsZJS2hv3DsXKXMC", + "votingAddress": "XpPta8VQBV4vaLDSwUzsZJS2hv3DsXKXMC", + "payoutAddress": "XyxYfWaU8c8A3LNXWz7H7tcCR6uLauw9if", + "pubKeyOperator": "0d51ee16a4cd6a1ef4dd706f2d6e77241e6ce311d287283e023c35de186b5b5b53fc48c80f25bbc8dbc78853acca9783" + } + }, + { + "type": "Regular", + "proTxHash": "7a706bf63a69002e1c2220bc3ffefd8c6c45d8e89cc47be45e13cbc243389253", + "collateralHash": "aa1522901f2f609fe088797abec36700ff90f32cc3e62eaa787a2a49ee26e85d", + "collateralIndex": 1, + "collateralAddress": "Xf9goaLhAay6XbqgYqs2w4D1b7c8fqNwwv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.68.68.160:9999", + "registeredHeight": 1049356, + "lastPaidHeight": 2125980, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpwDNpZEyUCtQEEjKXWicdajYA8V8V4NHB", + "votingAddress": "XpwDNpZEyUCtQEEjKXWicdajYA8V8V4NHB", + "payoutAddress": "Xf9goaLhAay6XbqgYqs2w4D1b7c8fqNwwv", + "pubKeyOperator": "9395648eebad762dc7ad728eec415737c9ab0a6b0b229ce354466c6398dc9301bdf8a09c33af48d50fd7e405cb23ad77" + } + }, + { + "type": "Regular", + "proTxHash": "52d6bf22d13713d65a524fb6250b30ea3bb1f55c0c475c694b566689d0506c8a", + "collateralHash": "f7753642247213541c564d69c71ed976c6dd56a431bc021a7a363b32c32db64c", + "collateralIndex": 1, + "collateralAddress": "XqYQBvAAjv3WmK6h3y7tQ6Uaex5FpzrayS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.223.175:9999", + "registeredHeight": 1049359, + "lastPaidHeight": 2125991, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgqLdAZHhF6x5JaA8GYbrqT8844rrAnkgR", + "votingAddress": "XgqLdAZHhF6x5JaA8GYbrqT8844rrAnkgR", + "payoutAddress": "XqYQBvAAjv3WmK6h3y7tQ6Uaex5FpzrayS", + "pubKeyOperator": "14783f28f2abc7cdc97988f403b71a065b1ca12c627ac35cbd2183d7a38bf47f7986393f3cb6b7b998100ef639ffce65" + } + }, + { + "type": "Regular", + "proTxHash": "b100a91cb9500ac9eeeaf95e7b63ff8af34cfe7023cded447a4417ebdcc31b9c", + "collateralHash": "409e86e5e98341859a01ba097b1c71a061c1c303b6b88bbdcafa526cb3271527", + "collateralIndex": 0, + "collateralAddress": "XxL61sipDCykbTh5WKrf6xmUkXVR6teYAj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.248.137.183:9999", + "registeredHeight": 1049360, + "lastPaidHeight": 2126000, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnJbX7YWEeqR6jwaN8uQquz8RVgKu8qsG6", + "votingAddress": "XnJbX7YWEeqR6jwaN8uQquz8RVgKu8qsG6", + "payoutAddress": "XxL61sipDCykbTh5WKrf6xmUkXVR6teYAj", + "pubKeyOperator": "84c091f7f87b0b4e336582648ce4ccdba6ea496c566275fabe064fcc9ec632ad0d75b68ab34d19a359c25662dca37ba5" + } + }, + { + "type": "Regular", + "proTxHash": "e9979f06fec963cc22ca977087d650b3f7aef76cc32a50fb8e44f532d2411c03", + "collateralHash": "76aff5bfe52233151d898dcdc0a8096ca6efdcd19e4b6af9356d93ed2a9d409f", + "collateralIndex": 0, + "collateralAddress": "XuZZPYcP7nKHs2uj8xuEiecBrHQMUcdJGw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.4.172:9999", + "registeredHeight": 1049360, + "lastPaidHeight": 2125993, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdcUZP3Fhp6jAuuo1gfhXWQt2QjuENZTXa", + "votingAddress": "XdcUZP3Fhp6jAuuo1gfhXWQt2QjuENZTXa", + "payoutAddress": "XuZZPYcP7nKHs2uj8xuEiecBrHQMUcdJGw", + "pubKeyOperator": "0cb72d4dd0ee253474f0d9435850ffe3fd7b94b2fdfa6a91072d0d5aa859d831b3e429244023c618ab82bc6b5cd154ad" + } + }, + { + "type": "Regular", + "proTxHash": "e6d5aaa16614a17e71dbb692df04b8b5c1ff13e22c7630acdf9d385e2eea0f2f", + "collateralHash": "eb7312cfe660fd6163d27420bd755e2b7d269cc4a7c7c46ddfe3a21cd00f5b2b", + "collateralIndex": 1, + "collateralAddress": "Xbw7wE71z9pDZ2kq8wjU9hdbPmABYdnSFg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.80.187:9999", + "registeredHeight": 1049360, + "lastPaidHeight": 2125994, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkXrAgxRvtDtdpKXSHLoZUa86s1H6zyJPy", + "votingAddress": "XkXrAgxRvtDtdpKXSHLoZUa86s1H6zyJPy", + "payoutAddress": "Xbw7wE71z9pDZ2kq8wjU9hdbPmABYdnSFg", + "pubKeyOperator": "94bc6c08afd8d1ec5bb8f346dd695b06c04e53075e307b36c66c93da0013fda60a13c978f98cfd771b82ee5b7b03e6f1" + } + }, + { + "type": "Regular", + "proTxHash": "b9dc34a12a52549ac9f95114ec93ccefa331fe992ef9e919c013ba7891ff616b", + "collateralHash": "bcf72c64b1311f99432517a6696918b1d35d836463d7fe9bb688268b032a5b41", + "collateralIndex": 1, + "collateralAddress": "XapuVxa1gqjHDBVQxMCdPG6Z5p6De6TZXK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.58.52.247:9999", + "registeredHeight": 1049690, + "lastPaidHeight": 2128767, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2078716, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr148baP512RZoHN2SeGNfTMw3sw73J5Di", + "votingAddress": "Xr148baP512RZoHN2SeGNfTMw3sw73J5Di", + "payoutAddress": "Xi83thytDFNT2zCEADRRZBy92JN6sRMaFe", + "pubKeyOperator": "857158644d4a92e5fa66ecefd68172759060d7ded97352469a85bc9e7f3ad1870ef26653eac8303d25dfd6e6d9c6d41e" + } + }, + { + "type": "Regular", + "proTxHash": "c7f1cca19dc1af017dd6a07c6881601a1171c31ea0e0fa139ac9aa5178b8c27a", + "collateralHash": "77119cabd1c87383f1907a146f8322986ff7a1e0b98fc7454ee08880b6067141", + "collateralIndex": 1, + "collateralAddress": "XtCgFdCGMVajHCmnDB1zySGAqWVeQS8FL2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.128.239.50:9999", + "registeredHeight": 1049690, + "lastPaidHeight": 2128768, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2078716, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwx11M7qbJDLhQF1FoTpfLBx69ecnAb2Jr", + "votingAddress": "Xwx11M7qbJDLhQF1FoTpfLBx69ecnAb2Jr", + "payoutAddress": "XhVD3cWJqL8xFA9H7M1EtnE4Avu8j6DsqY", + "pubKeyOperator": "0485f93cb1c4a7780d9154b6e850e6a29294e6315c2985200720a4c96a4d75a592ae4e5047ee5efb16f619495aec1ad8" + } + }, + { + "type": "Regular", + "proTxHash": "2d461ee1e601f40f93368219ad81f7d7a5702566fca2f6dc4093371876567ff9", + "collateralHash": "d45f1dda72f9de72d0d277c8d9ef97ac30861f625b3c72f583d11625a1201b4e", + "collateralIndex": 1, + "collateralAddress": "XdpBve9ZF1HiGyZoVjLHs1cnYU2iAtjEb5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.128.239.123:9999", + "registeredHeight": 1049690, + "lastPaidHeight": 2126327, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1767915, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb9BJ9dz7KauZHhrknYcEFG5iKnyRJJ5JM", + "votingAddress": "Xb9BJ9dz7KauZHhrknYcEFG5iKnyRJJ5JM", + "payoutAddress": "XhTg9Xw4tQ1zJqPr8pvzHBbHtGbqQLmxJC", + "pubKeyOperator": "928b150960cb3dcf82caad93511aaa7f7df2e7f6395acaeb56ce1fbf1fb48ba6b699454333e31d6f66dc25b11d5126f4" + } + }, + { + "type": "Regular", + "proTxHash": "2c32560070d7599d1faf110b67529fa9e78205c3164b41976ac4dc00fb794ea5", + "collateralHash": "99b008b50d98031a8fc6023d0e6285357b46332893ea0cac4f3132d81df5b054", + "collateralIndex": 1, + "collateralAddress": "Xx62S36LSFrin8PXgqVhwtWzNJJhfamzR5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.185.40.104:9999", + "registeredHeight": 1049691, + "lastPaidHeight": 2127562, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2037045, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvHwWP5Vwfe6wwr3G3Roy4NQbeUoKFcHka", + "votingAddress": "XvHwWP5Vwfe6wwr3G3Roy4NQbeUoKFcHka", + "payoutAddress": "XweafKTu3T9otSr4Xx7gUDbf9q6HYv9PeH", + "pubKeyOperator": "07ed79266f09323a5bbb05fbdb145224d2b1395cb3a12b4141d92e721199cfa52c2f2f5f2af72df436896dbd86d52fb9" + } + }, + { + "type": "Regular", + "proTxHash": "8ef3fc82dfa76ecca6e7c809e91cfbfe40f499c1cf58f0f52b39e2a7e06f3ad9", + "collateralHash": "e06c7af412c245297873fcca6ced3208750f1436b5927e8753b9055b703cd75b", + "collateralIndex": 1, + "collateralAddress": "XfpSfRp81YrU9RrbQVZyHgFi4DEjC1yGyS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "208.87.102.86:9999", + "registeredHeight": 1049693, + "lastPaidHeight": 2126118, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1995048, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxxxPP9zM81kYZhzL6H9kd1URUAw8sXDAY", + "votingAddress": "XxxxPP9zM81kYZhzL6H9kd1URUAw8sXDAY", + "payoutAddress": "Xe6R5AAYcGhxKRrBhofqqffc8uwxztPN7X", + "pubKeyOperator": "99dd7e1273a1f3aa77c5e513182187e0b4e7754858b1ac5087eb3170211cac368ce7f3955220b527a1125593b9655ddb" + } + }, + { + "type": "Regular", + "proTxHash": "e8626fcd57f6394db6669ad6db6fd44c3906e702e51b9fcae5e58300d83cfd8a", + "collateralHash": "50d133ce6e0f2b588120c9ad38c1fbc17d221a5f985501d99153045696b0bb68", + "collateralIndex": 1, + "collateralAddress": "Xmgc9MMiWDrtxbM1g1AAU3bk8Jm2wPG6mo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.185.40.14:9999", + "registeredHeight": 1049694, + "lastPaidHeight": 2127373, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2006474, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvvWM6uPQT1RY9EDDMUNw3Q1vTSxQA8cam", + "votingAddress": "XvvWM6uPQT1RY9EDDMUNw3Q1vTSxQA8cam", + "payoutAddress": "XsZTx6yNN5QMtSqEtJEP95GwzrUzt37F5w", + "pubKeyOperator": "8745ac28c712e3253e23fbcd54ba6c69f0c9ff88add838cff601d22f22ee986aaab2347a6e1862a031212274523dd758" + } + }, + { + "type": "Regular", + "proTxHash": "e568ac38c173e6f9628cf7c7d831b46e98d9968561eb6426cc51c0ba4e237afa", + "collateralHash": "73ef53bac688e064870af08345c4adf7c86664c6c0d0166a22451df4ee91e565", + "collateralIndex": 1, + "collateralAddress": "Xd4acZ2q1VBmpdH3VLsm6D7x7kvxtwn9Mn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.189.154.74:9999", + "registeredHeight": 1049694, + "lastPaidHeight": 2127455, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2070688, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnrYjBoMcNRS6Rx3pqCAL7NrkcMCXL5WWp", + "votingAddress": "XnrYjBoMcNRS6Rx3pqCAL7NrkcMCXL5WWp", + "payoutAddress": "XtiJZZZ9PyY7ULM6U17sT82QAGftHpgWEc", + "pubKeyOperator": "120fd7e57ac55c7bc1cf816355aca7c641537e102e126017228d2c9e79b9ad898c127782af9a95e472a7d6ac521136c8" + } + }, + { + "type": "Regular", + "proTxHash": "417bdb23fd07cdf96e178da8c85260fac3f233511601d10edac72b96d4086c55", + "collateralHash": "f8f515a0dcf61c012b94c2363529dea135e405155434967f317cbbb3b9656369", + "collateralIndex": 1, + "collateralAddress": "Xc9Q2ADQTrdR6nj6o2yF5XCKKRGDosocNT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.58.52.179:9999", + "registeredHeight": 1049695, + "lastPaidHeight": 2127133, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1913588, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfiG4WEvz5FaGwJDjgSGQSg5LHiMg4W225", + "votingAddress": "XfiG4WEvz5FaGwJDjgSGQSg5LHiMg4W225", + "payoutAddress": "XrpFJUxJcS3C9CnsUBAQcCeGgeaQyTgar2", + "pubKeyOperator": "18c2fdebabcd8c5880cc06a4d422f28b945de5ec64a8e25de81074c2fb44cad52eab55926d1a18b073e6a064a01e0435" + } + }, + { + "type": "Regular", + "proTxHash": "b63234d5dfc8616ac9c9667b8bbc1366e5908501f1086127b5c4351ca4443fa2", + "collateralHash": "3a5f5fd09c881df568b74ba4aa81d2918d32443127c297167d7ada798ad40e6f", + "collateralIndex": 1, + "collateralAddress": "XniuofJH587tSicNZKUKuP5DSsid2EawPc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.58.56.79:9999", + "registeredHeight": 1049698, + "lastPaidHeight": 2126008, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1988311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsea4BV9Q1oKz6kvQWN5j2YoAtVZUyftHh", + "votingAddress": "Xsea4BV9Q1oKz6kvQWN5j2YoAtVZUyftHh", + "payoutAddress": "Xq4E6MKmxdVMVAKL7PpKTyh6VKdcoLuhvH", + "pubKeyOperator": "03ffabb0588844a60d5449a29fdabf8b99be18b25ccadfa0518d44280874993ca6458a3c939631af59fba7d0c2d52063" + } + }, + { + "type": "Regular", + "proTxHash": "b168031295f69d8a9813918a517362549e9743698d72e7b115e59177fb358a13", + "collateralHash": "8f58309e06926d678f777b5a66e073f8e24449ca66d9fda516902b4da5edc491", + "collateralIndex": 1, + "collateralAddress": "XrG9v1BWWMBor1dVYfVXPXU7ZokYNhmRhL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.58.56.87:9999", + "registeredHeight": 1049700, + "lastPaidHeight": 2127010, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975555, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtRUVd2DvRD29ZFVnn7Bs5ezbBZhEMFqPQ", + "votingAddress": "XtRUVd2DvRD29ZFVnn7Bs5ezbBZhEMFqPQ", + "payoutAddress": "Xe3SWBJMfFSkoxyTGWThGHPg9eBy1DM7hG", + "pubKeyOperator": "18fe50e7237d2a46cc23222ef757f42a356659c0797c804523e6b1fdc420eee2f643a112bd8db9674362c64be7c52c89" + } + }, + { + "type": "Regular", + "proTxHash": "2b87e50306b31a729151a607215272f4227913d4fb195f06fb02f0f50993af58", + "collateralHash": "84f1fef86fb72a83182a4c31b3b518b9a93c48578cfd74ed009b0f2f87b8d3a8", + "collateralIndex": 0, + "collateralAddress": "XgbBHH6gDarvi1HBs8eihgVfuVriKSEuiu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.189.154.59:9999", + "registeredHeight": 1049701, + "lastPaidHeight": 2127450, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2070688, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsLCq6ZYDDERqALFtzYQPh2S7PsPnzP1J5", + "votingAddress": "XsLCq6ZYDDERqALFtzYQPh2S7PsPnzP1J5", + "payoutAddress": "XdrKr7njAz2M4rn7Pu6Gso1CtBtzC9oYAk", + "pubKeyOperator": "0bb0dea2d65f9a8a1d635584dd2f7ca3a16231ff9d0573400ec4f273406e85cef2b16e6c405a3e9d770bb98ec2e9cccc" + } + }, + { + "type": "Regular", + "proTxHash": "2420971711a8f496e950713115ca9c2fe2c2379ad6e97a3cc7ed513fc86506dc", + "collateralHash": "fcf31c1e4cca97b1d4583fd2ec662e34670419c06d526721e974bdfd5d442bc1", + "collateralIndex": 1, + "collateralAddress": "XkKB6qT254n1tnX532jYye9DUQPhLbSYYz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.189.154.44:9999", + "registeredHeight": 1049701, + "lastPaidHeight": 2127454, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2070688, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeYgEmQt9AQMKRmE7ovSndZ8no2h4SWnne", + "votingAddress": "XeYgEmQt9AQMKRmE7ovSndZ8no2h4SWnne", + "payoutAddress": "Xmp6PUchf4rPQYem6sVPej3YfGm6jri7Zv", + "pubKeyOperator": "8bc2ae680da0fc2b7721e907b093eb951221bfd614ccc6759750874ca867aabf8e98cbecdc0e0f25a292f93591fd505f" + } + }, + { + "type": "Regular", + "proTxHash": "23f72319ff77338f1a69b28b9e8531e4e2d3db267bd962c91b47e6097368f8cd", + "collateralHash": "e67e3320402110a807dce2dec43e22751d7ffb87516048c0a9b515d5562a31c8", + "collateralIndex": 1, + "collateralAddress": "XgqAACa7LJ1btVQRAZZRkfSJYprNTSXT1B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.189.157.22:9999", + "registeredHeight": 1049704, + "lastPaidHeight": 2126876, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1989296, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxHisHtEg6du9YmvNhZ4yYWBRbxXVYntby", + "votingAddress": "XxHisHtEg6du9YmvNhZ4yYWBRbxXVYntby", + "payoutAddress": "XeEfyyKH2zQePNXfMroMkLEFfLU4ozWK2A", + "pubKeyOperator": "14cc707e20d4ea6ec5b1de796a53e5d6dc7b8047a6a253c74430c61dc8a34d6f880a91a4be10ea4989e6accf50443eb7" + } + }, + { + "type": "Regular", + "proTxHash": "727f3638c7c63d11558df2b46c475205afacaf3f503cd9a5991ee4c2c302027a", + "collateralHash": "a20cd56c41b015ca239219405b97a1ca3e427f8daa6b146837f792d8b23072da", + "collateralIndex": 1, + "collateralAddress": "XqUCaHbZo6rWGammTWYYZmDVcLwhTV1vri", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.189.154.76:9999", + "registeredHeight": 1049704, + "lastPaidHeight": 2127451, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2070688, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyVsBbw9j9qSn9jm1PSAz1TyAE12WEjXk7", + "votingAddress": "XwGnhmMHXLJ4wcThqes4hky9VeGZxDNciW", + "payoutAddress": "XdPAMWh2Aay5k8vUbbyG3QvnZ1Ui53QYuc", + "pubKeyOperator": "8443841e14569b06c45b024ea99979951ef498e4a072d29b8b9f5c6f75b279043087b5ceb03f03e66eaff62e05dec805" + } + }, + { + "type": "Regular", + "proTxHash": "8d4ae79af1d24f70be0a0c9dc77475ca8f4ae16f2717022619d3b386fcf5f3d0", + "collateralHash": "5449192092b40532aa3a5f62193a05a79716226b2aa4477bf5f70997480810e8", + "collateralIndex": 1, + "collateralAddress": "XcvR8EwqFkvstcvhyAUJXrAcUFHSPg3nc5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.58.52.232:9999", + "registeredHeight": 1049706, + "lastPaidHeight": 2126877, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1989296, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfegpeeYUBFxwsmZPUiCraYrXZ2AKBcgUb", + "votingAddress": "XfegpeeYUBFxwsmZPUiCraYrXZ2AKBcgUb", + "payoutAddress": "XyeH9SZkr5aUHvzQy9zCzyKMmxdhd8ALM7", + "pubKeyOperator": "8a941a65f890b179824f4d9fdebeb598e57d79adbd2faf1ae48dd536d1ce8e274c68ca5d27850bfbf36eddb03b25aa55" + } + }, + { + "type": "Regular", + "proTxHash": "f036de4b47798af2944500db77d26c24ffae34fc7f49cd3a9e4156391386854d", + "collateralHash": "f48990b5e1bd1d7f586757b42f7b30f0b537497672aad0bfcfa22c1db7b64eeb", + "collateralIndex": 1, + "collateralAddress": "XqQkxLUt2UcSNtruxa4GeHbH2VhuGApzFv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "208.87.102.89:9999", + "registeredHeight": 1049718, + "lastPaidHeight": 2126385, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1878090, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeWvzNd9VK7CfmrYFaQ1geqNZd3SkJQqYL", + "votingAddress": "XeWvzNd9VK7CfmrYFaQ1geqNZd3SkJQqYL", + "payoutAddress": "Xt83GtWF7fNKEsgmMJpZXGAzcVPPxszcae", + "pubKeyOperator": "0911947ac6412374c3822b0261c89dd591aa6af13e147639c2bc25578ed03c544e44eae9df0eb5ee1f274033a97088bb" + } + }, + { + "type": "Regular", + "proTxHash": "1ef8e1b6867f0a7ec6631aee0f0757443006c522f19746e94a9dd8ac464239a1", + "collateralHash": "09d2bb3ed727abc175632efa0f723870330b831e12d9be52c1e9b70ffde0d7e8", + "collateralIndex": 1, + "collateralAddress": "Xcq85AZ4hA7ppkEnUG95PVAHWebZTRLnBq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "202.5.16.33:9999", + "registeredHeight": 1049721, + "lastPaidHeight": 2126879, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1989297, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv1LUfeG32gAZTdDikeHDXzpUc4N8Z7UFf", + "votingAddress": "Xv1LUfeG32gAZTdDikeHDXzpUc4N8Z7UFf", + "payoutAddress": "XpUaEoKRquJUMfko7QwQxirCGBhKQLVAPz", + "pubKeyOperator": "090bc093f584554e5a834d228c540d781d82de9fb0bacd296dbfc213d6e84feebdf69ac73e2a5bdbc85d90a38a517c4c" + } + }, + { + "type": "Regular", + "proTxHash": "65650b10d273b74db238649477bc24222b4171cc1bbb8e0bd414d0eedee76f4f", + "collateralHash": "66fa0c008add5b4dc7aa531e6127f00a0551850e8b42f3f02307b7463f363d27", + "collateralIndex": 1, + "collateralAddress": "Xb8E5r4tJocTzEJio95FeUG17hekY3h4En", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.163.0.49:9999", + "registeredHeight": 1049860, + "lastPaidHeight": 2127720, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121489, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoyeaAkycrTbQRQ64dUbEPGkJvDHq62g8q", + "votingAddress": "XeoA6QH8YNvcKhgUwm4QUXz2Q5T1cArz49", + "payoutAddress": "XiLG83Jj8reHt7YH4H4JQ16q7c2q78KCSz", + "pubKeyOperator": "122faaabfdb1d5922b496e95419b8a13007a05a7c3396ddccfe6be729808a669ca6d525e5b6171ae8e9dc4d561bf377b" + } + }, + { + "type": "Regular", + "proTxHash": "e8c60afb6396c621ca7efef704f75d193cb6b2606458efda18f60579f9e605d7", + "collateralHash": "97cb4934ef95843153e48917f27aa4d33533f951b4777ec194b171433276fde2", + "collateralIndex": 1, + "collateralAddress": "XixHXA9aXkYpKnNMXxFvTrSTEiHdeeEK27", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.97.140.168:9999", + "registeredHeight": 1049865, + "lastPaidHeight": 2128330, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2078193, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxgr683WUesspfc3cuvrCtEjmLSpe24qo9", + "votingAddress": "Xxgr683WUesspfc3cuvrCtEjmLSpe24qo9", + "payoutAddress": "XixHXA9aXkYpKnNMXxFvTrSTEiHdeeEK27", + "pubKeyOperator": "8fcb43f8ae9f9535ab38b62cc78a266f70f90fb6dc0cf59e6b3c07796ed0829555f935ac62650409493eec4ec7981a2b" + } + }, + { + "type": "Regular", + "proTxHash": "ac8d70898dfe492cc9e8920c193687277dc4ffeaed15943898d19ec091eec645", + "collateralHash": "6927c09f592e73ac8cb4be6d24a0ee89c9a2cf06d769c7b9826c6e09ebbe2923", + "collateralIndex": 1, + "collateralAddress": "Xhfra1wVuYHP7P9bBZN3ehXVBnYe1RJC1z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "173.212.227.186:9999", + "registeredHeight": 1049870, + "lastPaidHeight": 2126249, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1546814, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo1fFPqVfN3JFWJoudsCSJQ74kLWboZ4Py", + "votingAddress": "Xo1fFPqVfN3JFWJoudsCSJQ74kLWboZ4Py", + "payoutAddress": "Xhfra1wVuYHP7P9bBZN3ehXVBnYe1RJC1z", + "pubKeyOperator": "0bfe7d128087e9dae0e26ba08b77eca84f9ca53b530b3bac19251161946bc164dbc33c810e7d6d539ef5981864aa8e62" + } + }, + { + "type": "Regular", + "proTxHash": "cb9d7a813dfa15f8faf67b1f6f6c9f32cbddd5ff813529457eb8c7b6117673c4", + "collateralHash": "e03b51906bdd7f591104e15cbcc011afeaac7178b06d8cef04662d8b9009426c", + "collateralIndex": 1, + "collateralAddress": "XkJsoDC8nk5pPugMejPutcEDbJkXwULHYF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.92:9999", + "registeredHeight": 1050318, + "lastPaidHeight": 1463202, + "consecutivePayments": 0, + "PoSePenalty": 4733, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1464789, + "revocationReason": 0, + "ownerAddress": "XqugFvLHfhdXZZkasqtZ7nr5izyKj3JpK1", + "votingAddress": "XqugFvLHfhdXZZkasqtZ7nr5izyKj3JpK1", + "payoutAddress": "XkJsoDC8nk5pPugMejPutcEDbJkXwULHYF", + "pubKeyOperator": "135a40bdd844419f6ae4947a19a3a16e0fea3ef0e25eced627c25b93616e1a28d5ff2c67a9f1bc8290c54c962df9e976" + } + }, + { + "type": "Regular", + "proTxHash": "45f4ff0091cd109ad9e9db374c5b4c0006955b50ffdde074fb383af095bd4c2a", + "collateralHash": "eb6814a09e151b5ea479112d9fa7b015c0a80e2683d2c3b7582da3ea9654058e", + "collateralIndex": 1, + "collateralAddress": "Xk44XMPUfJJfVZAPAgc6AiqcoR3NKNpQds", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.215:9999", + "registeredHeight": 1050394, + "lastPaidHeight": 2126709, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgKN5YhPziGbetDxR3AVqUTF8LUU4PibgX", + "votingAddress": "XiF9SEnL8ozWWaTYSs7GLyekmzSWRTgz4E", + "payoutAddress": "Xk44XMPUfJJfVZAPAgc6AiqcoR3NKNpQds", + "pubKeyOperator": "861c1efe8e2f4348c2708926ba9d5ec7eecc9803c2fe380aedee31843df5739c3011cc20b9f46bb0b4a001599d75a745" + } + }, + { + "type": "Regular", + "proTxHash": "7445c254447af2b20bd3cf40d24b610de962deed0eb7a0c1cdc24ef797124425", + "collateralHash": "13269dda46f9bc4aee2dbd04bc85cda0fd8b46758f8243fead9ac96cce5c95c3", + "collateralIndex": 0, + "collateralAddress": "Xku5wQbJJkhpTQB5tfJK7cAp33CkdnPHp4", + "operatorReward": 13.37, + "state": { + "version": 1, + "service": "66.244.243.69:9999", + "registeredHeight": 1050503, + "lastPaidHeight": 2127432, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1875954, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwfYtkzWvue3odKema3oK9B33WEfdbbFi3", + "votingAddress": "XbHUkXM3zgX8PnLgQGgAYF9sLRQCcH75eF", + "payoutAddress": "Xku5wQbJJkhpTQB5tfJK7cAp33CkdnPHp4", + "pubKeyOperator": "9048f5ce2d0235802d727ddd800114d817f6cef225a9ebb2f5cd0eaf6cf3f2ebeb65c3bce5239a156acea6bb5edad3be", + "operatorPayoutAddress": "XkQc9SBaU4LVEDTzR6LdkLhb9NeUJTf2Ty" + } + }, + { + "type": "Regular", + "proTxHash": "a07313deaf12b1471e600ebaf7bae1e8becab8c8647eb26f7d2c15457a6684d0", + "collateralHash": "6d71d00f47e1ad43dc2545f1658b8ebdfdc52532d904db2a5da8ecc6fce4e4ce", + "collateralIndex": 0, + "collateralAddress": "XtAnHutj8kL9s93dWcQNAf5FUKbyawnFxL", + "operatorReward": 13.37, + "state": { + "version": 1, + "service": "66.244.243.70:9999", + "registeredHeight": 1050518, + "lastPaidHeight": 2127443, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1875957, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgJJmmQ2xtm8TBv3KPPWRZaA6zeUkqtXfk", + "votingAddress": "XbHUkXM3zgX8PnLgQGgAYF9sLRQCcH75eF", + "payoutAddress": "XtAnHutj8kL9s93dWcQNAf5FUKbyawnFxL", + "pubKeyOperator": "85401739d4f6644f012ba9b1ae410ea6975146b63ef7e412d0a615bef5c4eaa913ee9f717be317c8e9dde6c206472c2e", + "operatorPayoutAddress": "XkQc9SBaU4LVEDTzR6LdkLhb9NeUJTf2Ty" + } + }, + { + "type": "Regular", + "proTxHash": "f919debb3a5ab255975687baf163e7dbbc8ee4c85157ceaf6511ff085a52c22e", + "collateralHash": "4be5242cc6408cddb4be8811a3206cbef1903529f361a8aec673d29158778b1e", + "collateralIndex": 0, + "collateralAddress": "Xr6QiwDaJnzVutcQgF7hMrihoV1Q1mBDnG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.82.72:9999", + "registeredHeight": 1050972, + "lastPaidHeight": 2127120, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv3sd8mhR2XU9wf7qCVM4mVHDnz2BL2TCp", + "votingAddress": "XwhRFc7AYirEC2dB1JXJtKispZ3AkoJ9JC", + "payoutAddress": "XbpqkLFWuNGakGLZFVkmeRfCwu6gpC7oip", + "pubKeyOperator": "8a0c1329063ad724e5db06dd336dc9de43835048d3aca1440127fb655bbb9caa1baef555a854a7acc2d35d3493f6c6b7" + } + }, + { + "type": "Regular", + "proTxHash": "80a80e40c69238b322626001f03a0c8ca4845ad2469b010d4f46779aaea847f8", + "collateralHash": "4ae1e51a08cce5ee3c5c526ffcb1f7540756ebad5cace218bcfdfd01b4128ce2", + "collateralIndex": 0, + "collateralAddress": "Xk1NJafHsg588aZdp3UYHXoXztt8FTg9Dp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.104.200:9999", + "registeredHeight": 1050974, + "lastPaidHeight": 2127122, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd8AeZPVDFsr76kdeV41ikGZAUUmN4BetG", + "votingAddress": "XxR7etkWDPnL2UL3hF9RZzXPKdXWryYMzi", + "payoutAddress": "XbpqkLFWuNGakGLZFVkmeRfCwu6gpC7oip", + "pubKeyOperator": "0299e8c2d20fd211b62458335591986797b3b1a6422d86feab5ddc05eac0da86a312edc4b53287e86f3f320cf96188cb" + } + }, + { + "type": "Regular", + "proTxHash": "d78fbb4efa3e7d58159ab3d5bb975a707ad59f0d0444ccfed13c3f88c1c0faeb", + "collateralHash": "ff9de7d19896147d40e46c8b86729f0a71c903cd1728a2b1d684581ec79ada93", + "collateralIndex": 1, + "collateralAddress": "XebcDgX2G2miNp1NEiPRreByfjiusrsk8X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.18.146:9999", + "registeredHeight": 1052187, + "lastPaidHeight": 2087511, + "consecutivePayments": 0, + "PoSePenalty": 3815, + "PoSeRevivedHeight": 2003134, + "PoSeBanHeight": 2089461, + "revocationReason": 0, + "ownerAddress": "XtuHeYvqMnjK75KTcjamUf2WiYhtDxm5nv", + "votingAddress": "XtuHeYvqMnjK75KTcjamUf2WiYhtDxm5nv", + "payoutAddress": "XebcDgX2G2miNp1NEiPRreByfjiusrsk8X", + "pubKeyOperator": "8fe224de3de77625a9b2d257d07ae0b048f55029b0a1e1addd634b6fbb5ad7cb1a97bc967927293875427371e8860978" + } + }, + { + "type": "Regular", + "proTxHash": "3b79a6250d676a83d6cfc2d5c288aec10ed47f149c25f844c3bc0c7aa32882e8", + "collateralHash": "a1c9bf2d047dd5e74ad4cc227caa884af5ab4285af4849b0ec36848523758ec9", + "collateralIndex": 1, + "collateralAddress": "XcL8yhKD72jaKDjg1QQQxK6LCRFsJ9qZbx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.20.131:9999", + "registeredHeight": 1052194, + "lastPaidHeight": 2086831, + "consecutivePayments": 0, + "PoSePenalty": 3810, + "PoSeRevivedHeight": 2002487, + "PoSeBanHeight": 2088618, + "revocationReason": 0, + "ownerAddress": "Xn3joVdzzwequBa6UQ5KCdvVnddt5vHEdJ", + "votingAddress": "Xn3joVdzzwequBa6UQ5KCdvVnddt5vHEdJ", + "payoutAddress": "XcL8yhKD72jaKDjg1QQQxK6LCRFsJ9qZbx", + "pubKeyOperator": "897e34f490c59673f0f845139b80859a21e12a4a1f1aec6dc2c1d7757244a7b0fdf6ef61575dbf3920a6557801452423" + } + }, + { + "type": "Regular", + "proTxHash": "76eb56d3596db1e04c63d93e35da506bc5b977c6c69ac234ac37e2a92394edff", + "collateralHash": "e52906182418a5a688df3e2a556185629d55f57be1c43fb2f49c9da5efba2576", + "collateralIndex": 1, + "collateralAddress": "Xep19ZAx6gwqzZyjk2fxcDm1yD1K6zzEZp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.84.39:9999", + "registeredHeight": 1052201, + "lastPaidHeight": 2088140, + "consecutivePayments": 0, + "PoSePenalty": 3817, + "PoSeRevivedHeight": 2003793, + "PoSeBanHeight": 2088906, + "revocationReason": 0, + "ownerAddress": "Xe4thCLHLPCdbx2fv89e3pooTVDRVstxgP", + "votingAddress": "Xe4thCLHLPCdbx2fv89e3pooTVDRVstxgP", + "payoutAddress": "Xep19ZAx6gwqzZyjk2fxcDm1yD1K6zzEZp", + "pubKeyOperator": "8c1c732ca137bdf31932dafd19efe56e7155d256db9544ae27f590fb62017f0f32536c7de15cd830704b07f9f52fc9f6" + } + }, + { + "type": "Regular", + "proTxHash": "b1a4dba671b6c0b5c20c9212f1ad7858d4baf5dbbe48c5c52b4fae8689d592b0", + "collateralHash": "efcfc9c401e3ed5cd4f0ed5a00d6fe764f91dbe96284b3a9f27ba3d112164454", + "collateralIndex": 1, + "collateralAddress": "XxyFyu25BTpyge2qB9VAuM4WeiN7Ytp4Sq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.18.185:9999", + "registeredHeight": 1052210, + "lastPaidHeight": 2035038, + "consecutivePayments": 0, + "PoSePenalty": 3826, + "PoSeRevivedHeight": 2024986, + "PoSeBanHeight": 2038218, + "revocationReason": 0, + "ownerAddress": "XrQFMFdJhqc2GMfym3KWomPCTWLXEaHNsd", + "votingAddress": "XrQFMFdJhqc2GMfym3KWomPCTWLXEaHNsd", + "payoutAddress": "XemawbFgD3PkyuNS8zzSAjRd517ibTUfur", + "pubKeyOperator": "1347434b853f1eb87263d8ff036a946bdc0e38f81242c3533c3bd2752df5da957e37b3fcf5c7a380446960847da5bfd0" + } + }, + { + "type": "Regular", + "proTxHash": "26924289c0329544b5fcc2cb41c5d699ac7995a7ed8b760e5299dfb2f03379ab", + "collateralHash": "46f8121efedc720b3f96125d983560fd4821c2e8d385c928318a25d756fa506e", + "collateralIndex": 1, + "collateralAddress": "XbumP7aY3UmEiwqPmrJJoZ2HMFY2XVBBWH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.162.136:9999", + "registeredHeight": 1052215, + "lastPaidHeight": 2062194, + "consecutivePayments": 0, + "PoSePenalty": 3815, + "PoSeRevivedHeight": 2028578, + "PoSeBanHeight": 2062965, + "revocationReason": 0, + "ownerAddress": "XkErc83KSuM6NzRj9AJrSGZWE1ZZq7aCXd", + "votingAddress": "XkErc83KSuM6NzRj9AJrSGZWE1ZZq7aCXd", + "payoutAddress": "XbumP7aY3UmEiwqPmrJJoZ2HMFY2XVBBWH", + "pubKeyOperator": "8fbd32ecbd54db00865c3ef6a784f12c0d070d0d69a162bea0aca0936b7706ca572de8c54e019c983b15d5b1a2429fa8" + } + }, + { + "type": "Regular", + "proTxHash": "944bce0e7fbf4040b63c4dae169cc595626cdf7758b9a88830995c3e6a66f40a", + "collateralHash": "a3ad50523975df26cb618178a1f35efbb9230f9599ad0731308ee67045b1e3bf", + "collateralIndex": 1, + "collateralAddress": "Xp3Cnnww8w7C4Ge3SXbv3wnCsRBM12RLng", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.32:9999", + "registeredHeight": 1052547, + "lastPaidHeight": 2125835, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820862, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk47WSHNspfWKvqyf97c6HsbrNyW9No6M1", + "votingAddress": "XieY6wNK9WmSMjk7zmCV7cRsjLvQBqxL94", + "payoutAddress": "XsyHTNQLYmyHnQ47TrKD1mR96Q1NRSzJhY", + "pubKeyOperator": "831c6466f7e0ad472bd63e53f93319e3adffa4b532616cad710a3f0d2ae887de19eb9ba79660de3b2127452640a6e8ea" + } + }, + { + "type": "Regular", + "proTxHash": "34b77eed71cdc35f020086d26989f89bd63db182640bce91ced7dd106f94bb30", + "collateralHash": "34ea051aba28699cb1acb2f94ea23300757ab44530c4fe127b19104285e6a0e2", + "collateralIndex": 0, + "collateralAddress": "XrLc6k1ef3HAQ7RW4zePLp8rjnvQggpEd7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.37.155:9999", + "registeredHeight": 1052626, + "lastPaidHeight": 1252494, + "consecutivePayments": 0, + "PoSePenalty": 4689, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1253531, + "revocationReason": 0, + "ownerAddress": "Xn8eZPmFCDaghVeJ4CjDx7rdTEbrYkejy4", + "votingAddress": "Xn8eZPmFCDaghVeJ4CjDx7rdTEbrYkejy4", + "payoutAddress": "XrLc6k1ef3HAQ7RW4zePLp8rjnvQggpEd7", + "pubKeyOperator": "143947c7996e131a8b3bb0c969b0c9951a3e6eb97d18a75e2c76eaad04ab3598f5609f6d50ce83002c47e1716a036d6c" + } + }, + { + "type": "Regular", + "proTxHash": "57713ec2ea5975ab7fcf5ee940a07872c6818b176f308ea3b59c8dfd32417d80", + "collateralHash": "767d795fe8d5f8eee0f975d227a2ac32f5561b377c5005edce7de300ef72ee01", + "collateralIndex": 1, + "collateralAddress": "XscjbJqZ48GvpZ2gfEQhYW34xu3uefrRwH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.125.247:9999", + "registeredHeight": 1052633, + "lastPaidHeight": 1252511, + "consecutivePayments": 0, + "PoSePenalty": 4682, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1256853, + "revocationReason": 0, + "ownerAddress": "Xii9ZdsMYVa6hScYge2y7U4xWBbAdeuN8q", + "votingAddress": "Xii9ZdsMYVa6hScYge2y7U4xWBbAdeuN8q", + "payoutAddress": "XscjbJqZ48GvpZ2gfEQhYW34xu3uefrRwH", + "pubKeyOperator": "185d36f99b9287a2d152ea2d5ae5a9fa9686107004a50625569fc3ebd5f3bb487ef8fefe97d2fb317e507c79b332f12e" + } + }, + { + "type": "Regular", + "proTxHash": "b78662a8ed4823a26f4843cd9a335e3fa533bef8fb3d44ded5042c146cca3133", + "collateralHash": "a0f0fd50f158e916ffd901c9836704aba2710b6b6563fcb332d594bf0ed605ab", + "collateralIndex": 1, + "collateralAddress": "XbfKWBprTsr8ALQMb67mvp1qQMi62pW5M3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.67.246:9999", + "registeredHeight": 1053070, + "lastPaidHeight": 2126131, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2008567, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyGDF9oESDMzMwnEy7QqXZV4eM1ESf2oiQ", + "votingAddress": "XipufmJTqPEKc4pRCm4YHGXFRQhjeHTvyo", + "payoutAddress": "Xo4CxCu6SuwdxRXrpGA9zBffyfdqm8hyeW", + "pubKeyOperator": "08713b27318898be84732dd431be9f4c906d2c282e555ec73fe83fe748d5dca5200fca28b3e5f676681f8bf858e6c7d0" + } + }, + { + "type": "Regular", + "proTxHash": "a8f3cf91e12b9f056f7f07eeee73add15c02aa8c05b9e30ba2897cc9dbefa57b", + "collateralHash": "0bf5ec7058faca3cf5113d4138a5fe2f088de048cecd27fcb095e0cd82e4a1a6", + "collateralIndex": 1, + "collateralAddress": "XiNv286pqrBw6BnJe7xW2q5rpRozuhiUVo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.197.157:9999", + "registeredHeight": 1053651, + "lastPaidHeight": 1735328, + "consecutivePayments": 0, + "PoSePenalty": 4465, + "PoSeRevivedHeight": 1524441, + "PoSeBanHeight": 1738644, + "revocationReason": 0, + "ownerAddress": "Xj1zWEsvJ9pobD1ivQ8RDZZu1Rwo6Sc3Un", + "votingAddress": "Xj1zWEsvJ9pobD1ivQ8RDZZu1Rwo6Sc3Un", + "payoutAddress": "XoEPH6r6LVAKKMFFXdEbTD6GnqczvNTyTG", + "pubKeyOperator": "8c57fa3fe905512259e1ac2af0121fe554966f95c3cd22e1c79b1f3dacf81c722873885ec7f2589cb90142c5bab21bf1" + } + }, + { + "type": "Regular", + "proTxHash": "e49564c34cf44839f104ed6f3b52a04d070c99e7256c405039d194d0dfd0b0c2", + "collateralHash": "c9c959f76f982a4c0b19ec64b0b7c25b6c4fad497e26ab06518f9b7907c08d57", + "collateralIndex": 1, + "collateralAddress": "XmmdDv7B1WcjbFCzfe9kJPoy3MeSXLF7ie", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.205.92:9999", + "registeredHeight": 1054016, + "lastPaidHeight": 1253949, + "consecutivePayments": 0, + "PoSePenalty": 4690, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1254299, + "revocationReason": 0, + "ownerAddress": "XbgAHmNEpQK4NHZncX4qVrmq4qZS6cWzCs", + "votingAddress": "XbgAHmNEpQK4NHZncX4qVrmq4qZS6cWzCs", + "payoutAddress": "Xyaut9hWBJHb9oRWiAuNH2rAhQW9cZN9fC", + "pubKeyOperator": "10b3e2935ae876ea27a3f40efc90097dcc06dd7b50b62609c068aef28b97e6bd94f59ba4ea418690547ed1e6261143f9" + } + }, + { + "type": "Regular", + "proTxHash": "a780b4d2e293ae7064d2c8e69714d105327cf2bc8dde7a7d2af1e185a3e8e8ef", + "collateralHash": "30b838347cc0fad2f3bb8a6cfce159068922da42205bd8e8aeaa930625209e4f", + "collateralIndex": 1, + "collateralAddress": "XuduAKcF9roHBCwui4NeRXHiMAhoWuiZFC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.3:9999", + "registeredHeight": 1054829, + "lastPaidHeight": 2126703, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiwYHkUPeERQ5GK3MWNErSRKr7cRFvLxak", + "votingAddress": "XiwYHkUPeERQ5GK3MWNErSRKr7cRFvLxak", + "payoutAddress": "XyGRHUua9tDyhqituwkPBmDaboXJum3t74", + "pubKeyOperator": "07061624325afae759b764c97f2a37b657c4e9cc0c372beaeb6ef76afa6fd1101eb9264c3607b39329bcb43a86172134" + } + }, + { + "type": "Regular", + "proTxHash": "f96976a490f3dfbfd856e6d8d19b26654764aa32de419b96e71020c7f5e14629", + "collateralHash": "8317c39cfef16e7e69e9a564149d5054502c2f5fcabd389ce95f5be0060eb742", + "collateralIndex": 1, + "collateralAddress": "XyviiMeXdoRFadbZHhBvuWXzjAuAeSXchd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "39.98.201.249:9999", + "registeredHeight": 1055612, + "lastPaidHeight": 1079663, + "consecutivePayments": 0, + "PoSePenalty": 4942, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1082901, + "revocationReason": 0, + "ownerAddress": "XjWvFaLZ3k2mXP5eq68bnXiM75C7RohPSw", + "votingAddress": "XrrVMJtthHWL2GMYhM8Gqz7FyT4kjb2CqF", + "payoutAddress": "XyviiMeXdoRFadbZHhBvuWXzjAuAeSXchd", + "pubKeyOperator": "0be2b60d45505fe64fad7cb9991394d3ea29a7383e8952e40343db0cc6873735f22b21eb0e210d89bd981a82d9a07742" + } + }, + { + "type": "Regular", + "proTxHash": "d0340f069a12191dbd63e3a2d42f5e87f6ca30ad45208f6de35d666c57c63903", + "collateralHash": "e4c4b6911e7b67ab9c7c18317a8a6d58a42a1408eab165fb888352a550f87017", + "collateralIndex": 1, + "collateralAddress": "Xdc9JEAhLHKz5ved6isG8EumT2suzwtWxc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.145.119.15:9999", + "registeredHeight": 1055617, + "lastPaidHeight": 1732991, + "consecutivePayments": 0, + "PoSePenalty": 4465, + "PoSeRevivedHeight": 1688245, + "PoSeBanHeight": 1734371, + "revocationReason": 0, + "ownerAddress": "Xth693FHZUvQXoCjuaSciyb9XB4iRYxAKC", + "votingAddress": "Xth693FHZUvQXoCjuaSciyb9XB4iRYxAKC", + "payoutAddress": "XgJxhctvM94vtwxqEM88KFiantmvxaJVXs", + "pubKeyOperator": "0341c7a10085db0e1c48821aee03cd96aa2b3fbc3fa05a62cb533e30c7d51147426811d6b988d19922546427048f9eb5" + } + }, + { + "type": "Regular", + "proTxHash": "984254c773d08aec4e046e47346f317722942fe08413d54aa8caef00ffdb5663", + "collateralHash": "82adeab6df79ed74dcd339262d64b1e41e6f7f464646c22bdfcc09f4895dbf52", + "collateralIndex": 1, + "collateralAddress": "XetKLY1uQaQ2ohodFvmxrxJdtAzs63suok", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.145.121.90:9999", + "registeredHeight": 1055617, + "lastPaidHeight": 1732993, + "consecutivePayments": 0, + "PoSePenalty": 4468, + "PoSeRevivedHeight": 1688245, + "PoSeBanHeight": 1736148, + "revocationReason": 0, + "ownerAddress": "XuNM822uTKGgG7yD6Z2nZZ6GkpxFctVjTk", + "votingAddress": "XuNM822uTKGgG7yD6Z2nZZ6GkpxFctVjTk", + "payoutAddress": "Xq4owDP8ifcKtyH5BLSC9faMUYpuSMNdnU", + "pubKeyOperator": "0390dc81232410e0cc707e966e42e8fe48c46e8218cf65867ed64594129398b84e738fb6fbe5398a80dcbd69bc57aa26" + } + }, + { + "type": "Regular", + "proTxHash": "b4c48bc72dcec182cf478f4e34d827ebd4e46ad6e551f6d3a13b44234b478167", + "collateralHash": "4bea55a6e4593e1af6356d5e7e88b7cc04f0748a88078189448f6ebbecf84ff9", + "collateralIndex": 1, + "collateralAddress": "XcHzBarwgCRjrb4f5MyUdHRTz24NwqNw45", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.114:9999", + "registeredHeight": 1055880, + "lastPaidHeight": 2125867, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820905, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcvANjhcCFcSArw46k9cNohAcDy29tHzZf", + "votingAddress": "XcvANjhcCFcSArw46k9cNohAcDy29tHzZf", + "payoutAddress": "XcHzBarwgCRjrb4f5MyUdHRTz24NwqNw45", + "pubKeyOperator": "93bfb50497fcf03e8e1c308e68a0e3315850c410ba0e2ce3e3afbd7b16503e1cc9842e20e82774cea017c01aad21f526" + } + }, + { + "type": "Regular", + "proTxHash": "1a6653fc218b4d84aa37cec26324ad19677257fd899bee35b237cd22fa7a523d", + "collateralHash": "4cf8f17fef74c44cb4ba4730043713ccc461ef77658e86253d3ab91dedb8171f", + "collateralIndex": 1, + "collateralAddress": "Xof2PwQVwDrRUhiMBFPwNv7GHyebCGNvbD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.11:9999", + "registeredHeight": 1055880, + "lastPaidHeight": 2126187, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1353564, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoayXL7A3GWaQbAmymBjwgxoiY2YdcDFhH", + "votingAddress": "XoayXL7A3GWaQbAmymBjwgxoiY2YdcDFhH", + "payoutAddress": "Xof2PwQVwDrRUhiMBFPwNv7GHyebCGNvbD", + "pubKeyOperator": "165bbde7aecebab8daa93458a43d8c9335e0991e29449b6121b43ff842fc3575e9cc7227950e451ec57cce8d5379090f" + } + }, + { + "type": "Regular", + "proTxHash": "9432ca44bc86747141413c9391fe29c2ea47c3eacab21ace9dd33da167c34c19", + "collateralHash": "b56134fdbd3fc8f77c26ad70ec3cec11dfec3954c4d0cb1de896524f9e741893", + "collateralIndex": 1, + "collateralAddress": "XrVNyr3Zpw27bJNF3SonregPH6onFpVfAH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.225.121:9999", + "registeredHeight": 1055908, + "lastPaidHeight": 2127413, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtBHH5o96YKGLKJiqEpmxdFmcxGwJaTjHN", + "votingAddress": "XtBHH5o96YKGLKJiqEpmxdFmcxGwJaTjHN", + "payoutAddress": "XmPayW3w9vnuZ4baHZgP8amKv9TAPUqAc7", + "pubKeyOperator": "8534b5341c28f91f160b67c7f7deb077fe8303c4abb426f44428df5a9b9add8ba3fa29ba0d1a004976df3808b7304fc7" + } + }, + { + "type": "Regular", + "proTxHash": "a500473301d562096a40120b3f56a50fc21e19b61312641ba7d3ac4afea8883a", + "collateralHash": "67058c1d8413739553f3291cf456184ce130d2c2a9d44814e56e0417b61fa985", + "collateralIndex": 1, + "collateralAddress": "Xw3eYYjjUJyzD1do6Ha84jYpEXCieVtFrv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "69.129.80.108:9999", + "registeredHeight": 1057423, + "lastPaidHeight": 1114804, + "consecutivePayments": 0, + "PoSePenalty": 5013, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1115733, + "revocationReason": 0, + "ownerAddress": "XbkSr3SQxR5ozkj59DDDoHKo1yjjUNRgAw", + "votingAddress": "XcFkPzJyRb1TkW6h4FbjBtC4daVjyAkxQg", + "payoutAddress": "Xw3eYYjjUJyzD1do6Ha84jYpEXCieVtFrv", + "pubKeyOperator": "8a34b76006315608331e5c163acba719f916776a79a097d04766ad53f0e90792745c4032463102ed619b9eb5e3bf8d98" + } + }, + { + "type": "Regular", + "proTxHash": "6d34f608a6cc6b4b41819b859eaa127fc416b88dac1f0144e7aeac98ea8be019", + "collateralHash": "dbfb139af611f6f547c35770d66f19f1ca6bd57ad9e2ad2f2e264331bcb52469", + "collateralIndex": 1, + "collateralAddress": "XayiL726N1iW3TnaB9xTKSKXbMLKnVAP13", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.71.71.157:9999", + "registeredHeight": 1059001, + "lastPaidHeight": 1719196, + "consecutivePayments": 0, + "PoSePenalty": 4447, + "PoSeRevivedHeight": 1217172, + "PoSeBanHeight": 1722396, + "revocationReason": 0, + "ownerAddress": "XmtwhAvjWJtDW8QN5RJYBUC9K835FhP4kH", + "votingAddress": "XuoxJ3aFze7wMKN8wTUtXZ6ccjdYNhDLnT", + "payoutAddress": "XkZ6P935ocnYBbCL2r9RT2urR5v9Fzk56X", + "pubKeyOperator": "91181aa31939e9a0017e09d6a9774b69f61cbafabfb0bb0bb0d039f91d6132213d70e94e411c13eb1d35eae206bce33e" + } + }, + { + "type": "Regular", + "proTxHash": "72748112269647ce039fe5259a64d877605e205f050b99e28345874a5f168df2", + "collateralHash": "30d0acc1d777398585b50da2feef25ea82698821ad64916be4d22470c6e7c8d2", + "collateralIndex": 0, + "collateralAddress": "XoD4WhKRQP5q1CmvHWgG3nUJ8jw8HQStQP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.38.246:9999", + "registeredHeight": 1059078, + "lastPaidHeight": 1983627, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1947051, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "Xj1kLTpshPVKXd9Zd1RrFo7yj2ApPHwvUo", + "votingAddress": "Xj1kLTpshPVKXd9Zd1RrFo7yj2ApPHwvUo", + "payoutAddress": "XoD4WhKRQP5q1CmvHWgG3nUJ8jw8HQStQP", + "pubKeyOperator": "1651dbc60c9b1a39e45d946624233898d0a458f9f18d322846e522c0066c92b03d7b5c8d73f8e21930e41a4b011e88ac" + } + }, + { + "type": "Regular", + "proTxHash": "8779d3379488c924edcbd7be04bfe6e57b3c7135747135b4644db3983364b922", + "collateralHash": "efb32c4d5b25f489942fe8204983e18eccef46871fb141e26b574e6c104f41e3", + "collateralIndex": 0, + "collateralAddress": "XdcSL6gLcyWvTUgE5WKifVp8iK8xo3tdUw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.131.193.7:9999", + "registeredHeight": 1059170, + "lastPaidHeight": 1984536, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128895, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr9btD1mpiZXMYMWqWiSCvqatP47qxYaAR", + "votingAddress": "Xr9btD1mpiZXMYMWqWiSCvqatP47qxYaAR", + "payoutAddress": "XdcSL6gLcyWvTUgE5WKifVp8iK8xo3tdUw", + "pubKeyOperator": "8869aa575ce3388fb20974530695b2bc83421386ccf36946af0d3e5ddf16cac886c1c60452fe74943760620f03265dba" + } + }, + { + "type": "Regular", + "proTxHash": "fae2b409766af857225489eb97e179ba1faddab7bd60474771f1b9cda274ece2", + "collateralHash": "b53ff2b8e7c67ebd43f7277e9a2b03c8898e0b8f647d9c103dfc799bd674ce08", + "collateralIndex": 1, + "collateralAddress": "XkksMK6UgqZCxdboLgLg5Y86wzzMhVUt4J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.143.107:9999", + "registeredHeight": 1059641, + "lastPaidHeight": 2126765, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgs14Yt9QUwNBaydbdBhpRDtBDg1qiakS9", + "votingAddress": "Xgs14Yt9QUwNBaydbdBhpRDtBDg1qiakS9", + "payoutAddress": "XkksMK6UgqZCxdboLgLg5Y86wzzMhVUt4J", + "pubKeyOperator": "15929f046b419e3392ad5af212173010b35e32e588a3bbd1dd68496eba77817b6cafdf55d41792cfef3040abae42b50d" + } + }, + { + "type": "Regular", + "proTxHash": "89c51cbc0147431ddf9d9ba12cdc7f3a9ede89f5129bbf2c391ce9ad7471efae", + "collateralHash": "f3ef5fb785c3361cc7646eb446b9e96dac43dfcb46c079db0b1ab653288b1329", + "collateralIndex": 0, + "collateralAddress": "Xw1hWg96FUWjYQMvwEjCCWxyyA3Rkuhwdf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.237.173:9999", + "registeredHeight": 1060184, + "lastPaidHeight": 2128100, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1879835, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkwjkiRyDxX8QQXRyNKJPCPFcDPtAyLamA", + "votingAddress": "XqnjAdVFWLCR6oD9sV2mJuqpYZyQY4ZFZd", + "payoutAddress": "XrjAmosceW3ZvkQMmyQwgQmjmHidvPPvaz", + "pubKeyOperator": "8fd15a143dcf5c58545e81388b94605dd408da1b6431c6e54e229c6b259112ebf5d99fa6376d96f9f125456b3a6e6722" + } + }, + { + "type": "Regular", + "proTxHash": "b0ccf1a400efbb17103e5f2c1db7195844716454ae5db549ea2ddaa3c25d8d36", + "collateralHash": "cf097927875a56d6bf2edb13721141554891f0ddd26973aa370b530be0b626ed", + "collateralIndex": 1, + "collateralAddress": "XrSJtkGq3NsyW1h183hkC9XsHKCUr5Kby3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.28:9999", + "registeredHeight": 1060722, + "lastPaidHeight": 2128105, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1492075, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeyudYNL7jzebvv74h1pgZwt19eqRxftjZ", + "votingAddress": "XvzqguZv4R4GUtHR4m4J7JSRFBJBG37vy6", + "payoutAddress": "XkskabmsReUyXpGJY8ThX3jR6csEA9Y3x1", + "pubKeyOperator": "09e10743a71fa17c1607bd84474d4ce2bed9a949fdec5f0e2cc99af82e12519282c969ec102328b04178308c5a435e68" + } + }, + { + "type": "Regular", + "proTxHash": "dfeee522a4a3ef887470969a617b60fc2ba31fd9dd46fc5858fd3f5b408a86ac", + "collateralHash": "84b1e29b8f1d2d98469f91f3ee1bb674e70850884d5a97e0d25cc8588cacfbbb", + "collateralIndex": 1, + "collateralAddress": "XfbtazpHBSYHcrEN5QepBhpD8pgBypa7rj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.37:9999", + "registeredHeight": 1061191, + "lastPaidHeight": 2127570, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1830552, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfvZfwbKmn4WvWGuXE2mVGj5d6GbCa5Ddw", + "votingAddress": "Xd1NuuMz6ZFLUvnw1eZA5UJ9LkpHLsMZC2", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "03bee7131abba3abd8af6ff80002bda74732ef3b1bedd3459f8fb8f2ece4fa78a5553f089b7ced1db231963066d3d387" + } + }, + { + "type": "Regular", + "proTxHash": "e1da0c844541976b010d42eeb6cdb16b47112dc5458abd15e46d1d03e05d563d", + "collateralHash": "45d92aa07b1cb174ab53fb30b910a370b804ee8d17359081d97be24547c2a329", + "collateralIndex": 1, + "collateralAddress": "XvhTYEE1h1iQtYXLqL658qtZDqtmwekDc2", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.76.252.195:9999", + "registeredHeight": 1061534, + "lastPaidHeight": 1492647, + "consecutivePayments": 0, + "PoSePenalty": 4660, + "PoSeRevivedHeight": 1357352, + "PoSeBanHeight": 1494875, + "revocationReason": 0, + "ownerAddress": "XcpWWjV4k4ab8w3nkxT6UaPdCH6qC6M2FQ", + "votingAddress": "XcpWWjV4k4ab8w3nkxT6UaPdCH6qC6M2FQ", + "payoutAddress": "XvhTYEE1h1iQtYXLqL658qtZDqtmwekDc2", + "pubKeyOperator": "856c272f34f4017db0cc20f3bae6cedee8446fb4bf2447c9a77a3cf487494ffef7b42454de18fbc703d9a1f26d5fae32", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "3257ccd80dcc8e22a977c53a51e519663cead9e867774411709920638b067c65", + "collateralHash": "246f92ed8cccad8d5621045a22a38b96ef8186a053179b312c79632a5213c82c", + "collateralIndex": 0, + "collateralAddress": "XhikzEnkNrViF5e23LnfVH1zYz98oVGxsF", + "operatorReward": 2, + "state": { + "version": 1, + "service": "209.250.232.44:9999", + "registeredHeight": 1061535, + "lastPaidHeight": 1410118, + "consecutivePayments": 0, + "PoSePenalty": 5024, + "PoSeRevivedHeight": 1357369, + "PoSeBanHeight": 1412661, + "revocationReason": 0, + "ownerAddress": "XbRfmz6VBp4gijBoaUPJmV5METKKHevdiM", + "votingAddress": "XbRfmz6VBp4gijBoaUPJmV5METKKHevdiM", + "payoutAddress": "XhikzEnkNrViF5e23LnfVH1zYz98oVGxsF", + "pubKeyOperator": "04b9e636cab6d25b43889f80d9b4c81699574b3670ea336be7642497fd3eba1e297ee05d2b0083fb594586a1cdff515f", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "09d6600097bb80f9ea557919069facc3e2e45fd83c13ac16ab887461e92d2ee7", + "collateralHash": "53704b276ee40f823cfbb56bab4523c52ebbd6707ba85c99c53db08dcc712542", + "collateralIndex": 0, + "collateralAddress": "XgBM67xH89e2dSBpsSibGZrnWCBSzNP4Tr", + "operatorReward": 2, + "state": { + "version": 1, + "service": "66.42.69.33:9999", + "registeredHeight": 1061540, + "lastPaidHeight": 1553997, + "consecutivePayments": 0, + "PoSePenalty": 4817, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1558427, + "revocationReason": 0, + "ownerAddress": "Xwt23yd5JpLDiHVHjE6bXhXumW4J8PQCbB", + "votingAddress": "Xwt23yd5JpLDiHVHjE6bXhXumW4J8PQCbB", + "payoutAddress": "XgBM67xH89e2dSBpsSibGZrnWCBSzNP4Tr", + "pubKeyOperator": "987cecf74e2205d632e5ef28afe874888cad11e7b0c8b58ff7b9f865a14fc41dfb48a11b2b5ca92a793aa4796fc5f3ad", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "c67b4769934f5606170bb2e06999d86cd06dade9dfe173eeb08580c27a2a2adc", + "collateralHash": "4fec20e577a1e5afaf8075d0503e1078c5355b52af9a1b4743512ba3477a1e5c", + "collateralIndex": 0, + "collateralAddress": "XmMCdTQA8Rk5SqFuvBUwzXwFAWM1jDJzvh", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.76.98.169:9999", + "registeredHeight": 1061545, + "lastPaidHeight": 1492650, + "consecutivePayments": 0, + "PoSePenalty": 4663, + "PoSeRevivedHeight": 1357352, + "PoSeBanHeight": 1495499, + "revocationReason": 0, + "ownerAddress": "XhiDpsTGrrHnTarfL7dhqLXH22CDZHQe4K", + "votingAddress": "XhiDpsTGrrHnTarfL7dhqLXH22CDZHQe4K", + "payoutAddress": "XmMCdTQA8Rk5SqFuvBUwzXwFAWM1jDJzvh", + "pubKeyOperator": "190728b902d62d361f2f274baa3a1a11426a6499df61aad6abf33b4dc5c241e8aeacbf75c9a2af8891840c40a2fb5796", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "e421ce6e1cffc63ada55ba3bb95288ae0583ad63053669dbe8ecd6aa77d41bd8", + "collateralHash": "80690cca481ee9abd2d8aae243d7ab81d47c22940ac35852e263949896923479", + "collateralIndex": 1, + "collateralAddress": "XcjucJAeEXoHY4yRBEiGa48tWENwcBqDUE", + "operatorReward": 2, + "state": { + "version": 1, + "service": "199.247.3.106:9999", + "registeredHeight": 1061550, + "lastPaidHeight": 1488311, + "consecutivePayments": 0, + "PoSePenalty": 4653, + "PoSeRevivedHeight": 1357366, + "PoSeBanHeight": 1490028, + "revocationReason": 0, + "ownerAddress": "Xi5bHvxYFZsPxEDFVMS4GHm7AmcGEZPDrb", + "votingAddress": "Xi5bHvxYFZsPxEDFVMS4GHm7AmcGEZPDrb", + "payoutAddress": "XcjucJAeEXoHY4yRBEiGa48tWENwcBqDUE", + "pubKeyOperator": "83e6e1774ce004b57fa3e76bbcae76768a77456f73249eb4eca4f9ace3abd5c7432a399772815624bc00c303ebd76a61", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "c299c434dd3d8fec352d77d0f1066e5fdd348a03a5c72c268fdd94cb72ba9049", + "collateralHash": "dc0a518fadd1ecbf6e54dff7191d9c3cc0f784e26f6e8fb6fba34a1d6d652a96", + "collateralIndex": 0, + "collateralAddress": "XhMhM8pSEiJQmRJ27xaHFoQR6uV5yn2dqg", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.77.185.62:9999", + "registeredHeight": 1061552, + "lastPaidHeight": 1537773, + "consecutivePayments": 0, + "PoSePenalty": 4866, + "PoSeRevivedHeight": 1212812, + "PoSeBanHeight": 1541243, + "revocationReason": 0, + "ownerAddress": "XisQwzHVh5pd6oQSehdMCYG464XSzJ3Jvc", + "votingAddress": "XisQwzHVh5pd6oQSehdMCYG464XSzJ3Jvc", + "payoutAddress": "XhMhM8pSEiJQmRJ27xaHFoQR6uV5yn2dqg", + "pubKeyOperator": "10d7c7ec4784397f375b856d12d19de6d0295fd251f29657531b905998bf9b796b09ee9e78120e107dabc8f16af25e53", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "b628b2b5ef2cf736b615d7a420f5cad8ca5be672aaacf624587f1231d65b5091", + "collateralHash": "3fd79e65f5ecf76c244076d5b83ee2a8d1a2ed25cf7fb5f26a1a428a185456a8", + "collateralIndex": 0, + "collateralAddress": "XeznereW8maJ68HD1dAGzt9ex9cdiQTEtN", + "operatorReward": 2, + "state": { + "version": 1, + "service": "209.250.224.88:9999", + "registeredHeight": 1061553, + "lastPaidHeight": 1402144, + "consecutivePayments": 0, + "PoSePenalty": 5032, + "PoSeRevivedHeight": 1212812, + "PoSeBanHeight": 1406531, + "revocationReason": 0, + "ownerAddress": "Xw8cACGknELbsXL97oJhPA4Nk4fm4MaXMw", + "votingAddress": "Xw8cACGknELbsXL97oJhPA4Nk4fm4MaXMw", + "payoutAddress": "XeznereW8maJ68HD1dAGzt9ex9cdiQTEtN", + "pubKeyOperator": "91aa8d82cec81be207aacc128947994cd3e625062b4fba5e8ec560683ab4436856e825e5a2021f9d6831489051b09649", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "a344b642aa3830ec52be3894681eb42163b37a617497649fce9ba03026ccfc36", + "collateralHash": "02dca6ae4fef9563912567520d21bff65fad09183cc78f21de1fd140dc682de2", + "collateralIndex": 1, + "collateralAddress": "XgYDKTQKPKMvYdJzVuXeRuqWCDCx7JBgd3", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.76.237.119:9999", + "registeredHeight": 1061554, + "lastPaidHeight": 1492662, + "consecutivePayments": 0, + "PoSePenalty": 4664, + "PoSeRevivedHeight": 1357366, + "PoSeBanHeight": 1495067, + "revocationReason": 0, + "ownerAddress": "XhNeSeiwF9kDLpswzqhRcWydaBbk4ExJ9n", + "votingAddress": "XhNeSeiwF9kDLpswzqhRcWydaBbk4ExJ9n", + "payoutAddress": "XgYDKTQKPKMvYdJzVuXeRuqWCDCx7JBgd3", + "pubKeyOperator": "8bd2e7d42a1db3aea9dae339352051d9f174d5e5b6863eb1b2c3e32153ce09f1b12ba4136d733d1ff2410558cb1d330d", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "d083dc3c0879388d718c97618840ce93f9729afdb79ad3cf6b79ddd35f015db4", + "collateralHash": "8d09ba0e33501a40b3481a59525b51797ac988f6056837d1aee32157c794fce2", + "collateralIndex": 0, + "collateralAddress": "XiyUkdqxDC1nmW2cohGbPBpeHWCwo8Bb5u", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.32.127.103:9999", + "registeredHeight": 1061557, + "lastPaidHeight": 1488314, + "consecutivePayments": 0, + "PoSePenalty": 4654, + "PoSeRevivedHeight": 1357367, + "PoSeBanHeight": 1490387, + "revocationReason": 0, + "ownerAddress": "Xt4rCnnF5AxrArCD68PPQoN4t2HyzUfTFB", + "votingAddress": "Xt4rCnnF5AxrArCD68PPQoN4t2HyzUfTFB", + "payoutAddress": "XiyUkdqxDC1nmW2cohGbPBpeHWCwo8Bb5u", + "pubKeyOperator": "15ae4e4f9205dd27e6f162356df01d50117c0b53af43495af739251d532272eeb9ad6dd58ed235bdafcc823d5565a948", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "882e12910531d9a548165661da18bfecb78fcde626515f1a6e8acb864faa2fed", + "collateralHash": "1045f1e232b71259c6a61b447eb9e3cdbec78c26fee943135561b502cff70ce3", + "collateralIndex": 1, + "collateralAddress": "XnmKhCDutkAyPvRPvNLQChpgXiUnP9XAgU", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.76.231.132:9999", + "registeredHeight": 1061558, + "lastPaidHeight": 1491938, + "consecutivePayments": 0, + "PoSePenalty": 4644, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1491972, + "revocationReason": 0, + "ownerAddress": "XcMueUPAvrUTVRreEgMS37Phvta1jCEFh6", + "votingAddress": "XcMueUPAvrUTVRreEgMS37Phvta1jCEFh6", + "payoutAddress": "XnmKhCDutkAyPvRPvNLQChpgXiUnP9XAgU", + "pubKeyOperator": "80ce1e869c9eb7a3e42b056b50e515a977baab96e6ad21ce7f75157ffd284483b30ed6ae6f2f3034d6eccd417d6365dd", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "73243bbf50caadf6c531f64b7689949dc2a76d6012931481e482be3d985804ed", + "collateralHash": "ad225c9e0ea654872e64527faa32bf757f3861f3e44fda96a75093e861af4fe6", + "collateralIndex": 0, + "collateralAddress": "XoeAF4HXy9iGv3JWBeGGEaUN1E1yRnC3hD", + "operatorReward": 2, + "state": { + "version": 1, + "service": "209.250.242.57:9999", + "registeredHeight": 1061558, + "lastPaidHeight": 1540589, + "consecutivePayments": 0, + "PoSePenalty": 4866, + "PoSeRevivedHeight": 1361792, + "PoSeBanHeight": 1541109, + "revocationReason": 0, + "ownerAddress": "XhV8sxs8dehje8BuMcecYMdPayF1D2ZE7E", + "votingAddress": "XhV8sxs8dehje8BuMcecYMdPayF1D2ZE7E", + "payoutAddress": "XoeAF4HXy9iGv3JWBeGGEaUN1E1yRnC3hD", + "pubKeyOperator": "090475e3bc3464514e6df3ea579fea5b69c825c4b43af35efcea1e81b8ede2695a487b0186300ec9648f06eefabafcbb", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "80443995c2dc56bd5627c47a072232567f038276032968e7f79aa9a5c3bf8474", + "collateralHash": "b8bcd9d21db68dd9ca7ae4c4d3e7e2b21ab139d3e461c4f9a443edeb7fc4a4f3", + "collateralIndex": 1, + "collateralAddress": "XpGuWHoTVE9gxVaLHQ6uKHP3afNCKGutHo", + "operatorReward": 2, + "state": { + "version": 1, + "service": "8.3.29.190:9999", + "registeredHeight": 1061560, + "lastPaidHeight": 1428977, + "consecutivePayments": 0, + "PoSePenalty": 4857, + "PoSeRevivedHeight": 1357367, + "PoSeBanHeight": 1433459, + "revocationReason": 0, + "ownerAddress": "XcZ1xB9hD3g6k62QEp7YrgGVCFyiTRBQYy", + "votingAddress": "XcZ1xB9hD3g6k62QEp7YrgGVCFyiTRBQYy", + "payoutAddress": "XpGuWHoTVE9gxVaLHQ6uKHP3afNCKGutHo", + "pubKeyOperator": "96666cf3386555bd9fd6001f09b4ff6d40e5e4d0388e0bda8af6c264901993d3ffb8580fc366f4729d15fbb04df7b10e", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "18353af453ff72627fb7c3e9d6e89df0152b30f625fb007e47cb220475e55d3e", + "collateralHash": "0b62300a14a43a8362ae1b0a02ca47e111c164c5e859c65b9378abddc2af40f6", + "collateralIndex": 1, + "collateralAddress": "Xg2Ns6cWkCBx25JAp6JmFARSTo5R1cPywp", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.77.160.122:9999", + "registeredHeight": 1061563, + "lastPaidHeight": 1529720, + "consecutivePayments": 0, + "PoSePenalty": 4873, + "PoSeRevivedHeight": 1250718, + "PoSeBanHeight": 1530131, + "revocationReason": 0, + "ownerAddress": "XwZ7oBDHbNysW8tKNbNwGMfRzsuMMjDukf", + "votingAddress": "XwZ7oBDHbNysW8tKNbNwGMfRzsuMMjDukf", + "payoutAddress": "Xg2Ns6cWkCBx25JAp6JmFARSTo5R1cPywp", + "pubKeyOperator": "01c1a1887ff5366dd7615786db7047d610e1c62c0f50b3ffcbbbc2e165a9aae2cc71fb81d4d7109e490625cd6fec71a2", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "5117e2a842e9b43792dcc2b16c995a1d8a0dd91ff89759f65770e579938b88f3", + "collateralHash": "bfec1b474f83e459ce3d9bc6c5b46a70bb1cb1b0f7dff65221e6d2925d78e7f6", + "collateralIndex": 0, + "collateralAddress": "XsQMcAXrDZkTggoaVLas7BwaBNqFw1ev4Z", + "operatorReward": 2, + "state": { + "version": 1, + "service": "45.77.127.242:9999", + "registeredHeight": 1061565, + "lastPaidHeight": 1488555, + "consecutivePayments": 0, + "PoSePenalty": 4655, + "PoSeRevivedHeight": 1357612, + "PoSeBanHeight": 1489523, + "revocationReason": 0, + "ownerAddress": "Xi874kVcfeDciHSSaSkgLszoZAo4N5oNHM", + "votingAddress": "Xi874kVcfeDciHSSaSkgLszoZAo4N5oNHM", + "payoutAddress": "XsQMcAXrDZkTggoaVLas7BwaBNqFw1ev4Z", + "pubKeyOperator": "16fb877c4362f4b04965e8f6938f561544b3d2798567767fb23f12edf26c25cc94914aa25c9f9a86b6231acc33e06302", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "0cb7c3b7eb90ae9469e3746949069d37615ab539d48ca1580ddca8f6bb127862", + "collateralHash": "c8dffadf477782d0c37ae9b51536c948c03cecd28b36ecc3d4ec460d5c4dd68b", + "collateralIndex": 1, + "collateralAddress": "XtFLkmq9QVdDsVzdHmDxMsktMpJSmgMaAk", + "operatorReward": 2, + "state": { + "version": 1, + "service": "66.42.94.196:9999", + "registeredHeight": 1061650, + "lastPaidHeight": 1554810, + "consecutivePayments": 0, + "PoSePenalty": 4827, + "PoSeRevivedHeight": 1357370, + "PoSeBanHeight": 1555955, + "revocationReason": 0, + "ownerAddress": "XxUUmU6mYCz1A6jbjGqtjA1aF1CBJMyR5D", + "votingAddress": "XxUUmU6mYCz1A6jbjGqtjA1aF1CBJMyR5D", + "payoutAddress": "Xg1FtHohdQdk1Fn72Rz3SuyqcAzyT9cUN5", + "pubKeyOperator": "9034dd53f7353a528e2b7c1a59122309f384222543cafaf89041fe92885a770564f5e414543f1b324b0ae0389b8a3b95", + "operatorPayoutAddress": "XsPHCwjCAx3tyPaPEiaZv4o6pjQ2Pih6dn" + } + }, + { + "type": "Regular", + "proTxHash": "530f3fdcd058307a0995921c1da33ef272c9ef0a4d04d18f6283ecc6a14d0696", + "collateralHash": "84794dfad8bc29f8475652fbb433ee5cd249bbb6ce47eb78d8f072c9638e01dc", + "collateralIndex": 1, + "collateralAddress": "Xp1pJa5vDnGWSsmKSFkMu19EmvT4CCsHPw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.194:9999", + "registeredHeight": 1061842, + "lastPaidHeight": 2128469, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdjCVcs4Bk5TWpkmLnAMM1uX4K6eWs3UEe", + "votingAddress": "XdjCVcs4Bk5TWpkmLnAMM1uX4K6eWs3UEe", + "payoutAddress": "Xp1pJa5vDnGWSsmKSFkMu19EmvT4CCsHPw", + "pubKeyOperator": "18dfc021b2606889e42aa018082f8f79fbe0e71b69ac16e6af64b84ae05547586b91c0d7296ed9a82b64af13873df4c7" + } + }, + { + "type": "Regular", + "proTxHash": "f7767a8c2efaa4ae52108abd811f05f562801edc6738d92a37cd4bdb70d39f16", + "collateralHash": "e294af4fb69ab439b228d66c6a9e36eece9105bd6ef5a2ee28adab4e96168fcf", + "collateralIndex": 0, + "collateralAddress": "XkvT8s7jJH9pygFwvsEKxerJycvFBYcB16", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.156.250.69:9999", + "registeredHeight": 1063078, + "lastPaidHeight": 1972083, + "consecutivePayments": 0, + "PoSePenalty": 4076, + "PoSeRevivedHeight": 1712305, + "PoSeBanHeight": 1973706, + "revocationReason": 0, + "ownerAddress": "Xok2P2gS3t1bDoxjPn3YSygg8fwXGv2GWz", + "votingAddress": "XjA6z1mzYUVq4EWgy94e5RHX5UC66Gz3Md", + "payoutAddress": "XkvT8s7jJH9pygFwvsEKxerJycvFBYcB16", + "pubKeyOperator": "058c5759c9b90611b496c9faa71a528267226781ab9c27b0ec1ec0996da72cad745dff8f80dbce636461eb44cfa31706" + } + }, + { + "type": "Regular", + "proTxHash": "04b8f3d920019be17e0c22e731e3d0e07c7d3df77f21506444f8ca68991a9948", + "collateralHash": "a9312255672e6fa7ad79bfb2cbaccb77568a6512520325d7a99fd7c5dd9f5694", + "collateralIndex": 1, + "collateralAddress": "XxLBaC7KrEXmxKwTgnYKP5DMpTC7yFGh1r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.105:9999", + "registeredHeight": 1063488, + "lastPaidHeight": 2126206, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnvnc3vUvGvSWqCVZSiShXpizLV38nVvmo", + "votingAddress": "Xnvnc3vUvGvSWqCVZSiShXpizLV38nVvmo", + "payoutAddress": "XxLBaC7KrEXmxKwTgnYKP5DMpTC7yFGh1r", + "pubKeyOperator": "11d3f729e18d03589e5795565318007ec11675fbcd970ff72c6d8534f0a9e582f00d6254d897e5563e90286a5ab2197f" + } + }, + { + "type": "Regular", + "proTxHash": "56e201ff1a040d01547955a1bbda2979e46eea1b71888579e8af6a2bc82e7686", + "collateralHash": "c7b4fe391f6c5497a3dbea15ec093eedb6083cb89e2ef98b5971a8cfd0861a01", + "collateralIndex": 1, + "collateralAddress": "XhS1cjMT1KkY7E4Qx3dm91zkofHHbg15M4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.231:9999", + "registeredHeight": 1064523, + "lastPaidHeight": 2126849, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfvNE6Rr5rwVS84yJPKWWjgDfUXRWYZwtM", + "votingAddress": "XfvNE6Rr5rwVS84yJPKWWjgDfUXRWYZwtM", + "payoutAddress": "XhS1cjMT1KkY7E4Qx3dm91zkofHHbg15M4", + "pubKeyOperator": "17f381a36eef472d9baffffaae68977d127dca2d41a604bd86bf7e53028eae808b759a229df776da7143f06e41c28222" + } + }, + { + "type": "Regular", + "proTxHash": "dcef150ed9245f8aef2aa2141ad4cc4958b0b5485d2512aca252aa11cf32ece3", + "collateralHash": "c08ec5e46d5c760da5b8d8782303b43bf7d28bd7bef2ad3a6f7c064121877d19", + "collateralIndex": 0, + "collateralAddress": "Xe5S78mumG8Qtp7a6s9C8g8HWTviE5RMNC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.140:9999", + "registeredHeight": 1065200, + "lastPaidHeight": 2127241, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1724730, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmic16QN3h9bkeTeUgN4LfLmRw8Q7iZoz3", + "votingAddress": "XurNhaxPQh1Yv5Ww5Tk51zckkV4zvNbkzn", + "payoutAddress": "Xyx8heRDRUf8VsmGcNjaCt35Z1Hh1NnCwV", + "pubKeyOperator": "02ce2d141c450d4cdb9c25885ec856129c25c7ceb9d29ed9a6c74a6cda74b18d65c55f7effaacfaa1222855dd3c3ef83" + } + }, + { + "type": "Regular", + "proTxHash": "46e151ab9d34a16b210e6b3a5fba091ada315ef9d64486abdd33c97faa1493e8", + "collateralHash": "7e2a9b0f4377d66acc3dfb319b778e3996791d76842fda27072958b4d14d72fb", + "collateralIndex": 1, + "collateralAddress": "XsvG8KuGesSKGF6BV22oPHnsLfo6n9oK41", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.33.180:9999", + "registeredHeight": 1065920, + "lastPaidHeight": 2127795, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsjbMFaNZeVLtjL6zuh46Z8f88ruoCMs5e", + "votingAddress": "XsjbMFaNZeVLtjL6zuh46Z8f88ruoCMs5e", + "payoutAddress": "XnheU9xwECA8qPPZF3JcbnQ6ZodB9QfT9x", + "pubKeyOperator": "81b4ec0edc8d50490f363560d59d3a79b3631a3c67c8e8f42190347465d62caed3db532ca42d2ad9a0e3915a7f06bab0" + } + }, + { + "type": "Regular", + "proTxHash": "727edd3a1fcc7b06e85aaef57b7fea262e490c291abcf128b689b63bffeb5186", + "collateralHash": "2b0aabfc23f81c76ca20457df4227be333e0bbb41bfc3ec6256119d563a5ce20", + "collateralIndex": 1, + "collateralAddress": "XjkSNQLwocaPgWaPovXecadESBxZWAqv7e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.42.204:9999", + "registeredHeight": 1066849, + "lastPaidHeight": 1347282, + "consecutivePayments": 0, + "PoSePenalty": 5109, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1350587, + "revocationReason": 0, + "ownerAddress": "XstqpePUo5xZT9DFruJ5C8py8nR69ayQ6j", + "votingAddress": "XstqpePUo5xZT9DFruJ5C8py8nR69ayQ6j", + "payoutAddress": "XjkSNQLwocaPgWaPovXecadESBxZWAqv7e", + "pubKeyOperator": "95a6e2d1fb30575ecab28005e666ddd5c206c28fb9fd89add9b519e4715b258d98b701985369f6af517cbc83e1363ba9" + } + }, + { + "type": "Regular", + "proTxHash": "907421b4242d7e53f49a7f560ca705ec9a9b9d6bab530b20543e6bbf5e8885b6", + "collateralHash": "2f46ed3311ad71fc56a22e102d1b59f22c842f14f95f4d3177c86a2fe8f6872a", + "collateralIndex": 1, + "collateralAddress": "XbMASFGoqwWNEGQFnUmwuMkwcVuvkbQw2Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.14.85:9999", + "registeredHeight": 1066860, + "lastPaidHeight": 1376812, + "consecutivePayments": 0, + "PoSePenalty": 5085, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1378259, + "revocationReason": 0, + "ownerAddress": "Xg7km2gM3rZDV9crBK94i58gYUdGDMJ5cs", + "votingAddress": "Xg7km2gM3rZDV9crBK94i58gYUdGDMJ5cs", + "payoutAddress": "XbMASFGoqwWNEGQFnUmwuMkwcVuvkbQw2Z", + "pubKeyOperator": "0b28d3592a0fbea905453b7873ea25645ef57b28430c06377a63e5ffe59000648e600fd55bf09eae25b319274cf83ae0" + } + }, + { + "type": "Regular", + "proTxHash": "15fa451c698b192ea291ead7352f7fee1021b0c58e185949366e6abc33304ecc", + "collateralHash": "8263176fa3dca909cb0bff58e775920e48cca42b284eda93882b08181ac263c2", + "collateralIndex": 1, + "collateralAddress": "Xx3zFkhjVfbqWZFFwk4h7ycuNbzdggGSpn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.137:9999", + "registeredHeight": 1067913, + "lastPaidHeight": 2128644, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2098989, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkKh6TDXggD8oUp88iwRRNV7uHvXWuqPfw", + "votingAddress": "XkKh6TDXggD8oUp88iwRRNV7uHvXWuqPfw", + "payoutAddress": "Xx3zFkhjVfbqWZFFwk4h7ycuNbzdggGSpn", + "pubKeyOperator": "01dceee5bf0b6d7801f5217d704a287b22985f3a933897d94ea390a6b426459160019ea9dd9e0d989bdda4422d32ce4a" + } + }, + { + "type": "Regular", + "proTxHash": "219b32d75a7560ed4c92e39673466fbe216f212b8d8e2bca9944f1f34e48b638", + "collateralHash": "50c234c0dd55bd3b5235e60fe5838812885fe5068c07e86980ab8ef660b386bc", + "collateralIndex": 0, + "collateralAddress": "XhgbHShb8vD4K6VukbD7yGyJbRtbJeuJFY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.71.140.26:9999", + "registeredHeight": 1069124, + "lastPaidHeight": 2062487, + "consecutivePayments": 0, + "PoSePenalty": 3810, + "PoSeRevivedHeight": 1258327, + "PoSeBanHeight": 2063850, + "revocationReason": 0, + "ownerAddress": "XfoAEHBQcc717Ak92CMiDfgo1g177xkCFZ", + "votingAddress": "Xz1Zn5o4kb7zSPWhH9Si8XPswUyT3gteVc", + "payoutAddress": "Xm91p2fPdHoJMDn4FBtW4j4DfQvQoyAiiQ", + "pubKeyOperator": "158ba09f8c28c1cde3122a82ad0262cf3e6855b7258a4a032a18fa3ad5dc64095badd801f8b5c1d4c044b45de05791ee" + } + }, + { + "type": "Regular", + "proTxHash": "fef139ff6fc509529dad0540a48d5b305dc3eb319c7de3afb3ff63f52d838d95", + "collateralHash": "66510076a007066d9340b89af9b00eb24d5bb16bc4c662e52e157115ebd8e140", + "collateralIndex": 1, + "collateralAddress": "Xk8NVVEzQEybz3uEF6ZJPK1dSApAPQyVar", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.113:9999", + "registeredHeight": 1071823, + "lastPaidHeight": 2128637, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhHrW4LbrXJxJr83wQbk23LDxQET27x9R5", + "votingAddress": "XhHrW4LbrXJxJr83wQbk23LDxQET27x9R5", + "payoutAddress": "Xjv3PnnbdSWhFkCP9TURdhaaKf6hRv6Aja", + "pubKeyOperator": "88d77d2bd90c952551fc88443f637b3ed3fa49dc1da446fae6a3cee7dff16152d4e141f492d4edc967f357f97efd4dcd" + } + }, + { + "type": "Regular", + "proTxHash": "e6357aac5646bb4993155e6c77e2275ab80a3645547c8d101d9c6f37aedf3156", + "collateralHash": "e910e9936da2549bf61635bf00a4eef6fd7de4471e70365c6ecbe9e198ea14f2", + "collateralIndex": 1, + "collateralAddress": "XwA7KUdAYTh1YRN9YCW21G8j4KhkPgr2Td", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.142.38:9999", + "registeredHeight": 1072706, + "lastPaidHeight": 2126443, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1097271, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvoPEa6Q3EM5nwT2FxhTpGkVKq1p2PF5pL", + "votingAddress": "XvoPEa6Q3EM5nwT2FxhTpGkVKq1p2PF5pL", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "9288eb223e2f32d7e4e381841d9b6628a830d2f19e54c79c18e163ce4a4d0d2e40160c291b8d8316a8c651a42f70a07b" + } + }, + { + "type": "Regular", + "proTxHash": "99beef03e2692bca95c463a143ab32fe9c1117bd973366f1a7ada23a9388249f", + "collateralHash": "88a7e254244877b0abeaa1d5fd5ba81f14373f52925ba6ef199bc4215a9e0428", + "collateralIndex": 1, + "collateralAddress": "XwbWhb1uejN2TFSGJHPRqieSDNgnhj1Jrb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.214:9999", + "registeredHeight": 1073561, + "lastPaidHeight": 2126442, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrzVxuYKWxRcTVFn1wa2whbPaGYjBdXLtg", + "votingAddress": "Xgqo2q2EXC7pjEJMew79yGfxgPzmWGsazs", + "payoutAddress": "XazDfJ3TFRPBVXFdmsTYg7dH3tvoYeWKrX", + "pubKeyOperator": "063ad45b1dab6bb712caeeda4aea34ebe7a48d2516818f46109956700819671967ea7938e5002842ccb01c877769c1e2" + } + }, + { + "type": "Regular", + "proTxHash": "1b4ea57c6c9fcb76cc64d55022aaea5d90955af674cdd75eb90811c71f248ae9", + "collateralHash": "2b09b0c51b50efed3973cfeb8dc5e61bd5a8afca2cbf2351a684798666a4107e", + "collateralIndex": 1, + "collateralAddress": "XayqyiLFXYRHV1pqsg7oaxpoCXBB8sBAq8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.23:9999", + "registeredHeight": 1073573, + "lastPaidHeight": 2126459, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcMUgAeMLGQNko4Dcs2CyQbTFxfP4pyVu4", + "votingAddress": "XizPvojL9Zwmg5r3Lf5Hvy7h7jKZ1geQMr", + "payoutAddress": "XyWLjSSbfpimL3v1ecKKhVJbEdWZYgb1KR", + "pubKeyOperator": "8b8a1e964dc9f995974a63201c007954d73bc896c4599b249f67640bc0b19bcf2601a20ed9761cf8d3aeb86d4c418c64" + } + }, + { + "type": "Regular", + "proTxHash": "b87a661f45e53598fedf6057b086259aa0094e002fc708b5ce981e5720ac50fe", + "collateralHash": "dcbd2eb6780511ff9b27ca90af77be8373639f8616e0d4e036060a58354043df", + "collateralIndex": 1, + "collateralAddress": "XuyNVSSkA2FoJLZjw5ukDkYAS8rMbgNuaN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.41.220:9999", + "registeredHeight": 1075497, + "lastPaidHeight": 2127740, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkKU6X598bKv5ntiYP5BnGiafqXckDJ99c", + "votingAddress": "XkKU6X598bKv5ntiYP5BnGiafqXckDJ99c", + "payoutAddress": "XuyNVSSkA2FoJLZjw5ukDkYAS8rMbgNuaN", + "pubKeyOperator": "01ac46a75e307602f69e6d1575519bfa8c58ba87971e74af10a15c75fcab40a28609436131f1efbeda37a004a64c29b8" + } + }, + { + "type": "Regular", + "proTxHash": "1f6a56c309394defa9eb589a8b5efce2f41f39240bc63cb2f68ff5e0fe896bac", + "collateralHash": "c3f53ef176640ed4fe656d88c28180b882895d891a494cd428a4faab20b280b9", + "collateralIndex": 1, + "collateralAddress": "Xyxq2zHXgN7hEDMJnZUsW663HMwgVfj4fB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.240.172:9999", + "registeredHeight": 1077284, + "lastPaidHeight": 1257766, + "consecutivePayments": 0, + "PoSePenalty": 4671, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1258006, + "revocationReason": 0, + "ownerAddress": "Xq46kuhV9cFU8tfUZ9eMtgBqkktMhSQxo9", + "votingAddress": "Xf7sivaFs1i6rWp7WsZL1y4hYwFeV11iN3", + "payoutAddress": "XvupQ8nX82TUrFYmmkjVg6EpupJzGzaMv5", + "pubKeyOperator": "816d2fc2829e3242c49d0b143116650110a2d10fd230f3e5e4ef5a9ca11f350d75727603a3f5b8d88ea90c6c795f5e26" + } + }, + { + "type": "Regular", + "proTxHash": "d818a9a3ec60d12e51e6f910c48b7a4177a096bb41baa3d5d5c70acf24178cb1", + "collateralHash": "968a05816dc9cbfa057c052558860051a433c13f67e737d6b86cac616da2a62d", + "collateralIndex": 1, + "collateralAddress": "XdWyDUJthnkthdMzdobJSJta7bByhMk5AS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.227:9999", + "registeredHeight": 1077320, + "lastPaidHeight": 2125775, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcDjGP8z2qL8pZaFLDaRo68FeGv1S4f1zA", + "votingAddress": "XcDjGP8z2qL8pZaFLDaRo68FeGv1S4f1zA", + "payoutAddress": "Xud7Lpe7mnsoacrX5UzWDP7QzjiLQ5E4UD", + "pubKeyOperator": "0bfedc15ab70e2cd12e556670e83e44c4b6a6c03b48165b59d002eb5e4052ef5b3b0b16660a67dd6c8a58804cd9cb008" + } + }, + { + "type": "Regular", + "proTxHash": "5886ed11ba8e1d273288a8c86cd68effc49d30ad0fdb22305d34c81b31303826", + "collateralHash": "d2018e32211b0a29db2f4c4a61cd8964e99ca96ead0b9f6267c0bd48224f6376", + "collateralIndex": 1, + "collateralAddress": "XjssaZQmc2dZ7GWJDw11ZbcwVa1cUGPeWC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.45:9999", + "registeredHeight": 1077366, + "lastPaidHeight": 2126760, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1648957, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XerVo7qv3dbyQSNavLXmJwuxZMN5MAs1Wz", + "votingAddress": "XvWuSF6ddMofTaNdANvGSW17nhFc1AvwFr", + "payoutAddress": "XhmxFrzfdtuJJdkk1CdeptpMvroRj1QjKq", + "pubKeyOperator": "1584fdcf2f9f60f65f6b3313f3e2b7bcba9b6744f52b464c1460ddfec710d1b3b5719827cfec6c1040f2e53895d9c796" + } + }, + { + "type": "Regular", + "proTxHash": "51fb0711d3b699baf3aa6603742ecac69ca7ffa66b3783a2451e27372c73a0e6", + "collateralHash": "5b5a5497d5c9aa5764560ca61fb9bd445250f6d5992c3f95290fcc4a04a99b43", + "collateralIndex": 1, + "collateralAddress": "Xk4kuhf2cAYB3FXzKVSu9fzqD9jEsu5Bvp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.8:9999", + "registeredHeight": 1077829, + "lastPaidHeight": 2126032, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjcHx7m4ZPSpoF4rPtF9nzYot1pMcCeyBo", + "votingAddress": "XjcHx7m4ZPSpoF4rPtF9nzYot1pMcCeyBo", + "payoutAddress": "Xk4kuhf2cAYB3FXzKVSu9fzqD9jEsu5Bvp", + "pubKeyOperator": "8f56421336a81d1ee94331cbf02d1608fce384dd805f4523d8ee195f7c1ffb501e8686efbc7b2e0835194168688d8563" + } + }, + { + "type": "Regular", + "proTxHash": "15e9b286ff76a27491ef3533da8f8a63571fd5e997c5ffcb651545bedf6fa437", + "collateralHash": "7578af62527023532eb9c1da19ffd44885848dfdeb94e3afa7bdcdc72940d4d8", + "collateralIndex": 1, + "collateralAddress": "Xo9k62KFixzFfVgX8Uzn53oeaqCdgAmtHV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.134:9999", + "registeredHeight": 1077829, + "lastPaidHeight": 2126030, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyGZsTNrZhNDetyRVQk9sHQhzsa52Hu56d", + "votingAddress": "XyGZsTNrZhNDetyRVQk9sHQhzsa52Hu56d", + "payoutAddress": "Xo9k62KFixzFfVgX8Uzn53oeaqCdgAmtHV", + "pubKeyOperator": "05610de73f6b4ade43ba892997acf90950063e40e3aef7d0c0ea7b5d325a830e3273a88071190b1e325b1af47bdd8f57" + } + }, + { + "type": "Regular", + "proTxHash": "e8e503185b89ee6cbcf432cf5e91d91db047b789ca14cf0c14b1e5f87c8e25c6", + "collateralHash": "ed160a47ca092ed0889ae440ed7a94f2a37279f3c29014d01fc424aac1651db5", + "collateralIndex": 1, + "collateralAddress": "Xq7G4F97ya8ky87tVzH7a8kFiw5FxSUPBB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.7:9999", + "registeredHeight": 1077830, + "lastPaidHeight": 2126036, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeVL2hgPxH2jWivpzKrgNtWR3SiTF2sYvw", + "votingAddress": "XeVL2hgPxH2jWivpzKrgNtWR3SiTF2sYvw", + "payoutAddress": "Xq7G4F97ya8ky87tVzH7a8kFiw5FxSUPBB", + "pubKeyOperator": "82e13971c6b3d19b0fb7e204689e2689d5f793c15e0e29b8b9447c1ef7a9b194bb7cebdb1e2b7c3e9372cd710f6a7158" + } + }, + { + "type": "Regular", + "proTxHash": "571e3eefc4be8d0442e29ae6229d3d9e5e3077daa0753a98ed96c4fd1491819b", + "collateralHash": "4cfb96fa162325e289d12a43f5e710333430c8efdcc7660141c0abf8d823d49a", + "collateralIndex": 1, + "collateralAddress": "XbVrT3nnWQbgmjvQvETYbfDzBCcGWi1P4C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.9:9999", + "registeredHeight": 1077841, + "lastPaidHeight": 2126053, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeW8c4YkpBp1cXNoxj1UhpknL8rQbAK7Gc", + "votingAddress": "XeW8c4YkpBp1cXNoxj1UhpknL8rQbAK7Gc", + "payoutAddress": "XbVrT3nnWQbgmjvQvETYbfDzBCcGWi1P4C", + "pubKeyOperator": "97e803ec1bdb4a8e9d6212ee41cb3c940afd5f9c89b3c6605a16318605dc73069f159f623535bda75c38e024fa582013" + } + }, + { + "type": "Regular", + "proTxHash": "de469f542fd0bad77d0da44e61e09668bb7784e6cde1772d3b5e81f6e16637a1", + "collateralHash": "196bdde696b188cf219299dd428013b58f4621d2bdcf66be9e58da28622b9cae", + "collateralIndex": 1, + "collateralAddress": "Xavm1pVFUnUU1vHjGMdHM6LBAFEKLYwBiX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.5:9999", + "registeredHeight": 1077841, + "lastPaidHeight": 2126077, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtZziZreZFRbirZtYnp1My8WP3sCYxMWB4", + "votingAddress": "XtZziZreZFRbirZtYnp1My8WP3sCYxMWB4", + "payoutAddress": "Xavm1pVFUnUU1vHjGMdHM6LBAFEKLYwBiX", + "pubKeyOperator": "15c8c598528fba3c0f91f0ee236994bb313139742b00353f426a1454a57f5d225454e4f405af421470fdea93bca64728" + } + }, + { + "type": "Regular", + "proTxHash": "600c8240fa9b2d7809df2efbb020952c07dc235f280ebd9525dc8b96e38780db", + "collateralHash": "b6f3a3eeb90d015923cafb20e72bad677dcd80eeb9d97d05be0e0760913678e0", + "collateralIndex": 1, + "collateralAddress": "XxX8umUJmX8UNJRzhBmWZ9TWncn5pvG7Ae", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.128:9999", + "registeredHeight": 1077843, + "lastPaidHeight": 2126115, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtkdyQygLrk1CGx99DVFE78mgC3UrJHzD1", + "votingAddress": "XtkdyQygLrk1CGx99DVFE78mgC3UrJHzD1", + "payoutAddress": "XxX8umUJmX8UNJRzhBmWZ9TWncn5pvG7Ae", + "pubKeyOperator": "84134dedbd138f7cf498f664dabf26db61fdf6cba819a802d9e071ba194bda24df4ef33d754a2c812cfd47428b89225e" + } + }, + { + "type": "Regular", + "proTxHash": "a9b23ca7bbf841d2bda9ab7b89f3c353572c865866f93c6da59bc8b659dd9455", + "collateralHash": "4779cb7e7392ed5f1c8983a290f54e462e11b6ecc074e7e8c918c4a50e9ec1bc", + "collateralIndex": 1, + "collateralAddress": "XyGXUrGXLh5z4N9rkMAzjUNrb6vciHukMH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.18:9999", + "registeredHeight": 1078957, + "lastPaidHeight": 2126778, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdTaCe2siWuLwi8et65VSwK5hhheEnpUud", + "votingAddress": "XpWkKZc76WhDS2mAcWKRobjcDPprd1uMPt", + "payoutAddress": "Xu6QZFqNy9PpvkhWLvtv4ovkcLxNrYo23S", + "pubKeyOperator": "18e47e316ca8c33fcc1dd8e0d6be94b8a3144440d4b702c3d0102cfbbe2ea54380904bf31b29042fd8964bb3fcd3ae94" + } + }, + { + "type": "Regular", + "proTxHash": "94f6ab53429e3e8ab0ddef61ecfbbdf1cb1a7c3088e5df25920c69d887e08803", + "collateralHash": "9f0a9222cea500aeae6e8202e28f7a22c60b2b7df9c8eacbeb1a57bd4672ad96", + "collateralIndex": 1, + "collateralAddress": "XsvKV6Hy9dghhF4xgrxNcUNwBfEWENj4Pi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.204:9999", + "registeredHeight": 1078980, + "lastPaidHeight": 2126779, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcKFZDEtA9HKY9wX5kQiHYJATHpcmpHcVu", + "votingAddress": "Xx6RyrweKdWzdzm33YNqner17YtVaZWuus", + "payoutAddress": "XiP3ztYWUGEVyv7tAEmXTPxpVNx3xej3LH", + "pubKeyOperator": "929bac089e6ae093ed726ed8dea16ce4b9428b119cdbedbccbfe7b6b6072460e804b07470ee60fa2cbd8c9140a310489" + } + }, + { + "type": "Regular", + "proTxHash": "11bbd0b5da3aa1219b9559e86b17fa55ec37fd2fae2e98f77c0329d6e7b6f66b", + "collateralHash": "ec10ae739b8914937285acdf0f052f80f0d751cd5ce2eb452b5bd89bce6bf1f1", + "collateralIndex": 1, + "collateralAddress": "XyvLR3xDdoa3wp8g81NymfQKDutnF14pqz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.29:9999", + "registeredHeight": 1078984, + "lastPaidHeight": 2126801, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfwMC8bZjGsqbaP3oYSHAvf8CQYA7ccSJW", + "votingAddress": "XtRZ3V7JS9zpV2pCr116zAxPzwMTRdmaSR", + "payoutAddress": "XszkBKhQ1GQLAxh5eZfaHuf8HAmXh9gEZy", + "pubKeyOperator": "087f31a9ce68a9de738e3025828c35a137473c209c163c46c40d0188e6a9e1a243ee343ece9a9f1bce18d586266f662d" + } + }, + { + "type": "Regular", + "proTxHash": "6773e69de6e1cf3d8126b3d26a81d7a51c870ae06f5abf1f337dd0afa9d75fde", + "collateralHash": "d52cca776045f96eaa3b7bd14b158f769cd411cc6b15554397e34243a5841942", + "collateralIndex": 1, + "collateralAddress": "XsiVyLXs6GF1nxBc63XAsud3A2FjkeYBET", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.148:9999", + "registeredHeight": 1078986, + "lastPaidHeight": 2128791, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031587, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuNExLLuZksZSPXGV1qt8Wke6skTmfuAyV", + "votingAddress": "Xt362Xu33MvimgYKRdJNUZktEgdYf4jwU1", + "payoutAddress": "XjMDMS3WRSLPBTVX9qcwZW5XUQDCwuZwRi", + "pubKeyOperator": "1250b4c913900f8e3f9d8d662fdf4c54fedd466927d4e109dbfdae7106c5b923e9ddfd031b290e3943de4f2e36935a74" + } + }, + { + "type": "Regular", + "proTxHash": "67e7e49104d4cfa466e794d86fdbfb911af08e0fbe6f3a19144cb1d58a1f8ee0", + "collateralHash": "e72a09f30644b68b28b7e98c365d82a1018af0fbed94b8a726b626f54135fbc2", + "collateralIndex": 1, + "collateralAddress": "Xx7hRhRsGgNpD4PB1CbKfDeVu3kR3Yn3GL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.188:9999", + "registeredHeight": 1078988, + "lastPaidHeight": 2126804, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwsnMF9QhUzgPbmzm8eymrRz5R9u45kuXe", + "votingAddress": "XcXanZuoMs5Ux7gnXeY2qCJhecDaym6qSQ", + "payoutAddress": "XbYEsgtQVCPA5XhYNUz8RpBn8WWzr8UGNX", + "pubKeyOperator": "00bcc2d4e727073b91aea52b786c220ed86aad729d74f64d4cff23eaf6db5867a1adbea869c72a1dcf32d889c7a5677d" + } + }, + { + "type": "Regular", + "proTxHash": "b5e5d0a4398a940267b4830c294da09f46a2ff1b8ce72985c7a4d9df2f342149", + "collateralHash": "370501e0c1452d079be4b92df4551e73b549220713d46b9db0340f4633b2cdda", + "collateralIndex": 1, + "collateralAddress": "XqQzCATeYwy4APNWyLYsyqjZsEpwCAJFzB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.160:9999", + "registeredHeight": 1078990, + "lastPaidHeight": 2126818, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XemBFiR1EjWbCx8qwAacoz2SUXpFo89LYd", + "votingAddress": "Xo6onoRQhmtJ7qQ7dCtp5hA4A5jYPkjgjq", + "payoutAddress": "XfL4ctm85vBpSaszfLhJfsYT7TTKxzcuPv", + "pubKeyOperator": "04d3b228e3c7d4e9b4630fa48418bc7eadcd112849860351c5bde9c2f2ccda789fc519eab5690e3ba6e70e97aabd4021" + } + }, + { + "type": "Regular", + "proTxHash": "2181ba13d685c02a2d679f0df902ad859a26a0d645b3462888f645708c95a08c", + "collateralHash": "d8ae6e438a8831428db6bdebcb71a587aea7925a1718a10a8215b33134b6bf3d", + "collateralIndex": 1, + "collateralAddress": "XuA4v3zDFoBqy6sMxyEa6GPcno6XPqBNTr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.163:9999", + "registeredHeight": 1079016, + "lastPaidHeight": 2126861, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo91ntikQH5r2PD6d6paNUKYLgQ9JQ3wDR", + "votingAddress": "Xm68rDSnFLiXtPa2XBG7wKkA9kCfFKHBjB", + "payoutAddress": "XrjD81gz5ziYvmN1bJBDX9hf3P5wXLmyZH", + "pubKeyOperator": "936f163e37740943c0f01f7a14745610198b954c0cb51d6e460e0c05cd5a9fd5b5b0217d08e9567606a5ada2f419be08" + } + }, + { + "type": "Regular", + "proTxHash": "dcf1ed0d362bb83ceff41c4fe403bb4c6cac012c6c4bb7c2f106a5234ca9b598", + "collateralHash": "8cbea1c6b32c3a8b213ea8c658d6276d3e53df43a483391b1f5d9041db6e1e6f", + "collateralIndex": 0, + "collateralAddress": "XnKXC2T6j1GAmPbxLykWdH4PiSxj7M18pL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.30.197:9999", + "registeredHeight": 1079423, + "lastPaidHeight": 2127311, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1641139, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc2iG8gCzFCWAntEW762Ghin9qKExkBdpP", + "votingAddress": "XhPC1wp7eJa8RsdGUBRfE9pfWJoBKPbjj7", + "payoutAddress": "XtVgH9M1VMtR4AoToX2R2wL5vWtrbc1Wam", + "pubKeyOperator": "859d3eefb432a6dde5855501752d778981a92de08b6a0882581251eec62111dbf950594404bd873b6c53ba7377af87c9" + } + }, + { + "type": "Regular", + "proTxHash": "72d455aa4085694a9514257640c45a06162ac2740ecc360e1b29de0752921d0e", + "collateralHash": "25c1a4074a48479641088ecc319b2af107fa447ab2a09cd0a0ed2998067021ca", + "collateralIndex": 1, + "collateralAddress": "XnrjW2D7YLC4z1YZ4HSTghxiSKMxM61EDJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.39.171:9999", + "registeredHeight": 1081168, + "lastPaidHeight": 2125935, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1847565, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsYbG3yXz22k7f5AUr8JWUJxAz8WRWgn9R", + "votingAddress": "XsYbG3yXz22k7f5AUr8JWUJxAz8WRWgn9R", + "payoutAddress": "XahQwUP46NcxkxbFS8JKkLkkhSgLGVUs9v", + "pubKeyOperator": "846ae84d53cb3b7b7cd73b2c7bc2f198669e6c075bdd4955c310eeb7148fe93ad953a8f15c1bbad65281142db1387aa3" + } + }, + { + "type": "Regular", + "proTxHash": "9021d7ff104e1ba375b5681b85ee4adc49b7b1e1ac1ccf66f889935ac3c88ab8", + "collateralHash": "c2c59f805a81b7ef99fc208ad73292a8dd36be66ff1e382cee6c637b257332cf", + "collateralIndex": 1, + "collateralAddress": "Xynavs3KypVQ2HuSrrdEXHbJmjohpgJdHx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.49:9999", + "registeredHeight": 1082675, + "lastPaidHeight": 2125839, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820870, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc2XCfBBA8Q51tBTRUz6MP9sfHLePit7G5", + "votingAddress": "Xx4e2pVfwVXqztLr15A1J7hBvDx7E3nh15", + "payoutAddress": "Xynavs3KypVQ2HuSrrdEXHbJmjohpgJdHx", + "pubKeyOperator": "0b5c5550eb44e27331639842a8c328aab9f285ac8814364a044ddd3a8e24deebba42af12b1893f41d35cae54bad16c28" + } + }, + { + "type": "Regular", + "proTxHash": "4a8ada452321b804b5954c99f4fd480d38e78f51650d349ca213eaffdb4abf3d", + "collateralHash": "1fdb31b7c3cf5d08e48c990412d4d4f9fcc1f06d554762be687503e32944588a", + "collateralIndex": 1, + "collateralAddress": "Xw6gXp26pKbZKP22xHp4PwomEmexDwVgES", + "operatorReward": 0, + "state": { + "version": 1, + "service": "35.172.65.184:9999", + "registeredHeight": 1083100, + "lastPaidHeight": 1502437, + "consecutivePayments": 0, + "PoSePenalty": 4659, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1506155, + "revocationReason": 0, + "ownerAddress": "XpLewyfizJauG94jdSnjDQi8SGaovTyavg", + "votingAddress": "XfEwnz6Gkhq62B3eCZHDdgHXWmE2CbiRHh", + "payoutAddress": "XdV9U1cDJVihYr32zWb8vGgTvPhkTpRfWm", + "pubKeyOperator": "81784ba13545043e708f8107dd859d370d31aea5a6a7fd567237d0642c38ee2a0ff304983d9446c1b1ae7b0e45c45543" + } + }, + { + "type": "Regular", + "proTxHash": "05570aca9865dad51b8b94787fa5997964270c81f423e57d30b92e62107e04cf", + "collateralHash": "78c6e7283d5afa1f88ce8ec13a7201a22d111ddfed62401d4037bc2c0768e01a", + "collateralIndex": 1, + "collateralAddress": "XsRPhzFELv1pVWmLpb5zfJhBEcyWdwe8Ee", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.143.53:9999", + "registeredHeight": 1083189, + "lastPaidHeight": 2126401, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeSsRXgjghm4RWvuEeNysAiShZq2EWXB9N", + "votingAddress": "Xup7eFFuMWDVd86c6bjvhjfyaAe9nKktfh", + "payoutAddress": "XvNPBxG3w6PL93pYM9AYwNcjEBfQNrfVrC", + "pubKeyOperator": "19d45ade931917dffa5b26023c07140ce733e5e340dec434ef7ccc9522dbbc533677972c6236686fad153a00e38643fb" + } + }, + { + "type": "Regular", + "proTxHash": "58a7a0ae25b69fe70b2a639f752e996ff4a3549417558806c9d01070ca2e3b0e", + "collateralHash": "4d43656b8165fda50b8108512078bf43a5022d1e18b4cbfa913003e7a1076f9d", + "collateralIndex": 1, + "collateralAddress": "XgrE7V3ozTQpKyYs9DQtfDYCtc9EbL6orY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.223.128.207:9999", + "registeredHeight": 1083422, + "lastPaidHeight": 2126522, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpgDZYGFpWm1qApp9QV49Qp8bUXHppH7zc", + "votingAddress": "XeK2hE5UEkySEYZG1pQMZU2tKW5XsT9vzz", + "payoutAddress": "XcN6XqpuY9SoVkHo8cURacFCrKmxPmjFDi", + "pubKeyOperator": "09aabe15385a514de9545d5427baa08b311f2280ff0cc008e3edda19a0283c508efb6e7cbf56f92dfc09690375356667" + } + }, + { + "type": "Regular", + "proTxHash": "df081e143a8a18d97c6024d51589e7155ec4ae05432fa47e466d250bc2743cfd", + "collateralHash": "a7b7104d8928394ffd987ec3a0c6b9043b35f6ade0b7c564ecb6b0afcaed478e", + "collateralIndex": 1, + "collateralAddress": "XwZzfYtMNufKpPBm52SMrt4SrkCoKVvcK5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.64:9999", + "registeredHeight": 1083432, + "lastPaidHeight": 2126527, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwL3nc6nTwgsNFtGJptZsF2FR2QKqCyLuz", + "votingAddress": "XxfWXoFQp9BjskeWY95zZUTFaiCFtsyu5U", + "payoutAddress": "XfgykHENYwnM2RdjGSKZdbRHUaw7PckEM2", + "pubKeyOperator": "173d4634a262da6ac07bbcffcb14e64459a21be680b43afc787ddd0c2410ef136ae9bc2a4bf03aa0a9c3795f33ecd044" + } + }, + { + "type": "Regular", + "proTxHash": "d092de644b2432ce2673eb5b97f3a52e726fbcd4eca1c1e8c66564240faa5a3c", + "collateralHash": "edc498bfb73035451ee72b800aba46a8c4080dc3120ddf4abef06a086b2063d1", + "collateralIndex": 1, + "collateralAddress": "XchPGjgwhdCz9sW9QUzMbZUDHkBG72gcNG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.138:9999", + "registeredHeight": 1084227, + "lastPaidHeight": 2127073, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp1d3CKUK7tnjMM3Aewf9wkh46w89B6stF", + "votingAddress": "Xp1d3CKUK7tnjMM3Aewf9wkh46w89B6stF", + "payoutAddress": "Xd97GHduNQNcuVmshuBASx3SD8guoWtuQk", + "pubKeyOperator": "874d06b9b71272e5173298474e72e4811a6fe7624b595837af224c022ffd80193346cd03c03d0bdb637c2bee683baece" + } + }, + { + "type": "Regular", + "proTxHash": "da09e24b6d12d9d2cfdbe84032149b1f10886d371cb88fdaf25c19a140e7d60e", + "collateralHash": "2ddacbd531ce6311e7d0cc9425264fbdf758107b8a0ba44f879859f42b02a3fd", + "collateralIndex": 1, + "collateralAddress": "XeNtxF39eGxV7bJqVD8fzSbsayZBjNNPpa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.254:9999", + "registeredHeight": 1084278, + "lastPaidHeight": 2127082, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeB3pXTEywtTbDQanswHdyUpeydG1yw61R", + "votingAddress": "XeB3pXTEywtTbDQanswHdyUpeydG1yw61R", + "payoutAddress": "XmnVEmQL9WxkRMRrJGcyCehXN4FYDPRK3j", + "pubKeyOperator": "81e5be7fe18fdc06e177cc33b8cf84f1a2edb2e7facb70c46527761598b46c5cd611ce9bb1fef7faae46d4b939bffd74" + } + }, + { + "type": "Regular", + "proTxHash": "3eb87b4ee9274759846cc7f7bd147d8533a3922cc2ce45047ad27987ed72b888", + "collateralHash": "8177faa824dde51695bc47e0d9f86d8f0c702bad8bcf926a3954de8b73d54fb5", + "collateralIndex": 0, + "collateralAddress": "Xm4fJdEetQtDxkVhSUfZCLv7rnApR3uf3t", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.18:9999", + "registeredHeight": 1084511, + "lastPaidHeight": 2126003, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1378031, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs33znPDUJazP3LGSTSEFpEgq2ZkgVu1Yd", + "votingAddress": "XiNa41E3tBrEFowiRsVW5JMKCVSAhcBK4i", + "payoutAddress": "Xx79ju2ngxM4n4qBHbFeeEGXZqgK7GzoS5", + "pubKeyOperator": "0d869948bb27b0f119d27f45f3de6f7c13d29f366c3dcc73938be5fd35d90ca72e68b0c58fbe42927bd65818b292be72" + } + }, + { + "type": "Regular", + "proTxHash": "7ef1d0d40b30111cd71cd0697c71121d36dcee723c368f8f07c9974b0dbcf6fd", + "collateralHash": "2ee565a4eed5b0dc8d6bbfe2e1b3106dc33024545eb71f80b77c308e734242b7", + "collateralIndex": 0, + "collateralAddress": "XbTZUw2iDUpApZkNzpJod9YrVtbFuvytgr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.136:9999", + "registeredHeight": 1084512, + "lastPaidHeight": 2126010, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1378037, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmcy8dU4QqgXVuJE74NjiET3h4RJxBrt4T", + "votingAddress": "XjMC639u4A6kmNffY7MCKYGUZKmxrMsfXo", + "payoutAddress": "Xx79ju2ngxM4n4qBHbFeeEGXZqgK7GzoS5", + "pubKeyOperator": "06dc2b594de7772241ecf4b9e2f7252a45e7e76f5004b4016ed524224f1019f0364010d06645ca55dc26fa880565466a" + } + }, + { + "type": "Regular", + "proTxHash": "9bb851615de383c366e39b5b88dcf5f60c213e778b3fc7f884b3786ebb390dd1", + "collateralHash": "e70ee4febf78c2ece39fd17c9e1cbc779b20aaa4035ced51b7c780fa82002c59", + "collateralIndex": 1, + "collateralAddress": "XiZ1NHcWFXxR2xyZf8eF2y4HnvtcZgZxZo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.152.144.198:9999", + "registeredHeight": 1085250, + "lastPaidHeight": 1821946, + "consecutivePayments": 0, + "PoSePenalty": 4437, + "PoSeRevivedHeight": 1715751, + "PoSeBanHeight": 1825098, + "revocationReason": 0, + "ownerAddress": "XcFxyPMq1g64rbQRkABFgnXhfzB93a3EgW", + "votingAddress": "XbtWJxrZ8yD8N394YTchTtBKpFPpo2Why6", + "payoutAddress": "Xc5NCNeAHkufo7urzzWKrgx9kFGYMnTsN8", + "pubKeyOperator": "179052b822871dc0e88598f889ce5e6210b8202713c551801d9b425c67307306d5eac44911e8d58c695f8798e58b9d75" + } + }, + { + "type": "Regular", + "proTxHash": "9d292421e7803216d6be5972e3630e5df8009ff993d55dccec1e7fadc1a44eeb", + "collateralHash": "ccbb15728508256c7120a85cc78fa614388940787875b1418c5001ad9c3ca522", + "collateralIndex": 1, + "collateralAddress": "XxNAmyKiN2SzbYjd5Ux91hKCA5Bk86xDhL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.235.193:9999", + "registeredHeight": 1085383, + "lastPaidHeight": 2127545, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1688056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiSLF8jbL76hBMThN3yypkG8tUVTsYbZBD", + "votingAddress": "XiSLF8jbL76hBMThN3yypkG8tUVTsYbZBD", + "payoutAddress": "Xb7BiHdMhgrc8AnMp5X45H5o4jyjkV96eu", + "pubKeyOperator": "8e201a62fb35dd6f068562aa31b44bcd94887457eba17618fe1dff366c8414acd7b8342a37d850a52b77c08697d93c93" + } + }, + { + "type": "Regular", + "proTxHash": "d8fb01e344e3c4a3019ea43f5db0509918b568a660926ba5e66b7d1a48e0ab9b", + "collateralHash": "7bd88488b319a766040561d8138c169e3ea7762bf0e2ee7a18a349b054dfa1e1", + "collateralIndex": 0, + "collateralAddress": "Xw8k9C3eg5X6prD2SKsDER4HoLPVHHoZmB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.89.17:9999", + "registeredHeight": 1088864, + "lastPaidHeight": 2127080, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsbUzU3GNy8V9isnibr8Eq4gQMukPzvTL2", + "votingAddress": "XnMFJK9d4LJEBkpxtHd4YoULkuexmi3we1", + "payoutAddress": "Xw8k9C3eg5X6prD2SKsDER4HoLPVHHoZmB", + "pubKeyOperator": "96356f33205c9162f29d2e57f1de1edd13962f3558a105b97fc805774299d4e3f2a1ee65ed0cc351d99dff524770a75b" + } + }, + { + "type": "Regular", + "proTxHash": "8a891e51e1c4a21de4dd1a6ce36299ba1da83e31d2432934a2cda8adfd76fa3e", + "collateralHash": "1c62b7e2b0d0736973c5a176f84827da1951215335899872b1c9fdd9ae3facc3", + "collateralIndex": 1, + "collateralAddress": "XsT4khwJkjA4dKxzsjCiyN8wu9BHzWwvPY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.107:9999", + "registeredHeight": 1092095, + "lastPaidHeight": 2127522, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1725122, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XakaiQDmq8BofNwRrJTNdEryS99dSTJjuY", + "votingAddress": "XakaiQDmq8BofNwRrJTNdEryS99dSTJjuY", + "payoutAddress": "XsT4khwJkjA4dKxzsjCiyN8wu9BHzWwvPY", + "pubKeyOperator": "93c551deb4feceae6e390fec0d1b729bfe7aee6c6df6102de8ac3624b2b7d002c795f67c836a629cf5cf6886be53a7a4" + } + }, + { + "type": "Regular", + "proTxHash": "47da9c1fadfe23827e23a8d6196b003b7953274d4939fc0e489377f50bf7f3d4", + "collateralHash": "1c29b7525f44c2cfc08c01232490fa6eea2377e4e391dd9a646c9f2e6b3b9675", + "collateralIndex": 0, + "collateralAddress": "Xp7Pagh69k9Gw3CM7VdM9yAr5gHtyKS7r4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.185.132.201:9999", + "registeredHeight": 1093817, + "lastPaidHeight": 1370216, + "consecutivePayments": 0, + "PoSePenalty": 5120, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1374683, + "revocationReason": 0, + "ownerAddress": "XsUyxy97Trt4RoYHVuF759v5fSQ28tPr53", + "votingAddress": "XsarGiS4vQCpD5QYRn8yKK3gXmsvSAMHZ5", + "payoutAddress": "XpcmBezanFzotTkHcz8oz1DAvECSywy37c", + "pubKeyOperator": "134b5935bc85f101fc59e98885a2d62e907bf1735b1aad9c7056630a8e1804f5ff8f133790898d4f0c0b11f0fa78fea9" + } + }, + { + "type": "Regular", + "proTxHash": "61d6f455c6695a00b4e479d4d3f95011efe79bbe69e42539535992c05be4beb0", + "collateralHash": "ee0284b62fab54675759cf914a154b4b0e5d4b3ac42b7a2d027827e9e31822c3", + "collateralIndex": 0, + "collateralAddress": "XcR4mjtd2F7W3xhCZHZKDawthxqN7NaJZG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.31.8:9999", + "registeredHeight": 1094174, + "lastPaidHeight": 1872541, + "consecutivePayments": 0, + "PoSePenalty": 4404, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1875786, + "revocationReason": 0, + "ownerAddress": "XbxZJzxfP2owgFa6paUq9Kfb4pJJwVrVSD", + "votingAddress": "XxizE8Z8Ub35Zdz9xxeRYhZf11ZnZfqqZ3", + "payoutAddress": "XvupQ8nX82TUrFYmmkjVg6EpupJzGzaMv5", + "pubKeyOperator": "10f1db75fb5ff7344feee8301f92ace8a4083cd31ae65d873f759986a0b3c60552d98de733804ac79ed5613a56bbd936" + } + }, + { + "type": "Regular", + "proTxHash": "7055e66f895af6729c5bde35891e4c030a80b18cc31fadbd19093db32cd57932", + "collateralHash": "33a838414ace58ab1bbe0be6a1c22f16344881f27c9ff0e9c0d25530b992e02e", + "collateralIndex": 1, + "collateralAddress": "XnjzuaoxBbE1s9gUADCnzKdgxFwREC5Tgq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.68.184.28:9999", + "registeredHeight": 1094174, + "lastPaidHeight": 1336131, + "consecutivePayments": 0, + "PoSePenalty": 5090, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1340374, + "revocationReason": 0, + "ownerAddress": "XrKyeaM9jPPrWTjE2SFaaV9dcUd5ypwswb", + "votingAddress": "Xku24kFhoJKDBRHUQmdqk1CjW4c8uQCuHB", + "payoutAddress": "XvupQ8nX82TUrFYmmkjVg6EpupJzGzaMv5", + "pubKeyOperator": "89ecbcfa0c70392cb31ac77c74f1607f93cddc2a014ea6555b5e4e64d2f6b8f6e0786a4944036631d9acf437d3118a6f" + } + }, + { + "type": "Regular", + "proTxHash": "e9aa3e868d01afb7b8051ca40d3941c46b076f6dda9bf3560a2af6657bbd65dc", + "collateralHash": "fb2d9d4ded2dc8a94d116138e16776f822f0b0a18c8800eeb072fd3c199c62a6", + "collateralIndex": 0, + "collateralAddress": "XiJNLkWcWnyoGeNbWBsWsDxvEX1RXzpJ2F", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.33:9999", + "registeredHeight": 1094276, + "lastPaidHeight": 2125841, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1501679, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxGodNyZhqjcwWWQy7Xj1bXREzaNx8m87f", + "votingAddress": "Xv5eSKwAy8oYFEmy7pSXtHRRDGAYgP4PMB", + "payoutAddress": "XsEdaqfTgD3PfKMgUSkE7Mvkg6QjmkPfqa", + "pubKeyOperator": "9536f24afd13901ce410a7905e0a29cb19b249247c8a78205a2b1c7abc096c292d617e6ee826c3782a4758655d49f49e" + } + }, + { + "type": "Regular", + "proTxHash": "1375ce3e596e7d5532c6e68816607a4b116bb7eb8a158354fc6003934c5a474a", + "collateralHash": "adc5f384e2f1c5362c91b7c89b2a91d8d351639e91ea910e80b791297c3aac58", + "collateralIndex": 0, + "collateralAddress": "XsPdtpCWt3XUPXbmnXjgk4Bu5QzLXzKBq1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.73:9999", + "registeredHeight": 1096209, + "lastPaidHeight": 2126991, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1136815, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyEkrruyCAhE6c87KkiWmafnggHQZefbaF", + "votingAddress": "XgbZjhSRLKhK2xWqt5Y5xujqHwrY1AawGb", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "8d9549a74a5dfc34f1849175d785f3c0a40d49d8f82f275ac41c49937aeaf7da77e9e28e99645763abfb9461036766bf" + } + }, + { + "type": "Regular", + "proTxHash": "1b68fdbec4d58065ba1b344b23e2172eea8db890016d68a361c3c301536d1597", + "collateralHash": "bd69aeb01723f7ca062c2d98dba398b9268eb7098396b77c1c33a0b45466a60c", + "collateralIndex": 1, + "collateralAddress": "XhXVXv1ySc2EvxSZdsAMMWWgLJb5yKFgvA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.14:9999", + "registeredHeight": 1096214, + "lastPaidHeight": 2126897, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1097950, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgwhWRuVpvKS5RLDPUyzbNDb4aRHfRbEM5", + "votingAddress": "XkU8og5RbqJ5gjMBRSvN3BfwoBesbNNmfQ", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "8b8953ea2ffcd2e552047e2f4470b52a163017f278fd24e8d79e6c80f98dfa4461b0bcb6b1614afa3cae601f55dd0377" + } + }, + { + "type": "Regular", + "proTxHash": "619ed4c9a428d0dbc99c64aba5bba2786bb92feeb1396831114f6383f706ed4d", + "collateralHash": "d7e0bfd02b1c981d518e8059f7d38ff5ae9ad635c3090601a745951b02c98ac0", + "collateralIndex": 1, + "collateralAddress": "XhNdKWAkeusNapAYhN2vquEaqGGuWR6N4b", + "operatorReward": 0, + "state": { + "version": 1, + "service": "37.139.11.87:9999", + "registeredHeight": 1098225, + "lastPaidHeight": 2128545, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007643, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnAKFpZ5t87CJC72fHHpBfsBZyeUTW6N5h", + "votingAddress": "XnAKFpZ5t87CJC72fHHpBfsBZyeUTW6N5h", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "944b04e280eca3170d5b62253df16ee2cbd90dffc3ebb581fff7ca765663f619989dff2188fbebdc804da7a93eb31e48" + } + }, + { + "type": "Regular", + "proTxHash": "4d640249330140308b811a4ad27770ce8ac018116780dce14093e2cc99125bbd", + "collateralHash": "07b9516031c7fec6c6564a9f35081b152b4524e0c1c9acfc08dbb399015eaf64", + "collateralIndex": 1, + "collateralAddress": "Xm6ytCA9UhaX1kk42WTtPf7zAvpVdwJQkz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.114.55:9999", + "registeredHeight": 1098253, + "lastPaidHeight": 2128547, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007645, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvdmEWnC44P6ukXk6R5Zqi1b38Aw6jznHY", + "votingAddress": "XvdmEWnC44P6ukXk6R5Zqi1b38Aw6jznHY", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "976420a5027143213de79e620093b01e5188d27fded352a472a97c653048d67ca6fbd649ca3b52eee37fb11525a9004f" + } + }, + { + "type": "Regular", + "proTxHash": "7e864e36db68539b5b8000240a41ecce699987182697b616da47a7091c07283d", + "collateralHash": "34ffeb5593a410b3f71156d1f37a0f8d4012a86ce730ecae6ecda4b0b7f3145a", + "collateralIndex": 1, + "collateralAddress": "XjYgh7stbcTzcE7otB2WRYqmbQK2AwMi3C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.91.199:9999", + "registeredHeight": 1098447, + "lastPaidHeight": 2127130, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyuX4dfUmphY8JkmPQDosxzmtuqjGgcv28", + "votingAddress": "Xi9Yq8xsi1uuykdBda71nLhGbW51n29Tu3", + "payoutAddress": "XdjgbaavGvNv2EUxdfJsKEvpyvqncWW4tA", + "pubKeyOperator": "88a5e1926ec1998c3d408bf1db126f5a6b649f434870a20b50e4e7a19451ac7819477e0295affd95eafa813c9d244c0c" + } + }, + { + "type": "Regular", + "proTxHash": "32e0ec5d008edb341d5c6c50075e4a9f9afbb8511ea0cf2b23fde0d90ac25478", + "collateralHash": "1c298222743e8868cc2784ee48b5a6951c4ccffa530a1429c10f2220fab9cac2", + "collateralIndex": 1, + "collateralAddress": "XfDVog73qLteMECZfvzRcUeVC6hADqgN3z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.22.171:9999", + "registeredHeight": 1100226, + "lastPaidHeight": 1105021, + "consecutivePayments": 0, + "PoSePenalty": 5008, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1107670, + "revocationReason": 0, + "ownerAddress": "Xxd9yfbTyTtPHtnjavByHgGx1uV8tF9LGK", + "votingAddress": "XqKtuCP6bbzgkf7t1tXrigFuBwvpeKH4wN", + "payoutAddress": "XvupQ8nX82TUrFYmmkjVg6EpupJzGzaMv5", + "pubKeyOperator": "905196683e604bb26950da6f634780221130b58708db48b373e5e8356b2e316166277d0fc1d6a60c1402626fb6c75117" + } + }, + { + "type": "Regular", + "proTxHash": "071d1ca48c393818289269b01369c6be6a163dd3c0eee02debdf2356c5d5435a", + "collateralHash": "e9f62baf65098ea74cdfc1e7ab0605ebdd0adebec31dd39f4b3e4c2ab9b7225d", + "collateralIndex": 0, + "collateralAddress": "XfXER8qWpPd9wjHHqyuLgSEKmPM98uEiAt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.143.169:9999", + "registeredHeight": 1101495, + "lastPaidHeight": 2128549, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007647, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhcYf5MafofKh34mwSRc5JiP33XF9NYeW8", + "votingAddress": "XhcYf5MafofKh34mwSRc5JiP33XF9NYeW8", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "97c749ffcd49142ad760c4ca6309b27ad5b86421fcc14d8c5a63f3c08b789450dbd2d86106f64dd5e6e84c96f10914a7" + } + }, + { + "type": "Regular", + "proTxHash": "42db8a61c1877ff70fa6b9328db26b02fecb0a2dffa05b05e92f960dd4c5e17f", + "collateralHash": "2ac96ab20eeb98320981b5323df3010765d87d6c5768373ca63a63b3e48c26be", + "collateralIndex": 1, + "collateralAddress": "XumhtoadJbE8DExVhyL7TUPD32TPM3m3gR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.77.150:9999", + "registeredHeight": 1101527, + "lastPaidHeight": 2128550, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007647, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xyy7kDDtrwU9SDbz1smQPf2ehcnVnHJ52z", + "votingAddress": "Xyy7kDDtrwU9SDbz1smQPf2ehcnVnHJ52z", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "0c8860aa3c05a9bfb80e26b49dae338eccd1e846523bc7e37cbbd270c2324b28ccff19f5a2db31b9d48e7d9cb6ff9e02" + } + }, + { + "type": "Regular", + "proTxHash": "809b5c31d70c813b46cfc2556b1ae612d21686927ba9a04467492e1d07cb3942", + "collateralHash": "6c33d7003b48c226561494bfe574895d5d69dbf29bc5d240caadc135b314c820", + "collateralIndex": 1, + "collateralAddress": "XncXJwn3De8kAxRYzjNn1fBWKa4jrQb7bB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.76.238.2:9999", + "registeredHeight": 1102842, + "lastPaidHeight": 1870548, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1734531, + "PoSeBanHeight": 1872618, + "revocationReason": 0, + "ownerAddress": "XojGaivXGUg5Up3KPVG3F4dZw5dv83LxTV", + "votingAddress": "XcSo84BsrfzHThepNoDVSFkRQKd33CTxEu", + "payoutAddress": "XncXJwn3De8kAxRYzjNn1fBWKa4jrQb7bB", + "pubKeyOperator": "01d0ce1659fbb69190408b8985939db957a317f1bba85632f7aaa3d234edd83d3fefe4ae2ce8a75d0e378ff23bcf4cad" + } + }, + { + "type": "Regular", + "proTxHash": "cbc9dd1b3c28213c0a0fedc1735d1d3e721ecc9640ae63e1f5ccda90f5e64e51", + "collateralHash": "e3e9067cd0854c028707bc49cd5709216591f7315c51fd969097bc9a113e45fa", + "collateralIndex": 0, + "collateralAddress": "XaicT18sSZQ2Yv8BJEVgjXsXF98gBXWXCp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.218:9999", + "registeredHeight": 1104199, + "lastPaidHeight": 2127910, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs5TKE2J8b1XdfEQVQkmbGU47QNj8U6Mbz", + "votingAddress": "XiLCHngtegnXwpVEU4T65Xb67CGtma3u5E", + "payoutAddress": "Xf1CyVSKzKoJoSCxYbeyYJ2QRsQ79QAakT", + "pubKeyOperator": "888b5b28cb723a2260f523eca3fbbc30b85658e73d607094ea49aaa5f8be24476d1a57d7d0bba4ca6e0d18ed1e7588b3" + } + }, + { + "type": "Regular", + "proTxHash": "ee9bfba2984b2d950ad468304c8acb6cd4b5ba329c53b5968dba6d4af4c2f680", + "collateralHash": "084fbf67547f5d99194c5c25d111574da58a56609de7bd13da58f1c702425f42", + "collateralIndex": 1, + "collateralAddress": "XmKnfw2jtbnD6DzerWt2Q6PDTAjfL3cB8q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.122.128:9999", + "registeredHeight": 1104920, + "lastPaidHeight": 2128515, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs14acwJAduAsWejZtdyfwRrgzHtqCr9LS", + "votingAddress": "XhenjQ1ZNMTQ7rKaEYDLBtMim41be8JdTt", + "payoutAddress": "Xy6GQTvgx1sRpC6Hr31eegtaYUXq9KdM34", + "pubKeyOperator": "16eef97df9e7c18e15533b0beca29a08fe41bb8e796a5594fed2d8f9f436e6809c66ca9c55362830804756ff478db166" + } + }, + { + "type": "Regular", + "proTxHash": "98ab90be8d7aa795707e35d8f3267cd3d014b23e4a4781467e629458a23ac205", + "collateralHash": "1c92f2c245ac06aa7c12e963a77beeaba7d92d2ad5afd426690240f9962a8a39", + "collateralIndex": 0, + "collateralAddress": "XrsLMg1U21f2uJgKs8MmxAGEzy3WyKXz5v", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.53.16:9999", + "registeredHeight": 1104950, + "lastPaidHeight": 2128527, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq4hm8CSEhTEiRocag6PsKy7WENSsZtmvo", + "votingAddress": "XkWs7fC3wWjyte6rE698P9qcuhSxbjXpK8", + "payoutAddress": "Xpvqbif1VkEAQQxt8mjwnK4NFNVSRu7CDi", + "pubKeyOperator": "178b023e26b90e620f993d1923acd84bcbe82afd5a6f4a65db073883a9d091e4573071aad5d0721cae04705531f6dac3" + } + }, + { + "type": "Regular", + "proTxHash": "71b56d0155d17769932d65f1070d27847f43fbc2e5c30acae07fa9a96d37173c", + "collateralHash": "11481d65dad7336b55eecea7441e7267c1d87baa433e01b6ee4cfe768ddbd62f", + "collateralIndex": 0, + "collateralAddress": "XvqVYxWBqdX8rkoHnzipcg6vs5JYU6zmuL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.126.196.79:9999", + "registeredHeight": 1108204, + "lastPaidHeight": 2055403, + "consecutivePayments": 0, + "PoSePenalty": 3810, + "PoSeRevivedHeight": 1843629, + "PoSeBanHeight": 2058090, + "revocationReason": 0, + "ownerAddress": "XkCTJPtcmCHhQKNET8pKW98noAcUR6MDny", + "votingAddress": "XkBC8xdH5D9D6cGcHaC4Sbt4GT79SJRyxM", + "payoutAddress": "XvqVYxWBqdX8rkoHnzipcg6vs5JYU6zmuL", + "pubKeyOperator": "909c25cf25362aa298fded3f80ecc874526fae7438a681db092dd020aa83ffe3a929298247ec881a8adfadf790b0bbf5" + } + }, + { + "type": "Regular", + "proTxHash": "e1229da10883a0b32c0181b66f6a8122aa445d26bc116586573328cc3d8fdd50", + "collateralHash": "fa42595cacea8fe8a6b43f8827b1cf33b3d3b4c83e7a5cf4964852ca5de3c9e1", + "collateralIndex": 1, + "collateralAddress": "XxXQ33HndheSnbMErWbm9enwYERRc9BTfn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.58.56.82:9999", + "registeredHeight": 1108488, + "lastPaidHeight": 2128584, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876999, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxGWhUgoRvvDjhiwWZ75TyVhG59orfngHK", + "votingAddress": "XxGWhUgoRvvDjhiwWZ75TyVhG59orfngHK", + "payoutAddress": "Xyu6ikqxCpCZSU7nHDKBADZNtpfsT7mD6i", + "pubKeyOperator": "85c5393238d7c21a3276040813bb801f76a0c9918653fca4f80b8095cbbf1e0559ab82cb02ebdc4952cfc694e6b45abc" + } + }, + { + "type": "Regular", + "proTxHash": "6eff957955f2d4f9e1df10c8e42d4a68aaa759d112fcca484d013512d98b8123", + "collateralHash": "c7a4f1578409039f14ee744270384b5e9a31f7f281f314ef1c4b816aad9f10fb", + "collateralIndex": 0, + "collateralAddress": "XmNqvchdUwrooeLUNw45mWBina7DaLFu9H", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.237.45:9999", + "registeredHeight": 1108786, + "lastPaidHeight": 2127718, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfkaaNVRnKtsR1DX3ejxMY9R6cZFDw4UTY", + "votingAddress": "XsSrBCpXrEJZu8sjsvWhgwvU7yNdVWfD9T", + "payoutAddress": "Xpvqbif1VkEAQQxt8mjwnK4NFNVSRu7CDi", + "pubKeyOperator": "155ca5407e534ef30487c93f9efdf3a73bb79682bbddbbb611529aa3264402780a18475d2e976b552a83dc5b3bc1cd69" + } + }, + { + "type": "Regular", + "proTxHash": "d59e0a0701987661dd7466b63cd06d8cd8b6a880e437c069d0cd39de20e06782", + "collateralHash": "1e188a55e28318080c2566c4bb005c7001c730b20ccb86c74375f3ad104b24f0", + "collateralIndex": 1, + "collateralAddress": "XfWyMTFAeKbhMpLV98ufBbAaeuwDLpkgKZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.93.99:9999", + "registeredHeight": 1110715, + "lastPaidHeight": 2125842, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqtQ1vX8WQMRFY5wxCPeprkwfxAF3kcvCN", + "votingAddress": "XatveKfhVD7ch8mjjKfUeYxbPcyEFurLCN", + "payoutAddress": "XfWyMTFAeKbhMpLV98ufBbAaeuwDLpkgKZ", + "pubKeyOperator": "93bedb9b8377f3838284d0441e34676e5f2a1b0b179bd0ec55580af31b35b692eef328e74613abfd41ae710167f4ee85" + } + }, + { + "type": "Regular", + "proTxHash": "23d78948e6f790c2a2747bd51cbf9503f5cefd5e5f800b5a3e8628ca43492580", + "collateralHash": "121d192ebef8b4d415f23838911a3311e3122164223ee24527db9ac0b893f6e3", + "collateralIndex": 1, + "collateralAddress": "XfzboWJbjUjbusTV2RKsoka4UNDMDrAYGS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "47.243.56.197:9999", + "registeredHeight": 1112701, + "lastPaidHeight": 2114034, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 1874881, + "PoSeBanHeight": 2116842, + "revocationReason": 0, + "ownerAddress": "XrmUjSG537yG4Xnpc9WwxamRyHi6kXV3Z5", + "votingAddress": "Xfq4rJgtJ8UEsx5UXc71XSEZCQtrfgSt1D", + "payoutAddress": "XpBipVqujKwBnWi3chKvi3xRwcUSEBY1XX", + "pubKeyOperator": "8b0175b7fb77e9f03f8c7bd8e757409455be08bef16212f2ce265a7be2dac3f11222ef880fb52bb73f2a4923514b1243" + } + }, + { + "type": "Regular", + "proTxHash": "1c7c3b94e57100e63c3307867acb7465b9c0627a14d0ae28979136e817e79466", + "collateralHash": "eac49c7ad1536e5ecd036977b3287630ef2bd2179e14a47da5994d7b9e803747", + "collateralIndex": 1, + "collateralAddress": "XsincBXXEGbDvTRHkVuCxqhp3Lm9j2f6NK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.179:9999", + "registeredHeight": 1115289, + "lastPaidHeight": 2128804, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031602, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmJCzT518o8ZHGdrNzDpaZgb8ETpxHmmcq", + "votingAddress": "XxnWYoVe7njGDHDeGWmF35dEQxvTqmo9vM", + "payoutAddress": "XsincBXXEGbDvTRHkVuCxqhp3Lm9j2f6NK", + "pubKeyOperator": "1806a42e229d86e223a26bccc700667c8df250bfcc69d01359afe6839dd6e933efc328b2879837fd9eb456e221324426" + } + }, + { + "type": "Regular", + "proTxHash": "4dfc4621ec8022a6a7dc3ca7e7d3c800fe6673b6f15fbab31c0370a03a647e61", + "collateralHash": "26c43d33a372a156d995b2c1bae24cd2edea781b958c3d1b25affcb3c35e120e", + "collateralIndex": 1, + "collateralAddress": "XcA2xwwRSCELw9TTu1VEHe6kje1heQQJxX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.198:9999", + "registeredHeight": 1115291, + "lastPaidHeight": 2127060, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1632309, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvftUu5rJkjKqQaw4PZWvzi1HjSPBip6jC", + "votingAddress": "Xecr7WcshWYT7LPwyHSPzcedLCCQP1jjPj", + "payoutAddress": "XcA2xwwRSCELw9TTu1VEHe6kje1heQQJxX", + "pubKeyOperator": "02a30458526be178e80dd1c8693764a9c38b0c4f796ba6a81f5a55add8c601b701ce5f19f48fadffb91a0604f672a8ec" + } + }, + { + "type": "Regular", + "proTxHash": "0d91aed9eeeedb6040ece9ba9d15aaf543272919e02f1e4c0f371c967bef4492", + "collateralHash": "c8253c539df370963a25de8bae4d5853b302c16bc394e205f1cfdbbd784ef24f", + "collateralIndex": 1, + "collateralAddress": "XhyQxxGXnZns6oqgrmh6wq7apDVYStqdpa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.38:9999", + "registeredHeight": 1115291, + "lastPaidHeight": 2128890, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrcuJvU4ZaYmoDV8d96CMw489jVAt3FgCK", + "votingAddress": "XhaJwb6JqPaWxotg7hkDQzCS8fdiU2vg8t", + "payoutAddress": "XhyQxxGXnZns6oqgrmh6wq7apDVYStqdpa", + "pubKeyOperator": "82cf5bfe103ac8af531dc1d2875197420b841241d038e2536a5bdad0437b02d62391c767d159c5dbde9dffba68432d9d" + } + }, + { + "type": "Regular", + "proTxHash": "476cc3d56d8b9d0656a2f2e2893bf410ddc7c616283f4a9b18dd062ccfd371dc", + "collateralHash": "849ec9041e813dcff89ae8127b53b78fa5b3eddcb873585495ff5bbcb39bf945", + "collateralIndex": 1, + "collateralAddress": "XmnQBf4r9XHcvHnBpJ2vjhYAUmGuJDK74q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.45:9999", + "registeredHeight": 1115291, + "lastPaidHeight": 2125840, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1639041, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xtuuzpx6sCPvPqEHqcLPqbqP6DA5xQaD9v", + "votingAddress": "Xb6rKLav2gX8UootiPJtznxaJiYHKG3zTM", + "payoutAddress": "XmnQBf4r9XHcvHnBpJ2vjhYAUmGuJDK74q", + "pubKeyOperator": "8127f7d4e1f05981f37255219ef9bdce0b1d90218777e1e0ac336f57436ba83a47d9af9a16747871c46b2b8a8ef40715" + } + }, + { + "type": "Regular", + "proTxHash": "e2350ba9f842afadfa8364592acaa2f5e32556e4aa91144f3d6723ad7d34b948", + "collateralHash": "77da7ffbacf7ab954cd55669d503a3b22ae7f0d01605273937241aaf072b711a", + "collateralIndex": 1, + "collateralAddress": "XnYTpfX52g4cHGf5SnipodeuQCt9iPjbVU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.187:9999", + "registeredHeight": 1115291, + "lastPaidHeight": 2128888, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkhgn1mJmBeG6inzCuCvqSXHCmg2XWPAvG", + "votingAddress": "XdtEGFsAgqfjWdxTe3D1VpcSe48apbcUtT", + "payoutAddress": "XnYTpfX52g4cHGf5SnipodeuQCt9iPjbVU", + "pubKeyOperator": "08ba60669c3b23142dd0fa6b5668ef336bad9844e6f776b99fb9ebb9880428dccc2dae8eb7f13c20179a1ce2bd0e280b" + } + }, + { + "type": "Regular", + "proTxHash": "b21e86254535fe27447c2cda27b62c75d947a1b5c739127e3c738d04353cc73b", + "collateralHash": "e21dbe646e2a838a84e0c2293f9e1b7ee16400a8407efa21e85126f2fae64122", + "collateralIndex": 1, + "collateralAddress": "XgyWZidbYsEWRkS8t928akp1S1pt9v1ZuB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.78:9999", + "registeredHeight": 1115292, + "lastPaidHeight": 2128891, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XttK4wQ5UwE7Nknxvmibwj6bhYouCNDy6F", + "votingAddress": "XrUFX1BGv8NGqFg7pTNV9gnR6zffzZRgg3", + "payoutAddress": "XgyWZidbYsEWRkS8t928akp1S1pt9v1ZuB", + "pubKeyOperator": "1113329c269d0048394dec8b649939e3993de488e3a5b89363b2262b6aa34a9871f085a0c7e480d2104163c0e069a445" + } + }, + { + "type": "Regular", + "proTxHash": "4cfbaeda6deb0f05dc1cd8e5ba796cde4cc4b0ff1edf304509fe1bbe853ebc7d", + "collateralHash": "8081d41ef4a2722f8d79e4f54a23049093a69c9cae2770f04bb1f652f47e1659", + "collateralIndex": 1, + "collateralAddress": "Xhh9y1hhmmUpQEtnr63si8SbeFc9Na4PUr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.24:9999", + "registeredHeight": 1115292, + "lastPaidHeight": 2126883, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1623309, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgnFq5z91gDckFT9mQWExjnDjzGy3Hv3Zu", + "votingAddress": "XsuKKZu6d96bqmbkeKhZfnFuyPX2DvhQid", + "payoutAddress": "Xhh9y1hhmmUpQEtnr63si8SbeFc9Na4PUr", + "pubKeyOperator": "15481386bd16a61ebbeed4234901867750626f49b520c4448b9e050a81e7a370ef3e33788c40bd8431ad457477093b64" + } + }, + { + "type": "Regular", + "proTxHash": "a1d56b38df0a1e163d580e24fd8503f5c2f063c9458e35be7b846589f1880dae", + "collateralHash": "2a546eac1b1136ac635cd6265c9cc409e1e7ec0ec481906abab1eedfb2bc2a6f", + "collateralIndex": 1, + "collateralAddress": "XmJpxSs6GCxomYGswe1t8c3pTuF8D6458h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.79:9999", + "registeredHeight": 1115293, + "lastPaidHeight": 2128894, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh64HxcQDHpDg13CVkGqpEH6jCEUwMU1aP", + "votingAddress": "XmmFzWs3s1NE6oMDPgVHq2B95BYHV9HC6U", + "payoutAddress": "XmJpxSs6GCxomYGswe1t8c3pTuF8D6458h", + "pubKeyOperator": "0f5029dde490c93271d30b303a21fb8bbf35d66508265803783626e182397aaee7edc2fb77fce6e76a6a9c710b5fb89d" + } + }, + { + "type": "Regular", + "proTxHash": "53d7054f6b4845803464d2b699f329c43fea53a11da53e4d8660648651e54b23", + "collateralHash": "849cb18c66c188c4e19bd8d86cd3f3334a364195c0ba0484b409a28bf0843054", + "collateralIndex": 1, + "collateralAddress": "XhdXyucDjwdx1ojREJDMWh6ckH4XMm9ewp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.156:9999", + "registeredHeight": 1115296, + "lastPaidHeight": 2128896, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkbXguQTrX4kCes25xcJ1kEjMMpfzhvZGv", + "votingAddress": "XvjwcbQQ9peKyEknYA9fDTU4MZEDtVcwhY", + "payoutAddress": "XhdXyucDjwdx1ojREJDMWh6ckH4XMm9ewp", + "pubKeyOperator": "954c04a289aa412f6b7d3a8781a50d48f2934cf8760d790467ff7b6ecc3eef00cec715e0103624a2eae2df251f5ff668" + } + }, + { + "type": "Regular", + "proTxHash": "935f07abdfb8038282bc4a0485387ba6676a5e49199b0c23fba35334d53d5ab8", + "collateralHash": "f7a32df18a54c103c20320de45d1c614df3276c62429d4324f91a197d9ba9913", + "collateralIndex": 0, + "collateralAddress": "XmPSjg42NrYjyrE39u4D3fsY8QNnzVgYBv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.244.116.110:9999", + "registeredHeight": 1115590, + "lastPaidHeight": 2127919, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1958202, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XppSRoG6P3VRa6TEkThpk2a1ruqK2qqBCa", + "votingAddress": "XgxAqWNhUgmwTFcq6HXyjoSCw2vbTBFSSw", + "payoutAddress": "XrjAmosceW3ZvkQMmyQwgQmjmHidvPPvaz", + "pubKeyOperator": "89f214868176a6719445f91395542a2669b6625d6d16082e7917492b39c638637129efaac9c9d6f73e7368a2794f9b65" + } + }, + { + "type": "Regular", + "proTxHash": "3abf36f38c98bc8c5a6c7b849ca53b7a84fd1720132ea582f28cfe9a8093a8ba", + "collateralHash": "695688a1aa562426e75c0881e7ed7bd8e4a988caad65ae4397b4d8b6250736d4", + "collateralIndex": 1, + "collateralAddress": "XtN2xCrxW2zUm3JMZKbuVenYxJeRMiPpLx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.231.214:9999", + "registeredHeight": 1115690, + "lastPaidHeight": 2125880, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdAU9fiYmnKAR5B9Lfuzu1WT1kutkeyT8g", + "votingAddress": "XkUjgTwzsLg1ZUYxMZyR5dfJzkU3Nbt769", + "payoutAddress": "Xi82Z55qQbc5GSj3q6vrTtFrEzRq22WGGi", + "pubKeyOperator": "1070a8587e86e512e56d191453a4a4a6f46b49c437d8ebeecdc635c419733e9fd6dac549d98f0201183ff1dc368dc612" + } + }, + { + "type": "Regular", + "proTxHash": "03e1998fbb531bc064d2b65fac261c8b4df62e52daa26933ee2ad0d69d1a27c4", + "collateralHash": "99eef08ade74917e4722c569484ffa1038a46409e2f02228d19fb63363e6ab2b", + "collateralIndex": 1, + "collateralAddress": "XcbJeAtewEAwvZTjMMhHsZCz6EpxsZekXR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.226.245:9999", + "registeredHeight": 1115692, + "lastPaidHeight": 2125882, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkkkvyn9UDoncGdEz88QFprS7Y9vknbgaT", + "votingAddress": "XpziihaMsHQpjDiVVpMg37vbbMKC22g18g", + "payoutAddress": "Xi4e5vaMqHusbZSmfacDgnPaXSFUV5TSrm", + "pubKeyOperator": "0ff24b5b8e1f178f0845466eef113cea89682e0cc3472590437043d6bf00d8f72b06977daa9437d681ef536391c2add1" + } + }, + { + "type": "Regular", + "proTxHash": "f735ed1bf904e41d7cac7295052fa2e040a8f861aa9cc6df603ef0c5219af746", + "collateralHash": "17e9e7823682b112a70d746090608304f0076afa5218bb417b85adb1b533b85a", + "collateralIndex": 1, + "collateralAddress": "Xezq5j3zDr6D6USJQF1nknTNC51wkdqyCz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.75:9999", + "registeredHeight": 1118672, + "lastPaidHeight": 2126216, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1120919, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xax6hR1W9iTpmFqcaeWtEZbBKTrorSESmP", + "votingAddress": "XchJtCYauQQfQmdvsqmzSAz9qGa94w7Buo", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "07cad522fbcfd0cd25f00f42c1ebdb53cf586e5b4e06318759c73e2b2b4d9f9db0ea237504f876563bfc059b3156e104" + } + }, + { + "type": "Regular", + "proTxHash": "887cb1467004f290ffc1d2875587679e3f95c4d7b8931ea569171b657c3d21c3", + "collateralHash": "4cc5cbbbc16ce0dcba7c94e3044d1ac05f82638742776961e45d9ff776782dc8", + "collateralIndex": 1, + "collateralAddress": "XnPiuNsN9d3bxLrAoHzX38qZsGXSBZJ6n2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.9.193.19:9999", + "registeredHeight": 1118694, + "lastPaidHeight": 1870556, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1734531, + "PoSeBanHeight": 1873194, + "revocationReason": 0, + "ownerAddress": "XfnXykPVFsBLQySyztckn2KhHMsMAsNVEH", + "votingAddress": "Xo5bvoHVAo3Pi4gwaCMJ5vjZZ6DxSxBXAC", + "payoutAddress": "XnPiuNsN9d3bxLrAoHzX38qZsGXSBZJ6n2", + "pubKeyOperator": "0c999de70d3024ac5b0b5ad53c5d7a5a74c4cfbf476122a017de8e74514ddce4eb2db32c011968410554ab556d474f81" + } + }, + { + "type": "Regular", + "proTxHash": "58dbac03784a2e063851e570d52c4e1a453bd8713ea552201c139eddfd155808", + "collateralHash": "84031324da615a1dc7464c205f2a8bd0da6bd9b45f71a58fe4ff7a1e04fa7b0b", + "collateralIndex": 1, + "collateralAddress": "XyVHvDneZfGgs55se2gKTAiMYmpyGnALrh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.9.193.17:9999", + "registeredHeight": 1118847, + "lastPaidHeight": 1874212, + "consecutivePayments": 0, + "PoSePenalty": 4404, + "PoSeRevivedHeight": 1734531, + "PoSeBanHeight": 1876362, + "revocationReason": 0, + "ownerAddress": "XpTtNM1drjAD7pXTGm2AZNwuhLV82BH6qy", + "votingAddress": "XiUbGB8cQh7WeGZP9HQxGyQv5LHeycNdNX", + "payoutAddress": "XyVHvDneZfGgs55se2gKTAiMYmpyGnALrh", + "pubKeyOperator": "134e8547014bc334ac7ab1ee65b9aa106f041c556182ca5833b526ce2d722740c1eb4f93944fe9ecb3ec342da9744d7c" + } + }, + { + "type": "Regular", + "proTxHash": "8ef5f57933286019531241bd2c5ca33c4aaefa20bef02b11404e8bd136001274", + "collateralHash": "4c4df78327b0e6e1911a56cbe9684db7f88475a6b3aa9622a42e130e062eefa4", + "collateralIndex": 1, + "collateralAddress": "Xh4Tuu8zJF4ux5nH188hL841gkbuoHwcia", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.12:9999", + "registeredHeight": 1121575, + "lastPaidHeight": 2126606, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqVBc3J15taHZhkwm6AMbsKpoTzijW1ipS", + "votingAddress": "XqVBc3J15taHZhkwm6AMbsKpoTzijW1ipS", + "payoutAddress": "XprdmU9WDLmtHKXe1ojqPFFoARmTBnZrnW", + "pubKeyOperator": "9888d8e257e399507946de1fc73e45ca9b3cba7909a31fdf47c9097c9af9a2d99e0d3bdf98c675d9b1f0ff963cf59b71" + } + }, + { + "type": "Regular", + "proTxHash": "f50b9274993108ec65daa83df511019ce7d30d88f69c28874124508b0c99d7cb", + "collateralHash": "48c130384fda0d0c85c0c2f30fe349b85535d786e3278cd4951b8ea915633139", + "collateralIndex": 1, + "collateralAddress": "XpG4gKzGQGzNHSo1fH12dsKdnF5Ya3QCVR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.13:9999", + "registeredHeight": 1121575, + "lastPaidHeight": 2128847, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1981083, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtnkTdCRo2nmnk8kRSuk1QbG1WmoYJHomN", + "votingAddress": "XtnkTdCRo2nmnk8kRSuk1QbG1WmoYJHomN", + "payoutAddress": "XbYZ8gJ8UePoQJrk17Xv611o2x6HhHayFH", + "pubKeyOperator": "832ea16f666430d354cc9009d6cd9257aa213066de55f757b29dc14b90d4b8b8bc195b060b7b7e25bc6d0e033deaf19a" + } + }, + { + "type": "Regular", + "proTxHash": "2e13cbbcbe0095ac1b0c38f636f78e0e09be48be0ec1df30abad4e807d9dacfe", + "collateralHash": "2f6ff0b62d180723f61f400ca9277ee44d7c625cac856269f3e16dc4928958f6", + "collateralIndex": 0, + "collateralAddress": "XjQcGRahfncKUwVmrR27RSkYMayhHDkurr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.85.28.10:9999", + "registeredHeight": 1122209, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 5008, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1124507, + "revocationReason": 0, + "ownerAddress": "XqYj3KrDbTTRrB6vM1f9F59X6isZfZAbZf", + "votingAddress": "XqYj3KrDbTTRrB6vM1f9F59X6isZfZAbZf", + "payoutAddress": "XjQcGRahfncKUwVmrR27RSkYMayhHDkurr", + "pubKeyOperator": "98eacba4f1f6fc5c85cf51fe6afd92d9d414874f608eba623f7f557a1b06491d52d2cfb2b72944d294ccfb8ac8e71147" + } + }, + { + "type": "Regular", + "proTxHash": "489ab60e91a568f6b00ec17e2211168abdc9826aed56c6da1687411a54504fb3", + "collateralHash": "0fe2679bacd363516fb97f9f67b9dcc8231503c23ea1f70580339b704cca4cd9", + "collateralIndex": 1, + "collateralAddress": "XhF7JuJ88xpYcvPDNaPUprMLo3sKoBjQE9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.236.183.29:9999", + "registeredHeight": 1122705, + "lastPaidHeight": 2127445, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1780686, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XatgeXZyg13nrpEN9bhArb34b7fo6rBkxp", + "votingAddress": "XatgeXZyg13nrpEN9bhArb34b7fo6rBkxp", + "payoutAddress": "Xz1efgQkaP2w2bmg24RbakUtF7zQbCLQ7m", + "pubKeyOperator": "09621d91610823d2676d9e19f8230406a27bceaf2f576cbff13fe46aa33b8d3d651ec39ac3e83206c4f8aefd4d340bdb" + } + }, + { + "type": "Regular", + "proTxHash": "d22d2d0778ac82adc1cf6f180784c9862be735fe17fd5bd2673a8267ce1074b7", + "collateralHash": "90feb5e981d4d1ee73d61978305c82d1a3601d396b81c1ced248b3d46286cfc4", + "collateralIndex": 1, + "collateralAddress": "Xvy8niVKbvfe9k9t1Y32RCC6sHFcYEtNUF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.203:9999", + "registeredHeight": 1123025, + "lastPaidHeight": 2127534, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeR7taiizqEjLpem6KSiXzEQecsvTMBpvh", + "votingAddress": "XeR7taiizqEjLpem6KSiXzEQecsvTMBpvh", + "payoutAddress": "XjKpwTPYfJr9UTpwnikTVuNfsR6ettUt7z", + "pubKeyOperator": "0b6abf17b6d3e19533a2d248bf6ae924e30996eb1e015808914772eea21ce3585977331b22631edf553712b774aea011" + } + }, + { + "type": "Regular", + "proTxHash": "b1c3644094c1bfc2f8e50a7f642af7714c58e89fe5a741d740e87545934da756", + "collateralHash": "83c786a17e3858e9594358f89c63f6708ac6dede4761161ee2940fd5b786e0e8", + "collateralIndex": 1, + "collateralAddress": "Xoiw5WS7ibR3o7UKsSErcyoU4gZ5Af94ic", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.199.131:9999", + "registeredHeight": 1123964, + "lastPaidHeight": 2128548, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007647, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvSkTHjDm9jZz18PGepzwYKKBVykSLy3B8", + "votingAddress": "XvSkTHjDm9jZz18PGepzwYKKBVykSLy3B8", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "0fcea3c0eeb8827c43b564c5167f35e0cc3292dd568121dde064ee7b281188c0f55c9b6560438eca7058f2944f46b5f2" + } + }, + { + "type": "Regular", + "proTxHash": "2dedf714e70a7ea193f7602609fef84118d87ec3cf35f59c00038da099927587", + "collateralHash": "0f3795458df6604d945cc56f1232629eacb334c1fc688e758e9e2f3f99cb1728", + "collateralIndex": 1, + "collateralAddress": "XxBtwHe5kfe5tSuETVL81miqEcbBnjZx3r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.88.181:9999", + "registeredHeight": 1126443, + "lastPaidHeight": 2126632, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XonbE7HsfR7XLzRshUKeZpkVfBxNAAm7iV", + "votingAddress": "XbXY8D3MP9r4v7ZdGEak73thq1bhrzLM2t", + "payoutAddress": "Xh55Tx9cQiFrethrcN6VpALqkw131LNR15", + "pubKeyOperator": "99a107fd4ca280c5b3f022e0919c92fec3510a44c4f873e3f8e7d4fed63caa7e5daeeca7291127756a5e969e547bfeca" + } + }, + { + "type": "Regular", + "proTxHash": "dd41efe4aa2f4a964461e3702fee7e8c194b6b002dd32f4179b82fcf448aad2a", + "collateralHash": "21918d845b982398cd422d691b423f7c814fbaae8d64ccc7e347f6ae4766bd77", + "collateralIndex": 1, + "collateralAddress": "XpRb9WvMtpXyekJZAphw2Hmk332Hr2V1be", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.15:9999", + "registeredHeight": 1127222, + "lastPaidHeight": 2127079, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmtNJghxiH6ma4x2kKdarXbCGaPvoKS3vE", + "votingAddress": "XmtNJghxiH6ma4x2kKdarXbCGaPvoKS3vE", + "payoutAddress": "Xn7hob5UwvrwNDtiwfdhAGjND63tLefvzJ", + "pubKeyOperator": "072cb994335d33e96df25d2cbbfd213298de7d5d60036786cf99fe658658b526fb5d03bea5a6e49e3d34ad015103ca2a" + } + }, + { + "type": "Regular", + "proTxHash": "33d2ea147de893ea7486aa9eccfba4f7172676f3b366c6eaf77a5e647cbbcbbf", + "collateralHash": "ba94d77789c9a37642a2411abafb9333264b54cc9039d70a68e853751ab74872", + "collateralIndex": 1, + "collateralAddress": "XfMUFJUNqsFgCtAgEbeakFxiW4cVyr21nW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "37.18.227.56:9999", + "registeredHeight": 1130378, + "lastPaidHeight": 1752466, + "consecutivePayments": 0, + "PoSePenalty": 4468, + "PoSeRevivedHeight": 1734379, + "PoSeBanHeight": 1752491, + "revocationReason": 0, + "ownerAddress": "XxKgC21PRMxvLzeZkCQFV3KkYBgstAfBvz", + "votingAddress": "XndJdisMnJrr5x5PxM61iJfobcGsE15cbp", + "payoutAddress": "XySDCtqUtzgkjX8QLu9MzP8AZQJHW7ZAMp", + "pubKeyOperator": "810fb34e96ab1a3c37b6ba2872730e3d3eb1cc2ee9ac82265540adc1c113e4a18e89d80de9112e235326969444ce48ab" + } + }, + { + "type": "Regular", + "proTxHash": "10e6403d88b062b4302c40024e2a66adc6127ae4025e6ca6cd0e357c8c3506ad", + "collateralHash": "c1287e0ac0dc5a80008f945d78bda383a8d2b00753b3ceddefcd7d721a542a40", + "collateralIndex": 1, + "collateralAddress": "Xqdh4MmLd6JfPeeotYAkTisHtevfmKDikn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.191.14:9999", + "registeredHeight": 1130602, + "lastPaidHeight": 2128562, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007649, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcm2Jk6z6Mm21f7evTpibDiBiDR5HrJU32", + "votingAddress": "Xcm2Jk6z6Mm21f7evTpibDiBiDR5HrJU32", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "97c96120ed607837530a071729c7ef1f89fdf0707bfe41d63d33d4720e0a0359e664d5e5775572cb6da3eebe81faf811" + } + }, + { + "type": "Regular", + "proTxHash": "c8ec1547238a7fe9ff2e86eaaa87867398ec22e4d7265026822a6daf2e429b83", + "collateralHash": "6faa36980f06a9112a7f8fa65d30e7735e95a5ee0867d11087721de7c9344dbb", + "collateralIndex": 1, + "collateralAddress": "XcqDbNvTEbA2EE5NpieZ1jX5GLUHr2bgqx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.225:9999", + "registeredHeight": 1131453, + "lastPaidHeight": 2126690, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbT2SrvnxbLaJtk1KQbhNncJD776TrmEhs", + "votingAddress": "XewwGngjXDYdpHFL1jQfNbsazYnYhNeWCc", + "payoutAddress": "XkLndYhhvivYgR2xi79MGHYkJ6z35YfYXS", + "pubKeyOperator": "8d5d305afb360dd8b71a27fc25838624fa4ea1e5f6e3537946ccb65a6e266a41f208043019c40073c942e99438f2396f" + } + }, + { + "type": "Regular", + "proTxHash": "b11ecbbd8e1e3b634fc930bbb41253c1ad931c329136ea0564d55eee633080c1", + "collateralHash": "60631d868c38bca0ea78f995ced206450010acd24f9b4371051cb9d426ca17cc", + "collateralIndex": 1, + "collateralAddress": "Xjm1o9xgZmmrEQsLGEZuR9D4FngdouzPL3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.21.185:9999", + "registeredHeight": 1132265, + "lastPaidHeight": 2127571, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1584888, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh6MN2PLtsbaoEDhWH4QfpLN4stbqSX5R3", + "votingAddress": "XsKVz4FBYB5gZEqEGckcrmr6iuz6Vkjodu", + "payoutAddress": "Xtr9TNBtrqE87EUBSm9MhobrFXQEjSAFQo", + "pubKeyOperator": "081e63cbde87a6b88041b47ae65b35ac74c63d4819c9c3e491802b338801fb0a0ff9a66aed78270f7da09c6b8070a43f" + } + }, + { + "type": "Regular", + "proTxHash": "58a3e9b92ac4721246fb44934345826c0fdb54b8a1bcc0c6b851d335226f2357", + "collateralHash": "595e8879f89e1da5c04098e85ab65627d7bdaa8c2c4918bae5b893774fc56ef6", + "collateralIndex": 1, + "collateralAddress": "XeqUGV7WPTaMSEhK9TpUDHgR67DYVaF1yb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.22.176:9999", + "registeredHeight": 1133924, + "lastPaidHeight": 2127020, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120960, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfe1bSC5NKFBT4xwCVKeic1BCT8AGLy1vp", + "votingAddress": "Xx67VWEsGpNFu7mz2i5v5nvC6ivNspnGsd", + "payoutAddress": "XxtD72x2U42UvrfYcQxJKpAKerzfaUHbGj", + "pubKeyOperator": "04c25a639f1d660989db103cbbd791361480efe5ba50f5ae3fa0a723c6ff362ec253204da513cbea997670db3a703eca" + } + }, + { + "type": "Regular", + "proTxHash": "1e214c849e3bf0cc366b2112e37acf59bffedeabdf53c08729434406a62dcc5d", + "collateralHash": "1f490b66d42e20da9bbfc091ecd9a0657d806b37cf77721f9a3806ca3181add3", + "collateralIndex": 1, + "collateralAddress": "XoB8eU3DJapWYkxJXsd8K9Ywzsgpj8kXuX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.144:9999", + "registeredHeight": 1138223, + "lastPaidHeight": 2127909, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvte3ij9PD2LjCbpotf8T1X4LcbYWGqo58", + "votingAddress": "XmPB6fcjARqgsfh3GKoGZcyCmdGZ8Hao7C", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "0a15e85214ae491857bfbcf953ca556a3a5aef842c27ed49cd7d9f9ec4bac6680d2eb90d316eb9aa217ca00e03e9ff02" + } + }, + { + "type": "Regular", + "proTxHash": "bb14009b238f81de0a7a925a20cd438095ac92e76a90a7a6aec6a2f8e8fac6cb", + "collateralHash": "5143458459fc38f57bf0386446610564981fb765a4ce9f9ec3a80295ec4be7d4", + "collateralIndex": 1, + "collateralAddress": "Xbow2cVrCwRbZTKdb3D9hwMw5v9xH9ggk2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.134.138.88:9999", + "registeredHeight": 1139251, + "lastPaidHeight": 1377041, + "consecutivePayments": 0, + "PoSePenalty": 5089, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1379219, + "revocationReason": 0, + "ownerAddress": "Xr367TyGnaTRAN2AvCtdj7WHy5LEnG8p2C", + "votingAddress": "XpE9xtsxgjHSyesUQnvr4wjeMUN81KKqFG", + "payoutAddress": "Xf714jP5CDkFcssTwf5zyPMVmdsbU6Tc63", + "pubKeyOperator": "023b1033f2d13be0799d61dc591a7087c3adda1f991bab5f27d45751ea3729dbb1a294f288875694c652a64bb5471708" + } + }, + { + "type": "Regular", + "proTxHash": "5d98a19a641db216ccb0871406d0c3b9e6e333b5b0483828aab92e7a74bd827b", + "collateralHash": "a71fa00a49049c3130ef5f58c2a8d50672244739fc1a66bad385ff6205d9f76c", + "collateralIndex": 1, + "collateralAddress": "XdBkxFq7wLTNJSf7cFjSZVpmACmefmG3D6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.130:9999", + "registeredHeight": 1142438, + "lastPaidHeight": 2127401, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xapc4iC14qRv7yNfGWXgz5WgcBEm323HUd", + "votingAddress": "Xapc4iC14qRv7yNfGWXgz5WgcBEm323HUd", + "payoutAddress": "XhqugMd2YFL967yinXN8k78dSRfHiYuyCp", + "pubKeyOperator": "013229c4888095e41ce26a1e95765e7956e648e86cd85bdc357483795596b5bed52a190317fba02c3bccc1595dcc338e" + } + }, + { + "type": "Regular", + "proTxHash": "e0d7aeac3dab8ae5814f8439da21b29e9213af697eaef1aaa1c329f596f9a8ec", + "collateralHash": "24d8a69cceed0cd5b64ea54f46bfe2338a3e69701c1784cd01d23f2c0bc0137f", + "collateralIndex": 0, + "collateralAddress": "XyGrWtkiXWxziFnVXNefSuheuXBytCFjFz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.130:9999", + "registeredHeight": 1145227, + "lastPaidHeight": 2126021, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeTnKCboPs1Sp5Ggcdo3ggaui7AEdpfSyh", + "votingAddress": "XuR2x2cTJ8sLXnw96GofdD7xEJB3szRm5x", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "869b17941379bb7efc0c7cdc51958df66e6280c1a12b7f17e14f3ec7562edb8d7e7f32bb0a3f93d3da5326560d61cfd7" + } + }, + { + "type": "Regular", + "proTxHash": "4cd226491211688dc1a7743c3ae06462411c4d48f90a40146f0eb2720d86bf4f", + "collateralHash": "928bf3fd7f6296183d3823e3778ac55381817f33ba06c79f1ee9d77ba8991849", + "collateralIndex": 1, + "collateralAddress": "XyBRKFcjuH6uvfE2hxcUcq4xd3ACZu5ece", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.52.153:9999", + "registeredHeight": 1145232, + "lastPaidHeight": 2126022, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcZDhVrat3J3yNXui8Ynvzopw72jCQurFn", + "votingAddress": "XgNeDyTGWqqEe94kJNAxCunzis7gU8bnDn", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "1534b67ae4a1e083e92080711f4ddb633e827a0003a0c8a6ceeb7fcb50aa2ac1f21e29cdc1c8d084d624f68e0cc557fc" + } + }, + { + "type": "Regular", + "proTxHash": "7607c48cb6611dc26d0a764144a92c963389ec58dd2407fbc3c0ae8c062db211", + "collateralHash": "6025a93e46f8a58af24ff2e4c73ff7cfcbd09eab4b1a55b3b478269c4047ea68", + "collateralIndex": 1, + "collateralAddress": "XpHNet95YG8v9nZd7fK8Fv96Wkf4tr7Ti7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.52.148:9999", + "registeredHeight": 1145234, + "lastPaidHeight": 2126027, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xru2Exeb9qL7fWuKq2vHrmhzsbRn8W7QKF", + "votingAddress": "XfcUhvB7KaMVZHJ8RcVmsVqCCu8HzjWfRh", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "8545e33839d9f789e6c2a915b6a6f347d77f8542078dd0b7d23612cc7c2b56ee6f7fffd33f2eb281555b9fa91a6a0c92" + } + }, + { + "type": "Regular", + "proTxHash": "b0d84b6939d0be2cff89e9332c8a7c15f005ba463a4bd4d7c2066e60bccc40ed", + "collateralHash": "89f8e5e61936e1ba539eaa45fd1d21889bd122323a7498d182b7f5c50869e248", + "collateralIndex": 0, + "collateralAddress": "XqSn2Fang3v95Q2S1r9FSdidhhDuv7e83N", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.3:9999", + "registeredHeight": 1145238, + "lastPaidHeight": 2126028, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdxhpQdScXoFBmvmkpvm3fPthhCqHCtopE", + "votingAddress": "Xsz5MGKs3MNM7v3Zdh3dWpFEw77SrV3kyU", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "8a2d0ffe84bad9f3bd378760adb04627e8d62423e64aa4ca333eedf4b63c1202a3b96c810426dcfde237441797b57b98" + } + }, + { + "type": "Regular", + "proTxHash": "9ad5bdf3563cdc1ebd523fba68deb56dfea62cf4d5512ded421fcfd5bb681650", + "collateralHash": "4b1675a83d18d628da934627f4f9fc909ae498c9d87ac4eb009d009b6023937e", + "collateralIndex": 1, + "collateralAddress": "XpBJvaH6CpGKwNzakYpo5fwc3LydgEQ5X3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.129:9999", + "registeredHeight": 1145246, + "lastPaidHeight": 2126034, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgmr2VzGureQA8qNJF9uitPe2QeCSjhwGG", + "votingAddress": "Xaqjjg1WT3K3memfaDg2uYBtBzJrkU85o1", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "08e54f445249015ef165e167eb8d86dd1be1fb5c430e213f51cd2b56ced221ccca9f32947cf83da6839371e3556dc2f9" + } + }, + { + "type": "Regular", + "proTxHash": "08a0381c156734feedaaccba8ab0c3271c749673466d84bbf575e340120b9c3c", + "collateralHash": "73fee60b79c06ff78e119d4698f23008809555a41fbdbca079018101ba07c742", + "collateralIndex": 1, + "collateralAddress": "XtkdgK9u4VkogPUCD4EynGikiR2DweMsc6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.52.129:9999", + "registeredHeight": 1145248, + "lastPaidHeight": 2126038, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxipAahF9BXcLBcLFk4hEzMSpF4vgBycSo", + "votingAddress": "Xp15TG6wu4D5kAKi9hQt5udDBsooodPUPt", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "145b47c422500660c83b9f5c119146130a31a3b6548f91ce209c4e0867f1ee1e39696f05b4c52404db9fe92c3e79cbc5" + } + }, + { + "type": "Regular", + "proTxHash": "ffb648226910f34f9afe87f88990cf651d8ef853ed201919ae269aa42aff8f64", + "collateralHash": "5d778b857b5bf1d958cece491a09d1921b0ea99a21dd4384beb3b0681ba59d1c", + "collateralIndex": 1, + "collateralAddress": "Xk8gqzykaCGHFMaZR3XkqsjtdUnyGaR37u", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.2:9999", + "registeredHeight": 1145249, + "lastPaidHeight": 2128771, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1866284, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfrLox6oDgKuL5xeH6XshShQau7xspAPh8", + "votingAddress": "XjhF1rTk3SzxwkUrNwvCmLntRkUwEXkLTu", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "0584cade63658358147fdd565bf76c9dd7eb4c13e806ee49ca4b5486f01aad6b5ec8ae34efca35f103e6da13d6c5482e" + } + }, + { + "type": "Regular", + "proTxHash": "6ba5ccd3e46d6700ffabee07cd53fe5d302c63d53db9603cd8a55e4c4264c4e9", + "collateralHash": "048959260030715b4d7c97cc63b7a83e157cfe656cb2910782bd6264531df52b", + "collateralIndex": 1, + "collateralAddress": "XjrkSpSfMvPxQUWYVB8qNuvXiZBERi3iNT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.52.145:9999", + "registeredHeight": 1145251, + "lastPaidHeight": 2126044, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpTw2PZexZvRD7PcRqQGcrRWBbdrKGtvnb", + "votingAddress": "XmrvtuGgi9n1u7We1af3BiVWHwZXeebZzw", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "05d020d5e00e9adf06802c53e2e3a9bc059d41a171da9d763d0b907796aed2133a944913bd7f6721aa0653fd9490f5ec" + } + }, + { + "type": "Regular", + "proTxHash": "331dcaca797704b754964627b656af59b31c885361d4a7e308a1434ad41a1187", + "collateralHash": "4697b1832367ecd3ecea8b3ed632c92be950957c428b48845400608443bcc271", + "collateralIndex": 1, + "collateralAddress": "XbAkutJPKLs8gzEETSvXibsi8XzTV8CCMp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.1:9999", + "registeredHeight": 1145251, + "lastPaidHeight": 2128854, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1866326, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhPswUxyHP5YyuqA34fe3ov2mRr94Zw7fB", + "votingAddress": "XsNhMqEF72umxJy5Zgk3qYZJ9PotJo143i", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "0bbbe5b660800086bc5b60a2100501ed7ff4dbffcacefde6de62a377cd85d1fafd5fe35c3cf2b8f64da01e636bfb008e" + } + }, + { + "type": "Regular", + "proTxHash": "2af26b51bb03870c55e55979623ab44bd21d0e15b908a81f22dbd56ab7bb2bbf", + "collateralHash": "0c304a82969ad9e4b4935b00f4679681affa0c67ff72ab0ae17f1a83761c4f8b", + "collateralIndex": 1, + "collateralAddress": "Xt8JpspPPZHYeqb5tKVbAAuc3vS4mvtx2E", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.0:9999", + "registeredHeight": 1145252, + "lastPaidHeight": 2126045, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsYsenDxJpe2L2DCezhAEYB43XwzUwU4RH", + "votingAddress": "XkAN8W5WFWGYsWBHmyo3AHy9r9HD6t3Ty2", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "92036164965e17bc10032da7cb016c97bb62bc243e3b9ccc8937e831d1e586796eaa49d6926b6173ec5f14fa1289be93" + } + }, + { + "type": "Regular", + "proTxHash": "cc54edc875aae7158e27f433ad8c9766678b5d1e94630fc502634822539048d4", + "collateralHash": "48ab5a7ec0c6cfa94153c49cb24b68f520bd9f681eecf9bff4e1c436a785eff3", + "collateralIndex": 1, + "collateralAddress": "XbpnzmAyLofExUt3LhJTBdXMaAD3RRydHq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.8:9999", + "registeredHeight": 1145300, + "lastPaidHeight": 2126162, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjerYVv1HPGETahCqBMnGjHkSotdwqkYrE", + "votingAddress": "XnpwpFbdUUe2kyjnsAVei2aD2AMaUxmZBf", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "0ea6752dd1e19880a503ad2f87c580e17a6624da48e9980e55fc7ce81614d401d887352ed880f9cef2a82fbbf3184ed7" + } + }, + { + "type": "Regular", + "proTxHash": "2a0ddd14c0aa7d1479f784f6f0056dc6ce5582b4bacea8cff1a1c241da395056", + "collateralHash": "af4c1a033d15d5b295760a4f1d929a53c739cfd46f689569bea152bce38a38b9", + "collateralIndex": 0, + "collateralAddress": "XjooDo9HSYuNu9aA4nr5WCXjAeCZxVE2GL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.106:9999", + "registeredHeight": 1145303, + "lastPaidHeight": 2126164, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgAWobdBDMoGQW69LKzMMjorbJiwu2wFEi", + "votingAddress": "XvEteecdBGimdXFiEKxD2fNsS8PG32vDPd", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "107ad8e650a58958aa8057e4f3bde21c7b09cd1753241ce14f0ad4474c9ab5bd70d065e9b4bba508415f3b40cdd4584c" + } + }, + { + "type": "Regular", + "proTxHash": "4e00bafbe9ae99b5b4ffc1d7791b94061cb5ffbde53434ec0e0d18085b56ebe8", + "collateralHash": "9c252027300f1a14ac66feac10e8ec9d2ca8a76f044b383985bb16dd6d44df82", + "collateralIndex": 0, + "collateralAddress": "XnxkUWJerNcYhrn5wwAvsxi3auYMX6JKQo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.1:9999", + "registeredHeight": 1145303, + "lastPaidHeight": 2126165, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiEXFgLJLYtFifsoJWTRp3rwFYjfFrs6ia", + "votingAddress": "XiJKj7MuzWHXZYTZ28XtaXmME52A4abkkD", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "8079c64ede04fb2dc6b12f85869fe4ca38d593bcf3456a1a6b82175306679e43909f110bd1602b55391dee629ac069f4" + } + }, + { + "type": "Regular", + "proTxHash": "bb3bb04b81ae33ad08517b64e61d553a1e19fa32439c5fc881eaeff9e0bfde36", + "collateralHash": "a7c18c7f5d78f7175c738d27b389d70941170acd709c63662e9d82755e05154c", + "collateralIndex": 0, + "collateralAddress": "XccJdYCXn1ggWqWKHGTM8r3DZusemg2GtL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.7:9999", + "registeredHeight": 1145303, + "lastPaidHeight": 2126163, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrTYJStZFRYr4CN54UJsVb5YvcyVJ8z7ch", + "votingAddress": "XiGo8pXKAwpRRPGGSm1Pp3cGoEEwM9KyNk", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "91842e9bb2c8fd2f75be0b4d5b1771af6adbdb016150bd50e11f67fcb411be2ec52a6c8ec2ce2bfd3f0de609733f0e5d" + } + }, + { + "type": "Regular", + "proTxHash": "f815395ec4292d9b56a0f98f636c3192d9b5eeeb82f9df9051227db7fd876ca8", + "collateralHash": "05d483e7fa12f7fe40741f0bce561f65a63c38a4033527fb16aae83f431aa0c1", + "collateralIndex": 0, + "collateralAddress": "Xcg9jkPtUjsNDpSGaeQpkKUq87bSJ12WXY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.3:9999", + "registeredHeight": 1145304, + "lastPaidHeight": 2126166, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiE2p4jtAEqP7erRYShSXReKDy9LPDH5MJ", + "votingAddress": "Xkg7tpPdoLmDuzKLmQpTJcpsFz7RHsvTVa", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "81c2930296ea5e57b926fe2aba02cf1673edc19f9a461afaabd9d9b4e5c087c64874d664c38b1581ec070e316879d21e" + } + }, + { + "type": "Regular", + "proTxHash": "36c3e571845c0e2530b36c85e285ecff5b752c0eb84c9d5debc11b0265d467a6", + "collateralHash": "1605a6b51b04cf0b4b2f5a2d80402a6e0242e2f15a5633384fa329cb061e2f29", + "collateralIndex": 0, + "collateralAddress": "XiULLmaHxF4e3L37RxUtu1iXEv5NFqqmLS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.109:9999", + "registeredHeight": 1145308, + "lastPaidHeight": 2126167, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfbYnfPVjWxzUVMEYubSSHaNxCCqxjdQ8r", + "votingAddress": "XaicUSyijLbuLG34iAtqd3PNgiaVK3QqS1", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "16efee009ce1d239049e97dcfaeb2a5bd8e6a956bc5fbb0b158b11ad60150eaaf9af8a0e366ab4567cfc1bc36878198b" + } + }, + { + "type": "Regular", + "proTxHash": "a7e58e2306e818c18fabf79855f5edba16062cb6e83d581ba84991eaea03ce87", + "collateralHash": "59e82e4cce4731c589a806f842b3b2e630cf3847ca8f9062034db3af45ae3151", + "collateralIndex": 0, + "collateralAddress": "Xfru6BhiwAaMJjnKRr11gc16P4a3qwujSR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.116:9999", + "registeredHeight": 1145309, + "lastPaidHeight": 2126170, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk4rGFTTDgUMh6rjASkKQrCGT2nyf4GkK6", + "votingAddress": "XvzRvPVSRZPUVAPC6vTNhgXFFjjEGxZpMu", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "82a3b0d4901e2ea3a4db94debff9e356580e224a999f626861d3306f271421d8dd329c87d31c80336f6986f7de4c1ba1" + } + }, + { + "type": "Regular", + "proTxHash": "0492103872b743832c835dadcfaf3a20a92e4a9116e4406ac37da76a35950bfe", + "collateralHash": "42af8c2620050792e8ac18aeb80916d424c64fd587d17b78bb6365d6d62aa441", + "collateralIndex": 0, + "collateralAddress": "XddDXqKcWZdJLRAZJQA6gmjgJZxH22s5sQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.103:9999", + "registeredHeight": 1145309, + "lastPaidHeight": 2126180, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvkHYPL5DgxH35uQDJfH5zQ7w8L4EqcYyv", + "votingAddress": "XozSk19NcwohMJ6eH2vLrS1CAaVA9kvCJw", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "95a6a48086fdef688dca66133dd52f61ba97a445e1fd9f3a21c46a88bc385e294fb4da05c164c71164c7d31b60d58e98" + } + }, + { + "type": "Regular", + "proTxHash": "0c0bcb449d7b45624f96011b54d86363792fe6ce97c44d6a0f396623c1eaa67f", + "collateralHash": "09a4dd2d33949b30dfa3583e49b8bfc4e523cf1eebdeaa6d5c745f53d5d6be10", + "collateralIndex": 0, + "collateralAddress": "XsBzJVhuYndurwe3viVYLerX5jV9anZChX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.102:9999", + "registeredHeight": 1145311, + "lastPaidHeight": 2126181, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwfpQfKVrgysGsYJPRjEYuWpMYwpEsLbhu", + "votingAddress": "XmHYhzQA3jah8jcJ1KkVccefxRyVqpiXXF", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "8ceca4ef8b52fb6cb9f356c0b234e84aac925457ea7e922bf5256b2226c3e9cb42720f0cedcfe36b10cfc4d538c5e345" + } + }, + { + "type": "Regular", + "proTxHash": "1f3f0835685420e6c655a1681b5fd95c93ddc9702b1c0390d1613ac6cc00b5ae", + "collateralHash": "bf5de969b1c49b0c787ede692636d57ae7abef3e1481445d002528dd7a1f4281", + "collateralIndex": 0, + "collateralAddress": "XiBmyJNC8N2M6EXtnhvBLgLJ4AH1JCHcpV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.114:9999", + "registeredHeight": 1145312, + "lastPaidHeight": 2126182, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxsnqJnjViGMaPwHc89SSPL9tnb6JfwmJU", + "votingAddress": "Xw6DMAMoCckGSjezp1qm3otgYAKzy6WwDa", + "payoutAddress": "XjzUXtbTQti4tuunodyEV4o6CMrxLyLKUf", + "pubKeyOperator": "8b2f6ff23b65c7754580b8f847370164bda07a51e240c336e1177ac594a22cd667e4a827dac2552f147f5af9cd3e0d14" + } + }, + { + "type": "Regular", + "proTxHash": "8bb9d201875923d23f362f8c0ba0cb29dfd746c84fa2beb4453b30c3ebc6e20a", + "collateralHash": "1230c47dea7d2c7e1803908f00e3e5e8f05f9fda2a14cbc5da6aeabd7844c4cc", + "collateralIndex": 0, + "collateralAddress": "XczNwgu8CYvA6aF546cCL2DagDpZwJMYLH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.223.241:9999", + "registeredHeight": 1146469, + "lastPaidHeight": 2128697, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1154028, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyQhFDL84VN7CKmMurQw9bKy2XeCKja43w", + "votingAddress": "XyNrTiosjmjGU4jqcpjD15BHTC1RRgusH1", + "payoutAddress": "XczNwgu8CYvA6aF546cCL2DagDpZwJMYLH", + "pubKeyOperator": "9362cc23d7b0eeb9269476fe525995f1b9a4dad8483979475ba800a6adbb1237cfee8015aaa9f63044b1591e075a04ff" + } + }, + { + "type": "Regular", + "proTxHash": "2cdfb947263949b52de27ed33fb24d9f97955fd97c4ff2e609efde403a60556f", + "collateralHash": "b319f98101a75eaf405f45a43709113f1678c6fa8c7e03669ca1bc637193d776", + "collateralIndex": 0, + "collateralAddress": "XdCSWTAQkh2a2k3xuzq3Jq6dYXUtNxEZo4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.90.215:9999", + "registeredHeight": 1147784, + "lastPaidHeight": 2127342, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986473, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtX1Lsuenr3JZta2YwTst3J1svHcbk9zF6", + "votingAddress": "XviRXfM8UHPzR4joRfv5C1RLg9mHHFD29P", + "payoutAddress": "XrjAmosceW3ZvkQMmyQwgQmjmHidvPPvaz", + "pubKeyOperator": "98f909298417df434ef2185fcd55569d904b61b12045bf45826a0895cd13d04efc7e69485ee2fb5c0196c831c518f276" + } + }, + { + "type": "Regular", + "proTxHash": "46e0f3450781ab6f94227d957335c19a4731310f6c1eecf6e14c32d55e719551", + "collateralHash": "a28ae8afb20b07faea2c63bfc348ab4c0facbdf9ada08969da97bb6933d71a36", + "collateralIndex": 0, + "collateralAddress": "XwkU8XTbZEhdEZAJ6Xru9jc9NtcyW5FLZo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.163.33:9999", + "registeredHeight": 1150497, + "lastPaidHeight": 1378512, + "consecutivePayments": 0, + "PoSePenalty": 5091, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1382421, + "revocationReason": 0, + "ownerAddress": "XvDAb1XnSjnvqQbVE3oMRshvax1dH4UnFy", + "votingAddress": "XuAKZhziNYQV4BCLB5p58KGUXLAqg27FaR", + "payoutAddress": "XwkU8XTbZEhdEZAJ6Xru9jc9NtcyW5FLZo", + "pubKeyOperator": "08661995d7e3f1fc02b3a8db83e38aee1500673b186cc57a434cbd3d9c5687703c698f451f1bee137f090e8481a3f29d" + } + }, + { + "type": "Regular", + "proTxHash": "b86c5924f2e52655bc2a053c099302de13bd2f98eb850c157eaedbc06b6cf1a1", + "collateralHash": "e8f2abf1e86a1c365e174ef8188ff53f561708cdd39bafff268345d5279e9ddc", + "collateralIndex": 0, + "collateralAddress": "Xs2paqoxJp9hAMEBke8GC2MDDsuLmTYaKY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.4.37:9999", + "registeredHeight": 1151065, + "lastPaidHeight": 1378994, + "consecutivePayments": 0, + "PoSePenalty": 5087, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1379099, + "revocationReason": 0, + "ownerAddress": "XgHiFKmYj7rrB4XkxGWd7oHA48DbKydfkL", + "votingAddress": "Xviy4vQC7X8vV4nPUjSf79cN7XSoAaU8wo", + "payoutAddress": "Xs2paqoxJp9hAMEBke8GC2MDDsuLmTYaKY", + "pubKeyOperator": "8eb745a5a1ba17da8ee8f0a5203296f5cb36a181294359f3ab318ea71942161fd7d70677841470e83d22320a21813e21" + } + }, + { + "type": "Regular", + "proTxHash": "7e2e02e600a83109de4b7458e6b8a77aff6421a89a70db82d5f2910e21072ee3", + "collateralHash": "b56d5e94b23bdf76d0ad674e611cb926fd799b34a579a4a8bfa7b128f7243e48", + "collateralIndex": 1, + "collateralAddress": "XeSxWhErpyPyC4UTFiVpridNvsVnQZZgUf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.176.234.106:9999", + "registeredHeight": 1154297, + "lastPaidHeight": 2126228, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1802167, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr1BCZGK6cxL8pj6GJQXesNaZBHx6Hiwz5", + "votingAddress": "XkQ6Wdi1LZH2rePZ7NW5ys6VscVZbh264B", + "payoutAddress": "XwrdC2qQtfFW1LZFJf91p7pd1NLGysxSjV", + "pubKeyOperator": "01ae87b6c776f2dbfcd0b418ee21a5bc36e689191b7a084d89cf3e63fb4ecbfeee3d0494b74be4d842163db75ac5b864" + } + }, + { + "type": "Regular", + "proTxHash": "137cf55684b78079037393dba39f2e0032629443fae416b2a6b2b1dbd2e656ec", + "collateralHash": "f8274bf76d79df9f2cd88ac58737c4f5d5dac1c1d1d12c4f856cb792f02bec3b", + "collateralIndex": 1, + "collateralAddress": "XyAZZDxQ3umUesRvTPrWojDzWsZy5eaQox", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.117:9999", + "registeredHeight": 1154572, + "lastPaidHeight": 2126892, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986092, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcT7coRZ25Gd68bxXJmGsn7U7kNVSck5Bb", + "votingAddress": "XkZusCf8tjzRqWvvBob14fhT1g1XXuTqq8", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "82ae4069165bda602920cfb5df733bc0905ccb4760450cce81e7eb38f160d5c996bc9bffcfbc6aa42adc21718d91acd4" + } + }, + { + "type": "Regular", + "proTxHash": "2fdc05323d018230298adbb7bfe9d9aa74c36aafe6030187d3c078062947a70a", + "collateralHash": "e08e6fff12c900f633467d9d28360a921fdb3584eecbb1cc36d44c54f1073f52", + "collateralIndex": 1, + "collateralAddress": "Xh36nBTU7QU7UNBy6cyv71BcTJKVHu7Q2L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.119:9999", + "registeredHeight": 1154573, + "lastPaidHeight": 2125793, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsvPukkstTSzo7TtfWVK7iDNDQGLuhLTwz", + "votingAddress": "XfML4BVHNvGSNA9KF6qmbyr3QmtpYZe3aR", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "859c0cc88a932df47185c330daca3ac904f8a19821a2301a747636fe5719bb6f1f7c0f9542ecc5a1b8948cce970a01a7" + } + }, + { + "type": "Regular", + "proTxHash": "d9a6f7544671fee2f823404e51beeaa1eee8b208b9bdeddb915d05e614484fc6", + "collateralHash": "9c5233b684829d34992e354225baab6e280fe9d337c0b89cf99339cb3e4cfdce", + "collateralIndex": 1, + "collateralAddress": "XkznKcVtteWDvmCCPneXbFerh5AciNtbby", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.2:9999", + "registeredHeight": 1154573, + "lastPaidHeight": 2125798, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkELSQbRGSK8Xm2RzsHkDh9G2sLXk5gF1g", + "votingAddress": "Xd55ACDfz2y5RproRkmKXFMvjXxVkxWmtS", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "05c3c84c3ba97f186b454882eefc16ebaff748caf5d3b5051ebb7302fd5448d83e3929f2ef697f6e0d7dda4d643ea8bf" + } + }, + { + "type": "Regular", + "proTxHash": "462aa6ffd298b36d06f8fe5d600fce321c78792a7af67da08797ef2687945262", + "collateralHash": "0889a179f2733d9443b538f1e5fde36a6b964874eeb9c5b9e471e3c1f7884ff1", + "collateralIndex": 1, + "collateralAddress": "XiWSb8KvyMSpEBcwsjiRSB9NtcLzh8cvAd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.104:9999", + "registeredHeight": 1154576, + "lastPaidHeight": 2125800, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XujVhzzoTHJUj4uxXvd4uswHezpiCBxwRv", + "votingAddress": "XcLanpPWabZLy4PRuqqqBhYD5RSu6xS9RG", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "07378c528ac33788df12375d105011823eda1acc73faee6cce6d4e88c6ad80ada80258d35ed3e9807d19af9e01c4953f" + } + }, + { + "type": "Regular", + "proTxHash": "9ca6b0a82b687929e97ecb074be77eb22f106f60adc55cee8485ab6a88a980b2", + "collateralHash": "8065fd3893de583d26bc4524dfd4906c225737afc4a52ea857e3a80c7195b06a", + "collateralIndex": 1, + "collateralAddress": "XqKGKy615MmsEvgCJQRKgzphAGF2DqpMRz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.0:9999", + "registeredHeight": 1154581, + "lastPaidHeight": 2125804, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtwF8SvSLQiMQLZmZzNiVJpJ7HYm1NY4FQ", + "votingAddress": "XkMD4LzFivYtJecffoVz8wNts7dvw41BAn", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "8f64edd9c2524b40ae50a9046e4d096fcee995f57a73ae5101ccb0d6cfe92ae11401341e85f51e7ced55652458d370ca" + } + }, + { + "type": "Regular", + "proTxHash": "481a668a5b44f0e6a2434b93f6d70140939056c4b98673514c5f3d705d981ffc", + "collateralHash": "7bf228913c1aca591b8cd22cbfb01ceaca59a38734cd898350e11c40a401f2b3", + "collateralIndex": 1, + "collateralAddress": "Xr5LRCX3UjSAUXy4fwajQPvGHqXVNikSnX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.5:9999", + "registeredHeight": 1154583, + "lastPaidHeight": 2125805, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XounAzF7UJvVe4sj82UGdjYJz7tX5ZgG5N", + "votingAddress": "XsqKbwneYHQfkFrFztKfg919bJm3Db7FTZ", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "8423478ef4819061df464c896549ac53cbf1194c45f5f5486f2428ef5cf34b2cc7b62adde8267ae8964771fc70f6c1ef" + } + }, + { + "type": "Regular", + "proTxHash": "6c50b2d79aecadb3925657b5b16d4ff8db8946b7a30ad3086b723cce65a278fc", + "collateralHash": "2b478b1708d2a4a77faab00e11fb80c576b5af98580215673afa25bce3e65373", + "collateralIndex": 1, + "collateralAddress": "XmvZ1H5Be8r3u5v1C6rJhKef7xbjjMX3o8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.4:9999", + "registeredHeight": 1154585, + "lastPaidHeight": 2125810, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrYNF37aHRVggEY1Dc3ToMo2FS6KR5C6Cq", + "votingAddress": "XpiRTGgFoinHjaxM3JSEqykV7FZzovFwAh", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "0ac487b713afc2d01170cdb3988c905c10df8caae0a59f7bdae55172c12c86273b389a0f527038d729c9b3501c212029" + } + }, + { + "type": "Regular", + "proTxHash": "1f545ceeb083364a18068659d542fc0ae694b5a6d9643a2df179fc902c344e96", + "collateralHash": "02da10cc345098c4f8cb8ea03e76784e88fe1338db701feaf5ee73983aaaea94", + "collateralIndex": 1, + "collateralAddress": "XgSVQH9rhmwjvdXkeLPyxTYZteaGoL1AXV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.6:9999", + "registeredHeight": 1154587, + "lastPaidHeight": 2125816, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmPq884yAEmfcr7pL5UBXuYfXMPGPmuZiF", + "votingAddress": "Xnr71b7D1wXMM6Bwr8b3AY1tp9MYpEazi5", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "99017bf12011c9eca2f0c061926fd93cb49ef196fc9d41046fc86b9cd0fa2fbe509b7bb13c5457867f7d641f983dc44f" + } + }, + { + "type": "Regular", + "proTxHash": "e77ad1f6f2021636f399c173ead5071fa9f5d1d8d9857f06e90279c4f7a27201", + "collateralHash": "7a87fc10d9b58890495754488742d03f59bc161b0cefe7c10e6494de61081b33", + "collateralIndex": 1, + "collateralAddress": "XvnET6YdwB1zcoYyaqWxf38mj6YrGPYWCK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.100:9999", + "registeredHeight": 1154587, + "lastPaidHeight": 2125811, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XviEoHZxpeNXezC3HhoaXzmzH2tDAAyvp6", + "votingAddress": "XktjwicbKkcyfGGz2ocwfKQBdLmaGJtUEW", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "031cd04275a457d06c77f466d48d19a96c385aec7f1926e6ef76675d84ad2edd377a94bce3bccb1a0d8ca1529dbb0070" + } + }, + { + "type": "Regular", + "proTxHash": "a03171d0ef160d54625f4674912ea1908e55b9ffaef337d2d586707dc47cddb5", + "collateralHash": "233caddf5cab4c343324ff76a4a85c4c009029d3f4ecd063f49a165e76141ff4", + "collateralIndex": 1, + "collateralAddress": "XmwXZAWp4CKu1rTprBTgr7KLqvvh4Td1B9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.9:9999", + "registeredHeight": 1154588, + "lastPaidHeight": 2125818, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xky2d3Uo1cfnNA7X6m2kGCjrAzUmh1esrK", + "votingAddress": "XsEFUGLksKeP3jpnSbMoawqoZaR2gsS1fg", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "0a62a57ff1ff592dc3dbb0c1155738c7cd2b6595b803c12a8be0b8f9f0f1e3d4d8ea286d9dacd54dc1ce0102530b1085" + } + }, + { + "type": "Regular", + "proTxHash": "d7594236506fb97c87b598119a3c2dfac5186ee380e90b113a9780b63889cbbc", + "collateralHash": "0a9b9ae390336187a5bedbaa3106c848d95494ee90418e7176781211a3eb460d", + "collateralIndex": 1, + "collateralAddress": "Xv5xrUcARHe9Jg9auY2PQ8r2x4gyq3f4Mz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.22:9999", + "registeredHeight": 1154593, + "lastPaidHeight": 2125820, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrMnyub2TjAhAfSYLLKf9ndP64FnZCQumS", + "votingAddress": "XgTzSUVBKw3oytMjheLRMWMiN3Zm9QziYZ", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "8d1151625efd05ff64d0e602bba72902dcf6c154ff7f0a61b7a2c769558181f83bb810f0a6c99fec4aa640aa27244b53" + } + }, + { + "type": "Regular", + "proTxHash": "4bb68e455a18495b2c52b2d26b169a7e420ee909b674002e67383c682577ab63", + "collateralHash": "d0b58be83cfae69e0d17727fee2f99c423b77c7c165bdc2b37d95c38ed7423eb", + "collateralIndex": 0, + "collateralAddress": "XvFjpGBe797zFeGoqdw54g2bZMpFUWkbeN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.245:9999", + "registeredHeight": 1154593, + "lastPaidHeight": 2125819, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgssreS75eiLa9RJepwWct1gifjLgqosPy", + "votingAddress": "XdfiZZM4hHD2L3MtyBsQ4FV2pZJ5fkyg93", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "97a412fd4cc33fb3eaeca6fcafd8951376375a0b6a2ae0652662d5f620bb68cbcfa0612419cad34d4e79ec8e2477aed2" + } + }, + { + "type": "Regular", + "proTxHash": "f2e2a6b06446f5ced786174ce002f6b7da753d03ae1f7d92f708285b7d1bfeff", + "collateralHash": "a6d506e559ff4cb539849f48fbe8f26bac9d3ce9905e79f43dd898da70850392", + "collateralIndex": 1, + "collateralAddress": "XfcBFtUMYiJSe4RpDevbH35d8aeaBHetXQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.234:9999", + "registeredHeight": 1154599, + "lastPaidHeight": 2127482, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1619736, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwM1yf7c2Ee4uXksgnLNm8yqJavBoxnt37", + "votingAddress": "XhzzrXrhFr1XNhHczf7G3P1yJ4FoWUkBQr", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "90fa1a223be7089a366897ba0edf1af4ead03a1f43bf2312b0ba420d148cfe63aa222aa64565ba2d660f88795e36d0d7" + } + }, + { + "type": "Regular", + "proTxHash": "a28c652709db60303f54c2836e7a2edb33816d2745928abf88f27909f3744d67", + "collateralHash": "fb19d7d2ca9ed99e3a711bd71a569c507d47cf143fb234362bd3e85fc5887e37", + "collateralIndex": 1, + "collateralAddress": "XgmDTCqegczmx7sc6jY6Fbfy6DUnuhjvAE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.112:9999", + "registeredHeight": 1154601, + "lastPaidHeight": 2125826, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvKk6u6KTb5zfs7SiyL5CZxPvsuyTB4fnK", + "votingAddress": "XuBEvkytSs5JSfJEpT75UnERQH9gcm32Ma", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "8d371be988812e3d35769b5fa47d9a4beb69a0ae20531fdb5998eaabfc31bdf2c0553c7906c4674744b3be8814afbde7" + } + }, + { + "type": "Regular", + "proTxHash": "37f280838246bcf2629b3ae96efb9eafe51acc2a3c1e0c8e3280cafe8be09960", + "collateralHash": "e69ffc4efc80ca1cbb54038fbc2160eedb3dc92dc2bc88845b6fd598758ca8f4", + "collateralIndex": 1, + "collateralAddress": "XvSMJuySjUioS1uMVRwkgogxo9rmkLSnRa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.9.237.32:9999", + "registeredHeight": 1154601, + "lastPaidHeight": 2128398, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2010860, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbB2RoFv7FKdSQ483ytoYq1KAzUPS2LMZC", + "votingAddress": "Xcovz5ErFazk3JxXSACBk96PRHnEuxvQKA", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "0c444238f832100e48fb1fe51ebe73a6ba04f9c1d6d577d47465aca39f8a3e4a584547c4ad676cda8b4ef06105225550" + } + }, + { + "type": "Regular", + "proTxHash": "97eeaa0cf086a2cfbd3bb0cf04d837a450e051cdde8565f0262853f0cd4d40b7", + "collateralHash": "d8d0b9b558c658260a19b8749c09a01e3f55463169672f9a80efb10ed9031219", + "collateralIndex": 1, + "collateralAddress": "XrocsSwWFiRB4mjtBigke6e5jYSQniSvyW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.241:9999", + "registeredHeight": 1154601, + "lastPaidHeight": 2125827, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbH2skADAMDZvpvGkNDV2G63F26xoQ8K2a", + "votingAddress": "XyKY4qe97wknbXZz6k1mgSxenqwWRhD2nS", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "163cc87ef2a1c76cefddf4fe93eb5fcdd92153a9f799b038956320675d4cbf78086a79a75e04fca3d8ed5f39563ff556" + } + }, + { + "type": "Regular", + "proTxHash": "f412ce212fc9c2351a5e3568e11cb41c8c4315b40cfcfcdedd44171558adad0d", + "collateralHash": "940ad1dabdb7015981470251ad7ae293c70da7be5f494f98574118d4f8dec3dd", + "collateralIndex": 1, + "collateralAddress": "XkcDfRpf9TtJ6HeFT2j71gdJ1CVrsycPwa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.40:9999", + "registeredHeight": 1154601, + "lastPaidHeight": 2125821, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjMffc7qU5Y1QFsidBo2wa8YxPNedNert9", + "votingAddress": "XftsPK13Em3nPmxNYg1wrkZ7PpocxihE1K", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "80c21ba0f529945ea70b80a450777bd3ca3c71221e7cdafbf6336b3b4488f29c04f53cd5782ac83788e8732e948f06c4" + } + }, + { + "type": "Regular", + "proTxHash": "a06379b62ca055d9c36a604163e71719dc589e8ebe58fe9b38768b8c09de6679", + "collateralHash": "277db425ed8bae3c934778ea0e437059ac7d3d64f61df1da03b1bbb203998ec2", + "collateralIndex": 1, + "collateralAddress": "XeDfkkYQb9CcqiHQhPVBSVZoCoTHtMMG9k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.237:9999", + "registeredHeight": 1154603, + "lastPaidHeight": 2125828, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwLQV6mPni7jHkLaqT8HLq3eihWD16k1gd", + "votingAddress": "XioigSiHSYhEKg8FwRfNEyfTXBEdbi3j4K", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "08f5a78a23063d060534bb4e90929362b984cf95f496068d8fa75fdc59c1f8d272a668b976bc553bac7c63d8c59ee40c" + } + }, + { + "type": "Regular", + "proTxHash": "e126864eda4a45bfe9bc77101a9562d7e0460888c6cf79d720f0b47405aa355d", + "collateralHash": "c304bf9bdd25e616c7a689c89f832d7e4a7f1d0a09a7fad11e9814c89d0b320c", + "collateralIndex": 1, + "collateralAddress": "Xfvr31xjT6fAL3ys4PtwKYpGuL2L92WJUU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.116:9999", + "registeredHeight": 1154605, + "lastPaidHeight": 2125829, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi4YBMUDJLS1j3m8oUsL3edTxP9x3tYMTc", + "votingAddress": "XreUJXuQa5cdaVk3qDJiXdGriz3136UcL9", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "04e6c005eaaf61afad64e28ec3c9096ae5fc3ad23531642dc2fc3dc74ead78ba785cf6a7c22c965a127b9ab4a13b317d" + } + }, + { + "type": "Regular", + "proTxHash": "f2f0400ecc79c2e2944c5af879c9de434e637edd79fc8b85820d86ebc6c70f47", + "collateralHash": "6a4352d985ce0afe62fa629dac04668384f7403e4ff880c56ec4df5e86fe32e8", + "collateralIndex": 1, + "collateralAddress": "XpF81GjYZV4ps9H4SdhDS83HUAta6jH5Qx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.229:9999", + "registeredHeight": 1154608, + "lastPaidHeight": 2125830, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcvJKgCntDofSiCP8YaUP6EHDbD27ziGeY", + "votingAddress": "XkRTjovw33v1zWc9hJzczPphaBV8KCP9xb", + "payoutAddress": "XvZy1npHNGeYHCuDnB6upKqdf6XU9q94qu", + "pubKeyOperator": "107e60cc3d88348b88beea950d440a3227b4db6434ec818e7b829ad9c1f3431e1d3056408eb535a64e1122440428c641" + } + }, + { + "type": "Regular", + "proTxHash": "b9c3c46951873efb78aeda282f0764bcd776c7b3673100325a0ce19dd85168ad", + "collateralHash": "05f09c896ac657c76ee6840f515a6ff86a9d0d4a8c35a7ecdbe7e258970ab376", + "collateralIndex": 1, + "collateralAddress": "XnNy68bdTXZ1JUCrLnpUvb2fhN3ksNCfQt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "47.98.123.106:9999", + "registeredHeight": 1156362, + "lastPaidHeight": 1874803, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1591931, + "PoSeBanHeight": 1876620, + "revocationReason": 0, + "ownerAddress": "XsuB365oQTDc2BD15obx5inLjUdrL52yKS", + "votingAddress": "Xt3MK7ykmPrToXQp3GEUyZb1H1Sc99P5ag", + "payoutAddress": "Xnv5LjMz6YsiwcybnRKYDJunPumNcBmL4g", + "pubKeyOperator": "0b40057db27aed533187cfc8df35606898b52abca254080c5fed191e6e604d2fbd0a2c61200789fb84678803efd175ea" + } + }, + { + "type": "Regular", + "proTxHash": "4387e1f4cc8e8dc6b020db9f3097f543037b7d10b5fee8f04e7038011057727a", + "collateralHash": "4b9c2f2a148d1a64f81379da32663f018ea766e2abba4efa2888fda906a9df19", + "collateralIndex": 1, + "collateralAddress": "Xo6GMv5HihdG6ygCUrpdXWsAzDvd2qzoGy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.7.140:9999", + "registeredHeight": 1161911, + "lastPaidHeight": 2127308, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhsxLJwpUXF5xJvimg4StnMzrJdY68Mf8J", + "votingAddress": "XbBXdvPh8sqeQjUi26g4Utwii45UCur4Eb", + "payoutAddress": "Xo6GMv5HihdG6ygCUrpdXWsAzDvd2qzoGy", + "pubKeyOperator": "00c71f5af3fe54de474405ea1de62a112c6f348f68b0a88d4f801e91ceeae235a50c340cd9bcf221974827fcd19ea113" + } + }, + { + "type": "Regular", + "proTxHash": "583bc742020412bdde5fd9fa937b6eff786b0b4c401e2c2aea9890a46408678f", + "collateralHash": "35b7ac8e2e2ab1328797d5312f116983b90d5b7805e02ddea8e8480d172b2f2b", + "collateralIndex": 1, + "collateralAddress": "XdQ4KAiv1d477yxCEqi6fi2YAEd7qnJB6X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.106.111:9999", + "registeredHeight": 1164445, + "lastPaidHeight": 2125834, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeHxGQCkT1GvYyu8TvLWzArYfURC3XBStt", + "votingAddress": "XrYKLhV3CqN7zMwYJgAqq2r4uwwa3t3swd", + "payoutAddress": "XdLRhW2jfhLUtNYCFUrNEy3bVexCfp6Xs7", + "pubKeyOperator": "9529bea50cdf659a5706abf0d8113f328fb8d7c4f9126c0026bffe6a159db99e5d304c22e6ccc0f7bf689aa1b959c36d" + } + }, + { + "type": "Regular", + "proTxHash": "98eb4997040a48721024832dc4df74817e8af6fb781ad408f472c243c22efa61", + "collateralHash": "05f39371c54612e347217c5ee487ac754dd52373efd2ec18538aaedc32409ddf", + "collateralIndex": 1, + "collateralAddress": "Xn5QdEjLCpC5MKu9BwVX3n3KBdT9o64TGQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.108.207.233:9999", + "registeredHeight": 1164458, + "lastPaidHeight": 2126622, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1881791, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrXaZ12CfdS4E69f3dfK6uVdW7RSskbTqC", + "votingAddress": "XrXaZ12CfdS4E69f3dfK6uVdW7RSskbTqC", + "payoutAddress": "XyMNae2pQL7y9E1PCBoMSFpqHtrd4RWqe2", + "pubKeyOperator": "8fc335d21f4706f4a42f247a5107fe4c7c8b41a0b46a0dbf3f23838f4dd0d4946894ca28187c96cac2496c338225b0d1" + } + }, + { + "type": "Regular", + "proTxHash": "a165577964f645596923b68fd6bcd4960fd077126a08472456f2bcaa5d633db8", + "collateralHash": "7363342c4d095a5b4e9dfbffea2975bee9522a85a2fcc919fa2ced8b8b2d5c7f", + "collateralIndex": 1, + "collateralAddress": "XcNwsQWVQvxbAZiiv6GrpBd4gQRUsRVGzH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1165720, + "lastPaidHeight": 1723850, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "Xvc66gQjs8c8UiqGdQKojBaXdcczxcjDmy", + "votingAddress": "XhojFzEBVkC8QQaocVXh61sV1MeWUtNBJR", + "payoutAddress": "XmPzazRLT5qmfBUYvwmYPGWosX47h1x6YY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "19fdafc6cd50b1a396f079b3141f42f9aba962ce100cce5d4b024a4157727dea", + "collateralHash": "4dee31250ca4f9ee56fcd59a906ece6c61836b8aad8fa4a5fa1f1547265e1b2b", + "collateralIndex": 1, + "collateralAddress": "Xnssm9654tb6R3RGUKQhoGaJGE3wYMtBZi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.170.171.115:9999", + "registeredHeight": 1165961, + "lastPaidHeight": 2126133, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120071, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbdVfDAeVQxgMiLAn2Qx1Xd8M2KjbtStL5", + "votingAddress": "XbdVfDAeVQxgMiLAn2Qx1Xd8M2KjbtStL5", + "payoutAddress": "Xnssm9654tb6R3RGUKQhoGaJGE3wYMtBZi", + "pubKeyOperator": "949dbaca92b7afd18b7a4e778f063f5debf85cc8b7d91a674765b0f19802fd571c87b4b224db59e368a730b8240815c4" + } + }, + { + "type": "Regular", + "proTxHash": "b2e6f5ed2a7820c1ec91b2fb87593d2ab1eddad9ddad6c21acdfab2a944b41d4", + "collateralHash": "c4bd86af3aa177224d8de63d8a3fcc63c09da087b867bb39ef70071d554d8669", + "collateralIndex": 1, + "collateralAddress": "XkvvRWhVdHcP8SZ6fLybuGMCudjz9hmzKw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.70.44:9999", + "registeredHeight": 1167824, + "lastPaidHeight": 2128563, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007649, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgNAn8bLvFozX4EGohqGTa1wV6gS5Q1AqX", + "votingAddress": "XgNAn8bLvFozX4EGohqGTa1wV6gS5Q1AqX", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "8d7c56fefa1bcad04484bbfd8d8884a0536e34f035d186494fd5a84f481992d796d44f9c2e148b71e8150fa48f3969c9" + } + }, + { + "type": "Regular", + "proTxHash": "e88b4ec33e198b101bdc899bc47fd9cdaa59e559e158dd9d7025a36cce1a05ce", + "collateralHash": "52f739f056be2c7350f22298274158c2f11019db976dfabaab1aab446b8debdc", + "collateralIndex": 0, + "collateralAddress": "XawJT8ExfpfHKfVovF12fe8H352Ee8w313", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1168156, + "lastPaidHeight": 1726173, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "Xgr4G16jzP8LeZuAzYY3xXuWtMb7QiYSGR", + "votingAddress": "XwzGevhz943cviSW5WeEvwMwYLPksd1RFD", + "payoutAddress": "XeqjyJBoESkAFJaqAYcDG2B4DGdKK8n7vk", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c02e12618d02173df3cc31bc3d711fab304f624d526357c03343df392c099de4", + "collateralHash": "cbb74a618c09cc16764d1623fac55ba576fefdabff189a4818e028ce67568268", + "collateralIndex": 0, + "collateralAddress": "Xn94JKKq3yV3D8iVMXt3HXhsy4Tk8Z9w9L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.237.36:9999", + "registeredHeight": 1168750, + "lastPaidHeight": 2128722, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyGSi5hufSYX8mZnrmarmZ2wMYbfmNK4Xd", + "votingAddress": "XqoeYpGMxF2xuD7qg9eq1UuCkM37ekAwek", + "payoutAddress": "XnAZbw5cKLMhKimK6bvcB3Kk3cN5hxvMaE", + "pubKeyOperator": "036e2f29590814790a6f45558e75a5de35ac4d48562b86eefe27ffc76f6609667070dfa9a7b5a32a3b115e913ac588b9" + } + }, + { + "type": "Regular", + "proTxHash": "ea920136fbbddcc6aa5281c5cb25d9b34d61dd492979a0c21fb308bea7ecc8d7", + "collateralHash": "c272146c05ec99eecac38e782d8bee84d579378719242ee38cbf60d982d63eaa", + "collateralIndex": 1, + "collateralAddress": "Xsx8AFS4AFjanH6n3jDR7CimCrmnxnXk6k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.7:9999", + "registeredHeight": 1171091, + "lastPaidHeight": 2126920, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmp9PsjRAUFskLys8QDWWtSDcAh2akknuW", + "votingAddress": "Xmp9PsjRAUFskLys8QDWWtSDcAh2akknuW", + "payoutAddress": "Xsx8AFS4AFjanH6n3jDR7CimCrmnxnXk6k", + "pubKeyOperator": "097d130b316f998ea1c34157145162b729521e62c04855ad044da9242f49e4f5b7a37bdf522aa06eecfac7874698ab70" + } + }, + { + "type": "Regular", + "proTxHash": "bdb2f3831f23756f4669c99744fc27eb41db07ae71c873c34344b299ce99f680", + "collateralHash": "edb44c44e5188ab48285255e8dae946a05e5dfa6bd9f0a0a00eb11e7dd021a56", + "collateralIndex": 0, + "collateralAddress": "Xt4NYk5LTA4FSS3NmJyKNTBW6M95FvJ8Yv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1174842, + "lastPaidHeight": 1686182, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1688820, + "revocationReason": 0, + "ownerAddress": "XtzxQmizp8Fqw646eoG1rENp4LsQw2Z2Lx", + "votingAddress": "XgDxL1TGioi9J58JnEefZySGG966Rcy3qK", + "payoutAddress": "XoKQQCs5GEZPC8mbUWEJzSpE6t24Cr8SnL", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "60e4f2a6561d156a05d16066b529255ce88008276bedc1b8f824fe2591c25dc2", + "collateralHash": "62b74c5f433fe75f430db4b6af6f8713182ba5025f9a28c20f06464411f06533", + "collateralIndex": 0, + "collateralAddress": "XvgEQQuEgWM27LwSHPYzG9W2AUJSNTmcwK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1174842, + "lastPaidHeight": 1686188, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1688820, + "revocationReason": 0, + "ownerAddress": "XxUzefMUCJ9PPukoPamSshKrPVyawJ7T8J", + "votingAddress": "XxhxTWecDiymsrYq9xnWeqZKmzG1fpmFnV", + "payoutAddress": "XpvFm6z5M6pCcDeGS2S2HiKvpSStyFNJXJ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "bee41ac62e3f0d242914bb447aa64da5c8961b2c0d1b92463920c3fad5a50e51", + "collateralHash": "6bd8431e50efe3936ac7159d08b2805b19bb480308b761684a3c9e3e9fe44b25", + "collateralIndex": 1, + "collateralAddress": "XwoLnagoi5B1SYCEsaL5VAGMkzhfETejba", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.206:9999", + "registeredHeight": 1176169, + "lastPaidHeight": 2127059, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhZXHG66N6Z6aPftaDiko9hWjyaBNkNqgS", + "votingAddress": "XiXwBwgaJyXfxfyYf6BZ9RV6qYeYucWCFn", + "payoutAddress": "Xf1gx3Pw67YgHEuZ6htrLTrRp9DwCcm855", + "pubKeyOperator": "887f0f980a9619cbc1c3c180c93a1d2c548c144f3145060cd2b820ab0441818bd435188b068b876ebe1434274eb2ab4f" + } + }, + { + "type": "Regular", + "proTxHash": "a4cb133878fae0cac9d361f54c99f6586e4f401b81b13aba5473d5d34f9e5752", + "collateralHash": "def0f7301b5371a590b1dd6fd616d21de273f2b76524d61e76be0e647bf47365", + "collateralIndex": 1, + "collateralAddress": "XsAgk92HRmpfvjQkD3ev4M3Zho3bUUT23w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.117:9999", + "registeredHeight": 1176176, + "lastPaidHeight": 2127061, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnbnkM4d2HMJCGsEktvkJaxdnXHHJ7ptCJ", + "votingAddress": "XdERi3dgV4S241L4eJnBNHtihgcYJdnpTj", + "payoutAddress": "XqwKhAQ4XarC4w9qTdferPfF5mvy2QUGuJ", + "pubKeyOperator": "00b813a012973396cb8bc298ff0ac9a135f0aeaa9d9527ae5ca1cba54c4ccae278dc2e704252fe18eb19014c51030850" + } + }, + { + "type": "Regular", + "proTxHash": "e601cf7ef6a1f0ac0c8013b320d7fe12f7250107c2267fc15d5af86f58f424b9", + "collateralHash": "c6bb48cffb0dbf88168a95a4a04596c9148920707b016318a07beafa5eec4b5b", + "collateralIndex": 1, + "collateralAddress": "XhognRaJXu4hycxUV3WAj9qwmHUPXvqPFi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.248:9999", + "registeredHeight": 1176448, + "lastPaidHeight": 2127132, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkX6Wd1ajHsCAz6jASmpRxXhGa6ADTcUbY", + "votingAddress": "Xg1XWHaShyzv9YBEVZj3qp4nUgBYSEPTUk", + "payoutAddress": "Xw6hJUa3J8T6iVfSGpCRmDUzUnJUiVBSip", + "pubKeyOperator": "8e4a4d29010b289dec82e4fa0be6da08c11c11001cb67423387f98b93376c2d7bb5532177bfca35cb446d9efc55a1e81" + } + }, + { + "type": "Regular", + "proTxHash": "81edd69b2bb59ef15e36a6b29e79cb34d1e5155109972d68bafd0b6391793320", + "collateralHash": "385458036101d4597a2607000a6746e6a6af205776401adfe6858810d054e0d7", + "collateralIndex": 1, + "collateralAddress": "XoBdThBpHgyvq4FTYnsP84E9qfAWMYiKzb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.65.95:9999", + "registeredHeight": 1176483, + "lastPaidHeight": 2127208, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm4DXW3tXAqf7eme17vQCfGb73kNKevxJd", + "votingAddress": "Xm4DXW3tXAqf7eme17vQCfGb73kNKevxJd", + "payoutAddress": "XbJshNyk1Fs2seMDiRwFtiTpFJZgtLWFte", + "pubKeyOperator": "8079a57f874ade8ea0f255627eda01847660a312b39e411b02c5130ce4ff3bb1326e15484373fd5b19ffa10fbdd6c773" + } + }, + { + "type": "Regular", + "proTxHash": "0ead7e2fb39b1044da222a53940416de828d9c0feaec4906769a3a7617bd68f9", + "collateralHash": "6b18fbeb87ff17a5ccc696eea42d1e530958236e974d81a212b42661f159db2c", + "collateralIndex": 1, + "collateralAddress": "Xn4LH9mwDcPdFMtWm1nsf11iFKKBCRCYaE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.110.167:9999", + "registeredHeight": 1176489, + "lastPaidHeight": 2127215, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn9gqs16gesL7cZNF8NmVFaZEdtczXedLJ", + "votingAddress": "Xn9gqs16gesL7cZNF8NmVFaZEdtczXedLJ", + "payoutAddress": "XpL19hC7VaC4XBi1aBrgvP7wdatDzYoXgP", + "pubKeyOperator": "981747f805b2031d6ca96a9f56f61f7c368a5b207367db0f2c4e809db45b05172386e7bd1264dc25f2e11affc8838e07" + } + }, + { + "type": "Regular", + "proTxHash": "f45a565c6239259548b4e33fda555a2d614daff9678d57adf699b9881c2f8470", + "collateralHash": "8cd52dcc30ef3ad2a4f2c0baacc90af5decbcb0feffcf9a180e924d320d878f7", + "collateralIndex": 1, + "collateralAddress": "XnFqJCAX5XRKQTN77nnexqQjoRcP4mrv8a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.81.164.103:9999", + "registeredHeight": 1176490, + "lastPaidHeight": 2127216, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrUJbKyziLvTCjQsWXE589AVko5qtunihL", + "votingAddress": "XrUJbKyziLvTCjQsWXE589AVko5qtunihL", + "payoutAddress": "Xr2N27jffbU7KJiyJp8hNPUhfjehVZR6nJ", + "pubKeyOperator": "0da914b67d250b8f86b961ef105e60ea2e7348653db783c2ab0d8505c343c63f7d3149b343c968b836729362e71593cf" + } + }, + { + "type": "Regular", + "proTxHash": "81ea8f0b0374266ca99921981bd043ebbfdc1928d4d00e25077009d6455e1788", + "collateralHash": "a395849c7f5ea8e27fbda4968d4ff61d119a7e9703e65e727fdb443fcea07e85", + "collateralIndex": 1, + "collateralAddress": "Xpn7PS5PTcgTojugX45M35vzTiykksRnoS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.104.58:9999", + "registeredHeight": 1176492, + "lastPaidHeight": 2127219, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuV83u4B9jMf1y2pWru9jPjVTZ4CAMiPfd", + "votingAddress": "XuV83u4B9jMf1y2pWru9jPjVTZ4CAMiPfd", + "payoutAddress": "XpoTGy5oCpoywAi1EWf7fXSsp17Cf256av", + "pubKeyOperator": "135538431b4d6a5af03f97eb4a45f9a95b424a43f2b0d52d60eee1e05a3223901bc190bbd79d4b6f9fe8911b2ce4a479" + } + }, + { + "type": "Regular", + "proTxHash": "9619c5568ad36a9280ad19897db02b19b53685931daaa6a0ec9eeecf7a306acb", + "collateralHash": "4f1594f36be534e0063fb8d26adbaf4bad3c7992d5217431de91bc6c406fd40b", + "collateralIndex": 1, + "collateralAddress": "Xz1hydxu1JsPJGYyDvhKtkc46VkRn6JtHd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.81.146:9999", + "registeredHeight": 1176494, + "lastPaidHeight": 2127231, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh7jTw27E6NCauJ3Zekdk7uzbSGQtJwEAC", + "votingAddress": "Xh7jTw27E6NCauJ3Zekdk7uzbSGQtJwEAC", + "payoutAddress": "Xc62c5V7doANyNnhfx4Sjr367B3JMDAXmj", + "pubKeyOperator": "0950406157c3cb41093880b09623ac71a5a7332c32d7685e790d713bce0fd305ce5e179c85cbdd03efd0a6a027c7cbd8" + } + }, + { + "type": "Regular", + "proTxHash": "12084286be2ce05bf4df0c77094b7757214d6eedd7c9473dc99ad00607c61cc6", + "collateralHash": "d8c526dab9a89a4a51d1d2e81f7a4450016423864afb5676e28e3fef1312c566", + "collateralIndex": 1, + "collateralAddress": "XepyoT4WANWeRxaW4X8HEBD93iTvsJRnJU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.5.54.48:9999", + "registeredHeight": 1176508, + "lastPaidHeight": 2128322, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976888, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf5r2xvA5s1PLBnuRkxG9LER1Qgcy3zQcy", + "votingAddress": "Xj1ZLLGFyNTqodMvSCki1RaTVgPLjX5Aup", + "payoutAddress": "Xdqm2z1p5tFsQb8g57inmqtWGaFp5jTiQo", + "pubKeyOperator": "1683b17d82e4889eff360b5dba28321e0f90c7b6eca5f752cd8be55e5c8bb0fb9ae2568ce3b902e42e81843544dc8018" + } + }, + { + "type": "Regular", + "proTxHash": "42913014745aab1d6d6224817ce85f4714c36aed1fcbed09f67e1889c487ae24", + "collateralHash": "99eaa25b226cee092907ba09ce6ab450b461e7095214c777b2c463a828c13ed4", + "collateralIndex": 1, + "collateralAddress": "Xcvn9oEJA9mfCnpoPTBbywmjerD9id1Ku2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.41:9999", + "registeredHeight": 1176740, + "lastPaidHeight": 2127381, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdMLijRUbe45tHVpQTAE4mUW6UamZhhGM5", + "votingAddress": "Xbp4qPYyXGo4QKnufAg8w6GjQpGmbTMkDV", + "payoutAddress": "XeHKb3Xpte64yTVQtYQdSVCUpYN7NJSjJU", + "pubKeyOperator": "85b387f463a57ed1058fab53767ee2fdc48b72a09b5626ca62eeb00394b3e9a7401b7d3ea4d6190b67d923fda58c0a46" + } + }, + { + "type": "Regular", + "proTxHash": "66a12a5df6430dbe2691509f445eb4ade77aad1285b97c6bc45e43b380257a6e", + "collateralHash": "8277d7ac39a5bfcd2f6bd8f9ceb1edd53a54fe4dd64739273ff462ad6af27d5b", + "collateralIndex": 1, + "collateralAddress": "XxNJmLYnQKSJXQcyy1yKayxaG6SNtFrC3c", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.109:9999", + "registeredHeight": 1176741, + "lastPaidHeight": 2127390, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfTWLy5Ry27Yzf58iJqR1UaaFvp4D6FeYh", + "votingAddress": "Xsejb4cixFZkeyJ6Af3hUCHDdWzqGGxdbf", + "payoutAddress": "XnLY21LJKM94DeVuy76wbxX4H76gBN8vr9", + "pubKeyOperator": "0198e4bf3f807b2a731b8d74e977ac4269de63b5b6deba8cf399aef87a44365685db7eca12906e1ee07eee7fbabef64a" + } + }, + { + "type": "Regular", + "proTxHash": "d4e1585e923128345519bc1c1b38983aafb6997fd4c1d7e37a50819b9898d37f", + "collateralHash": "8f747042b0a9ca903e0a5aa336e9e26a92e78bd410d4292d6888da8d068aa51a", + "collateralIndex": 1, + "collateralAddress": "XhEU9pvSCQzQYeVcs2GLQfnxkBh6GBrUGG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.244:9999", + "registeredHeight": 1176741, + "lastPaidHeight": 2127391, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjiyY2DhiCDfZFNDthyEkpxYX42xc4xHas", + "votingAddress": "XvUc4upfAX2ArNjPE2ak4WSiiykjCJkoRx", + "payoutAddress": "XdrD9CqGgSDstebGjLVA7SowLMWS1cjKJw", + "pubKeyOperator": "8d2acc170798aed2360777c9f48f48195ee3f5c8d071c44a195fbe2e44be40d35f4435f23ef347a842e194b85ec00534" + } + }, + { + "type": "Regular", + "proTxHash": "34ebef23bd828837b1db592213ed3cb3b7ad52469a5e6e07cfc6bdcf75c39f0b", + "collateralHash": "919c299af5e4c0f841546de8894750b4511aff44140aa3ee938b4d71a06bb33c", + "collateralIndex": 1, + "collateralAddress": "XkKXqBieESg69EotyuD8igEYXGgLboNwmP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.243:9999", + "registeredHeight": 1176741, + "lastPaidHeight": 2127389, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmgSdRyrDGJwdi81jYQEoRtbxKhDf24Fmz", + "votingAddress": "XgNKLVXNiodTPevNYMKQvKJJ178MTEnYtK", + "payoutAddress": "Xo9pbHgcwoYYcxCTaqAauqZwXsE3XgSpid", + "pubKeyOperator": "0fa4c0334aeeda3cf366e0305f6c8c44ce3ccc1a88182b6ad712f8659efee6011da77369b5c4f8e8cb82624ca572d1db" + } + }, + { + "type": "Regular", + "proTxHash": "10ea0b9cc1294329d0220cadafd062065686668fc922a697401d7b1718add423", + "collateralHash": "d56cdeb560f6c1c7731408791bdf92c6ea6c0e5ccf3fb0366ccdec28bdeacdd4", + "collateralIndex": 0, + "collateralAddress": "XssPd24uPYG3yfaU1TtYSv25hn7iqMZyK4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.34:9999", + "registeredHeight": 1177002, + "lastPaidHeight": 2127537, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdTsErhio8QXKQCLEvbr2cWgy91ncPzJak", + "votingAddress": "XkB2786UYHp9AaiMeuZ9MfmdpSpFDCAbHN", + "payoutAddress": "Xctxug6DnjsiUQRLRj6dfVhVPJNDKHSTkT", + "pubKeyOperator": "16a15d6a9fe473976195c83a0a9ce69c00529852b484da2f84d38fb8b5d570b685b3a5c55f49583c4caa10d1366b7ae5" + } + }, + { + "type": "Regular", + "proTxHash": "75516eb892c5bbf9a294ee559011003422a9b14fb79adf211e76c5f1ac0aa0e2", + "collateralHash": "1af58b39f2439b68a6477b5fb1c3a8caf705377de4c325e97c5566f92e73030a", + "collateralIndex": 1, + "collateralAddress": "XcqTiuUrGZxWf3WkWZhLLiHRpip9WCmK6x", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.20:9999", + "registeredHeight": 1177440, + "lastPaidHeight": 2127902, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyWHzeDfabLnF3rv1QYgkccek5F4sAT5Aq", + "votingAddress": "XuVHn16ZXxTYjn35gBVC44esVWuHU6VHu5", + "payoutAddress": "XskKP5QZG8FADzn7nnLwwMieFSXqQpSt7P", + "pubKeyOperator": "8e7e86676d947eec52fbc53fa7e02b589b77b2c46e5f9b8f7de0c685dbd1f820bf6170315e1f896562293871c52da00d" + } + }, + { + "type": "Regular", + "proTxHash": "477405bf7aa4519f8ad5b093c6eadcda9199c6cdbcec9e3b79157b78a2178c6c", + "collateralHash": "c3ef82cd61656f131816307f2895677863c0421928c64cf562c7657d874db576", + "collateralIndex": 0, + "collateralAddress": "XusPAmAyr36UtWpwTqERg4awacc6QL1ajF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.14:9999", + "registeredHeight": 1178046, + "lastPaidHeight": 2128493, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmZDbR3MizaZyUFiurNXuQ5A4h77mK5VMv", + "votingAddress": "Xfc5RZNRqAGZZf2Th3DZ83ZPwXSpxzZjgw", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "09813e2f13ab9028effac9a07ac9bddcc2de431941acef67aa68878d95cfba49415b43e20ea76b031a49362219e2cf3b" + } + }, + { + "type": "Regular", + "proTxHash": "3e78ad110f975ae69e73c27fa41d095916df6974c17d449203fe3d1b63b8d976", + "collateralHash": "8431923eb410af9f608cced39c11caa75468b9e480c37ff945e3e6a6b4dd8cf3", + "collateralIndex": 0, + "collateralAddress": "XjN29FtKh8uZRF5gc1wFsjSkaP5a6Q8v8q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.142.36:9999", + "registeredHeight": 1178046, + "lastPaidHeight": 2128494, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqUqzqkNVQt2mZ86uZnabMCxXfkCyH7dR4", + "votingAddress": "XcZmLA2jvAaiwdcUcsgKjQcHMCngmSSym2", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "8318f8b40a577512a8d507e8b72855103371e238b34c8cb1cabbc6f9b2da021676e7ebbd7c27133f1779c65821ed64d6" + } + }, + { + "type": "Regular", + "proTxHash": "c7618cabfa833a86b20ea9eccebf093e2ff2722f0b5d74053c11400af0888428", + "collateralHash": "372a4bce784c107b5e7671bc91ad3b4bf7607e57d4826ffc9475272478d72fc4", + "collateralIndex": 0, + "collateralAddress": "XnbkHj5oJ6ZKQCzDGzxDi35LE8FGiwFXcE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.41:9999", + "registeredHeight": 1178060, + "lastPaidHeight": 2128497, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XncpmJB6fw6ze2o4Fa4pypRFyZuMJkGYzq", + "votingAddress": "XyPCJkhRYsiRh278RASBVfenGhnf5P8pqH", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "0ab5ec94ef680cb73479942fdffd0f95e5331f498dfe9d11496538b34097a4118c759d48a748e23680d0abf80460ebac" + } + }, + { + "type": "Regular", + "proTxHash": "a54917bf280cd06e7d74958e908f632210153a654a567f8fa1affbbe6b8ac4e6", + "collateralHash": "525028cbc5eaaab7ded4f82f36a48f2dc5384c5e289c0982ce14c34c8536027b", + "collateralIndex": 0, + "collateralAddress": "Xv4XAkYPWZ3gTvitYtq94bxBWaZ4e5qBHY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.174.89:9999", + "registeredHeight": 1178534, + "lastPaidHeight": 2128856, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xug4XQLf9AhsVNqpFuxpGhQrf6ChXjzKr9", + "votingAddress": "XnHPfjQKcM8syZMFX2GzN8bCR9dSJ8zaHV", + "payoutAddress": "Xpvqbif1VkEAQQxt8mjwnK4NFNVSRu7CDi", + "pubKeyOperator": "0a1a2bd59ce188d8e33e61ae6ac8a017b0f4c36f8d0d1623c73ad431a9bf58e705e3b733211dda121afc28b715827d2e" + } + }, + { + "type": "Regular", + "proTxHash": "6da2b580b51123ad31180e6808f04ddbfda621a4b926da6be5c0118b0f2f0e66", + "collateralHash": "c00ecfd66918e39b966e1e27bede81605e8025578d2b35522f2e2dba4dbf2849", + "collateralIndex": 1, + "collateralAddress": "Xe2FVfBuLRtgzfMVguMXvksjf6h76dZ1AY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.38.70:9999", + "registeredHeight": 1178872, + "lastPaidHeight": 2128557, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007649, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvu7HtUsH386YQkQoE5gzyDPkWBeiDD4oE", + "votingAddress": "Xvu7HtUsH386YQkQoE5gzyDPkWBeiDD4oE", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "8fbc73bd0b34163e4bc5c9ee5f50f4c3c3aaed22d762e97d9960f1f625f511abc9a4a7ee54db6038d2da783f70791454" + } + }, + { + "type": "Regular", + "proTxHash": "065820051a19ef7aa6fdbfea7fe0b7768b8a1e4a42295d357477c431596ab023", + "collateralHash": "230f209b6a8d9796043fb4fbe060de9f158f3efab19ff78fae1d13dd441d0a7f", + "collateralIndex": 1, + "collateralAddress": "XbQiBri4oaw7v1oCHgc9nKVY7wwPEJRPDy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.165.60:9999", + "registeredHeight": 1179141, + "lastPaidHeight": 2128564, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007650, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfotBNJ9sJmTfptr2RpiRSjR3S77tF8QSi", + "votingAddress": "XfotBNJ9sJmTfptr2RpiRSjR3S77tF8QSi", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "18e1ffba070b3500b9dda800f5e86cec03dfe2f3ce090d8ed2c05756d8d7a45e35cc2f2208ccd095d28d51f7a658c572" + } + }, + { + "type": "Regular", + "proTxHash": "8e42c90f1f1b92776bed34fd24cacfa69f329666a135e2d40dce57f11523dd8c", + "collateralHash": "07e82a6f42796ab04e5090f1320efb77c6937fe50b34ed2b638570a7e1da67f0", + "collateralIndex": 1, + "collateralAddress": "Xx7UvNRj9WhcKFCLLw1e16iZeefXqjqacX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "172.104.145.166:9999", + "registeredHeight": 1179249, + "lastPaidHeight": 2128667, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119374, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdhCiTG2cyySQ2KYD5jtyeA1TAsTV8SUva", + "votingAddress": "XbEKPu8dK1WEMPkQ1h2WE1cny7BCncoKpo", + "payoutAddress": "XcRpVt5fn5RCzQY7hUArp9TaiR35vs7op1", + "pubKeyOperator": "87d8c370da8ddbf24a569ed074f4084cb7f1fe81c29ac2b4df5362630d4308f4ba44e2e286e7837e8b83762306e3ad71" + } + }, + { + "type": "Regular", + "proTxHash": "c7b11bf5643026f8aa9b343bb9876c25ee42a7dfcde69d7d0937fa7d473b12c4", + "collateralHash": "de8b82674d14a112ddc5a2f900eaca05197ece8ce869ec84a943d7a22357183c", + "collateralIndex": 1, + "collateralAddress": "Xrp3efyuspqXPZSjbtPWPJ9yNRbshcgFod", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.244:9999", + "registeredHeight": 1179355, + "lastPaidHeight": 2128875, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1599558, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkmyoJvqMUs566jWu1YwuFs2h2a5nt79ri", + "votingAddress": "Xf7crVfbGtfrq4wkrwNJNaGNPqcSQoVwws", + "payoutAddress": "XnY1wr6ddp5Qb3f4faatmBrtvRRvdJatFP", + "pubKeyOperator": "95fda0c1ba69360997f205027fe88936e8c2409127ddee8b5d153952974b5bf5b866edda9dede1ea701ca7ed140e42ab" + } + }, + { + "type": "Regular", + "proTxHash": "03a9d19b983a859525724f7fb0abbbdea9858ce722376d5b37475f8c83e44c9f", + "collateralHash": "f11016022419b5d381f9f63635d4775f5a9364540a3d9571b284dd00a580945c", + "collateralIndex": 1, + "collateralAddress": "Xs5vV1ySp5ySHBVrT7iDmKPH2KRfsJ5qiK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.74.153:9999", + "registeredHeight": 1179845, + "lastPaidHeight": 2127394, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2046952, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhnYipo1GgdSnEMeyepoK4d25DFQTSq9X4", + "votingAddress": "XhnYipo1GgdSnEMeyepoK4d25DFQTSq9X4", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "850c8517b234dc315b2abccbd8c7553f9928dbfa53feaa985a19168f1e9681691273801a0ae2c31b58820c8347127d37" + } + }, + { + "type": "Regular", + "proTxHash": "1a663fe238dd71da444d0dcba7b49744814a9b64eaee679d22122714e5fe570b", + "collateralHash": "ab55d8cd75f221886e7a568c60d4a5232d156ceec4a75e71d90209fbe040fca7", + "collateralIndex": 1, + "collateralAddress": "XcwNTzGTi3gytPLsJtcZdmzpcxZdjRBswh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.238.176.166:9999", + "registeredHeight": 1182734, + "lastPaidHeight": 2126725, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120674, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyQF1Qk1NpADiwMzQqpEkqEZZPFGoVzF7m", + "votingAddress": "XyQF1Qk1NpADiwMzQqpEkqEZZPFGoVzF7m", + "payoutAddress": "XcwNTzGTi3gytPLsJtcZdmzpcxZdjRBswh", + "pubKeyOperator": "8e3228798ca85d0dc88046b93ad6fb8d15565428d79bc550b83fd9aec0c1dd869d502e56dca65bb06a06118e1c83aecd" + } + }, + { + "type": "Regular", + "proTxHash": "59e5438d9d42cc36a045dfd2d7d89a205bf9eff30ae030d3b1797be0921b0279", + "collateralHash": "29794b74739f6abc37892c39bb564b3d6b63141cf3d3867e5b8a3c1ae655313d", + "collateralIndex": 1, + "collateralAddress": "XpT8oFPUPQs9V1DjYp2MnbY5scJguxx7AW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.18:9999", + "registeredHeight": 1183608, + "lastPaidHeight": 2128893, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxLaXJqTiUV7Yo2EE9RqLEmcmHJHv4JcKs", + "votingAddress": "XoaWrRyQ6kd6hfQEFTcjdwfjxBHs4D2mRE", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "0ff373bac90753ebce13ab140717c941a07879494f2fde97950b7493f8af78b35dd80c840301c1c39ed4d2e437bed8ce" + } + }, + { + "type": "Regular", + "proTxHash": "cd8a2d9237f72cefc921defec7f8752cfdfc1e8a19b87f768eec3265b1d872ca", + "collateralHash": "b48fead8daa2ad452e5263cd0d8d9dac5e3f62fc07ed0f556a9fc20402329072", + "collateralIndex": 1, + "collateralAddress": "XhRRai7TJVF5kEchMFrh6PvG8fPTKvN3Cs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.143:9999", + "registeredHeight": 1184320, + "lastPaidHeight": 2126076, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpRH5JUQTvQPXFZ25G2Y7ajzscuJaVgEja", + "votingAddress": "XitXzawUxZP7GmSeJUgVXQkRZZoFQR1YVb", + "payoutAddress": "XwTRMjk1N8rtECdKJF15MhSiQewvmJW7S6", + "pubKeyOperator": "0c0af194fa3fbc41df022e033f283f4f6d4dd747398380ee3ce3274b4d0576a49ab553308769d61acc9259e47e031ac8" + } + }, + { + "type": "Regular", + "proTxHash": "d729734d778e99d9379efd1482cf1cba5a0b954de9f5390c8073a2e9b52813c2", + "collateralHash": "d12502347c64604e60c44f0862c069cf7361e1387b726354bef82bf879935fb7", + "collateralIndex": 0, + "collateralAddress": "XoqysH5Se5oHqSrtYXEC963oit4xgq8JvQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.150:9999", + "registeredHeight": 1186309, + "lastPaidHeight": 2125875, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820915, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XogAjzH8TCwZRLp82GB3vSC2Qi4SaiJXpw", + "votingAddress": "XogAjzH8TCwZRLp82GB3vSC2Qi4SaiJXpw", + "payoutAddress": "XvPsPKvwKzH8QkLkEMKGcP4MFuQs7aVmwD", + "pubKeyOperator": "99aa3c041280376831237e7294afc4f30febefd201dec29cc282a483c608933ccac630ea6a38defef2cf7e4dd03170e0" + } + }, + { + "type": "Regular", + "proTxHash": "d09e231f2f8260859bed482d8c15bac3ec3453ce009769bb996f7b80e3a0e469", + "collateralHash": "062d94e8ba7135ac7603ab49cd6eb891d3898d6d76f41e548bf4717736f4a7ce", + "collateralIndex": 0, + "collateralAddress": "XkaiPn7BF142WdAfhcwh47tFUthsTC9Zqy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.29:9999", + "registeredHeight": 1186312, + "lastPaidHeight": 2127508, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1544138, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd9uHkJm1SV1pFtbYYbPnpiaki9sEy7egC", + "votingAddress": "Xd9uHkJm1SV1pFtbYYbPnpiaki9sEy7egC", + "payoutAddress": "Xp7M1uGDqcFsb2nMLxSg63h7Cy66nfZRGK", + "pubKeyOperator": "8bc6ba8268d61c6799652a96e4649c66b3df17a666ec2aac5825f73c7792674784006994ca87b497f6c8cc0a08675161" + } + }, + { + "type": "Regular", + "proTxHash": "6cd6f9427405345b20b60db2e08335a7287fe16de1344fb796969e9d527639df", + "collateralHash": "da835dbf2203a40fd60739c2052af43beaca8553baaf345358d36a7231a57c26", + "collateralIndex": 0, + "collateralAddress": "XtrhbMxiqF6yyd2ixVzk49QDeNuu3AghEa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.30:9999", + "registeredHeight": 1186312, + "lastPaidHeight": 2127750, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1539731, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs67FuMpCvVshYEoXB8iYeyN1WRg9QMK3H", + "votingAddress": "Xs67FuMpCvVshYEoXB8iYeyN1WRg9QMK3H", + "payoutAddress": "Xc3b9C6v8CxuZFrpfRPbmxbFjs2gtxcJv4", + "pubKeyOperator": "820145104343a5b633bf6d1fab31868a6bc2ae6b39f324546de7b69d72d9a345c34bb74abd4fb05c1fc51a9fe9218261" + } + }, + { + "type": "Regular", + "proTxHash": "e4d2207cdef7f0ea1693c4e37c82edc67ead1f85d8bf750083e1cd0fde0a94e1", + "collateralHash": "ed57ce35dca941df090314e95e1a2451b41415cca7218c8dd27eb8bd91e0e070", + "collateralIndex": 0, + "collateralAddress": "XvsWEBKkcKwPQKPnTCCweUYLhuvRCEA6xv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.151:9999", + "registeredHeight": 1186312, + "lastPaidHeight": 2127483, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1544110, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjJyLhr4D6aJ7nJtgCzKhH681Nt6xBCExr", + "votingAddress": "XjJyLhr4D6aJ7nJtgCzKhH681Nt6xBCExr", + "payoutAddress": "Xv8qGvChjceSphUXFcbSqUaeRREhR4dkJC", + "pubKeyOperator": "9992af3223442ef25f2f751f968f27e381b58e68a8d4f65402f178609df5d59428502521cd2731f2be92b392b1001ab6" + } + }, + { + "type": "Regular", + "proTxHash": "f740cf88758ccdfbe5b99e994db99a8bcab09da584da97dd83d337fcbdab4569", + "collateralHash": "80535bf16facb9ff064fadaa92414e517f43fa3ef3825726b93441d1b106eda4", + "collateralIndex": 1, + "collateralAddress": "XqTLNbHQKseRAjEJyEyTUxyB1jwRkajnGJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.238.189:9999", + "registeredHeight": 1186992, + "lastPaidHeight": 2127851, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpD4MmoHCCcxgLmDkTuXTjKttkJS1Lku4K", + "votingAddress": "XrjfmE688EbhJkEmdJSkhJB2bUuCRr59fa", + "payoutAddress": "Xt7JFk9wNrSWJe1HrjDNoDyqhpHw3SSfSo", + "pubKeyOperator": "87f2dde33b6e1b95f5cdf54e4b515256b592b3c102ef5a4f3247d0fa188d656edc17118a991d5310fe2b6b21cc4fca4f" + } + }, + { + "type": "Regular", + "proTxHash": "2577d7ad2b2f1f43cae3554dcdc11c82994afa1b37107e2c740967f9f0118649", + "collateralHash": "9ccf239ee84e215e461fc7ce4aa03a9fcb1e0346c5c0e405e07bb37b816cc6fa", + "collateralIndex": 0, + "collateralAddress": "Xt8UsKZEhJs6nG1j9gzWHWcuEHaKm6xPrA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.138:9999", + "registeredHeight": 1187773, + "lastPaidHeight": 2128532, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfk2h3zDG4tGQ4hbW51JzHmRwNJ3jfRmDu", + "votingAddress": "Xuq9HaE2TmHDn78JHFCx4SASF8s8b7b4yQ", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "80232d48622bea7b2a07e496d4978dc8cd2289ec7f7ca5e70aae0efda7053a4153785ec573cfd26fd822b03f8310d98e" + } + }, + { + "type": "Regular", + "proTxHash": "b177ebfcb9889c9195b33d42408001cdc31b2ead9dc290d0ddb857d1b065e811", + "collateralHash": "b0d3d9e91828429c242e5161a8fc0a4c7cda0ffcd813bda8bd2f2f3e609a45eb", + "collateralIndex": 0, + "collateralAddress": "XccGnwNxGmGB9D82iUfSkrtA3y1MQgJsuB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "43.229.77.46:9999", + "registeredHeight": 1189507, + "lastPaidHeight": 2126473, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123305, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyW8pG77iwtkvZGiithdDcz9Fe9FsB1rpp", + "votingAddress": "XyW8pG77iwtkvZGiithdDcz9Fe9FsB1rpp", + "payoutAddress": "XccGnwNxGmGB9D82iUfSkrtA3y1MQgJsuB", + "pubKeyOperator": "92ded6c54955f8703d83898d4acc3f65edc3defe09f346cc70d8d6e558211089a505e05b18d92ee05c15ebfcdaca7f06" + } + }, + { + "type": "Regular", + "proTxHash": "3bd644760dd5a407a4117ca4075b1f56922f70fd2814b9e2487484b8bc03fe49", + "collateralHash": "60ae1f1d810bc3ee64d393c897ea965f9935302665fdaed72015ca1992ff2899", + "collateralIndex": 1, + "collateralAddress": "Xi1ZnerxDphF5YpKnBGUhM37EWJAJULRjn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.45.13:9999", + "registeredHeight": 1189629, + "lastPaidHeight": 2126409, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy48QsTswufHxSHCGXf2beqYfmAVe5WD8J", + "votingAddress": "XoJmAovFgTkcamkYzqS3WG7KUXCbavhQyg", + "payoutAddress": "Xi1ZnerxDphF5YpKnBGUhM37EWJAJULRjn", + "pubKeyOperator": "9780b81e61a4d3704abc5fc9a82864bde6831fc104cc6d1d382b993cf79d2933431dce71ac5b0150a9cf89ddf6a101cd" + } + }, + { + "type": "Regular", + "proTxHash": "48721a0f4aa3267340abf79fad2bd3632959db1b60fa23d99da6edb58d744b38", + "collateralHash": "4bcf2d5909a632e1b705b1444c42722e7afb22e11367e66f2ee6fd8061eae47f", + "collateralIndex": 1, + "collateralAddress": "Xg5Zn9ef12a5z4DCk5UjRwGbemqGxLWnn5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.59.124:9999", + "registeredHeight": 1189666, + "lastPaidHeight": 2126438, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjkqs2SYpJJwVHH55kBaH5b1hK9EbLjJ5j", + "votingAddress": "Xtb5kq8rQWDXDHZhVDvZ8Fu8A6McrXgUEq", + "payoutAddress": "Xg5Zn9ef12a5z4DCk5UjRwGbemqGxLWnn5", + "pubKeyOperator": "115ddf9be9c29e718bb165b595b1662b32a64df6c2846c273e774357872bb2c61eed226ed160409762778b58def524ee" + } + }, + { + "type": "Regular", + "proTxHash": "6f9df18a07fe6ef0942e144bf64c99287c82ee4881f3a5304a0d77450c2f4f8c", + "collateralHash": "78c9e9c52d01eff0cbff28fcfd039aba39fbb88a43ffcab9e48901e1aee34fed", + "collateralIndex": 1, + "collateralAddress": "XgzPyZeEdR2x5aPTXeFntLrsTGmhzSFC1G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.245.158.11:9999", + "registeredHeight": 1190265, + "lastPaidHeight": 2128780, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1843244, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi2hNEunB4KbzpB3UvDy89Pmg4jhnQT7oP", + "votingAddress": "XhLYrrQjqno6Q2otYYNXict2pPhe8DDcyr", + "payoutAddress": "XgzPyZeEdR2x5aPTXeFntLrsTGmhzSFC1G", + "pubKeyOperator": "010be267da8548d79d1c80759838d477d38bfd1092acbebb4c29f812060b80212218a55a048f036460e0f1f79ead57d6" + } + }, + { + "type": "Regular", + "proTxHash": "ae54be6ef488ed301c0dff27bc67fba27d6462d29ca1a0cf7c30570b0978f008", + "collateralHash": "8f598443534c52c3d408ccfef0cb0d4d29ccdf6ba4e142cbca8073740e189869", + "collateralIndex": 1, + "collateralAddress": "Xf5s9o8UGfqdAd4YiYyEJ99TMjL86H7py8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.64:9999", + "registeredHeight": 1190702, + "lastPaidHeight": 2126214, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1489430, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo46JVoSZkZE1RBTRF1svWqvYqhvjRnzFJ", + "votingAddress": "XiJnCL5vMxCG7grqGBsuLBsz7WCqMWvpiw", + "payoutAddress": "Xm4xzhtTkEcsPmG9sLMp2e3wVTQ7fmMS3M", + "pubKeyOperator": "8919000eeb1880a2faebee67c37df14bcc296b8fa0bf2766cd78c929f082f1c6798614c38cff68a26f8b007174b3ec04" + } + }, + { + "type": "Regular", + "proTxHash": "0fa69221feeb29d4d85dab8bad216ad8bd5f0224525b248bc144a2cc790c33bb", + "collateralHash": "69423ddbec8b2fff3989234487cf778fc939973e8062361d24b5d9b34d74f67b", + "collateralIndex": 1, + "collateralAddress": "Xf32VPC6EKTp9QZ9p7wLBrTE6EiTghgz7x", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.54.250:9999", + "registeredHeight": 1190849, + "lastPaidHeight": 2127131, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsuY1VJnXfucuypUUBJNPL4XcPfHkfmX1S", + "votingAddress": "Xt6rotNeUeBts2Te3c7oyNQG1jNgE9GnsK", + "payoutAddress": "Xc4XQj2aRB1jvs5LNBtGw1tA4be6eP7awn", + "pubKeyOperator": "18e8fc69b0424b63cf221c75b247e49bb7a31b905975a07aae363ec98bd1b77cdf88fd243a677f574d60a7940af40888" + } + }, + { + "type": "Regular", + "proTxHash": "d0c4501d729344388499d9e7d01846c526802ca008345ea5096be1ebb6cfe708", + "collateralHash": "d8bae358515953a8e3c0b561f572d5cc0760090270e1852b3113fabe342a77e3", + "collateralIndex": 1, + "collateralAddress": "XdD3aPMPwAVcgrMMnSC8e4HQ2XSKhEfKUg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.159.124:9999", + "registeredHeight": 1191399, + "lastPaidHeight": 2128565, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007652, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnPqKuVqvKhiWS8f2XddXxSGAmxw9YR88y", + "votingAddress": "XnPqKuVqvKhiWS8f2XddXxSGAmxw9YR88y", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "8fc484542f56114de472aff2c3423291616e9a810ec4c03fe45e03f73ad287cd729a48c974fcdd9f8c1be192c8688d8d" + } + }, + { + "type": "Regular", + "proTxHash": "23fb4642ac80f472a03ba188fe0da5c2a1409d22471fd27dab5f463fd7ee9d6f", + "collateralHash": "6f804da138cc684bbb71ce4f0f4f3ace06dd5d0d450861eff72f92ab7b48f567", + "collateralIndex": 1, + "collateralAddress": "XhtdqrSS33kTDdBLB7GyRKgVzq7RqDKF6J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.10:9999", + "registeredHeight": 1191803, + "lastPaidHeight": 2127884, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo1BZMDFErJ5KdTxQHdm84HBnH8C6numPb", + "votingAddress": "XbTFZawYV9YAXor89PhpsL5phDuEtTfoAF", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "11a9eef723a9ceb07de94eb0f59c75812a5f35a77fc9d115dce7b457a9c43d8294cad4df1691762368d0ee5b27555c6a" + } + }, + { + "type": "Regular", + "proTxHash": "d37b4167323b787041e6512995566d7fae0f93bd02e3c04f8547c4db73367943", + "collateralHash": "0cfca871274fda64ed9339d5f008f4744bfd504b15b4d96257756d3a16ecdcbb", + "collateralIndex": 1, + "collateralAddress": "XhFZn1jgLkmZn6Gfug4SWJkxPjxmUaKsfB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.182.250:9999", + "registeredHeight": 1192424, + "lastPaidHeight": 2128496, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XybBQGcSUtmuEdeW2gDr8ZZUjqoCGQoS2F", + "votingAddress": "Xi7oCp6tgqYkB2vLZzacLwHF8rpDc3bsV2", + "payoutAddress": "XdFKgMBq6VMYenEj9CAKj3JSE7gNHcYTsm", + "pubKeyOperator": "165401322ce721b07dd1f97b15916c537870b1211e2023f897671a1fffef29ec8ba252569b99d97ae154257be1744ed2" + } + }, + { + "type": "Regular", + "proTxHash": "86892b78056a9cc666e2660ef605cac641671828a25da3c652d1d48c3ade9881", + "collateralHash": "dc38c9bf3ecd9413d305e88be7eecb125aaa77e19d7c582cf37dccfdd0bb577b", + "collateralIndex": 1, + "collateralAddress": "XnFC3UEMkaGgfD7Wb7Edupd57dSKeT4yM3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.208:9999", + "registeredHeight": 1195599, + "lastPaidHeight": 2127199, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdHyrNLusj3bpXHBWwrZL9tvhauc1ZpDJ3", + "votingAddress": "Xr7iiSKMs4hjvCabY37L3XAsH9fTxHN5gg", + "payoutAddress": "XnFC3UEMkaGgfD7Wb7Edupd57dSKeT4yM3", + "pubKeyOperator": "18bc6963ced6cdf7add0ef3999873f1ba9b654a067e7038b0146dfa4ad0ee378b5f51630e67e53f8bc20e74a280298c6" + } + }, + { + "type": "Regular", + "proTxHash": "1679adfbd2ae30f0bafaa43718696aff4071943f2d2ebff65469f862f4be8494", + "collateralHash": "b80c34927468bb8329014291ace7746a068cb552c76f330429841f9eaba6d9d3", + "collateralIndex": 0, + "collateralAddress": "XmBUBj1LYBSyVi5nuDg8NzDQTcjgiMZJH1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.167:9999", + "registeredHeight": 1196052, + "lastPaidHeight": 2126898, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1524904, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmwSWqSZ5qS6cgehKbjpQ2eDCAuue79pAc", + "votingAddress": "Xp8nPq7qzrJ2cSweTz64uN9WA5DBRvEfb2", + "payoutAddress": "XmBUBj1LYBSyVi5nuDg8NzDQTcjgiMZJH1", + "pubKeyOperator": "1380a4dd89332d2bad342f59e0237ee470a9444e5a30567ce72ca61838acedefd9a19eaccfa0c619c554e9dfab961025" + } + }, + { + "type": "Regular", + "proTxHash": "a4929792a1b04a8ca8b89cd87daed58bdf73dca04bf349f4661f26ff914a381c", + "collateralHash": "3a72194fcae272a236e439f684a269ee68d0f0701c1b01ec81766ee29ddd91f5", + "collateralIndex": 0, + "collateralAddress": "Xbzp3hDysnqAhR1bdwMBQDPWvtyWrjxnnC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.154.53:9999", + "registeredHeight": 1200197, + "lastPaidHeight": 2128871, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1828178, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpaUY975NiAUUiFpCbxAy91dodYDZRVqiM", + "votingAddress": "XkNfe5Rb1NkTbtWNybTHUq11w7XcKdErxn", + "payoutAddress": "Xbzp3hDysnqAhR1bdwMBQDPWvtyWrjxnnC", + "pubKeyOperator": "940821ffc45143cd4b8fb70024dbd266fa77d4d8afe3aea504fb6108726d04b093d21c894cf8dec8fd776dcb85bd2e92" + } + }, + { + "type": "Regular", + "proTxHash": "ea222be158f2f313a2c17b0a230eb8f2c37c676eb5b761b287799dd12a711554", + "collateralHash": "432607a44c14a919a616c99564c6bd02d6852ef139b8975e12b85a9d46280d37", + "collateralIndex": 0, + "collateralAddress": "Xu2TVVPXiHHcZmdyp6v4wD1zrqM7qoNNha", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1202388, + "lastPaidHeight": 1726653, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726836, + "revocationReason": 0, + "ownerAddress": "XcofVmdzWhYYfAW8kEjGNAH2RUDW7JbgFJ", + "votingAddress": "XpXz5pZH3jPeQ9p86XzAEHQCdNGNGmGXFM", + "payoutAddress": "XqdtHfToYxcBUVFxvCbPzb9nFS7rK3Yeci", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9d193a122804f1ea94214a731ceb84fde2705a73d6a84d3439a5e8a82012d415", + "collateralHash": "927603e1f1eb357049c80c42281fc9934b4040bef4679163d0f1c5f72280c4aa", + "collateralIndex": 0, + "collateralAddress": "XnkTkthszkspFwkin1FstxqXajCVaqznpe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1202404, + "lastPaidHeight": 1726660, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727796, + "revocationReason": 0, + "ownerAddress": "XvmfD6ggQPA4DBYTyv4b7jTS2Bm9LB8FzY", + "votingAddress": "XwvHjBqFLbKYFdXtUnhBUPnXMYhUr39SmS", + "payoutAddress": "Xf2AuWwBcVj2DB1e3Ci8quHMrky3KY1taU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2d568bc5fbefda8033d9a68944a7e8aec77f039aee419e522ff4fc27370e6a2c", + "collateralHash": "4f354f8a91f91f234b6a88c6bc0c1b0036d5090a17935939ad2e9381e58de5f8", + "collateralIndex": 0, + "collateralAddress": "Xrmj8kWHU2uPL5rDApCQQrvNpV54vA3UAZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1202404, + "lastPaidHeight": 1722625, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725636, + "revocationReason": 0, + "ownerAddress": "XjGt5ajD2UbA9KrpGx3S3b3WvzwVnJd2p4", + "votingAddress": "XnwVeDvJHfvq2pXRXUbq3tHC8ccRVRW7r5", + "payoutAddress": "XiSRFTvUq7AsXyEX6oz8FRVe2vc4VnBfHT", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "091672d18cf45e7051fd32333ee908b57284b2243da27465043fced733bc964f", + "collateralHash": "28e677ad2fbca219efc030dc260c92d4723c354be0a4dcab4646aba78874cc5b", + "collateralIndex": 0, + "collateralAddress": "XjQmse4ovoNMJETxnLt15J7gHLNoC1GY1S", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1202405, + "lastPaidHeight": 1722629, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "Xb8x92xgpKQPYCcm4g73RWaxMRgxs2CTqV", + "votingAddress": "XuK2niVp5CP2LiYwLNDvqVpGmCLsHL3VDw", + "payoutAddress": "XgMQnEcnZc7DWMB6q6uEEX5njdR1qixNZr", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "37009baa3c2f952cbba3b2fc99197ff3632b6f22bfe58ec69a23e0e898661ca0", + "collateralHash": "90ff3f7e0479e884fa1942f836950e8edcf052c3b9b62fc46706379e9ca3ba1e", + "collateralIndex": 1, + "collateralAddress": "XgTnw99LipdcvmXBE5WjxuNjMfdLK5Tkye", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1202406, + "lastPaidHeight": 1722631, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724747, + "revocationReason": 0, + "ownerAddress": "XqRVAnyjSJ63weJKbVvjkTHtJq8HLdh1NU", + "votingAddress": "XswapQBfWs9F6YEUjcKTqQeYcW3UuLmS5B", + "payoutAddress": "XfB1ZeQ7vuxyLzMXKdiFgCiNhgcQXtZynH", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "54dcbf3038227b35785ff4de25d2107ba2e6e21f0bf78cbc088ddd234c3c8520", + "collateralHash": "fb0388548f56ed3ca6672c25e9b8d41e4fb2498ec470609d03f78ca82d8da9f1", + "collateralIndex": 0, + "collateralAddress": "XtzErNxkbcnKtw9sgaxXaSwWG7sphD9V3F", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1202407, + "lastPaidHeight": 1723078, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": 1415880, + "PoSeBanHeight": 1726091, + "revocationReason": 0, + "ownerAddress": "XfMEFChQixoaqRtoi6ppcJRjVgBZRwwFvu", + "votingAddress": "Xq8NqpqBA81iP4CFLWA4D5vyLUVqLh185g", + "payoutAddress": "XwEiT94JRJxX8UKr4xD9zVoos9ts3Y2A78", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "24740fe88f5e1b30170f6cab47bbffefdef29d5fab2454f7a9185eb7402ca8e2", + "collateralHash": "f368e99bf7f780b969066605896d6f5a88c4a5b251eab3a079b55005c2f39d48", + "collateralIndex": 1, + "collateralAddress": "Xo3CRrmmqs6VoCJDsYqU9MLJRKKnZYQxFJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1202408, + "lastPaidHeight": 1726666, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727157, + "revocationReason": 0, + "ownerAddress": "XqG8Ff2LtabmVXd1rxzdHn9cYSaNitNTPW", + "votingAddress": "XcAzGY9rbCsQ9VtY1x3WH5sa6poqWYJ1o9", + "payoutAddress": "XoDR91pS17qRx4BWWk8s845BWzw4HJK6du", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b316c715fb035a4c5ed747211640169045c5764fedfa33067e97990cf8ba7d5e", + "collateralHash": "a6b9447c146e4b23673e5b2261aba6255d76d61d1a81e218305879f507d75a71", + "collateralIndex": 1, + "collateralAddress": "XutYQhwTnMcZgmkkcNRvgY56fjLC9anzvj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.111.214:9999", + "registeredHeight": 1204031, + "lastPaidHeight": 2126666, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcDu3dCohhixTd1MKKXY7uNafT7G7i6YAs", + "votingAddress": "Xy27RY4gJVmRoLPSCpYoDhxDA1bvyvz1Ue", + "payoutAddress": "XjQXdghnyBQtUaWvSxGduuwD2STEq4pJbH", + "pubKeyOperator": "82c7000c7554c384d80dbdab33196873d51e4a5a130bdc9d378856ac9462c6becc57293732cd22ea572934f7cb6e6745" + } + }, + { + "type": "Regular", + "proTxHash": "c40d18ca8d96a388afbdbea10a0418b03f30485fb7a1583f2970be6b9b001595", + "collateralHash": "17501a7d128590eb25f860dc9f8fac4a9930444388999f155195db0ff816fd93", + "collateralIndex": 1, + "collateralAddress": "Xwqi9SkbFmMH65FYVHB36Fh3Q48kJNvBBp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.225.96.193:9999", + "registeredHeight": 1204037, + "lastPaidHeight": 2126667, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeSodaGZ6Ep9qXa5Bk38E3sRMcPXp82w3c", + "votingAddress": "XfzbxdZrNgbp2AwJgJ4amsVb2gHj1ELpYE", + "payoutAddress": "XjQXdghnyBQtUaWvSxGduuwD2STEq4pJbH", + "pubKeyOperator": "8a63101d62c713df7359bda5ad4672d38824dd59fc553198bd7d5a66b5c7a9c81aedb8922e5b29de4dca1da4e502d44b" + } + }, + { + "type": "Regular", + "proTxHash": "24ba736989f35677b63147e95c802110750a88902670a21ac8af9cf34054e6ce", + "collateralHash": "5f38cb8755ec8e22f4f646304f7fa85fb7374bffc5db7a1b0d1ea2ab78746227", + "collateralIndex": 1, + "collateralAddress": "Xo5DmeB5M6dWkChwkiyxrDVftohnhppYKc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.185.24:9999", + "registeredHeight": 1204037, + "lastPaidHeight": 2126669, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxaE1WKpSBn6UyF2sUkeBgG93Zk1A5pgUi", + "votingAddress": "XdwumZv2cjMeaSxnCe8ULpjMUGzjCw6NLc", + "payoutAddress": "XjQXdghnyBQtUaWvSxGduuwD2STEq4pJbH", + "pubKeyOperator": "8c4bb5f02613c2504d3b305e9b9acb29b36d2da2df3dafc975b6f2d849c650ce099a25b861d2309cd6919f4dbe645655" + } + }, + { + "type": "Regular", + "proTxHash": "c5be14e16f1172fc081e38bcde95eec46d0c838f4d65f956b6f4c8c8b67b7e2e", + "collateralHash": "36349e4f65685b68b33f5968fddd3ff808953598c7ddc729bf2609f1680ed4ca", + "collateralIndex": 1, + "collateralAddress": "XbxbrX2Re5EGTSrnzjVZA8aqYijjXsgYck", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.71.76.44:9999", + "registeredHeight": 1204037, + "lastPaidHeight": 2128742, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1980908, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvaasSCEDPbSvsrB7Vbi4jQURDtfzHvNeA", + "votingAddress": "XyCrEv5Xfnr5E8E2gy1oZLTveMZNboPi1M", + "payoutAddress": "XjQXdghnyBQtUaWvSxGduuwD2STEq4pJbH", + "pubKeyOperator": "0dd6d54d9c42ed7a31bff23134084b2356e2dca415a5440fde65a6389a72c8cf7ca71aae8bd1d07ae4feca207147608c" + } + }, + { + "type": "Regular", + "proTxHash": "81f41457299ab182c7cdca3d399f9af2a29fbcca99e76f861fc8fb84adec5fe6", + "collateralHash": "a662ad7de7ba38702d3a472adf9f2e75a5f8b8a252d81dd84815a374be0d639d", + "collateralIndex": 1, + "collateralAddress": "XvqQUjx5tTxyq1bcQbC6JyVmNe3BLLziTT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.79.199:9999", + "registeredHeight": 1204086, + "lastPaidHeight": 2035970, + "consecutivePayments": 0, + "PoSePenalty": 3828, + "PoSeRevivedHeight": 2032603, + "PoSeBanHeight": 2038794, + "revocationReason": 0, + "ownerAddress": "Xhpywv97yJn2R5n3uXgRZxS64Nmf8ZLgZy", + "votingAddress": "Xhpywv97yJn2R5n3uXgRZxS64Nmf8ZLgZy", + "payoutAddress": "XvqQUjx5tTxyq1bcQbC6JyVmNe3BLLziTT", + "pubKeyOperator": "970ec27526148ab568f59bf045cdad70416b9df45dd2f9c77d36d2cfa16f51347d5a767d1e1ca8260856ee15ed5ffd7e" + } + }, + { + "type": "Regular", + "proTxHash": "7ec2a6e899e40debf6a621cc5da9b3a0f450eb941de25935fab1ecc49c8cecf3", + "collateralHash": "d0e24fc8a2d3741881d71d15ad37a8826658b5c7f8ab0d2a5fdf8b5c3ffcd12a", + "collateralIndex": 0, + "collateralAddress": "XxUmFWmCSBR6RuViEQcD94Nhj6ThpNg6p5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.175.66:9999", + "registeredHeight": 1205192, + "lastPaidHeight": 2126049, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1760197, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuQSyCZBNuHyXEBCpveVkbPvBgiFnZrkRP", + "votingAddress": "XrF3W2939gxYuV5T1xHkXyxnF4LjSppHZK", + "payoutAddress": "XxUmFWmCSBR6RuViEQcD94Nhj6ThpNg6p5", + "pubKeyOperator": "8918be5c7c8814a658c44bea6864d19c60b22f58cef6dcbb13ebeff07ae4a0ff8cb7511ca708a855e9e9e5974f704ef8" + } + }, + { + "type": "Regular", + "proTxHash": "9c9ad387d11790d41bded263c47174134873f61307b97237858c347d871a5994", + "collateralHash": "d0fc3499e9aaf30cd8311381cdb671e84b682f8d258684b3fa0f748b132f25cd", + "collateralIndex": 0, + "collateralAddress": "XxTcV2BwVttuiGMrCkvxKDLQXyutdF4nW3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.47.119.20:9999", + "registeredHeight": 1205650, + "lastPaidHeight": 2127746, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm2kJMgceE38mdfePiJ3y1R2TA6mkFTQfT", + "votingAddress": "Xx1ezgX9dDtWHNfBNS4Dqv9a95B7U2bCWC", + "payoutAddress": "XsYTabP8D4CgRkyw3Kz1xuYswS7e5F8Fbq", + "pubKeyOperator": "8d02779cd103bef2f9933a2520b71c9d685554b2802f42b0b0edb107d2c6792e6e489d3b8e05486f2a8effb3788ab766" + } + }, + { + "type": "Regular", + "proTxHash": "61b8708fa63f790bcde5fd70b8bddf0abdeb733a1ad1048be8dda0eb9b7748d8", + "collateralHash": "1cc8dc0a423b0092f5c75936a1545bf31bf204973cdf435eacc7dfcf18138e72", + "collateralIndex": 1, + "collateralAddress": "Xwya3NKL4wtRgNACEvpJTizqW615Tht9BA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.20.114.223:9999", + "registeredHeight": 1207341, + "lastPaidHeight": 2126387, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1735046, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpaNvDtd8trUpfeT8du8Nm3K9WCp8z7D1r", + "votingAddress": "XnpumBZGJeC1FHjXjjLQ3jjQ8FwsvP8yuK", + "payoutAddress": "XyazpVPgQ6dTQVDqRXhH2JQQz55mfpC2r8", + "pubKeyOperator": "88a594073c12b9966a99488e2cff9666c4e89ca316a4da205959abaac34cf16e675436d3ca4939fec427ca782383c8f3" + } + }, + { + "type": "Regular", + "proTxHash": "604b507247fb857c51f0d794ad8f4f8c61f2223d85520e88f97fd6cc0a805f71", + "collateralHash": "fb9e159168bb01e6192e3e862976c688ccd89af093ddefc935952763dff6a338", + "collateralIndex": 0, + "collateralAddress": "XrPXzwF3QdhMumhtWjEhKJY7ka3qXuGC52", + "operatorReward": 0, + "state": { + "version": 1, + "service": "140.82.52.184:9999", + "registeredHeight": 1208766, + "lastPaidHeight": 2126750, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xya7TxfCjDeqCKRrkkqkijn7H3cB9QnL9D", + "votingAddress": "XjDwE1Z7BdRucn6FYTfLLds97AtuLGikEr", + "payoutAddress": "XrPXzwF3QdhMumhtWjEhKJY7ka3qXuGC52", + "pubKeyOperator": "138f21d388656fdd3ecc30ec37e57fabc2787de93c2efed98ca4189d1dd9ea56c2dcd8a31beee58c0bcdb245bccd53c9" + } + }, + { + "type": "Regular", + "proTxHash": "366526db090463676727dc692c554e0255418f2137848c5ca8138504e74859d4", + "collateralHash": "9f17aa6273a31c7fd4c577e2057c2e5b72a033c4652ac660511d4724547004d3", + "collateralIndex": 1, + "collateralAddress": "XmGM3LNaSHYUap2CkgKenER6jzXPvegKa7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.94.173:9999", + "registeredHeight": 1208775, + "lastPaidHeight": 2126763, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxLQZkjdUKcF3v5AjaUYfXPmH3SafksvmC", + "votingAddress": "XjSLZckxNmAaQ75HMMrjhLFWE2f8Pjt3pX", + "payoutAddress": "XmGM3LNaSHYUap2CkgKenER6jzXPvegKa7", + "pubKeyOperator": "099b8b1ab3831be8d0ba705426ee55809c61f6b16ff9381aa5d76daa312f77ca5d1b055d7f5794201c7b049e35836f46" + } + }, + { + "type": "Regular", + "proTxHash": "712069571b9410c039b94c4feb2d5b5004c1864af071090673d73c27da84a098", + "collateralHash": "84cbd30d4fe63e2714aa5480459bcfaa3e97e9a57a2671ce7db29bd85ed1f1f4", + "collateralIndex": 1, + "collateralAddress": "XyQugLQkLy8XGVBHBhR6VVyAUG98oY2Hci", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.175.70:9999", + "registeredHeight": 1212573, + "lastPaidHeight": 2126229, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjWhMp2x22F4jz6cmCyeb7PDJUR3S5F3yD", + "votingAddress": "Xup75p1qZ1QvFYR5ogoKGmHVG43YdobmVX", + "payoutAddress": "XyQugLQkLy8XGVBHBhR6VVyAUG98oY2Hci", + "pubKeyOperator": "09d6153afb8a0b3049cd247914a7132dcd8b1cb48aaaf9f84e0dacb2d65927ee38a167d088bf15de91c7ea59b3663745" + } + }, + { + "type": "Regular", + "proTxHash": "0e7554535604d2aba583465913ed2abda61bc3f8fb4daa79554915771c2bae32", + "collateralHash": "84cbd30d4fe63e2714aa5480459bcfaa3e97e9a57a2671ce7db29bd85ed1f1f4", + "collateralIndex": 2, + "collateralAddress": "XwRL2MKsY4C62zXsRnYQmnH9nGVKim3U18", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.135:9999", + "registeredHeight": 1212573, + "lastPaidHeight": 2127817, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1830709, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgPgt3SpQnFpsr6xnwJtRxHnaFr1eBvUU5", + "votingAddress": "XyFyzPmmvdAmXZ3bm6SVJTrFEBw9eNif4Z", + "payoutAddress": "XwRL2MKsY4C62zXsRnYQmnH9nGVKim3U18", + "pubKeyOperator": "80a0cd078b56fa811d346656cf0f0de1832e4108b150d8afb74dfd4cf1b0838524606e0b23361f784e64bb9934e0be73" + } + }, + { + "type": "Regular", + "proTxHash": "5f206ec4ca418f07c2275e4a3b4aebf3a968d628e7643c036bb7149b34204124", + "collateralHash": "68a3ddf20fb34a3239ca3de8817cee4b2f4b3b1a00ee7c1abfc7f1bef2ea3974", + "collateralIndex": 3, + "collateralAddress": "Xm7jgqof19zejRJoQqJQzUeJ7hBKb8yjjd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.246.221:9999", + "registeredHeight": 1212618, + "lastPaidHeight": 1631033, + "consecutivePayments": 0, + "PoSePenalty": 4565, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1633883, + "revocationReason": 0, + "ownerAddress": "XqJrpTMjC3xrdkawP3jQCEpwr43EkcbVnN", + "votingAddress": "Xeo3n3yUKJLuGDPpon9ccRi1bfnGgCiFqB", + "payoutAddress": "Xm7jgqof19zejRJoQqJQzUeJ7hBKb8yjjd", + "pubKeyOperator": "83f7ac19ccd71ba0e7fc2829f647ca77d693dc23f41981ca06bc4d33bdb719b119677dd990e27fdbf18d4fa59d4c0280" + } + }, + { + "type": "Regular", + "proTxHash": "73ff78ab94b5f58a72f7d39640176fe5676626e84cee1805d1632e1c23189165", + "collateralHash": "68a3ddf20fb34a3239ca3de8817cee4b2f4b3b1a00ee7c1abfc7f1bef2ea3974", + "collateralIndex": 4, + "collateralAddress": "XpfQzsE2fGj4PjGb1qZnRhPpjqcv8caUcc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.241.117:9999", + "registeredHeight": 1212618, + "lastPaidHeight": 1635360, + "consecutivePayments": 0, + "PoSePenalty": 4557, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1637651, + "revocationReason": 0, + "ownerAddress": "XnUcYnD4Hoe9eo7jdqNh5wFdpRKJo2CyXy", + "votingAddress": "Xh5Sa1reQBppEegKjQNHcKKBo26fkNtZYb", + "payoutAddress": "XpfQzsE2fGj4PjGb1qZnRhPpjqcv8caUcc", + "pubKeyOperator": "03d81b6295466acb3b3a07ec3d663f1111c6bf0341b42fc833fbc6d9291d8f11bd8c62cfe585b3ba77aa1398f2b805ad" + } + }, + { + "type": "Regular", + "proTxHash": "62f15dce085179d94cfd134aa78cf09c1a60c9b0e2356dd481af97a5f879c44d", + "collateralHash": "68a3ddf20fb34a3239ca3de8817cee4b2f4b3b1a00ee7c1abfc7f1bef2ea3974", + "collateralIndex": 2, + "collateralAddress": "XcZHNzQziSAFUgj48EHSBWkDbzBAftZnAo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.39.36:9999", + "registeredHeight": 1212618, + "lastPaidHeight": 1635359, + "consecutivePayments": 0, + "PoSePenalty": 4558, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1638323, + "revocationReason": 0, + "ownerAddress": "XjX5ZjAWLw3D5iUX3W17eWYL5HE7kcQ773", + "votingAddress": "XhaJtzNRv4LPQGVyGhG2srebTJLAbsgq68", + "payoutAddress": "XcZHNzQziSAFUgj48EHSBWkDbzBAftZnAo", + "pubKeyOperator": "0da0fbae93f47952855f8c41990a5368349e8c0c006a703cd79111dc5bfbf3a2aa9736a5356206eeffaeb34b59e5a5fa" + } + }, + { + "type": "Regular", + "proTxHash": "dd10e9d49102d5dc95fb37481f3d23f05f812d6956cbe75a341b122cb7ba647f", + "collateralHash": "68a3ddf20fb34a3239ca3de8817cee4b2f4b3b1a00ee7c1abfc7f1bef2ea3974", + "collateralIndex": 5, + "collateralAddress": "XtNTtkKug2PcYz2hERvo2eubhwjrDeud4R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.178.244:9999", + "registeredHeight": 1212618, + "lastPaidHeight": 1635361, + "consecutivePayments": 0, + "PoSePenalty": 4554, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1639283, + "revocationReason": 0, + "ownerAddress": "XurgsfM7gok9oUzb4LQQvpVSHfrLkDLhop", + "votingAddress": "XygwmAjmzPJ4eaBMScwndsAFNThRidM7mH", + "payoutAddress": "XtNTtkKug2PcYz2hERvo2eubhwjrDeud4R", + "pubKeyOperator": "8fe87a428eb924d06602a4690e49304843bf5c24459f6dd50faf587f93e6b4785bdcfcda48754c787f0339796df8e6d8" + } + }, + { + "type": "Regular", + "proTxHash": "bc4db9ed2e6181bb041478357a65667a8175d0340480e6dd38e921f6fd871449", + "collateralHash": "68a3ddf20fb34a3239ca3de8817cee4b2f4b3b1a00ee7c1abfc7f1bef2ea3974", + "collateralIndex": 1, + "collateralAddress": "XbA4WtUuDZiCsJE4ckRVe7afWqasYBx4Ge", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.39.170:9999", + "registeredHeight": 1212618, + "lastPaidHeight": 1631035, + "consecutivePayments": 0, + "PoSePenalty": 4562, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1635156, + "revocationReason": 0, + "ownerAddress": "XxgGgZAEFywBz9gWGT53qVHo2zCX1Uc8av", + "votingAddress": "XoLR9bCWdrNhsNCwbnG6Lyy5BSppdD9cAq", + "payoutAddress": "XbA4WtUuDZiCsJE4ckRVe7afWqasYBx4Ge", + "pubKeyOperator": "13e991b55449d2f0280845061eca28f39d583d15b32ace75d7ab9ebfd65f17447216ff4159e898d202dcc3a10c6e4790" + } + }, + { + "type": "Regular", + "proTxHash": "3ac77decb0cbdf1690a83542d246c7399a24056a8e075d554bffe3cfc720223c", + "collateralHash": "cc47abb058c9b8481b02dc868b96e4110c053f415a79f6cc8703ae9da69ee967", + "collateralIndex": 1, + "collateralAddress": "Xf3LZPLZWhXgq9GEGLDAh6rHcVTfuCgjrx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.150.159:9999", + "registeredHeight": 1213515, + "lastPaidHeight": 2126880, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvDQzkvVpWyKLTuyE8BWsDdwyywt1cT2Ca", + "votingAddress": "XiDxJPcpWGuibUvWZkT6mJyS3SKPY9eRSu", + "payoutAddress": "Xf3LZPLZWhXgq9GEGLDAh6rHcVTfuCgjrx", + "pubKeyOperator": "043b0003dc221a22d62b50be90d91d4153ad05a53a0d5e5020090a68a56ac45d60e18520910246dc874e28c06b58f45e" + } + }, + { + "type": "Regular", + "proTxHash": "39787429404a3bd891497d0f4883ef42f58d635e50cd9e100632026b9818a975", + "collateralHash": "b0a0b3a49bdb8af7c926d426e45bd288c827584bbd3cfbf07a0a3a0342b7a565", + "collateralIndex": 1, + "collateralAddress": "XhmT7guTCZfgsgRZxFjjjH2Z9M92foGGFV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.236:9999", + "registeredHeight": 1213530, + "lastPaidHeight": 2126889, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xju8sf41YfhkmJjfJ1SErzBeaLthntTE7y", + "votingAddress": "XiGioCaXHWTuGJhMQJwuD1XXYet4npYcyB", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "87aee21636298ae98fd149a65cf5a239d5469832f430bce0a04da36f9a0019aec7d76dd80c5652c7ff0e4374e19e45ce" + } + }, + { + "type": "Regular", + "proTxHash": "acd1708ea9fc2472927b8369a4564ae034d9d1e629a0632510a4852476993ec8", + "collateralHash": "44a802635d1283054e262e7dec06fb0bd7a3da3e45a2e5057db8b14cdd4fecbb", + "collateralIndex": 0, + "collateralAddress": "XeVRK1Hy5hotzPrbHXtzosqodB6hAANFUm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.101.187:9999", + "registeredHeight": 1216929, + "lastPaidHeight": 2128272, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2054496, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhjQJRvKTMCJrgeHuEAiYgiHAoY13snwuR", + "votingAddress": "Xtisvk5h1ARZMTE3YH8q3qW9wvbnXU2GsY", + "payoutAddress": "XdmVroxWdqhtjuQ2AfQNA1uSco4sawuiH6", + "pubKeyOperator": "0f47ecec2079ea4c3efc1f6e3f753056ed2761610d5a18f4007a67d82d38231a1c2645a081e3f26a349717b54d9e1900" + } + }, + { + "type": "Regular", + "proTxHash": "148c3fd705347b7748fb46b44a598b6305d9d47fb681f88954577288c6a89a9d", + "collateralHash": "2649765d498dc3e6b8d70c884d315134624b9018611fc79149f5ebe377dfb475", + "collateralIndex": 1, + "collateralAddress": "XnNpAWTMMQQqXgK29nSEZ3UXq2MUscG73B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.234.171:9999", + "registeredHeight": 1216931, + "lastPaidHeight": 2127074, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1753999, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm1r2fFRhsFWRRyExcR4XZctBgMjwVnEGx", + "votingAddress": "Xpo8ysAywakSUXELxS9VAGU1fxfUL5aTuU", + "payoutAddress": "XxSjBMUskE7F9XbpA6TYbHzhHDmn7vtG2w", + "pubKeyOperator": "88cace92eda9f34f11251c1345c9e7edb85fd8932f27efdf9ceb81c4eaee03a60d11a1c256a0ebc0b86df953043ee6b8" + } + }, + { + "type": "Regular", + "proTxHash": "db4d61d212362666b1b9a2c1d863d3a11df8a5214090028c3d516e3b48e56174", + "collateralHash": "8de526e7031e72121430c411e44c98da6e8d4c810361c64e674b8f8b92c3b911", + "collateralIndex": 1, + "collateralAddress": "Xvd7WK3Nj1RPJ7Sf8ksXikxzj6ZN1XohHs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "142.93.231.17:9999", + "registeredHeight": 1218082, + "lastPaidHeight": 2128566, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007652, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjYLYEweHXJjWpBPpUNo3jfW9HiPEv74NP", + "votingAddress": "XjYLYEweHXJjWpBPpUNo3jfW9HiPEv74NP", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "0adbe29fc3633b567d4dff52c7383825441eb119d01983333f012cff6edf087476f08fa40632da50a98b4153e7ebc0b6" + } + }, + { + "type": "Regular", + "proTxHash": "f0cf643f2098605eb570f22a72d6fb93735563e35c5b9bb93885236d5388e0f6", + "collateralHash": "d059ecff34f19da9a6c7a72f48a5ad3f7faa6edf5dd949291ab42c65206cffa7", + "collateralIndex": 1, + "collateralAddress": "XqGcrozzdnXVNJ99otmPEjJS8RLuP3Vv52", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.22.167:9999", + "registeredHeight": 1218250, + "lastPaidHeight": 2128795, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977451, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xtrv63xHBDa45UYj8ybBPgMBfETiFJPYsG", + "votingAddress": "Xkf7FwbhWvycdopQjqwTNjPZJDnDkKgr4V", + "payoutAddress": "Xo5Su1oqskXitKf2VEGsioHmDNUJrX8wjy", + "pubKeyOperator": "0ba7c48c6a4b5dcc06f9d965d51c12750575e73b58344e50f8a302abb1d43eb7eb539f85d7b1d25e1640cfd7970a9f83" + } + }, + { + "type": "Regular", + "proTxHash": "b2e4d784149c04c5aaca458510c686514f05ed8b804ce4cae95f486c15404800", + "collateralHash": "569f16d6a12390ac4de2506291fbb445c8d4a223813c486451bceeb5fac88cfb", + "collateralIndex": 1, + "collateralAddress": "XjojhxgxLf3zrDFnGpF66tZQ4sEZNYEUcP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.4:9999", + "registeredHeight": 1221807, + "lastPaidHeight": 2126225, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxFirfb6c8ManwuYMyodZAZMVXSksr7BwS", + "votingAddress": "XxFirfb6c8ManwuYMyodZAZMVXSksr7BwS", + "payoutAddress": "XrmwCJGcZppVKPWvMMPSutA7WkiXo5FrZ7", + "pubKeyOperator": "82027b2f0b86356e54ad9f6f9d09cc6b9397b194f01efa72cc9fcc15101014c7b870c7787b082c7ed08aaf3a1a9a4134" + } + }, + { + "type": "Regular", + "proTxHash": "fbed01f1d12e9768d5c1c082235b69aa5cee6b95066f5d8512853725132d038b", + "collateralHash": "cb403aa9781cd8dd3668f2656b9372cf0e342f8c78a97b651f6c84e3c1d1fb8c", + "collateralIndex": 0, + "collateralAddress": "Xxx8Z716AemADaQwnEUoqV6fBmwvGygFcL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1224949, + "lastPaidHeight": 1725528, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1663274, + "PoSeBanHeight": 1727415, + "revocationReason": 0, + "ownerAddress": "XdpEYniMjXeYqxvjcHbdQZL7Z17NuRjGhH", + "votingAddress": "XbxFKfpL36HguCYV4HPcxJmqfDeryARLFt", + "payoutAddress": "Xvydzd7kt47od76GTryeXyXP7G8DDDUWfK", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2db9de9567006fea5ca570d207ad35b2443e0bfdc1aff767f247ca613aded2ca", + "collateralHash": "822f0ad58975f77d717b7aac43694f4d07b74fa80eb5b26a0614754876523c2c", + "collateralIndex": 0, + "collateralAddress": "XcJNyBpPwCpgJYhqMTdLFsANdKkSs6Cwz6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1224954, + "lastPaidHeight": 1726309, + "consecutivePayments": 0, + "PoSePenalty": 2393, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727415, + "revocationReason": 0, + "ownerAddress": "XvX5akQ5F43HY5nm4wEPjuUooPCnQL3gjj", + "votingAddress": "Xf7ziHJXY8qZ1HV2E4mzewKcyvpMnLszPa", + "payoutAddress": "XptqYpHgUwehnqEPyrPGQtd2aE5fTuN6r1", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d43e70bcb00a581a0cc02f390b1175fd50040452da77a9a39dfc5be71e5b1891", + "collateralHash": "7ac15855bdbec5050d723f8de6ef601206112d53b66dd5cdfdf40561a67dc153", + "collateralIndex": 1, + "collateralAddress": "XpvkbPt6kpVsdQv99dS9TLkv5BLzeoa7fr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1224956, + "lastPaidHeight": 1722267, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725179, + "revocationReason": 0, + "ownerAddress": "XmfV47Y2DkSdKfZpMd9SYAijvFntF7HZzj", + "votingAddress": "Xg1LbEzrhPcjMHgJRUwwRVhPQitrAHBg7q", + "payoutAddress": "Xck3EpDXtKQYX6aMrEeQsiYrMVjFvnQ1aM", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0582c5ecc6bb7dd08eac809c01f685376aed28b7f1644f46345e217ccaa3684d", + "collateralHash": "51070ac5e3a2f9d1d55c86a609f8b03b3b9c38c79fe97a2c16619a483ca52831", + "collateralIndex": 1, + "collateralAddress": "XvQnfMSnb9pihQBCdkgjczybehbXKifGzW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1224957, + "lastPaidHeight": 1726312, + "consecutivePayments": 0, + "PoSePenalty": 1351, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727415, + "revocationReason": 0, + "ownerAddress": "XdMeLo7dg8UbFJcw4azcyBZfQCtsFJYgzE", + "votingAddress": "Xuu2nCh4SL8DrpUyeHnxKQTrWQ6dRnX4jg", + "payoutAddress": "Xyo9bsmaC69D1L35L5XDDvA5LENJR9YN2e", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6bab8ee43f87b3cdb041ac230880747169d660885206a3d99880be26f2976903", + "collateralHash": "dbe7a7d8cb9f65c3017372584d2126af6149e2556591bd269fa146285394f274", + "collateralIndex": 1, + "collateralAddress": "XmDawKSv3E3Z8Supd1x1LctxmtYmrG9nfV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.133:9999", + "registeredHeight": 1227411, + "lastPaidHeight": 2127907, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1585176, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyDEzQ3c64jDJ2CGCHhf7cx8mGzsCZQvEC", + "votingAddress": "XdH8PTLUD6BQEQbLUfgA6rJbbdHimobTk7", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "070a6db18c2debbb06f24e092f02066901cdd644017d9d5faf2e7dd2a75975f9a8e79bd3af8e3463d5fb9ccd91960b36" + } + }, + { + "type": "Regular", + "proTxHash": "58286520e060ab745fc2ddeb3d232068caf630256d76f26aace815549634b68f", + "collateralHash": "bebb34593fe8649751a1215ed7572630536d63a214d4044ed299e4c41612f9e9", + "collateralIndex": 1, + "collateralAddress": "XucGZERcHSaJRd9WpUQB5Ueakr7qU9BGuF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.109.237.75:9999", + "registeredHeight": 1229606, + "lastPaidHeight": 2116672, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 1977829, + "PoSeBanHeight": 2117130, + "revocationReason": 0, + "ownerAddress": "XmJ8p5HKpZHQ2YfxGSqDoSSCzU6m33bTkb", + "votingAddress": "XcTLi7njL7dfBrLSJkAgZpP9fkusGW615X", + "payoutAddress": "XtcCK5aK6G9p2c4A1sXW2KSFvAD6qRCZAN", + "pubKeyOperator": "8aa7388a93a2bb0ebbdfc9a9d6abca9c2b8054bbae24aabc608e467448c58e269797743fc6e7b4fe5c5cce2587388e3a" + } + }, + { + "type": "Regular", + "proTxHash": "b33505fffb773745bd2f5e964d52f16d02247662d12b03f827b9ffc6352aa6ea", + "collateralHash": "488fcba951ad6debb69ea95d253c9ba3ea19e2b034c77cebd06d78f919ee17e5", + "collateralIndex": 1, + "collateralAddress": "XqmLrx59fiVzLXsfcvui5o32CGiSdhtNgG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.94.182:9999", + "registeredHeight": 1232376, + "lastPaidHeight": 2126504, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1727662, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmNfsgvEte1UUMNzdYaTjdBmiDohqhUGKq", + "votingAddress": "XpBeXkvpM7ruSdAmwq2FKfgeJSk7qA39qg", + "payoutAddress": "XiHs9tmreQ8VuGrNYZi4h6kBrzQXYtuqXg", + "pubKeyOperator": "95062a8bd73faccdf02385e0081963014cc51c805da2233abece6ac0834a7547e2467ad4a09ddc9e71b8e71a37b1a6f0" + } + }, + { + "type": "Regular", + "proTxHash": "f3d48cbdb0faecafd40ee3d8f1b445d3bbe44bdb6852032b8912ee18494e7f5f", + "collateralHash": "8a65f90b1ef166970c7b409ec5a9dbc261e42fb242128b4b7d789ae026573e18", + "collateralIndex": 1, + "collateralAddress": "XvF8dqyY8xaD3GiA8p7y2PWR9rgm3YGwq5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.30:9999", + "registeredHeight": 1234413, + "lastPaidHeight": 2128711, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xro3jP5SKijH42jeYbMyazy2ojmke3egB6", + "votingAddress": "Xro3jP5SKijH42jeYbMyazy2ojmke3egB6", + "payoutAddress": "Xuesp5DQ7Eo9c1d1PfwHLb7gdzJfaTZqe4", + "pubKeyOperator": "825b93492ac36df028e64173b8f7cf6d30eb2f388b493d46d8165be84db52b5650f73b64929f0013cda868c5b6a984f1" + } + }, + { + "type": "Regular", + "proTxHash": "e1f8f4d09aeb35d826312c0be1de32a1959399ab7b95acc5ac9e03a55397d92a", + "collateralHash": "ee54e99acbe75fea792d094949964290e5e0b53594ea9a03b2d21431ba47ace6", + "collateralIndex": 0, + "collateralAddress": "XpV5jRdfCfrg41MmagkKfa1VHtmqTCsApP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1235255, + "lastPaidHeight": 1348472, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1348635, + "revocationReason": 1, + "ownerAddress": "XeiexxzndMeCLWHadWvmdDp5QKdnUrJVVc", + "votingAddress": "Xoe99E6ysCjCnshfKYturVhHWJMTJKT4sM", + "payoutAddress": "Xu72H28kP86rHWHgJGBbpiGiN84EEsHFnm", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d3c9dd4c27ac4edfb0e250fd48c99637ee5e1f8c88f8ffdd7049190e91c4cc1b", + "collateralHash": "19411234f10fb979f118f7e04081e3e2d647c2748c77e82e3587dc2a23e88bf0", + "collateralIndex": 1, + "collateralAddress": "XhxBx4aF3uqSRmr2cqg2sJX1EEyYXzCe63", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.227:9999", + "registeredHeight": 1236481, + "lastPaidHeight": 2126761, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeJUTQbFoeUFXV2Tv314zLypSNi6idnA1r", + "votingAddress": "XnghWtWUqBCZEw6d4FE8Tp9b7D93cZgVHc", + "payoutAddress": "XhxBx4aF3uqSRmr2cqg2sJX1EEyYXzCe63", + "pubKeyOperator": "163ef59611d144854ffab3adf30aadda7426f67458823577e42506ff4a5428497e9ecd70f692f27fc319ef3573268556" + } + }, + { + "type": "Regular", + "proTxHash": "39430a000f1c3815dbfc6225c9bd9db080aa0291dcf1bd4fa114f6a81bf6651a", + "collateralHash": "2c90bbdf3d9627ab7b7e7d8e81a4ab9f155bfbdbc24a2a0aac34bc614cfa9c3f", + "collateralIndex": 1, + "collateralAddress": "XudKuSCJE8YYqcedNScz7UnpZynRbMyHfN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.36:9999", + "registeredHeight": 1237020, + "lastPaidHeight": 2127119, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1899980, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfr3zhJmhEELEp5zSKQhoY8WFHHDsYVeqw", + "votingAddress": "XpMN65nsK4FE7nahuEom3oVS7KP8ovo27q", + "payoutAddress": "XudKuSCJE8YYqcedNScz7UnpZynRbMyHfN", + "pubKeyOperator": "009972d27351d6194fece0a4657be2c6a7f281e2ba1d3e787c8d4d84347ecc2749f44835b5518775d3aefebedc02f244" + } + }, + { + "type": "Regular", + "proTxHash": "865d91d2dc1179f2386944522de51670602b0c757ab8d6dfbe6b8a73da9967d7", + "collateralHash": "fb4dcf1fef0ac1fdaecc785d311d0ff3d838d255cc5d887629b3d6000c901f89", + "collateralIndex": 1, + "collateralAddress": "XhZwU4S2HTQwwdF3C3jBN1vHU9GP7wQ3tT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.49:9999", + "registeredHeight": 1237285, + "lastPaidHeight": 2127298, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqUT4rone2rBpvGi726UoKNsfgUarH4jeU", + "votingAddress": "XvZkAhDxATHMbSye1wqQnRc6qKRMFckgLf", + "payoutAddress": "XwohECTUiZhLgeycW3u1b8Y8jhmt6ApNCk", + "pubKeyOperator": "1706555176f9d70a201193d0c65e896927e5bfa4a7dc37ff6f7877017199d5d1da6da309d123f00dfc92f8c4c433e86c" + } + }, + { + "type": "Regular", + "proTxHash": "10cb666de6a84948a6933badca65282d29306491b85b8f4089c7fea8f11483a8", + "collateralHash": "05d1453007c631fe895425856b81bc4b0e063d1071063effa7f074d22db44cca", + "collateralIndex": 1, + "collateralAddress": "XcJgrHytx983bgShZndba69cstc3RhtLoQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.35:9999", + "registeredHeight": 1237602, + "lastPaidHeight": 2127457, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvq1tpEsvM46mFB5gvrZYThFYX3BrxGYvX", + "votingAddress": "XkfNiApsdGQFqaMX8JTSgVpHyFX2HrBGf2", + "payoutAddress": "XcJgrHytx983bgShZndba69cstc3RhtLoQ", + "pubKeyOperator": "90b7dd7c99d5b3110f872b63dc8bbf1f1bb94284310206f58b878c71471c843297f106022b9167ed369f3c26c343c1da" + } + }, + { + "type": "Regular", + "proTxHash": "9b8b44de9c9d47fda25dcd2568d1d75b3d80c220d3ad504fd0e24801f32cfe4f", + "collateralHash": "6ac80233d26f271fd914e7dc201f0b4892610cdd0a12e32c08aa73eefa7333b6", + "collateralIndex": 0, + "collateralAddress": "XhefTzf2WjH5VsDdgbV8sxSZoZsYoiW1U9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.102:9999", + "registeredHeight": 1240734, + "lastPaidHeight": 2127820, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1830709, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtJqVFHzoZLyjR8frsmtYtRywmX81Btbxj", + "votingAddress": "XpM21ifAza8NmhQ8Z3MBpcZFW54JA5LbKW", + "payoutAddress": "XhefTzf2WjH5VsDdgbV8sxSZoZsYoiW1U9", + "pubKeyOperator": "99d50e2bd0f24425db66159e9bb8c92a89fd5d55ab5607aa58c3102e83f521b4344de1c47b6b47d4b0a06ba3863c9cfa" + } + }, + { + "type": "Regular", + "proTxHash": "d04b017caa0bfa31cab66798970ae6be58f7fb720bdba3d041ba4f40585b429b", + "collateralHash": "1e74377e03382210bf85c9dc1673a3a978cd743b54974cff1eba389bc773a6bc", + "collateralIndex": 0, + "collateralAddress": "XtCjb9Q8XSwttXtyUQh9JV9g1CCMfe5ozX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.81.17.138:9999", + "registeredHeight": 1241190, + "lastPaidHeight": 1733987, + "consecutivePayments": 0, + "PoSePenalty": 4469, + "PoSeRevivedHeight": 1689291, + "PoSeBanHeight": 1737396, + "revocationReason": 0, + "ownerAddress": "Xq4xLJfiTgxFvWPxLt5senWZbyBuYdFpQR", + "votingAddress": "XjdTwQuqvxjzAH6qKRJsxakT3zsAWvixAs", + "payoutAddress": "XtCjb9Q8XSwttXtyUQh9JV9g1CCMfe5ozX", + "pubKeyOperator": "18a4067bf12b74a1bba8c79d36c558df418a24edf087911e84abd161df1b5e759fd921bf4498f7853aa6dac1ad9b3703" + } + }, + { + "type": "Regular", + "proTxHash": "0062e548ac39d518de7b74b9ea92cf6735a8699a3d70896e533dbb5167aedd0b", + "collateralHash": "10ac7a1c6f3561929db16c16567d118804ac0fcbb7451d9bd7774871013757a0", + "collateralIndex": 0, + "collateralAddress": "XcJLKbY4Dhb4uai9WhjfMxuep48K3noAkg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.69:9999", + "registeredHeight": 1242734, + "lastPaidHeight": 2126160, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1519336, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfV3vwJ8EwZbTedSsCn1Rqfp62p7mhgDbv", + "votingAddress": "Xi5xPr9oqkCAzAoG7eqarGKsgkuSEdoEMm", + "payoutAddress": "XmqWkeYFKQ6uzw1DVmGRTfkLyw4H7fQAmv", + "pubKeyOperator": "8e053cea8b28b4e904909e0c2d2e07c33855c518f0b7deb640d25f0b8b71d9401176eb4b72eaaff6c34761c699c8f291" + } + }, + { + "type": "Regular", + "proTxHash": "e71acd75e2393f0aae1a0ffb524c7cb52597b912bdfea8ec509d27d054015805", + "collateralHash": "7f615799309e79c52ea6e9de70b94b2924a53599f1ffe6e0d5f0a82ff3c887aa", + "collateralIndex": 0, + "collateralAddress": "Xn2Nze5ZXibYxPbFHwtF9ST2jDfkNb7aVM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.56.80.27:9999", + "registeredHeight": 1244236, + "lastPaidHeight": 1248831, + "consecutivePayments": 0, + "PoSePenalty": 4690, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1249883, + "revocationReason": 0, + "ownerAddress": "XkAHzmLtWQTXEmU4VnAuW8RweF5r4MdZSF", + "votingAddress": "Xya9TradSSnvcGdP2wsSjy5Knjuw8vmB58", + "payoutAddress": "XqG91cZtAFhgN16Qp5KzRv6wXLUhjnk5NH", + "pubKeyOperator": "8dd634b816918780e82cd4e6bdef548e8ebc0ba92877c45629d6b0ed27fa04dc2303b934fc46e8c033a6a58ccdb4ae98" + } + }, + { + "type": "Regular", + "proTxHash": "8b3c67a98beea93d17cb90f167a01153e22cbfb1147d7240a753b96c1d7e3fdf", + "collateralHash": "f7008bc499feda6a8353fd05d807ed605f9f20b24d4be41a5815ea45c3fe8f52", + "collateralIndex": 0, + "collateralAddress": "Xv2UVfDNirsji6jZZfE98DpoeYwodyotDG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1249523, + "lastPaidHeight": 1723409, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726500, + "revocationReason": 0, + "ownerAddress": "XfYWQWHHh18SgVJpfMN7igDh6RxLjSwLsE", + "votingAddress": "XsnWyEMBixVYY5ioehsu43VoHS4DRr7MoF", + "payoutAddress": "XvBrD3PTHHuLp7hVjNuUbbjwrWnjdhmZEz", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "abf2f87787fd43367c157a7ff2fa50184b7bd48ace267f4572caac9a203c61e6", + "collateralHash": "fb4dc1a1d5533a6854ec2e0464ac036a7855e0863a91ca8d9ca2badef8b505e0", + "collateralIndex": 0, + "collateralAddress": "XsZFzShPCXaqwixtKkjykiM69HBANeSP4r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1249527, + "lastPaidHeight": 1723412, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726020, + "revocationReason": 0, + "ownerAddress": "XbRkDPG5C588qi2jAu45PaDFA2e4Bsgk5t", + "votingAddress": "Xw29o2W2ghQcvSQMqVNB2BfFv9pDHF8oRN", + "payoutAddress": "XsUiBRay7j1xW8m9AtpSF3uTmGFQyQwBo1", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "36d4176c91a30607948d1899b1db2b636f3a2a83d1e597b01880f4d561b09f52", + "collateralHash": "85f216bdbf663b8e34930e0218fdb0b95c2da1a2b967c9c52069ef1a26f13c70", + "collateralIndex": 1, + "collateralAddress": "XwWaHuneXdGKCyMGzVsxsDhoQz8AgHSt5U", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1249530, + "lastPaidHeight": 1723413, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "XivNYMRu5UjPRnAR6bk3M4QM1PHSGoNaBb", + "votingAddress": "Xrhf8d7toi6t7RzeGeePKjHenvHnF5KsR6", + "payoutAddress": "Xkd573MWBLswdNKYJ1NSc4ZYUxfcSbJqu6", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6d01af715a381e17d59450be282c5624e6e658567ec3e16871d5e4a7263dfb96", + "collateralHash": "7e8eef9b4db2925ff8923b69b8b457ec53ebe7f74698044e1e9f698b08bbcf4e", + "collateralIndex": 1, + "collateralAddress": "XbNjxf2VQaxyTyeuZwkFgJmYH7bsKjsJVB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.189.157.210:9999", + "registeredHeight": 1251464, + "lastPaidHeight": 2127453, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2070688, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgMJiWYeatYBbTEyBmmtrefzJUbMfs7iwh", + "votingAddress": "XgMJiWYeatYBbTEyBmmtrefzJUbMfs7iwh", + "payoutAddress": "XqkkhwJDeGCZeFqwhedHP5cuVDWr6N6faq", + "pubKeyOperator": "00474e1bbf9bba49f1f3ad2b1065b1b5162fe84ad7a43e7d28ce7920b3d2947f3e0ec013786a442f768ac13ff29f2177" + } + }, + { + "type": "Regular", + "proTxHash": "5230834d9f501372fb1159b0c2abee4a72fd829cfd0583a739c2952d5246507a", + "collateralHash": "80c5d8bc664e2294a5468054106943d062a989695da8c4a8a7dd9b0f40325428", + "collateralIndex": 1, + "collateralAddress": "Xxkd7DTB359Wyd8LjvDhreytzyjZfPCqJE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.140.107.48:9999", + "registeredHeight": 1256879, + "lastPaidHeight": 2126491, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126935, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfztvZnBQYzbnbjCAS49sHEqqsN5GoCQVN", + "votingAddress": "Xf9KnFXLnHbLnbtACuahhPN9wmKxkvwXxo", + "payoutAddress": "Xs8Znb7NJiUZ5RjDa7XzTLbSif3dGZf8MN", + "pubKeyOperator": "13c30f2a8aece636acc66553accc0b6c08b238f30818bdc3b72759e5829bf2efc76f65cae4792e3524b3d642cbc44e72" + } + }, + { + "type": "Regular", + "proTxHash": "27c457ee77f6f08a5b5b46f262562841e2e2e90c1585cbbb2417f55bca680d7a", + "collateralHash": "debc48c1b1c2a5f066a0723ecfb2db55a8bbf9184524c259348fa050055abed7", + "collateralIndex": 0, + "collateralAddress": "Xov6Gum2ywB3mnhRUTJPmJJfPtvC1yeJzH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.142:9999", + "registeredHeight": 1258805, + "lastPaidHeight": 2126388, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbkmZds8GbdiyPo7pfbLfywqbYSoNTT3Hq", + "votingAddress": "XfEWQGNzBnJK1vor8cDbBrowXmH8fvPsUq", + "payoutAddress": "Xov6Gum2ywB3mnhRUTJPmJJfPtvC1yeJzH", + "pubKeyOperator": "860f9cb0bf8fa775877b412b336b752e373b26b9ed9ffd3d6694ed4ddc6f0ef2c1cf90a2755abbc23bfef904ed83ce17" + } + }, + { + "type": "Regular", + "proTxHash": "c59205475a6774eda8a9e9753803ba833555e0fbd46fad666c2e5c454031d4e5", + "collateralHash": "551e21dae87482236f1c45a272e2ae1b3c27230e6736711174b47bc6b97f074d", + "collateralIndex": 1, + "collateralAddress": "XfqobnkizyqcNmXpsK8WiExtTs5WCsSyS9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.192.117:9999", + "registeredHeight": 1258823, + "lastPaidHeight": 2126393, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkhhqBoCRLPAYX5kEKdinVW8AsRDmELEAN", + "votingAddress": "XyJiqNGZ4hfJYiAeqUvScD44iM4TZvtGrD", + "payoutAddress": "XhPXat2PJEqJj33Z9VUTbxjLLpEJ6QDwod", + "pubKeyOperator": "150f85dd97cbef73c72aa8bb0dcfcb0dcc4089a3f5c3a54fdc9b4a6e64047800db76f71e82d4f8b36496bb7ca6d485ee" + } + }, + { + "type": "Regular", + "proTxHash": "9ba63f6e6a12016173ae6ecc7ba191e60c5323bf30654757d22634dc071130d9", + "collateralHash": "f21ec9053d8be842814f086f04aeb44920fbcf5680c68d8a2ea16375385ab49d", + "collateralIndex": 1, + "collateralAddress": "XhTLZKSWchEQnQB3pbjTjZcXUJ93uk7foN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.98:9999", + "registeredHeight": 1259265, + "lastPaidHeight": 2128872, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1261950, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrZ79PNXzWULQ4safFBDQHqkpDUbNtMSKg", + "votingAddress": "XqDXvcuGqtvp5hwA1E4FvohEs4esbFnkDY", + "payoutAddress": "XdxSKJm6agA3rrZPbJbk4PFasKRu411Ba4", + "pubKeyOperator": "81350747c54fe18bbbb92ea1f81091a569451a89d850dadffc0f4aaf8d9cbc6e35460fc8bfe8d222a55c44d127a60c92" + } + }, + { + "type": "Regular", + "proTxHash": "d00fe6b6c63575be69a8f9296b73bb4d1660d1405afdf737699385cffbec4fd1", + "collateralHash": "1a8c3d643ace742b3c054d29f6e7de112cf411113b57e657fa224624dd7d22e9", + "collateralIndex": 1, + "collateralAddress": "XsgLoC49xkQF2XVWXMiMeNtCbAAGaNjL6m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.192:9999", + "registeredHeight": 1262134, + "lastPaidHeight": 2126404, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1706974, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuLDg8rw4Mqnr9mT1GTZ3BP6kXJ4EdsuVm", + "votingAddress": "XrRgXug4HnjYCfHD7yQXXPcXpucU5Q3Vdn", + "payoutAddress": "Xq4cmq9f8GuFq2oYCqtpyitm6e9WQ3KPcc", + "pubKeyOperator": "8cff5757b16497f58cb66912e3f97461d4d2bb83cf2a34015918af8d4ab7da912ac116d4d6d835a4020f5e9732ee73a0" + } + }, + { + "type": "Regular", + "proTxHash": "34de6dee101af4edd0fdfbc50f6fdfd95d0fb8403ebe5a886c33cbec0d232111", + "collateralHash": "27a499711ff919ecc209ba197d02e841b70501e244d7cdd8dc4d7907ee562722", + "collateralIndex": 1, + "collateralAddress": "XoyRNN5NcSKptavvTpXu6esZ6Akx3ik2AN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.45:9999", + "registeredHeight": 1263072, + "lastPaidHeight": 2127129, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1562004, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XozupJCiCdXzLDLegnjfByhNcBttYBAJCG", + "votingAddress": "XePj14J7Xouf3irzbCFWtgr5vNa82KkV2A", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "948124318d42651ddda44b84d687e9b93389e008813a9c1aaf186c1284ce592f0bfb36862825b2c0d855c36a2f9df307" + } + }, + { + "type": "Regular", + "proTxHash": "4c793c626af1f2550dcfac7c70a736642831ec448bb481e1149a7eff0cb86cd4", + "collateralHash": "459fa76b1827be47739b88d6638d8ad74986b70dfecbfe38df5edb4d0b4e7367", + "collateralIndex": 1, + "collateralAddress": "XkdauhyH2ooDyzfkM65phT8XgTbwYieQqk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.195:9999", + "registeredHeight": 1263140, + "lastPaidHeight": 1912700, + "consecutivePayments": 0, + "PoSePenalty": 4225, + "PoSeRevivedHeight": 1832879, + "PoSeBanHeight": 1914954, + "revocationReason": 0, + "ownerAddress": "XvWRu57cN7jeivz4RiJueH3vktrYxkS7tJ", + "votingAddress": "Xy8qEaE7zgvno6JMrtReRKZaLcvzBRUhAB", + "payoutAddress": "XkdauhyH2ooDyzfkM65phT8XgTbwYieQqk", + "pubKeyOperator": "1106584da9ceda3220bad41b432099399b94cf3abdf92a9097721691d71d1449b9749833e85f0dc1d032e4a43f0df756" + } + }, + { + "type": "Regular", + "proTxHash": "3295f226d3344b702f45b6f1b3b7efc16db786077fb5f38aeb95166fa12ab632", + "collateralHash": "f63407fcb583e3ce474f58df8b9e36390c22b237dc102123bea4bb73e3bfd54f", + "collateralIndex": 2, + "collateralAddress": "XyYEnVqxfK2qJxDdbEH5dZ4uGwGGWytQmR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.196:9999", + "registeredHeight": 1263144, + "lastPaidHeight": 1915012, + "consecutivePayments": 0, + "PoSePenalty": 4209, + "PoSeRevivedHeight": 1722205, + "PoSeBanHeight": 1916394, + "revocationReason": 0, + "ownerAddress": "XuT6u7bd8nDuCFXbLkVPhEQ6GU3zDqxEzc", + "votingAddress": "XpWFfAqyUrGC687z4s3XQDbfdM2gtnUsoU", + "payoutAddress": "XyYEnVqxfK2qJxDdbEH5dZ4uGwGGWytQmR", + "pubKeyOperator": "8b815ea7d6d2b4ff03825529ff16afdfaa5a7c1796cfa565552f4b608e3db8a9537e5c8c973779a6834ec3878da1e64d" + } + }, + { + "type": "Regular", + "proTxHash": "db10cf665fef0588ffd7a4db03624c979db7375f94898e5a1048f3c9f8aadd00", + "collateralHash": "7f63d33c4c261f89456077d0f05f3741e2f30a51a7c95ccf1e220004911e7eb7", + "collateralIndex": 1, + "collateralAddress": "XtFjf8NP1Sa2RLXaFvhvvzejbz9tWHHwPr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.198:9999", + "registeredHeight": 1263145, + "lastPaidHeight": 1913103, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": 1802796, + "PoSeBanHeight": 1915242, + "revocationReason": 0, + "ownerAddress": "XjEBjfxTAySvYyoDATuFayF8fWq1RZeRHk", + "votingAddress": "XsEMHmvXdJbsNqFgpgTjrZwz8LAoLNhC1j", + "payoutAddress": "XtFjf8NP1Sa2RLXaFvhvvzejbz9tWHHwPr", + "pubKeyOperator": "87ba9be473c243bb72644e32db0fd2635b1856e9cde503014681b6a6549ca87ba7c061772b5a6ed10a4c19adb2c7cf9d" + } + }, + { + "type": "Regular", + "proTxHash": "b241a5c21dd204e97e5f678697d68467de508725e966dcaec41d640859c4b5f8", + "collateralHash": "60877e1c52e125007661f04bc392188fc68a57a91a197557e11a31a4364eb0a6", + "collateralIndex": 0, + "collateralAddress": "XpmFyvSL7ebNFGJ6oLSQZyPqFauNZ8wqKM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.199:9999", + "registeredHeight": 1263145, + "lastPaidHeight": 1915015, + "consecutivePayments": 0, + "PoSePenalty": 4206, + "PoSeRevivedHeight": 1722205, + "PoSeBanHeight": 1916970, + "revocationReason": 0, + "ownerAddress": "XcvbPLmdzdiwh6hemty7Vk2ucHkdM4PBLk", + "votingAddress": "XbdbLSAMcedVvLaewd8MY9X8c6vKEcCP61", + "payoutAddress": "XpmFyvSL7ebNFGJ6oLSQZyPqFauNZ8wqKM", + "pubKeyOperator": "0c6bcdd6c407cbb2d68b907d0b144fb0c6488df46c146d47be1f67f3f8e4fb70d2b099950a93cd2fd027afef69bc41fe" + } + }, + { + "type": "Regular", + "proTxHash": "70da587cecde434877297ef5b76ca460a970bb15df030c562fc79ce254387ce2", + "collateralHash": "2bf6313b07cd3b81bfb55e2d047d39374879c05ae5379ed2d25ed2070ba7598c", + "collateralIndex": 0, + "collateralAddress": "XcpktX6bLADN6VBowGseb8zWh3HFVy5mg9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.200:9999", + "registeredHeight": 1263145, + "lastPaidHeight": 1874576, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1677857, + "PoSeBanHeight": 1875786, + "revocationReason": 0, + "ownerAddress": "XvuU7ppy8FHJZ3Y5EeKMGFhhDWcLrP2GFt", + "votingAddress": "XkGtxC68m8ANSHVkaHjs5KNWVgs1Pv5Ubi", + "payoutAddress": "XcpktX6bLADN6VBowGseb8zWh3HFVy5mg9", + "pubKeyOperator": "9944c5bb2bc25033a0fa951dee3ceaf74949bbf18f9c4a37402272f816040e6f8f0b979d6da40e14d580a4b12fae8177" + } + }, + { + "type": "Regular", + "proTxHash": "bf7dc2c78e03b04ec8c64bc8aeaf4ec7e3ccfd2eb490fe7d7ee044ee60565f8b", + "collateralHash": "68f1a13d83290c6cddfe91cf3c2aebf938c0b07a00e7f77de0fcb1c3740fbb37", + "collateralIndex": 1, + "collateralAddress": "XwgAjmuXX2WuqXpVvpYWnyPFxrbG9L9ZDt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.197:9999", + "registeredHeight": 1263145, + "lastPaidHeight": 1911425, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": 1722205, + "PoSeBanHeight": 1914934, + "revocationReason": 0, + "ownerAddress": "Xdgi8uYGXzTVE6eCEgnCyUXWU91Y6BSRne", + "votingAddress": "XjDkK4nH3jE15UWfiTPQvnPdtrN5PtS3mK", + "payoutAddress": "XwgAjmuXX2WuqXpVvpYWnyPFxrbG9L9ZDt", + "pubKeyOperator": "18091ddfe032f3410d089578b6955492e23c696098d005a535f7feb1509536dd0dcdc70000ecb50087892677bab2bc28" + } + }, + { + "type": "Regular", + "proTxHash": "2c03509a9d2738dd59b0ee48971ec7a90d525420e8128000c0b79a4614108c0d", + "collateralHash": "d0c50eb1c9b5f85bbe76b2ff78e92eac62f8f5b65c53ec014d98066ce7ad72dc", + "collateralIndex": 1, + "collateralAddress": "XpzLwQiQzbBRtyJfS61HfbfkZs77LgfkAV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.201:9999", + "registeredHeight": 1263147, + "lastPaidHeight": 1874641, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1875786, + "revocationReason": 0, + "ownerAddress": "Xr3ibSros4yNx5RDS5GsoZLisgTvbUvcPi", + "votingAddress": "XoXRHU1uaRkTEfz3MJdDeCJwYXYm3Veng8", + "payoutAddress": "XpzLwQiQzbBRtyJfS61HfbfkZs77LgfkAV", + "pubKeyOperator": "0db290f1b2d6630dc5c2e2e3f37a6972ab7255dd78dbbb665a8e01cd0c79a02f00ddaac85020a09761bfe4043e3621f8" + } + }, + { + "type": "Regular", + "proTxHash": "6ef6b11a6aaf005342795e7c819e67ee9b93bc332b461faf37b522580028829b", + "collateralHash": "9d7a51e69d5625b3bb89167cef841225b5802488c3f64711d1fa135ed4f54828", + "collateralIndex": 4, + "collateralAddress": "XfapXFz77tt6ovzzY8PD4pxNbLEB5cDTuR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.202:9999", + "registeredHeight": 1263147, + "lastPaidHeight": 1913578, + "consecutivePayments": 0, + "PoSePenalty": 4225, + "PoSeRevivedHeight": 1822433, + "PoSeBanHeight": 1914934, + "revocationReason": 0, + "ownerAddress": "XeVGYzjW2e5Ln5qmHpSoBRTXxcgYaQwqGe", + "votingAddress": "Xiuazf39nHrKVsuuKnQRyE4g2M42isAh36", + "payoutAddress": "XfapXFz77tt6ovzzY8PD4pxNbLEB5cDTuR", + "pubKeyOperator": "92dae738ab948b027ac1cada939d0dc193d4ecc613f2101455c27d5b1d77dcf6957f1d82adcf890a1e2d9ded8567ea59" + } + }, + { + "type": "Regular", + "proTxHash": "817987aa71ad97ed1e6f78eb6f38606f1b38f3761793272b5d9ef838b88624c2", + "collateralHash": "30818641351a90eae102c3155c3ca511188d238589b328f82cc81013156409db", + "collateralIndex": 1, + "collateralAddress": "Xy6e5ZQ2R486bNAqmYmQTQ7hA6pc5KuMgn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.203:9999", + "registeredHeight": 1263147, + "lastPaidHeight": 1912590, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1915242, + "revocationReason": 0, + "ownerAddress": "Xp3wRmSLGYQmDSBnc2ZPdpibZXVG2ZXXYH", + "votingAddress": "Xr5ddYL4u8sQ2cuyrKD8uX6ivfx4yeFUDX", + "payoutAddress": "Xy6e5ZQ2R486bNAqmYmQTQ7hA6pc5KuMgn", + "pubKeyOperator": "996f8bbfe935e8144e5472087ce84d0f601b115e51b4ccdb6a6cfb6e2e5654a9bee349b03020e4c2f6b23b06c3703d66" + } + }, + { + "type": "Regular", + "proTxHash": "dd6898d972d31d6ecea04779a2aa4ca5d906d697beee1c8180e4a0eafea8940b", + "collateralHash": "ebdedc1fc3468f764b5c014420f198200a96015d6eb9ad5ddb15259b52d5e615", + "collateralIndex": 0, + "collateralAddress": "Xpky7fiLnU6gwc9hXahks7ZjUws3H9QdaU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.204:9999", + "registeredHeight": 1263147, + "lastPaidHeight": 1914494, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": 1684496, + "PoSeBanHeight": 1914954, + "revocationReason": 0, + "ownerAddress": "XnuKzQD5YnAkXYET5f93tUzvghryLojnG2", + "votingAddress": "Xt5Y2oUX3TTMs31YMT4CraxCAhgC4ZTvHV", + "payoutAddress": "Xpky7fiLnU6gwc9hXahks7ZjUws3H9QdaU", + "pubKeyOperator": "97a6e789aab752baed572daeb9b86e3f0a8e3275f6b1e6e818e3ab7a7765e0056c5707301d906f26038f1f2523fc63d9" + } + }, + { + "type": "Regular", + "proTxHash": "7b09e83c7d56e82138808c4776aea8054701b775b256c9daf3f57149bd76c3a5", + "collateralHash": "a1cdcda85dfac2410db502143ffdb027b41e5bc1d072022f7939ad75b6054850", + "collateralIndex": 0, + "collateralAddress": "XtYWfKfWWe2xh1Zjv61SxceYZJvuNjTMp4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.205:9999", + "registeredHeight": 1263148, + "lastPaidHeight": 1914411, + "consecutivePayments": 0, + "PoSePenalty": 4212, + "PoSeRevivedHeight": 1729388, + "PoSeBanHeight": 1916106, + "revocationReason": 0, + "ownerAddress": "Xv7Af12X3FhTLcdBSdrTnQbZPKRJRZWumg", + "votingAddress": "Xfud4PJ6oRVGDNEeDRLjTCjbtG2jrq929J", + "payoutAddress": "XtYWfKfWWe2xh1Zjv61SxceYZJvuNjTMp4", + "pubKeyOperator": "004b6db94ee1ff607d47abf37358e8540654c239d92e2f90b8c062b7efccc99eb96ceb48931d065e0ee48ba6ccad8158" + } + }, + { + "type": "Regular", + "proTxHash": "01b2a52acc47833221b2f15f024495e4464ee010109b689e97a6c748260f592a", + "collateralHash": "18fd9c80f27017451e99dfd89b9253dff86586611549c9597333dcfb8dbc6a22", + "collateralIndex": 0, + "collateralAddress": "XmDQ2wnYCM6EaAVaUFyedLvWccJ8jZqSkn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.206:9999", + "registeredHeight": 1263148, + "lastPaidHeight": 1913626, + "consecutivePayments": 0, + "PoSePenalty": 4225, + "PoSeRevivedHeight": 1830146, + "PoSeBanHeight": 1914934, + "revocationReason": 0, + "ownerAddress": "XbYWJmtZehc2wRkJb2VP4RXczRfEeutRKx", + "votingAddress": "XcDvY7Sri338MjxPvqz2zLf7WpqN3eDdSr", + "payoutAddress": "XmDQ2wnYCM6EaAVaUFyedLvWccJ8jZqSkn", + "pubKeyOperator": "0d17b849d19bd79bd7266f8311afab266545e71dd67f543308c7e33dba6dec2ed9b09aae023a12573974e85596ec93bf" + } + }, + { + "type": "Regular", + "proTxHash": "400266988ea524cee260c97fbf8d933fa47af4d3b7c8547ada30b3bc05ef9856", + "collateralHash": "9774bdea26894121976a77e9c40b669ed3b3b674187db936ea77deee6b072e27", + "collateralIndex": 0, + "collateralAddress": "XhAmT2TSyu7TFkVbFwQyUsm8kMWR1EzHSA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.207:9999", + "registeredHeight": 1263148, + "lastPaidHeight": 1912727, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": 1871209, + "PoSeBanHeight": 1915242, + "revocationReason": 0, + "ownerAddress": "XcWMgjwGDohGhX7fBfrjdnDdX9S964qKUg", + "votingAddress": "Xo6bH2V3r6j16PBhx5MbSrkLPmdMnn6Qxj", + "payoutAddress": "XhAmT2TSyu7TFkVbFwQyUsm8kMWR1EzHSA", + "pubKeyOperator": "86ff342646a89bd1a1b2d0a91884145d97e61e54fa7ceadbba383b6f2c3e044952de3fb5c5527630ac3a18f1fe1a7d00" + } + }, + { + "type": "Regular", + "proTxHash": "3d9fc21a0f1546987233f05c7d94f3fd312e7583264ccc73272b718e1859b590", + "collateralHash": "e0540738ac6b8709beb10a034763db97b66a94a941687194873fe622441aac49", + "collateralIndex": 0, + "collateralAddress": "XkKqbrhobRKFXmc9gbGTKGV2c1GvWQgqWc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.208:9999", + "registeredHeight": 1263148, + "lastPaidHeight": 1912282, + "consecutivePayments": 0, + "PoSePenalty": 4212, + "PoSeRevivedHeight": 1763864, + "PoSeBanHeight": 1915530, + "revocationReason": 0, + "ownerAddress": "XhQ5ivvfXPimqBGTUb9LD5oLSaTQF4QH26", + "votingAddress": "XnUCDsM4TfowaGcqFjYt5bBNpux7wdEia3", + "payoutAddress": "XkKqbrhobRKFXmc9gbGTKGV2c1GvWQgqWc", + "pubKeyOperator": "06e5fac9463e522f6169445a7af1b70acd41a3397067c724ae6a177ad243db82873690cbf1eb6a826f61883e91a1a5bb" + } + }, + { + "type": "Regular", + "proTxHash": "65b107c41f9e6fe511c5dc7dba00d5785e1157a12bfcf7abdda13880d5c90119", + "collateralHash": "8545f2a0650bf0030633271c39ee87429366d5f30d7fbacc3b577c2d96284bfe", + "collateralIndex": 0, + "collateralAddress": "Xuj33XHsLqB9cNtUucsjaJbAVjU8SAsvTH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.209:9999", + "registeredHeight": 1263149, + "lastPaidHeight": 1873366, + "consecutivePayments": 0, + "PoSePenalty": 4404, + "PoSeRevivedHeight": 1680597, + "PoSeBanHeight": 1875660, + "revocationReason": 0, + "ownerAddress": "XqmWf4C9ivC7jqGu4SHCSngrvbbep1j9Ff", + "votingAddress": "XfWxhMMZoQbqKBAYoKQWc2bKzWLfq8kd5g", + "payoutAddress": "Xuj33XHsLqB9cNtUucsjaJbAVjU8SAsvTH", + "pubKeyOperator": "040c2eeae85eda1dd8b800b2d119f482a55fa771991edffa8f95785bfdacb836709dd169a003eab1fdd15d20209d5aef" + } + }, + { + "type": "Regular", + "proTxHash": "f4f0e06901f99d51f8407cd90a5af87124ef262d52ade7d44d714fef8650aaf2", + "collateralHash": "ebac94d3708c9a70800fad00ebf0a3dbff677f7a177161ddccdf42b34f88b9e6", + "collateralIndex": 0, + "collateralAddress": "XezZumN1TvE4owLof4NoRdoB9z8zVnez1m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.210:9999", + "registeredHeight": 1263149, + "lastPaidHeight": 1911427, + "consecutivePayments": 0, + "PoSePenalty": 4219, + "PoSeRevivedHeight": 1722205, + "PoSeBanHeight": 1914954, + "revocationReason": 0, + "ownerAddress": "XvDhGKq4nZ37b5hpRdpyLRe8mAw6JYUbwk", + "votingAddress": "Xgd3y5o252KhBiaDBqnt12FydApm2TwQfp", + "payoutAddress": "XezZumN1TvE4owLof4NoRdoB9z8zVnez1m", + "pubKeyOperator": "162812ec7b931ab980f2b17fe0e686ef6e3e5bfaff9fdb4f62da81879f2235409e25b4b2d2c39146266a8fa189bd1fab" + } + }, + { + "type": "Regular", + "proTxHash": "a7ef86259531aebc17b2a2f20e0e80d64cbb698cf3b487e74ab0e142045b1474", + "collateralHash": "95755a7b98bbe6581ec16c2ac5e9727d66fbb6c3ad577b40fe191fd6fa665dce", + "collateralIndex": 0, + "collateralAddress": "XcuecGTdNXaKkWRBdbtJ4q2oszd5uVpgzp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.211:9999", + "registeredHeight": 1263156, + "lastPaidHeight": 1914500, + "consecutivePayments": 0, + "PoSePenalty": 4212, + "PoSeRevivedHeight": 1684497, + "PoSeBanHeight": 1915530, + "revocationReason": 0, + "ownerAddress": "XohMDc81ZKJCyh6BuruNuBEC9dvKfZ3wAd", + "votingAddress": "Xy4U2g6CZtTuHsXBEfyF1J89pwj7Q6yAhN", + "payoutAddress": "XcuecGTdNXaKkWRBdbtJ4q2oszd5uVpgzp", + "pubKeyOperator": "167ac97e2a62d1a7ac5058b4739407fa052891bddf6a09c78fae0ab145bb9f04101c137d4b2733b4735e18c1c3e0c940" + } + }, + { + "type": "Regular", + "proTxHash": "8b08c02e54094a044b67486fc4be95bdbb557d821bfececf6b2ba90e65fbdae7", + "collateralHash": "c188d5a7989565321b235b5a2374e4fb4f3617d848d0d03609348be1f5adb710", + "collateralIndex": 0, + "collateralAddress": "Xb1e2s57LsMK63Muv2JJAQbXXgtg39PY89", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.212:9999", + "registeredHeight": 1263156, + "lastPaidHeight": 1875186, + "consecutivePayments": 0, + "PoSePenalty": 4404, + "PoSeRevivedHeight": 1802798, + "PoSeBanHeight": 1876019, + "revocationReason": 0, + "ownerAddress": "Xwrbrvp2BRrxAiuD2PWQULzxKJXmwsmPfb", + "votingAddress": "Xn3U33cymDdAUGK1siK4o6d5adYLNUdaio", + "payoutAddress": "Xb1e2s57LsMK63Muv2JJAQbXXgtg39PY89", + "pubKeyOperator": "8459a408b35e5094f210d9acb79835095aac1b4bb8bb652320ad5143636c7b7ae768a1a363e5caf96ce0cfe14518a81c" + } + }, + { + "type": "Regular", + "proTxHash": "7bd6f72b0652230573911a5232597e240b5060c83617b2a33b175faf73d40256", + "collateralHash": "34794a3766dbc6b051117c26d508d7e0830be4570a9ca4eb3eca3c6875d4eaed", + "collateralIndex": 0, + "collateralAddress": "Xj5Ue6JwBtTnhbyD7WfVuTCbLxQAFvJXKQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.213:9999", + "registeredHeight": 1263156, + "lastPaidHeight": 1911424, + "consecutivePayments": 0, + "PoSePenalty": 4219, + "PoSeRevivedHeight": 1722205, + "PoSeBanHeight": 1914954, + "revocationReason": 0, + "ownerAddress": "XnDqAtkxpoLHQp499gyPcB4ZHuTpadGqTM", + "votingAddress": "XyzcWe23EYgP455MK4cBtirBCtWuQVG7iB", + "payoutAddress": "Xj5Ue6JwBtTnhbyD7WfVuTCbLxQAFvJXKQ", + "pubKeyOperator": "0e8bdf116c2b03725e19c394f5ce13823ead0c68f67058da012bb6553b2fdd27d3abedd7053c60430f780f1eaed82843" + } + }, + { + "type": "Regular", + "proTxHash": "00ebcbd8e49ee0a17d77a75abe9e6a51cfaff0fd8a0c5e3af1d2ada1febc7fab", + "collateralHash": "ffe07cd99360916f1781c29886e28f95d0268f65b51773d2c61a1c702c9c02fd", + "collateralIndex": 0, + "collateralAddress": "Xffgf2vJMybvzEydbpyBbPhxgT7hM54CR2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.214:9999", + "registeredHeight": 1263158, + "lastPaidHeight": 1875684, + "consecutivePayments": 0, + "PoSePenalty": 4403, + "PoSeRevivedHeight": 1822433, + "PoSeBanHeight": 1877205, + "revocationReason": 0, + "ownerAddress": "XtjuZ1TiRujCpfB1rGGPuDK6ysdmhrJXFn", + "votingAddress": "XjMnxYCEsgBpJXEu17Neyrgq1eBx2enKjP", + "payoutAddress": "Xffgf2vJMybvzEydbpyBbPhxgT7hM54CR2", + "pubKeyOperator": "90cf782bf05ba0ccc65e098cfee09e4e2e6bb47c9bcbf2c275d39382e2390109165354cdaf011939facf709560aba56a" + } + }, + { + "type": "Regular", + "proTxHash": "d33c23ebe4b1758f7c3f88df348c2082049a416604dd5e655698ac65219a51b2", + "collateralHash": "8ce740f4a8d01d27fae02a053197469e2a52f2b425628bbb17876238b6ada483", + "collateralIndex": 0, + "collateralAddress": "XnHioaZDrX3Uhowgm5FS8mGJaGiFrrxL7j", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.215:9999", + "registeredHeight": 1263575, + "lastPaidHeight": 1913598, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": 1822456, + "PoSeBanHeight": 1915242, + "revocationReason": 0, + "ownerAddress": "XuFk8cpHYNXUK1XXRptRq7z7GRhNfr3U7Z", + "votingAddress": "Xkz44nhwhPworawukqg2DvUVGk4LNgZFnr", + "payoutAddress": "XnHioaZDrX3Uhowgm5FS8mGJaGiFrrxL7j", + "pubKeyOperator": "14d911cba663ca942de47cf3b0e482def94e7bb2bb4077643cb12bc9598cad477c306199a56fb7e6d9edbce693bce1f5" + } + }, + { + "type": "Regular", + "proTxHash": "f81a9098bd92c6d3c81ec0f0ba6779bf84359855ba3333336bde75aee91e29a4", + "collateralHash": "13f9a7951b6da6ac71959a914777300604b58f875385279261661387032545f9", + "collateralIndex": 0, + "collateralAddress": "Xj96y4WoVBLPqDg42ah4H34rHVRTVxJhHe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.217:9999", + "registeredHeight": 1264198, + "lastPaidHeight": 1912124, + "consecutivePayments": 0, + "PoSePenalty": 4212, + "PoSeRevivedHeight": 1714678, + "PoSeBanHeight": 1915530, + "revocationReason": 0, + "ownerAddress": "Xpwb5K1o3xwTRe5XnVoTW8R4zLjJtP7Wvd", + "votingAddress": "XuUQ8aNUdTMw7svtQWPzWoNMQrhk21uV4v", + "payoutAddress": "Xf2xML34B4hGCgoQJg3P22XJ678u6M9Nu9", + "pubKeyOperator": "17b5527b371746b62db3d625d32180fe4b65e1abf6bd4a6bfb036c7d2df9cae37b6a0751eaa4931c8f3c7cabe8729c3b" + } + }, + { + "type": "Regular", + "proTxHash": "806c3054f2aa62823fa6a292ed6be8d88d6f360055ff0ceeb7917588d5e65d93", + "collateralHash": "d8542f8aac379ab46c9790f474560d9f058bd995f6c7432aa84e30f1aa3b90e7", + "collateralIndex": 1, + "collateralAddress": "XtA9CPMKoP321y12sFQXwF3rkPsRYdLBtX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.211:9999", + "registeredHeight": 1264210, + "lastPaidHeight": 2127784, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1830678, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtC69KiGUfzhUjfLHpjwKxfdmB4cfSsTKQ", + "votingAddress": "XvzBSZpUbXKXoesUF2avhEDdCbctz1fvDZ", + "payoutAddress": "XtA9CPMKoP321y12sFQXwF3rkPsRYdLBtX", + "pubKeyOperator": "1892e6796ce60c17dd507f18afdbd203581ecbeb71b5fb445154792d670e260149e27309ede29ca63456d9146e60c52d" + } + }, + { + "type": "Regular", + "proTxHash": "bc5ef0b277cb808dae4f1865b9a9ee4b34a90e24219806bf268b27208c4e86c8", + "collateralHash": "560101cfa20f32a33128d49e6644c182d99a9f7bec63276d8655ddae396f30f6", + "collateralIndex": 1, + "collateralAddress": "XoUXzdEpQHisQfvw6tEnYjEA7pae8py5ED", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.129:9999", + "registeredHeight": 1265301, + "lastPaidHeight": 2127759, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyAwVq2tGdBLEAdKM1Xg9s1rkcxvQUaL3Y", + "votingAddress": "Xe8NuabTDQaTkqrRVUnmaabeLRmGet1o1V", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "8f82ef9890b22c894c5ddfa4222cbf048b3c557cfaf869757ac4c570601851fe23632124df53879ddb72f4b6f22abca9" + } + }, + { + "type": "Regular", + "proTxHash": "0d0e2a98e6d9313bb70e06ab2cae2c180b0011e58d6576d068154edf6c723bc8", + "collateralHash": "c00e4496fa989ffac59cebb4f32f5a4957ee058ef7c13d2ebd2daffb010d048b", + "collateralIndex": 0, + "collateralAddress": "XktwMkBPFGecAp1AuvKE9215tL6ZbvoX18", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.242:9999", + "registeredHeight": 1265974, + "lastPaidHeight": 2128495, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XePj6VV1mZPXTJwSeL7K8ecPURRjfMBM9s", + "votingAddress": "XgkkXn7ubfzjJ6dmG2iRy56JmNTFq1SxoA", + "payoutAddress": "XvhnPPJxSRotWj5oDegobNsPRi9rYVVrT2", + "pubKeyOperator": "993b0b43e584ca5a6c961b53adb79f0af30d6eba3e445ff406c647ac1bd445d3ca3d9a50978907b1f33c2276169c8f47" + } + }, + { + "type": "Regular", + "proTxHash": "7ca2d6801cd133c58ac2219a291cf01adafb64db386bc7e0350b68a198e81442", + "collateralHash": "8f786429afcdca7d2bf7e070140e8a046a86de8ac6a171313e6ccfc280834744", + "collateralIndex": 1, + "collateralAddress": "Xxz8zUqYGWoDCoh3UGwv6eJKmY3YiHazoT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.71:9999", + "registeredHeight": 1269151, + "lastPaidHeight": 2127819, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1830709, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvcAJ69frahMPg4jFDKTND9hnpvN9tT3kF", + "votingAddress": "XhV65bmmvFBHmD75EreSXebvTeRdSHZQu8", + "payoutAddress": "Xxz8zUqYGWoDCoh3UGwv6eJKmY3YiHazoT", + "pubKeyOperator": "8cf96ffb6230fd9a4072970b9f1c3eb172ef9e88ec9aaa173130fd25aef55002d2ecd49758673ab07b1e99e1c102e8b7" + } + }, + { + "type": "Regular", + "proTxHash": "b6b8e48493ac3927d0cde60954d25c02e660daea893c00c1d8aff6f509f7a759", + "collateralHash": "3ea8c8ff8a8b1d76de9baf2e329c81de8ceab84244dc7335861f685121f6152a", + "collateralIndex": 1, + "collateralAddress": "XmH5U9aELpihsWQQcrLvAX5uFoYDSLFFUr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.208.226.24:9999", + "registeredHeight": 1269699, + "lastPaidHeight": 2127580, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtkDCi3FLGt8PnnuiUhBBYhyLD9KGCTVfk", + "votingAddress": "XyFc1bTMdAivCQ1EGHXvzB2peCHjRngBH7", + "payoutAddress": "XceUq7y3n8APSAMHmsNRz2tVqwTVRmamJn", + "pubKeyOperator": "935527a3597597464ebc11e1c6cbb227902452c1f5adce861e778542c86f3e17442733f81fc91b5d6aa58b0a2fbba8c9" + } + }, + { + "type": "Regular", + "proTxHash": "3025e76f14b69315455eb528112f99b7a18fcafbeb2ea055d8dde74a17641860", + "collateralHash": "7c410bd6b06bbad1d13e40decf11c84cad39ce03e49961307f273287d8fb30e0", + "collateralIndex": 0, + "collateralAddress": "XeZDvUgKuAtb9tsfCHk1WnaKLxvVt8WCjL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.103:9999", + "registeredHeight": 1269757, + "lastPaidHeight": 2127616, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XomnEcgcedCH3d1Q6sX1bPDrMNvxgwTGEZ", + "votingAddress": "Xumy6tiiCoY3MjGfo5wCzcm9W88Heff82K", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "99e775e172f90f9ce00ace38c21498a3c502f435715546ef313a1f0a465afa44340e73e7efe7f18a2999cd3a786708ae" + } + }, + { + "type": "Regular", + "proTxHash": "eb08eb04ca47f4a837ce882ee7594f96b6711907c748acbe00cd2a16dbf40a48", + "collateralHash": "6d03611e7af11c66ab8eb1a9176c10abaed52816fe02cad558b7ffce9eedbbfa", + "collateralIndex": 1, + "collateralAddress": "XuGD1ze6SGEp6ZMc45fLH7NJN5cosPnuqR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.240:9999", + "registeredHeight": 1269759, + "lastPaidHeight": 2128643, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2098989, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuUm2W5E2q8kVVt5NBFAC13FYdSb4abHCW", + "votingAddress": "XpEB5xZHRTqHNheeTE6nkQtyyANobkeKV5", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "083ff7d46ea23b6aa454ab4be3dbed4970eee62851e5e627aa92d160d6ad7dca29533a5411803f2e3c27604946f5395a" + } + }, + { + "type": "Regular", + "proTxHash": "be929c9769a48af9ad9614a258e1b3a52b4a7044b12652f3c608373befc1e61a", + "collateralHash": "16fc8c2035e31f71c352b94a061ca05a25451348d30a3641a5385d0139ac6c46", + "collateralIndex": 1, + "collateralAddress": "XkpV6uZ27zXrw7bYVJsZZoa86DHAVewjFC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.209.50.30:9999", + "registeredHeight": 1271085, + "lastPaidHeight": 1421948, + "consecutivePayments": 0, + "PoSePenalty": 4856, + "PoSeRevivedHeight": 1407648, + "PoSeBanHeight": 1423029, + "revocationReason": 0, + "ownerAddress": "XqNJEBGjvNTt9wa1xQM3os1XZXfvgWEcxP", + "votingAddress": "XwkzZfMjJDpJcamxRPHCLcjxVt2QfCy2wN", + "payoutAddress": "Xed842C6XBKMV5WQJnF94MuPUfdGAYD8Ff", + "pubKeyOperator": "9033402150102018f415c3339341fcd4a4485be1c5586f3e8031dcddbd54f2ed1bb03896178ee49509d826c3d4abc551" + } + }, + { + "type": "Regular", + "proTxHash": "e06b8a8b5548e3b0959f808391d49c4c68b7ef19a6f9186b7751862384770679", + "collateralHash": "a369b90f25d093487bbc416640c5bd719f01dca111fc9fe8f2192a11f1b0ee67", + "collateralIndex": 0, + "collateralAddress": "XhoL1cRRWmPM1t2fm9WraHDz3QXSGwDWpu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1271849, + "lastPaidHeight": 1685394, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1621408, + "PoSeBanHeight": 1688820, + "revocationReason": 0, + "ownerAddress": "XiwEUWgBjDL8o756AXeVmQi2v8ZXGuvMSV", + "votingAddress": "XqW84sbjoUYezzjFYdbjvYT8snygjsh1NJ", + "payoutAddress": "XeDLXXh9gTVTsZEzNdG9w2Q5M4adW83hku", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3b59310f807c8e40b478db37834cbce9837f5140c6bdd59b6a469d86523f3861", + "collateralHash": "40009144070201e24add7ec630d26bdec00168ac4add7843a3f51fbef07634c7", + "collateralIndex": 1, + "collateralAddress": "XyHZcFYaSMGH9PVLS8LfBwnKgDMurXXFZh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.35:9999", + "registeredHeight": 1272428, + "lastPaidHeight": 2126405, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnnKWX8DDhZYcBvUbeVPyU6GAGcsYhRA1P", + "votingAddress": "XjuFNmH4Um9w3Am8vQik8tkij4qgUmoD7w", + "payoutAddress": "XcFVgNXg6MTz1zqSrjk5PjEDxxFrtVr61r", + "pubKeyOperator": "08224ee6b96586f5b004ed5d8fdaaa6c9b144736b84190961d949c6f4ba3d922657a9317bc8068ac3af818e7fbcdf6f3" + } + }, + { + "type": "Regular", + "proTxHash": "05d21de0bf8acb71b2132f724d95f6b15049267be131a2a922e17ac89b2810a9", + "collateralHash": "38cefeb12e76bcc20f4a5b60af7868662b111a1a07c71ca74a879b610be89729", + "collateralIndex": 1, + "collateralAddress": "XwCa6JnjRxHoFU5xKSGzR2vncBbiim88QA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.218:9999", + "registeredHeight": 1276673, + "lastPaidHeight": 1914763, + "consecutivePayments": 0, + "PoSePenalty": 4212, + "PoSeRevivedHeight": 1680599, + "PoSeBanHeight": 1915530, + "revocationReason": 0, + "ownerAddress": "Xbqir3QozpHn1rjXmCu5aiusPUAjQvwV2r", + "votingAddress": "XyBA8bxTDGwUhRs56FR8bTYzyxCSdKrARS", + "payoutAddress": "Xf2xML34B4hGCgoQJg3P22XJ678u6M9Nu9", + "pubKeyOperator": "11e320662da70da43d903b525358803f65e2dbf6221e0d33cc22ad0f57281879757824c6c315d0ca2600b6121594072f" + } + }, + { + "type": "Regular", + "proTxHash": "999e2f9d8deca9dfdc8cee228c4b63add072c39719f5d4de0411d4bea26b5965", + "collateralHash": "0eccd664599ae4fd9d7f89b0b34a36be76df4e8d34d66b9e7db452d8b28dd5c5", + "collateralIndex": 1, + "collateralAddress": "XiAzyujzENawxwDJBFmC76UVrwMZbT4vaD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.219:9999", + "registeredHeight": 1276673, + "lastPaidHeight": 1912482, + "consecutivePayments": 0, + "PoSePenalty": 4225, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1914934, + "revocationReason": 0, + "ownerAddress": "XsVg6XTG2Pb6VfnWcidh9iW1G2NbCE5ELm", + "votingAddress": "XeUe2EsuovvikgvjuycPLEFct3qZEKyyZA", + "payoutAddress": "Xf2xML34B4hGCgoQJg3P22XJ678u6M9Nu9", + "pubKeyOperator": "8f20fee6cb44b0e442d89a78b6ee51c673e7bcd56f244eaba575d0752ce5eb05af5cbfcb7d7525263ab775f08849370e" + } + }, + { + "type": "Regular", + "proTxHash": "8dc4879cbd7cb7162d1b7b390e4dc94f4569ea9725fc97050abde4ba7b00f5b5", + "collateralHash": "89a2f99fc2b884c662095369d6954ce610594d69690db147d1df2f22169b420e", + "collateralIndex": 1, + "collateralAddress": "Xcj92SvxRBnTweMoM5sxGXm6kuxh2JDjqk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.220:9999", + "registeredHeight": 1276673, + "lastPaidHeight": 1875707, + "consecutivePayments": 0, + "PoSePenalty": 4404, + "PoSeRevivedHeight": 1780387, + "PoSeBanHeight": 1875948, + "revocationReason": 0, + "ownerAddress": "Xojkx5Z2ACb6fTW5NbJ6PYXWAMnxvmDGzU", + "votingAddress": "XtyVmxXKUCytPhWCym4zSo4Le9bTE8FQxp", + "payoutAddress": "Xf2xML34B4hGCgoQJg3P22XJ678u6M9Nu9", + "pubKeyOperator": "0abaea100e1ff28236f777cad46cfb80d5f2d60703fa0add5aeaa9d86f4a59be1b9c36b50a52b42f1c5990bb1dbbf22c" + } + }, + { + "type": "Regular", + "proTxHash": "6a39989f3873e75e667397ef3b23285cc407051b6ee090820b70e4823bafd01f", + "collateralHash": "00ac25789a5c4c85196c8876501521a4346972f7835cfcf38b44b2833511bd3e", + "collateralIndex": 1, + "collateralAddress": "XwZJwhrCL7Qq63g97o4cuU3VvnjcPDiAV5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.221:9999", + "registeredHeight": 1276673, + "lastPaidHeight": 1912479, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1914954, + "revocationReason": 0, + "ownerAddress": "XyPfGHYBnoaFWo3diPqZYLAmY1G7cx6UL8", + "votingAddress": "XcGJ7BDxKvSR7KFL65mgb6cxFofnAVaF7Q", + "payoutAddress": "Xf2xML34B4hGCgoQJg3P22XJ678u6M9Nu9", + "pubKeyOperator": "84e18901a924ed0509f5c10205dd71a11be4fdb4252050624eb5d9727f0901be3c4aef399e14e0adf3427df9798c5586" + } + }, + { + "type": "Regular", + "proTxHash": "e735d645d297644bba6d1d0f46a87b4d7c62972adc2c5a4e4fd042c225f97244", + "collateralHash": "bdf51c146a9f7b53c6eb795af91afeec667f1004005597bac70ec98025754d8e", + "collateralIndex": 1, + "collateralAddress": "XjNL7ixdV8LiyeFKU8X6d5EErPszsGE4cW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.222:9999", + "registeredHeight": 1276673, + "lastPaidHeight": 1873610, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1722205, + "PoSeBanHeight": 1875707, + "revocationReason": 0, + "ownerAddress": "XbbpHqY1637cM2KnpDP7i5xqh3AeBN9Aik", + "votingAddress": "XfaVvZhFTrYA7wFfz6XxWAwsPWrd6hzrSp", + "payoutAddress": "Xf2xML34B4hGCgoQJg3P22XJ678u6M9Nu9", + "pubKeyOperator": "83ae1be57b8b0337519ad33a3543c3ce9647caa71f4851ab1e6004a04f789017d2093facb6fbbe3613f1ffc770796be1" + } + }, + { + "type": "Regular", + "proTxHash": "12adbb06eb38745a1b6cc3310844a62465cb62e59072635b817e89c472be46d6", + "collateralHash": "60defe4c2dc9e2eaed91b57cd83e0eceb435d56906111b1463fb618e5e6794ef", + "collateralIndex": 1, + "collateralAddress": "Xuf5Rr1FBz8oMndXkYrYQGmpW8gFzGBkuS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.223:9999", + "registeredHeight": 1276673, + "lastPaidHeight": 1914414, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": 1729388, + "PoSeBanHeight": 1914954, + "revocationReason": 0, + "ownerAddress": "XohdvvRHTKECeiBgX4KBcHtG3eicq5LeDW", + "votingAddress": "Xc2Yy2ocGRcCFxcRq7nA1W9xqJjdTNzbX9", + "payoutAddress": "Xf2xML34B4hGCgoQJg3P22XJ678u6M9Nu9", + "pubKeyOperator": "8c8d4b34b91f90ed0d562eb4a504960693cb647148ec5961642d14d4037eafe2afa8450ab66e5b173361615a163e80cb" + } + }, + { + "type": "Regular", + "proTxHash": "11b688fc8ad1352a772cab2c7f7e70ebe4797a633c6b394e7b2551d80b3c8a52", + "collateralHash": "c76f58dde649302540c0beb647ec7810cd22f69e35733593da76d9da141fb967", + "collateralIndex": 0, + "collateralAddress": "XySzNn4ish66ZpzKkd969QHFrFq4dCR8V9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.87.217:9999", + "registeredHeight": 1279476, + "lastPaidHeight": 1297974, + "consecutivePayments": 0, + "PoSePenalty": 5064, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1301412, + "revocationReason": 0, + "ownerAddress": "Xy1PFXcaCxw9ruisYiqzLFvJrbWMXMwd9z", + "votingAddress": "XikN5uAqnSE23EvHuDC6Fe1NiQWK1qLSrJ", + "payoutAddress": "XySzNn4ish66ZpzKkd969QHFrFq4dCR8V9", + "pubKeyOperator": "8cad8af1d4ea64ccf2528c2f629688d24017b214ca04b02b218076e6441b1e42a08e80c44e1489bad951dc8c38180600" + } + }, + { + "type": "Regular", + "proTxHash": "2a526a0a8e4566e423d991f0b7d84cc3a0af52c5b30460804a53f27e58fd2487", + "collateralHash": "d6f25df4fddb5f30dc4a6baaaf427865393bb3f30c32bccc3e237937981dd9ea", + "collateralIndex": 0, + "collateralAddress": "XmwZPvXU9sLVRKxKJbYjaFUbswfzMw84YB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.197.164.120:9999", + "registeredHeight": 1279476, + "lastPaidHeight": 1302868, + "consecutivePayments": 0, + "PoSePenalty": 5064, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1302996, + "revocationReason": 0, + "ownerAddress": "XxMwe8zGcTSmcLmxxpFWURUpqkGggNkcr2", + "votingAddress": "XsteG7Ux48XdvaYyiXzkSsQLvhUaN5MYKG", + "payoutAddress": "XmwZPvXU9sLVRKxKJbYjaFUbswfzMw84YB", + "pubKeyOperator": "9448860253791aa67094e92c9e7a85c12f6f59a9ce689bd37bce9c20ae618658a496484cd07a7e1c79c4728fa983621d" + } + }, + { + "type": "Regular", + "proTxHash": "be5138c98a29be5fa44f83f6160e9f278af79f918597adbbda53f75ff4d8f244", + "collateralHash": "5b2140e512a3df9ffc7d1479e9edc9e301f68b0ec78e12410936187129c9a891", + "collateralIndex": 1, + "collateralAddress": "XdVj73mVBbgUg9rf5VgdtRjsbeiBbRHo4y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.221:9999", + "registeredHeight": 1279852, + "lastPaidHeight": 2126893, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1623311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjLKd1uTEHTxR7efS17uwVEdCUezrnzpdR", + "votingAddress": "Xp5U8WbRp4q3JSv8DVu9jWN9quyNtgYnTG", + "payoutAddress": "XsmPma6fodTxHGZEkhFC9ENe4AF2WvrdZf", + "pubKeyOperator": "88f7ae58b4e78d3909f6e648b5db7573a7d3b1d5d71ff9985e95c1466c2a4e9057450ddc810265fbab39e011d7729fdc" + } + }, + { + "type": "Regular", + "proTxHash": "670a2d8a3ca943ed7832574e75fceb8639b268b170eb80608fc94ccf68cabe6d", + "collateralHash": "70c8921d4ae95dda8af2ce875fccbc958d71a7cf663596f83fdab6173cb954c5", + "collateralIndex": 1, + "collateralAddress": "XeoC4Phnz4zDQcfYyrmQrf1bXExueiXSjw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.17:9999", + "registeredHeight": 1279981, + "lastPaidHeight": 2128695, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgtfar6Tczdw54wBKJPLU2KYmYrsXozKQy", + "votingAddress": "Xxp8fPkzZq9E8nrKpghsCT79jvmQjj3eo3", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "824836d360be47f9d7eb5dd32e33a49a91e095affc5f976390fbe9cd27aacb6832c5674da01dd769eb53a91e7e22839d" + } + }, + { + "type": "Regular", + "proTxHash": "afa66dabd439ceb70fa897589550b3c3416744f6d1b11421ab38f7dd85952e42", + "collateralHash": "633443aa57fe44bfe8c4d900669aa8c4694db8abd2adb1fa1a5116dd229f0047", + "collateralIndex": 1, + "collateralAddress": "Xn8kjLRwKqk9ameTQShkxysZYtXCi29i69", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.112:9999", + "registeredHeight": 1280446, + "lastPaidHeight": 2125757, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtmCmsWST8tc39QB14YpUkySnCatSybJyw", + "votingAddress": "XjAEnVovzHcspvJTdyMwse64LktfAvMkQ7", + "payoutAddress": "Xn8kjLRwKqk9ameTQShkxysZYtXCi29i69", + "pubKeyOperator": "01c4450161c3e980cd43dd30ee7125c8082037867d5bdca8552e5c3f5c300ec303989c28e99bbe056a2d88860fc03d56" + } + }, + { + "type": "Regular", + "proTxHash": "a9b5dcecfa5f65fc561cc342408f3f5cc162eda0777d52cc06c8d7427326842c", + "collateralHash": "efad08229197f4fcce88ca37b6864a5a23c9593bdc6fba985942ae0c608f85dc", + "collateralIndex": 1, + "collateralAddress": "Xki1N39F6GKvJuViXutVmJ4145wwzrNatj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "116.203.214.106:9999", + "registeredHeight": 1280748, + "lastPaidHeight": 2126408, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120348, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcNeg8sfj7bY2a7eUPA58uqpKgGed7Ev3k", + "votingAddress": "XjvXerdfo6gJDR6FYx1tVBcVNCFnSv9ZHL", + "payoutAddress": "Xki1N39F6GKvJuViXutVmJ4145wwzrNatj", + "pubKeyOperator": "0793e4a0062da1111b667ca05511b2aeeab9fd74096b889ae778b4b8c8a8f2a7b31b1be6b60e1af539568a4fce81bdcd" + } + }, + { + "type": "Regular", + "proTxHash": "da0aacfded1e6ee8223142208049f968605a4d883acf8660a3d88aa5a4de4eef", + "collateralHash": "436f544df43321f9a654b57331ea857bbd4589b3a71a1eb842b1897a0e954961", + "collateralIndex": 1, + "collateralAddress": "XrvgYUFC5w31c3rvk4wpNLZJv4CxeDQrPV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.69.52.120:9999", + "registeredHeight": 1281266, + "lastPaidHeight": 2126222, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XysrVioLJ6EwonsC4cVL4PYPLzr2Whv7bE", + "votingAddress": "Xqw5zCDQGypgyhJpvAqDgtjYU7qCcCdxi3", + "payoutAddress": "XxT7Htugq5zHN7Ct3BimhgmdbuHDGCdReV", + "pubKeyOperator": "95e53a9f5f0074b0ba9cf69926bd3fce169b1830d063d55b80e9723e80b2d616a2ee046feeae354a2a9a40e30c4d447b" + } + }, + { + "type": "Regular", + "proTxHash": "d390e48a5f9a5b9481ec1dbf29df99f8309dea536843aab3aa46158cacc3ce11", + "collateralHash": "cfe7911a87149ada54514b666c6fa11271c27c4fa2f5d90fde4a564bf79f7bbd", + "collateralIndex": 1, + "collateralAddress": "Xd6jhHTHoAnVDh6LFgKqSdTWXAqisZ6jJW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "34.246.176.25:9999", + "registeredHeight": 1281316, + "lastPaidHeight": 2114065, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 2008976, + "PoSeBanHeight": 2116842, + "revocationReason": 0, + "ownerAddress": "Xgzy7SAUHDbZw8s38i36VYRJ78pBkZYTCN", + "votingAddress": "XwcXZQsgDxFejPoDnrFB93u5bTzva8a8jZ", + "payoutAddress": "XjhRZWqfmaAacrAcRVpg35Z8EdmzfBg9HB", + "pubKeyOperator": "84aae670612ba9376dccfe91a214982f83c7d0010f09d37d13c6662dbdc4c5bca6be76fa7aa845d888f9e8cfebd7ef3b" + } + }, + { + "type": "Regular", + "proTxHash": "2edec6f0419e5916490857f182dd71b15042faaa9e3d9a34667698d6b33ac345", + "collateralHash": "170d6084fbb460e185f15c23fcc490dc9e042d0d974e0fe1be5cc9f0352680ee", + "collateralIndex": 1, + "collateralAddress": "XturAGf2s8f212aQtQi2p3RS7aVJM8oHM1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.230:9999", + "registeredHeight": 1281599, + "lastPaidHeight": 2126422, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1498244, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqksKm8CgXSGYRu8oCkD36TqBEbSNG4y7b", + "votingAddress": "XgYqhNKea2eovjAR4KU8rBxVT1DhDnp3jn", + "payoutAddress": "XwwDWBFzfy2WLNekRr5NdhZFm8GWLYcc3K", + "pubKeyOperator": "91a8b62d84551b83304248b3bc2419e55534d875fbf53ebb2024fdef4ab821959f01ec5686fd0c859840542acfb5517f" + } + }, + { + "type": "Regular", + "proTxHash": "146a9956e7531ec4970162d6d5c3ec886289b56cb9b6a338fa3794ff6459c717", + "collateralHash": "67ae4ab509d02196dfa378e90abf23b982514f6d11db6d39b69218c5acac6235", + "collateralIndex": 0, + "collateralAddress": "Xe6bffYLqiYCYU7yQRBHSnzougAcyh6371", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1282292, + "lastPaidHeight": 1364652, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1368244, + "revocationReason": 1, + "ownerAddress": "XitU3V7xM4q8jvGQ2nURmZ3sU3TBW7r1Uo", + "votingAddress": "XdYZSHjNY2x3TDR9BgXWaXHRwudhH6EC7v", + "payoutAddress": "XodJvg1rKZyu7UzhgmmQ86JusShM2nJ2ef", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3b3d551cdb1deaeeef9d3586dc5af7521ae2e654b2f8a5c9edfe5c031b2c1e82", + "collateralHash": "0f43007e4a055d3651fa6d1aeaa75d2cf8695e57bd6130832933bb97c5921d8a", + "collateralIndex": 0, + "collateralAddress": "XhUrBPfuKpYgPp62kpPvPx7acgSW5paReL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.209.178:9999", + "registeredHeight": 1282860, + "lastPaidHeight": 1301375, + "consecutivePayments": 0, + "PoSePenalty": 5045, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1304373, + "revocationReason": 0, + "ownerAddress": "Xy2nxahtbfPr49ocBSfCCP55EPG9dRnf6B", + "votingAddress": "XjFJhXMZYVSDgLauuWeHeRL7vSznXAoDa7", + "payoutAddress": "XhUrBPfuKpYgPp62kpPvPx7acgSW5paReL", + "pubKeyOperator": "06a5488f4cd08f3e893b92d31030df6eedd3fa2cd2a0d061b0d0c4102ee5ec1e8063f02bf647fc570f4ec25b5a65012e" + } + }, + { + "type": "Regular", + "proTxHash": "24707887731e9050f4d7424257186e06edcd08d0ccd01120c112a77429c6a345", + "collateralHash": "913e89aa3668628b11dfb6e20764fdf81025f68529e915fd92746cc101f3df73", + "collateralIndex": 0, + "collateralAddress": "XhLbiA51oiMoNbydWiG3wNybU5TgX9WJdG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.165.8:9999", + "registeredHeight": 1282862, + "lastPaidHeight": 1301377, + "consecutivePayments": 0, + "PoSePenalty": 5061, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1303235, + "revocationReason": 0, + "ownerAddress": "XkRGhBa7gL1b27E9sE5p7reL5pWkjfvFqT", + "votingAddress": "XhpurpTmyDQLFtmL1NZv36BivxF3Xb1J69", + "payoutAddress": "XhLbiA51oiMoNbydWiG3wNybU5TgX9WJdG", + "pubKeyOperator": "16aae8c5cebbc2110668bcb21d63e2f3ddcfdc78c5e9a31f7e7f10c20d2e4c7fd59ceb139a9903a88d6639711faec849" + } + }, + { + "type": "Regular", + "proTxHash": "65c11e751596f3e2f8829b41bce171d872d3a0e9bd6ea8b65757f61b47b6d50d", + "collateralHash": "a5d7dc26d14d1ddc0cbc64f20b1eba840466009ad290e995e99285733832dc40", + "collateralIndex": 1, + "collateralAddress": "XmDkxM3NvqUWo7FXHoeUb83u8DZEx8sPqf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.84.23:9999", + "registeredHeight": 1282922, + "lastPaidHeight": 2128816, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977468, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtyeHBRSSzKv7zHNnWBJ2uCHQwUGH7z4Yd", + "votingAddress": "Xrnm8RgJiomLGGCfgnSvEzxRsYhb8NGwdN", + "payoutAddress": "XnS3Eww7crb2Wa3NksKATXzRa7s38HgRQM", + "pubKeyOperator": "026184d68ce55a58f815c8c4ca7696a26773e0494fa0e79326eded8f9abe713e71fe5cd32ed2b2cb9782547adb9ec844" + } + }, + { + "type": "Regular", + "proTxHash": "87f04e652c103f343702a8f134598c69978bf95e12b427db5687090b38d4d116", + "collateralHash": "cf8c8f69f4ee59de591d50ac4144cc2b53ff374e7e9ce4ad106502df05297c3e", + "collateralIndex": 0, + "collateralAddress": "XsbTyEg8g29LciGBLEdpqEUbGUmBQfBSFz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.225.96.191:9999", + "registeredHeight": 1284492, + "lastPaidHeight": 1298386, + "consecutivePayments": 0, + "PoSePenalty": 5064, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1302899, + "revocationReason": 0, + "ownerAddress": "Xc5A8DutxZXPR9vqveGTvdLdXuhzAdi5WY", + "votingAddress": "XddPUWt2UnAPcKVHmix4pjodX8jz4ECAzS", + "payoutAddress": "XsbTyEg8g29LciGBLEdpqEUbGUmBQfBSFz", + "pubKeyOperator": "12a0b19965212000e3418b98be89a0a51d24624201ea3fd6541dbbc659eb8996fad1e5e2092b350a27c3aa2cc101c3fd" + } + }, + { + "type": "Regular", + "proTxHash": "4e407ef93a3087d24b549f057ddb47d485d8bc51b11e092c8f5dd5fbd9fd8e83", + "collateralHash": "c7c9a8be5a01fa426458990b83c8c2e8f2d7f8e8710b70ab87ec444471ba3031", + "collateralIndex": 1, + "collateralAddress": "XrbMGv1hUvyXeo2XtWLzpV97jUaVyAZsJe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "150.158.48.6:9999", + "registeredHeight": 1286015, + "lastPaidHeight": 2126984, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2107705, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdgJkLaRdJbYDKpcjkXhabzoHJ1tBuJSRZ", + "votingAddress": "XfPoouJWKmfeirpuCGfyVcD74Z6JdzYs3M", + "payoutAddress": "Xoq3HCushf6AUeqnnTXUrGUKrRqKhp2FKi", + "pubKeyOperator": "8a61a4026a6177677aafc9115c419cdc478761393aed8e4a5ace54ed63e33321727ddb6cdf30636b5b74ee874bcd16bf" + } + }, + { + "type": "Regular", + "proTxHash": "b0f1ff74eacdad3c803e929e3a37ed200ca2b3f58f1c790a2e4d49400302a137", + "collateralHash": "66bfa0a81438cda10c02dea8020658d8d3cf6d27250a935dc317a13d35c9773f", + "collateralIndex": 0, + "collateralAddress": "Xj4E3B3Gze9TwujFx3uarf8q5p9SYe1K4X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "198.199.97.223:9999", + "registeredHeight": 1287189, + "lastPaidHeight": 1301106, + "consecutivePayments": 0, + "PoSePenalty": 5046, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1304315, + "revocationReason": 0, + "ownerAddress": "XjozuMEZoVcSjaWAa3bUmZmzJFBTckMyTK", + "votingAddress": "XjWZTxUShgSsbMm8cLS6rR3o93qQjHSSRw", + "payoutAddress": "Xj4E3B3Gze9TwujFx3uarf8q5p9SYe1K4X", + "pubKeyOperator": "13576ac8c1f35b8d0f89fd3b20f9c72879f465911919aa4eb1ec5d858954f28dfd4d4f40af852c57454e6e9900a4f778" + } + }, + { + "type": "Regular", + "proTxHash": "6fc9f6068f195db86c04af8cc80c02dc7cbdc010817093da9a70860232158d94", + "collateralHash": "6c84ff58de9f0925cfc94adc166108c9b1b0342a95710b11927f842c4a31fa63", + "collateralIndex": 0, + "collateralAddress": "Xy7cg8q6HnbFeYrySEJANRjAxfKzX9Lef4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.156.239:9999", + "registeredHeight": 1287193, + "lastPaidHeight": 1301112, + "consecutivePayments": 0, + "PoSePenalty": 5043, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1305238, + "revocationReason": 0, + "ownerAddress": "Xu7PiHmGfY6rKGv6fRQDFdJszo8ny7fxQF", + "votingAddress": "XcgF1ea4PcvyHRFuhnbZyWpFF5Df3c6Jnd", + "payoutAddress": "Xy7cg8q6HnbFeYrySEJANRjAxfKzX9Lef4", + "pubKeyOperator": "0efd290d21d161fadd1a4f4f5f0cdd55f80eeaf819f1f3a3130b0a405fb8a1d04984bf951286018cbdd5bf0650580101" + } + }, + { + "type": "Regular", + "proTxHash": "558eae093562c814866c6a568f585b6a9aeaadfa31311b9797c56bb6051ba130", + "collateralHash": "2aac7af85fd6688af050c6f61d6ffb4662fa3e1d9d5b8e2b99284b8c4cff9ecd", + "collateralIndex": 0, + "collateralAddress": "XtHJQ7fVFTt4ctwryfcyk6VcWbrzmEj7bf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.196.122:9999", + "registeredHeight": 1287196, + "lastPaidHeight": 1296367, + "consecutivePayments": 0, + "PoSePenalty": 5060, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1300091, + "revocationReason": 0, + "ownerAddress": "XgiTtoEFDNxg9yxnEnLWEJVEyEDV9W9Fcn", + "votingAddress": "XuLxyhL1ZwR8mU7EXH46uGGMJHNoViRTsP", + "payoutAddress": "XtHJQ7fVFTt4ctwryfcyk6VcWbrzmEj7bf", + "pubKeyOperator": "106fd7b5e94b40b1a37a1a6a6a0b0fe78924927712903e7233aba3d27d4ba69826649894c0a1f6a0f81de3bff59f3d02" + } + }, + { + "type": "Regular", + "proTxHash": "7f4325ffecfe46c1117f8f8c7b803c924da2cef0193078c6b80b081206e20d78", + "collateralHash": "c7a60221be21b9876633617bca3461e118841348f3e60ce1defc3bd9557bd3c9", + "collateralIndex": 0, + "collateralAddress": "XvHmcQVzVwCDcMoKtU1bnZu2N2R8mKTW7k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.253.72:9999", + "registeredHeight": 1287198, + "lastPaidHeight": 1301117, + "consecutivePayments": 0, + "PoSePenalty": 5043, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1304661, + "revocationReason": 0, + "ownerAddress": "XgbWgRvz28tExbXyxNdEp2fgR4EPjqdbpN", + "votingAddress": "XrmjH8aS5XV1fC1QmmVQ9eHBNRpbK4FvDD", + "payoutAddress": "XvHmcQVzVwCDcMoKtU1bnZu2N2R8mKTW7k", + "pubKeyOperator": "0c4b199545f7eaa5bed7060f4f2dd30302ae56db001868a4df41c9fe056c346da71151c58faaa4d06b5bbd4deb7d7fb9" + } + }, + { + "type": "Regular", + "proTxHash": "3f4145afe10f96fff954d5ee9de6f99bf3f4acd8a36ac9ab8c7bbc7625723c38", + "collateralHash": "237408095b10db7c45fac2f96742ed61073a5d4993494a890201b465f9f438e2", + "collateralIndex": 0, + "collateralAddress": "XgEdEPdeV2UnDsBCCvgT4XxDmzdYQy8NeN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.227.19.143:9999", + "registeredHeight": 1291748, + "lastPaidHeight": 1305970, + "consecutivePayments": 0, + "PoSePenalty": 5043, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1308011, + "revocationReason": 0, + "ownerAddress": "XpMzqEkKxSnWanaPXdQ7EryoK6i2TkV1k3", + "votingAddress": "XhEiF2Epar1R5BNteL2K72Xw48zV6VEMmx", + "payoutAddress": "XgEdEPdeV2UnDsBCCvgT4XxDmzdYQy8NeN", + "pubKeyOperator": "913b88c887ba8281d2f47f80521c67cde1e76df12601336dd3d8b3a06d0e4a9fd683e279f1838b2d3853000524f188c2" + } + }, + { + "type": "Regular", + "proTxHash": "63aa159a4b7bf5c0a9bbc11f155e34bd55da306491da953f497717765e906400", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 73, + "collateralAddress": "Xp66gRn2roEbNRjnrq8x558xPbjKpsTRrA", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.225.22:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120809, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuHdqZiGLuYQuGAcSDk5yWNxVW455JgJ9t", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8ad2449de0fab6e0c222a6da6ef16fa0ba60ab5ee2e34faba1907274f48395664392238d9841e5bdf4d1970e27f28f5c", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "0f75c92b0427b2f639be4df2032c4d92d67967bb2fff60b936c6739afbd17a01", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 118, + "collateralAddress": "XviKc7jYAKVosnMB29t3DF9M5uZUFYUnCS", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.177.221:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119080, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrmHr6BXk3GmXVy2gEFLysVCcXih6528Jc", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "192924d5b2f401ac83fd527e7a36d3833bdc4116f67b71fba860ce32675863d67525199d36003ea2e17bbc3d668efc24", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "34dec6f7a3fab760e231757fc7498e6d7e48c65af6f6ded167c0507dd26a0302", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 69, + "collateralAddress": "XoARaJx2DHatZiBcgZVSDPX8ZkWsbAgYEi", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.176.201:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119057, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgfjEmrS8VkiR9Yew2WT65HRZgbeXRRxxp", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "04975699dccb947b5bdb8351b5c85b26f8feef305003caae0879a00fa9cc4dc813364efdd846cc57cb033601efeeca04", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "12438456d54a665b37d7390fb2ebc1ec610150a312b934a5d5d10a5a328e4123", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 29, + "collateralAddress": "XfVLkCf6D7J3CcpfVWvfXLDXY1xCZz6aYA", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.101.161:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118730, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdkDrZzZQmb7NsLhxTbF1rg8ECGN3iGSXj", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "83634d9486727a98fe9f5e04231ea55b21056165e1b50253832b40e608ccc8560c354b5dfc1a2632765cf4f91240cdce", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "8fd3ad20b7bde02b429e860ef5dbb2abfc20b4e2ac21c15723d1edc31ee1d62a", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 27, + "collateralAddress": "XfENFB2mqiycQ9AQshZLJjHP3kc4U9Fo9A", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.109.8:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120816, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqwJMXMi2WehMAKKT17GQESeUskmY1ex99", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0d1d89f1303897e493828fc09f0761f1a6da9ff1c9c9dfa537818c8f2dd3134dfc2fefe34ff438110d59ad6e3133a3e2", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "b27ad1a860d66e0bcd7f2ac499429a7da72369e7bd017acb5a6b77f074c7272b", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 78, + "collateralAddress": "XphGSCfK1gcXBBvEb1j4o3Yih22cdJMNmQ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.126.129:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118148, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgsPEu5aBAnbU1kaLKHs3913iW5HxewtBW", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "144e2de005a2aa34370866b1b083cdd838e1367e2c5796ee1eef7d027483009da3aca2d2518b9d00d40f15cbc80ee86e", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "0374b82cca4b0e2b0219c059549331ec06ff595b7917a861f08a0dd03eaa9837", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 52, + "collateralAddress": "XkAFKbAuaYCuzrWViq43dHcZANg86UewpC", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.234.17:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120241, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeHPLfE4KrEiuh9tZ7RuPpFgUMMYhYgtz7", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "85fdb9112302997e108897f004b8f423437f912964f6fde0f6ed891a6fb90acb57fbbe048adf1d1a47b13f3c4a5c8536", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "20a44f65904e293d382763a37f91cd923935eb54ddde2cacf41d538d0e78d83d", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 95, + "collateralAddress": "XsmLHVY2qLKjDMLu89GEjsy9Pf5D7U6hMK", + "operatorReward": 8, + "state": { + "version": 1, + "service": "193.122.156.100:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118490, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbEgbvXXDJ4zpDzkEu9ctnup3YaPYBHYed", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "19fe7a9085ba63954e1ade5edd93059bb4c1ebcc9f7d12658ed1961dbe1e0ebe7ab2fce49d411c7be334d4d113c02b87", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "d456ca2b6c4ffb7dd4be997430544155c4261dd96dcb920ee1792ab163881f41", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 98, + "collateralAddress": "XtC6TY8Sf1fs5j3ZXQXTekNvHAuBywXKmK", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.36.72:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2117138, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdKAUNNHyTy7RGVg5swFGNrCKHaFhKgPUu", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "03dfc8f214dae21ee2513e3333e5892dc748458a306800c92a7e9dcc777f960139e02e9b1259cf48adb3e03efc0e352d", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "bd3cf32cc7d43229974c76d12a52a62d9230d8863299e196ee58b4036a15fe46", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 26, + "collateralAddress": "Xeyb3Jv8oeezd3fW7iCbX2c2oTTRLjfuqM", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.225.135:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119041, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnejecCAoMP8SrcWF1gxef51EqoKY8R77B", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "10ec395339d1f9210316a1ba9be993a42536536fd910f4d4c1636f5badbc1761ab36154ab4347bbba96fa876383d9417", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "630a794d7ec7501a23bc30592486660849ba478a1a967194d71da8c988d96a4c", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 59, + "collateralAddress": "XmXJqRxhE9HWpSTiLGWejnbUCCVsjYXSuq", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.43.28:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120133, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe7YC3yioJAH5M6SRRXqKPLkoPzcE7gr3t", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "856c3309b2dd367b115f79abaf787082859a82501c20af511d4127fe53cdaf4a004ef2f331f5fa9879a443d080b950cf", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "547f46a7e2d243f15fe447f5ee5ef5dc957d6da690e87db899b3c916c585ac66", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 101, + "collateralAddress": "XtR8BrT9fLfG1RXTEDha65ChXpYq4pgJkw", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.180.85:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118205, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw3bXvAA8SgiHP3RMDa5qVGc5KkvUbTwV4", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "80606066510cdb67bcf83826b526a0f985cbd3a64e610f77530fa745e8d119d4f651b941caf332fa049ddbdb742a1e57", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "61187db6de788e1d33925eeeff6e9240649c2212fe4dea03858391f675de0a6a", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 7, + "collateralAddress": "XbwomJqHZWNHkiorF4Vos1HpRExN22YauW", + "operatorReward": 8, + "state": { + "version": 1, + "service": "193.122.159.143:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120152, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdh4VB8aoExHvvEbwrLsX5natAfhazRkuQ", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "08432040c2327d48745860a5941208ac19d29c6e3ade37e47b3f26f2967bca708a2fd554cd66f8291de5bf2956c6a0df", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "324f40de901fafcc3166e7d61a6f9c040151883915f71d1f14d001546c753b73", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 47, + "collateralAddress": "XjYNUWKWVaht1zMkPEHERthmFTqmiURiYP", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.134.133:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120243, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxARqBqAvzWLCsDf8zqYEJSVVU2s8gjENf", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8fc158da6ec0d5db896d01349634cd3864a8d10cc1816cead3231e884015655d5d8f5656d23b6736a758e931e8cb2ab8", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "36ef5a2943d74ae1bab43da956006f6ea63d43f7786abbc37d349795c35b2c76", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 92, + "collateralAddress": "XsKdm1Qv9fSKcKuJAU8SmPSVE8qTJCEUqx", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.203.72:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120285, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeSHd7CTvvK4eFLf9B4mpMmH6HjzV2GA4k", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8a883dde54a8ed470a066b63a2715372a85e1304076a7c5211e46a7c47d38d6ecc8a872c45336e7740e784606ef9090a", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "606aee5d876c84bae714931f986b7cd020b25e19a4d6588ff11db0e1b600cb7b", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 55, + "collateralAddress": "XkpZ7yFdpVcKXxERy6qxedQ4jKWuHpgyAJ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "193.122.142.163:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118735, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkD4yL5RWC2Pkb9zQAnji8uDDAZehZLpgF", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "82a244a844ec983825090a3a8e6deab6df728b8ad39c86e05d3301af0365aee21e91662a494b50d8190a2508ba4c8f14", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "1385476525814cefca454ddcc115f3ea7ad5a1778ac354956b9bbbe7ac4fea7d", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 124, + "collateralAddress": "XxWgmceasdW9Wt4KmrZPCc8gYbdhPQtVkN", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.104.198:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118761, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfzfXynSeABiVWycQaosAQZzHa2uT1hpiK", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "187ad4a8a1400ffbc755ae1688a18fb3bb540799729ca405f900ed490d8bfeca8f1e4fad67c3d7377433d9608ffdb3c8", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "bd079bd29a9b4032b313b970c49cfb65cd128e4961d55a8fb8c16d14dea6d78a", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 22, + "collateralAddress": "XeVrZf5z53iaKcyEzLoVa38LGXQwSM6KMH", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.14.66:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2117349, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XinxMMLUftfRpkiQM8o2b4gsZquaGnUty9", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0fcfd0799308529584a2659db6d79f30537741a17e9711dd11070e3210212717ee89dced9bc58ff8ed47f6db20687f8a", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "3729037a8f884a3136b4a72bd2de9c21a3f51b3a743edebf862cf0b079f44395", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 132, + "collateralAddress": "Xym6FVpiGLWd2kcJAfqtGDDFyfmcrtEmZe", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.183.181:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2117042, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdvakrwy945sfuUmAAQFLEEeSFFwm2gu7L", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "08d1b7dfe005baf958b487a4b72609e949ced0367e1a2cc803d311a25a9eaada0b00568b385b595b214312704cfb643b", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "831838a9315f5c22323cf7378c34d68c48bf7fea4e350359308b6156f0ba699b", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 89, + "collateralAddress": "XrcRxrzVWwHXTR73YGBqhqJFQVVJ6G1yMm", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.134.177:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118751, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj1PMZLpUVacNTnk8SKiF9c65AcfFCz5h7", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "050e809e276d9e24b72e06ecca26a9de5fc47663c851b819a3bc64a21323e8f806c5859bf14477747a4b0474379fc5ee", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "52417747be3573dfd8adfb60ec98b0651ec500b8823d2c456b121bae67889a9c", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 93, + "collateralAddress": "XsWfv9v2TWD57VoodWdUk2EjMWhuV9Tsfn", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.125.107:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119073, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkcdQfabXzMVdHCq666bM2yMKLei8sDzvK", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "11c8bb8b632288baa7bf695a1a27c08fe3769630a3998b857ef74fe521b16ab5c6ef2278f26568822480eba4935a66c2", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "65a8001f362fcc7dcab837818e5b873327a2308466ce7b3408bbc0957c7a15b0", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 44, + "collateralAddress": "Xii9arFkiWrGJrCEnqJW467EunKeJgNrXC", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.99.27:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120252, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xtt31xdNmBtzk3vH3cu89tWnfvmHZwwqZf", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "1429f3fdefded9a8c5716f6e8f2b3412b60a0b9b1ca44ecf57845fc9ac93dd5bb44c5c7ac6e9c076a39c2725f9814cf4", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "1e1d45c63881d362ee1519bef129001ba5f2dcb54f788dd0e01a6c91bd3055b2", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 12, + "collateralAddress": "XcWKcjxXSEtTE69d3VD3pqV2Y5VUVdR5hW", + "operatorReward": 8, + "state": { + "version": 1, + "service": "158.101.111.137:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119033, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126086, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvVDXKPPyGFiUfPhUiDjJFspaJeXPYvRQn", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "1484a9f27b3916995b986e261d597a243a27b90b129682d20a5f4c5865d42cf431214d8b3d185271c54f25bbc7cfb874", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "eb48654887ae026a1df63a93d322e5e2e67fa4ce32c039b979b0ea25bff3f1b6", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 49, + "collateralAddress": "XjfXxjS4Tr8JBL5z6Cc6RzbsE3z7DsPahx", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.158.145:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119051, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": 2126135, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcEwUHw91yHnzzLk4h3RNW8kZ9RnVpU2e9", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "91108f57509ba0c415093840e2448efb62af23998e79ff96e815e7967576e3374708121f578b391a65a4e9f18082d828", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "a9c4fc44f87c5289e9f0163b481ebb6caec4aae48a906ea85daecfec0cc4dcb7", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 88, + "collateralAddress": "XrQ4eDYeq55WoYuDjjfh9iLrA7ABKnqJyf", + "operatorReward": 8, + "state": { + "version": 1, + "service": "193.122.141.157:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119075, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsdkCGarpiKDjwMp4ykpbADfRWGi53E7i8", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "14406c68de1ea82685e497878c79e00a806f4490635f033b537ed7d92d459cf9c223c08474855cbd44da580395215935", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "40ebfebe581fe28b824e3cce2c85597db86659acba11cd3ce0e42614e1b597c4", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 131, + "collateralAddress": "XyjmqDys7zJLnUbjNGqMfb8q8eG5Gvd4pG", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.145.23:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119100, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnwsDiF15QAwCmexpLT4YcRnszb74rwTAn", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "128f90ac3db65b27594f7f1fad59249d75214bf25b543b75b34b28b830eabcf2f1f191b578eeffaa55e740d46bb30189", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "3ae7c93cdc96938b4e108c10cbc5658ff770b550dd0643e38e2b34e976d322c8", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 80, + "collateralAddress": "XqNstaeLxReFWTaSDez412UU3ZTyii2fS1", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.46.160:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120720, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfdzRegXS1Cao6tiCZCtqLHopefVZbCFsk", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "836ee8e039fe69ad6154c3a338ff5ce1d3094fbd2de2f517b79ac7eedb413d5e490d66167812588167e5f00ea6273ef5", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "d973d8f9080fb6b29bfcf362b5bb13a756eb400d7bdd3d9197aabb811a2045cc", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 33, + "collateralAddress": "XgPp43LaQS68WAxAMptdEu3gigHdrxw9RG", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.98.60:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120228, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxgCxGM5z2YsPeEb8oqmY1q8HgG7zWetVK", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "90384273ace180a71a497a3993508cb5467f6fb7f70f0c5fa9790b2fd317bfc746711c453b62d4862be5e7b659c52407", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "0d0ee825329e576263dd9859ac0a5ee5d2050a0a3acedefc50a63349ec17dfcc", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 111, + "collateralAddress": "XuuKbPrJ2tos5zyRPAPV8f7m9Mpsx2oSTd", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.202.251:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119085, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xup93ZV29cgbKpPs8EogETXXh6uACTmbJM", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "91f325217de87935b334f4acb06c841fe9c64f28da1ddbfff511b777b4608f77f8b264a8c11af1c7b5b02549cce9d926", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "a0651e0e9953be9afe9e5cec8af79d58c4c1d7519cb775fc8c9eeec4c7a3dcf0", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 60, + "collateralAddress": "XmxDVvvjXas67BTgewFtu7bx3uxSAHE7uR", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.188.82:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119052, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrhu3QCqGbDSiZBNzRkzWivF1yUCC9eWu9", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "986aa44d21a38f743712d2ce721bb11083ac4aa338c630602a58f46a42db9c8b20ef01d6108aacd4ca43cf83721ae25d", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "e3c53457e02b8e01edc1a3acb0dba683e322e990725e3c3e12594bad965154f6", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 102, + "collateralAddress": "Xtdmh5xVTJ6hgx4w5JxBLeqq7ivr1Log8M", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.154.102:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119090, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxEHmH4ABAgr1cLhTzz9suNWFVQS53rjcA", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8ce4fd7ba94f508b87287fa10cc3a2bb5686c477ebf7fef509cedbd9fea43bcd1d34f27db3f38a20dbc5b9b8a3986a2e", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "1dee3d5ae5716486a9c0b8dcea8dfb3ead994f173a17d5c9b173dc9c3e9ebbf6", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 112, + "collateralAddress": "Xv4yX9LmoQMkkaPdpgmpCpWBK2TpJx7NmL", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.159.146:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2117639, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsyeQX6dxn4pH68tRPtQV2Jqjugoqjc2m7", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8262ebb3ab3feff634bd9e9e4530fdd18b9ec6e9d67133ff0cf2d4c08e6b403631e19b666d8dfcc07d8e71155c704fcd", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "d6c090ae5b47ac6947aefc7231a75b9cac9fb0c5c0f9a72e91d10ecced6da5fa", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 2, + "collateralAddress": "XbLgfJGXAEZ87XXkzB3astWceWx9bykCKm", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.151.185:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119030, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128280, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwScjtZcVoDQqg5GSWz9awJTWV5qoEYSu7", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "043e742f9fb2555cd4eb9c89cac9f3de6be40348186b19fefee049ed4e3de268dee7da06086c5e3d74d72ea9a125eedd", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "02aa28b0eedeb9f7ac9c986fc882afc1c5fc63af210b2707975eea744591d709", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 31, + "collateralAddress": "Xg3J1TeKvc5oMZfxcK2eq9buAkXRKHdLrv", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.224.182:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120187, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqzf4YqhtbKAmamDd8zfphZAmDtVqkykXU", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "98a8d676eff6a1b8e0e19143a8547db180bc4a6385bad8f15125e28814fa04fc80a08b5573de574aac25fa70d88e5ac5", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "bbcff3397b542344f4824cd0426b01be0537e2e498a21bee9be9d6e4233dab0b", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 113, + "collateralAddress": "Xv9KYtR8YRq8CzMzw9qs8DHb1vPxis6aRc", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.177.133:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120298, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbdX2ooVYvKro2uZW3g4Zunrt2oSARLFDo", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "14f553b2a430d226fbd9fa0767f9f97080e1690b7d947e114f23eee03d59e5b293ba5c484758fd40d4fb43e615cb3c25", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "3a9a692264be68a1dfa5b81fae2f7b71acf8689976fb8eacf23ea1ece3549e21", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 134, + "collateralAddress": "Xyx299c4WV3tncekKNLnQWrVRWaDgiVBFf", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.233.207:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119095, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhwVFbwrWghbpezj2pDUCi5XM7Nzp82sGm", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "98a331269f6acfd894960acb97c36037e817923455d9727f6524cb71ecee674eb98d897c3bb3247e85cc5dbfb49541b6", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "c1d12573ebe85f5b963e738e5621de9a86a3df4e6f4d82d1bc30bd7f97badf23", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 103, + "collateralAddress": "XtxRjLL5THYYoLJUL7Y6WMR1SBX4BJpwxN", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.99.70:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118758, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkZgQPXuYVZdWvPLSL9QMQEKDmANR5wh9B", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "98b370a89992025998d954e765e1232a3d40dfe5122fce2476aea66dcd7ac2ab6d73ad13a0ccb4e5ed791b306fd45d7d", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "ab7a5a0e7ed4c25b83eb7800d4ed4d416c7b561d0bd90cca1ef8cea12065cd3f", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 108, + "collateralAddress": "XubdpmU7viJxCj2NF3xZFUrncAAo9gWzev", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.35.46:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2117159, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkxi4EogqJsKWMmw3MrVALVcYGWkcvQ8zG", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "1153b7c2564fac05a04e37db5ed21c26e3bc09fe30ac1ccd61b397f5edea329b51998bb0f1d71cf6b590bbc0e37a9a58", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "fbbc693311ebf9859659843dda6c9cff0e4576eceb1bd58a14e4e5bb56b78342", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 8, + "collateralAddress": "Xc8n8Jz15D2FeuyPBmhaUCzGxBMcATMVoP", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.153.108:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119026, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpaqDMt1wD8znqxXfjzJNozNxQe4FiGySh", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "089be36c7dee6f9e35bbfa1b06d73831b68252e6648c5a99c749331c51a5b6c0cc910a09f410274db4ee47175df50395", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "d19bfcac322306ebf4f26b9542fac8f1c2b3b5431ce8c4102d45b3f14be5bc5f", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 123, + "collateralAddress": "XxGMkJkmFEhVC6E5tZkGqJRrmWhiMgPXAC", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.110.95:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119098, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcycw7UZk1Nt1D9Yb522fgCsrjAnVTn1nP", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "08dcdb1624c0c260b9bc3f9853eb1467318b237c307fc15bc45d58db8b9f12181163b7b6e3a2947b3ef3ea2646e365e7", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "e4f4ceeff1e68f6a81fdf733720b47bce5b77fae3972b628438f025435c81378", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 90, + "collateralAddress": "XrmUPTWGn5Qhw3n6HTkwKqnXKXaWK2D61h", + "operatorReward": 8, + "state": { + "version": 1, + "service": "132.145.150.254:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118750, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdziQJiMtiBdobwtB6XCnu19e1DngEfC5J", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0f52bee47520f5f352f823377e88f25d04ed48236373b41118d9ff4cc3cbef91569ed5b0c69da0f8e9d3b46555f8e47b", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "002de9a798c01eb875f33b684c2b33d615a02fddb131e9ccdd1df74056c5947d", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 14, + "collateralAddress": "XcjMN3JbhregdLcTxkzR92QvEUKdQUQUaB", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.127.232:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120153, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhuwsp7Q1itzNafSXibJm46iFUExUHLYfq", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "07b5219d4f6f1a2cb18b215a82983477d5fe56fe34faaea0e3fab9a093e1012c555a97d0b660126860153397a96cc102", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "364ea45a475b4ded2bf6f469bf102792d8092b63088b09c8bdabcb73518bf28d", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 40, + "collateralAddress": "XhUfQ9SS8B1WNATi3sGHxUfifTDurBxmaF", + "operatorReward": 8, + "state": { + "version": 1, + "service": "158.101.109.5:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120226, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsMMWt1VhaQEgdY6bvbPEHxhud3XQ8qFcR", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "08c43714be0c3413b8dda4aeb1eb7e86682cd1915a584e90c34941a826b453f4b2461ed43e28decaf5ceeea02583d748", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "b435a06740b1555f495c57710fa26cedff0ae7c2920002f5341faf4106a44a91", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 34, + "collateralAddress": "XgijLvEJDaEjgiCxqJAuUeVAchs1XAeZqg", + "operatorReward": 8, + "state": { + "version": 1, + "service": "193.122.143.113:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120724, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126129, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq68ht3PjS7Gn8ukqwJ6NDhc1377nP2eGy", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "872555ed85005bc922968bfec3b7fa517535dd6c6546476c154837a27d1fde771dc9b686854e536ad9f962d9de546649", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "a9b01a0def5643c0e99a5116bb7d7fc92d21e78ff53ab6f1cd59feddba3b479f", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 25, + "collateralAddress": "XeyXMthnzcJJpzgUbNXqDa3pAyWeJFGZJn", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.36.21:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120227, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwvmHqytLcZJ3pbNHoouSn3753WJoQQcfv", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "02ee6571d0bbcb7fa9607144751429c2e5a8d353ac5c9548c007aaebcf9984d4a752992b04cc210fc59ec79a8e7bd8e5", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "ae37d0cfbdfc815bacc5740656662bbae5da4b3ee0f3844dc9abe4d928ccfba2", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 72, + "collateralAddress": "Xopge2TckcDhgLz81j7HwAupgzwDPeDbxW", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.96.105:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2117116, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiFFerh7xGMWyNzEetz1hJZj97B7ehsZzY", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "12e53b9b0f93bdac4d25e78fb5610aa4a10d12906586b1e162598a31718af93d015162ed7bb1d21daab9aa85e164afd1", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "c8bd77945618d19f8c93fa0039395e794a7c9b9398746bb6223c3d5c4a413fb4", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 11, + "collateralAddress": "XcRSQRhuBaTgda5XP4VkdHYsLnjM9KWhpM", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.127.203:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119035, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv5Nf9h3UffGigfJzwJp4Pe5UCoocXatbb", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0bc247797770d29f9c97f0406a7a8f00a520b2d4e5fa43c2b4b372264488e7a22cc9fa03446a585ebd0b9a9b40c8d684", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "04f0da96bd19aa642b4f6c6be0b296fdce054adb395636a9a4c763aa7fd0f1b6", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 39, + "collateralAddress": "Xh4YmTBjqZs2EdiJZ1HMfscLs3MsE8VRWy", + "operatorReward": 8, + "state": { + "version": 1, + "service": "193.122.156.27:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120515, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcqqWGGVXYPttsnZqdcxbzgDo4MR7CeZLW", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "941346168a93179db28bff78fdb5690d2d6e1cc2576e91d3a3b2143826d55419f9ebfea338c3261a5583be92fe30f9d3", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "acd4502a180caa8601a8528f8b2df58c057e4c2888e5dcbcb4eda48469cf18c3", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 85, + "collateralAddress": "Xr79nviXasMvV6N7wwhXPMoNHncpJEBivC", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.78.203:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2119076, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgG9HZbxTSqT69S1itVXJNF35tNY9bns7E", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "03a09e975f6d4a5b214b5b3778cb680dc1b8ca66fa926ed69a133638998c6a4aee3e7c2b6e75411d76f2bc5d60af07b5", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "b9ccfbb097b5451b0872521377669372b4fc4c4e42bf69499cf9600f539ca2c8", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 82, + "collateralAddress": "XqgWEyVKUBNXyXtfCCHc32Qj4AMaKewKKG", + "operatorReward": 8, + "state": { + "version": 1, + "service": "129.213.37.161:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120287, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoY2ghJMY5Zw7GsKwaWyfApCrxbHcnGRr5", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "178fcbc9dd04c3f1b33e644dfa3ce9149a13f617be4846050e53c4e766f23d0cb74e698ba9d453f898028dc6a38bec2c", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "7607ac418599ac20e353421f9d69d83419585fa57aff1002127f09c4bdda09d0", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 18, + "collateralAddress": "Xd9YZBXRd9GFFUSSxKUkofnRsfgSkBDidz", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.176.190:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118129, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126086, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpuQv2PFvLZ5zpsQaCeiuSviLpo7cj2Tpn", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "85dd0a758fce958c6aa9065348e8f4229be30fe387e33985160c82c68f22f773ee92d3f965627645421640590ff24f8a", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "50457cd879065472e0aaa1d0f35f918d268c2c43043580e3fb2436c3fcfe22dc", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 116, + "collateralAddress": "XveNYUNsgegSwNTinHF6T45VZNfjGBfntq", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.124.248:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2120305, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy2M8yXSXyWzXJU95J6Kun6JjUfk8ZjC74", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0b187eadab88caea04fd90a84389bbb99eb9f58f65bd29a3c7f2b1cdc02cd5ca2684f82d703130b97642abad95c369c2", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "74ed5974ebc2c3e0dd8dbeba5151b4307dc474f2067cecee450e4689917e23f1", + "collateralHash": "e77ac3a74e5b44d1eda6537dcef6c03d6239289dde0f04ac24f8bcb96047727b", + "collateralIndex": 77, + "collateralAddress": "XpYycvdr3HcuXe346tMsbGaReWwzuXP8xc", + "operatorReward": 8, + "state": { + "version": 1, + "service": "150.136.10.16:9999", + "registeredHeight": 1292990, + "lastPaidHeight": 2118754, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128311, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyQTz18V9qi2T8vBzepgkZDh3DbfbQjx1W", + "votingAddress": "XuUm9uPnzbXzGnAQyAUnNC97vePPPZMjxa", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "05d8e31c785f94dd46691bad7a4f67243d154c629492ebdbbd6add75e4a683f09bf59158f4c82081b1803ea67d7739a5", + "operatorPayoutAddress": "XchsahaXfo81w53LihJxXMmpjMMvs86amd" + } + }, + { + "type": "Regular", + "proTxHash": "fe1e1c9573c7222aaefaacd13dbad159200f46ecb9c64c9b585ff3022bbb2ecf", + "collateralHash": "29090362c0d1b5e788af63f8f735a6b4ef218234c8d4ae53fc792a639f2eba37", + "collateralIndex": 1, + "collateralAddress": "XyLrbFNYaYLkgriKrVaiBficPwVvkZPMrk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.248.52:9999", + "registeredHeight": 1295176, + "lastPaidHeight": 1869202, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1646181, + "PoSeBanHeight": 1872906, + "revocationReason": 0, + "ownerAddress": "XpVSzF3G2pPB67z3xvd14s1ZDUJ8v1sHhy", + "votingAddress": "XpVSzF3G2pPB67z3xvd14s1ZDUJ8v1sHhy", + "payoutAddress": "XeGSi1U5P8E1zogT9YeF3izqFLmcoDy4tw", + "pubKeyOperator": "87c3af5eb4b01e84fb62c3552efecc18d4ab74d11e0342bf8fe7e2e0cb08dda550141c2516a3dcf936b7aca6da2d8530" + } + }, + { + "type": "Regular", + "proTxHash": "e5b2ff95c862b3ce764868f0863f0a4fed83d195b5b6b95bd73741007d3cc315", + "collateralHash": "bc5f5c7fbbe55b1fdfe4c12dbdc85f576d6b4a2063ef333d1f4d40c3220655da", + "collateralIndex": 0, + "collateralAddress": "XtXgDXTxQaXqHNvfbHMxbVsS8KhMDtYRR9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.74.231:9999", + "registeredHeight": 1295971, + "lastPaidHeight": 2128181, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876653, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xupa3kBPmt48eM6jpjuniUepqozYCWE1ru", + "votingAddress": "XtjCW5svPTWtusgWaUCvh5XrzWhCeRTR1R", + "payoutAddress": "Xajyf6Vdm991D2bQNPbv84xVNhnKRaMkyQ", + "pubKeyOperator": "98a6a87ad1ad8596ab094d259ccfbb3a0c62ebba6fa52711319e7a24bd338ccc4c3225e2f9758e65552c981f58e27438" + } + }, + { + "type": "Regular", + "proTxHash": "4dce1d4df82dd067473b53a80bd9bbfbe0577ee667a75e1170260c70d498b420", + "collateralHash": "3af08865f7500212b0ad1d70d4c080140b99f8463c34177e230bfe3a7171002c", + "collateralIndex": 0, + "collateralAddress": "XxKFQZ6KdLDQk2uX5RguChKPWgd1pV3nor", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.200.163:9999", + "registeredHeight": 1296372, + "lastPaidHeight": 1305998, + "consecutivePayments": 0, + "PoSePenalty": 5043, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1306404, + "revocationReason": 0, + "ownerAddress": "XtSwxbix7PgDt8cZgPBHHDJMNduT5ntxH3", + "votingAddress": "XtSwxbix7PgDt8cZgPBHHDJMNduT5ntxH3", + "payoutAddress": "XxKFQZ6KdLDQk2uX5RguChKPWgd1pV3nor", + "pubKeyOperator": "844596fbed3dac8cc117603980e7929af1c06e6315559c2ef166516e4fb7c019d28c10a155bd3075aad8e12603c383b2" + } + }, + { + "type": "Regular", + "proTxHash": "f3fa73d4dd8b023b3fd05c577b05a472de4372f1b3ebb6d58200ae3338bb6b00", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 93, + "collateralAddress": "XsMU2yUwkwrPwUFYPFEyPFXurGurTZKAK1", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.246.164:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126567, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463067, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyZB3cQC1eCB1MB568tuzVVSdVPvZo1dhj", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "12d8c5be6a14f3072140b54372af8a70ee9eab1436a10e9005bbe7ed1e4ee291aa5fa42c39fe617983fed10085058467", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0037c2c534d2d9ac2eec5037935b18649a2d8eeb001959d4228a97f6dd79260c", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 91, + "collateralAddress": "Xs8r5fNwGfX1hjgo1UMSe6qs8f2qW38pAH", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.147.108:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128525, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1352197, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfxGu5YV5Ei83CRPt4CLf2MPLYecJN2tj1", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8a92796edb52333dd8d5fa739d549404dbbb8e6befee983802855516544785c2ebc481bbbfd657e605f45acc6b9c2ff0", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "cfecb849168d4452057dc4eaa3dfbc62bd98996a1da5aab17eb23b447815570c", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 120, + "collateralAddress": "XvwQpDhkaxF98wkfT61bjQPFMCHpPUKuh2", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.130.131:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128060, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpK2Jr4fFhkzsW5SweKuuNTut83mpwDkph", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "96e9e5444c3c7b894ab6d4ed893c9c92ccacad63c4ea8dc784908b7a23ab14d1b45b2fd2e638946da2d7efc29c4ba26e", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "a67c368824d723c82778264a7eb523a1a3a3e07b273e55a6e76dee06a3764a0f", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 87, + "collateralAddress": "XrFnE4rirau8X6NmhWntktqFKiGiwvCXVn", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.137.204:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128063, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkkgpABkNLG6wxgsPwEmHVDEQ2ZJPxgnMa", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "90f3bec018fc2f3db3aa0ff57f40e7fd869399417fc3fea18229a120a0c2542a1bf62aa985eb39a24f1a1cc229e0985d", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "2a12dd4a16f264c8d18587041c2e54a27a72dec1972095c94ac64ad14c907d12", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 119, + "collateralAddress": "XvogbjxafUcsyiEWX5jdmJjk8HpnJwQ6TS", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.249.223:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128065, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgdQQNHtz37GXfFtKdcSEkmpbWQtmpGwXj", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "98cc856eaa8a0e0340d8eb405bd124d254488b7133dc824347530ce20dbad7a92b9d7e3afd5e2c328c81452895b55b99", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "47f7ee14191b1b287d4ab85b66461906308d950f97d0cb656fc3c262fd299417", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 103, + "collateralAddress": "XuAJzCZ12EfqDB6xweBWfL8GgSREdtaSuh", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.130.18:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128068, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf7sAK644qizxdprbYPfQnRcepKhHg1iJx", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "80e8a84293ceb212f30ae22f198bfc3f708264160fdbf84ef5d81b4623f4c80f212a263d1923c73a911e81401c383844", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "89fe1fb45c96654663c07eb702052dc5be8fa1a14e9f4f91bd16ebe1b22fc317", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 100, + "collateralAddress": "XtFGZ85RanB2SkJY7HpSSJpfTpC7G7pHpb", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.215.184:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128069, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnLM5V1mgA9uaUuRiJjo5J7xf6cbSB65FS", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "076b7b554d2dd63e8db0fcf786fab7288d44e517ee813f02beb2114fbeed4f1563bd816bae55d2931340033be5d1a0c9", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "6fec016a24d6f7b6f18af043f5f12ded68529f35d87ac9a2cc478448c8836221", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 47, + "collateralAddress": "XiNaKBXaz1GHmVm3qvW9hyMoWXe5uejofa", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.242.77:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128086, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xby7qdh8BjaBSEBTXp93TYyAPhEWTncCsB", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "812cb2d0b8db85eb44b7c8fc6a3f8e72b75c87b4509291397d7a6c4858ff7f1fbdd7282357d21bcff9d8df22929a9734", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "116ef8a56eff919baed966b225cc83056650ff94508dfdfc776f9d94d309a823", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 25, + "collateralAddress": "XeRkN7FMPanEf7fvMRyG3w9ksZpW8UNKE6", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.221.32:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128087, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoViMHYFLus4rBqETfF1meLUSsHhA2h2be", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "87338315a4794ffd29295cde1a8cbbe5da5733cad3b0dc6f76419e88f58fef0d4bf0f95ecbcad5389d8256c9ddf2fec4", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "4dec28ee37f10c6c69919d7e975bb574a9da800e4c0878988e29ba8cb7b1fb2a", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 127, + "collateralAddress": "Xxjo6s4oAgDf8GuzSGVVvryW51ABJ6jEuq", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.187.175:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128094, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjHKFaZU2FsZL5S5uC2znEAZnZ1usFHCXr", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "16385c34fbd86e200df9a40bfe18bbe0c6851207e60c2f6432e4fea940acd421629f2beb1bd2e542d6a3b2d4b7d5eb26", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "b0e6311060d58c9c53fb5b9c8ad3601b35b13970622654d4b5990401a2c7cf30", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 111, + "collateralAddress": "XubCCoquR4KRrvMMsJ2ykrJPcEJvCAYArD", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.148.255:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128098, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xggb2MRsnH672uf5q3ShwE3Hn7bg98NXFJ", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "9704e9167a1b4e19698730cee4404143c04064f01cda1d0e403c826003ae8d1e270d3c4db214d7a6c427400097d32e50", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "8bf772f30d6e63185f880213c1a458613656a3306e13965460a280874a39b531", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 76, + "collateralAddress": "XpEiBUWk3oYEMkKYmK9BtFsgFWwd87khkJ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.146.30:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128099, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XshKadso4hEvtgmiR3u5UQJDiR2UtadjMp", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0e11201b87d762286646f1933894fa9829e9822486a842df1f776b4da2ec48ea41f4f0a61dfb2c861583a6a9c49a106a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "1438a73ff32a1251713a617ae3a7b2271ea1c687f4adf215b2af4472ec7d1b35", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 98, + "collateralAddress": "Xt1WSngdBEttR7fZ9G5jVvZuv1uDbbjqWs", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.132.173:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128104, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsZ1jBz9jHb7wKcXWhcY4BtaPqxqqiLwcJ", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "10eeab3a590f1344b78e3c4de1bd039c68ffe57e3765b2da1d926eb8ae9914b62ce2e0179f5f7aa2f0ba7984a1237459", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "6e25212bf83ca98394c2bb3734e0c38c5d3ffd616c32ca418068abda5d8d5537", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 117, + "collateralAddress": "XvZimcPz6Bd82CVSNuP99w8rNEGnvijneL", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.244.159:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128107, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxrfH5Xov7MDKpK6e2aNzSZWax4mNdskjq", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "86a80a008fbfe8467a3c898b5886ec5fd874e0b9355a63774f29e72bc5e15bab25fbdc1b4a71f2360d712198d30aeb4e", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "f26b173ee258b65ed7689a48ec290088bde55b1bce82477fa1eaa089dc6e663a", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 132, + "collateralAddress": "XyHziaeqzW3PpUagetViMECJEbyYVP7sii", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.175.17:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128110, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrhY3KoWUQZ3zZpJ3Mn8qfPfN17K3eKVh9", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "138f9dc559700133ca1203b3083f139c36365d9e6dc638718ae578ce934c9e8684d43c83af1bb5eb056fbac179bc53e4", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "5e1902db56ee99fa843e677ceaef055d781cf5f16537a406d5640c6ec4694d42", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 15, + "collateralAddress": "XdCNJQLwZiCpAcVuuD65gsRCADQEBu2Ci3", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.190.253:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128112, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkomu5nx7jtdCinD3tYYppFULkR33kaYXy", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0ec78a198dfd16c2b4704f11b010216c5373992acf3bee71f6d66e9e8f50eea1204c0cbd6db661f7af975fab7ced9225", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "f8c3759161d018eec61855249f9dfd31c70dfe24dba81bc53e77e3d8bcc6c243", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 112, + "collateralAddress": "Xumb7pN4nWAk4SombAuZJoToioHfXa7SFY", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.138.140:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128113, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg4v8ivHvPvif1zk4GvY1SLjKXCD21vsqo", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "03c50d169a9f36561520147b7ea90b2277e038e5a1b60b34fc6339355ba112295b1c0e4b065d9dd29ee41abfae6298f7", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "9d4c4462f3b4e38b6a564865bcdf5ba25eef4f2672882799372ac158e4d6da45", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 77, + "collateralAddress": "XpH4KWEwunW2Fww8Axyr5YC678pNfzmwfX", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.132.84:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128115, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrfjb36s7tMcrmpRi1rjZepyy83nCyx1xp", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "88f80766980d9d33cc75968cb1945bf408d18bf0504837246eda5faaf01dd4804aa8cb5db3e82f924c8fea2f200ce097", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "fe9ffe483559c6236628ae22e92c47f2451fb0f12e1a90514906aca42c914049", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 67, + "collateralAddress": "XmR3mBNNiv8Szu4aWivUfrLD3Py3NzxLmb", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.135.26:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128121, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XemmQ91izwcWuD6fZPJ1iBuuequWCLkquE", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "890c460c4a57fa509297a6ddc68fd0a0d624f29b18b8beb85bc977d33215c79d118d13e08bb28754dbb7e5f5fe12f4d3", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0aea1803be980a74952ba7711c621258201cda89dd515f166719f07ae9a2fb4e", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 90, + "collateralAddress": "Xs4AhfL9jUv6dkbXCQr3Ksxc5s8jGu2VzN", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.135.84:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128122, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoY6GCzy3xCj1VA3jpvqVTGMMvanDua6Xv", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "98fbe1a9193f559bea7361cad65739f8192e549ad69ab78556a22fba3e1d48c79864143200ad4d98580ac2d9b23391c8", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "661b47ac590023ae6079df4c2e5fbc0efb5836acdd8947abee168b5db3f3814f", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 7, + "collateralAddress": "Xbg39yfitVDyco8beArH86qTU2UpFF24Wo", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.240.153:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128123, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcXfYSC3faWoEMTrQcCMQ83yPcLjnvQoAv", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8268bd6caf4cf7aa48147e3aff22937ad5b7bf54ab75aa8955f295ca1733e7da2ee7f64b8fafcee12dd03a5d469e9025", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "3c2f947f88b04a62359c6f6d3615cdb6a9468ddd093c0d64459d0a2786836f55", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 11, + "collateralAddress": "XcVCjEN6xth2ENJW4d8mj6e99fdVZJkZS5", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.217.58:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128129, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx4mqKiGhm8S7SFnQQgxdBUruwEiKBkvAv", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "06a92da63d6c213c8d6431f8aaa2e01c4bbaa363b7c04aa3716abc0cc7c4514ba937d722cfb668b9c3735d853d7ad891", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "265f7708910345bd774da100f3a312a3e7272aa3859599471b2d2d2fb4339b5a", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 1, + "collateralAddress": "XajzTZajJkvmpcNzy4Fnnk8SgUBcnWmkGZ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.5.90:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128136, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbbKmprrjNrftBekdTRQ3bFcHpVAwPphJw", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "97cc843d3cd856eb2ff5400eb860f7b7c00804a119b3c117db3083eca6ec67e9d46ad851def5488df8edc80ade2099a2", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "d30a1310e7fadbb47b301c44a38ff1a12b3fe0705d30d8315311fb8ac12dc65a", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 30, + "collateralAddress": "XexTkjwhXZVpMr8pJCaVSxbMwHaVxn8hq8", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.140.82:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128137, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqxhaQNmwEPP7nxC5REaGASecKTxNTr7MW", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8b9cb9a0e6489eb2e282a580e44e6573461dd0eb410ffe4eacc382ebdc010f72fd13bb66a30afa90340750129cf75ff8", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "ded524f0ab037833b6ddc6bd32c601208d5f02bce6536b54f6e172c64af5e361", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 13, + "collateralAddress": "XcrJDMdCFSwJ6ttEoBVn19y3om7S53vJ63", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.223.247:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128139, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcZgtPPapW31U1rb7D7crdz6V7WVtzo5gN", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "96bdd4b47b44bf0ef8f675e0a01991a13a6ef21285a16dcbad201037e2522e20b983f27152a6a790aaf154b85fc33391", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "754285ad30ce2aa5f9d799770a2e06afff77613e09c240d3019d1f266e2f1167", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 116, + "collateralAddress": "XvPW2gyEiq7mziFowV5kM8h9gmceQVUa3Y", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.141.118:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128141, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XveJ3dS2JWGsjg4KQ8MtZWhgDBu4zjJkRH", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0396b11c000274daa8208d2dcd7081b01e738c3c582c072606e4a9aef73fc5327dffa9418d92f7b81585d6d848c50e5a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "2d01a728d85efe8567c70dac2728011dfec6bedd92df3b2b29c24bfc725caf6a", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 44, + "collateralAddress": "XiCi376om5XdN7ZhdAsVPTY7WRaUbnBQuf", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.130.119:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128146, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyZeCKjZhRSyfrJmXcFivm9wweC23sYSW6", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0c5fd6a7292351092d719632d6d6c00cadd2c69e73ceac3df9b0a7746319d7f9a41e6c1417e2c7c9b126b6220b52acf8", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "cf743d9082ceb9c7fb958cf3c536648b6d5469546359fea686fbf6e1b562dd6c", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 102, + "collateralAddress": "XtsBg9wL21XvCaphecD9jCstEMgBkkfTGS", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.140.161:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128147, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb4QDCv5hzpAzaCR51TJeDMiX4gx5nzDzR", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "958f335c5dd5d0f59362a04c16c31f8caf717930d3eda1c13971b05e26fe8c51713532f9e37f2d35c271e94bdf9e0734", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "15e55de6891ca8c6714122d4d70eecc343d6af865632fd91f958bbc0f5f77e6e", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 134, + "collateralAddress": "XywpqtfiCPPuoxs1HJoHnBtbHqiYRqshUy", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.145.72:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126551, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463064, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkWUdGotwRrn9rAFeYr3YZ11mUgKDfLpiL", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "098d39575c70d571d926e5726adb08af99bab833c7210d198c02a42f2f9bc7200ee930db27385fdafe886c3af5982087", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "7098a71d02d6d9dba810594baf6191ce1edec05b50c537c16d2a80bc40bb3878", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 9, + "collateralAddress": "Xc952zicpB1Sx2ZYDQCsWrtwKBP7n5yGxV", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.173.78:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128154, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc2ktJoQotZAxCPBGFrgwc4QvZ18Loxh6P", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "93d6ee77e7476cee3093e9592348b86e7b75262ec29208b368bae3532e98f2061f612215dad0525de00f72af813e1eb2", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "784a0529d150a44ee26ec8f08ab1eaab0d0651ed2ee1f8e611a4304626448e79", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 105, + "collateralAddress": "XuERyWqdcHf99aNFAKV2RidxHiPQosqwdn", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.134.88:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128155, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuLv5Dciz8A3BWoRdBCeG8vsuosQVFz7WG", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "82b7e5f1e68ac1e8d1981c41defd50cf416088bb78c0d463212b96ad1c9fb49ee097363beb678f0f572896fb165a3820", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "d31b6078fb03a562c7063a9857b943800803bd1eb940e1b5ae9c37c6e11c037d", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 92, + "collateralAddress": "XsHEecsravG9xjQP6dXv2FULNUqUjqS22z", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.51.144:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128161, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmRmjeipvAu9dZMKAFAB4MV3smZ147MVKC", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "99c2439b1ea08b9b6fe4049d1b89186224bbc97d901399a939d3832ce61144eed5db8afc5c1a27e2855d964ef16eba39", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0871b350678b9cf0a842d86eae88728cd726bf4cc88c82aaa5af52b9ecd4c889", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 22, + "collateralAddress": "XdoopnNQZAwDkuhV8pEAVSavNHrCdR1981", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.175.64:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126541, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463061, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XenkbxH5ZzTpzHxcya3LFNJQ1kiDfo6JEG", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "068f996ce6802597e3668e126b9881364aae7de3242740ab70f2e26edf230b63c7b39ac482995a95373bdbd89efcce3a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "396dc4a6ea0ecb6eca60f8a616893df704515cebe2c7198975da836479a30391", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 49, + "collateralAddress": "Xj2ypdxadR8wwaoHnxjkfrmB4MygJ7CDf7", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.131.209:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128171, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt2u8a2CqeY1GVSrCe15UwBJy3kLgAgWQS", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "13c7b524997766eae487d6523fd23e1c7a98486fe95f0a9b34b8869e9007e75096074cdfc87467ec62f141104f72f473", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "6ecaad81b3ed628606e024f98758d23967057504b1e3b3c17912db7189639e93", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 104, + "collateralAddress": "XuDmRB1BEtKBv5XwmmqjsNqwkLUTFzHLdd", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.139.20:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128173, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XehoHPB3113jwjLuFurraCohB9JtVr6Zc7", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "993a7f81b63fac5bad4c0b43a9aefc69b140dbd6b09415171b5dd1be0fdb779c4cf445cf7d24afb263b13c8ee158bb3e", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "9bc869729b8c3a0cefe20937d8cc0ac14567d1a0392fdefe1610b698215dc996", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 34, + "collateralAddress": "Xg1X2zfs9ro1oL87ok65K9jKA6qHLu8GTc", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.144.32:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128174, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XinryaMauw1XvmoCA1tX8eVnN3C61uwBae", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "06ca3e322263142ea0fc001a162c20f147c3f874ad67a5239466b5f61231165d2d5f84a73a47465bb583508cfaedca34", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "58af792e8e680e775d9960b439b5a9234a8501960e7d8ab2a4fe4c21afa13e99", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 64, + "collateralAddress": "Xm9zGLfzY3QzwoksF4zxjSPainPZ45tfxL", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.229.220:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128176, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjH36KP1rBz33ivzo1oxMQdKndECrqSQH4", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0bb9d078338dd7bc80eda98075aa794ff359c04757baa419ba42aeee0f18df4be10bd7600f81ee0aa9d2b53ee68dc602", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "bbe1c8020251f9278335d001c879ef30094864e6ae027939d32dd0c9482f539a", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 106, + "collateralAddress": "XuHayCmwJmchnveFx92RD1C8Krwu89z5RY", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.230.37:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128177, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnvKdFgqBH7KViaBtHu1ZWs86EZDXhRBET", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0156868acf3238a0a109e3bad8c427e8d442fffabb18fdafa629458255b5b3a9546c7ed1e2e78e0bc7112774f514d785", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "ea15d86bdd170b53d4b62e22267ab14e3e03ed2db227d9140f7355a0046dc99c", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 133, + "collateralAddress": "XyoXFaG37NTJX2HV7B2ecW9qc2jJVAeHkt", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.234.92:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128178, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfS9xZaaQTDAsH1XFejzfJsB12yX94a3og", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "02147da4662a69100c4687425a2778400ca518c0d68f787b2b646692ba37ed7dd7c15650ac07307d3fffa309cf2facaa", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "47290b5a0d8af601918b68f0b8d66d9ba79c02c0687ccebdbab9131fcbbaa4a0", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 114, + "collateralAddress": "XuvRUZAMsLzQgWaDZSuhJfXm5Vvn3ybF4K", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.160.147:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128193, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeUwwTaCxrCS6CV8raAehjzA4eF9ZXUmKs", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "939cfaa411d4b25095fee9876d2a9275bbf383b1be80e372f814b4b2d06b23154ac6e64153283562ec7bdcaf659e8567", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "1dae04eaae642a2594fe3a0e7c0382cedbb8d6743f7c9bbbaa0449af59c3b7a0", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 33, + "collateralAddress": "Xfxwv38Zrq2NM7PCYjNoeaddHujSDpFzd7", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.205.129:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128196, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw6PBNmWq1H6JwAjxL1t3f7biZj4nQ9bHj", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "9344fee70f898489a569284c66010c92f389ae2b91f94d5ecdd647689c0650b10c703321a3621e570b3efb112c6ea909", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "e351fede4bfe79bc7e5f81992e0779fc0fd5cfc624cc4e81a667b70de27098a7", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 122, + "collateralAddress": "XwcP81U9gAFRPRdqWEZC13a6QceSeSwb2w", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.140.21:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128198, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoKiMPnkeqkhUd3b6LKy46mtoyc6nvx6QH", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "81e3069908dad3fa81bfaf619d5d7860e5728f1c3ce3143f1ec31d0c4732e3ec2c42ec653cc594d9ffaa01852c5917a9", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "3bbf256ab5615456896334cddc7c3c86627ba8f1b0e67312de23e2cc051868a9", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 79, + "collateralAddress": "XpkzSpWRbVW67wN3FnDMm1PrrfrsacSj9J", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.210.37:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128201, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkFeBnSzcUu7BsiY8Xy8ZkpwNvfpKBPtTf", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "16f034ec19f41fe1489e09820054f0ef2e393d1dbde0fe0f5d02158f886944d92e0d3c7be1a4785247caa843b00c6b4e", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "146b558d2329475efb58f0a148495e45feffdc1b80cadeb8d26f81ca0d9e73aa", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 70, + "collateralAddress": "XnEPniJF8uLMCg6QohvFgSHKWBd5r8YA7e", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.12.154:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128202, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg5cVKTnSTmW3dXAn67Epw2fYvuMt6HmEj", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "14f8be4c41f0309bf562ec60ba5cf4475cd2ba9b07e9b9478178994d6c78b595ced859acd7341280a2201f0a4682360b", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0af1cef9f8810df96add1664c729bcc9ce6ee0958d3124d0607092210fe840b3", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 36, + "collateralAddress": "Xgh1bimxZG5hn3fu32xZuPXNRNSCmjthrH", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.110.226:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128205, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxELxdLRHGxkSCkXzojLj2gWniNKyMf3Zr", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "007b06ce9c06e9f41c21b37e422b736a68901dbe6d3bc40ceffa40934c973dfd55d0e592c22b6636bc21c4783c505ce7", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "03451f64002fdfb7062c222b67f2d62f38a6b12b591ebc3f2d7906036adefab3", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 39, + "collateralAddress": "Xh3ztoo8pVbd94Yj9urg2yqjzcnXZjwpA9", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.228.99:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126545, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463062, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgEFs5tVgSkuPVwhuSNu8vPn8Sf86dSkrw", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "92e106914d3a53e9aa2ef264aac0eeae725d6d2e6aabb6ae2247f2346a7a950b1a71eb2cd5a65c70a18ba2aac79f2528", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0808b941ea3f8380ad3acf7531d0daf25ed92f0eb7d1ad7ab08e8470d3d8f7b5", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 51, + "collateralAddress": "Xj4gj4CyjX9vXUpUGViX1UnY7HDJQqVKFR", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.196.16:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128206, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfFxbdAKEz17JJ5i4SS6ruwJEiNpzB8dhz", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8e2ffcc88d3946525de3b6d426a32a1c275e2c9355b36ef2080042310adb62278ed73a6cfbcbffb56fca91f84a912218", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "a02503eb032c8d2e25ff640a524cbecc8dd7749ca37f2793b9a6f84ff23c06b7", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 99, + "collateralAddress": "XtEE8ww5YVy5RkUqcZKqUC71DoVjpCRcov", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.145.115:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128208, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn5HfuftgkrdgGq9FEXebW6akfthrq3CUi", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8e1010bc973e88fefcbc99a547a319a4c6b7fda0a4bc81e31c7310f562a2695baf439c3337765a568e8245daec10fda1", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "283cb9a7f6c1085ad151d19f3deaafa30dc84ff81947dd5e3a9d9b62fcc53ab8", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 4, + "collateralAddress": "XbTcymcRat4JcvQYxUDQedpT1EL156uFUS", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.129.70:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128213, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkTKTDtJnwfiyZLE74uAuZVoHVvn5x2a7j", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8a4a3a769c8346d7afd56e3cd2d91c5f71d5ed4fea107c85b88646cb412b65021415978d78508b998fc598084d351338", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "c24615b8da7df663ad29a59bb68499c9af86bbfedbfe96aaccec451f71437bbd", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 82, + "collateralAddress": "XqXRRB5kHwtNfy1FFcWsxWkzm2YnDGcaKd", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.138.235:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126550, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463063, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs566yJsJTmTveJAxHk9YaND4fY4zNrUWj", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8bc7395f8b50f568378aca10b33691e81b37bf3a941f88f79459dfa6a19f9de043e64fcbee62785d3361818def95c335", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "bb72eaa4ab7edd9b8b96e53cf25037b180ee1bd470144fda30e8636e1de55ec0", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 65, + "collateralAddress": "XmCJ1zsyzhcjzmrKdZgEdrfrpxsmkBxsd5", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.206.45:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128219, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrLtRwUyX8A9Eo7eDZ6ks16PK9xWVqCZvz", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0c4c52af30425c472f37b54b28888c14b0a1f03c8d5b624f6b84460d3b09801e91d8551ddfadf7ef01bc5b6e12e7c868", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "73603f06c4f76dbb3514bedcde168661bdfff6846b52d8f4e052b05607ce93c0", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 89, + "collateralAddress": "XrW8qAQGwyWbURwWSJZxYYGhHS7pEXXxPp", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.146.149:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128225, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqjipgJgU81DfncBT9oUs34cPeRsMq3YRA", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "81d000bbc586ce6fe6ef3ca597c9eb4e99c9b3515ddc357154fc8c2da671d1dafe5e8122b96e2525a53a3a275dbcf595", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "4d23f5e43e69b492db761db6d722a768330a943542467882deebb1ab4f9cbbc1", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 37, + "collateralAddress": "XgsfJapQX9yK7kTmabAxAmPzJ1nTsdtryD", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.253.196:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128227, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqvxC9S1soXGD9CmwYabxGpHM5sN9GdTzY", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "937683160d647c8f81d4e114c3e625ec07cd998756f39798bfdd8a0a0d45cddbd69f5296e178a09bb966269835603a35", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "1ec40b4b8864f7f943db6e6d8c81034b4aeb9f0869cf10b05f368218da9742c5", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 75, + "collateralAddress": "XoTb6XuYMusSbmurjWxifAi7pwnc3sZ2GU", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.145.217:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128237, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsoFEaKr2nCRiPsZUjgM4FoXupDgAMiUPP", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "86760997ea6eaaf5aafed83570f82dca989f588884798154649f249e8c1b182def2d00fc1ab9097fdb3349f817a4724a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "638bba4994748ff337e78498becfc09a8c2a72338ac47e0a0a541e5cad02edc5", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 28, + "collateralAddress": "Xea7fGb7LiMk7jBcfV9LRELo9BTFpFMBKR", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.145.160:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128243, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb1NzsFax4W54HzGzNVbGsq4zK29Tx3Urr", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "12931488e490cafae2e8446ca9304d4e3a040f4a5fac4b0824630d587e247237a27b82b57f0d6e4a545175be1f372698", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "4340c031bde9659839661f88f57b357bd35e5ab5c0607a4ba01b0ed372ea78c9", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 115, + "collateralAddress": "Xv2HgdcEMmies19nNppRWfF2rbzmdbjRzc", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.128.127:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2127258, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1662444, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xywz13GLqGTNJj1a5DSqFcxMYrzVbXd9Wd", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8a85de1ed29713a65225b85c17e7c34e39657b61a65a77659674b0c4dcd532cd328a83ca38b1aec68ca4ae83bf49ec25", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "5439f9c15fa28e81aa420948f6161e6350123615a4c83f69cc45453c14ea2aca", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 58, + "collateralAddress": "Xjzw81ociAQ3BzgEhfNSv3W3m8cjVvkGET", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.130.123:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128246, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv6pGNVEd8nQTmRExrvBbEqYdikxPbkoGQ", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "059b8668350928d46a04b6923c0c9e3ac75db756cc7e8511d439000f55b007d05f45e9a44ce870ed893a1ff7b85b70be", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "f938c7287014aa05ff805dcf2305101cd6a4ffec0dae0e91fa29c41ecd6b3fca", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 129, + "collateralAddress": "XxnmC4UF346thD4iwzfuF5736ivC81x99W", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.177.137:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128250, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo9wGTGC4AQHB19uh1Xq8yoJN7ejNP2UTe", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "90b1c6ab5b4091463f05839d5b0cea0b9f9b80cd1de90d983d8c25b5a18920f1d57aa12d6bde210b15709e607af793f1", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "00f2b6b872a94f92d8e95ed4d61110efddc57d2b552a33bd7748006477da9fcc", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 86, + "collateralAddress": "XrD1TwRfotgRjnVrFpECaYCUnnQuKr1MaJ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.135.69:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128259, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw2ZrsouG32N8A8QLGxH52RFx8Dg9xEn5c", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "19ca46b2ee631b735c7684c80b1070c71e36a2a181c76780bf79e64de0c866657601d900005753caa71884e57943b9af", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "077625355482b81591f0ac7225e3dc1fa86b553fae16a22b6e081f41644c74d1", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 53, + "collateralAddress": "Xjeoa6aeRu7w3s6c9ZbMcgsZM772FUHF4g", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.220.92:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128263, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrSLishYKxHhSLBwJMLEjVx9RWm8vzVHfD", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "9393e1ab799bce795360dc53d1501f678d4cd9b6476d3d222616fe3ca1b33b0ad1d5fc82cb6306029ad94f586b0c2598", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "1fe40a5016176f045ed97ede2fdbb96e0e8b9b48a3ded4bed54362512a097dd8", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 10, + "collateralAddress": "Xc9Rfr4UaZW7fjGddxdUQtp4yhYQZXF9BD", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.141.238:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128277, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XggjRUHGX3DvP79btCFBgt2RQxaURnLsEF", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "002705e95a6950a4b6ebe0b28a53ddc513ce484b0bf7bdaa435317ad758b871b1ac0c5ded506a8555c8a447670b7f64c", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "87d2c030f930329b3b3cff033e269b46aba863be5cf4de2a64200f3309d8b2de", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 55, + "collateralAddress": "XjnRSvigYuk1b8a8BhTrzZ6GW2NJwK8F6e", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.90.201:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126224, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1358673, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwPv2PoEMkPJg6H5fcdK3oFJmaUsTrZvfx", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0bff671e8d1fef0205d13ffdf690beff70205d509f0150f53e5b59928f92d28825184abd59162a04609829ee5c2a016e", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "328d1621011959779b43708b0a7285a5dafa62ada2ff88cd0b9fe865fe46bedf", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 83, + "collateralAddress": "XqhDm6NfSu9WjahgWGQfkL5AnwkRgKFy9J", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.245.11:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128312, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiunanQZk9QD1Uu55XpFzDCvhAeyo9ga6T", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "17aa991967e33a8346c2d6675ed35be9ee3651f498f2a7433c35e28693bac644702dec24a529e2559f4fd828f231b6da", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "b8b718b241081b5d3d9d15058bcb628fd5fd97962ac91ec4a4772d43475439e1", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 69, + "collateralAddress": "XnCD13ytRmY7bjJ9WZgfyTfbzyAXqUcG9N", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.220.160:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128331, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeQMont1JjPX8au2yF77zAnaRhxLsxkSjK", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "14177be53010ef0e937279a4e52bf4eea02376b03f607a236d2d9212b934857bc594ee4b49b14667a2df56d396fd4278", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0092aa49ee56297a47a5ee6dccca746b58a69f1bf9a24e3e28d9c1ea9bae41ea", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 56, + "collateralAddress": "XjngkWUSxShyubY1aopB1S9UgoT87jfufZ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.185.232:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128333, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpm2QENfE8DaCcSzP4GYZCSQoZheK5EKrv", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8e00d2d4a39542893170569af159f32902996627666e690bb4ef490eaec104642bf188de0b52f855d3fe4a3556e79641", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "113673823cf38eb56f30795d7f830b2d82b70a35b96812ad79d0889465b69df3", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 14, + "collateralAddress": "Xd333Cv7C4P6Wv23Qap6DTxZUwdpjQmHxH", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.133.79:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128346, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiN4iS8a3iwiBFmb9nJRxVGeiBZzgAFCbK", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "85ad14e96d0397bdfd2d654c4ad56dc39027ee946501d6ff66e4981d75a59d9bed8dc04ab79a320a4ed8c8cf2120e2c2", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "2292551a56ef040d535e8c541e144d601d4074187b23049be2f2baea96b871f7", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 52, + "collateralAddress": "Xj6MhKJb2L9Vtwnc8YzGtox71JWsn7AWda", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.56.203:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128365, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdnL32cUCcAxJL5q3xHnprZEWJD4L81bQY", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "821157f2021495b66afb9dc1da2e10da30e779a72c854c89fd04652e86d65879ca88ba0332dede0af819a976de367ff7", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "3eb9c1ed9c0f29a17ea3adde6b7de80f6e60157e9ef6a7b9b601383f691dacf9", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 42, + "collateralAddress": "XhdUADxNWn7agH3jNdXiHyBokVowkgbWrS", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.229.197:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128366, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XazjueVCaxD73UYZpDga75f3URYaRHRm2X", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "10f24ebf183e159bb80dbd66b54ba52933212eb70124def47ee601b2edb974fa24ece5d802d430efb662207f53e7d82d", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "a4c23e2ea57b34e5b6e46c29a392842f563f683751d3923817b22ca7232f86fa", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 62, + "collateralAddress": "XkxLpm5EmDXYVXGne26NN3nVp13n7wPuLM", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.243.178:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128368, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwLWAiet2HcgktPbaGHyWBrFnHuLy2RrHr", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "81731d9540648368800cdbb2822d03c70d8a205b2a4a3367e75484fa3045b7bfe0afab89b849a85600ef7692e8581028", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "91b4bd0455e19dbc979827101be311c9f380a7d87e5f57a43c5550793b329cfb", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 135, + "collateralAddress": "Xyz3wYUadp114GqhkTU4o9tQxGNmQYbqtD", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.4.138:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128378, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XttdUQX9M2ywyAhAgLaqhXKUgQoD7wEAeQ", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "955d12f249a21dcdcbfcfd6a2ebefd567d5899190e6b78d1465b24da77ad8d300c7096dc93b572353229c00da1a86072", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "f4bf89c45339c421c42dc7aad697d0d690e5b18cf7793be6376cb9b03df36501", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 68, + "collateralAddress": "Xmi75zevDufxDx6YURvDxYXwcGuH465B2d", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.54.127:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128054, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpWro8tG3Ar3tut8nPxpu1E6qtyYvH78SH", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "108e9c3b8b2d430bd38530cd5d4e947c9e2e6dd2488a2f1f9e56a8038a5a0fb03ca0a493debef66a7969f9f5b9f43393", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "14629366ec5807fa95301c0101bef6ced3f99dcbddcfa61a50695ba6858bfe04", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 48, + "collateralAddress": "XirQxcCWB9zGZRttH7CA78oJ8C4XrrEqeg", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.192.108:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128059, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfvMPVWWUTWNynJxuxXCmBeg14we5Ec48D", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "849faca1f36b6a3eecf204bfd95785d6cedcf617eee22e75b23de5b3ddf9dc9a7a742604eb23472f84dff13bd019fc88", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "a64998c3e81c6fb65d1c47a763c65af64184da7fb86ce4cbeb2dafe047d23a0f", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 84, + "collateralAddress": "Xquq9XWQ3trAtqc7Zoe5N58sDCWNVWdKbS", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.129.74:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128062, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xusp7xDeJzmcoYfknG9QRXVtu6T7TsrxpW", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0edc94cc79be298b47bcaccb4632e890f84b5aa8773f1f90c454943a8b1feb6b312f369bc519a202bc8579fbc6c93705", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "c410d31c1fe7b902eccf905b54f4de17bf64a275a63b81d1424b7bec33097613", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 128, + "collateralAddress": "XxkwDGrF7e6NTb9nyuwMA5s2UTAdjswTUp", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.143.36:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128066, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvbQ6Z4ugoYeJzCGoRMFThxpKF38amTAB3", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8dd1a0cd750775641e714d2269c471acc78b8f1529035954afcbee56a1144bc7da09b7c965eb75116102bba05d338d21", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "620c54f3e6a1235f0d89f9dcc9ae88487d6e5aec4cc39af217c164c4a51fe817", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 27, + "collateralAddress": "XeZQGxr9k6XrYbJsqCsTaJGBdKNAuV23aJ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.83.30:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128070, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbJLxUiY2TW9o1RbFTcGka5Ma2yrfReDvb", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "84e1a8e8d3daa0e20c0baf92a65eb54be3dee4368a91532a55ab7fb506f186874f15b9328558c6db03ee8e7cc725044a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "f160596cf0924886da667794d850508cbf3fcf53f2c87c863960de318cab201d", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 131, + "collateralAddress": "Xy9xuGRXkXMdYoHv4b8G2LS2Rw4SXz9vx6", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.238.104:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128085, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgkSwxoLb5UgNTyh6zJwSfAcLzWKFrLtKV", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "1408e5737f04d6c4c31d8aae1e25b9da31d1d7ee97d615534d10bdb721109e579a423e74c8fb054b393b07dfe2f8561a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "f316063cedd42c61e6477305fba3e42a55d39ac09006c6c2d0a0fc52df1aaa24", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 66, + "collateralAddress": "XmCfLAx1yXtLR9UmKHvwhQBsEF7msjynX6", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.134.134:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128088, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoBDRXnJpCTwXSzMerMXctUATvxaA8g4se", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "944ac12350a42282175a0d45517ae57b3bba09c2c2b0ea42fa98861606905f1a9b4538d435110d421ae07a2eb31434b7", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "5b8104101001bf53cc9e639e874cf9442e08e90fbd7a107f9ca7b1a5e9923125", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 85, + "collateralAddress": "Xr7WwBztjaDsJ6b9xqLntkhgF5GcAuth6J", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.126.185:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128089, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvMM2zp8LjD5wJM7Ts5oapXy9crmD28tiV", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "08351bc01f104d1538552ae1ff3398b18589d2abaf2a2eeb3b0e28554b843a44c96e63afbee7773507b18bde798e6dbc", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "06a1812bcc3d33e8169eb4a8c1a2d8b84e0308afe386b0c4d6b4380dcb15e425", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 59, + "collateralAddress": "Xk1J2D8bNGKe1adkcWg3QyQXB2eCVwUBGD", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.135.8:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128090, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd74NT9qhhCLuR65opkGaJvSGYbtwYJqVa", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0ce3a14571a4f84121526fe37d63660cb3d7640f39b8b3ab6411206b163fb2d3b65f166fe29b30ebe05c99579160b627", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "9389d805cb14e9cb6af5afa7c75136507a4a42e1e5bbffb6703dc57ed10de429", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 57, + "collateralAddress": "Xjz5vVMSVhPhg8NrQZRF6NP2tMiC5T4Mj2", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.135.18:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128093, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwFiw1ux6nhcjCkss6vsti6VFYBS3qirBP", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0cd5b8658045be39573d1c4f72322a070305a3fe068830e20d5e8c72b63cd2ceaacf741183c1f8b09df75f4f269824cf", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "3ad66c847c92081a6eb70b158a1e85c206476e2bfe8215af340468245f9bb62e", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 2, + "collateralAddress": "XbNUgcoLP6oki7YYXX5gRKtvuHU4bntQTi", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.253.60:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128095, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyA1tyXxxj7GfKs31ynzbdaV4iiF5ZZb4H", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "1459cc9a53df15fb70f64268372cebafc62c7f65c0e7752e3825447076422b892d056c1abb54b4143b0939d9410ecaa7", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "b1b14c7da5f385ecf87743df0f5de0bd63d8b7acda67c9f60b2d4fab0afad82f", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 81, + "collateralAddress": "XqSjqBcoYYeVrXyURbvZ4XQybPBuyNMuwq", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.200.247:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128096, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjnFDkPmz2fi7BXuPZVC9Gv4334xhuBMiH", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8bebcaad243b4350c08e9a448a5999835dca4aa8a446b41822ff9a6ed87733d2a47d8b5a54c9fba46f3bc9c15ceadd59", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "687555cfe0d10e48647c258f95ec4af561dd8222a286305fcc346074701c1833", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 40, + "collateralAddress": "Xh9mPMSLGxuXprNFTpsmxcqb36zM3JdsAo", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.68.85:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128101, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuwGVSwBcsKwuxqvruZv5ZF6G6m1Yz2fXt", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8e62a98da16cb5c3a9812e4705599dec5fb24e838bc391ec14cb3990a3ec33777a6eb36d22b3b603e6073252c0efaf06", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "41c38e77de66d6cac56305931f41207caa9062d0334afceccce7be20fc6ec937", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 5, + "collateralAddress": "Xbdc2ov2p8Q11PSSqiS1c5Fqr8ecspGKgU", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.103.216:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128108, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd7awvpCiTQqcMmu1jF4ZDfWtohnwmB4vr", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "93d82f1b54c7f375f2017da5e0b2c95851a3d60fdf0b7f72852f7cf25d5ed9b7a248055c622bfde0c5c32b42d802aa03", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "d05a3532ca47cd6ebf5e55e720ab4f17d2949ccec2edc0896a9d00086d31dc39", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 121, + "collateralAddress": "XwB66rz1W3aZy8eh9M3wVevBp2r72p9qZU", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.151.173:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128109, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk4QLqK3PxUDx3j3rYmK4DeSPrQUQJEyAV", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "966b287fc9e1872ee6275789adcc58142eaaa6e81cac7603f03377c192b7a550088e2540f24595dbff547503ab025095", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "9e330afe6bc7bd455f6fc516d23ebb0362fb6835a4d9f29eb849089c8386d23f", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 73, + "collateralAddress": "XoGd8Mei4hUEE8uEw77FcTq2Jn4o4yxaxg", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.143.214:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128111, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XokNfmakD8uLzrKmzRLw52RYBGPjdWtrfC", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8c8c7e70d9fa3b9db4ab764cd610cf832d98b5e736ca7945c8c38cecfd7e2b0d40337113377ce351edfd04153fa5f856", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "4195e017c05ec113b99cd79011ed8bc4c4a4f33d797f0eb1f0d66cf093b18b50", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 23, + "collateralAddress": "XdzvxHTghL9VPLL6zfRtQ8HSvj9f8Ah4P1", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.234.202:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128126, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XymfTVPs7UEBfvBBjJSegWrHpFNybZgnW1", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8a530583287269607fa22ccf8c8d5098f58dcb95207c80f67bb7fa20c4318b1470f5cec2ab95cd1be116a3a54302d956", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "44fa685814db99da7b868bfe891f47acbbd45ef72b30b281d786ba174c04ed51", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 35, + "collateralAddress": "XgPocq58GmJnHfrakb9U6WV24kQ8g6qKgE", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.136.60:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128127, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfEv3XcpijFJcGXqh8vgKiiwZeRYXgJCXU", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "04abf5548abc72627a3ee1e73473d7fe202ac331c3cbfdbf1d605d474988613bc2aeca42d14302e3c3141816da461e62", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "41b06ade71a9e4e27d0f460b097ed9281e2da0d7f4b842b6789d2f2fc8fd7352", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 6, + "collateralAddress": "XbdspXknCgQx43eSDFTq1PgbCzav3QXkWY", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.212.26:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126536, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463060, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbaw3zePBCFXa6vv9Gtpe4AiQR7uiZhC1z", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "93da0cce18d1f400b99401fd0ae4457f5c088a530d8682364a135fac474e3534125d5cad995bf55eef7619f2854f55c7", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "e38b61443669dfcaa82b33d7f09a52bd14d5e282fc814c4ce47bf6c72ced0f56", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 101, + "collateralAddress": "XtTkceFpwqGfmHcF5DDD5HpRWjRcqCXVaZ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.0.187:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128131, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp5J4DorcGKpWjaZNA825oYQGaiUf29zDq", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "80d8f28eed47b184a310b4511ab3fe0f268809f889b5360967db46038bd766266c6afe5fdb28893c302dd85a8679fb28", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "06f74e4cdf74168f413a088f1a6d931344eb9b7aae536336d69f9c810dbbe656", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 94, + "collateralAddress": "XsQDdSK5RK1ZqyZVG4XB6kWhgEs8RuESU9", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.137.173:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128135, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xef9PuMrTuX8i1ADWypXXCVShabJXLuhea", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "17060f42bd45bd22f0987c9a9ea4ba27d5ee9e290b4839eec76e30f61058020201dff07ba599004f8f9c6f95db761d41", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "7210495b516368226478f663b17431de166769cb772200148a024e76af9a876d", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 32, + "collateralAddress": "XfTrTbv8t8ouEq6rshM1KHCGNfw7agTwQU", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.146.67:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128150, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhghSv6raoE5QVKY5xjSSAvQrDYPCPvkxk", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "12def622424de9e5b79682514a9dbf796021b92f537b1c0ec7e723c123eeac5f7c64e229bd4dba87fefb33d287d3cdb4", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "c5be5d0514dd5e0b14ceb25b6bd0edc960bb24ee7a5a32fc79de24c4285c826e", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 88, + "collateralAddress": "XrU2JfHx3upSf2JXbxd7xXUsrw3NrYXWeF", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.130.91:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128151, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtAMUx5cP3gFGKmvbZtbtWLSBPyEJkTgEo", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "97e2ff2d938fc71b2109ddff41fc756e9cc21c5ef9193a9b77c363c0de6e9e72533c1d9abab56d551613ec1e8eafafe3", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0f1dc0c2dcf9b0fc6ca4aff85960c14c7ba398dec96acc6dbb21133ddc004371", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 130, + "collateralAddress": "Xy8vypBDHNTiMhiixucxfgr15urgK9BnUQ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.140.126:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128152, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrSUjgUBngFtzJMyWnHnP6A854ryFr7Ym4", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "14e3855dc440dc617e3f4b05851f4152ed7d8c7324ae3080af5b5171ff8b723ed207127103e6680ad6639cbc651ab3c6", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "74dea39a57c84f1ddc1b8e491ca2736e2ccd3bd1b827a7af759b157f429be873", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 8, + "collateralAddress": "XbgXBLYB4nS6WetDxnoutgxv7EewXH7M3e", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.241.180:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128153, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs9rRmH6XoQn8GbEoJaN8BoQRyiz4uUhVZ", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0ea292e690735a1b78cd7acdfade389c10594ef31048a3cd8fb6e4747a5a7aeadf221b49e398d23e696d81d1e3c4e73f", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "e6a0abd902755df0100f97b85b6214aaf6d63092d6babf14a61c97bb943ffb77", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 12, + "collateralAddress": "XcYDexYCzpY5LXToupaRWogKKCcfSQyyEt", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.113.65:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126539, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463061, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqZpuTgnR1mwiaLQjeKmfdWr2pm3qnXgZA", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "93e38b5afa021b5f2826a4a9577c154f8f63558521636053d74297a7e7030ec86792924513dfd923bd8f9e25d09a2244", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "0f49402a00bd7f29265aa3358d0b2e4d4e7d4c5b20be8e6996bd0a60baba5f7c", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 72, + "collateralAddress": "Xo3Zpz3rVvYBK5cZzgeit4G3tdZf2J3RHu", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.154.12:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128156, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpw2vHqZp95Kw5sraKJSyXeSgs6PZcqGSX", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8903f7ec225a0a04118095d41cf6dd4be37ba7cfbd1ee67d49192c7531320b7f7bdbe3b6d6ed55975712b18bc88b6fb7", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "8b20c3e31b9e76b702635100de5c10abd4275037cb64293bdbc010bb2562cf7c", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 109, + "collateralAddress": "XuKppKeTCj3MA7EBhQZgAV43uoqkDmwJmP", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.67.30:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128160, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnPVW6vJinZUQgp63GyAhZgdXGCaUnNXxY", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "9424f4bfeff28f897e59ca7f9ef439c39ff444d9b5dc9197a6f3d1a9127e49e09a3c83491c496597c0c017d577410e55", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "17dcf3c4b4a2857bdb7ddd73753f865af61f3f6f83c55a241a78f4a29cab4580", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 60, + "collateralAddress": "Xk43GjLxcVgkiZbc4emmZP1tpguFAmfvKe", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.147.169:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128683, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1357295, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqMBwRAdpgXHgy9zVC4sW1nsCDXtpMmdUf", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "904795005d1e6c07d5c18011a5c65fe476d0255996fd66cfd74868ecffa1bcb813b751e44322d710a7d0270cedb1ad42", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "1ff17a2d56a31356eaa5a54a8ae01eb9359395757627b77be32b7b2c6e557782", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 29, + "collateralAddress": "Xebmhd6Jkc7yxxYfhfUdNYU8iGpu9pdx9y", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.147.225:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128163, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoyVdQYeZd7ARTq9ncNtEhK4b4tK7q8UWL", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "13280a689acd96d3431cb7c5f1956f88e31c40a3d6260e20987dd4b896b03263e53055d5b6ba035be03637f2ab39841e", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "a388a5f05b7825325610b82382173312c5ea0ec4273e58d4d75d6bf340593286", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 71, + "collateralAddress": "XnwDu6XEk9j2WWixrFnnb3JV1L7BERSxXE", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.239.63:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128165, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XehZJZxdVcXoSd38fVEBbnzqyDUJm1dAu6", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0f45f06da766fc716a48644fee4dea02d40596be0f4e3588478accda99bbbab4caa0fc5b8d2b4942bbd0c2a35c6b73c9", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "4b77cee8f36507fe1240a593f1a67e138f771f2c3b3a099e558e7c69f1070d87", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 21, + "collateralAddress": "XdbtYjUgrUwDZDpUNNB7XmoFECM3nHoJL2", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.129.23:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128166, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu3bGebZnxwy9bMuDQzzHNpnR1VcTdW7Hu", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0d0d8dd20168c5d3e78688faac248bae99db5414c898ff9b02047a6beaa261d877f9c6dff71158dc4ae5804f470a203b", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "4209cb9f4b1c981d914e508d135f2b14f89bb0abbe3bb37409512f3fb513d28c", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 74, + "collateralAddress": "XoNfr4rN4ZNvgEbf7KypdZno9JMBQHczrT", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.134.37:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128169, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjPFW8ZAusbCoWkHurYtwa7p51e2o2xQSb", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0b33e2ac6a785c09a6d93b7a2d873f0551b5cad6d4537f90851b07223693368b4fde44ba183417682b511e594e07a9f1", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "d30c12b6cfa7b0693c3926b1b7c50a4ca912b0261dbfd360c2015a54f43d9a90", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 123, + "collateralAddress": "XxFzD5PLN4xk31CgGgk9isnA4WnyuewFfX", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.223.98:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128170, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfmKMHeAJqRKX1pCS7MjZM4x7DXrQVNtZ3", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "1196ecf02128c5b910d0005a3f488561ce4bbb1705c59dc5252b84554fc00aac7ab29ba315f9cbbae1d5e5039e5dafc9", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "fe30d7b5fe48b54f83d69ef9f916c2dfb19fd60743e88d838de6524b03a7879e", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 97, + "collateralAddress": "XsmyisHNVm6FogedPz9GUKPWy4BZNZR5Pz", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.137.45:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128179, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpkq3GTBJtXCHe6Kz5qvbNskwXTGSt7MpY", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "974c08f2bb56045dfb040c22ff4f66ff86f041c4bd1c83344c8dc20656365b600826ca73c8343e995185f7954142143d", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "321a1300b3ec63b3082d1626c7377d3c9e4e332eadefe12073f5e17b5099a49e", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 26, + "collateralAddress": "XeULejnoXzAWSWey88t1cXMMTQGqc1T7uX", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.1.166:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128190, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpH4wGiQUs2GaBtRFffsnpYR1GakfjgeAY", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "87dd99ef73c084f3a21c8cbdf2bf7364deb8f08077f4c1e6acffec4f4ca8f6a64183ddf98ec184a667f83e0f804f0b5a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "210d760dadb59c94fecc8e96a6d1c0d812c4e31d7a408ec2e1ddc643c22126a0", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 54, + "collateralAddress": "Xjheg4923SHUd9qFiGeLfPVYt8JPfjWgvn", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.170.241:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128191, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv2zMNpuvjKJLZodgUk7N8NqYYWHryMG8h", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "9710294871d99ad4d6ed0c7bf4a43a43054413e4ab0bd5873291352895ffc5fb6a5ce877f274c1b878a4068dcaeae66d", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "02e8a113c2de4f0db9c0fd8b205f0851a134fe5d08d3bcf20049e6d751afd0a5", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 20, + "collateralAddress": "Xdbk28iM2LVKaEC5FN5TAtpas3kze7DDTV", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.234.148:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128197, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwMogficHbo2yo2bWyrRgT1NHWtMfrePiW", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "86374b08f04af35e872e37c5e1317ba99cbbdc28ce80ba68a4e9a1bb7f85d07df453ff259a9f409b5a57f93201899e6a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "8ecfa50e623f3aa3630afff4bdc8eb8c83de92d95c0928df263fba7dfc1fada8", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 126, + "collateralAddress": "Xxi32mWyfDRkit6iPq5tYhHdha8H2nEiX2", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.178.166:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126562, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463064, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbaTodLKTGkUxZjP56VgSsSsis9Z9jUVrV", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "824d13f6a08c4c33b0a75b67e64c8e62455fd2b1f24f13d10c8680e33be51e3e9290104429ca503e2046d5c9884abb10", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "e38c4f4058c1bd08472544aa642af01f10960ffad903439bb5e64d38aac7f4a8", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 108, + "collateralAddress": "XuKmjwyAE9bvoPXBBMCfLHNhprLTXJk138", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.150.74:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128200, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyzwP3uVyHRpywJDEhr2P8cb7konNvh32R", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "124b5e49fd7a3a98ed9abecef8c90d9943408e90961ab48d285e146825421dc4ac0cd16b2e3131473f68ffc0d2a15578", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "661aca313e5ed1d3898ae9eb4619656f056462f19ec479649af145e8ae7e1eab", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 107, + "collateralAddress": "XuJk4PmHSVPv76JKpuctWdY8ypfd3ko5q3", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.139.231:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126549, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463063, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpaDiWNQ72ePyHk9q4VG8boy4LRn7nTYbT", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8bdd8ed011adf4dcd8a012130bac2e96b5f71a81ded67b7b335357ab2a9a26acecccf108d9bcc1ebe14e141b0ce10408", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "88611d51071bf30b15db0a68ddd292cef0d1bf22d76db7a3db0d26e4698a89ac", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 41, + "collateralAddress": "XhbNVtAdEJJKHHyWiDuTYTm2zabfDN4WSz", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.155.151:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128203, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnfFBiSXqiZTt9AiQrg2FuUudKsa8CVVeD", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0c1344cb79e5f6f5ca566d6e28a4fa89a43a37d06af20f58bad3f699a55eedb470d2f29a8e73f0fc5d49bb9cfea4913c", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "b2d19febc5c05ccf25b14c68f41c17293e29b2acbd08584e7371994a9e07b9ad", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 31, + "collateralAddress": "Xf56FBJG8Uyi4egL7Hcr1YTWqpfXVez5pa", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.219.186:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128204, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xioota8PbtHhpQk3GVrCwrbFLsqv97yMjM", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8dc3e7774b85393bf92e021ba950ffd0e8069af1680b9efe9580ab8db03c5937ae34e3c9e7e901791f418999864262ce", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "675e0f206a30e6eb2540dbfacbae5ebff7863c6b5edac59fd58caff7c22e90b9", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 43, + "collateralAddress": "XhqBn8eW8vSLssqnW3o3YFp4oLP5WFNed5", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.136.138:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128214, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxwzpj85H4iZJ3esi2Ysd95pV3pNrkPXB4", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "99c85c681c04c4b8e3f229e189826d1b30ada27b8b0b585b683e73270e6037b72320edc6bf067003c9387bcf0655c13c", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "05c7cf06162bf490de5e5335109747ba5491801286d9796af4679a49db6af2ba", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 63, + "collateralAddress": "Xm9b6LVYLgmCVJfCmgDxzm8PrnaG45V4Xn", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.104.151:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128215, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg1vSGPrpcH9a148trnuHKupcqqEL5vU8X", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "191122d7fd5941dca12b2aac1dd6fb525154ef6da47897ac8de2cb6fa3112a11e74ba5be1eff1d72deeeec9a1a7fee86", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "1e1be260236371bf556d6c1f7192459a7fd2f5a764094ecba331c8b27e9d45bf", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 96, + "collateralAddress": "XshFXokagecoTzFrbUYxy4HUozSmSTkGgM", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.110.74:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128218, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc12ZkC2KEm5imNmyzagVpyArczVQsavUz", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8be2a79bfeee8b9a61ec237b4462f2352abced4c980786da36336ec3565ad2b59ea42dabe110f832af0abb8cfc76fc3f", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "2fd9481a5bea77af3657415e13358c2a58b2e32ed8ef4bc8c14a3a4e15d776c0", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 16, + "collateralAddress": "XdEjayST3ByiRMfDC338GUQRAnTfDWLwZY", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.204.148:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128223, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwNx896YKD3DgNMQofTHzuHVEEFqKfXDYC", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "14a1afe3f5367e9b007f004668385f981844af7ab105b33293e5aef00277c03e447034b5472dddf2207640d42a502467", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "647e0abbd1e957e9f661d0c3c33f898c3ef2c8c014392da438331ea3257206c2", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 78, + "collateralAddress": "XpSHfrGMHYhbDAhDezGscDJQkEK99uDdNb", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.153.43:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128228, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnbhp2C1QTFTNqfrDabE3T8n3CeYjVZZFJ", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "0c2afb6c6543dc6ac1850aa27d615b065ec5d28220f7e4db5e7016af925fcec531a3c1566edbbe34f903b9ba4046c8fc", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "8f53afa39189ea0702a1d4577ef5a767ca806aa6a6407063b528d72cd48533cb", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 19, + "collateralAddress": "XdbV4qKmFewM8d7MWd1fAeGG42qbMZQXxS", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.52.8:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128256, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhbe8JHLSiXPVGhXyVYZzC9PXDnBqseBq1", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "9223b9db1eb8282414ae231d944a651eba3932cf87d43de3944bf5b3ce423a68b26686a9d7b89b6b61d2799b7e664b16", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "48799deb5fe91024cd3ee21af361a4669d9a8dfc79dc70215ef0de2b617db1cc", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 61, + "collateralAddress": "XkTs5kx5umCZMGPz1mfy9VY1RZG51mHuAn", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.134.140:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128260, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjBY6YNVSsHsjDeAWibsAohYRC9fo6HMS7", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "16c265b3a81661d3495afdc7a6e342dd5ec33db8dd403208d048ca6a7a95734f97b8c3e8d392f9c4625601e32f15a4ec", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "088ffae1e31f2cb4ba4ef786959a742f33dacc2b4d06d41f52776a8db8c4c1cd", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 110, + "collateralAddress": "XuNwzK5X8BXTWuJ3DAGb67N5MyuU6EmBKu", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.108.248:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128262, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx2CWSLeeUAYoR2JV2ykKAVcJtsYM7Vy9d", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "127bed4b5182e165c5c0b85b509280171e70392782128681a1eaddfaf61c69c3ace9ab035138aef51ae5a1b420585ba8", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "ccc1c65eaaf33b5f1c837766b9f57d48c8b4b2fbc2424789ff24d88a0cdf8cd1", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 46, + "collateralAddress": "XiGLG4J8MTV63f5wWGdhyTJ241Vieq92US", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.147.207:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128427, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2000785, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsW1CuzdwJ6DPd7qgHmxxgMgFcG6VBRT4a", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "92cbd4d603e7022a4acbd3a90d9918897ba4c227ab3d3e2351d72e4da8da6b8eca92703d5630b7e3bf1a1ff62dae4446", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "c88da71e9e268c7931004484349a9f992eed37e600a029ece4770d9d087361db", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 18, + "collateralAddress": "XdSdjB7LJc7Ck2NU3HxEsSJKRdzLbwWQWC", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.201.242:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128305, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcLxk24ZbsURCaErs9LXUZ67srkvoeg9i2", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8add2d567705dc20ac0fece29a6f0b82b32ff33e339a107ea1cdaa770cacd2ce6756e4d13267bec8425b124a73be5449", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "911035d61214d45463c6cd645fcb729662e85e4c94103789289c52142062f9db", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 17, + "collateralAddress": "XdNoHB9qEKk2XQMgRxLxX6vnnoBov6m1XN", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.152.91:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128308, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc81bERDfUsDnkWvFSj6SNQdEqa24EYCzT", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "131315d1c2bc8d7c55b25d6d3745d32912243d04303fa684b85c2ccb0b858a3d0422b63fa560096e80a605018a48b0db", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "2833ec6e1f256e749bd53f56e444b28cf1d75a851b123fc32089bb58249e9fdf", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 24, + "collateralAddress": "XeMc8NY4zL8VEouLvKLgSdqx588tLCCFzg", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.251.8:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128310, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh3iJLvsjvxW3K3JgNKCWZ75tXk4qsj2hd", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8dbc5b95cac2f4c293ff3de5da731c88bb8081faa856e751d508253381ab3447b864822edfb8625db74a883219bf4e33", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "288c68e4071a57de806535a933794e1c356a2e96e922584663cc84d465c14ced", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 3, + "collateralAddress": "XbRch2nJNWY4WKX1xiidWpenLKDZoFuuHN", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.193.162:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2126542, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1463061, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs8TSUfN19Do4GJCja1JyXkus9yQV4QKcZ", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "18627aac9de77e3657fc72b08da421660e9bda8e1ab315c9c416bc1824c131fe9ddd4d2401739aaa318b31fd88aacced", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "8828c3d3ced43dfc2a6a126e1d46d45f645ad76c6619e7cf6c449840f4e309f1", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 113, + "collateralAddress": "Xuqv8n3kYLX76JVD9zyqj9XJ6ppigZXVWZ", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.69.81:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128342, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhEdEcCzLEim3iAiUZrdCYhBDo9QnkrMUp", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "131c94dad302899484b4383425a4a0df7aba81161b9ea099d83b3b716bc01be0ab7c3d12b39222d0e23985925ff4dba0", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "d61a8b3afc985f6217688ca5aa147d3388a48c88bdaff462e2c7ee50fb2b71f1", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 80, + "collateralAddress": "XptMhEuZNYfuGkJKkpWSqxaDhrGnSrPVXe", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.148.109:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128344, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrhrWvsAZvvbWT8uBAfQmPCoGd5dM8DDxu", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "1090d8a95dc2c9ead7660ebdad5337079bf5411a0c12326da00dad4ac4df84205b79ec3e2519108b2f9fd51c43cdedcb", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "fc83e0ae94fcfc8e5f405bc8d9626fb708de826e1eb8515d5ae6012ea34697f1", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 50, + "collateralAddress": "Xj35cBN3s7QjDVGTSXNjJeUcm4eKFcL9p6", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.128.182:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128345, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdcLDbXadHLHYwfcx8kfEow6qRdp8GJAQA", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8e32b8ea553c1d709cae533aded96c9c598460b20ed8c251653160abe5bbec8f3aead4ee710fbd3994e8eb5b8948ed80", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "f5e6247ebc7280b794bd8d60df7846e6a6b99810a6eb913978ee3d796e43f8f5", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 95, + "collateralAddress": "XsdxZ74H6gi7bsGPdr2qNFS9WN2jeCSWDM", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.134.65:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128355, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw4NWamkY5gvdJdDECPb579H327gshCggi", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "18e30d26526a097d7e21c0324f17927b42eb260c4cc04a25f5acbd00f3be4c6f0716ea281dac58274afe266c634cd25a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "59f02fe0f046de2c62284e31ec54c14b8ee3935ef283b1322e3635fad45337f7", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 38, + "collateralAddress": "Xh1jjZu4H6cEzWEHPze4UwRgGXPEG7kAh9", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.149.162:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128360, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xij9uvYg5KCYHmx2yHADqcePZguDCkdMH8", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "08fd72a2e32e7096be21ab42307d1086554f44b5fd1bbe04493d31db12691b740e2559359773f0198aba3b62d259a69a", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "529fe30a1b9bd33a6b8966d7c9f9808e17d68d9b77e25211c35774e5c2d3a2fb", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 45, + "collateralAddress": "XiEomR27PjXH7VLQBzJK9H7RptMfk8VYso", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.131.215:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128379, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjdh32G6rX7uibPmTuSmj3Wv4L1kShd8H3", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "10d9f66c670ee6498bf66680c28cb763fa79bf8b30b17492e4a597697cc9044a058365fa2d5b20416b3d4641735eefa5", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "4e6f17b1b47212015fd9b4f6c867f502fff3446f5373bad706937e5c7b8db3fe", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 125, + "collateralAddress": "Xxgogk3uKCCZNeKwYdhFqB1A5uR9NEBW44", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.219.93.245:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128381, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyTUGshzPzDTAzbeSaK5RxQXA6t2AHzusn", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "012ac932e4d5203a8170304db0c0eb8e912feb86a9bd2900ae09d0e3db977de521d2d555b8d246111f2b8a17899e9165", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "32b8897df248096db34c24bb9a339f38f2e134449d7f6eb1dda51e9d778fcafe", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 118, + "collateralAddress": "XvaALUWKjc2GEoM13eGXjbvYwZh7G1L6se", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.149.195:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128383, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtuKChAggUaUWy95bDwCFCeV2sJZziTtex", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8c0555e3899039524187df65f4b84c4f6290fc6a79fb431fa9aa7d5ba19befccbba17634d1cb761f085ccad11106ad93", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "eb846dd81c0d5aa7a86b3a3588583216e3cc43ea707b9e7a167739d4b1884fff", + "collateralHash": "5920640b0a5f73f5b74823bfb9ecf81093f9e73a7ba24d0d2f6b7ae3073260ea", + "collateralIndex": 124, + "collateralAddress": "XxMcNho1HvjeDg65yPgQGsZpRkqbdgsB4C", + "operatorReward": 8, + "state": { + "version": 1, + "service": "8.222.148.183:9999", + "registeredHeight": 1297962, + "lastPaidHeight": 2128384, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvng9xaDbgwPYxUMGZjAVbt77svWd8LNmA", + "votingAddress": "Xd1vSZB6uMgLEw9E5hGtvekH83xPBwgZhc", + "payoutAddress": "XoDo3w4ZUqn93uL3FeRNb9fgfXvgg7BvDC", + "pubKeyOperator": "8eea07e9f2876570ca89d250840a95451b074a6fe5ad1c6bc43554d4e48e275176068f5849688ca6e3441f70f25d9fb8", + "operatorPayoutAddress": "Xnem6ejaXAfKDTh5PFGSa9ozMQNMY6bvs7" + } + }, + { + "type": "Regular", + "proTxHash": "a24c0f9ad26c59542627de3ead75325c375c8187f95fe47158dacb8913896db2", + "collateralHash": "5ef6e914cb1af71cf634204130165954adcd254bec1439b42acea1ca610520ed", + "collateralIndex": 1, + "collateralAddress": "XqRE4LQE4tNHJ5DuneG3XWuC23EPzb4NNN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.1:9999", + "registeredHeight": 1298058, + "lastPaidHeight": 2128481, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoS9tFnggdcGszttDajtYVy6x1RtYBgEPA", + "votingAddress": "XfzSNQx9Ma7xxk936GT47UnDZrfiBDwSG3", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "8573bf0bbf0d372ab6a2d8e88ca7b0f3008be8b77ba30e86610ca19ef7718a5f31e1a7d1e07ad41697594cdaadcfbead" + } + }, + { + "type": "Regular", + "proTxHash": "4c86df48d7e2d47069eece948c335205059fcfd2588350d9df6d857e7d37c731", + "collateralHash": "3ca4eb15828091f5c5e89b6e23e164caef807676d330a8cb41cc3c123dd4a341", + "collateralIndex": 0, + "collateralAddress": "Xn7quMjuwYFii34NNBsDALk8GSeBhgPJ7b", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.142.41:9999", + "registeredHeight": 1299768, + "lastPaidHeight": 2126223, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xek2fyHjCe9jyjWBwUCAAyqf883ceZTxbz", + "votingAddress": "XqZZUj4irZRKgeBXYLVZ6hqX6k5guT1Csn", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "9790cbd1c2d248c788ef3561022791ff06fbfd28ebf85dc3d97b05d7da02a6e1800f4c32c8a639c3379ffa525ea56f56" + } + }, + { + "type": "Regular", + "proTxHash": "4cac1d5c7267b3b40e3ebaed2192508d6e91d96212484c612678b4d4220bb38e", + "collateralHash": "785dd920afed4a2bcdd7651d7604a1cbe1d650fe0d24fd07074889cacddc0056", + "collateralIndex": 1, + "collateralAddress": "XuYjgoSESt75sdj9Ujk2cGAiy8Uaq4KQ94", + "operatorReward": 10, + "state": { + "version": 1, + "service": "54.191.131.64:9999", + "registeredHeight": 1304831, + "lastPaidHeight": 1719933, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": 1533787, + "PoSeBanHeight": 1720164, + "revocationReason": 0, + "ownerAddress": "XnHW1zxjVccPs96gxvMepnAChiKp2o9qiM", + "votingAddress": "XnHW1zxjVccPs96gxvMepnAChiKp2o9qiM", + "payoutAddress": "XtAG1982HcYJVibHxRZrBmdzL5YTzj4cA1", + "pubKeyOperator": "84cdd7483772dac81114ccb9def87d9d86f8203379483699b2f4ac85b41549ad6aa2bbf11a75669364a5ea74fa6c59f6", + "operatorPayoutAddress": "XhLMvSLzkngpfBrgruXuhsmr7baifatkVY" + } + }, + { + "type": "Regular", + "proTxHash": "ca597e6d95ebcd7ff0764196b8e4e034b490216bf5d2c3c37a97858715014f1a", + "collateralHash": "110c964b0e7f6978860072fbb9c76d407def85447efdbe4021dbf1825a81cb01", + "collateralIndex": 1, + "collateralAddress": "XqYbWAAoDyerzhUDhRT76o9hguw41Tob5v", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.3:9999", + "registeredHeight": 1311933, + "lastPaidHeight": 2127868, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs3igqF5Ro6dFnTXhTdCHEmUgfTHatawRG", + "votingAddress": "XpGyn1PESTwegCpY7cmB4M5iEZJ6zjp13R", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "072671c967ec6f0966e953a3a77d62ade443fb7e0790e5b27c3aa6bdc5ccd34b5b4571250d57d052c30b8ed5ccb1a045" + } + }, + { + "type": "Regular", + "proTxHash": "0ea516ea42dba2accd760345034ffb6b39e3c1c72d703b89bb6ee6015f175a51", + "collateralHash": "aa123d0591feeb58ccdce6305cc1be0dedd4ad67ccb77477a759f585b297c79c", + "collateralIndex": 1, + "collateralAddress": "XgSXoMDbeSiHPjCbLwMdmB3buh93tVJGRs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.46:9999", + "registeredHeight": 1314818, + "lastPaidHeight": 2127804, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976337, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiQUbcS1ZTFo2JXS1eZ1JcTfptAbtzjXDw", + "votingAddress": "XiQUbcS1ZTFo2JXS1eZ1JcTfptAbtzjXDw", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "9125105d67fc994b282d59db48bb699e169f722aef252d467ebc428b57e4e31d5a409ce6e05d1d6958be2eff16a2a276" + } + }, + { + "type": "Regular", + "proTxHash": "974c0b88c255f58bc699025d4d4c0a9fc0df58bb3564b8c287c707f60e7a28c0", + "collateralHash": "fdd23a323b3a7635fdf37f2622cb25b73a95cfa041f60a8bf810e80dc767beb0", + "collateralIndex": 1, + "collateralAddress": "Xnd8vyS3kJsTVoczE7EAnLPPuLYfL3Ubmt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.3:9999", + "registeredHeight": 1315758, + "lastPaidHeight": 2127075, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwsYZa4XmRYfn29tZdAu1nkEooG7V6xkVo", + "votingAddress": "XpiJY2zEeUHhiPq8zPWcJUrDdjeYzZiTuf", + "payoutAddress": "Xh55Tx9cQiFrethrcN6VpALqkw131LNR15", + "pubKeyOperator": "0c656645c53c121834d6d055152dd1251d80bdc12c88f6e032d9f4f4b4f395b2ffb24278cfe6dc83fd0f591419b31f2b" + } + }, + { + "type": "Regular", + "proTxHash": "42a74c5f21ac8d95472fb50c5e05fe8e745a069987b3b33b6db99dbfda3f413e", + "collateralHash": "999d5a58b2dbfba201d4a4c1cf92c49ac2639a8f869ce2ebafb72c55b043a4c0", + "collateralIndex": 1, + "collateralAddress": "XvtwzxEEajLWfSVg4PR9Mrd4bxMvsQPVew", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.118:9999", + "registeredHeight": 1316431, + "lastPaidHeight": 2127511, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt73S7EzbptqZQxHqk4K4DMQNvCeSPgtq9", + "votingAddress": "XiXvAjyUviEMQ1fhboqASVF7rsheaQZXjD", + "payoutAddress": "Xmah8zbEr9o3wxN6UzHT1SCz5iAsFXS1iU", + "pubKeyOperator": "8e9a70232918b481c957deffea7cac231f29ddd6f69f532ffd9fabccbb844aff9abbacbc6267326605e06ad778cafbba" + } + }, + { + "type": "Regular", + "proTxHash": "41721674911fe602367c9eb9366427e0342fdbda88f0f70189284b37645a6b6d", + "collateralHash": "148df3511fda0f76ae09989ccfe875b5e6109fdb23bb47b25c25df67aace673d", + "collateralIndex": 1, + "collateralAddress": "Xt6izZrdMotxsq1roMaAxC3cxHmzNcgD9R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1316879, + "lastPaidHeight": 1733106, + "consecutivePayments": 0, + "PoSePenalty": 4468, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1736075, + "revocationReason": 1, + "ownerAddress": "XchRTyS3H7M9WM6FvYwm2FvZyuBEhp28at", + "votingAddress": "XriVGw84xNu46uRWU8vUMQXdgQCQ6mtXQe", + "payoutAddress": "XqoHxo4PhjmQ29mqywx6yxQq2C8kHtqHAf", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a98fa3d1df05902ec1c68f5a61fba64999d443d8644545696f64f61b048ab1cb", + "collateralHash": "24559f82eda80372db4a96bc3ebf5fd6e367f493d173d6bdbe77e4fb4bd9e02d", + "collateralIndex": 0, + "collateralAddress": "XsBW6NWJ38uvegji6DYcFy17mcwBY5Ntgi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1316920, + "lastPaidHeight": 1733149, + "consecutivePayments": 0, + "PoSePenalty": 4467, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1735548, + "revocationReason": 1, + "ownerAddress": "XnQC7grDKvEnbnqKDkfvkERi17NDPXpfAx", + "votingAddress": "XtgvCvQsJDSGHBtzp6ckMDq3UAntyJsmMp", + "payoutAddress": "XmBkqSwZuaxshtaXP29F3r9H72vMv2ftTC", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b97f0a525f051b528f0b787c77df425ccf8f503fe6dffb562bbe52e9a9bbb206", + "collateralHash": "f191257daa7fb3537fb72d676e154744bdb1cc4e6976fa173c09d0edda3d1db9", + "collateralIndex": 1, + "collateralAddress": "XfVrsnuwvtwJMzNKimo6S7A8L64CBwk2mR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.56:9999", + "registeredHeight": 1320256, + "lastPaidHeight": 2127981, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2084635, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkogj74xXTguSDxRgs3e6Derz2Two5aibf", + "votingAddress": "Xj9jX9mFyoUdL9hNR7tWKFqVYvRtHitHo8", + "payoutAddress": "XqR7TdXp2GNcNuSi6PEEhvf9Q48Me9J5wD", + "pubKeyOperator": "076ce48c21fd6041e304afe8ba7b80397866f55b7b4b1057cdd138834999a30ef10483a646ac6353b479c5ad684b82d5" + } + }, + { + "type": "Regular", + "proTxHash": "7be07a457ced20c032875a20bde28d9807c134586a887d45a7d07622b461af9d", + "collateralHash": "ff968aeed13688ef4a116c9e9614b2638674ed568caf8d56585753b2f8a64273", + "collateralIndex": 1, + "collateralAddress": "Xx6XFBC6SRhxs83NqPG2RstWws6egdEeaJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.57:9999", + "registeredHeight": 1320257, + "lastPaidHeight": 2127986, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2084640, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyQZFg9cAG6VD371tzvFZJfKEQPPU2X6Yo", + "votingAddress": "XtwBBo8zJQvWAKGkQrbTjpL5RcLCCtXT7n", + "payoutAddress": "XqR7TdXp2GNcNuSi6PEEhvf9Q48Me9J5wD", + "pubKeyOperator": "04559375e90a224a76da84c3682b90349633d5e759d49561d4dd53a6bcd35cf6fcdd779671e38e8c35c4a5abf3223d8e" + } + }, + { + "type": "Regular", + "proTxHash": "7cbf35d2bc6345a61b0d6e27984e527c1de7e46d25eb283284c64404d7c0a9eb", + "collateralHash": "29bb40eeeb39b1416da569d86e3ce17f7d942e306e80ccf02d9eabcc85a639c8", + "collateralIndex": 1, + "collateralAddress": "XnkCc2rcdYZtVbavXXzu2FqoukYqtx8xFh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "137.220.48.87:9999", + "registeredHeight": 1323094, + "lastPaidHeight": 1734218, + "consecutivePayments": 0, + "PoSePenalty": 4469, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1736556, + "revocationReason": 0, + "ownerAddress": "XxSgGKN91vVrH3E2ak1hzxxU7FyTSv7PRy", + "votingAddress": "XxSgGKN91vVrH3E2ak1hzxxU7FyTSv7PRy", + "payoutAddress": "XddfXimPtjRUANUCU7t3wwkeQvJfZLAVPz", + "pubKeyOperator": "812d420983b73ac05fdc009d9ff9d21a71283888ca9bb31102dfd850804d4602d9f44de83a5de54220c076c23065e97b" + } + }, + { + "type": "Regular", + "proTxHash": "7d711cd10855b50006f6865050276e5112b3476017b087dbffe13d733398c41b", + "collateralHash": "2fd815694304516b1ab19bff561e371f1bcfb3a799b722e8538efb1cb8e51fff", + "collateralIndex": 1, + "collateralAddress": "XbKaMW9expo6oPy3hAbGnMtCmKXi5GRFvJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "155.138.202.7:9999", + "registeredHeight": 1323141, + "lastPaidHeight": 1730449, + "consecutivePayments": 0, + "PoSePenalty": 4462, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1732211, + "revocationReason": 0, + "ownerAddress": "XuDjTUNJrNDhPVENRCBDKitRRt5P4KX4J2", + "votingAddress": "XuDjTUNJrNDhPVENRCBDKitRRt5P4KX4J2", + "payoutAddress": "XmsrghaxjQakV6XvRXK5EhJgAYCf3HXDMX", + "pubKeyOperator": "8baffbeaa23a4eef900472a009543da5be697255fa3272c38440ab6093d4c09df9fd9df2e84ff6bce66ccf7f2fb0e85f" + } + }, + { + "type": "Regular", + "proTxHash": "b86f9ae4178a3425abb8053a40e1eb138b2a68b466ba2b3bd04167060cd5c1b5", + "collateralHash": "e54927889a3fd47fb2580f30f711c499fe33db128868526563baeb42498bc300", + "collateralIndex": 0, + "collateralAddress": "XcdbrWqd1DvEuismcadbNyydbCK5YK8Kiw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.94.189:9999", + "registeredHeight": 1323417, + "lastPaidHeight": 2125778, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfWe8g2H8mDV8GgJ9uyTZRHW2XyjtTrVLb", + "votingAddress": "Xj3mC1zT1i6U8W6jopLsxkEoxVK88BN5Fq", + "payoutAddress": "XfeoTUHFmhSk4aua8r38WjrULLEEwGY7xj", + "pubKeyOperator": "919843847b2bbefe80c6e33621509fa9f1f88654c8dd153bb5aa5f3e300ef59e8a65e2da672718f69e5fea51d078a6b4" + } + }, + { + "type": "Regular", + "proTxHash": "9b92cb2091365a5e0caa675b5bb28e6a257ad6cbd36ff7e6d93ca0cd9d045be2", + "collateralHash": "a1bce43b62f829a4edad860e9fc3c3a3898d864914764c572b4c84672595ff7b", + "collateralIndex": 1, + "collateralAddress": "Xc7NgYatXkHcSZ5w4ZKUmqZMJXuHd8GDpb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.252.121:9999", + "registeredHeight": 1323464, + "lastPaidHeight": 1377624, + "consecutivePayments": 0, + "PoSePenalty": 5085, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1380539, + "revocationReason": 0, + "ownerAddress": "XmpPDPJdSaKs63h6uywyGAQazHjbqCqxu9", + "votingAddress": "Xh6TKWCedH2gcxtoTWoowt5du9Mc5QqX3F", + "payoutAddress": "Xc7NgYatXkHcSZ5w4ZKUmqZMJXuHd8GDpb", + "pubKeyOperator": "8088fddab2f572246b7e95dfcd497255779e567dfaa25099460c108b2cbfce7c1158024b25c2248b21deb85d457de129" + } + }, + { + "type": "Regular", + "proTxHash": "19b0120f276ea518bf4c4935c02a98677f9f87085f4779a3cc593ff2c52bbc3d", + "collateralHash": "c6ee7d66db1a740ba3f297ead98c2ea16e8b75c2cce1322952aa96b5ba974463", + "collateralIndex": 3, + "collateralAddress": "Xjvvnze5wFVTqunp6xDsr2JvHJFzUDEuhK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.203.119:9999", + "registeredHeight": 1326583, + "lastPaidHeight": 1780948, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1783691, + "revocationReason": 0, + "ownerAddress": "XwxnYQz26dJ1dREPmYQCH6pvuY7BwctKxA", + "votingAddress": "XeeFmNzQsop1SCGFSmfT4K4Gh1ggGuyRUo", + "payoutAddress": "XeqZRK1kqFcYswjHF2TxNCwWgeoi2Ff3DD", + "pubKeyOperator": "8c60a43d99c862379cf61248807907dedf1158421c8d82bd3fb2b7a1a47f8156f91e476ffd3b70d77b1718745b8ac0f8" + } + }, + { + "type": "Regular", + "proTxHash": "2a0e91eb1d0852a7114bd5414b1262ea8aa5ef9d6461c09d893a83cb88e93cf6", + "collateralHash": "46259d6be0449de714c99ebb6cf73890256de8522ae3acb7a568e64fdd75ff3e", + "collateralIndex": 1, + "collateralAddress": "Xu6fjdVJTysBAZop7S1Rrh9kCnziEgeyMa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.26.168:9999", + "registeredHeight": 1327657, + "lastPaidHeight": 1781977, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1784051, + "revocationReason": 0, + "ownerAddress": "Xuum8RHR9dhjiYm4kCcqyYt6h1pQen7DfT", + "votingAddress": "XsvY6cjCpgFkWAtjBSGizyR3UFH6mKL4MX", + "payoutAddress": "XeqZRK1kqFcYswjHF2TxNCwWgeoi2Ff3DD", + "pubKeyOperator": "82c3ba10c6a11e4e22e60cf6310676483b59119327778fea20026336287be76ea95da0512670ecefbb9af71ab73f2398" + } + }, + { + "type": "Regular", + "proTxHash": "0fd63137e2bc071a00593dc8bbffa59a0a06ebb71650f12ca4eabd5ae2d9d2dd", + "collateralHash": "7aa805597103a02cbc00ff59a6df08eb191d765e522651b67009836cec0cad18", + "collateralIndex": 1, + "collateralAddress": "Xvn1kxScx5MRj2eWyEXnSKMXXmkTZ8qscF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.66:9999", + "registeredHeight": 1329035, + "lastPaidHeight": 2126201, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm92ZHNh35Zjcf1Mux9Mpvp2qmNx6uiuwQ", + "votingAddress": "XyeC47GUnXxDE9KYr2ApVfbEmjndmTtuSV", + "payoutAddress": "Xvn1kxScx5MRj2eWyEXnSKMXXmkTZ8qscF", + "pubKeyOperator": "96ed97caf750564962f5a847a877c9a01ebbba36ec0f4483a953e8ee5d44a5776cddcfba3d3ca3608ae549bd9ebf6845" + } + }, + { + "type": "Regular", + "proTxHash": "49d0db663c2e3a55fa15bc3494afb32d470789fa25eff89cc594c9280d06ea5a", + "collateralHash": "0639075f0b47b3ebfa76fc4a51d1ec8256768aa900793d7dc30a7db4c61e3b31", + "collateralIndex": 1, + "collateralAddress": "Xf6a1k8gcRsnpXZbWJgnLavTKFKvWK1wwC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.200:9999", + "registeredHeight": 1329938, + "lastPaidHeight": 2126680, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbq2AHiEwxBh7aRZxKRYNyCjmF6J2ioFUw", + "votingAddress": "XioixrNBzwV54fujMgduo8XWBtDNRZSoCJ", + "payoutAddress": "Xm5e6LmGGZTe95GcAZc6mcDS95kgP9cg4W", + "pubKeyOperator": "8c01f5214a256388c7d499014c1251771edc0d775678a4536a5e84680831bb86c6b2906758ee7e24ad5082e7282d425c" + } + }, + { + "type": "Regular", + "proTxHash": "ffb927c847edb34e6e22154019cb3ae880041796de510037c764cedbfbee00d8", + "collateralHash": "1740a2f15359303a31087df675c60bd32c464f6098de5f092c9cc1aeb5d145a0", + "collateralIndex": 1, + "collateralAddress": "XjPfPvE4fB8ar5WMArwHKGopnga7PsigpA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.51:9999", + "registeredHeight": 1333428, + "lastPaidHeight": 2126059, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2116839, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwGdmVM18J2rq9W8RiBT7WF5tRWfejitwD", + "votingAddress": "XwGdmVM18J2rq9W8RiBT7WF5tRWfejitwD", + "payoutAddress": "XpVdRXEbUTRzomq47YjCWSMnpC9XkjPuYu", + "pubKeyOperator": "9185f8a9cbbe4a39084f37ab9326cb82ab3224ef962b332a5ba9746ff16845ce34c2e9337d4c43d1acf87269d83a40f7" + } + }, + { + "type": "Regular", + "proTxHash": "fd69326e35a79545df532ad99cd821f950f878ef37df37b555b4624b71b1c2bb", + "collateralHash": "a7ef307b9e7aed08ab56d31fc17b70f63edb0221aa1821ecf8e3e4156963e7f7", + "collateralIndex": 1, + "collateralAddress": "XiNGCXeXXib16mjWF3aanjqzSiypwXxVJ8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.69:9999", + "registeredHeight": 1335296, + "lastPaidHeight": 2126254, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1476167, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsb6gr8FaMt1S1ddzvFWFxmcUEf3n885L1", + "votingAddress": "XsKatFLDoaL9YcUfhM2Mv2ZT1E1wvTWuNV", + "payoutAddress": "XiNGCXeXXib16mjWF3aanjqzSiypwXxVJ8", + "pubKeyOperator": "0abfde7128087fe355e845eba02d78fdb03f704853de0fca9cb45796d843d5da29c2e725b979294b739cad9f3f848029" + } + }, + { + "type": "Regular", + "proTxHash": "ee8a05a81b4e59f878bfddd405b5f34cb83ccdaa7786cce89b6cf0b8a48b5268", + "collateralHash": "c075ad5e62782f0dd7532052b2c6bf29d31fe36dcadc3ef9696d1ef03df09983", + "collateralIndex": 0, + "collateralAddress": "XcF6BWX1hyPKkpamWFoxVMtH8GxqePppbD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.154.38:9999", + "registeredHeight": 1336027, + "lastPaidHeight": 2128271, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976877, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdhqniHvqTvTzficpYsE4h3XsqqN9UPdpd", + "votingAddress": "Xu8UR1FGLkXisqrdFKy8uQGvk2kpVLBMDq", + "payoutAddress": "XcF6BWX1hyPKkpamWFoxVMtH8GxqePppbD", + "pubKeyOperator": "8a0871ddf98e12c9bc00c50bf1330624a8eb7465adec62aa7a7490eda3d8f6758aaa652ed8bb414a64655393f50d3772" + } + }, + { + "type": "Regular", + "proTxHash": "564ba21355e0b2f4f9f36fe34ad36ceb717f5c8d8ebc61b300cec5de2fefc96a", + "collateralHash": "a5df1d45c5059f2d372a91ad50241e39096a8513410ad535f45d45e0b537a0cd", + "collateralIndex": 0, + "collateralAddress": "XvtdvvmN7btf7FmSoqCeExJFUph4ghrAVD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.236:9999", + "registeredHeight": 1336456, + "lastPaidHeight": 2127212, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114828, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xyhkos2jHjdJXxedWbgVQHJ3Td3Qh6Uk9E", + "votingAddress": "XoLVvvR7hJPVwpkm6S9nGfng1836aoN7Rv", + "payoutAddress": "XcuAw9bfnzMKPeoXQuNSVras268MzNx7eu", + "pubKeyOperator": "16457be150622cc9fc4058faaf96e1207693f05b2498197804355c7c7bb426b9dc5786392d6265f3b406d5567d374227" + } + }, + { + "type": "Regular", + "proTxHash": "501671d663a6df80efca61910a7c78336d62196a2f977d6fbbead86edf422451", + "collateralHash": "46f68443fae4b1a89da3cd99d16a8d0854cd1184c90651b4faef453c04af7b5c", + "collateralIndex": 0, + "collateralAddress": "XrNw3MGDRKfXRxhUJ6PpttA1jjzfJuYp7r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.238:9999", + "registeredHeight": 1336457, + "lastPaidHeight": 2127785, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdrzbjsBSrvzCYdtaWoba6iz15EbPj21rj", + "votingAddress": "XwSMuh6CHSuA48WNyYATKSwvtGHs6ZN4Xg", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "92baba2876e4bc6a6f34356ff5741a5ada3decb3ce973ed265aa419b625a6d3389fdbccd0bf9940d7e9344a9d1a10320" + } + }, + { + "type": "Regular", + "proTxHash": "49f6941da238d6c98fbdec2f6c90b8a067328bf661082b342757ab90bde1c4b2", + "collateralHash": "c4fbfa11058b91a4f5803570d80f165e1966db98005236cc0cd2ee98c4a7a875", + "collateralIndex": 1, + "collateralAddress": "XxtVpyzBDvzNVbc4ttZsLuFPVAdJYX8Ltx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.70:9999", + "registeredHeight": 1336507, + "lastPaidHeight": 2127855, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjXkaY7yyUkSEsaaCcRGmiu5R93oCCmtbo", + "votingAddress": "XjX575an9zeChxiuy6gfDXqUadfHK6vu23", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "95f430a5255c2fdc1127e076104cd4f0684fdf29f1f53591e6f1fd7bd54282d41796bf42061e2fe6f7c6730e43d59a3f" + } + }, + { + "type": "Regular", + "proTxHash": "3af018f4ba7b50a85ef875a71f17432a45a66550e625c6c115af8380f2d4e464", + "collateralHash": "8425bdef0c08369bcdc275c0e3e7f3ec819b0cfaba13f9d36b5ea0fcc84e9ede", + "collateralIndex": 0, + "collateralAddress": "Xoa3gD9VU36x4vL39BPL3QVpK9GabddcVF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.46:9999", + "registeredHeight": 1336516, + "lastPaidHeight": 2127863, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm4sHxBsYgt6WCdm93RNHy7oTLoGAomUVJ", + "votingAddress": "XmYaFtmPS5ky4pe67pGWYxiU74g8ypcWtv", + "payoutAddress": "XcnNH4vFRMKz1fQjKbzAXxhombDecweW6K", + "pubKeyOperator": "14cd3c7a237cb46694ce76cc8b9981b6737451845a0feeb3f4ccf572e9b908d4a9d38ba1e4691315785b93ed2f5ba33d" + } + }, + { + "type": "Regular", + "proTxHash": "4cfdf66b18f01406d50feba7c0ff8a8238cb7e0f449f1b8d493f19d8d67d600b", + "collateralHash": "e96ca3550362d485fc5944b41b40762813720c718e644a1b97ed41860c296dca", + "collateralIndex": 0, + "collateralAddress": "Xt5JaBWUutw3LXMXoFY8YvqhNzPnb4rWFq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.77:9999", + "registeredHeight": 1336516, + "lastPaidHeight": 2127862, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyC5JyjjGRrYki3NYmgNJuQnV7jvxiChGW", + "votingAddress": "XjycUxJ2sBnezQrmYvHScwM764iG1fAEwe", + "payoutAddress": "Xcn8HeDh4iQD6Ywpnkf85U7jCSrCriLLUs", + "pubKeyOperator": "016df3e0cd6196def78d6a524acb4350cae9496ed0ec9aa119c24dc1c5d6d2cfbc223c7fe51316895370650b4f8b98a7" + } + }, + { + "type": "Regular", + "proTxHash": "82dd94ee3b53282949a952a5894038bc057e883cd8b4e1c054cc2b10548d3fa1", + "collateralHash": "53799bd338042337a879c041f51e7864d9edc3c2967e45a9c738175aef3f8996", + "collateralIndex": 1, + "collateralAddress": "XxCtS7ApcerNFhDQfrWk92gEmGa1fUgwkg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.140:9999", + "registeredHeight": 1336516, + "lastPaidHeight": 2127864, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs98FHoRJygHsr2A5VspGENuJLwSntWMeg", + "votingAddress": "Xcwuo87QbUQQL7HD8PvprB1iRiSdUaawyp", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "9650065c969636f1f2f6bb45f09d31d8adb574883480a9e0e6f7ce58090d9655265ace70271714ff9639a251d79978d7" + } + }, + { + "type": "Regular", + "proTxHash": "4c45936d429df01c2b19b0442a3ed32ca7dc158c2b8182e70b421f26d22023d0", + "collateralHash": "2569159a800130ad4ec7b8023b64aa626052e825a83b3dfb7a840582a3d1435c", + "collateralIndex": 0, + "collateralAddress": "Xi5jtUCdiB9qdoTzJwqn7xce149duWgaJs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.18:9999", + "registeredHeight": 1336516, + "lastPaidHeight": 2127867, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwYv98qUMTT9fKwKMsHEjcYv1HhzJN5b55", + "votingAddress": "Xqf8JKvR3qXvZaPTKHTCCdbgNWt7hQw2cH", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "16ec8fab6eeb3b4f2dffd2346d1881764a1e5f8e9f390360891eba63872d84dc8d7ac0ba41006ec618fa6e1246194cda" + } + }, + { + "type": "Regular", + "proTxHash": "2234e17cf807531a368a012d35b0c23d5cb1d3cd90febf5b4b0b0760afa26ee0", + "collateralHash": "bb93fa5ce1555c5dfe53b3b33cf96604569413e28356c98044c144f87548c47f", + "collateralIndex": 0, + "collateralAddress": "XwjwDq7VNuDJA5UuAVCE2NDtD3qyJ5Cj3z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.12:9999", + "registeredHeight": 1336531, + "lastPaidHeight": 2127881, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XucTEerj9DxMBsKo2iAJquFZDTQFVCUJVY", + "votingAddress": "XfHbAgsrGFzP5LoH9NVFJw8WaBSFiDNffm", + "payoutAddress": "XcJLntmfzSPRJNWKXwnxrMQVqNNxSMbEAr", + "pubKeyOperator": "807946b5f660f13521902feca7674c106eed33b89c3cf8dcf4368fc3608b0e93e031eda074ce47218b400107a1016abc" + } + }, + { + "type": "Regular", + "proTxHash": "be581acd801a3f2171330b4f81dc87da7c36d64b51c48c911729b4217e9b164e", + "collateralHash": "e3e1294b2e85d493d078717f13856f7a61f1c67b6d26699569974f1ee670c705", + "collateralIndex": 0, + "collateralAddress": "Xto7e4b7nkDA2UnVydMahtqCDoZNPc6xHf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.138:9999", + "registeredHeight": 1336537, + "lastPaidHeight": 2127883, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd1c6jYb1Kj8KPFYEdtfhrJi2xcLgs4Qq3", + "votingAddress": "XxV2zQ6Q3DTKPqRWeVp7J1gvdCVVFTct1F", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "8eece77e56e89f541da75590ca674ef41195678a5c024071fb07d190fd6b1461d91f538a45bfc4e1b049f44e1feeeb97" + } + }, + { + "type": "Regular", + "proTxHash": "d8c4278aaa184943a664e86f24a9564c014d5342ce0fdb19d5753c1e5cdda8b1", + "collateralHash": "edeef5cfbea654f1b6a9ef2d86a511f0f548f27c461a7a5b998c484b9a7eb49b", + "collateralIndex": 1, + "collateralAddress": "XgbzZpnzZzd4n82JGGH1UPwbeXSP4V8wcD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.65:9999", + "registeredHeight": 1336903, + "lastPaidHeight": 2127988, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvfXdLmECNgRbdZPWg9jn4tUE5FpGDmrcf", + "votingAddress": "Xim8GjxGF6fg485TNEPad599NeSwKPVVxt", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "8ead062a742da3d2322a6a3ed20be25ecbb32545787eacdefb8e6502c95a911df13ac8399fe3ef0090cafdaa76af1129" + } + }, + { + "type": "Regular", + "proTxHash": "288cbb59fac5fbfc35f94baa17ddf5f0bb39479297aaa404f2672f9e1d9d0ee3", + "collateralHash": "162ce72d00b971f55c3e2a183f7fdf7ce6dd6eca8caaf429c3a344c6dcf78f43", + "collateralIndex": 1, + "collateralAddress": "XeTegjw3D6sEnQVmHwMsreh2tsY6xGjWqe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.188.42:9999", + "registeredHeight": 1337820, + "lastPaidHeight": 2128857, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqCwqrLWsKayB9tYgREApMsVr5UTFkbeEM", + "votingAddress": "Xq76ahv6By5Vb2XpNcLiitiVZSEi7rwVzq", + "payoutAddress": "Xy6GQTvgx1sRpC6Hr31eegtaYUXq9KdM34", + "pubKeyOperator": "98f02e4f6b1ccd8cbcc4b353505749516982782d5ba456cf99992b5e030947700d8cb1f33e91d3e79716b7f6fba5180f" + } + }, + { + "type": "Regular", + "proTxHash": "759d6d87b3ba0b6b3861cda54fd9936bba92a459d7f373b40c8078567e5c9211", + "collateralHash": "8247a70f77593be84c5f59fa3e11c0f7b38bd4095d4ea25ac65713ecf2553800", + "collateralIndex": 1, + "collateralAddress": "XjMJ7G99DbgLSqB5qWDkUzGGd3xxvkhJGX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.218.79:9999", + "registeredHeight": 1337864, + "lastPaidHeight": 2128873, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuXaMLrV9sfuCEE3qXtkp1NiYEvLHpsUPA", + "votingAddress": "XmiNF8Gjn5LssVzywYRwsVZdWH9UB27E2N", + "payoutAddress": "Xy6GQTvgx1sRpC6Hr31eegtaYUXq9KdM34", + "pubKeyOperator": "1937ca0b1babc0240cbde3895b7375df6d4b4b782d6fbe50c1f85dd00342c851a6a8134d211045283c12ec0e842a01d0" + } + }, + { + "type": "Regular", + "proTxHash": "714c5ac7dba9854f7a59b7a2619bc498269f9a1884832a245d69a5ca4dc9ebd7", + "collateralHash": "6d70818383fdcd20469cdfa871a351a426405cd353b4b39c2b35f0e6a5fbea98", + "collateralIndex": 0, + "collateralAddress": "XrxMTX6KKnknjSCjeu9EJFuunPiNAdHe8f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.45.235:9999", + "registeredHeight": 1339665, + "lastPaidHeight": 2126630, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xst1HdQgtfe2n9i5ZQkEsFXYMBSFarjWmk", + "votingAddress": "Xaqos2Ec2U3WA6MSYyRnVdHh4pjVjKumrt", + "payoutAddress": "XfotYFum221u6ZC1yU7MGH6hrao6VyNY8k", + "pubKeyOperator": "919fd573b70f6912ca41230ade0e73b15bd52b00fea4e24318ba5e032bcb2bb07442bb2a3db5aa1a56f9ca5bdb7797e0" + } + }, + { + "type": "Regular", + "proTxHash": "210d4d8e65482e2ad24ca5b61836ce37cd08158b7fe593bac42a0a065b0f3d91", + "collateralHash": "1c3937239554b72c033d8b7605feef429b04f8244af7f8efb41a083bd600397f", + "collateralIndex": 0, + "collateralAddress": "XyTGdwkfRMFMSFVwF19AFc8a3koWAgzFXR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.17:9999", + "registeredHeight": 1340825, + "lastPaidHeight": 2127378, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbCnoPRkowLxRzP7D2UKBpTVCCC1J7yMCK", + "votingAddress": "XoAtmvHzeAmzoKyBtmMPJRCvjq9wWvAS42", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "8c9e590379dbe1b1a16fc19348179df85f7f828e3f1902271cb0ce89d1bb4ca32cab62dcb69be6bc328c09aeee4ff5fb" + } + }, + { + "type": "Regular", + "proTxHash": "d19f501c73b293d7a3b9692c5b9d6e43f118e6dca65e51da5a56d5ca6ccab18b", + "collateralHash": "02b7de14fc33315a96259c0fa8e0f92e01d78b4bee96b8acba45b3da09124e0d", + "collateralIndex": 0, + "collateralAddress": "XiJx4JR7bnGKhc6Zrr5c7eAPHhXd4X8cet", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.11:9999", + "registeredHeight": 1340987, + "lastPaidHeight": 2127474, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbhmL6QvTrWVzrd7MAAubUrk19dE4ZcPZx", + "votingAddress": "XjUxFVooBCNbq3CCrWSpu5c8WUMZpJYnZK", + "payoutAddress": "XcgAMaQahByZvfcKLU4T37gVy2nwuQpwLE", + "pubKeyOperator": "8ee1fcc181f3eaf1001438772d16eed138597b7db4d06fad5ad834fc4e6400bdb59269cb265b815ab9f6cdb7fc059b72" + } + }, + { + "type": "Regular", + "proTxHash": "f24be83d95f464131b03f298f78b123fef411ffe8224a768474fde3833cd0bcc", + "collateralHash": "a926b7266629b031179f80628236d30b3aead57993af2be9b170f90fe3f94236", + "collateralIndex": 1, + "collateralAddress": "XsA2VQhkfJS59YNJNa3QfE4kdyXBrvPQtr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.147:9999", + "registeredHeight": 1343567, + "lastPaidHeight": 2126689, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1458690, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqGgasbtUCUif1KvkBaJKwtvoJgr42jxyo", + "votingAddress": "XsQVtSahGqnvio8Mmyq3JK25DYYRmnCG76", + "payoutAddress": "Xd5nR4T2TG7Nz6RzZbP1HT6Qm4Hv8cW2aK", + "pubKeyOperator": "05d0d21b347b8350a6d9dda539790ea91dd128dc8cbe2b45af51c023b4e7d8b8e31b9f06028fcd98a1451831015d0b29" + } + }, + { + "type": "Regular", + "proTxHash": "d498f69500403492801370ac597b8a07a545c21431840e5d4feb064c964c3e5b", + "collateralHash": "e6cd39ecbc592582342564a180700c63d71d319d68acaec43c0e014c423250b9", + "collateralIndex": 0, + "collateralAddress": "XpEG1NpGhE7AdHE5r2J7dkR4iip9QzxKLD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344422, + "lastPaidHeight": 1721543, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1704989, + "PoSeBanHeight": 1724507, + "revocationReason": 0, + "ownerAddress": "XxpzqbD9GSQEafMkq1bB4edjv23esPWgpy", + "votingAddress": "XpuAwgDEhCjXzhjPzjbZaysF5AoMTEcp5T", + "payoutAddress": "XqzkPEiB3TjgKpRNdy4ZwtybWgVKBSpmzh", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3c48e3c0a779acfd79838101a46891d4ce2f37a63614c7423a081d48d3a8f9ec", + "collateralHash": "52115ff766d1b5acd1f9fe28e48f618974ae0c7aa72aad60e68d7a102f90c920", + "collateralIndex": 1, + "collateralAddress": "Xp2Vz9du4nWvYiAqgFE8FZwGD4j1hbxykZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344422, + "lastPaidHeight": 1723619, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725430, + "revocationReason": 0, + "ownerAddress": "XdWBizTH44jttPFrfNpTaC8TA2gGtmnbqL", + "votingAddress": "Xq1zcfW4qsBARsi6u8C8Dapcg8a35y32Vt", + "payoutAddress": "XqRL9zh5oAuBy8vd6oyJwxQBpMWzHxCDZ7", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "477132f960748ead83bb0240c37994c989c7fb9bc9ee96d596faed4c8ba37ecf", + "collateralHash": "645dbb646f510af25c3b8c8cb3d6331486d93d07401c2f7a7a966ec565665cec", + "collateralIndex": 1, + "collateralAddress": "XxZagqetBiSgtQuAwZHrndAbkewSPycGh5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344423, + "lastPaidHeight": 1724890, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": 1345704, + "PoSeBanHeight": 1726006, + "revocationReason": 0, + "ownerAddress": "XhE37r3g9mFJFYaxLvN9dHHqYbs1yVoeaA", + "votingAddress": "Xff5mqMY76Nng5afm41hxP3s37jQMtMgzF", + "payoutAddress": "XvQCAs9m9ieaw2nHvXQd3Yv2Pyf36tbAkp", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7c659eaa9c7387000b92f00b012ea26561c57bf8f7504f9b17cf3e914f7a4f06", + "collateralHash": "807b5c0520487bb0f6be0d4670a592c8b151843b60b30134dec5eb7e9d90aff0", + "collateralIndex": 1, + "collateralAddress": "XjVWJXodTEJ6AjjDi3VG8MvrDAaSLf3GUG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344426, + "lastPaidHeight": 1723624, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724483, + "revocationReason": 0, + "ownerAddress": "XkyAfWisJXF88dEqShBzEfows7kYQ7DfRY", + "votingAddress": "Xbjzi7k2kmS4GG1XWg7p8hMycLCZn3ZFW7", + "payoutAddress": "XqwWEGdiy7rgWSh5ENHSnMnB7yd5hhdfMd", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1a4ab20526835c7ed50a3702dec2b926dc8433c6494185f11b655eb1d723846b", + "collateralHash": "cae001b64425b7097d6a7a22d29e5ceab13b0bc8537ebaf02c5cc46830c568ac", + "collateralIndex": 0, + "collateralAddress": "XvQg1Djd1tvgYou53nBew94GKpvcCp99s5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344427, + "lastPaidHeight": 1723635, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725996, + "revocationReason": 0, + "ownerAddress": "XnYN4vFMouEKefSPAmFV6wSNCiBCM7tebz", + "votingAddress": "XyNBxGrrdu3VUwZYbGfZWQWh8MF4QDyYjw", + "payoutAddress": "XyDPGzuYgtipSLYpfjaZKLBpSeJoo9YrTY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "38f12ea083173de466003836d431592f62624f509cd50f2b5970b6efb6eb540b", + "collateralHash": "8b2e7a25dd0e299254cf29f13b8360a1f598654adab74bdc4deda9defbc45027", + "collateralIndex": 0, + "collateralAddress": "XbUZry4opcS6SMz7jAR4usjcBLm7ebG3nZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344427, + "lastPaidHeight": 1723634, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726523, + "revocationReason": 0, + "ownerAddress": "XwKrmXgUjvx44xW1kb6QfBViLu4HNzdG6o", + "votingAddress": "Xt6rV2gXu2MTT2uvHWp2GgbNfYpHcm9PMS", + "payoutAddress": "XoCnAN43cG8ELPmsvb6uXTTJHXHZiL9pTj", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "4ee21eb400f37418afa2c24f802435bf6acfbf3e14ff156e1d56e59906d34a35", + "collateralHash": "886020e1af9c1eaf38d6ee90895ff81a0bb649c24b3022fe1c34eb1856fd8e06", + "collateralIndex": 0, + "collateralAddress": "XpBA31TAGCGfxSvE4RE9CFqG4iTBKZTofX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344429, + "lastPaidHeight": 1727651, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727724, + "revocationReason": 0, + "ownerAddress": "XeMXSSY9Fep3ngsMpmCwnosvmYN4dfBEg3", + "votingAddress": "XboVRsNas2AN22V6M5gnnNWyX6QLcuACdf", + "payoutAddress": "Xk1UC73z2o8iMjkA4dhWZdcJcAJ2SX8Fip", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "37ff1b92f5e4eed9bc6d7ea2d8a69f27ba2563895a760e49f829285b8fafe3f6", + "collateralHash": "5b9eefe25e427e9e27ebef91112d58ef889a7dcc3aeb7d9e3358ef5650621e23", + "collateralIndex": 0, + "collateralAddress": "XjVevz1xFy3p9QkTH4DPxDUjSA8pHFgbBD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344429, + "lastPaidHeight": 1723640, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724363, + "revocationReason": 0, + "ownerAddress": "XeEZE6LamxhfCE8TpxSH295an1633juotC", + "votingAddress": "Xkj9UFXbC45idk9SMnM2WRFYpWxZFDLYvU", + "payoutAddress": "XvK6WuBdbEbFvR7dsghj4F8qJpmrarbdQg", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e44a28487ffebfec86d80ddd2c9ac18075fb29f6a320b6f476dfc6926e55acd6", + "collateralHash": "ab0046e744c83f8d65a945ebd07530d86fe55e08b8e4bcb670d149020763283a", + "collateralIndex": 1, + "collateralAddress": "XoNLkAxt9Ny1eKEuYw8FSwHa57HhsEedik", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344429, + "lastPaidHeight": 1723639, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724891, + "revocationReason": 0, + "ownerAddress": "XiJMxHNS5jxMbZqw3EBf2cT1bix7jDiz45", + "votingAddress": "XtUB2ufZvtiVdaUWhqToYqR8TDkeCdRAES", + "payoutAddress": "XnLGd9MK6JgKeSBtomKhB1zNmXKMe5t1g3", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "dd808e7132541ccb4be79ea0512b87512cf4b3d6c3aceadc1dc22cae755306a2", + "collateralHash": "cbc551611b3c65ea2bb1914ff0fdde08823873a0f1db2b13830479333185e10b", + "collateralIndex": 0, + "collateralAddress": "XnG5pDDeDErm5oCz595qQySkGW2GFhedeL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344433, + "lastPaidHeight": 1723646, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726427, + "revocationReason": 0, + "ownerAddress": "XxHwNnoRnvjVKuW8LfvbxcTQq4N1HxZNbR", + "votingAddress": "XgVQU574kD6D6Ko2XzSwtjKo8c3RKqxqQ3", + "payoutAddress": "XddVjTrgi4vm7Fn1MH6N1zrAFX72Tn6mX7", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "dbb85439dd84b6addf91435d6777174e9601b1dd7a78b83f31106d57441d004a", + "collateralHash": "a58e2d5f993574f32c7e6d807094bf35c6c14fb0755609b6697063d5c56f0818", + "collateralIndex": 0, + "collateralAddress": "Xt3LDqigPED5PoVJQcLwXeTDoZf7LvjNyu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344433, + "lastPaidHeight": 1723644, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "XxuQ6jZJagDEJnAahUDUvboucprxAbgmyb", + "votingAddress": "XiAPAnGmYjSqWai9i2zWC823FHSFVyjLZw", + "payoutAddress": "XtnRc3UbZWjTsagahEEqLuLWd4M7XRfTvX", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6f3df37e54d165467a3c1d72f00b785706ba539babadc03616bfbc209a99973d", + "collateralHash": "ab7b4183cd8b257bb234743696fafb8eb29b59e49369622f6d8ef37da26d1b11", + "collateralIndex": 0, + "collateralAddress": "XrMQSgWbe5mMAeydeBP3mV1eVg1c7ovChS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344433, + "lastPaidHeight": 1723643, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726187, + "revocationReason": 0, + "ownerAddress": "XyXwMiNbJ5E645oeM87pHYszs2ujKQestY", + "votingAddress": "XcRiMZ5dBfnxLvHWry71rPVCcguDKmT94w", + "payoutAddress": "XwdvL6UBWDSWixgdPvwgAjhHJ4SdPstriA", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "4b65094c0d2201424fc382bbc52976285ea71c0fe359e5bbbe7c7e00139889a3", + "collateralHash": "5d005ca2adb7b5525c98421e9a641f63098117540b0948898cc19a242e08400a", + "collateralIndex": 0, + "collateralAddress": "XcvLqKhWr5FewpGypcoYoNBiQ4ZVCmJ6Re", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344433, + "lastPaidHeight": 1723649, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727027, + "revocationReason": 0, + "ownerAddress": "XnxhDyYFQCJfDHzBwJuo6fKSTk1qbkypVS", + "votingAddress": "XcXxhg6YftrdpAKhbD23c99J946KmxZRDT", + "payoutAddress": "XctVkYDhuUqYeY6W7QHquSfn5KEc5GTprN", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9a57b157f6ff1c74cfccc27f51fd23d208954e71a9f8b50bb777fc43c5546087", + "collateralHash": "c22934fda52428d2db626a521e3ed05ee81cc3d2114b54ffacca700150bd30de", + "collateralIndex": 1, + "collateralAddress": "Xq3eQGQpQTgaiXm1krgkGQ82jP7exNy1AE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344433, + "lastPaidHeight": 1723645, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XnUhaBSyBezerCoJXQT6e8so2EdNbkHCxH", + "votingAddress": "Xs6FqhYTkFCmQT2MkEUTPaYXiZtHvCvNvW", + "payoutAddress": "XefASnnaMcNuX8GyVmK4uoKzndLVh6CwtY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a5c389e4a02922afcafd7f9a159845ac2d21183d2baaf05320ab516ad6bb27da", + "collateralHash": "d3ccfac75bbbbeaa316ee57149d0af09cd1a6cf404df2840310780013a7e4d01", + "collateralIndex": 0, + "collateralAddress": "Xx3tWkugzSwjse4UTTHZd7h9ZBcwNU99Bg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344434, + "lastPaidHeight": 1723651, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725587, + "revocationReason": 0, + "ownerAddress": "XqMSSwMbhotnHbKnmPHTQZFU9fxACvyWuu", + "votingAddress": "XgchatP2npBZbFzmmoJxusyUUd2zqdW46P", + "payoutAddress": "XxMZvrWhvjf6tnGn311x9HgzMk5y8qvxhX", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e8c995c8d64fd3b830e41e18743949e16c7f46f8ddfd63f7ad76d46c90c8fe2e", + "collateralHash": "79dc22e3e18f2717b6ff01e84cc4bc18f7887ceea8a6708b370ea841f215f7d6", + "collateralIndex": 0, + "collateralAddress": "Xk39ZYW6vUPtnqvXtRNeXWC8nbj3WhH8mB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344437, + "lastPaidHeight": 1724589, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1355004, + "PoSeBanHeight": 1725900, + "revocationReason": 0, + "ownerAddress": "XsJQ7gmyZ6jAiW18ZE3rupojSviHDNb2Ta", + "votingAddress": "XsDHoZZi1QyJt2h84tBytWhEVWBM1ce9va", + "payoutAddress": "XgAApVcdCovivRvh9dUK4n18dcz7CmrKtA", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a2be67e65e3ed552ed9663700fdc78c1bb5465a0149907e5e715976199829885", + "collateralHash": "8634de646b6c431adf579455d505115ff740b7d42388e22272efe26363eb5c31", + "collateralIndex": 1, + "collateralAddress": "Xdc1LFscgFogrocQbjaxcbNbAc9bYHBpTN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344437, + "lastPaidHeight": 1721446, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1611582, + "PoSeBanHeight": 1724795, + "revocationReason": 0, + "ownerAddress": "XeBAw3QXWEGPJZo7mms2aoi5JUidPRYeaX", + "votingAddress": "XchFhJVendXU9Knr2MdQhEKPiWv67gWftH", + "payoutAddress": "XnCGLfjVW28Dw4NRreiXisG11Y8oxhjK77", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "09b683980f03d1297cfbd39b141c44c4011b639aac8979f0e5ad02475e00814c", + "collateralHash": "3abc15991e0c32179da7db819f075fde11f10044196e2d930c46f6fdefad0446", + "collateralIndex": 0, + "collateralAddress": "XfEBw3FGwG47ZjUEaSkFAH1T7K8RWMYpJH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344438, + "lastPaidHeight": 1723653, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724844, + "revocationReason": 0, + "ownerAddress": "Xh2nZUL1LX8q9jGcfWa1APq32j8gFfhHPZ", + "votingAddress": "XdwQwusizHofVTgTJ7FUypjndALpKRWDju", + "payoutAddress": "XopYcqXMFhMqFSjGpQJQtWJSQa1jPhzT8f", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "dd17fce5ebd89fd8c1ef33cb8ed0b9122911b8faab9a4757802b7fa442ac45c9", + "collateralHash": "0a78660bb213e96b46653d3a3abf8b95225e435a12dda6daa562f08e6658ae6d", + "collateralIndex": 1, + "collateralAddress": "XjQXa4SERiZbounSeYF2LsDUDGm2uUF1GD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344439, + "lastPaidHeight": 1723655, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725924, + "revocationReason": 0, + "ownerAddress": "XtuHXoLJLdfRKAnqaeTdtEHvzKrL9SsZie", + "votingAddress": "XoYSNziLcav3kzo67ALwQfZqAj7U83RKxG", + "payoutAddress": "XcCTBwDnUUsu1PUA6GWQzh1kBGQc3Mw4sv", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e80873b331ab5dbf70bdbe853e85b848bad44531b834d4671ed2562a122b4454", + "collateralHash": "fc49924ea494c0f5e86a5eb058ecab29c63741295782ac6210243439c82f5c6e", + "collateralIndex": 1, + "collateralAddress": "Xtq69uaNhYskf86jkN9SE95EpjjYhYYNcY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344440, + "lastPaidHeight": 1723660, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XqrRus6tny2wgCF6vqEUGjUCoMn59aJRri", + "votingAddress": "XdeEe5AKXoNJ6iHcyNsy4QtBFZrruQVWZY", + "payoutAddress": "Xik3YUDGccNSFsBVDFemDdMr2qsCWDLpkz", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "17a0b98865cf4fe8c3f45092c40b3d98bfe24b8ec737e9357685c88990fbaf64", + "collateralHash": "6bd54b1e1635aacc69e24505636af1972ff182891d38d88f40168fd9e33f576f", + "collateralIndex": 1, + "collateralAddress": "XiEnPsh23NLArHsJD1zJkkMDFXnJ88diex", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344440, + "lastPaidHeight": 1723661, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725083, + "revocationReason": 0, + "ownerAddress": "XqcG32PRGGS6AiLeqh8nhEXDRifGivq5fw", + "votingAddress": "XfKEGEcdmBdmKJ6wDc2q5Cp9pXj7REJPqt", + "payoutAddress": "Xu9bHyBHkcoThbSTsZtk1YsegnrDekRxaK", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9efce3e890f32b403da7cec3b7bcc28167767ed3ea7b3e097bd51e65d0100062", + "collateralHash": "b38a1256a30573d1539da90b54b11f24c4c9feea74f43160cbd58cffc50dfeb0", + "collateralIndex": 1, + "collateralAddress": "XmXKdV8NytMfPaeEpMXxANyfuKFp8Rw97L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344442, + "lastPaidHeight": 1727670, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1728021, + "revocationReason": 0, + "ownerAddress": "Xc1jzKGAGToNk6Ph45CNqsU4weGAUQrHn3", + "votingAddress": "XncpokLHB7aNjuVRn6aNNXsoZ7QoqxU7Bw", + "payoutAddress": "XbcpriXJLE8xCsJ1V9pcTh8K53qccP8FEy", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "245bb59be308f21041b99e95d05fbb99435367b37670b2a6c66d891115a5c1df", + "collateralHash": "e83f1fc6067d1b67c7f1ca95944e70d2efa3e96a3d2a46e2bf28eb440bb05564", + "collateralIndex": 1, + "collateralAddress": "XkZZYygpcMMgzyXv5k8rzyptgfZhZtPn4h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344442, + "lastPaidHeight": 1723669, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725420, + "revocationReason": 0, + "ownerAddress": "XyDfy78Bvvth7RL8u8fUoLpPSphsxSs2Bi", + "votingAddress": "Xoi7xvtG8Y6cCSEVMBEuXE5rtnhvomxzfX", + "payoutAddress": "Xny4thCdDFbw6TuNjDVBbpUGjQw5xkupvr", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0e99dc5245738f9473b0c299e317f41952df9897c0b3ed362d5ba442d5228b5a", + "collateralHash": "1acd9d340be809e5552df6c7e5356f11ef8e50f6ca1c48a98dfb277e5c3f2ecf", + "collateralIndex": 0, + "collateralAddress": "XpYVmFY68pRFDskoXq8RZpdGRNQqYcAdMD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1344442, + "lastPaidHeight": 1724374, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1610380, + "PoSeBanHeight": 1724724, + "revocationReason": 0, + "ownerAddress": "XwPneGkoDxp5nDCdtUa3pMcQiETqsbNT8s", + "votingAddress": "Xuxv8XyGCVE8YfitXDin9soea1fvgjGotn", + "payoutAddress": "XsUiWi1WP1bpiQYnp8DQmqhPth5q5fnFs6", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "779df702412051a5bf1ff286f08d4f71a6ff409db3675f30c8b95b5686bad705", + "collateralHash": "9664b42925d30588138dc8ed9e19aa5f8ee35433e9c5e5d1416056252914719b", + "collateralIndex": 0, + "collateralAddress": "XxG5TU7Zk7m31ceW62U3zC6FUYew8sXqhD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.16:9999", + "registeredHeight": 1344941, + "lastPaidHeight": 2126621, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1665761, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg23DzMNKqdBMS5VS1pyBQMecaAheDUCzJ", + "votingAddress": "Xotp2AqwRKpU5Fq3rNsSure15AXjZYtjjb", + "payoutAddress": "Xq3GZjiQxoj1SD6HRBmfJoN19GCtabYnP5", + "pubKeyOperator": "04aba2dcaaa958481633411ff00b99ac7dc38441a539eb4f140aedc4f6b0c804e6c177a8df508025d457e05355eec1a1" + } + }, + { + "type": "Regular", + "proTxHash": "bddae505c27df1e03cea9691048d2ea6d59443df9bc876121b051ce799d0222f", + "collateralHash": "4ba6fcbf557dcaa7c12720143555c61eb6a55e205d5484526d5f2ecdf3de75d8", + "collateralIndex": 0, + "collateralAddress": "XxmoMzi9tTwyBC8HLoEYRSJ1znc9Z6WbNc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.0:9999", + "registeredHeight": 1345301, + "lastPaidHeight": 2127081, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkbzYYdSN4bNU3jMLMdLgz8SxxtkpCaEmv", + "votingAddress": "XoMtzs8hVKDYHKWR1sFy43MBuaUJbbtrrK", + "payoutAddress": "XcFLaufF75pyRbAZxgT7A1Vu7GG1qhzDvK", + "pubKeyOperator": "8f88c1b4f3d8f658e66aa6cd78e6b422ffd67833c14ca3e9404d66f38d9c2d588c34d799465d47f50c30b7fe06302e6c" + } + }, + { + "type": "Regular", + "proTxHash": "2696211c9280843c2a6b13d60ab9553a235b6f6fc448abe5bb9c826a166974b8", + "collateralHash": "dd66b4d8911a271cd78a234401ab11fbf8949fd442912b05399cfa9ce729c440", + "collateralIndex": 0, + "collateralAddress": "Xvzmv6en7XY2VeFbJixvurvkxK711Hhtst", + "operatorReward": 0, + "state": { + "version": 1, + "service": "199.247.3.79:9999", + "registeredHeight": 1346202, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 5107, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1349877, + "revocationReason": 0, + "ownerAddress": "XvwrnzVBqPYYZs4jkiJynWEeBWJs1AfZnD", + "votingAddress": "XfsFTJWJ7RPR5ueCYXc6x4YtXow3KZcLGm", + "payoutAddress": "XfztQtn9GwpG6yySTcTFWvw2RqyZTtmFdT", + "pubKeyOperator": "89d6676d3216dcb7c2c182bf6d2b084fea7c65f127c3ede775e470c57162c339f17638f9188ddde661b66de84720fc68" + } + }, + { + "type": "Regular", + "proTxHash": "c38d243b24d6677535a5c2ef1ee86478b28c340018f213a19a87cca0f58e0206", + "collateralHash": "e07daf6a2359cc6917b9a7dbc11faf5e79447ad1018276cef291a3d491ab6ece", + "collateralIndex": 0, + "collateralAddress": "XsRYnzbrtr6VLZmJjH8JoqfwQwuDbi17qK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346613, + "lastPaidHeight": 1725526, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725779, + "revocationReason": 0, + "ownerAddress": "XfovgTRXghxKyyqizY3qPpYK1UfKvwbpAt", + "votingAddress": "XdNtcPiZHwmzWc85six1hbeBy5uUFKj8gm", + "payoutAddress": "XjRZ1yzXtrHamx98iKTkLZre2JWF7fQBto", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ca62c6f37ed35a07b19940dc85f204d6cdb71b872d72c4c79d523a0cc822e19f", + "collateralHash": "8dd5bca1dcefc4bfb9fa2f38309ce77e4de98b18788b59ed88e0121e46e95085", + "collateralIndex": 0, + "collateralAddress": "XwwgXFLLQZD9RQZkxzhWRhxFs8ax86kuB7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346615, + "lastPaidHeight": 1721411, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725348, + "revocationReason": 0, + "ownerAddress": "Xj933TsPtbUX4zzdUHmTM3pHziyjR9WkPF", + "votingAddress": "XyLi6auA1HsrwKM4xeY9QQ57geFPR97sB9", + "payoutAddress": "XsXQ8iYeftSuPZUMfMzTEj2J6EuvasYSZL", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1d5b90ce411206f3b0594d09648277ffa259bf7afbe01af8d23fdcc25a513922", + "collateralHash": "e4f37884c9663dcfddece66fffbba4c9c14e0688832f5a796aa6ecbf0de23943", + "collateralIndex": 1, + "collateralAddress": "XrJZJYAQ8pRAwwsuaf6Svw3BgrjU3DE3A2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346615, + "lastPaidHeight": 1725527, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726115, + "revocationReason": 0, + "ownerAddress": "XiPDs5ea9awy4Fpu6L8bRsgmr7u7ycCiA3", + "votingAddress": "Xfr3yFFCVirFYQzSXTkee4u16an9qcakf5", + "payoutAddress": "Xt5cyaWANSVMui7cTDQMuKjNYQYSUVy6oU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "175a322f42c9453ce505ed0eb233addacd7f8e3c7e5e56d7274367f035f585f9", + "collateralHash": "9aa117cad26cd2c34072c9b07f614d9a687d4d227d208f1389fbb1662ac8e269", + "collateralIndex": 1, + "collateralAddress": "Xjaqj9n89LYfR5jfVHCdtks3wiFNLET5KV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346615, + "lastPaidHeight": 1721412, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725323, + "revocationReason": 0, + "ownerAddress": "XgWtbvTZMuQX6iV3tB3LSicXx4VyytWFcp", + "votingAddress": "Xeu46FECyeVSEVGkzPFA1FpmLdw351svJT", + "payoutAddress": "XbjVznWLy7w5Gw6kbXDpCfTvqB3vhLkQKD", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ed620557f90b94304542ce7f7334134da2e9dbd338938da2b667b2e1a88971bd", + "collateralHash": "cf9ab66313253be3014140baac21b3aa2d4a3ca7451f82e98f4dcecb17a43087", + "collateralIndex": 0, + "collateralAddress": "XeAMLYe5NhUFJF4zpRfodUyzt8DnJwXrF9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346616, + "lastPaidHeight": 1721418, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XwtiSA79gzYdGwwDsfArkL4D7a3yQhfL56", + "votingAddress": "XjGwqzEPBW2odp2HdEMv3R6XtECqwNvJhr", + "payoutAddress": "XvzCvT8gR18ScznHbUcvQPhX9vL1FPtCdy", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "21fcfcae2578c6aaf258b7d4f70a359a61c3d5c0c90cc5576f6237bf0e14cdf1", + "collateralHash": "4d7b966a7664246e6616d2264ed2407bf2b8fd9f3bf0666b7fa1579bfb57be3f", + "collateralIndex": 0, + "collateralAddress": "Xi5STTdYveTGaqV8MrHz4gVQ6nZnFiBBKY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346616, + "lastPaidHeight": 1723044, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1519186, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "Xgwf79bkiDJaX5MNYbEgTQSn4FEs9SKXPD", + "votingAddress": "XnjVKqxyQhqBnqFoqGKwfVSEQp1X8jFeHn", + "payoutAddress": "Xtj9Pxike64ikraB7FU4hMGqywaxg6StZK", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ead08ed7f98e6544722b6735b9f96ba9d01495cd7030f8175242b1fa314948b8", + "collateralHash": "14cb763ac225e6031e5629aaf0c9bbf36843576b28798336093cdb353e31feb1", + "collateralIndex": 0, + "collateralAddress": "Xu9S5Wpy9Eg7owprZuW5F5ofj2XUmJgAES", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346616, + "lastPaidHeight": 1721413, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725179, + "revocationReason": 0, + "ownerAddress": "XjfB3xgysp6ou7nkdCnecGc68pMbeSy7HL", + "votingAddress": "XtB5H31fGLa6yX4ULTFxrEwqMi5Ku3rJSB", + "payoutAddress": "XxTpLVsqb16VWBk7p7vDYGJ6attKTa7nEU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "693e0371d2ed6c185d773082cf35798409bb415b4addbf6434f2b534f1a7f154", + "collateralHash": "c03b976863bc77f589febaf38342326cb4db1d5d9e0967c84dfb7314bfa6cc66", + "collateralIndex": 1, + "collateralAddress": "XuPwwkBp8XKVUtnrmBHuZibTDWGCzFEn4Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346617, + "lastPaidHeight": 1725534, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725996, + "revocationReason": 0, + "ownerAddress": "Xq2Q4KDumy24vnQNR1ekWGz6EPrWivMswi", + "votingAddress": "Xx6KitxGFdrQboefEdKiVSVXQdkMiPwng5", + "payoutAddress": "XnrKQFb5DBgkAQLHcGBLp9xoBu8tpjsW8z", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ff669357365a7d6f4238be4c9d63c4df5e876783772453bf8f96f66c63a8cabd", + "collateralHash": "5a1506ce80ecfc8b528751d2cb98dcbbf10cfa27efdd09a7af9e9ac626088df8", + "collateralIndex": 0, + "collateralAddress": "XxfjngmEjEBWWTEAcxdz5BMcTiwaVDoza2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346620, + "lastPaidHeight": 1725539, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727446, + "revocationReason": 0, + "ownerAddress": "XutpXxxtCEgcidwa7cuZ9EMK1pYAE7tn6N", + "votingAddress": "XyPq15CyuWDmrtuYkNwjuZ84nn1SYxgsZq", + "payoutAddress": "XfFyfLMZc9cyq6gWJqh7H2bvn8ERde1MA4", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "998179d5ad90498743afcef049d26b18dcf8008b3c9eefc7e1e2c8c471453db7", + "collateralHash": "433fcc6e1e22a3798cc9e0fa316dca16b6318892f1cd5435cd202b84c8260b4d", + "collateralIndex": 0, + "collateralAddress": "XjLA5oqLY8cwi3dNBsb7Zsz8a1TbxkyfMe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346620, + "lastPaidHeight": 1721422, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XmBGeviSW8gG5J8KRTqcVX7ttpk1MjEY67", + "votingAddress": "XjCt3r2ii9BALmBQyxRcXm7HFMyZVVFikN", + "payoutAddress": "XxmG8QJHX2x389MBZZ5AeFMKrzAwsopu4i", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d297539819d521d480dbac87f0e33fdbf11d50f5c287da3609272cd8b1187c9e", + "collateralHash": "900b82863325c8c42f3de06ca4643fdeabe36e177c548e218d137bc718f32b4f", + "collateralIndex": 1, + "collateralAddress": "XhXwFq62TmBNYdbpaYPeWXBavU8rP2Z9iE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346622, + "lastPaidHeight": 1721428, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XtnNQpG2ZdgYCqJiEyGrA6uPRRCwKD8zRg", + "votingAddress": "XhPePrbkCoVFWtJT1RM2rQcKrNmmNjcdrC", + "payoutAddress": "XcssqSEWP1f4HACY5SfXAeCnS5MZ3iwLDx", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1c1da24cd2e078a57b560bc3f2fdc6996b5446880534b401505b8a8d4b1434a2", + "collateralHash": "adcad61339ecf3b5d9b77bfa7c3f3aa1468b6def6b1bdf2ca3807a7719b83923", + "collateralIndex": 1, + "collateralAddress": "XqjNCGcDmrpYV8AWUFxVSD4ZwzWKYSrdhC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346622, + "lastPaidHeight": 1724581, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1632307, + "PoSeBanHeight": 1724853, + "revocationReason": 0, + "ownerAddress": "XtNFgzYpTiDpwhz726k8EvhHh7GGrRrfpR", + "votingAddress": "XmEa9X6PzrEiSFpSNyvakDyqSBKBj6F5pn", + "payoutAddress": "XbAxVsfdW8KvEEaA57iXFvWXB52TCFwgqR", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "05a1a4868a3fc695dd1a7b91f9f3faa31ebec23d19f5210081ce553bbe89598d", + "collateralHash": "86974f6fc5469f17f8f3a510a390da01f1eccc0877b24e149a3f909a8cabce03", + "collateralIndex": 1, + "collateralAddress": "Xeq8hSBfT6eKiH2X1Fg9DWnWpLh22VYKRR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346622, + "lastPaidHeight": 1723307, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": 1665220, + "PoSeBanHeight": 1726006, + "revocationReason": 0, + "ownerAddress": "XtEbs5nk6QdVaqfAWQRrLWcyTY4FAd9Qo7", + "votingAddress": "XyXfMzygH7ghA5c4Q4E7duuKTgAtjfcgk6", + "payoutAddress": "XhYVpv8YGvTpAXMEyPDSLPBMx4hAMQAgXR", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "692d509ed7b8c530d9fd201359ccdf3589e90a401d2c2dd80a6ccb7a74e584a6", + "collateralHash": "6f7f7a930157133dde16d00fb5629669f23b90cd7b205ac2ca76634c4bf92619", + "collateralIndex": 0, + "collateralAddress": "XryYXvAmHoSY1MS5rkvs9VcvSyPkT787SP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346624, + "lastPaidHeight": 1721433, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725179, + "revocationReason": 0, + "ownerAddress": "XqXXynTwnbyoFoxbM3jxna4aMLbGWPVnhD", + "votingAddress": "XcTcWZpESZroBVVyo1WDyAqXSCFKtrGjPi", + "payoutAddress": "XteQgqsPp4L5r9mdDb4Umyc1vhZ9poGAnN", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c2862ee01c21d6d6691e036e7310bf2155a728a69db53fb603d84214d6fe4d39", + "collateralHash": "f24b8fdb4572ee1ad4d941405e078458f1e660e002c67f82c8c2995a9c1935ee", + "collateralIndex": 0, + "collateralAddress": "XguNoRQwbEJ6nRyZcQh1XSw9SaSy5YtsFb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346624, + "lastPaidHeight": 1721432, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725372, + "revocationReason": 0, + "ownerAddress": "XnKQKjVpRXsZwvWFEzsBU6mQ2Bfckhrrxz", + "votingAddress": "XeckJjeH9A34j3uuX3AsVK282R4DoWFFWf", + "payoutAddress": "XxkopKAN86GLKWg7AyNtMf2o4MJQiEDPnm", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "fe6bb234447cc655b3fa11e229b5b7a2d254192f773ea674d140e5d6585de4e0", + "collateralHash": "065a7374c9313a3290b4b5193bb461b953577a697198411a00d5642b1e20322a", + "collateralIndex": 1, + "collateralAddress": "Xuff69k3TpaZBH9MEn6jpv3qhPPcHLqgSV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346624, + "lastPaidHeight": 1721441, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724819, + "revocationReason": 0, + "ownerAddress": "XrtoHD8VUzzyrDs4GP8YkLDFiwnsGSryx3", + "votingAddress": "XkxADgTErJwXfMqrQCWR973BF3fcGQ4xV8", + "payoutAddress": "XrTqd68JwjYgztLqjbdiJbsoqz5nBWNc4A", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "00ee2be1b9118544ea8393ba9dddefc07e3d8c659187d1645356aadefe660280", + "collateralHash": "e0b20f59ed61f6f4c79de0d18ef04dfd047c63bcea20288437fc34d0a867dbd4", + "collateralIndex": 1, + "collateralAddress": "XqBg48vHRosX3A7QbamHYXpYZpjNmWq3t5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346625, + "lastPaidHeight": 1721442, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725083, + "revocationReason": 0, + "ownerAddress": "Xj6pxtnW44DUkRdULwdYPCJtARiVPzcj42", + "votingAddress": "XqoGmHAMqvCxthuAJYLzF1q6ah22CGHLbA", + "payoutAddress": "Xv3kPSaTuQtBrGRtF1iHKBye7jDSHUGD1d", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5200c9f1acbc299e86a3dafefccc0a73eed43ea0ef5327210f34c1125b724cbe", + "collateralHash": "aa3f90b4c811a82324f89417e50cde6c6da73234b532b4cac3ca264d3beeafca", + "collateralIndex": 0, + "collateralAddress": "XhTfdRnNkTLo6UkCxeBPRoJ9v17KBvhSDT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346625, + "lastPaidHeight": 1725550, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725684, + "revocationReason": 0, + "ownerAddress": "XpkJx7guJD5XY9MMpNm9mkC7QEu8LrcnkM", + "votingAddress": "Xj8wFZNBDBr38Q7mpa9irVECG4XP4orzbq", + "payoutAddress": "XuPiikMUSFKQiwNEyj8Wzy29Qey17MX29p", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e25ea9db9c9e7cde5e698368a4024df92cc606832e89aa70deb550b1085aea25", + "collateralHash": "15808176eee09f2d2fb67121d78fa691f7f457dfa3761f135cac7b8a20d5458d", + "collateralIndex": 0, + "collateralAddress": "XjMzPRZB1owjLe5kiTqQRA6pe3hunBeHtb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346627, + "lastPaidHeight": 1722538, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": 1577540, + "PoSeBanHeight": 1725430, + "revocationReason": 0, + "ownerAddress": "XiFxjpvvPZLb4gqtTygLPAVxuGU9VdGFUj", + "votingAddress": "Xx6GHMpx9b93vk4WbtdhfntWXC4E7zn9kT", + "payoutAddress": "XqLZVijtGnaiJBC4SD9aMcwfciMq1Cu2fF", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "db10a2decba8a5b30cfcb7630d5aecd9b3512b8f036d43d6c01e0763f3edc116", + "collateralHash": "7d2de1860fea72a675494aa1fd7065e282ea32901afbccabb2456bd19325179b", + "collateralIndex": 1, + "collateralAddress": "XmhBCc6HYDxDyDNheQYx2FtAgNxdrmgqMX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346627, + "lastPaidHeight": 1720513, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1486310, + "PoSeBanHeight": 1724483, + "revocationReason": 0, + "ownerAddress": "XtDJaKsTWuwfQHhj9UUpm6WS24zmHsFxAQ", + "votingAddress": "XpsTTSqLmav3RWmYR4vFehqR4jU3UduDdR", + "payoutAddress": "XcCa5uCbjaQ74r6fGZXDpuV9AP4c53rUEP", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "35b03320138ad2af76d495a918503a2c86d9cf30558a6e8db4e0fd0124cc18cc", + "collateralHash": "44c82c57e5ad825b81f8e00e5c8396acee18dbf7e40292a3e8740a06f83d2c8e", + "collateralIndex": 0, + "collateralAddress": "XeE6tZYcej4C2cW4PbNCUtWnjsFiThA5b2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346629, + "lastPaidHeight": 1722401, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": 1488223, + "PoSeBanHeight": 1726006, + "revocationReason": 0, + "ownerAddress": "Xv4BWNmGmB1rqrhd8AoRMWt2Lj3PB4JmgC", + "votingAddress": "XevAo7A2oac8aCmLgmJeg9oMRKMRdsY5Cv", + "payoutAddress": "XyJZwHB73Saj7niHgqUvLkhgNDBL6CANbe", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "8b1e7e4400469aa73a168036138a3826296cd2aff04c997f63289eb27becd146", + "collateralHash": "9486af8de60182dba41478b0c57480994dce42f558286d3b5e5a5c3cfbb28f4c", + "collateralIndex": 0, + "collateralAddress": "XpPQUNRGFo7ZVTWdj6TXuwaTFDjiah3mT8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346630, + "lastPaidHeight": 1724583, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": 1632309, + "PoSeBanHeight": 1725636, + "revocationReason": 0, + "ownerAddress": "XqFbPpRQb8CYgLSd8RCGq6CyEu5yWyRwUf", + "votingAddress": "XrxrLXChwQFEczcLqdrKdsJrEyDmijfFUh", + "payoutAddress": "Xh428eB14HP3cF1S4UFFySmuX1KNcngYyB", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "874b8066490cea7b277a015e71b046e95196f4a1f9da8ab433ceff4ad63ed173", + "collateralHash": "7ab3586de6c5ca931fe511b0b6f70dbe19480845504ebd0f5e246688b61adcba", + "collateralIndex": 0, + "collateralAddress": "XxzSMiovKiqq73gKvLNvVpckbgdpmf8NG4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346630, + "lastPaidHeight": 1725091, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": 1562462, + "PoSeBanHeight": 1726870, + "revocationReason": 0, + "ownerAddress": "XwnzRPo4EV4bQ4wqi19VkQS1obNjszFaWG", + "votingAddress": "XoWnEpTJ3jB2HAJttdriHnN5Dy7xAfT9sX", + "payoutAddress": "Xhk9SP32XWaJ9mYmHU8mip3jEVmSV34mts", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e667865082374baa02d05bdcd2e74f4e1a7e2d2aee9627a0f7c296ce3a61fdc1", + "collateralHash": "e05da0bae7cd234010aedd1135f35e3469fa75e3a355632164879673ef0cc8e9", + "collateralIndex": 1, + "collateralAddress": "Xny8HkDT2freUJf5xobGCsGCLNZJnJhizB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1346632, + "lastPaidHeight": 1725251, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1535072, + "PoSeBanHeight": 1725828, + "revocationReason": 0, + "ownerAddress": "XgCLyHRpgXZt9ivnXJBA3FqK6Mdao7mPP1", + "votingAddress": "Xh3mhpjNF112oK6dfSj9YZYVWkokfP5KTk", + "payoutAddress": "Xif7VE7Lt6Wnrp7MSQwXtMAhyUFVrwFdSS", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f914ab644206d427d2f8277b6d3ae5ffb024a79fc652a96a80d89873095af029", + "collateralHash": "4d2ace62e81358187f56607697b331cb4239d13d48fd3e3379ebfc7348c14637", + "collateralIndex": 1, + "collateralAddress": "XqJGbVuLhmdkf8XEM6Liu4R8q13nXPvcr7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.211:9999", + "registeredHeight": 1348987, + "lastPaidHeight": 2126255, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1537617, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtD3hjkz8Eueg6VDSJt1FTwf42BpcUQNMj", + "votingAddress": "XoxroG5CKMYSZf5LAV3PaXr7d7ycybLR8G", + "payoutAddress": "XoSobWsMiRRsDWQWnoS3yS4aeFRaj8R9cA", + "pubKeyOperator": "94b605541d179ffb60ad538382c986110dc35b8cb8e859d0f7288c5c594bc0dde24a2bdf4178092eee532e0240ccd93e" + } + }, + { + "type": "Regular", + "proTxHash": "b2ffe05b358c365e4837d97b3bbff0ee97596586f77208d692bdb9641d29b9f7", + "collateralHash": "8b3c8063c988d284a9586da0b378688b03e90cfc7cd53bc77a65a5b184f83ce1", + "collateralIndex": 1, + "collateralAddress": "XngXF1T74mPYLtwYtNdgNez2FHMoAtXg8h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.130:9999", + "registeredHeight": 1349014, + "lastPaidHeight": 2126263, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1537621, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxkvPNVMWutxtt4CdRoSQ2DZfMnYsisYwh", + "votingAddress": "XuXnhQZZ3mSu96gFm7Q94AREroowNcecA1", + "payoutAddress": "XrQgWL7YAQaGvtez9aYVwm4D7kjMTqKHaX", + "pubKeyOperator": "016b46776eb3719de5c4a00bf30b0933db62ac6a65f9364a6857ac35adf9570a50ebc72ae462e59ed1cb7ed58bb0ff81" + } + }, + { + "type": "Regular", + "proTxHash": "33c29b8f23bd3aa9390c5cd5012b2a1e872a77fdd450e847ba8a9a461f8eee60", + "collateralHash": "7a031d822ad0c7355c3fec26e9469cfeb44a776ac7f5fb4a52c29096ff525fd5", + "collateralIndex": 1, + "collateralAddress": "XiptrkC1oRf1XL96bfTobFDxHvr39bhhBJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.38:9999", + "registeredHeight": 1349030, + "lastPaidHeight": 2126161, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1519336, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkGNDMhgdErfcutKxRFER6hcoqYgPB2xQb", + "votingAddress": "Xr6Troqzmns8jaA956LbdX4dGgCbU9fb8B", + "payoutAddress": "XxSqrRXwVdv9T9wCqVHHGWDKRW3X1Lu9YA", + "pubKeyOperator": "8e5e34bd4a86ae56c423f92db1ccde76386ea3f645b8d612325491f248627969220b2166ceb10713131283ebdbd0ffeb" + } + }, + { + "type": "Regular", + "proTxHash": "7ff19a30865c795bece203d8faa91c4422fe3f43ffe33794a03cd0be6853d3e0", + "collateralHash": "9bd6be43038ca4aab2800ccb98012322ae0e4e3e8d69d54ddc29d3aac030e98f", + "collateralIndex": 1, + "collateralAddress": "Xq15ULKXTUmBgS2hEHPXp32b5hWQVRZais", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.203:9999", + "registeredHeight": 1349080, + "lastPaidHeight": 2126261, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1537621, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhjh1YS8uW2UhW5y4EjEtw3rRWm6Wt5Sjg", + "votingAddress": "XrpLceKta3Dt1rQcq2tLC5KgnbocpkarLr", + "payoutAddress": "XrwN3FPsGhenW4cg3ZNUkapVCeXQoQLGbg", + "pubKeyOperator": "001ade1fbc8a15e502c363fd608e1cfd4c812cefc69d4a14034df6955d6a83c3537c9ff933793a647553e9c929aa45ca" + } + }, + { + "type": "Regular", + "proTxHash": "cb55bcfac42f7a1268b76a32f89ad6bd54f33dfbd03f6e112a23cb220c42be97", + "collateralHash": "5f336b5f5c07b2ce63fa22c0020504c184d2b4b11d6abc2ae400971edca8646a", + "collateralIndex": 0, + "collateralAddress": "Xctpwp6hM3jTAfQmLpWdBim5zdcP7d5EnL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.238:9999", + "registeredHeight": 1349090, + "lastPaidHeight": 2126367, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaiW5fUAmYTH7SXsxH4FNannSpDRBtPhfG", + "votingAddress": "XhbEYwtb2sZeZV1G2AyucxHBaLF3zEX6ZG", + "payoutAddress": "Xgk9EPMiH71KzQ6WzbyLjCqAgJzsg5JGiy", + "pubKeyOperator": "0119a1e146de74493c5584f6ca9fba59e094a86ab0973034f4279c79f0a2813555049ad74e6319995d5d4c9d1542d35c" + } + }, + { + "type": "Regular", + "proTxHash": "2b1605c628323a4738c5eef5d640bde09eae6ac73d338d14ebf245a1d94b0ce2", + "collateralHash": "8a3ccecd54d18f23cb9c1952f034d8350916a3b52640782fa369cba07689bcc7", + "collateralIndex": 0, + "collateralAddress": "Xt65etbv4h51fFTfyJgcYQECmKvp2854sV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.118.96:9999", + "registeredHeight": 1353274, + "lastPaidHeight": 2125942, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126038, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkC9fWJ36qBuQfFGB47B9c3L6H3Xmpmdsk", + "votingAddress": "XcsBf2J8DgDtgJ9CAyhh491MUYC79sa65u", + "payoutAddress": "XeAbZQK94genXUePHDHcBoRoVMYFK2TMgU", + "pubKeyOperator": "8f436f1f27afd7c3c1294d6b4532413abc281f17dceaac2be1569c995f4721fa22ec9c4b5703967d968a9c815ba81e32" + } + }, + { + "type": "Regular", + "proTxHash": "e13fbad0ab0bca68cbcd4d68127de06037b4007c5acbe8550edcd60b7d4503e8", + "collateralHash": "1c0f7860e70207518ce4b38a3596823650a24bc1153f42b0df97fc49a8a37aa5", + "collateralIndex": 1, + "collateralAddress": "XyPg6NC5UpvZ2pBAukcR6WBqaH8wNtMS3d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.78.74.118:9999", + "registeredHeight": 1354584, + "lastPaidHeight": 2113340, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": 1977829, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XohnWDWvRhYsZC9Suk3PXCLZtUgjwMaU3K", + "votingAddress": "XohnWDWvRhYsZC9Suk3PXCLZtUgjwMaU3K", + "payoutAddress": "XmCmDEQhk5dgvh5n2iLSP7GVhYJJw4VMGG", + "pubKeyOperator": "8c19a3f6df1ff3d9399d010e5307e04b9b38c4384bb08dd31509a884550f7fe377112050b34c5a533f2ace6f08a83fb7" + } + }, + { + "type": "Regular", + "proTxHash": "dac06948df80b4b5bd3c6e05ffce9c5b43e1f02c21cc3a6e3f5ac5a86518a80b", + "collateralHash": "7e6ca926dc0f1cfb818880e6c9b33f0d2fffa1b62c8a5b30ba304d89c67069fe", + "collateralIndex": 1, + "collateralAddress": "Xg6Y27M5XhVmigCqVTHQH4237B5i19FaME", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.191.237:9999", + "registeredHeight": 1354748, + "lastPaidHeight": 2127086, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjrWT1ZExuL3ZKTNxxJMWYVZh7FS4yLR6w", + "votingAddress": "XjKQ9vGNWWQZhM8X4TH7ztan5XbQ7rhpGt", + "payoutAddress": "Xg6Y27M5XhVmigCqVTHQH4237B5i19FaME", + "pubKeyOperator": "0aeff4606a736a0fe438c61b0c5cbcbd6728738f6fe8a36751a2bb43c936ececdf5daec86d043b1aa25ac577b48cd9b3" + } + }, + { + "type": "Regular", + "proTxHash": "27ef261be25cdf1c1ad58624f1c27833bcf0bff15b95e6be2aa1af6344cfa02c", + "collateralHash": "ad94c617e7b247a52eddaaafc686ffad00970396e4c878c6766d3493ac8970ce", + "collateralIndex": 0, + "collateralAddress": "XmGXXqCs6UQDwo1i9kHKHqZGppFJJhGtS3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.136:9999", + "registeredHeight": 1356613, + "lastPaidHeight": 2128034, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeBzRSuwPSD7gMiRdfYGVrCXgF1rY6Pb4Q", + "votingAddress": "Xg5WVDH36tvLkVt2Ren41s5stwSsNVukHd", + "payoutAddress": "XxEcuVw1rbDkRePTHnqtRwMTWqL42Tg9kK", + "pubKeyOperator": "99896f79a9bcf505d52e72b59fd940302de0a62fb686f0ae5f58cfe282bfeb251099ab4edc25a46866bb82aed24af35f" + } + }, + { + "type": "Regular", + "proTxHash": "4a3a7ed413c74263f849ae475ead774ecb88a7f359666d8bac347adc3c22a54d", + "collateralHash": "6f842f91d851e54ddb728c12d501b8f81f335151dde134d59356562f1dd3c060", + "collateralIndex": 0, + "collateralAddress": "Xkws7PpQdRKbWpAJQYvjyGVbAN1SEE374n", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.224:9999", + "registeredHeight": 1356913, + "lastPaidHeight": 2128475, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxPu5i2nQ28n8AojySkTWvbhUdX2h39xYd", + "votingAddress": "XyR4ZGWVomadKG2wFWxJaiKWihnFQzyQRV", + "payoutAddress": "Xg1GTYJU35MFxkxrkU7sYp1R3JHjK8t4dc", + "pubKeyOperator": "88715892d243906750b659756614f121182aecd4b9922e31698d57d32cb1aa1267caece27fe55e10ceb4ac409fcc1f3c" + } + }, + { + "type": "Regular", + "proTxHash": "8388cd3f64b9e8aba1a97351e5f77cb90cfdae08b91fded1de28aa92a869f911", + "collateralHash": "3c9c5314dfcc85b4971f4d0643879511c7aa889a72f5be1994e3d4a18cd6931f", + "collateralIndex": 1, + "collateralAddress": "XpWXAxBHUrS13efpgAMgLW8UjB1G3jbToT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.186.212:9999", + "registeredHeight": 1357092, + "lastPaidHeight": 2128559, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2017832, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcg9tWYidVmABKYY8MVoj2Wdipij5xJM17", + "votingAddress": "Xw6aX5uEK6Cp6T5jC2sazMp8o6sm1iRvCG", + "payoutAddress": "XpWXAxBHUrS13efpgAMgLW8UjB1G3jbToT", + "pubKeyOperator": "196c5433726fc69c6f24e08f99a766790f94da5e6ba583792efe0000124789c2aabcf44df9071982f464eff943c14ff3" + } + }, + { + "type": "Regular", + "proTxHash": "1c1a4223b6b495fb142a0983f20f7cad6a14bd3bb0578d3cf7d8a2df54261ef8", + "collateralHash": "d1eb41ce8b2cf1c16b4f29f605c451739190dd69bf8ce256404ae4307c6721e8", + "collateralIndex": 1, + "collateralAddress": "Xd9YVud3ptZRVtSfE5CWioDBphyZR51x1g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.35.75:9999", + "registeredHeight": 1357092, + "lastPaidHeight": 2127113, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnDECScfCG9PeQQoCqqJx6jzqMinPUU4DE", + "votingAddress": "XtK6QLUeSNkbVYCoqzE98dUJPpVDihLMvN", + "payoutAddress": "Xd9YVud3ptZRVtSfE5CWioDBphyZR51x1g", + "pubKeyOperator": "903e07afacbd2b00a57b00efce27dddc0d3792a315c4ec19f330e02c7b960ddfdc696d39ca522d52b7af7b9f031dac88" + } + }, + { + "type": "Regular", + "proTxHash": "1b5946c573f63129f64466aab182aa3fb10a8909e7b39198376c8780ab31055c", + "collateralHash": "0f230b6bb558520f1689b17278c264ba05e36b82f53bcd7a902d32c34de55ffd", + "collateralIndex": 1, + "collateralAddress": "XjR4uJevw6oDK4ye3mEkDuLXBBD4whMiGL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.72.140:9999", + "registeredHeight": 1357093, + "lastPaidHeight": 2127093, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgDRYFKRG9f65cQZuMbhwwN1N6HPQ2obY8", + "votingAddress": "Xc38UoGxLJgCtsc28wCHF3XpTwaL7dtzy5", + "payoutAddress": "XjR4uJevw6oDK4ye3mEkDuLXBBD4whMiGL", + "pubKeyOperator": "1727dd7c52537110540f73532c873c89aeff256da538a93b67a7a3717adfe92baf8f2a5caa4d50a32fe7d65b28974215" + } + }, + { + "type": "Regular", + "proTxHash": "5c02bba63a5753a26ed9546e629b12f8a3c45c666f9ed48541641deb055bd1b5", + "collateralHash": "2c570c355238e3b93cad4191d1ce98645e67fdf598b3cf7c273564b505073cea", + "collateralIndex": 1, + "collateralAddress": "XkuJik5suvX8HrCdmpcbrTwG3WNBwpDJ7d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.128.35:9999", + "registeredHeight": 1357094, + "lastPaidHeight": 2127105, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdDLgpyRpVpuq4RCiF9xSHaNjXPjdefHsg", + "votingAddress": "Xj5hueLFEJs6VJrmGG2xU3BCQ7jBwRiYt3", + "payoutAddress": "XkuJik5suvX8HrCdmpcbrTwG3WNBwpDJ7d", + "pubKeyOperator": "0bb8a85c44a50c814b4243718dcc8adac99e73db9f0f2b2bf03a45d98ff7df33b285cbf4ac616a397022d5673250aae4" + } + }, + { + "type": "Regular", + "proTxHash": "cb324143ee99c6269a5942949a87bdcdef617ec54e61fd4fbe7518b48ffcabf5", + "collateralHash": "1ae55125f8551dc9fc517508c58e8b527b4ea27ca2f60a1b3bf87f5be565e332", + "collateralIndex": 1, + "collateralAddress": "Xt2EXtW8W6d57DWLL4G4D7L5zdko3ZkeBw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.217.185:9999", + "registeredHeight": 1357094, + "lastPaidHeight": 2127112, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsiqc1YhEJi1WmY7v7Vh2rzp56pU5wseB6", + "votingAddress": "XnnuPH5bRSqvf7NLVnFwq6d2RPf9TpBP6F", + "payoutAddress": "Xt2EXtW8W6d57DWLL4G4D7L5zdko3ZkeBw", + "pubKeyOperator": "8dfe9e8b0fc154eb50cbe674fa6b6533b4722b2d6653e4664b49165e8fab7d2e50f0161c9ef344f3e0918e28a812225e" + } + }, + { + "type": "Regular", + "proTxHash": "9e049cb8a3900f717c6954e03595359a5befdc3ebb503473e1d1666e93047051", + "collateralHash": "395dd722c5b27ccb033946fd3b38e5cbb55687d554cbbcadea212acb252a950c", + "collateralIndex": 0, + "collateralAddress": "Xd2m8yGmUiyjLSixokupCS1BxeCuMY7Hsf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.126.85:9999", + "registeredHeight": 1357095, + "lastPaidHeight": 2127091, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoHh3cZ5SdMf6Gcg6ng8HAyRzDV95u1baw", + "votingAddress": "XpXcdZM5THivBWwsxZuRxZ1qngG6PsG5JX", + "payoutAddress": "Xd2m8yGmUiyjLSixokupCS1BxeCuMY7Hsf", + "pubKeyOperator": "984ec473d5a429ba2f57e41cb31c1cd37c64360b5cf5841f8bb4d7056788ed25fccb934f7946e79a9ec6ab8f063d09f9" + } + }, + { + "type": "Regular", + "proTxHash": "e8019c6fb3ad758816128a55e5b577034fa037660ec928cce6ab1d46d3df6c99", + "collateralHash": "dd67787a35b56b4b83b90eb58aa0ea3fd093ce14d5d1fd4e0856277814f4baad", + "collateralIndex": 0, + "collateralAddress": "XquNautZwbELrPj8A5qxVaerRuPHWskU3G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.59.189:9999", + "registeredHeight": 1357095, + "lastPaidHeight": 2127102, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk1brS7rr8DCjyKhDGtek9JwsW1jg1NE3N", + "votingAddress": "Xo7B7Ks74ZqzFThTyUFFpt8HvZTpY9GjA7", + "payoutAddress": "XquNautZwbELrPj8A5qxVaerRuPHWskU3G", + "pubKeyOperator": "815e9ff86d1b057931b695a7950daaf1859b7f20a2330be8d41be0819e45f213df07c71fe3aa0b18e44fa2c907300ada" + } + }, + { + "type": "Regular", + "proTxHash": "fe7ac847a6a9f5cf9926c4edb502105240ab690803ac71c49e7620d5128f6f20", + "collateralHash": "7641f0cdeffda9ab62e58795df09e45d42e1ea92c30504aacf8c7b96d0a111eb", + "collateralIndex": 1, + "collateralAddress": "XhG3zMaWgzdaAdFA5aiYP31PfY1ko8XrKe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.46.135:9999", + "registeredHeight": 1357095, + "lastPaidHeight": 2127088, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcCpLwo1WiU5kp9Z6cyRB4wte3XkiMkUcD", + "votingAddress": "Xj1eiW5Enf5yGJgs3AifsGx4pm7xV4CFcy", + "payoutAddress": "XhG3zMaWgzdaAdFA5aiYP31PfY1ko8XrKe", + "pubKeyOperator": "92d350bbb22a1e63d37e4c4f0c6134aca64cbc05fa6d6eba12a32c613a743e6b63b8933ebc07551b1a9e5be700171233" + } + }, + { + "type": "Regular", + "proTxHash": "5f9e3a664db53fdedd477af0855afa1fb83ccf5e5358de23a1fa5353edbd3b40", + "collateralHash": "c4a184baaa335f0cf81be1adfafcf1c5750fb2fcdb5da91e9de7cbbb723bf3b9", + "collateralIndex": 1, + "collateralAddress": "XutC8ucWwyUYdjFrQitQm5u8WBZNVKFjLn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.135.185:9999", + "registeredHeight": 1357095, + "lastPaidHeight": 2126579, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985795, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrNy999f7ZVVShLLJ2RhUUcF2rV2vVd4F3", + "votingAddress": "XjjZ4Fw1mAa8RbYDkncPKoEVvD7Lu7n7yK", + "payoutAddress": "XutC8ucWwyUYdjFrQitQm5u8WBZNVKFjLn", + "pubKeyOperator": "9428b71d10a6d7cd8956c8fa25e6e0a7cac2ae9939963b387164e31be7988b5d273f447de130363108e2147aa449be1d" + } + }, + { + "type": "Regular", + "proTxHash": "fcf21390a899127ea097d72c207e4cb267a48295315d8717a1fb47570c9efefd", + "collateralHash": "8f150ecf189f3fbbe9637ea0b7b6e114cf18af502f23a5b006371805cf615b26", + "collateralIndex": 0, + "collateralAddress": "XcrTgXNL2NohYQ7SXG82EHXpnLyCMaruSz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.250.218:9999", + "registeredHeight": 1357095, + "lastPaidHeight": 2128792, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936983, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkHVqPpHYS2qTwfLtG2CjnCKCmV86tu4YC", + "votingAddress": "Xu9iQr1bL2dJeRGxoyjsiTVXUxj1wursf8", + "payoutAddress": "XcrTgXNL2NohYQ7SXG82EHXpnLyCMaruSz", + "pubKeyOperator": "10930f4664f86c40052cb77af3bb7a1a0b39327dbacd93e93bbb22bacbcb58b0845ff6f51cb28a923e95168106b4775c" + } + }, + { + "type": "Regular", + "proTxHash": "7c0252b67f38e2ff6cfca099a9adddd66752c4d4e6b6779b53ac16e0a7e2c1f0", + "collateralHash": "b1717fb3a7c3e731ca2487dcd58b63706d3035f05f04b6a77eccfe63996a4bf7", + "collateralIndex": 1, + "collateralAddress": "XfgzdN8DHHj7FjdGWYYwB3LszGzkFGfd7U", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.115:9999", + "registeredHeight": 1357677, + "lastPaidHeight": 2126815, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986022, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsKRX6HKsX1bKQZsWUUZCLi6DGhsYhUboJ", + "votingAddress": "XcPYc9BxGu7SEGYZ2qJo9z7Q1FJyZEBVV7", + "payoutAddress": "XechD9cm8ZbpSVsYrG1nb7RXXFdoyWKu4S", + "pubKeyOperator": "0fbe3891b05ba2676b118525be531f33e5ec197a846b23fd6aaef74eb1b8b50c40c7808b594c29b0cbe483aa7689f49e" + } + }, + { + "type": "Regular", + "proTxHash": "4810f2a149542152bf4a82bdb4fca6e74407dc5d538ab2d69787761822f4ff12", + "collateralHash": "46f76b2fda75ba28021bd251ef71d488a9bbdc91169b30e4c65b6bc0220f309e", + "collateralIndex": 0, + "collateralAddress": "XovrS9qMmAmZmJz7kBfZvYMNs7TruWqSyd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.9.237.36:9999", + "registeredHeight": 1358304, + "lastPaidHeight": 2125997, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgRQuERGjrLiPeVMpuRzU4NaRT1EZYZgg8", + "votingAddress": "XsicxC6Gw9mcd1TyzrMCTpnbLpHq199obx", + "payoutAddress": "XovrS9qMmAmZmJz7kBfZvYMNs7TruWqSyd", + "pubKeyOperator": "873cfc8d9dfa57d67fc147d91faafd8bc6753b95367dce674c0f91e59f5680a50d150182b98479444b6cf96b2cdd1db6" + } + }, + { + "type": "Regular", + "proTxHash": "b0320ffe1f461e045cf637938f933bb23fea68970576541cbbc746be1fc35c0a", + "collateralHash": "1ae40961659d84fa5050fd4bf05e3ca85aafb5fbda93ebe5760b836d81ba75a6", + "collateralIndex": 0, + "collateralAddress": "XwmzeucgSto8k5RyByQFeogK3w537i1bk3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.3:9999", + "registeredHeight": 1359342, + "lastPaidHeight": 2126659, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XumGCJLKUkBCGAwzYd2npErVkdPy7dXQyo", + "votingAddress": "XvdPh74NCiQj3QBqfh3i2LLaC3DNRZvoGn", + "payoutAddress": "Xfn69s6JjBCH1SrpMiA3sdsFJwR4vXwEiR", + "pubKeyOperator": "1471b214f594a26e2b17785b17c1b275990d3ffc14db46a4c1149ed7d7f77bdfaee1334ea86dc6de4c97ddde5959d7e8" + } + }, + { + "type": "Regular", + "proTxHash": "6dbae85a978dc5239b6461a900cfff251b53f42d707362d8ab5feef978094b6d", + "collateralHash": "8e1a0d33a90d80f5360da057fa0ce7d245442c55b54b3d30e0f61971562d3928", + "collateralIndex": 0, + "collateralAddress": "XtDpaqEiWU8VHgAWFPg87D86zeqVruucPd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.79.179:9999", + "registeredHeight": 1359580, + "lastPaidHeight": 2127098, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgbVoRG9JTS1p3A2GheTZkGZWgZmDos94i", + "votingAddress": "XmWBHju6ZNYcv2QU8DdJ4aFcqdBSt9xnim", + "payoutAddress": "XtDpaqEiWU8VHgAWFPg87D86zeqVruucPd", + "pubKeyOperator": "911d5f45e4451d1fc4ff2b1d818ddf52015f87e6c1ea147398ca75a54dc1e3f7b76e1aec8332a82bf21c8dd832fbda68" + } + }, + { + "type": "Regular", + "proTxHash": "85087a52479b6b6e65ef3afc40744cfaf61f9fcf740b5482dd10831fecadbfc0", + "collateralHash": "46f1721cf282f449d00fcfcd47eafd9aed41c1fb4627603e10e3f10442f73e9e", + "collateralIndex": 0, + "collateralAddress": "XdJhPEYxGFefPszQHrWKu8RLP4DQh1KHGV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.208.62:9999", + "registeredHeight": 1359987, + "lastPaidHeight": 2128789, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936983, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxYDvdMugL2C4yML3qneBLrK9bBkZ68jxn", + "votingAddress": "XrUgnJDEGKX8AtMU2Lfv9JfSgQUAbxCkym", + "payoutAddress": "XdJhPEYxGFefPszQHrWKu8RLP4DQh1KHGV", + "pubKeyOperator": "99190c97478967d9706bd44e01525057c4fd2ebe8351de65768526aed90e9ff2f7e22244c67a7fa929def1254c430e1e" + } + }, + { + "type": "Regular", + "proTxHash": "00560e41e283875d4b767434c54d4aa65d4f09366c88e41510e0ccec0b97ab8f", + "collateralHash": "ee4963f31b6c3c6e8c6bef7cdca5eb4ea51584f2b3a570768081486362ff59b4", + "collateralIndex": 0, + "collateralAddress": "XcR8yCZW2fErwBKBeX3J7oQsDrJ3FgyQa5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.9:9999", + "registeredHeight": 1360222, + "lastPaidHeight": 2127206, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeSabJPqY2N3Zeh7crVA3e6zxgGqCtMqCb", + "votingAddress": "XgbJujBNVz8526Nh3zGRxUtN5ugb7SXbBn", + "payoutAddress": "XxvCNqYui43Rd9hDvfyrb6BfxoU2gKute6", + "pubKeyOperator": "13a7a86d18582ad597e70c986b198ff4be6ca2201deede22ae508f0fa98e10f15fb6a394c07f227c5fc9b96be278afcc" + } + }, + { + "type": "Regular", + "proTxHash": "24b9604f41fc1c474ff7bd293740e0245a390fb27cbb2c4c4f1e8517304b4771", + "collateralHash": "2756e42aba353668e07f28dac5e4fa1de139288e4942e9d112ed4f92063dca83", + "collateralIndex": 0, + "collateralAddress": "Xpaj5YLCRZZEZt5Mmnij3g5PRTWHVMuGek", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.10:9999", + "registeredHeight": 1360229, + "lastPaidHeight": 2127227, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuwVLPrpoyvBspnQA1FLKf6GRarjqwt7yC", + "votingAddress": "XjWgCwFG6p8saeUrxi5xdHaajHwBYbAtZ5", + "payoutAddress": "XxvCNqYui43Rd9hDvfyrb6BfxoU2gKute6", + "pubKeyOperator": "8501a9fdaa2a1f21c71cdf608362f2a0cf06ae5dec7a07a21fcb176679ca558374bfcb7a38fa4fdf63ff0787ab0dc367" + } + }, + { + "type": "Regular", + "proTxHash": "f1c4c23513cb808f65a10cb6f658b2cca64294df3e2f75be0a84d1fa88342a29", + "collateralHash": "187eea19eb89ae46c6751ff47285cf3328ec76838ec8c7123a1ded4921fa25df", + "collateralIndex": 0, + "collateralAddress": "Xim7DTtYfkL9QcjezeNoapcnJzc2kBgBTe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.11:9999", + "registeredHeight": 1360231, + "lastPaidHeight": 2127321, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1464130, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgzenMN8zkwgpEWV79uYHbpDaw6RK5HHN9", + "votingAddress": "XeMWKs5ioH4m5RNL9CEnZMYynmFGbSmNWJ", + "payoutAddress": "XxvCNqYui43Rd9hDvfyrb6BfxoU2gKute6", + "pubKeyOperator": "981ac36a850aa1eed82957ab100f707a6da909a5bd0bbd6c8c845eff6c8b12be4f146898c7ecfcd32299d0f54998a46e" + } + }, + { + "type": "Regular", + "proTxHash": "e4bad638257088f5fee939e6084ed01adf10ab0c704b3aa8a4ca8abd4e0475aa", + "collateralHash": "4c18690dd857f4ba2b66809ea8befddf8c847e32c26d63d79dc446bcdd43b76f", + "collateralIndex": 0, + "collateralAddress": "XkbV8eV78PM38vyiB5p86sYAaxNXQ2aD52", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.12:9999", + "registeredHeight": 1360240, + "lastPaidHeight": 2127235, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcFUAPVaiMoa82QX6v23sdvwExcj8oiLct", + "votingAddress": "XmJSJCcbJfbNtxVSnDk6Lfnj9zD4N6aYtN", + "payoutAddress": "XxvCNqYui43Rd9hDvfyrb6BfxoU2gKute6", + "pubKeyOperator": "13cc3e33604630e3b215f7cdc4362728e9fb9ad8345b3f4e7378f28585c5310e02103c17431036faf42f9636861ca95e" + } + }, + { + "type": "Regular", + "proTxHash": "6b806b7c0baf9df9fa6c2083b7ca5e1222f87ab16ca8d465045d0a26c07b26fc", + "collateralHash": "fe052deafefafabfe72a61cab2604cb292118349794992ce06bc9accced33a80", + "collateralIndex": 0, + "collateralAddress": "XcdrkvxyDbFTKwYXdwmywh362Cq5r397UH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.13:9999", + "registeredHeight": 1360240, + "lastPaidHeight": 2127236, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcfCBTgfggNH2k9mUoLUKQuraUsFDuR54G", + "votingAddress": "XrKxjY9f6c2T5timDR4tnJLUfjS5KZLnDN", + "payoutAddress": "XxvCNqYui43Rd9hDvfyrb6BfxoU2gKute6", + "pubKeyOperator": "9882b1a22ecc0050a3e8c7e99733505b417079c8b3db569fafb78a335e9a6982dbdd0627116639c8dc552e389cb023cc" + } + }, + { + "type": "Regular", + "proTxHash": "c104bd80860fc0b13ea0e1b8a6c47956df8a0aaf7f0b8737330c081924b7e9e6", + "collateralHash": "f32d305018f138172ccea85a7d10c14555a39e286646bdc9233117112890522d", + "collateralIndex": 0, + "collateralAddress": "XhuTTzeaMpby1RXCA6P593fnwoexaLcSq7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.14:9999", + "registeredHeight": 1360251, + "lastPaidHeight": 2126365, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1622442, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoJJDqDSiiDJavVYYuU3VBm1odVRGMa12Y", + "votingAddress": "Xu8Ru1WwsYuXqjsP4tAxo6T6KRbBXowuF7", + "payoutAddress": "XnfQdQKgXqSLzCp7Q3ZBDfUqeXiS6zxGiM", + "pubKeyOperator": "85b8d6ef90f26bb4bd34e8c33bf3072b717adac558803ae2170e54a5f1c053bb13f28dd1942213fd7717479e24264f8f" + } + }, + { + "type": "Regular", + "proTxHash": "58c14166e680f58311f25ed6794e52acb814b3f33092b9a37f2cf65ba6b548cb", + "collateralHash": "a57f74c57a369d9623338a5127a4de369639783e5e5b68a3660c07bfa86d6189", + "collateralIndex": 0, + "collateralAddress": "XbrcyDfuvEbphtztpiFdeLKjK2hqttUEDC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.15:9999", + "registeredHeight": 1360254, + "lastPaidHeight": 2127240, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg3EEiLCU3J2v8D1hA7kcdd6JcPJsWUnfn", + "votingAddress": "Xn6nSPser29ssKEaPDTF3kWxPVjhHYHAkj", + "payoutAddress": "XnfQdQKgXqSLzCp7Q3ZBDfUqeXiS6zxGiM", + "pubKeyOperator": "946f7b51f48b0b878db98f0f7977af25918b20bc90559d516bc84658b63521cd0a5c0939db4eee3942b0ffbcbce9b174" + } + }, + { + "type": "Regular", + "proTxHash": "69c92d5073e00bbb10ce391a0e5a8c15cf59a6d42750249ad350aee7331c30b2", + "collateralHash": "eddd8303ab0e547154930691bc883b980c8a3dc7996e90f92a5afeb90b9b1760", + "collateralIndex": 0, + "collateralAddress": "Xd9z4t2PRcPyygjugPhZzYVhjmyWpA8stG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.16:9999", + "registeredHeight": 1360255, + "lastPaidHeight": 2127243, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xry39B4WwkwZByp9xBJfDhpJEV8Lr9D91t", + "votingAddress": "XwSNZBPFeXAvW8fAT2RennNXBkfpYdWZaT", + "payoutAddress": "XnfQdQKgXqSLzCp7Q3ZBDfUqeXiS6zxGiM", + "pubKeyOperator": "861a58f6d5495874ccb6fd78943b106f9078cf8ac0854b67d2feec6716569570fed7fdc569b160a882ab182f8237dda2" + } + }, + { + "type": "Regular", + "proTxHash": "e15a56c66aa04e937740c0a151e7b14732f62913d992005e913244c2bb12dddc", + "collateralHash": "7c4f2de5e0031442c2e94ae77800625bd8e5cfe9a1966084b28273ffe1a78fb9", + "collateralIndex": 0, + "collateralAddress": "XymxkKGsW4BjrbmZfgzP6Z6G9D9kzxGiFA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.17:9999", + "registeredHeight": 1360256, + "lastPaidHeight": 2127244, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoRiLbRc8ZEF8XCcj3N1GuMPt3gL7VFgKb", + "votingAddress": "XyhUKJcJoT3kZMRSPX3EP9KcsDmJT5qwgz", + "payoutAddress": "XnfQdQKgXqSLzCp7Q3ZBDfUqeXiS6zxGiM", + "pubKeyOperator": "94f26fc407123bd11ec67a2bffede806649ab6a733473360e11c53fa9c4213eeb487a4f537f37243d48869c02d5a7f84" + } + }, + { + "type": "Regular", + "proTxHash": "87accbbdbeaf2e940bae8555388355ee67ff52dd363ab0de3606db81e98f849a", + "collateralHash": "1c1e9373fe1e2b991220a96a163dc2cd4dbb40c8ae43f9686b46c6693e0fa246", + "collateralIndex": 0, + "collateralAddress": "XtrA5qjtRob1ZEqMd361dZ46pPxxbFS3Td", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.128.129:9999", + "registeredHeight": 1362241, + "lastPaidHeight": 2127103, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkAa8yDeXiYr4pGXiEWNDZ9zBFo25Hvha5", + "votingAddress": "Xnnet7dQZP5JiS9RAtYRdHqQcytyVxkfj5", + "payoutAddress": "XtrA5qjtRob1ZEqMd361dZ46pPxxbFS3Td", + "pubKeyOperator": "8eb054fb7e6f261e1e8d0f3637767bf89295998e088f0f6580d7596b4a4ef098a0d679aeb781889219c3701e38b504a8" + } + }, + { + "type": "Regular", + "proTxHash": "9b987adc36c9a7476a90385498758bcd018f8761418873863a5cfeadf3c38327", + "collateralHash": "031632f2db01534d3841b3bf2fa4f1f94d495fce62de554d942d479eb5ba1839", + "collateralIndex": 0, + "collateralAddress": "XseVkF3DrZcdVhQtYnEuotGWbDsrcDsZXa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.235.173:9999", + "registeredHeight": 1363193, + "lastPaidHeight": 2125952, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkZ2yDJu1vfW1s2XzVnHautDCiv4VtUPGm", + "votingAddress": "XqNfFx5f3GEHSev6Ecd8uLaNRcD4Tuyiih", + "payoutAddress": "XseVkF3DrZcdVhQtYnEuotGWbDsrcDsZXa", + "pubKeyOperator": "0437f6841cb41267d16c587518c66fde7706590124400ccb18b60c392b93e9cfe829733793f640d965ed38957b5b4725" + } + }, + { + "type": "Regular", + "proTxHash": "f057263404fbfe75d9f2eafa90abfd697e5bfdfc6fb52e0677043142eb58fe3e", + "collateralHash": "29ea1447504f2da6753c21d370ae603bb02dd602f03bcb33e82357be1f37089b", + "collateralIndex": 1, + "collateralAddress": "XmXZMsD2vNUZZzrjqLgbsATnuKyCWDP4dJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.18:9999", + "registeredHeight": 1363210, + "lastPaidHeight": 2125962, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqk7eBiYV4QNeSdUFaEmRYqo8TC4d9Hsyu", + "votingAddress": "XrXMomJjGnxhGZch8qnz4SaBee55qc3nb8", + "payoutAddress": "XnfQdQKgXqSLzCp7Q3ZBDfUqeXiS6zxGiM", + "pubKeyOperator": "1393e79951b710e946a52f6522e648fed778bbc27a1e033f14e1c0d4d55273b177557045e0fe3aec35a4274a6a9388b8" + } + }, + { + "type": "Regular", + "proTxHash": "135273957ae87b5215742be73e3586ce758d8e7f67803ec145bcdccd299b7eb9", + "collateralHash": "9dcac7430c2075545f39781011100f895e2d767e2cd408300029ada25325ddfc", + "collateralIndex": 1, + "collateralAddress": "XjjTQGBDzCJUVQAJyeT9ycZJ8SRTaeGrfr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.129.63.9:9999", + "registeredHeight": 1363333, + "lastPaidHeight": 1926116, + "consecutivePayments": 0, + "PoSePenalty": 4219, + "PoSeRevivedHeight": 1904884, + "PoSeBanHeight": 1928778, + "revocationReason": 0, + "ownerAddress": "XpdiVuibqeSSqJiRQUkoZqQVk2UrAtymfm", + "votingAddress": "XpTtumqHeA5TwriPhWBLa4X2v9Vpx4J9tN", + "payoutAddress": "Xwue8Hi3jvs2Nt4rH5f6mW1BHXMrFT8RMV", + "pubKeyOperator": "8fcf96eb08d040a75fdfa0e7d87fa87ed77fa73f7fc9d2cee46c209d975ae2e50865c52f209f76deeb9a907dd5d07a2c" + } + }, + { + "type": "Regular", + "proTxHash": "99cdfca81e4fed19bce4fe261f90dfa7cf0aeef33f9c57e7865dad491fdde1c7", + "collateralHash": "749837b85e9afd699e651a9b3decdd9541ef3359df0bf7d4b6447affd551b6ac", + "collateralIndex": 0, + "collateralAddress": "XuiLfg4PKeSVMTm98AaftJn5XTXieJhtqf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.129.63.194:9999", + "registeredHeight": 1365004, + "lastPaidHeight": 1926117, + "consecutivePayments": 0, + "PoSePenalty": 4216, + "PoSeRevivedHeight": 1904884, + "PoSeBanHeight": 1927626, + "revocationReason": 0, + "ownerAddress": "Xo71cPaShL6Nq1vLua7fJncv8Fgtn5FLey", + "votingAddress": "XvF7L3ipFbzidKUn1DMKMEi8AM4x24jd3H", + "payoutAddress": "XuMEWD2pSDGVgEwQBmq2zqYvjLZMkNMAry", + "pubKeyOperator": "8647f609c4d9a35da1c262531abaf99022dfec3bd6bdd379265f7674b2e314fc1bef866290f19f87edbb6714b3715d49" + } + }, + { + "type": "Regular", + "proTxHash": "47a1e39dc22fbec4505ba5a01b10a16b1099ee54d925c0702271b48e6bc1c661", + "collateralHash": "845d7b40a09b747bbcf9fa7589c86ff80e868c96b86de97bfb7b32c587216084", + "collateralIndex": 0, + "collateralAddress": "XnMmMPkpCMgzrEfY9qxeSXxh76cEsPeUam", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.242.89:9999", + "registeredHeight": 1365228, + "lastPaidHeight": 2127239, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvB8FTvV8nYpJUVopgMabBTeSTKMfTQYC7", + "votingAddress": "XjPRrTDeDJWSML2PTGS7yFDYZPq4HyfriB", + "payoutAddress": "XnMmMPkpCMgzrEfY9qxeSXxh76cEsPeUam", + "pubKeyOperator": "0936107afd59a0433113ee3d77ef0ed7bc48790f70959460fdcac663f7050b4e48179c68228fe15f91dd6c19c702d0c8" + } + }, + { + "type": "Regular", + "proTxHash": "cf2b6c9a393710d509da9453a9952374cbd653967f6236621bc530f9b47b8fb8", + "collateralHash": "b53faac9a25fabb2ab01560f889c5f786229616ffa06eb2b1701ffecb71876f5", + "collateralIndex": 1, + "collateralAddress": "XxHFAWeV8wb9ds67ZJ5xProZwATEbsf2Yi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.158.27.64:9999", + "registeredHeight": 1366586, + "lastPaidHeight": 1926115, + "consecutivePayments": 0, + "PoSePenalty": 4217, + "PoSeRevivedHeight": 1904884, + "PoSeBanHeight": 1926186, + "revocationReason": 0, + "ownerAddress": "XmzogEUfTpLXtLAh2MphTj8hz6gTjmUtJm", + "votingAddress": "XppcmTvPKEhRfuiwPLSHKN7MdaBNTVzz5Z", + "payoutAddress": "XwXGhvjfvB61DvSLnJJPrZb1RHJCXQ5j6k", + "pubKeyOperator": "10b0293bff68aba431036287b89ec04dcd19334e82839f4f64fb43c691b255e84544f45c5bf3e5f4b7ec3775f2d8905d" + } + }, + { + "type": "Regular", + "proTxHash": "4e0ebb223e12094323c7d6c4b8d543bacd0a468248b01c85f0d7a79885f52d35", + "collateralHash": "dfecd894a2c3ac7083b0d31f301f8d53472f29b907ba1fd4bc06c513c05ab3c3", + "collateralIndex": 1, + "collateralAddress": "XfdXpSNfDnSJmFeqR3oiGXmSedSQYn9XTc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.224.28:9999", + "registeredHeight": 1370239, + "lastPaidHeight": 2127276, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdoF3opZMxSbpJyyGvxT25hvsTg3j9Ge3K", + "votingAddress": "XakrZRBgDMtcBUPE7obZ6v5JUijQUwJ1U1", + "payoutAddress": "XfdXpSNfDnSJmFeqR3oiGXmSedSQYn9XTc", + "pubKeyOperator": "0704c5f35bf5e5bde34391886bd2ca1db359171c09b72f750929a4da6b8d3d6a72385f504c67d3af107ff2095129801e" + } + }, + { + "type": "Regular", + "proTxHash": "146c92fef58ad6306da03231e47afc5f72c1e28c25b490a36f3d9f2d9692f987", + "collateralHash": "eed51df26013a4d878daf0ce197d1872621457fe1b80d672e64cd51180c2d5f9", + "collateralIndex": 0, + "collateralAddress": "XxjLor3SS28t4EWQEG9GqjjdD11k9JgDao", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.33.191:9999", + "registeredHeight": 1370240, + "lastPaidHeight": 2127279, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdTun58isPYxasB1iEBV2SRmUGsfRegtpr", + "votingAddress": "Xxk55k9poMPebEgBCaEhCbnPTL2aAL3ZKw", + "payoutAddress": "XxjLor3SS28t4EWQEG9GqjjdD11k9JgDao", + "pubKeyOperator": "0f9a71ec6f7434cddb53401b5957b0c3f67ccb94f9b298dd233bac50b30dc482cc04b0b11273bcd22e2b0cf9f094ded4" + } + }, + { + "type": "Regular", + "proTxHash": "d7a45875823c09164b36a35b7423322097df0baadc3336e2fed0a18f946416fa", + "collateralHash": "b2945ff640be3404ac0319a3b16f803449f43dfb4b5ebe62e3f2a3230ee25314", + "collateralIndex": 1, + "collateralAddress": "XjZSkUYGQxsxAhdGiPUcNwUC8w66TPnu9j", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.118:9999", + "registeredHeight": 1370338, + "lastPaidHeight": 2127327, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsmKYFq2h5ofawLdSYL1firE5mmyjzFnHg", + "votingAddress": "XnKtiLRe5wF5hxx6HmjkPj2tvmHkteHMQK", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "12129b24f6b0d22e810f80dd34005ba7abe1fcfbccda733f34dec1072c5abb3b0623096100491e01bbe3937ce91fd16f" + } + }, + { + "type": "Regular", + "proTxHash": "aa630adf5305e0880dec840d16a896b368e9e78500f70993937d3ec417cc1a35", + "collateralHash": "4c8f31a0db8bd442a4bbf999f232121755958f415f83439f1fb809b928e86b79", + "collateralIndex": 1, + "collateralAddress": "XsMSihhFvgMGAYREtHUigUA1FNzS3HFL2B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.243:9999", + "registeredHeight": 1370338, + "lastPaidHeight": 2127326, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwEzZRgkGqa765EJE5fhnnsdnFep2cFbE3", + "votingAddress": "XnvKtQ7BZ5bZfX3JpV88s852MaB4pnrS8L", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "1960e7a8b3ae22b3332b7b8b3abc5cc973e55c57e084bb304dfa81220a4954c855cc3149856df1abcfa9097ac6fb44b4" + } + }, + { + "type": "Regular", + "proTxHash": "22ec6f3cdfeba23d345452f81d1fdd0572a14e8457797770c1749ea2a0fd88c0", + "collateralHash": "697d87212dde958d12998a00d6cffeae7674ad3fbca9ae92a3afc60c41868d04", + "collateralIndex": 1, + "collateralAddress": "XqTsGnpNuWzSCLkwASr3wzBKrs55qAbx6f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.129:9999", + "registeredHeight": 1370339, + "lastPaidHeight": 2127330, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxihd626znnKDK9SjWpDGF84RVgq4MEoBa", + "votingAddress": "XohA3a8Le7ihx58rayjdVzfD1VCEZaZXdu", + "payoutAddress": "XwvpyookBdZoUN7t4eFHarcvLCyhZYckFB", + "pubKeyOperator": "15abed675f69ce1204d715b1ff44d24c3bc4b067ac2db6b2baac5e000347d0a9d95b17e8756aaea097df51fad68cb575" + } + }, + { + "type": "Regular", + "proTxHash": "d20fa966769975356d5ad281c77a1a9431bdf2b8dcf8c86d09186cfe173687ae", + "collateralHash": "0c6eac194ec3874292406955b062f9a7100763f2026091bd3f1e7eb5b86146a1", + "collateralIndex": 1, + "collateralAddress": "Xw8VkPDxA32y5fo41g73XfAMy5oDPDg73h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.193:9999", + "registeredHeight": 1370701, + "lastPaidHeight": 2127553, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XezYyehtoAsHjwkuc2djjgAcCFDEZr8ufc", + "votingAddress": "Xhm3Kt4Gxenx33PjDqRmohriQTTzkB8tFr", + "payoutAddress": "XqgXLJqq88FMBSRSzJunmYF2LH3dWBbdv5", + "pubKeyOperator": "8898a39b22fc9e23db59fcc00efb970866f947f289cc549e3ef0c96f017f599447112c28bd26b43bac36aa0dbad4ccaf" + } + }, + { + "type": "Regular", + "proTxHash": "e2f7084097a3b7b1e85df51e919995db6d572754a0b336d366117205b49a67d2", + "collateralHash": "96def2677ba1c09dad74f787a5dbe4197794cb532c8e84b0ea7395d155835497", + "collateralIndex": 1, + "collateralAddress": "XmHGCgNaomtQ8QbBhf1DbZenzoqF6gy3at", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.133:9999", + "registeredHeight": 1371729, + "lastPaidHeight": 2128408, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg5KFYSjkwfHqJtKcStwkcf2gwbWJPxwMM", + "votingAddress": "XwxxFZSQ4V4vuYxeBuueh7xNPEpDvjEgVx", + "payoutAddress": "Xmah8zbEr9o3wxN6UzHT1SCz5iAsFXS1iU", + "pubKeyOperator": "0968219ba8b3d07f6ca8033e06b99bacdd7b9dd8d0d919d2bd8e3f3fff50fb0984d91b63feaa4311ab2da984590b4068" + } + }, + { + "type": "Regular", + "proTxHash": "ef9c6df4292b36951beaa430664a3be60ff3c73f197894c447e2208f3433b801", + "collateralHash": "be095d0ae5848033c8ad2d7fa12a860ddf302fd73407e8e62ae308b6f6fce695", + "collateralIndex": 1, + "collateralAddress": "Xgj1wegndAw6EYcZUNkiSSgk5pDnTPo4Ng", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.117:9999", + "registeredHeight": 1371729, + "lastPaidHeight": 2128407, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhfJ7QEURKySav6Z4VHLWvJWjknhzEHNwp", + "votingAddress": "XsZyQWqseeh8BrMGnLkQNwzXh7HnbNpjNE", + "payoutAddress": "Xmah8zbEr9o3wxN6UzHT1SCz5iAsFXS1iU", + "pubKeyOperator": "96f8953f1b1a7b788e77166535d3c9181e017dfef052f1b09eaef4c4df71769439e305c0f920fed626501e6684b62014" + } + }, + { + "type": "Regular", + "proTxHash": "994c2f6c2d00b067e9cc91607ab5809edc8e41fafeeac77ec938bbf8fb6f6b04", + "collateralHash": "c056194a26611a0923cbc6ee02caf17c77b0c2fb077c3cb7334698026d6edc2e", + "collateralIndex": 1, + "collateralAddress": "Xj5ruHAAN6uwUo2WCTScqsrad7k5bSg5vT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.195:9999", + "registeredHeight": 1371733, + "lastPaidHeight": 2128410, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xokqh9cKbpuz8X8ZpZK8o34qr7pFekXqcf", + "votingAddress": "Xjhw4kATDtbjP8AMn1DP3UvQnfLBFRpVvB", + "payoutAddress": "Xmah8zbEr9o3wxN6UzHT1SCz5iAsFXS1iU", + "pubKeyOperator": "8b4bd11a11b940eb75110e0c5bd4f53e3774fc6b089d4812abf0fa944b91028d1f4161491801828bce72b8e56758755d" + } + }, + { + "type": "Regular", + "proTxHash": "5700bafafe1d403c2d4ba9b8f1a13d16890457c01d3f908fad407b2f2987e383", + "collateralHash": "87063617a6aa308c8b867796485fd3114d45810e5cd1475c397ed63336a65896", + "collateralIndex": 1, + "collateralAddress": "XrgxbZtPVeonNtHNc8rxPb7SEvR63DVZXc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.205:9999", + "registeredHeight": 1371735, + "lastPaidHeight": 2128413, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XotMWXR5D1ozwUmuHuQzKrzmBqvPD9YkfR", + "votingAddress": "XgvtxCw573Fgz5r8CjX7vPByGZVLHCrKiW", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "957ad9c8945a8e9dd96953c4251e296b68af247d5109ee3dd63de0800f0c890f98c1fb8c72c175abaac9abde3addffd2" + } + }, + { + "type": "Regular", + "proTxHash": "bd0ed565ce4d2b5cf4f0ec11b9ad5c46dfd647794dea47785f1ce2178f58b405", + "collateralHash": "40cb22bb9cc9bd0f7b7af03a1f14cacaa8fa4c3934057df1770b3cd3392c400d", + "collateralIndex": 1, + "collateralAddress": "XypN9kskAqyERij6rfecYiagDWZm6yaNEE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.152:9999", + "registeredHeight": 1371735, + "lastPaidHeight": 2128411, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqoLhZYmKfY2hFSYuWi9hAmFtc7iAgUEVo", + "votingAddress": "XqKqxxSvUoTxL94N27R7X262cV8bknyZXv", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "0207579c663392f01ee6d367690df6c5a002a1f414e77149119b56e6ef435f00052d5d4a4c7d8b6f882e9e5fe15519f9" + } + }, + { + "type": "Regular", + "proTxHash": "a6237660068ca2e13e4179a19ed20d678d653c2186e7d5732bb012cfa94e06c8", + "collateralHash": "4cf1e4447aa04c6225a16a841284a1ad671c0ba0d4af8b08a6338baf653f83d6", + "collateralIndex": 1, + "collateralAddress": "XynXyYne3QWfpuQsK8W8aytxv7r68jxHEZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.55:9999", + "registeredHeight": 1371735, + "lastPaidHeight": 2128415, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkEPNEseC5jLn15qxByTmJnbJc2bybrVmy", + "votingAddress": "XwKYPkALDtX6CH6YrVjDXdY1xWS7ntnVob", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "14af3978b5ebbca357feaeaf936708d7a99d7698e0a1309bb1e99fc9274659ffac55c8da8e83f1ad76d176c7f83ad4a4" + } + }, + { + "type": "Regular", + "proTxHash": "44a4844a552002b3da4fc70d26b8864aa6470abafd1d32028ffd352ad5400f1f", + "collateralHash": "1bad79ddf329c6e2def42eab0d19da35c5955584b12cd99b8384077082286509", + "collateralIndex": 1, + "collateralAddress": "XhV7BKtrKqdrgSoUfwCeN1iQbcCHnc8FW4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.110:9999", + "registeredHeight": 1371735, + "lastPaidHeight": 2128412, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv6efswQnaQ3YKB4oReVWUJPxbZ7q1SyML", + "votingAddress": "XxcjXkr2BktQCBzudkk2hBXXUgVMxaPgeJ", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "9834170a604464e3878387c8b2882c435a661635bf31b48e2d8a7aa1f08b6ed5ea9c45efea20d8aa189b8711f80cee4d" + } + }, + { + "type": "Regular", + "proTxHash": "ca301c09908fcd2f7e46e26e5c55f59ca585b494f5065374f9829a4e2842eb62", + "collateralHash": "13c340784ef69b9e39871c7673deb83754411195393a0cacb262f7baaff333f7", + "collateralIndex": 1, + "collateralAddress": "XbbbjnAKg8GveC9tNKjJceuSgJ7Nyi6FUU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.19:9999", + "registeredHeight": 1371735, + "lastPaidHeight": 2127398, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1765463, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfqx8N9cDSzQpK4FP1xEJdzqS8adiDq2BX", + "votingAddress": "Xxc1ghAsqHDVEJyRFsU3dcpo7xJ9bhpYBW", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "82a604157069a745a3055025e33858c18da6f54410c77dee30c82db829d356e549f06d132fc32c7cd7e26d7ce204843d" + } + }, + { + "type": "Regular", + "proTxHash": "786ed984ab4fadbe69493bf98907acc62d13668f6e71725cbec8d6219f2ead2c", + "collateralHash": "019389defa1165aded59ac5c27b402ac19ef86b37e732d0aad851967bd3927ed", + "collateralIndex": 1, + "collateralAddress": "XvLGeCKUK4tuENnNwtRUZEdehudn2aBk1w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.212:9999", + "registeredHeight": 1371739, + "lastPaidHeight": 2128417, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk5JZgjBeV6njz7P8ywx7itBNathfqXgyt", + "votingAddress": "XoM2mgvnc3iePUWPkY4VqJdCNevqzMp2K6", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "0c90c237db66c4bafc8078df5badf04a171bd8790077570d4825ebb6be6d12fd65e9cd2390540d038afd59343dccb592" + } + }, + { + "type": "Regular", + "proTxHash": "981f04ee0e01a31544d54e960b1389f5ebbed32efb48429e04e823b788f59233", + "collateralHash": "1bde354658b6f0ed91c4e25dc2c55bbcf03082d827ce1228654e6bd759514cd6", + "collateralIndex": 1, + "collateralAddress": "XqCcFX564ic4LkYhrycbiAdTimUmo4iMmY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.221:9999", + "registeredHeight": 1371740, + "lastPaidHeight": 2128421, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoAxj7ZpA2cvrRACM8RvaS5hxYoG3cWVni", + "votingAddress": "Xog9MX4SHetAEUR7sNbTQuSdDBtPKaCCbL", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "8d49addc10bb10d8b1bd3b394b80b03f42219553ca6e1e123fe86566d5380a1624b17aa8bc239e9b394f676a95546245" + } + }, + { + "type": "Regular", + "proTxHash": "97ec97773242ec1498c38e5dcf30b3c376feeb3e376e462549a2da418aa8ad8f", + "collateralHash": "bcf8061dde830a7e8616d76e8ccc534f350d68ae9f00b75c2e76dcf3b9af4cf3", + "collateralIndex": 1, + "collateralAddress": "XwrF7uWwUz2Samw3VTzsVYH8Ba2nXarb7X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.216:9999", + "registeredHeight": 1371741, + "lastPaidHeight": 2128423, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvrRCkLcyDKPBCNg7DXSCzi8BSD9LvcVuH", + "votingAddress": "XyVEt9zCSVGA6eZwrtHKKJqLEBi5S39J9n", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "81d89b79b719e75a0b1d343ca1ed9c5ec7b0aaa6ca52ea24097ce382ef592f78c54944da001b77d78ad1a5438078d9cf" + } + }, + { + "type": "Regular", + "proTxHash": "4f5ba9d8d25d5ee3d7e1c6b97a27df964fa994fe6561e942d28e24b33e11c986", + "collateralHash": "b617ebab853597f978872c2b1506ce96359764ffb0b661209c6fcd9915313859", + "collateralIndex": 1, + "collateralAddress": "Xrtpvr6qdfrzajF2ux7uWsWTGphee5vTfA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.68:9999", + "registeredHeight": 1371744, + "lastPaidHeight": 2128426, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdK7Jh5fEZibXQwp7p2gM88iDMXHgxKzEy", + "votingAddress": "XqCuLfY5douL2LrApSUUxAqRNrUogpiw8U", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "0dde690e9bc610f5a655f485a47d778bc7151436ed48ee907839957b027afc753f665009122109ef348e9b6a6c907e59" + } + }, + { + "type": "Regular", + "proTxHash": "7d9d6d7d133dc15b27e31f134bb0ec757b1d16d2a6424fa762cd4bed92442659", + "collateralHash": "ad239bb6f0b9bc09df88bdae19898ca67fc3eb8eba82870fd530a3dadf01a86e", + "collateralIndex": 1, + "collateralAddress": "XhaANnQudcoNjmSoGcmRNtu1TB3hgEePDR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.102:9999", + "registeredHeight": 1371744, + "lastPaidHeight": 2128424, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxC9gqQMPgcJGSWma5i1kFgtpKwEkDosyL", + "votingAddress": "XqYGoi8pe9ovyVXWMPpPbxKXtnB2jgAZdU", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "93ddc281861460f7521c5e5dd292d21a04ed54e659b610a8110cf576b66f7d77178ce6a4d64e89e2f06946f4a24dfe39" + } + }, + { + "type": "Regular", + "proTxHash": "fd26c586441f0b3f96d4db897cf643c2a3fe59d2a85d82a7ee23a70e9fe58a31", + "collateralHash": "824b27692003e06062ce12b18a391b935e696d223c1a4f588b26f7694c6fba18", + "collateralIndex": 1, + "collateralAddress": "XqPxu1gWobZdDsnnupDBiBYDdFZ45xf74f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.195:9999", + "registeredHeight": 1371745, + "lastPaidHeight": 2128429, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpSjEQd3VifRBFC9CjvvugxzAU5uTAYJvU", + "votingAddress": "XvbHtBF2cRW1JM738Xe6N22ReYPFNfVuEj", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "0a3c17c3f4ab83254cc4a2b9ac7560356740e2c77849cb9e033f41bf195efb2af67637d2d0109a5ae4f5667d770f5bed" + } + }, + { + "type": "Regular", + "proTxHash": "369ecabdda35bcb4081936118c165dc76b1595e03c156da628e9ccb99746ed99", + "collateralHash": "b9a13aa15313be3854cefc6f1df1bf55cf5f8e3ae0e72c4a88d03fbfc57bf628", + "collateralIndex": 1, + "collateralAddress": "Xg4yGyG3n8fPQAZM9gFs7ErVBXehXZfXLF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.220:9999", + "registeredHeight": 1371745, + "lastPaidHeight": 2128433, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeEnduxSGuEbypwE3cp6Gfjgg5n6MSUy4V", + "votingAddress": "Xr3U1WyFjgP3g2eWdQaCSB2aYzucmeeA6h", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "892bda25e986cfdce112814bff6bb7f01b5bba267f503902d006ed0c30c4c27b782bf3cdfdb761514fba52129e45f76f" + } + }, + { + "type": "Regular", + "proTxHash": "ae56021d72b82a35e8cf13588c9b309070bf1adcea4557ae50b16f1d4108c9c8", + "collateralHash": "8ccab5c1a4616da4ea1b1eeba6ffeaba847fc38dee5d7152f0e312ef7b56b373", + "collateralIndex": 1, + "collateralAddress": "XnQZHaUfGFd8vwgT1TrRytkgUeHF4EM4z4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.210:9999", + "registeredHeight": 1371745, + "lastPaidHeight": 2128434, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiYUboKcpcTwWEkYiMcmdGLCB1CzfZhKF7", + "votingAddress": "Xy27VNrpnEiUeSmbmAhmbGFGqk3SuWw9AG", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "831691e51184b59bbb130aef9fadc068ef877faad9fd7db92fcea7383fc798d1b4bceed4163c43eebf9a44f2faccd522" + } + }, + { + "type": "Regular", + "proTxHash": "c346b478160ab629c95194c023ad2d9826c2fdf61921fcfeae8f950b836b9f9e", + "collateralHash": "7951e0ce2a1c014b03f5955449db8cb5831b821abbf741e5cb8c7ddd04376f26", + "collateralIndex": 1, + "collateralAddress": "XoBB8sxP3s1VebZqpJct8nR9nCuLu8ULyK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.215:9999", + "registeredHeight": 1371747, + "lastPaidHeight": 2128438, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyKRW7nVALvsZG11bE7iyU5VZHGU8itemj", + "votingAddress": "XgZydkXtB6hsSy9V8jZd4KAM8WvU6QmvEG", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "806266f5dfc6ee2463ff58bbb94baca161e0e65c505395d6b76ea141297c1c0f5ccadd1da46a638b219fdb6c10626500" + } + }, + { + "type": "Regular", + "proTxHash": "5191144a3f105a2bc126d8f70a23e1ed62eade1ea9e74f693ba43418078694b2", + "collateralHash": "733deb0e6b212902cbaede6f38b3c2ccc04e5b73bf5f052fa906ce2ad99fb047", + "collateralIndex": 1, + "collateralAddress": "XtSr2SnnNnUP7YWKk7aXquM3TJpA3Gp2RM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.129:9999", + "registeredHeight": 1371753, + "lastPaidHeight": 2128457, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpRKws88NRBzVaXBRaJ29Zo6GR2MySFUKM", + "votingAddress": "XiU1YCHLwNHGBf14BmP7ubekate91DtrGS", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "14adb9dc7ba9379f76fbb3a221be50dc9841895f9d5d126712c9592ac42d40739cf1990f1252497d7db689c4a23c0b06" + } + }, + { + "type": "Regular", + "proTxHash": "f18613f323c19778256a878e0a387866d108e768349fda394a4d4f321f41cc0b", + "collateralHash": "4e00166fdf6e8b29648b8faa95e3705bafac9e10d3f2380d4337bcab22816aa1", + "collateralIndex": 1, + "collateralAddress": "Xwmh3z616SpaZcmHWv2a51q9cCqBgZHfRz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.131:9999", + "registeredHeight": 1371759, + "lastPaidHeight": 2127435, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1645655, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnnpqZmd1iDiDtK8KqFW2FWCaD2PjHrwXb", + "votingAddress": "XuWAgCAoVmNovc9zap2HVicNGiSaQz9ixa", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "934dccdaec10c23dbb5e2e42de4c78ee3e1d7b2628e686ab79c6fe693c4fdaa81f85302c01c4d579f2255277da284a35" + } + }, + { + "type": "Regular", + "proTxHash": "5486188ec8f0fcdba5e15b43975a1b273fbdcbcfa5aa3b1e12013294e0576d55", + "collateralHash": "3885d40ca7fc6ca7347c5c50d537703e4146d51d07a10c27d79fd467ecf65186", + "collateralIndex": 0, + "collateralAddress": "XodRyudxZRfwinnVgYbeN2sRvr7o9EpeAM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.171.193:9999", + "registeredHeight": 1372114, + "lastPaidHeight": 2127092, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuRPQBusNrjr1XPAD8XrZDGMvBaj2TWxA3", + "votingAddress": "XcDwc14e62XkkQvuLG6mE94m6DA2hAVxta", + "payoutAddress": "XodRyudxZRfwinnVgYbeN2sRvr7o9EpeAM", + "pubKeyOperator": "0918aa09e732aa263c78799a811b31230ff591807b50f93e955cc0692d6a418d1ba0609b5c46f1709d2a2c9216872c2e" + } + }, + { + "type": "Regular", + "proTxHash": "3f1c20766fc9d1bb4bf39e6184d8850a7d7d37ed604c432c4ec6c1352d9efb50", + "collateralHash": "d6241b205c94cfd6bae96b2183b52924c4a5bb4d217325bdb8c86712d4f8a9ce", + "collateralIndex": 0, + "collateralAddress": "XuNJRSYBXNcxCraU4ZHWU2Z7qkdVENzMJc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.211.232:9999", + "registeredHeight": 1372118, + "lastPaidHeight": 2126581, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985795, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyMu197eiFqLDszCt7hTXdhSEXj8MrSnHa", + "votingAddress": "XytkfYcH4kBXSSh4WJ6F9wjB5fJprQc8re", + "payoutAddress": "XuNJRSYBXNcxCraU4ZHWU2Z7qkdVENzMJc", + "pubKeyOperator": "8a42a53c9e81ee86f6064f5cc3a53494dd7617e40dfc26a3229074824792c22041d7b9ccc9b4ec55dc6cdf3b9b20c630" + } + }, + { + "type": "Regular", + "proTxHash": "bfa0e86d5774ebc680e9a836e552528b8c7871ea60c9bfa99e302b03e8aea6a6", + "collateralHash": "55b3b5716edb44127567e9ab4204d8eb38d0cf243b38d562c0b27d9f829f4bd9", + "collateralIndex": 1, + "collateralAddress": "XyLhtnKbjdKwifoJ6DqDHQrA1w3nv9v9GL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "142.93.221.139:9999", + "registeredHeight": 1373516, + "lastPaidHeight": 2062638, + "consecutivePayments": 0, + "PoSePenalty": 3811, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2063829, + "revocationReason": 0, + "ownerAddress": "Xr9Mu49W5VCMiYuWQ5yQR6cosV5r7LaoaC", + "votingAddress": "XyhfJddMEmcjAg2J71gASy5iwU2rE6SV5h", + "payoutAddress": "XqJAZqkeoHFT5XaepKmWiTCud2JQkGFehQ", + "pubKeyOperator": "93b19253ddb9d5f245be4551a39d51f4fc71e6653048e7a3dbb32896bf47460bb6621ac2133b7013cfd345b7fbe8e37e" + } + }, + { + "type": "Regular", + "proTxHash": "32eab155059d040fd9a2aae2c4ec4758629bd00d92e9d59e3f9ef691d2d89ef3", + "collateralHash": "646f000e381c15c9e77bcd866aeb97689f1ad5ea07a6248112acf3fad11e4b9a", + "collateralIndex": 1, + "collateralAddress": "XwagYR56XN8FfJmaXWR34My6TarSqCHWqP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.67:9999", + "registeredHeight": 1373800, + "lastPaidHeight": 2126372, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxrtF4EiAiaDv75BUFAqWeV425jYa4hiAG", + "votingAddress": "XtYm8G4pLZt78JAwapSHHzy7XA8R642Tyb", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "092283db11f10ad072ed256aea0bcab7ea617f7dd8f7758d5ab16e3d09c76c3c3218d274b2c1a8266f3cbc209a32c4cf" + } + }, + { + "type": "Regular", + "proTxHash": "4c987e42c65901e8109cf7dd34046a48829c0df71f018be2dfe2c377e6b7f6cc", + "collateralHash": "0a9b4b6e35b5b9d620a69be6724a7d51c73c3e69a99588124f4d40bfb18bc28e", + "collateralIndex": 0, + "collateralAddress": "Xj6XbcQkau8EdPmhg3n3bassDR6URD5DPH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "142.93.216.91:9999", + "registeredHeight": 1373862, + "lastPaidHeight": 2126392, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnEDLefVqdEUc7y1edfQBH8noZ4TEuoaeC", + "votingAddress": "XiUY6Pd85zHav5o9AhmpSxaPLEKXqt9fgT", + "payoutAddress": "Xj6XbcQkau8EdPmhg3n3bassDR6URD5DPH", + "pubKeyOperator": "0c7cee2443fb67f0d5b39959cfde7353cb938bbc814adf270997ac85504cf681f727076809e99b380ba2211deb4e3095" + } + }, + { + "type": "Regular", + "proTxHash": "6701c74bbd22b937616cd927afe043d8e26ea7261b6faee2599b62eeb2f66f50", + "collateralHash": "ee33cd7e40fd58a72b1a4e419e4e323e0ef2e673f8d9ad38da53a99c7d8453de", + "collateralIndex": 0, + "collateralAddress": "XoR8wXzL5Lh1TyxT4W46Km8MN3r3Aecc5Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.232.35.88:9999", + "registeredHeight": 1374387, + "lastPaidHeight": 2126739, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxj7kuZKQjpizbzRnUPvK7X7SH2v9o8v3s", + "votingAddress": "XyTE1Nm2dr7ZkjP6rPi4Zg37dSUV5TMAb1", + "payoutAddress": "XoR8wXzL5Lh1TyxT4W46Km8MN3r3Aecc5Z", + "pubKeyOperator": "8b2c822a369fc46b7aedb4a1f3740ea76b58242fd5749b2d6463267897c2e2ebede16e61fce20586c91254fb4b340acd" + } + }, + { + "type": "Regular", + "proTxHash": "b10d32ea73f52faaa9362c904f3b5f590d60b3c442333be2730ee43e71da7c02", + "collateralHash": "c2372b1daf3cfe6400330424026e430ce93ece1bb9b6f0b63f4a888e3cfe9872", + "collateralIndex": 1, + "collateralAddress": "XgVrFBit8H8jnKa3HVeQqiyCJWAp2bN8LU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.28:9999", + "registeredHeight": 1375457, + "lastPaidHeight": 2127430, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu6jzMuVvd4wfjakcznWDiBcDVNJZVCMXD", + "votingAddress": "XfH1L8uFb5xMtuWzeywk82QVbd5DRp3Kgx", + "payoutAddress": "XszWmcyionErdA5wxK5rZpp3MLLa2MMm2v", + "pubKeyOperator": "81bf020988b3260177826ecbd2d0ae0dcee620372adb2b732940f2dbb566b5f4e7fd71d90cc12c3714d3088b0ba8ae98" + } + }, + { + "type": "Regular", + "proTxHash": "8abcee559ca985ba03aee60cc6dd410c95fb7f377f26404a9e2c1dddc85fb71d", + "collateralHash": "995925fff797056dcb317079edc13544c6d8eedf43ae57246bd23fc68ccd4c02", + "collateralIndex": 1, + "collateralAddress": "Xw63PFg7vy3rZumKaWn5DRmopKGDcoJ4au", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.29:9999", + "registeredHeight": 1375457, + "lastPaidHeight": 2127431, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm5Mp4apmnhp3Z2aqXboVA5d64ztmuFX1e", + "votingAddress": "XcYk5cybbo3P966srDxH3cgR44RuyjB95H", + "payoutAddress": "XszWmcyionErdA5wxK5rZpp3MLLa2MMm2v", + "pubKeyOperator": "19caf6e624b23863cf713d186cf4b8dcecea8e3054fd355253105885f06410aa4c866165d0d1bd924890ebad0c4fa5ba" + } + }, + { + "type": "Regular", + "proTxHash": "b7dec9a8d2dd898dffd3a6eb2b89e919778c419832db7db8bf8d2ebd51bb9c4a", + "collateralHash": "639e0d400d8b98f9161539d75d9b55018138e2db921041528184d93a56e27973", + "collateralIndex": 1, + "collateralAddress": "XvSNDArGM8noikXVkFgQF99bddWCKfLDvV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.7:9999", + "registeredHeight": 1375836, + "lastPaidHeight": 2127765, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrGtxaAEgY26X6UC9HioEDBPmvUBffNH86", + "votingAddress": "XbvM53rJPowom8HVV7AAychBx8gq8ozgeB", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "8c05f87268f92ede6507d10d500b14c1146c77c1d57c14b27eb73463cf34f9e0ae199355e895479fa683e5abb60c6259" + } + }, + { + "type": "Regular", + "proTxHash": "fe5361fa539c657e2e19d5ecaff99e3a724db6d80847963ada26e65cd33e7231", + "collateralHash": "0414d0182e68c10fbe708136e3103c2e7b37b0e1af7a800ac821e39fa9790cc1", + "collateralIndex": 2, + "collateralAddress": "Xpac2kNW77NXcroQHXynrSnEgAeBMAk3Zx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.205.140:9999", + "registeredHeight": 1376351, + "lastPaidHeight": 1868891, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1865046, + "PoSeBanHeight": 1872330, + "revocationReason": 0, + "ownerAddress": "XyWZhmfyK7N1mojTCpUWxjbVe44X2Pk42P", + "votingAddress": "XpmeoyDb4JTXwwEahhr2DjE3Kg2Sf3SSyo", + "payoutAddress": "XhUzohasEFUhzfbsx95akG4hwKDSkB2q3C", + "pubKeyOperator": "170790a29d8f0b0489fa16c6962d8d55b8fba2168c891696d93064d540bcb3851f21edda80086e0e680c884533be33e8" + } + }, + { + "type": "Regular", + "proTxHash": "fdb3736a129c570538953f4a4af97969f4ff59fb8ca4edaf39a6d65d7c017943", + "collateralHash": "0414d0182e68c10fbe708136e3103c2e7b37b0e1af7a800ac821e39fa9790cc1", + "collateralIndex": 3, + "collateralAddress": "XvRdAofNFpouYvdoSTzMJwMpq9d2TpP3KK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "198.13.52.47:9999", + "registeredHeight": 1376352, + "lastPaidHeight": 1806962, + "consecutivePayments": 0, + "PoSePenalty": 4422, + "PoSeRevivedHeight": 1822808, + "PoSeBanHeight": 1823082, + "revocationReason": 0, + "ownerAddress": "XwhVvNEVkUGBfU5FNEiTosSoL4dKzHp9Zb", + "votingAddress": "XsPmV2wmxS9fX5Egyn96P4pegzJkHZwPqP", + "payoutAddress": "XyrWyYoUW8SQmjm3973FUcvHbRHz5V6QFZ", + "pubKeyOperator": "086a99752a3fa409f8fe635124950456337622d04df22e005b32db00c1c5febe2d42e3c33ed384c672d2015f5b7dd2d7" + } + }, + { + "type": "Regular", + "proTxHash": "bd0862e3546aaeb3ce1c6c627213014555bc0e65947998cc7f1a3cfac68f655e", + "collateralHash": "aabc25cbbd40818abaabd163f0d1a2d3c83779c6dd07e4aff7404818503e9e25", + "collateralIndex": 0, + "collateralAddress": "XcRuwHc8YTCuum3vFhTc7eWx69PArnkq23", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.11.194:9999", + "registeredHeight": 1376354, + "lastPaidHeight": 1868884, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1865043, + "PoSeBanHeight": 1872618, + "revocationReason": 0, + "ownerAddress": "XnMnVRMQW9oetDvjtrYevZ5UE6S6pMZfLy", + "votingAddress": "Xnws5acqCKU9vk2Kabx8Xq6j8kwZiuuCpn", + "payoutAddress": "XwLzYAtDjzHb1XCVuBZuqqoFHp5Qs345sx", + "pubKeyOperator": "05566f23c4f47a83cf13d43d035309e43a01351127880e73446784e2046ccf723a49e15e78f8a9b330a5bb429e990340" + } + }, + { + "type": "Regular", + "proTxHash": "4bc0865c3848003bbf7d3f031494aab9c1b0fa8124013908ca9e91f0fc5999ce", + "collateralHash": "d17b75d822d0ec927a01b9a9f9d9bf7243b675095c8ec64cc68d0405cedff652", + "collateralIndex": 0, + "collateralAddress": "XkFQAqtu4ZTo1Hds8xQTNEEvi8cAZudkvq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.129.235:9999", + "registeredHeight": 1376354, + "lastPaidHeight": 1868888, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1865043, + "PoSeBanHeight": 1872330, + "revocationReason": 0, + "ownerAddress": "XvTMg77K85KW7vp7cNbKSJaPBaj9HdHueh", + "votingAddress": "XehHXfb4XunD5vLjuVu6UJLkStpeMnSMbt", + "payoutAddress": "Xheeq7QGtaF6Q52vvZKUNrpX8UwLaQZGML", + "pubKeyOperator": "86b4c161539aa8643d4328b8f09f185ba4851c99b08c3ed14cb3b8a6bb932b7be2fcad59df90bd3f3710aed2f44d7eca" + } + }, + { + "type": "Regular", + "proTxHash": "06198421286efb254786278acb2f4fa121fb1e9700246c9d67ea18da9a8da0ca", + "collateralHash": "db6a14d251cf25b077222636b18e1d3e1701c970abcdfb63de0a0eba724e17f7", + "collateralIndex": 1, + "collateralAddress": "XnHhGkkYpCpb6CHber2nLJrA8NYay2rZAG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "108.160.134.116:9999", + "registeredHeight": 1377212, + "lastPaidHeight": 1817129, + "consecutivePayments": 0, + "PoSePenalty": 4423, + "PoSeRevivedHeight": 1865535, + "PoSeBanHeight": 1865994, + "revocationReason": 0, + "ownerAddress": "Xu1PJRJekaoADG7nn3eUevd86E9wFAgphe", + "votingAddress": "XuEbWA2ojMEfvDrSmaFrfncxoq4cHcy45x", + "payoutAddress": "XruAznQ7mtcFfiGFyGjcS7e7W6LS2Myggs", + "pubKeyOperator": "1669b3ff2748861473f72f3cf92091b934820f340b646227a9c2c936ac0a3304af3a32cde25806ccb12d89c1adc0e1b2" + } + }, + { + "type": "Regular", + "proTxHash": "4309efc75b64d77fd439db2d03ef098077ee6d35a5e48bebc158f7c58a561c20", + "collateralHash": "a73102082bd4e837d9851e4b9a9990807ce9c19f97370640eb91cc3d2fc54b3e", + "collateralIndex": 0, + "collateralAddress": "XikgZh3Ux27ikUgndaeg9mizu7VmZK1T4L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "108.61.247.70:9999", + "registeredHeight": 1377213, + "lastPaidHeight": 1803484, + "consecutivePayments": 0, + "PoSePenalty": 4422, + "PoSeRevivedHeight": 1822224, + "PoSeBanHeight": 1823082, + "revocationReason": 0, + "ownerAddress": "XrYw2QH7rrb9FPk9z2FyZLx9GNgeAFH6Ef", + "votingAddress": "XfCHLRHPkknViPz7o43cuR4YQhV11ad4Ct", + "payoutAddress": "XbGxRxxPk2x9exEA8aAN1bVRZK8RqJLgMM", + "pubKeyOperator": "8c59300831aa194b99c05622503b0406874efc2542e74054b3f6a16622765649fac27d2a462f3ae58abcea95f6094861" + } + }, + { + "type": "Regular", + "proTxHash": "ca1318207c873a1c6623fd81c44a6dd6fcc91fafd613f6c311716f76fc581795", + "collateralHash": "efe8ecf5019198d2a814e84dc332962c83997babf7fa417fa0d44e55f158e5f6", + "collateralIndex": 1, + "collateralAddress": "Xi2bQW9DVW39LgEdSKDJmSmvx6fS42ESkZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.146:9999", + "registeredHeight": 1377280, + "lastPaidHeight": 2128874, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsBaKoUpqYQaGf8Eu5XsCmvEiUmwydjAaP", + "votingAddress": "Xo8hZJNBKooknAfNHASyTyUH68do4W3uTJ", + "payoutAddress": "XosDLnA2WqSMeDWY2DHtNboirQNg8wsxZ1", + "pubKeyOperator": "16809c908d040c3752a78315e20c092256f97bbd274dfd4a2bdf1a25500f8f4a20b389d9897b109bc5c1acbd14ec85ff" + } + }, + { + "type": "Regular", + "proTxHash": "58be6528adf1438d2259604d382e8ed3993c01051fe039491d440fba9160bba3", + "collateralHash": "db6a14d251cf25b077222636b18e1d3e1701c970abcdfb63de0a0eba724e17f7", + "collateralIndex": 3, + "collateralAddress": "XyXWLVmik1CzszHhpkfNNWFpg1Fffn1c62", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.25.132:9999", + "registeredHeight": 1377548, + "lastPaidHeight": 1868885, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1865043, + "PoSeBanHeight": 1872618, + "revocationReason": 0, + "ownerAddress": "XhrdQ9bAem1hSFLGAXACNno1CGhGhcktW8", + "votingAddress": "XvzwXiBRqeU7FitJTi7EvRw1DXFEzEutU3", + "payoutAddress": "XrCwnncqbTZh7qZKZ38G8jJq3RYv4qzZ2V", + "pubKeyOperator": "965b070145fd09b66f7b4e7a8144ae5db80f1c22cbe43de23131a4ccc3cf7631cef1cdf95502b8225edab6b040e2e4bd" + } + }, + { + "type": "Regular", + "proTxHash": "d1aa0f8d745d9ba7fb319685b22438fc70c64183139467b0ba75a0a83a94f1f9", + "collateralHash": "ea0500670bb3e41a6054df5ff9542a34fb0b8a85d73b505bfbce3a7820434f50", + "collateralIndex": 1, + "collateralAddress": "XoVaBY67YKxiFwLQiEybzZYPXbPfUcAjdq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.119:9999", + "registeredHeight": 1377604, + "lastPaidHeight": 2125797, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcyndXUQdHMcRFDDWwDZyvdkF4pHh6KHRk", + "votingAddress": "XqAaSZUBUBhrpxuyrTKBUqoMDat5hLhzpi", + "payoutAddress": "XnkfVZ7G69sqoBqeGh2XWFoAdFnyRQG3UK", + "pubKeyOperator": "972d111d87b5d8944e0afb393eacc0a48ec72d06fa542c8bff2de6160675c06e6c2341a201009bb0ae4496b28bd2dcc1" + } + }, + { + "type": "Regular", + "proTxHash": "45610d400bda9659dbe235d16ce78565913070c7465677b13622a454e8bd1c09", + "collateralHash": "023ab86633fb8c7a44c498b658e3735f88d2e2287df5c7890318af2c76489928", + "collateralIndex": 1, + "collateralAddress": "XsUhL5xmbUmJGgaiTfuPSCQJRRiJF5iYsE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.33:9999", + "registeredHeight": 1377640, + "lastPaidHeight": 2126547, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1609746, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XubMP9oDCoTvwtLcnCjtHSrJJZ3tqKYfoS", + "votingAddress": "XcBgFeddSKfEiVRP4pNYbjc58y9vQ5iWqD", + "payoutAddress": "XnxavbcVZaqdkhCtmMtvMVU8SBfMf4GoY4", + "pubKeyOperator": "985eacd343723c3225239694b54aea3617db134ebea57245358bdb85fb187e32326bf3747a3410d0605a279dd7da0908" + } + }, + { + "type": "Regular", + "proTxHash": "9a2fe3cde570ff56303bfdd29b7b386659a6d75e18f28cf62d0ed5d2000fe681", + "collateralHash": "218fe03ef1d13c508e7ffe3c96cd7b6f190091b0b7675322fb88949c64994159", + "collateralIndex": 0, + "collateralAddress": "XpFAUxoQVYhEw4bzGmrVMoLXoCU6VWw8DC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.131:9999", + "registeredHeight": 1378832, + "lastPaidHeight": 2126767, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1791403, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoMrw7L7uTN8pju6ZZUk7JBu4reB5uiL2x", + "votingAddress": "Xp4deDCfPFsUg89DvsQKczLz5QTL7VX3TH", + "payoutAddress": "XpFAUxoQVYhEw4bzGmrVMoLXoCU6VWw8DC", + "pubKeyOperator": "855b7cd85793437732071f47c678d891885ecb4d2577b444de28b454ec6ddb4712ba357dc156b57406e0040f44147620" + } + }, + { + "type": "Regular", + "proTxHash": "b9e94419b8423ad9df3b7465e5278db5bd13ec2eefd8dde963eb8142b1cc72a1", + "collateralHash": "c9686af1f3253920c91661d51400f946a787c3291c115aed8910a6571c8e5fbd", + "collateralIndex": 1, + "collateralAddress": "XmKuh4UmanfnnYzr6cMxxdzwEQUTWNQcJ9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.185:9999", + "registeredHeight": 1379367, + "lastPaidHeight": 2126919, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd2keVmCe4zHrQCGF9GZ5mKTExXaN7DgHv", + "votingAddress": "Xv7R5NJFc4BkRRNTfw8RgfsUDsxdb2TxCA", + "payoutAddress": "XsRGHFRxH5xvk9Bi3hPnF6q58XvVPdnStv", + "pubKeyOperator": "89511b7f44d81a748038f01d29d507cfb09c28e17b30da1a7d2087502b35e7c746fc8ab745201eb47c88cceadb0f9e6b" + } + }, + { + "type": "Regular", + "proTxHash": "5e3494b75a525b24d257a7973d4de3dc77cb13b7380f2266e385cae950ed70e7", + "collateralHash": "60533e4fcc00392787b07b30c991e08805ee38748342bc5026f3548f10e1b83e", + "collateralIndex": 1, + "collateralAddress": "XqcMRrLbhCut1DeFJYLSVNtYNTWNCEBz2w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.38.179:9999", + "registeredHeight": 1379835, + "lastPaidHeight": 2126693, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2036205, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbW9b355ZMAhY3avFwsahNbSMyRcPF8u5Z", + "votingAddress": "Xqwaj2FHRucZcfzMUgVjQfkdXfEzxD4iRd", + "payoutAddress": "Xnv6ux7TaGYfYVXqvzvm5t89PPAMyoaNqp", + "pubKeyOperator": "811e7e9fde3ed78cf846ebceeac941e26f8e022c532cc2e09b7261183ce5fac1243427d1b0178fb32e989152751a31e7" + } + }, + { + "type": "Regular", + "proTxHash": "961bd963d839689391eb6171fc76ef819ef7c550b9e7e97fd72f7a9d1d9c509d", + "collateralHash": "873acacc4cc5972520b3b07ff7b4fba2d62491e53f17e9b5c4454c92ff89dd16", + "collateralIndex": 1, + "collateralAddress": "XefpTHvmF7VCjrPr3bBrWZYHDDdtjCaYYf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.64.149:9999", + "registeredHeight": 1379852, + "lastPaidHeight": 2127249, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrviiMVim13efNekFfaSvRde8YGrdcYjqX", + "votingAddress": "Xr4ZCk3crDzbDkuujey2d4Jq8Z4ySAbUaZ", + "payoutAddress": "XekFbXWLVGSN5THoZBnibRsYre1iwYiTSP", + "pubKeyOperator": "13ceace978199ed24704deae275a4c05239b5b23e85c81854ee11eeb00406ab9da42de1959e2d223ff978e90ab0e13c5" + } + }, + { + "type": "Regular", + "proTxHash": "267731517bd29073c4cc4c4efd0bdbcb3beadde5b3d0db4cff97c229adbd8c74", + "collateralHash": "8816158e1f25e2bb342380b0071418dff16568bfa8164eed516194c9504bfb77", + "collateralIndex": 1, + "collateralAddress": "Xe3v6EfjTo3aaRsonuHiv2edLTP6pDT92Y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.81.29.28:9999", + "registeredHeight": 1379855, + "lastPaidHeight": 2127260, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvtncBUiKevTJhcP8YfFXLkXPhJcZxLs3S", + "votingAddress": "XgYxExauwhkZ1GCCspvD4CBXHhvZa7HNrR", + "payoutAddress": "XwpPRcHDkebWRiQETeFRCUdZT43aDprWBr", + "pubKeyOperator": "0f5b1505ed46e9855bc7c1591d3a86652f226be839e51fa2d0d5b285d84b738801329022f3bd5f561c6344bf4a357071" + } + }, + { + "type": "Regular", + "proTxHash": "ce07fc2a6b3b0db2c91a26eb796f41e12c0471a4068c5c190bd001d145c6dd0d", + "collateralHash": "d766c9ecb24427c098fa3b35d4bcd099975408497c3ea3d15c099002be08bd2b", + "collateralIndex": 1, + "collateralAddress": "XnKmqL4SWtM1mBwrwcL77KCrGCJEMxLm6i", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.2:9999", + "registeredHeight": 1379875, + "lastPaidHeight": 2127290, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwRbMubdXqHf73Z9335AMsKwzbpz7PGYq2", + "votingAddress": "XiWh9rNmC8G2N7NnBZnJ4mAi56Wa3uYKWW", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "0fc3b77c30f2316538d4d8f876592e03b15b424929a1d4b0044102d9861120b28c329ad2a80d0bea62cb0ecbed14f99e" + } + }, + { + "type": "Regular", + "proTxHash": "b512fbd9cd89a6cb70ef2f4cac258b5139291cb17fdeb4756fdb9208b398e2f6", + "collateralHash": "0730b9ebe1707b4e0de9db1caa863209e15c45e973393b066efebb1eccade6b3", + "collateralIndex": 1, + "collateralAddress": "Xozzpiuhrw5pZtD98Z25hTnCXJz6bUAH7o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.133:9999", + "registeredHeight": 1379879, + "lastPaidHeight": 2127292, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjp3qoy6bGCZM3fLQCGsv28833BNMxAdXP", + "votingAddress": "XjngzKGVirAhB5YfkzbSdPMHo7cUzFXt4X", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "8a93b13b4b2ad3c3781f92b08f7652564bf3323c88ddd9390456ceae06f68d1cdb773f2216a2c0a4d0d4784fdf4adcb8" + } + }, + { + "type": "Regular", + "proTxHash": "102e7f07f8c40613d8c4d3eede732ccb02c11a02948b5ba1ba5f1910ec4cf1f6", + "collateralHash": "9d3a07679bc65bdded50b728c8e700b00f4e761009161e9c603884aabe420c46", + "collateralIndex": 1, + "collateralAddress": "Xh53Xike1EMxs2aCkS8uuU3MgENdFg4Wtr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.103.120:9999", + "registeredHeight": 1379891, + "lastPaidHeight": 2127305, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuQEYGp1tyJ3DzDbUC3w6k8479BFtKCbyc", + "votingAddress": "XspkJMnS2yqcz8RtmCCWwqdgA8QDZ1qhKp", + "payoutAddress": "XpdusQZEjR9UkbphAz4poQjm7Hvt8Lg5yE", + "pubKeyOperator": "03f1c15a32c89cbac9277ff9b243e8c6a5b4267181e7e0800776efd8d9993873232eef1587ee8e7702289c99d5a11de8" + } + }, + { + "type": "Regular", + "proTxHash": "9e0b9df2281008a945fc7eda64cc626c7c852de8aa82410473b693e2bc8ad47b", + "collateralHash": "24104742bae2fb98891f8d7d1525627c7d11298f0ac4e89cbc9f70a2bea6aff5", + "collateralIndex": 1, + "collateralAddress": "XxskyWVqcxo8S8FVKkce8wGN3VoJWCnLT1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.164:9999", + "registeredHeight": 1379970, + "lastPaidHeight": 2127333, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdyDiPqPkvNaREaE6qn6pR3q5LY228MZpC", + "votingAddress": "XoP6DyrinWT5hxciQfyRM75fcNTWNEJjfF", + "payoutAddress": "Xji582x7953s41miHyc4hQW3XBAC8w1jCe", + "pubKeyOperator": "8734d4d2ebc8bc83ef298b70e27336697cf9e38e8c075fa753997090ece2484c77538f8e4b1aa71b5872e8ee1415b544" + } + }, + { + "type": "Regular", + "proTxHash": "4be3c2d162feb2b029a95e1c80d3302079f03ba19980cd3d7c3435368ce5942b", + "collateralHash": "e1cb2b1d0ca295fff1ecb854ace2f91e5fec73973ffa097ede05516ac16f32b6", + "collateralIndex": 1, + "collateralAddress": "XmbkUXQNet6PebK2XnxueX46MmbE39H3gP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.245.73.147:9999", + "registeredHeight": 1379988, + "lastPaidHeight": 2127336, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu526KsybJCvpUpLiiPBaT2BvT6HzKGWkS", + "votingAddress": "XjUdG4rc5TjTA9kf6d85174RYocruTomba", + "payoutAddress": "Xw2MYcavwwuXZcvPNQEBM3SkLjCZCjqWHT", + "pubKeyOperator": "0c97c29040ffd46dacafe8f9a659349a023562de75f04c52b028d2819dee8abb21cb7c984b161b10068be1342378744f" + } + }, + { + "type": "Regular", + "proTxHash": "0a80702f607f463e2fb71734a2260c5c87621be34b0549564d8b6eb3540f5738", + "collateralHash": "dd531b0c53a1f7968a47021ce88b1ee4d21efc3aa18fef0af573e3afc5679b54", + "collateralIndex": 1, + "collateralAddress": "XwLNa2KkWdvMzHnnZWed42ABkcZreCJxe2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.29.39:9999", + "registeredHeight": 1379994, + "lastPaidHeight": 2126966, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1822220, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpmTfZ1qiNieQQ7WC5He4K6sB5PovT74e1", + "votingAddress": "XipP5X3UUR4GdxWmRqzS7YsCvVmRskCSF7", + "payoutAddress": "XjX7U15GBargA4H2bw57uKRPRwmige4qJt", + "pubKeyOperator": "0c62a241647ffe7be4203e45588854e294994166538bb97b4a6b856c33996a81c3cb91e70ffb57418ece7e1c1ab91b93" + } + }, + { + "type": "Regular", + "proTxHash": "ede748fc7538d49909fec18af218365f4cfcdcb3b5340ef338fbe479b14525ed", + "collateralHash": "2726509eaf37b50ee8aee5e04d6baba0db8f611eb98d19f99256b8af1a02ad74", + "collateralIndex": 1, + "collateralAddress": "XboZLfwtoAD8SU5f33cTNjQMdWVBLBjFVx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.227.38.199:9999", + "registeredHeight": 1379999, + "lastPaidHeight": 2127364, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdaAQs6y3zpGyZ8C36ZwRzxCfSM5PprQHT", + "votingAddress": "XqoW9TD3wqTprfFoLyCx7MYcYHe1KRm97R", + "payoutAddress": "Xe1vhUsvVtCgoys42DVUu3ZEjQ1WBoofFA", + "pubKeyOperator": "17beeb816b4793e3606dda013173200b8510c58e10512fdf4a38e33e3e5c4c64ba0fcc7af7eecc17b0b269c96e529da2" + } + }, + { + "type": "Regular", + "proTxHash": "9802e401e1df2f2256d550cd94ffd2cee91f4ebe012f9ffcb374aebcc0614fa7", + "collateralHash": "36fce50f8c194408836d9e446996b05f36d7fb86b7c8f1d0a246c494815fe7ed", + "collateralIndex": 1, + "collateralAddress": "XeWKstBYTytYG6E1wFSpu9AGKtQTSasenY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.71.239.75:9999", + "registeredHeight": 1380689, + "lastPaidHeight": 2127393, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2046951, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbkAEW6vHvb4F3PFceRhUmeeMaH6fJFXMc", + "votingAddress": "XbkAEW6vHvb4F3PFceRhUmeeMaH6fJFXMc", + "payoutAddress": "Xts4gsRHqnfHhpuTkFoEez1ysqBtwZeBon", + "pubKeyOperator": "098c4f7e8c28dcac4c13972728cb28cd38a6c5db9f2db8d377b258b225e4f81478f6172fdc385d9d4a5077412aa7d95c" + } + }, + { + "type": "Regular", + "proTxHash": "18022f3f8f7c890006d1065efc3efe4e705848e80adce609fe5de79d2cef4b62", + "collateralHash": "02f1eac8e7f84a0b94c2be9ce5e68edbe19fbe949e679a58caae5d2acf2e9254", + "collateralIndex": 0, + "collateralAddress": "XbD1PqbXGztTmo3EhhiydRCeEyjX4wc4pN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.148.208:9999", + "registeredHeight": 1381732, + "lastPaidHeight": 2127095, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XexEos4bvFPQREocTzJ8rnBeYKtRuTsa4w", + "votingAddress": "XpkrbQnReo59zuipfAcL8RndeGZ1QR76p9", + "payoutAddress": "XbD1PqbXGztTmo3EhhiydRCeEyjX4wc4pN", + "pubKeyOperator": "93236879193f2fd572297b3c1ef5710b89386946a0baa0effa35919e2e577c92b591232184847606c72a44bf6aea1473" + } + }, + { + "type": "Regular", + "proTxHash": "29fe5d3d59a11e1823bb3420ed26b1cb756eafe1959cd4d6b5b0aff7c498a36d", + "collateralHash": "5fec2981e240b5b888ed763d1ac3d13326b7de44379af807eb6700b12ef82256", + "collateralIndex": 0, + "collateralAddress": "XkBpuSAfYrgKmQVnk4JZiK7bmhU1Ubt1i7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.182.52:9999", + "registeredHeight": 1381735, + "lastPaidHeight": 2128787, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936983, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyXGYdwLVR6UxmJFkytUUJMZSvoFQmP1CM", + "votingAddress": "XndBNCEAQFAW8WbomraNAmh5UvoWkoWcKH", + "payoutAddress": "XkBpuSAfYrgKmQVnk4JZiK7bmhU1Ubt1i7", + "pubKeyOperator": "029879ce12262b43f98bd93b75b9841edc7a593355da1c7704056eebd4a6e6470f048fa50af33c2c7ea125e552c5218c" + } + }, + { + "type": "Regular", + "proTxHash": "34fdcae80d4513154cac7d6e5c6df64d9ff482107b0f9efaa7b7cf3bb1ccb517", + "collateralHash": "6f3ced9a31b048eac88b4e9a39a04e8ef08e2b44e11f1f15baad7202eae7a52b", + "collateralIndex": 0, + "collateralAddress": "XsuWvEyMaKirAssxDiXbXdEV3mHbiZduuH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.2.67.190:9999", + "registeredHeight": 1381901, + "lastPaidHeight": 2127225, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121082, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvvkQu468kek9WQWpX3xNXDL25hKMRaNtr", + "votingAddress": "XcjFE7MRNcdJVEq8vDuunMwBNvrhZXxtbb", + "payoutAddress": "Xmjv7WyGH44kJzUJKifnyexKqsnHNjgpqU", + "pubKeyOperator": "0384b638a81ce65256e30a33b9cb2639c7a78c4d3db49672f15990c78ef4b4ea9785556d72123177ad596747e998593c" + } + }, + { + "type": "Regular", + "proTxHash": "259bde9368faabbbc0dd90b03e63b86e4ca843188770f8cdc3c28fbe94f39007", + "collateralHash": "2df77c5c85228e5743667c6c9584ea0450c82e4dc069f917161ab6bd3db042b4", + "collateralIndex": 1, + "collateralAddress": "XkmYboxo2pp5snUKqGzUY6gs8UQsALjSDk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.89.166:9999", + "registeredHeight": 1381982, + "lastPaidHeight": 2126106, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1945007, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg9sE8RpNgQ9qfKfLjaRSRukcY3bzUFE7k", + "votingAddress": "XwWhrtdaY5FFLannemdeLMkzpzYX2fJdQr", + "payoutAddress": "XkmYboxo2pp5snUKqGzUY6gs8UQsALjSDk", + "pubKeyOperator": "82f46df8390cd98e30675582fb90ebb34d92567cde809c04d0916572bdf1b43a85c7657a8c4a5519b8a20f530520017e" + } + }, + { + "type": "Regular", + "proTxHash": "970a44307d6c11a0c27a39a165b8c8a34a3e0f5546dea17fa58ae34e406d8d44", + "collateralHash": "f6088f9eb8589854f2e5c3c99a48da647378db413612143c476498cb5a13eae0", + "collateralIndex": 1, + "collateralAddress": "XoJ3FXF2Kus1dHM3w4kou8FMpkAttkTstJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.225.149.206:9999", + "registeredHeight": 1381982, + "lastPaidHeight": 1886009, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1708341, + "PoSeBanHeight": 1888746, + "revocationReason": 0, + "ownerAddress": "XdV4AM9PVkgN3ScBbismHYpZEoru1MLZyG", + "votingAddress": "XniX6s5Cde1MNJYGYVr6mFXivAj6UPnMQX", + "payoutAddress": "Xk7Sh9cPaCQk99vnTzRuac8T3EhPLZCn9Y", + "pubKeyOperator": "16a61756fac438d47d5dd3361d1f8974a0898f87908f4b6d497348bae9eb1c0fdd16d7741bab7dff3d7d7f49e6052404" + } + }, + { + "type": "Regular", + "proTxHash": "fc6cd74fe403bc4404a1c8c0a1f823cd1e079a2850fafe6b37e202dfc5332bc1", + "collateralHash": "62f910d986fb8b027c15f81f2365b69fc9abd96baf06c58f09a3794737ec1006", + "collateralIndex": 0, + "collateralAddress": "Xtfpb9feBJrZfGzjgGnhe1pfSt8Uh5wqra", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.176.80.203:9999", + "registeredHeight": 1384436, + "lastPaidHeight": 2127106, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvT7ZWj9vAS8fP4fNCPrnSsDwL8mmP5TaB", + "votingAddress": "Xj7ngtuKLdCkKfvuD1sMQxLX2dtuzHQCPK", + "payoutAddress": "Xtfpb9feBJrZfGzjgGnhe1pfSt8Uh5wqra", + "pubKeyOperator": "00d469ebfb69187e3b73f5b808ae1f33c563e49b5fd871fa5c0cfc47e5cc6c7b8d28100b7f2364888ed1d2f59d71d50f" + } + }, + { + "type": "Regular", + "proTxHash": "811a911af1812c3cb7c56aa1e811fc1179d11162893e285fda743e0f2febd196", + "collateralHash": "66bc5df2f5417704b49f6f2f1506659639bb5bf4ec99c5d1ef443699ed91894c", + "collateralIndex": 0, + "collateralAddress": "XyGdfmqYDbRwzLGwe983aq5X8HE7xepYZ2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.235.196:9999", + "registeredHeight": 1385918, + "lastPaidHeight": 2128474, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgDom77VXaZ83uipAAaHCveHenpWqsfFib", + "votingAddress": "XfSZeCvpPzWpZA9DnUNhuX4teGvi2WfVEE", + "payoutAddress": "XiUSh8x6QxP5sCDHPTZf9rRZJWVNi6fnZ3", + "pubKeyOperator": "85d94b0d3dfa98255b55ec2f4cd044cf3ae8ef1762577d8aa9b4afa1c6fb10bc10343c381d77a9b94e7fd4b96d0e8140" + } + }, + { + "type": "Regular", + "proTxHash": "8b2167e90baa4f31bbcb1458ecae5e00e5c9bd51ee3b997309a5585d5892624b", + "collateralHash": "4c21727b79d8aeedf7f8b0a58be21427b646f2f405b3dd3691f56038cff8cb8d", + "collateralIndex": 1, + "collateralAddress": "XgLAZaWxBPudCEKdB9Pea9kUFWvEP2opUW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.40.87:9999", + "registeredHeight": 1386314, + "lastPaidHeight": 2128703, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkKu26zvb8jZFAn6JfNWfFRkYZqLA6oyit", + "votingAddress": "Xb7erDTjdUjMUt1YSycfnUwdW1w7bKA2uy", + "payoutAddress": "Xi9ntYec2zjPyJwNJxva3ypK49wFaDvc1C", + "pubKeyOperator": "0b07f41e61e9454499e93a7a5ca68e036f8b45be43326f3236493244a119d1274392925b666db499ae09485c142ada10" + } + }, + { + "type": "Regular", + "proTxHash": "397d556826cabe088944ce8129205a164ad2fe22a1cefbe4e2bbbeb900d00eb2", + "collateralHash": "e1f39bdf5ce1d80557a2be46e116a0a1fdaedef6fb97046d7d42be926266e53e", + "collateralIndex": 1, + "collateralAddress": "XwYaCv4wJYcJZz8qdqZwwNkowV4uQoSDYH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.201.153.98:9999", + "registeredHeight": 1386428, + "lastPaidHeight": 1870200, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1870314, + "revocationReason": 0, + "ownerAddress": "Xg66ag6MpqG6qdSJnjhvPcpxSyScFwrBaN", + "votingAddress": "Xg66ag6MpqG6qdSJnjhvPcpxSyScFwrBaN", + "payoutAddress": "XwYaCv4wJYcJZz8qdqZwwNkowV4uQoSDYH", + "pubKeyOperator": "98a5ec9f5ab8ad29addef07d7d4730b26827dc7166c123bb4f686a6a9c741d6a76a97f70c382f7b1a1ce0cb336527092" + } + }, + { + "type": "Regular", + "proTxHash": "8f7ef1006ac038466342950d5b15e9055dd1a5e465db393826c1c6969ea8fed3", + "collateralHash": "4b48d7ca5320df5b896fd670ccffc78a7336371c8a953fd8d8afc2ff07fac156", + "collateralIndex": 1, + "collateralAddress": "Xyd2uDBHnNyvbMQNRhtcNnr1H8fBpLcKbe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.158.8:9999", + "registeredHeight": 1386428, + "lastPaidHeight": 1868064, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1703584, + "PoSeBanHeight": 1870187, + "revocationReason": 0, + "ownerAddress": "XxvcQqqwvfLmmPRMm9UojtiggtLvL21t4F", + "votingAddress": "XxvcQqqwvfLmmPRMm9UojtiggtLvL21t4F", + "payoutAddress": "XtSWUTypA3zjN9kvrpTTdw9dSr4PYSLsnA", + "pubKeyOperator": "0d9dca6235c5a6f0f8d1946d5e2619eda87fafa96688da8d2e314e46747ed2922804616b946b7e8ea00f9d9c8c433b44" + } + }, + { + "type": "Regular", + "proTxHash": "6fc21e44ceb4d79e6d8e60efbf2c654c437aa9aef9bb5753be6667018372c918", + "collateralHash": "260ea893e744dee68a1c1008811cbe2510f29a3595adf0b93365c0bcfa949236", + "collateralIndex": 1, + "collateralAddress": "XomP6Kr9A5oyRa3rzySY1uyozU6ZXEXXeD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.34.152.241:9999", + "registeredHeight": 1386428, + "lastPaidHeight": 1867354, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1711066, + "PoSeBanHeight": 1870314, + "revocationReason": 0, + "ownerAddress": "XwEgoGRzt76xM43HL6T4GHR7Vx2XdMveR5", + "votingAddress": "XwEgoGRzt76xM43HL6T4GHR7Vx2XdMveR5", + "payoutAddress": "XomP6Kr9A5oyRa3rzySY1uyozU6ZXEXXeD", + "pubKeyOperator": "828302a9021161ec153a7cf02e45565c0d11a67367af968d58863650fc4e76ad938fbff818b84e18f3f2475c9a96f238" + } + }, + { + "type": "Regular", + "proTxHash": "5e9a103b9b477ede53400ee0d4f5746a648b2c160005d2d2774eb79cc56bd18e", + "collateralHash": "fedfbeab7f98c30304fb5edc64f8df45fbdb8229cdd1dc244fb971f37fa58558", + "collateralIndex": 1, + "collateralAddress": "XygRJ4XNAn1mmnWrKQHxJFNSDhFD7caVcs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.153.221:9999", + "registeredHeight": 1386428, + "lastPaidHeight": 1866969, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1690165, + "PoSeBanHeight": 1870026, + "revocationReason": 0, + "ownerAddress": "XreFmp2btjXj58rqt1GXzvMPH7bWWeyJBV", + "votingAddress": "XreFmp2btjXj58rqt1GXzvMPH7bWWeyJBV", + "payoutAddress": "XygRJ4XNAn1mmnWrKQHxJFNSDhFD7caVcs", + "pubKeyOperator": "0efa31b75969bd481c7b539d5e2e881c603ac7ecb4d4275e89bc836718126f422292c7961a98a8a8c489b75c76ab62dd" + } + }, + { + "type": "Regular", + "proTxHash": "167e9a1209c52d3a4587fa95b75ef271590e85b2ddf01454ad4fc453dffb24e5", + "collateralHash": "cacb8093dbd00237c5ffefe754a733593124185572f01f52624c5f0708af61bc", + "collateralIndex": 1, + "collateralAddress": "XxKybphxXbzCi29rZDhswwm1tzCeK6zrnf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.148.223:9999", + "registeredHeight": 1386428, + "lastPaidHeight": 1866493, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1710337, + "PoSeBanHeight": 1870293, + "revocationReason": 0, + "ownerAddress": "Xxck9cJQy6qLExYLhJfkNhYs29sWz7WkKS", + "votingAddress": "Xxck9cJQy6qLExYLhJfkNhYs29sWz7WkKS", + "payoutAddress": "XxKybphxXbzCi29rZDhswwm1tzCeK6zrnf", + "pubKeyOperator": "92a900242df760005ce9486cabca694344738f44e9e0dd8317c1048e79e7cd2a9ac1823140f3101c14097e02592affcd" + } + }, + { + "type": "Regular", + "proTxHash": "5b7935c085603c48306ae169be61a4a67988c6610a4d1db2fc780053f96595ee", + "collateralHash": "8243a26d5d242e83f1c4e379e91c0584f09a1280d962ba00c2c4e64157777480", + "collateralIndex": 0, + "collateralAddress": "XqRDR2zmGmaWiZK1WudDxmizZE7NFdv45V", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.33.50:9999", + "registeredHeight": 1386467, + "lastPaidHeight": 2127111, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsue41eNj1ESendptCGrEGL6wWDeuAitEG", + "votingAddress": "XxRpsiMtFxdkshnMtmeq3Ww2n8iPZskHnx", + "payoutAddress": "XqRDR2zmGmaWiZK1WudDxmizZE7NFdv45V", + "pubKeyOperator": "01ee49f6a43f6e80d2b2268b89a2c160b02522a52364c7d67723df38817d6d2a8c4b62ed4156ff1bcfcb59ccfbc354b8" + } + }, + { + "type": "Regular", + "proTxHash": "e1509a69c8c9d49dcd8ddc216f6414c744a37e306b5ade35d0d7331f43234fd9", + "collateralHash": "29fe0bcd8b96cc587b52a558b29b0e168012d8f09f7898b137939773d94d92e9", + "collateralIndex": 0, + "collateralAddress": "XxrHepZY191vZTqU7vEChM49BQuuNX4FsL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.162.188:9999", + "registeredHeight": 1386467, + "lastPaidHeight": 2127107, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrFUmpsnsGXmyMZ7qPSaSNteWFrCjVHTmT", + "votingAddress": "Xwm6GxNCWRoeFakCnM65CUsWE7mLUAuvjK", + "payoutAddress": "XxrHepZY191vZTqU7vEChM49BQuuNX4FsL", + "pubKeyOperator": "9713722d853bb680ffbe2fcc8c37fabc21f7ee748846baf3409c4a787486e73baa9238a913baa46772f7a777b8423aac" + } + }, + { + "type": "Regular", + "proTxHash": "9f1ea2f0b6c71a9c211159a2d39b0977a5c35323c733c507ae4f9cee27d60c48", + "collateralHash": "b6178f2d24e0e4cb70055cb5a543c11e38570f19bf60982c35d0bb1a3cb3867e", + "collateralIndex": 0, + "collateralAddress": "XbbuxbjM5H24zqYYDEV61Htn4FFVyUGjxD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.4:9999", + "registeredHeight": 1387313, + "lastPaidHeight": 2128164, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2112236, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd8conkTh5RV3fUvU8L9tShtAPxd63Y9HB", + "votingAddress": "XqUwEVDNzQqiabPwDbZvf9joFgDxUxiJwg", + "payoutAddress": "Xx79ju2ngxM4n4qBHbFeeEGXZqgK7GzoS5", + "pubKeyOperator": "0affe572d329da1a133b74491f0636191842d849cd4faea74cb4504d4548a4a807f7069f59fb2943b3e599dcebbe57fe" + } + }, + { + "type": "Regular", + "proTxHash": "242b96ea71241b4e06de3cdf001b36be672a23c27c7b1bfcbb12695aa420230f", + "collateralHash": "32da6214119d6d99615eaa4b547186183f22e2eba33abc9d289664baf97152a6", + "collateralIndex": 1, + "collateralAddress": "Xc1YGD22mSfGJLihbvUi9z7HjdHNc7NFVB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.248.54.117:9999", + "registeredHeight": 1387363, + "lastPaidHeight": 2127510, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1993113, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg3R7V5G65VK7HxCpLbdJ91rPEzYPe1DjR", + "votingAddress": "Xte4KpdrZPUXq6U59gohXJMKUBoiThZStp", + "payoutAddress": "Xdp4kaPH3DNG2PqYABCoNnUxV5tzVr8Jrn", + "pubKeyOperator": "8970172905368d1cb8443df6f5eeabcf5a9dab77f6c069067cd42e6fbaaa9ed5d1fa4d3a38ed199df44903b9e37efda5" + } + }, + { + "type": "Regular", + "proTxHash": "91b9bbe3e4879021f249adb3f9a20e37df9f58d1e6d1875b6bccfd269bd7cc8a", + "collateralHash": "5903c911198ab43afee6be21affb3fc9e475fba542f2a323077e3b9d990f3692", + "collateralIndex": 0, + "collateralAddress": "Xvrh9RsLcBqVWm3zX4W9PQmjqrRo5Bb3yN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.79.89:9999", + "registeredHeight": 1387755, + "lastPaidHeight": 2126585, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqyYBA9mVRTsECLXcD3TMNa7CrV6hmaZTw", + "votingAddress": "XkJWgiyT7pWSvzTUxUKEChw54Bqxrir1AL", + "payoutAddress": "Xvrh9RsLcBqVWm3zX4W9PQmjqrRo5Bb3yN", + "pubKeyOperator": "12d61b2a6017020f8b91f9afb209afd52204255faef1fda3c873d657e90634fdcba895213b0f9a4251275f2137095d25" + } + }, + { + "type": "Regular", + "proTxHash": "e770187ce15ffadf0ae1dbc83c52a0118f71f7256a9e1e20289e8edf23d00077", + "collateralHash": "28446053b426db86fd0ebb572675b60508f7bba9c23dd15d6fa6c1f39ef1aaf0", + "collateralIndex": 0, + "collateralAddress": "Xhjyt4CL7UzhmMN41FRz6WwUptUtXS2QZt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "212.24.107.253:9999", + "registeredHeight": 1388150, + "lastPaidHeight": 2127048, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1992697, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd5RuAaZCEyPDR83u2UMTsozx6EB5NVGpE", + "votingAddress": "XhTZupgSfcCpxqsMk2HYCLNxEfejxF37Hg", + "payoutAddress": "Xi3m8Rnyy9RGxHGHakUA9ziATqZrC6FPC6", + "pubKeyOperator": "90eabf5370f27e260b844e3b732ad7a2ab6e867b0a8124ad662fb014e899a16866414c1da9f03a795d49e3c7ca3661f5" + } + }, + { + "type": "Regular", + "proTxHash": "94f9bf1cc112df8fb101d85368af36691fe475534ee1a2b092630bd60784c691", + "collateralHash": "8d56f3dcf185df13f27b04a21f8050adaff3f15b74cd624e5d1498759cfb6b49", + "collateralIndex": 1, + "collateralAddress": "XgZe6gaxv4gf3swFhHEJCioDzMXgE8YwF7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.159.201:9999", + "registeredHeight": 1388465, + "lastPaidHeight": 1868063, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1703584, + "PoSeBanHeight": 1870139, + "revocationReason": 0, + "ownerAddress": "XrKVgmp6bJ1e623DSBjeHwFSVAGFfBqBrj", + "votingAddress": "XrKVgmp6bJ1e623DSBjeHwFSVAGFfBqBrj", + "payoutAddress": "XgZe6gaxv4gf3swFhHEJCioDzMXgE8YwF7", + "pubKeyOperator": "95dbfcd1280543bcfd2bf2becf6ada535936a4fb60d8d6139dda2e51b14b35afb79747cebaf1a8fca5a815897657c3a5" + } + }, + { + "type": "Regular", + "proTxHash": "e5ec99f09a8b35d31d82b250d6d116f2cf08a327331b1ddbac65c8b0f57a28a0", + "collateralHash": "b9d3bb0da21478b2d351590f8b0898f00d1a30d8df126635caa5a1353123d87f", + "collateralIndex": 1, + "collateralAddress": "XfY2exYH8kcRiVjw4uu4aDXkdsN9bkn9Nq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.234.170:9999", + "registeredHeight": 1389604, + "lastPaidHeight": 2126227, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1802167, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoRpLPsoRsswiE5uWWqCY7NSMXRVA9FLGp", + "votingAddress": "XcFMapPsPBueUhd56bcjUtzrFJW3FaTDpd", + "payoutAddress": "XqjkJ59rhEMES8iNtDaBBCkcNkwEsWJFRd", + "pubKeyOperator": "87949f59c5620dee96a63e1068eca40743cc6ac472a8077b296c59f7ab8003c88d8a0d21ce4082c1180309c7da5502cb" + } + }, + { + "type": "Regular", + "proTxHash": "b936260397eef1cd3685d449cb82cd778fac53e1035e37b7508bce870d39453c", + "collateralHash": "0c63086f42f4dbe827e5e90040444664b1f048f508f793b267e51af18c809778", + "collateralIndex": 0, + "collateralAddress": "XjAeKZ4UBcEQu8ejUos4rpaSPVC6p4DT31", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.67:9999", + "registeredHeight": 1389634, + "lastPaidHeight": 2127631, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeRx8VFQm3dFFyyQdQG8KQoCwJNFPtwgYp", + "votingAddress": "XgfEotxbsinCkZUzMY8qbdyvtxe5jPvV6y", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "98ab1fa778b091c5816a33d99a212ffddd1a6f59595c49a3058535f009a55201504e71af6be09126ab2f8a02f7326bba" + } + }, + { + "type": "Regular", + "proTxHash": "c5cdebf5908af66e3d8a211d4957c669e99633826a4160a4d32bc60476376066", + "collateralHash": "35f2138fe9ce64b8066e84084f1353da680be21fad0373228144c7ae633166e0", + "collateralIndex": 1, + "collateralAddress": "XufkFc9WyMwcjrtbFGHjjpdx1trjw6ycJu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.197:9999", + "registeredHeight": 1389862, + "lastPaidHeight": 2127890, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtbRSNij2gsh3y4G742EJQtLWAJwSf36Wv", + "votingAddress": "Xasjuixz51qnA43mkLCFFNCVa85ScJDE7m", + "payoutAddress": "XufkFc9WyMwcjrtbFGHjjpdx1trjw6ycJu", + "pubKeyOperator": "8b20e275a0829e2328f0a0b0eadcc2c23d7394fcc23ae11e1f8135bb58126577ca85d775f379a60a3b90c20eb2d3774f" + } + }, + { + "type": "Regular", + "proTxHash": "ca96adf50f2d0d015e55caf95e9a1599020249d7dc726ae7e74242ce1f2208c4", + "collateralHash": "aa9c6510608e3bdabcab7920dbd0c3a6ad84f9774a47dcdc11b37777356a520d", + "collateralIndex": 0, + "collateralAddress": "XpjSBCsvpF1VFd9pvGc7oLLeZjeREdD2wH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.22:9999", + "registeredHeight": 1390264, + "lastPaidHeight": 2128026, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbM2zzXfJD4XdiQ7XqdoNtbMZECC4w1EfC", + "votingAddress": "XbM2zzXfJD4XdiQ7XqdoNtbMZECC4w1EfC", + "payoutAddress": "Xsjoyw17Lbydp6R858pdj3itQFZuXTBbaJ", + "pubKeyOperator": "98e0eca7ffb4a5c43d970d94627ff1ee1e15b748b0e6e4bef58b2a4539288f1d19d4a20352b29a89e83e5ddaad5558f8" + } + }, + { + "type": "Regular", + "proTxHash": "865612dd2741689d2f728734f826280d91f47e98fef3cc7804ff1cdb340687d7", + "collateralHash": "9371bba9c6199700394fada801bd24d4d43ce8e9cdb508b8b4c4ae655bc53d19", + "collateralIndex": 1, + "collateralAddress": "XrLrRarUnB8vAeDK4g5byPpDmV9Jrg69V5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.194:9999", + "registeredHeight": 1390944, + "lastPaidHeight": 2128677, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnYUo8yMUGy7CirRahpr1X2tKTrjykzBjE", + "votingAddress": "XtnvMQtnGabJegdBHdDgyTmA4DxFY3Mqe3", + "payoutAddress": "XrLrRarUnB8vAeDK4g5byPpDmV9Jrg69V5", + "pubKeyOperator": "95fbf469f07a77d77c7c3c89f8b9991f5343090ec3a4633a8e02048cf388f53ad38ed76fc53563ea255fa6303c56da1b" + } + }, + { + "type": "Regular", + "proTxHash": "5cb1ebbeb0451f4593c512f61bf424bad77ade3a828df6c1444d634baedf878e", + "collateralHash": "907255e5bddd33bceb5b6b6d4c0d3ca578f7d5ecde131503a6a5237cf1b74b0f", + "collateralIndex": 1, + "collateralAddress": "XpXvdvt9taLecd98hQmNRwtkxeGoeakD7H", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.198.184.226:9999", + "registeredHeight": 1391031, + "lastPaidHeight": 2128661, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1984406, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqWRhQASJwNnP3mRjLiNYuaoPHyr1Gr3dv", + "votingAddress": "XjPmRxrUouW84nbJiLkMLw8VUCPLjEiUYc", + "payoutAddress": "XcnQkWsmxxaeKwNEUQ3yFsvh3bJbsaYuXc", + "pubKeyOperator": "0380e0c6d7e915fdc21b53c65ac3d7525abd42ed0f72fe8bccf9dbfb60df2656f400af23c066f171e60d425c84e1644f" + } + }, + { + "type": "Regular", + "proTxHash": "0a2484f276668230c0939d1176eaee67cc843563398e03e25bfc90386fc71c79", + "collateralHash": "80289e19ba1a304ae8a737338dbf156f4687424a8b50f9e0fcc36eec27dec777", + "collateralIndex": 1, + "collateralAddress": "Xm4nrbjt72jvBN3nhPmum8tgrstTgouMy3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.75.121.163:9999", + "registeredHeight": 1391735, + "lastPaidHeight": 2128878, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1877245, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xoj5dxmvJ7fkDyRt88ED5VNAHRMuqGdzRM", + "votingAddress": "XwD42rCCpqWttodfemnZHrqFd5d21Zfrcb", + "payoutAddress": "XwkwPPYcPs9GrhDoB3awd74TzNPrGECrQm", + "pubKeyOperator": "90dc1215a8de8234ee8b2d45966781a40cafc93cd204e9eb1955d0549890ec7fcd2eb13fe145c52b7f3a81fa63edd8f2" + } + }, + { + "type": "Regular", + "proTxHash": "e86a2089fa30b1216ec9d2c8f57727a9734c8f7f08e3fdfc78002c717b794497", + "collateralHash": "610af6c55f877bf887381d803d96355b57dea6993de8fd4df74ab641527cadee", + "collateralIndex": 1, + "collateralAddress": "Xjmgj85NDpCjGA2vywQbzmeCBhtfP73EpC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.92.77:9999", + "registeredHeight": 1392969, + "lastPaidHeight": 2127049, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1992697, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrqr5Af7niweMyYAN334tyhiQJmYTN6nBo", + "votingAddress": "Xbik6zFmmnVQz47FMfVBAvDEw9TPfDNLhd", + "payoutAddress": "XgR9YADJXNnMYVUwgEJZp5RNMWwz7tXEm7", + "pubKeyOperator": "0c9e8f7f160e7c001834daf5966431ced934782898ec2042395be576b667b12d99a5076d68d0de076a581efa35f06110" + } + }, + { + "type": "Regular", + "proTxHash": "3a0630a795ae690479374bdcdacf59db379aeda85c132dcc2196eb5634fed855", + "collateralHash": "a76af6a4c13ed71d7f5f80ce063d0b1a4e46d14eed1883ae71a247ca7c516190", + "collateralIndex": 1, + "collateralAddress": "XxwX4N37SrfcQ5d9jSiXKhQgmx1kZ74mQ9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.223.217.3:9999", + "registeredHeight": 1393689, + "lastPaidHeight": 1983900, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": 1987159, + "PoSeBanHeight": 1987509, + "revocationReason": 0, + "ownerAddress": "XuZvsWS2vkWKXuuJgWca99gg2xdYFk73bn", + "votingAddress": "Xkf7VLusJus6YyGwmWtEp9ZUApicD4xAP9", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "108f343db65c53ffd6d4a0f43140e8a0168ed1264fd4dd5068add7bdff272daf011ac355f9b6a17b93fc3869d1b9392a" + } + }, + { + "type": "Regular", + "proTxHash": "d34332bbe094d5d3c05516bf6a8539fade29873e38f7d6eae6ee208b4de1706a", + "collateralHash": "e72ea300768a4d6e8865ec4997649fafd57d1972c9419236183e8193efb364ab", + "collateralIndex": 0, + "collateralAddress": "XsW2MDWsmmunxDD9qT8dkcy1VUjd9ihFi8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.152.28:9999", + "registeredHeight": 1394594, + "lastPaidHeight": 2127096, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqZSUtLGTG65cj9i4nbL2DKKwEfL1Rn5cj", + "votingAddress": "XxTeBxbT5hQrdpTFUwkYVgeMhE8WSi3NWK", + "payoutAddress": "XsW2MDWsmmunxDD9qT8dkcy1VUjd9ihFi8", + "pubKeyOperator": "97fdd7854592b486f9076e6dd927317d7bb95c12cfea1667a31360474fed331915f286946c4a664dffe007cd1b779d17" + } + }, + { + "type": "Regular", + "proTxHash": "e5563e082b795b4dbed7bb7f89365f840ab679e2c40cb41d1e8a97d36ef2a8a5", + "collateralHash": "f75da1c07105aeba50089ad60b46d1095af8a2d370aa97452bef847ff14038bc", + "collateralIndex": 0, + "collateralAddress": "Xs7rx2juZ3jyktirmm2xrKKqaPDJxpuHpo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.5.64.55:9999", + "registeredHeight": 1394808, + "lastPaidHeight": 1983106, + "consecutivePayments": 0, + "PoSePenalty": 3972, + "PoSeRevivedHeight": 1986759, + "PoSeBanHeight": 1987509, + "revocationReason": 0, + "ownerAddress": "XvxwVAn55xZi3NgA5oSNag8WciLvTDdSu2", + "votingAddress": "Xwg65CmJSrVhKmTqXLAdFBdhfocp1GA4eX", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "0bd0b465f8bc59f7a509caf35debc0f7701c6102a80faed3766960d1342b46e967eae52557cf12fdf437e6ec5c395925" + } + }, + { + "type": "Regular", + "proTxHash": "929f2662f21cb04eb3abd1fed5977162d012fcdf7b92ad39a3eafaa14257e1c9", + "collateralHash": "e68ad3a4fe4cf7aac39e641e8aa2251a53b7045888709370e0eedcb69492f909", + "collateralIndex": 0, + "collateralAddress": "Xo69KrZsB6KxuaZgsua8Hiu6nuhAEjGDx3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "44.195.247.115:9999", + "registeredHeight": 1394811, + "lastPaidHeight": 1982540, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": 1987159, + "PoSeBanHeight": 1987509, + "revocationReason": 0, + "ownerAddress": "XdBwTK3wWDLQTgbmCjDBJiAHpUv8KAf2fY", + "votingAddress": "XdvhtTNy729hPk8RiRRarKVK94aVu6Jcgi", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "0088ae8ecb692be75b1d19d6c67cd3905ada2e5c300ace0fed239027583dd9f0c8ea07af09d3d03ee605e949b7b7d7cb" + } + }, + { + "type": "Regular", + "proTxHash": "db8f139ffcae46aebf8107ced8770f33074a634dd1ee4cc9475d2759d63b351e", + "collateralHash": "f85d681c8fef9981bc14670bdaed356f00e233bc0fbbae7517d267deb3c4f8df", + "collateralIndex": 1, + "collateralAddress": "XvPiJ2zrFZ8xBRfGtb1PP54QWfHUxnnGmb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.63.8.90:9999", + "registeredHeight": 1394821, + "lastPaidHeight": 2128785, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987848, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xonz5dttdxzJMdGwqLvjjAG3sQn2LjzbNt", + "votingAddress": "XyoDoNnbvdz5DhoVyC9pFHeVT1STtyYjJm", + "payoutAddress": "XgWUbc5KL1urESPhddX6HCvbXviG2NUXGY", + "pubKeyOperator": "0f6d5df49c15bc66a46699eae85efecf9eb91b0b571dbcf3684e6ca9a898ec9290fce2011ebcc070fca5252c21bf5057" + } + }, + { + "type": "Regular", + "proTxHash": "87afc436cdb2ae7360e38e6298b745225010c0a40feb316a9875c78fb9e5e3c7", + "collateralHash": "37b4df5c5eb32a6712ffcde934f1a4df451d2a42a2fdaea4dea41075298b6e94", + "collateralIndex": 0, + "collateralAddress": "Xj1RxgzsMvDoeF4HoBd8FXzvddnJqZabhB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.73.182.118:9999", + "registeredHeight": 1394823, + "lastPaidHeight": 1984434, + "consecutivePayments": 0, + "PoSePenalty": 3974, + "PoSeRevivedHeight": 1986192, + "PoSeBanHeight": 1988106, + "revocationReason": 0, + "ownerAddress": "Xup7A38gTD1mcSw4a8WfGAkmUjYK2aDzCP", + "votingAddress": "XscbnxznWNB6zMzDv61PxMxhp6qBkjnEGR", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "119ad50b870527b7bb063fdf1ff5c59e93045d951d7dc67574762901455ec12523510732b79201d177b1519ffd9e5a42" + } + }, + { + "type": "Regular", + "proTxHash": "ed3e788e5ba14035722465d26fe8b2d7bd15c151b6b8e04c80c969a9c1b9f519", + "collateralHash": "1309c062135342b996a09f50d6854ee7a17f2f69257271d7b839c2df16d0cccc", + "collateralIndex": 0, + "collateralAddress": "Xp8YHfPGDq5TsUarahosXwp3tLow4Vho3J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "44.196.183.219:9999", + "registeredHeight": 1394831, + "lastPaidHeight": 1984836, + "consecutivePayments": 0, + "PoSePenalty": 3974, + "PoSeRevivedHeight": 1986192, + "PoSeBanHeight": 1988106, + "revocationReason": 0, + "ownerAddress": "XfRU2degPrSmz1UeP7sk3M5qBkiTHVmy3X", + "votingAddress": "XbfNffgSHyfbxakfJMWPi6cY8CjNb1emj7", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "0ca1dca95b134471db1929e0cd2f93f065885ca008a690039f34f358ef8b5e28c65fe1839546e5ad78dad3d7aecfb30b" + } + }, + { + "type": "Regular", + "proTxHash": "128e4cddd02e73ec80634f2ec8a3cb748f255ad197ceaf711f57fc01b61dc192", + "collateralHash": "b7d20acb3243ed1dc3c6cc6f80a57603a41dbca14c88c701b55295c9e90b46dc", + "collateralIndex": 1, + "collateralAddress": "XasFW3JseTTxfRXe7F8fXBuqa1TSNAXJQX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.221.61.242:9999", + "registeredHeight": 1394840, + "lastPaidHeight": 1985380, + "consecutivePayments": 0, + "PoSePenalty": 3985, + "PoSeRevivedHeight": 1987159, + "PoSeBanHeight": 1987530, + "revocationReason": 0, + "ownerAddress": "XeCFTzmUHATTJnxvTWzZBZptA7Vg9EDMrh", + "votingAddress": "Xg7d8yRUzE1KY9c4YpLZkLdHpowStcVBa2", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "00cb4a969524e8739c403fe8cb7a571a375602ee6d69190442a8cf60ab9f24829ccbbb2397d2931a929316024508f19e" + } + }, + { + "type": "Regular", + "proTxHash": "125fe184594b8d2b75fdf36d7b3ab7f54958e53d3c018c4c0078caacc6f7361a", + "collateralHash": "d6d1607c939c0ad91c452be02d75a66710dbdbd072b0c7bd5bd818270f49459a", + "collateralIndex": 0, + "collateralAddress": "Xv64gAidoWYzAWVKQbEugB8Req17o6mbGi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "44.194.81.232:9999", + "registeredHeight": 1395434, + "lastPaidHeight": 1983089, + "consecutivePayments": 0, + "PoSePenalty": 3972, + "PoSeRevivedHeight": 1986173, + "PoSeBanHeight": 1987818, + "revocationReason": 0, + "ownerAddress": "XeYNn8jJqvNDtLpWeFAcicbiUmzc6WyVHr", + "votingAddress": "XpVdeXZuNA9HZ1mFZLVhXQ16AHyY1aP8uv", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "890bad1082bb7110f5369e491e45713a2638ee386152857832618b0133c0e9309541bc949afa57b7ee044203c94e07a6" + } + }, + { + "type": "Regular", + "proTxHash": "b61cf4878f215c80fca19bf102a67f4e3e95fc51a5397c96a70a0b878d850800", + "collateralHash": "da69d4e7e14aefbc6916a38a7c744f2e054d4f0390d21903ecb9b5a4bbcd1ba7", + "collateralIndex": 0, + "collateralAddress": "XjpZWeZRhRRV8j6Tw6Y9qALb37YiCdn92A", + "operatorReward": 0, + "state": { + "version": 1, + "service": "18.214.84.7:9999", + "registeredHeight": 1395438, + "lastPaidHeight": 1986260, + "consecutivePayments": 0, + "PoSePenalty": 3985, + "PoSeRevivedHeight": 1687500, + "PoSeBanHeight": 1987797, + "revocationReason": 0, + "ownerAddress": "XcogW2fN26dcYm2upzFhbTCB8UmCqbkCMu", + "votingAddress": "XgUc8tDgyGMeSCLS9H9BNdjbsPaHgeufrV", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "04b672fff1708458c82de630083c8950cb826143e98c7cf4b83082c1bf1f6d5b69460c9f0f93f249ae97e0a235a0dc10" + } + }, + { + "type": "Regular", + "proTxHash": "7c39204fea35650ea322cae4d4d9bc4e81e00413170d4e2df80a736f5c8f647c", + "collateralHash": "af21116a7c494c201f2d32a698e620130e716d7c33e4d7a9e5d3c408c0233f47", + "collateralIndex": 0, + "collateralAddress": "Xywx3s2MdqWMgxNHAUsML7Vm2afpinwEkv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.158.251.107:9999", + "registeredHeight": 1395442, + "lastPaidHeight": 1983709, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": 1987159, + "PoSeBanHeight": 1987509, + "revocationReason": 0, + "ownerAddress": "XfsNnKBPof2Frej48Zqc8fkg7vMBubHiFa", + "votingAddress": "XeXqcZJ42GmNyiXiLoCdtwDchgd9sjjWFq", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "0843a3713fc6fc05a730eed3c9c6b1562a23bf5f1a1d3cec58a8334ac0d86ef4801b822b35f9adcdf66b463d9ba7ff5b" + } + }, + { + "type": "Regular", + "proTxHash": "c8b90ce78bc0f422f21efaa0deafd0b2c0a64805dac57d5ed64969d7134fff02", + "collateralHash": "01c85bd8d18587fa784986658a73c7762f6d5879c96d9c116dfa78dbc44aee9e", + "collateralIndex": 1, + "collateralAddress": "XqwnDe1DphDzkDEXdUMFgWJKNDgxEdX2o3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.158.144.160:9999", + "registeredHeight": 1395448, + "lastPaidHeight": 1987261, + "consecutivePayments": 0, + "PoSePenalty": 3974, + "PoSeRevivedHeight": 1705324, + "PoSeBanHeight": 1988106, + "revocationReason": 0, + "ownerAddress": "XoMRjXSH3AXvm54TqKBKRSW8gixe6mmRv3", + "votingAddress": "Xc9LSPmwCbCEFBtrAbH1U7hvTKCNyRnm1Q", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "89b184d9cdbbe192bb2c29a500c69cae4753069cf145fb8372adc1150cd17a655624bcae36781486779dbaa78357b72d" + } + }, + { + "type": "Regular", + "proTxHash": "aba7bca5e1f3a816922a32c316a2e3f936b1f40e357a75967985d13f03a55d2f", + "collateralHash": "b83612b30f4123d2b51e6a1eac45b192a1e6800b820c9fffca8c14c0cdaaf07a", + "collateralIndex": 1, + "collateralAddress": "Xh2JEdxPHwFSJgp8kgacNwMBMBuU7txPWP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "106.55.9.22:9999", + "registeredHeight": 1395994, + "lastPaidHeight": 2126058, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2005107, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwxCXMHqEwiueNzdsie4piaauragitvwU8", + "votingAddress": "XkiQ7Wd7ezbgW8NTbyFggKNVpVGvxYaXtr", + "payoutAddress": "XgdXLZEYt3UGhxGxGwzdca4mpn4gXDEKMj", + "pubKeyOperator": "1379579d243fd1d8c314164685e014bd4a5dba02c2254fd3804e844151fe1cbb60a63897c014560e09be87a3fb693ee3" + } + }, + { + "type": "Regular", + "proTxHash": "53c6ec9b95afa968913a4ad0243d1d915ac7c64e01030eab94f860f39152588b", + "collateralHash": "d94f77a265d39c6f6977cda5fc52e25ebcd0d1b0a539869b2d4acf94abd0045c", + "collateralIndex": 0, + "collateralAddress": "XgyFVqFPxgVaZVWzB22feXcYVaV4zrunqp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.43.129:9999", + "registeredHeight": 1396281, + "lastPaidHeight": 2127101, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbHeFNAybiMvnzGBp7RUHjvr3o8m3nkKPi", + "votingAddress": "XndReKDgF428JGPPDDrvB7e4hm3aH5Cp5m", + "payoutAddress": "XgyFVqFPxgVaZVWzB22feXcYVaV4zrunqp", + "pubKeyOperator": "92ed4a9ba16d2e55fd1ba47236662a273ad29b6f2ee5150b135fc924d33cde5fe8c941bf8ddcaac598484b68bc4be8f9" + } + }, + { + "type": "Regular", + "proTxHash": "5d11de462ba33742b3d50c50213e836affd05726df4fd092ecd3c9b264b2ea40", + "collateralHash": "b8a0fabf74969f9a57e056174e56a2508357b2864c0cac98fb8c5c8b1ee9985c", + "collateralIndex": 0, + "collateralAddress": "XhWop5XBMrSKdhiuRdy4jG8mR62GuKyiqw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.120.86:9999", + "registeredHeight": 1396281, + "lastPaidHeight": 2127089, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiZq4cJgHEabk71oC9te7MfyQxNjSdVmye", + "votingAddress": "XsizvxBCbXz1JbfjREGrgvZKGLG6VcRJpn", + "payoutAddress": "XhWop5XBMrSKdhiuRdy4jG8mR62GuKyiqw", + "pubKeyOperator": "90db1eab3e75dda82da4b6d4ac3a8f4222f3fcedc849e92fe48d43a476fc030b57d7761d35bad591d422b1a013df1263" + } + }, + { + "type": "Regular", + "proTxHash": "6b64cebc61129af6e2d7b73f3201b7e113e1e1738e4345decebe9b72dfe6c526", + "collateralHash": "b83bac6a0af82740618e56da3ac0610bd3c2e8ac01750f9464424597019439d8", + "collateralIndex": 1, + "collateralAddress": "Xc7WCCFYjNzXXu5PgA1w95aTEMnMGw2G1E", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.226.153.50:9999", + "registeredHeight": 1396317, + "lastPaidHeight": 2028344, + "consecutivePayments": 0, + "PoSePenalty": 3828, + "PoSeRevivedHeight": 2024984, + "PoSeBanHeight": 2031018, + "revocationReason": 0, + "ownerAddress": "XoaYUB1p3k39R1qeraYD4igarhoKoiZpi4", + "votingAddress": "XoaYUB1p3k39R1qeraYD4igarhoKoiZpi4", + "payoutAddress": "Xc7WCCFYjNzXXu5PgA1w95aTEMnMGw2G1E", + "pubKeyOperator": "08cf33b2c3e1e7c974cf0ed4248f645d97df22144d3b0bcf375d7857c95d429c3b6bfe01568cd7983847767fb3a47ef9" + } + }, + { + "type": "Regular", + "proTxHash": "1c3a911a7d61db06474a19ff2e2ff4bc5771731c956a1eef5678a6af44a737fb", + "collateralHash": "db558cd37351ac8dfa55251a008d00db9c94e31576aee3b261e3851eee732a8b", + "collateralIndex": 1, + "collateralAddress": "Xvdg6CmGN4WKGq66CjQ6Ck2hmkBrNqM7bu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.114:9999", + "registeredHeight": 1396641, + "lastPaidHeight": 2125889, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyvaTBRW6SX8N1iuHSV2o2XKdVEneQVNRn", + "votingAddress": "XxDZabcaXyFqW2byAwMKbarEeSWTErM8Kr", + "payoutAddress": "Xvdg6CmGN4WKGq66CjQ6Ck2hmkBrNqM7bu", + "pubKeyOperator": "839affb7e92629c88acb210dfba4cbe77d97e15faddfdde5d41bcd66aef6c976471a4d53b8b7a4a75ac2c90cff1dac66" + } + }, + { + "type": "Regular", + "proTxHash": "02477c8a4dcc67cfc99bca770ed800039f55794530ac708367aa9b4ea6459dc9", + "collateralHash": "86a81ddd07dfbcc7d4c410f4f6a772a8bffab12910d03360547c9a7b2aab77c2", + "collateralIndex": 1, + "collateralAddress": "Xb516JfA9EkLihKTimDmrMtxDk9UQwpRyG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.220:9999", + "registeredHeight": 1396643, + "lastPaidHeight": 2125890, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrvBoEEBWR7MNmWbeKYtvbTbT69F7oYzba", + "votingAddress": "XeeBm7U7Unh4M3A5axFe54JL55PRUJgdhq", + "payoutAddress": "Xb516JfA9EkLihKTimDmrMtxDk9UQwpRyG", + "pubKeyOperator": "004486148fae6a36ad24c5aa63de4d1563aab1a7f29d7bebbc0724c426cbcc8c7d05c161ca67147da5e2cc552e408348" + } + }, + { + "type": "Regular", + "proTxHash": "e61116b8a6c81ff73c41ce33776a93a5f0f711e847899ea761e1e326729dded7", + "collateralHash": "06e62052e85b5000114fa3b206d007e50fbfd051584cd7284984a3e14b6d5a2d", + "collateralIndex": 1, + "collateralAddress": "XwCHvwk4f2UuN9mZcF7D3mRpm15qJnjxrk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.201:9999", + "registeredHeight": 1396643, + "lastPaidHeight": 2125891, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw4QqB2Ee5B4TGEMgPnTcevoAVffHUENNp", + "votingAddress": "XeYjcQDSxNwTciLWuAwHJrUwLZ4cUpVdfM", + "payoutAddress": "XwCHvwk4f2UuN9mZcF7D3mRpm15qJnjxrk", + "pubKeyOperator": "8d15eee82c135d0c79cfd61e1dd8c16d5165f70e04a545bf005d3b00b688d90d260babd985dcefedbbf957558a1a970c" + } + }, + { + "type": "Regular", + "proTxHash": "b2f9daabac912b833f8499831a9bf80df4a8d9a3d8df6d3aa6ec41cff6e0c815", + "collateralHash": "00d7a221690332ba678ca6043ee72a89a8d0226eedf490bbd4d9ae4c72273dac", + "collateralIndex": 1, + "collateralAddress": "XvkqMFJetriy6ThbEZrgMFiZFVs9yRLa6S", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.235.201:9999", + "registeredHeight": 1396648, + "lastPaidHeight": 2125897, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtbYhpnGWxELfuxveZBE62gj1qvWgRAJeC", + "votingAddress": "XnPQz1AkmdxEewvn31V41DFA86TSme6rhs", + "payoutAddress": "XvkqMFJetriy6ThbEZrgMFiZFVs9yRLa6S", + "pubKeyOperator": "9474a5a74e85a79fa0dc18bf3b5e6f0fdb017ad958fd37f52c572e778ccd77e3c316f5676f5999f692e22ec87b3189f0" + } + }, + { + "type": "Regular", + "proTxHash": "d0a0287cbb80560b4416e344bb37af90db30c52d808108e8242a7c02e0a8d938", + "collateralHash": "d583e24022806bd5e7d00de6e8f0db1351d0ed6e94fe69c3e5d42fd7b694f062", + "collateralIndex": 1, + "collateralAddress": "XouBT9QjKtvqUNS3nhzoZ4y1mU3fA1spjp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.52.159:9999", + "registeredHeight": 1396650, + "lastPaidHeight": 2125922, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbacBuyC63C14knKKrewtW9pDRTBgykEDb", + "votingAddress": "XrNL1RLGc9qscNqn7fSfbcJtm4HrVnqHpc", + "payoutAddress": "XouBT9QjKtvqUNS3nhzoZ4y1mU3fA1spjp", + "pubKeyOperator": "08b10c128667ddb112aef836a07fd5f6decf7c05561e5b7b049ff7c348c1ee124a7c9462ee00c074e8923a135fc020d2" + } + }, + { + "type": "Regular", + "proTxHash": "217844f21811bd6b252a5b69f0aba44f340b2c51da923e20a656bfc8aafb8169", + "collateralHash": "9dd9186bfe149eff676058ac1baa160b4522b89087777a3443897ead0d939ec0", + "collateralIndex": 1, + "collateralAddress": "XdiK3m8KxNwXk92Wec75bQv9CEk1KnNCQc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.235.199:9999", + "registeredHeight": 1396650, + "lastPaidHeight": 2125924, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhvaqJxq9eEVQSVwxB65refYe76ZisSUvM", + "votingAddress": "XwM9oiy7zr7VEvLcBDQHFWCouuGbn1nnnz", + "payoutAddress": "XdiK3m8KxNwXk92Wec75bQv9CEk1KnNCQc", + "pubKeyOperator": "91728b730fb7ab123bbc73fbdab23f1522033e5935b93c27bdb99dca2170e63617e4ef1e005b714a91019f4b9cc9af6d" + } + }, + { + "type": "Regular", + "proTxHash": "5e921536fde0e0136b0d440e11927c809248f6fcf185e6f8f4854b2e331ae605", + "collateralHash": "9e9c92f90fa34cfd463effa5690cf5199be88036b29246f41e49e545859852ad", + "collateralIndex": 1, + "collateralAddress": "Xy5sshv5bSpocCUjSBRwMvEF5hroMEuJyD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.98.236:9999", + "registeredHeight": 1396710, + "lastPaidHeight": 2127250, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiriwxMPZ59Uwhk5EYeEL1PvW1w1RkEGvD", + "votingAddress": "Xx2MUPXb8FLGDAujkAXRdW6kHmkqMayDxD", + "payoutAddress": "Xy5sshv5bSpocCUjSBRwMvEF5hroMEuJyD", + "pubKeyOperator": "1934c039b55b5077b09412fed6e13ee5799bd388d96f28ff85dcb844419e717e04cf42d9213887f55f0392150639405b" + } + }, + { + "type": "Regular", + "proTxHash": "2c934365539b2c4c8fc1d478d749e1bdaa59e09c920cfbe066ec8cb6abe46230", + "collateralHash": "818cb9e24e63f35e23916adc3833c7ec06e08bcceecedd8294d3cead23251096", + "collateralIndex": 1, + "collateralAddress": "XufUCy3MqTuPN9B9eov9TkMuMq4ZRtFKYD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.202:9999", + "registeredHeight": 1397244, + "lastPaidHeight": 2126332, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiSRAUBeTZ4FnYhcY1RHxZsJp1K3JHzLuC", + "votingAddress": "XegewtAJ2u4XZXnBYPhMCGNyawkczBEBsa", + "payoutAddress": "XbnDiPJCn9SYM7kY9SgYJrXbVGA7sTWMUS", + "pubKeyOperator": "84fd915c296cddc8583e47ac511afa1a1082c90083574e479caadef0309b5050b5f0ba6d664c969dc619d33d840f1fb7" + } + }, + { + "type": "Regular", + "proTxHash": "bd71ff0ed86646382b19d28a490f92a2e8a7be87da339e493ad9c58e912df384", + "collateralHash": "d400993b21225a0cabb519eb9890bf866e4d4b011270946499f64ddb796f5083", + "collateralIndex": 1, + "collateralAddress": "XfSqJ9yaopVFEhxnDCDmdQiu3FPGKhj77B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.150:9999", + "registeredHeight": 1397287, + "lastPaidHeight": 2126349, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcAgc3ZEXCngS1zhLU857zp6PZrLfakvoN", + "votingAddress": "Xr12wQUyPEkKVptEysRhvRu2r93yatuuzW", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "10dd17d1ce48ea34e1d2b23ee1a2ca3db0a81424a36cc3bf45cd844e7b6ff8b1fc7086ee3eb9800e77fe9ec7b4a4d60c" + } + }, + { + "type": "Regular", + "proTxHash": "1c40a59dd9e6c8881e4cdf77c912dd39de3f3cc82f9bf5b3c85c09ffd954e139", + "collateralHash": "a9f67a057fbe3b1613a3b199bdc0810b1272293714a806fa79d4d14b0c026f4f", + "collateralIndex": 1, + "collateralAddress": "XxRAiz9MHX3dWwiEi5XTF2BwthYSjP2TwH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.235.195:9999", + "registeredHeight": 1397344, + "lastPaidHeight": 2126380, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmiS92DYHBZQBDHpAbzrxCwqkUegqHuWqb", + "votingAddress": "XkaWRjCMJ6h4ghb2VewVoJbcYYqzeabT6C", + "payoutAddress": "Xc3AvS4JgeZvqzo8FEeEnJEAHPvmh3zRv3", + "pubKeyOperator": "0cbf371e765389b10d32aed7273f9339feccacb0e0b496d83a68fcf794c935913eb9654bae8269ab44fe497859c81f21" + } + }, + { + "type": "Regular", + "proTxHash": "1af692e45d5b8b2b62b851e23b4a51ccdc24a2565d49c15b5c78c958b59ad492", + "collateralHash": "027fdf4345607fbeef9c65132f631be1c6cb5a286311e107c2cd3b0a93cd1568", + "collateralIndex": 1, + "collateralAddress": "XwWLqhCwWfQZG5JT77qL3Mm7s3rMTRwYhP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.154.235.44:9999", + "registeredHeight": 1397992, + "lastPaidHeight": 2126787, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcw6bgstMXFdSyS918coLv84yVTJJFXUqm", + "votingAddress": "XuWQFhC4BLpp98TiHVAuY7BtsDqCxgeCA1", + "payoutAddress": "XiisZLe5V7he65yZ9bHnX5SNPPUmeonRYY", + "pubKeyOperator": "9699bbb4ba24b6ad92e8816112baa87ab4638bac785fc234e9de82312fc85dd80bcd91debfb5b43cd42f4e9e53320ed2" + } + }, + { + "type": "Regular", + "proTxHash": "972f35055a6bb93993c238836f0b994c089b26227cc5eff289bb930c12b45e5d", + "collateralHash": "bf596aaef6298650e8b424ed3927ef203d4386e99567539a68c2ad5642dd9932", + "collateralIndex": 1, + "collateralAddress": "Xq4CbmAbpn5xJapyaUFFE9ttt59uV35dLh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "62.77.156.26:9999", + "registeredHeight": 1398171, + "lastPaidHeight": 2128833, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2011377, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjf653eDAEbmCvrKc3WAaM2Biib8LqUaV8", + "votingAddress": "Xjf653eDAEbmCvrKc3WAaM2Biib8LqUaV8", + "payoutAddress": "Xq4CbmAbpn5xJapyaUFFE9ttt59uV35dLh", + "pubKeyOperator": "99d62b48218e801e3669c888c8090644b677377b50fed6db99c2dbcb983e9647366b13a4542aaa1eb46c077d7533f6d1" + } + }, + { + "type": "Regular", + "proTxHash": "3da232a300320b9eda77f400320dbdf8622584bf26be819b000b25292e3310cd", + "collateralHash": "625014c66d4f98202bb035e160feb2566e24986cb43e961a8abe1232ef2d0c69", + "collateralIndex": 0, + "collateralAddress": "XtF3qvDfRg8bh4QTKys4Pn8pVnqPWzKEAB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.197.130.116:9999", + "registeredHeight": 1398266, + "lastPaidHeight": 2127055, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg5oLLwoHgpwNDbg4XgzQtNhMyN518r2Zw", + "votingAddress": "XjYuwzp7HfD1Sq7J2s6jWyiQ1858Vzki3Q", + "payoutAddress": "XotD4nncT9m5okEB2hqQt9ozFUQ8yoQZPw", + "pubKeyOperator": "08cb0aa4bd876acd9865ac68224e309b48935f4e942366f1f2b0dff30cf2b03dcb26109996707604542db2cccb68c4f8" + } + }, + { + "type": "Regular", + "proTxHash": "aec5e5fb55764e885ac659911fd20480a4ad87c2a9bdfe56396b94776911a455", + "collateralHash": "ab816458cc3346d156c9a5493ee7d52c58ef84645a8e0fcb5d6bcee1a2d7b8cc", + "collateralIndex": 0, + "collateralAddress": "XbyxankWxBLJdQdUarL9ipy3kXHyPsHj1F", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.209.128:9999", + "registeredHeight": 1398432, + "lastPaidHeight": 2127564, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876093, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xme8DkwdZg51gTvNKLi5H7d97PGQTwzboU", + "votingAddress": "XithFewDpSXzuaKRbPxFg5Xyqh5wDyCi2f", + "payoutAddress": "XxSmErBoETVjmm3CU4RMqctnobS3U4ehng", + "pubKeyOperator": "0090b8a58c3f1e3d2b9dc4530c06f3f7f96431d5dbc8acd40f7cdd501e6a520317162fe898f9ff0e44ee2d57643819f7" + } + }, + { + "type": "Regular", + "proTxHash": "66f03c7be7c28fac84e90875d67789968b4261f9144ae02c558444855463f4b7", + "collateralHash": "bed660ba1d47a670be2c88111d312e1eb19cd95d846039a2947e79fe1d8ad25d", + "collateralIndex": 1, + "collateralAddress": "Xkd5rfV4NRFuVTirHSdfYPTDB45NbFG22S", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.79.135:9999", + "registeredHeight": 1398790, + "lastPaidHeight": 2127386, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyMhZ4bRnp7NcTxsmd8sJwqY7j2yDJufnE", + "votingAddress": "XrSG9fx6b4K1Tf5Vm3xNai1igBHP5mb4wc", + "payoutAddress": "XsD6FuFxoo3L34yX9xs6aR87oHxQxYuC9q", + "pubKeyOperator": "98dc7fe8e2f138ceb08bf0833c02bb1c7a5d28b6c36ed33b6f586133629d6c4fc7d6cd656233c712325b99da0b4d7dfa" + } + }, + { + "type": "Regular", + "proTxHash": "e6245ddef3697b626a5571b82499e00fd0d68461d6a2e3ca745ddaeb0b1f79d6", + "collateralHash": "af1988841fa4e61739c80e7763125a8fa3eebb6d4ac4afd2ac38b9615488a76d", + "collateralIndex": 1, + "collateralAddress": "XixoFTijPt1UVbfKCK9XqXZ4gZe7C4MaTc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.68:9999", + "registeredHeight": 1398920, + "lastPaidHeight": 2127434, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqHB9LoJ572PFN3A5TnzkhYAopFVorks7Q", + "votingAddress": "XbpedfP3eRpPU2iDNQ3TKswLrrjykHVqwK", + "payoutAddress": "XixoFTijPt1UVbfKCK9XqXZ4gZe7C4MaTc", + "pubKeyOperator": "0a4bb155e5c2c3fea641f46a6510ef23d1f9d2813e61ae1e6a983978491013d2337e1715578c9c451b9b411fc18c13b4" + } + }, + { + "type": "Regular", + "proTxHash": "cc515f5dfb1c67330c048ce6338fc73d4b1b18554601c574ee9982b8a7a3dc98", + "collateralHash": "f00d8e3b67d515f770229dd6bc92abd56d4634c4956327c3ca6bc3aadc9f8c31", + "collateralIndex": 1, + "collateralAddress": "XrCYdh3eyLqyvojeTwwnzCuNURPUrmECaH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.206:9999", + "registeredHeight": 1398922, + "lastPaidHeight": 2127444, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoeghGEaSMHkcrfH13oJ9HeLgFBF9wYeyW", + "votingAddress": "Xct2A5Fmx9dxtyzDkNB7ThQbhWbUaLPQin", + "payoutAddress": "XrCYdh3eyLqyvojeTwwnzCuNURPUrmECaH", + "pubKeyOperator": "17798cdf754c24c7605528730dbd4b438f4726269d95512224a43d01a715e64373b7acd177608c0cf4dde36239d02c23" + } + }, + { + "type": "Regular", + "proTxHash": "d74519d65b78ab5c34c8c8bf8951e967a35ebc17b2eaea3f5d1fbe719583d5fd", + "collateralHash": "50d5c82e1447a9407d149189fca1e4db4e745c8d7ba4b88d567427a1fcdce1ec", + "collateralIndex": 1, + "collateralAddress": "XdHNLgdFK2NeRjdpj8hBQUaiUe7GSnC5aa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.130:9999", + "registeredHeight": 1398932, + "lastPaidHeight": 2127456, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs8W9zzknr74oUXupGXqjdZuitpHzt4Cuo", + "votingAddress": "XyeYuagxf6YjciBhmzYwVdiUJTRcEjzy89", + "payoutAddress": "XdHNLgdFK2NeRjdpj8hBQUaiUe7GSnC5aa", + "pubKeyOperator": "85a828004c31b3887dd508da2ce76c9933c258f5e6107b30b8edeb8aed87e9aa3d17cbfa235148e3036d324556653d8a" + } + }, + { + "type": "Regular", + "proTxHash": "6cb98f7d923cf15945559af0943a9a811a8c9aad1147262cf9950b7de6b584e9", + "collateralHash": "2d0b1e19b3d5a726c7210861a3978932de6ba46ae9aead740d113d0d526a76d7", + "collateralIndex": 1, + "collateralAddress": "Xj4VCQJM28G9SAY42DqkYiNTsLjfPM1fhB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.96:9999", + "registeredHeight": 1398932, + "lastPaidHeight": 2127447, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XavAqxvXo5aB9wwKPVGFYGDutsjHoQZn93", + "votingAddress": "Xsqymdvg63xm5dydTnfCuDPCcnmRFApXLT", + "payoutAddress": "Xj4VCQJM28G9SAY42DqkYiNTsLjfPM1fhB", + "pubKeyOperator": "925668eb37b4b0daeb7c03ce1767f4bf4d1477a2708239b9536a787bb6569a1da5ead28f01ae62697f3eefa28e019113" + } + }, + { + "type": "Regular", + "proTxHash": "24b7c279197ace1eca36926f8a5521047281de86a77db8dc8068575d0e3291a5", + "collateralHash": "88e5969b7098cd2e35e060ee6202ee333aeda11b223e9558a6392709238e68de", + "collateralIndex": 1, + "collateralAddress": "XpPJjqTEnSZ8Ems9m4DShFdnwLZqSDbTBN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.195:9999", + "registeredHeight": 1398940, + "lastPaidHeight": 2127468, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqmCjiCwEhCKesrHJuM8mFCxubgXSEeHwF", + "votingAddress": "XqUUp8bhsjNJfN4zjuokhGVgFSjH7HyxMB", + "payoutAddress": "XpPJjqTEnSZ8Ems9m4DShFdnwLZqSDbTBN", + "pubKeyOperator": "8b4253f994e44b1e241fbefa9e8148ebc1e86bc5fba5c2a75d2c852ece56c2dab7138b9e87a8dfd7a53df4e6a1103707" + } + }, + { + "type": "Regular", + "proTxHash": "2b5071df563850c308843d77f458642268422e3b8995d794f958588d3afd561b", + "collateralHash": "6e3745baf7394c2381b77db112b3f9f560ca88701285d9fa0dff3a26b683cb2a", + "collateralIndex": 1, + "collateralAddress": "XbTXCV6AV4b8ULyyAMvdDssMmveV97M49F", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.22:9999", + "registeredHeight": 1398940, + "lastPaidHeight": 2127465, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdMKesmtBGtJhV8J8dCo5vg8Gh69KmeU2U", + "votingAddress": "XjpbKfRv1UgcckEm36s8ockZfjvAYLbZcb", + "payoutAddress": "XbTXCV6AV4b8ULyyAMvdDssMmveV97M49F", + "pubKeyOperator": "077ca0d495806805cf8af45c253f3f00067edee340af11f2ce7538daa92cc90bd7d0869bef767c2de5541fa7a0e06610" + } + }, + { + "type": "Regular", + "proTxHash": "2fb70ca571d932bb604eb66b4449e6634ec949c20d6e4b9c1d8de8747947b02e", + "collateralHash": "fda03e6eb51c3b4e60cf675af99793d26268defcd211b6cbae9289f791f9442c", + "collateralIndex": 1, + "collateralAddress": "XxNx2Ty8qfaiFdNNS7vnshzqohu5U982qw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.35:9999", + "registeredHeight": 1398942, + "lastPaidHeight": 2127469, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu23enh91rsjqWRrEekVQoJqnJrTVFZYmM", + "votingAddress": "Xyf2TspHWFcN5X8JEantUSyn8ZHsZANRDP", + "payoutAddress": "XxNx2Ty8qfaiFdNNS7vnshzqohu5U982qw", + "pubKeyOperator": "156cc529279e3fff8ecc8490ec62da2510077373bc8332857f9d9b352044f33f462db837345f28fd51f9bb99840c9dd9" + } + }, + { + "type": "Regular", + "proTxHash": "98c655e46e3fe6317464b81efa164229016f73a9c36a48b8058d46e2faf33a49", + "collateralHash": "8c75f21624cdc8ddadee1d562ebf33e23b43e2e89bf12ed4616480bd5ac082d7", + "collateralIndex": 1, + "collateralAddress": "XxUTHrjMCaKErDvGa1L3swP6roBAqS3N4D", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.141:9999", + "registeredHeight": 1398948, + "lastPaidHeight": 2127473, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn66ZN5EDBxSuBi25Kc57XuzVth3kj5HGP", + "votingAddress": "Xh7CiBYY33SKiHmxgemuwNmuRX6ixT7msZ", + "payoutAddress": "XxUTHrjMCaKErDvGa1L3swP6roBAqS3N4D", + "pubKeyOperator": "069abe744f936865dca1f880dd8747a48f42e4eea01e55c37c549656d2b66b0d21c5d9f9cc8233ea84209f1b38938a8c" + } + }, + { + "type": "Regular", + "proTxHash": "b90d0c7e9b6e379173e3dbb8ed5ac73019a302ce6536a8e3bc6c2ef44384590e", + "collateralHash": "af427d6d8083860fa5bdbb8c7770e7911c4ad4c20d142c3b752a8d2617fe02ac", + "collateralIndex": 1, + "collateralAddress": "XtyqKFgPyzThVMk3yUtJbW9SPXreuPsN5Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.19:9999", + "registeredHeight": 1398952, + "lastPaidHeight": 2127475, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeaXSxDUqvPmpiK5xXmBMrT5Mqcs84VpVk", + "votingAddress": "XeDLRaDE8i51w4WC48zeRXCA6dLg8b6do7", + "payoutAddress": "XtyqKFgPyzThVMk3yUtJbW9SPXreuPsN5Z", + "pubKeyOperator": "07f24a32519fa1c806fe3e65844f6ba12da482dda4515e54bd7d5e69f60c5bdfca345ead350b47f833ca31031d13a437" + } + }, + { + "type": "Regular", + "proTxHash": "ef6696c6aab9b58e1d52144947e6bc7d984dc823a522f201fbbd01e3ffc5ca2b", + "collateralHash": "b15fb47c7444dbd4c35084f961d9b66d9a4a649b73084246c37e8b14e86f5632", + "collateralIndex": 1, + "collateralAddress": "XmmZyi8HtYU6d9gVNG8ksAgTiCsshahySQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.19:9999", + "registeredHeight": 1398952, + "lastPaidHeight": 2127476, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsv3Mppxmv1S2RgYK9u69ZQFa3J3xy4xEF", + "votingAddress": "XhZLytaHdVSDfnnNVqobsax8yhHBWXC8c2", + "payoutAddress": "XmmZyi8HtYU6d9gVNG8ksAgTiCsshahySQ", + "pubKeyOperator": "0a64052c9b9543ee0d8e6f19f92687cc411addd1d3103433ab002b288c061a59ad4371b96d15dc2ed1f129e5cef4874d" + } + }, + { + "type": "Regular", + "proTxHash": "8555bd022b3d83958a22eb65f22636b41e48fb62f300240498c7a18b17bb312c", + "collateralHash": "30b65ef831bcdc57d1c722f340f6857d26589480a3f63c99a88cdace30113d0f", + "collateralIndex": 1, + "collateralAddress": "Xp8uPVke88Y787s7bzveCTtrwhqNXDtf88", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.144:9999", + "registeredHeight": 1398955, + "lastPaidHeight": 2127485, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwCtJYBTYqMBDkjHtgK4QqrcLqhVsxk8qG", + "votingAddress": "XfJnH7GR3nxQ4fVekD73dLtnJPohDaU9V4", + "payoutAddress": "Xp8uPVke88Y787s7bzveCTtrwhqNXDtf88", + "pubKeyOperator": "8dc6bb3b660a0ed0663e2aa5585a16b7d803ff721d08c6ccf9479e51ff7a80e24ae61443440b87650beabcb0fa6d8a8d" + } + }, + { + "type": "Regular", + "proTxHash": "37803ed22913eb3dd35eed8b32b1520bdef72ce5cca419131c839c42a442de5c", + "collateralHash": "9b21ccba4212851406a23646b4bba4fedfb289a8b9d957d00c9ec4ccdb4a913b", + "collateralIndex": 1, + "collateralAddress": "XhB5Z7TDhxPwKR5uW323Nf7hFhTrG1UcwP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.227:9999", + "registeredHeight": 1398962, + "lastPaidHeight": 2127497, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm4P4kzENmwgFnZ6LWnCDX5k1QvKBbFPwQ", + "votingAddress": "XkBzbX9SheXZfWFP7zmYrJcG4xqwu8ggic", + "payoutAddress": "XhB5Z7TDhxPwKR5uW323Nf7hFhTrG1UcwP", + "pubKeyOperator": "91c1f9d7befa8f2902b6fd51a553593a33f7b847d455d909297acd47bd10db1dcae7d91203bfac44d00a86553e3d3e5e" + } + }, + { + "type": "Regular", + "proTxHash": "50e53ec79b8860eae0dda74eb32090060e0e37fd186caa553c7880be01b61305", + "collateralHash": "017a8ebadd3f6f63ff520708e522d824012819e86e2fb3e6d40dac892f4abb19", + "collateralIndex": 1, + "collateralAddress": "XoxEAUB7pmDuP9nZy5KcmCL4NpyWENLGE2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.39:9999", + "registeredHeight": 1398967, + "lastPaidHeight": 2127502, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxkuXZXmibJxjRhD1bzCRysYqkFP7wqUxY", + "votingAddress": "XvgxtSa5TQmsgsYS2iW5kdvrzVCFv2DSpS", + "payoutAddress": "XoxEAUB7pmDuP9nZy5KcmCL4NpyWENLGE2", + "pubKeyOperator": "8d2b1c58d70b229f2cc2690aaf33df0aad227fec7619ed1c2295f704fc7d73ff7bb97e3013f7c8211620c4715d18147d" + } + }, + { + "type": "Regular", + "proTxHash": "a308dfe7eca28439ea82b5c1c28df1dec9a24002af4a8535f3d05f833770387a", + "collateralHash": "307f0548f2d356bb8564b741939830799d7f8322995717524328808003915b0a", + "collateralIndex": 1, + "collateralAddress": "Xhv6JYcZi1wJPK68teT5LWhpLVqk4mhjiA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.70:9999", + "registeredHeight": 1398969, + "lastPaidHeight": 2127504, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdDbNm3BAPYfF9796xKEpDfwxqZGJUjN15", + "votingAddress": "Xp6vyh5zjiif8BUZS1akkYdd3W6KsSQJZQ", + "payoutAddress": "Xhv6JYcZi1wJPK68teT5LWhpLVqk4mhjiA", + "pubKeyOperator": "11a611ce072ae57c207374b27936546ba144b9a415d20737e1ca25a14978edaccf8f7ded67f917f6d1a429e3447bba12" + } + }, + { + "type": "Regular", + "proTxHash": "e2c4bd155dfd1166069683d60db69b4a2289e476f038d053e0ac1e94405fe934", + "collateralHash": "5a60004141ff2c21491f470501e9433aa40256b20deb1c73777b5f61a1fd7060", + "collateralIndex": 1, + "collateralAddress": "Xuh1i8acDdGUMJi5r1U5828ukHxZUTXLdL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.36:9999", + "registeredHeight": 1398976, + "lastPaidHeight": 2127506, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvABFnmjpnw9TzwAKBm6jztt8uoPTRcKjQ", + "votingAddress": "Xx2dMDE2PowwmA1y3Wm8XzriVgtKPETWcc", + "payoutAddress": "Xuh1i8acDdGUMJi5r1U5828ukHxZUTXLdL", + "pubKeyOperator": "89a48272f5c3d52c6e7e9b97051438143b9b86e542e4395e165fa5b8038d73d7612ff8bb438e434b60390aabda8eae7f" + } + }, + { + "type": "Regular", + "proTxHash": "7c3556b0b2f7683b8c125f0438328bc05c014b1e515b6e5b8421ca0c4e9368e6", + "collateralHash": "f18cd3655922ee454a4c56dbecfc7ae3bb993112e4a21bc96037ae62867bb3db", + "collateralIndex": 1, + "collateralAddress": "XhBZeVGESUo2cSHwcEcfKyX6LQ8rHWVtza", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.99:9999", + "registeredHeight": 1398981, + "lastPaidHeight": 2127509, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpjoRuaP4Dh1y54MyAEw2HXk2fmVmvF7oh", + "votingAddress": "Xx9PV61LdghLcUPGXQ68Z9MRh2LBW42vQE", + "payoutAddress": "XhBZeVGESUo2cSHwcEcfKyX6LQ8rHWVtza", + "pubKeyOperator": "950b07c2e95b0b8caef5b7b8a64a51fe660696a6433db327b6e0b325c0f26ea21cd527938d54233d338a27604f321e57" + } + }, + { + "type": "Regular", + "proTxHash": "96172a5caeee869b8662a1dbc6ad2d4da43a5678fd91b5fb87ba4cfbb93324a1", + "collateralHash": "d051290c8b1791b8a6a92e34aced3d68c1cf5d28105ebddcbe2bd54831662dbe", + "collateralIndex": 1, + "collateralAddress": "Xgp2boYhoimjSQBP1zsjwSxPvwLSB7bji5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.66:9999", + "registeredHeight": 1398989, + "lastPaidHeight": 2127514, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn8bekDz1bZ4mCdqjiDtfas8H86sb6AYQf", + "votingAddress": "XxU2NALwKkFxA764JKwKH4MWGRdkHBnpDP", + "payoutAddress": "Xgp2boYhoimjSQBP1zsjwSxPvwLSB7bji5", + "pubKeyOperator": "94bfa631b7421ee9db633af657f9d51f2ef3a01bf9025d6759ae01aa03ae9e27f3748474355dd9114fe65966948300d7" + } + }, + { + "type": "Regular", + "proTxHash": "a5ca4c081a8455a2e8f3c5c1f2f3b4616061e00bd053c172d51bbfa3d3f42f1d", + "collateralHash": "4c88388e14c439fd959e02d32108feea46e731130b8a828c1c375e73fc0b7b29", + "collateralIndex": 0, + "collateralAddress": "Xuhrgq8oppBtdxbUWaTm4VfpdydsN2AYDm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.104:9999", + "registeredHeight": 1399579, + "lastPaidHeight": 2127931, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmShheU4n6a7VsSAgxrJxDxpNvVqQsUhib", + "votingAddress": "XwSQMUDzgVhqLvkHTEjNTsawMAZqkMiwDG", + "payoutAddress": "XiUSh8x6QxP5sCDHPTZf9rRZJWVNi6fnZ3", + "pubKeyOperator": "927d0053ef18f1ae6c0a2b3fd5368f315dc44ab246df97edddb5b662af91c8b80236c6e15ad7bc365bcf6fe3eb4c5355" + } + }, + { + "type": "Regular", + "proTxHash": "cde7f3e79d3b230f832469afb91a21b70d32283d639d7c92b4dcadcb8f700f03", + "collateralHash": "61757b825c5cd9b549aeaff6d2a946bea3b4622b322a5b4e26f3d077ad4c2876", + "collateralIndex": 0, + "collateralAddress": "XfEkvwdBCT3jnNAYfQqnJukqEwxeprzkQW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.250.78:9999", + "registeredHeight": 1400229, + "lastPaidHeight": 2128558, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2017832, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs7pqKGASJga8wtdz2LcM8J5dJqxYJC1mC", + "votingAddress": "XgrpPsyBBgK6jkVWHpa5ZLXyH5FveS44jJ", + "payoutAddress": "XfEkvwdBCT3jnNAYfQqnJukqEwxeprzkQW", + "pubKeyOperator": "935d526683f7ed8a27fcc304e08c8d83cd07a9a2b0061e07ef7bbee4af513cd7cda1f88f583b702b482488f9644d0403" + } + }, + { + "type": "Regular", + "proTxHash": "37ecae95cf090934205ee897a8a04d4e33f262771efb29781676eebecd104f43", + "collateralHash": "2a62640de089023cc5d5af195efe89b6fb44fdca119dbebd6fd121dcd3e0e2be", + "collateralIndex": 0, + "collateralAddress": "XobCdC2ARkJ3Y5wKMSvhdu1BYUir5i6sbk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.157.141:9999", + "registeredHeight": 1400229, + "lastPaidHeight": 2127090, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcP7eu5u9iswjEJi7ZDnRFxBE1QbPS1g4J", + "votingAddress": "Xwst3vi3YdjTK8YFLNoRFgKJUyoqbZCGMA", + "payoutAddress": "XobCdC2ARkJ3Y5wKMSvhdu1BYUir5i6sbk", + "pubKeyOperator": "99d36aef0dac97efcfd2018b71286803718594a17bf77aba3bb9aec254da879feb6b10859abc784081d7e602b2b6dc63" + } + }, + { + "type": "Regular", + "proTxHash": "72b23ecde739b239048d1f139a14bf2e26782ddcf7fe3bf1b91b8aeaa24109e9", + "collateralHash": "fc49b1db5adbe0409555b2040209b5b81510412f5d55ea9b2a8491f61b3a1a1a", + "collateralIndex": 0, + "collateralAddress": "Xwymrx1SESkkou7mCkBiWcejh8o1r1K31z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.98:9999", + "registeredHeight": 1400743, + "lastPaidHeight": 2128867, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsYdUi89VTstNxQNpKi838rdeGdiLWXPYh", + "votingAddress": "Xx7ZudiSoMvtwEevoEk1vtQGGNfakcnwGU", + "payoutAddress": "XuKeiz2Fr3tQoyaEQg6nTAEgkxMkeTCjQP", + "pubKeyOperator": "0dbc615419b2d17bb63496a1608c65a5ec5b12310bf7e00162fb9fd017ad1f83cb43776036e9588c3ce8f0c738a61324" + } + }, + { + "type": "Regular", + "proTxHash": "f734e0442fa86044dda22d5f86ecc3f3bbb18aa705a2f4d5d242e32145f9cbcf", + "collateralHash": "3d9ad9c5a80c8b080e1e467ab3dcc4fa7150c9e3f69a7c996da8a21486dfd26c", + "collateralIndex": 0, + "collateralAddress": "XtMmQdfJ7avw4bpRa8yAfVeKdk1KMYwV43", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.110.248.96:9999", + "registeredHeight": 1401123, + "lastPaidHeight": 2125787, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrrqWEpsLhLPkqapnSsmjQpuN3urboFfsW", + "votingAddress": "XcKQ2YiBxKQWpLDDwvE9qtcfW9nNoodpmA", + "payoutAddress": "XyoEGYCN3MhrPMdtDXyLaSNqRcew6nCo1M", + "pubKeyOperator": "13aed912609fd287cada72848ed03d3db607173c30254672c01e4c998a2f0a93636cee444e3ce78a5e74936cedc064b6" + } + }, + { + "type": "Regular", + "proTxHash": "1d33938842240c4c1890fe26e30b75c6e6fcd072d064c3e0d4d9f8790c4f093f", + "collateralHash": "abff69d9761540a277e1305731adaaf9e0828330cf245956d8d0412f865b5475", + "collateralIndex": 1, + "collateralAddress": "XfbEk2DsQZGSBVuCuk6r4M2pdD8CGQwGJh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "208.87.102.81:9999", + "registeredHeight": 1401321, + "lastPaidHeight": 2126088, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2082695, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XewKaJQMkPhmFN4EWZMM6PHMsjzRcaDf26", + "votingAddress": "XewKaJQMkPhmFN4EWZMM6PHMsjzRcaDf26", + "payoutAddress": "Xhy29Ky5a66KM5oKeVTzLXDeuCXHecHFW1", + "pubKeyOperator": "8a31883bd3edaca27f0c8d49d0c06f28165c1a9c3b46d1b6fcdc5b53310dba56c57a8537cbe61ab43fa3015d87efd238" + } + }, + { + "type": "Regular", + "proTxHash": "ba9a3076cca4657c6c2e2274d60df1399e48ebf03c00d6f51aba04ff4ebb18cf", + "collateralHash": "f7970d506a7f61024d6bf157687492b65214d089a0554ce6a2de0c87b4f83348", + "collateralIndex": 1, + "collateralAddress": "XazPitVExxYFguNPFzBQhM8RzyFBFJGY8Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.76.233:9999", + "registeredHeight": 1401453, + "lastPaidHeight": 2062942, + "consecutivePayments": 0, + "PoSePenalty": 3815, + "PoSeRevivedHeight": 2032608, + "PoSeBanHeight": 2063274, + "revocationReason": 0, + "ownerAddress": "XcKT7N3LHB5RgAQYWhDU2r3dDrWg1PJ9jj", + "votingAddress": "XcKT7N3LHB5RgAQYWhDU2r3dDrWg1PJ9jj", + "payoutAddress": "XazPitVExxYFguNPFzBQhM8RzyFBFJGY8Z", + "pubKeyOperator": "0dc9614c2e85bd43c1501d61eac50b42ab0de6858d4caa52a8c63e9ea8124c0300e5c7b351c3d160cce94a19be05996a" + } + }, + { + "type": "Regular", + "proTxHash": "69974be59ab9b117c9eeac2ad50fbb352c1fd61418e7962070bf39e51968de88", + "collateralHash": "0ac03a7197742c9967e4f59dc6ef7e7012a2d4143f206f56ab8cf2f11e191f92", + "collateralIndex": 1, + "collateralAddress": "XpbLB6P8gAUYZY5awo49nP25869LPnjUrt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.54:9999", + "registeredHeight": 1401665, + "lastPaidHeight": 2126823, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986026, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeRNBPHKkoTWD9Yz3X5XdmkpZQPBhNvWz6", + "votingAddress": "XeRNBPHKkoTWD9Yz3X5XdmkpZQPBhNvWz6", + "payoutAddress": "Xv7MxU7GWdVPpzswwTTAJccYhnNBjohzXp", + "pubKeyOperator": "0fb14c31c4140d462aeb60c48741dafbe78a08ce77640d912d0439b3b083819d751c81c426842f2246229b2574381128" + } + }, + { + "type": "Regular", + "proTxHash": "4d84a44f531ed9efccdb85df7a6daf5bd0f5c24ca4229fa3605b342c616e01c5", + "collateralHash": "80aa0c2fb778682d82cdab2ecd01c979d883e2ca78e51851c763195c61558d66", + "collateralIndex": 1, + "collateralAddress": "XgKboob8apTnANYREYghjc4dDow3dtW3z5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.91.127.166:9999", + "registeredHeight": 1401821, + "lastPaidHeight": 2128306, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2078169, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvpHvCaekop8kpWNzdBHMpP23UDMCWwmsj", + "votingAddress": "XvpHvCaekop8kpWNzdBHMpP23UDMCWwmsj", + "payoutAddress": "XuDJhCq3Woy71BURFXU5Jcr6AdTbBHFzKj", + "pubKeyOperator": "11820f1af19de9438d632512d512b007148b12250455a46b2ef5023106db3bb29eb02b6cf56a4466420c76c276530e25" + } + }, + { + "type": "Regular", + "proTxHash": "e7101cecfa8293d6259f8046f19837247e2b37a63f9b949375ffb0837872c564", + "collateralHash": "55fa70181e09ec4578233f21de510e691f41130144ff494bf5225b1291563663", + "collateralIndex": 1, + "collateralAddress": "XaxMwbNpKeY6gV5enEXA6M3VtcPLJFLhoJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.117.38:9999", + "registeredHeight": 1401899, + "lastPaidHeight": 2127513, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1993113, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwdVKLNfBEjBLFjaTwbYJr2yQAVovrnMeo", + "votingAddress": "XnoRjhBz1AR7PxFhN5vN73LRRhcwmaxvXm", + "payoutAddress": "XkCQtsCY2V9iTFRYoY1Gmvqa5bhFdVHyYU", + "pubKeyOperator": "10232876838b752c949f73e2226cb28e1d1a9981479fc88b767304c2e76328320f9507599a6fb4e25f456535429d093f" + } + }, + { + "type": "Regular", + "proTxHash": "af5125d0767fc9da5c364c06eae870869450784783eaeb9bd72a05ec06072496", + "collateralHash": "93f5d7bea58202a8951272a55ae79f480cc18e392b46885920ecfed7f5915870", + "collateralIndex": 0, + "collateralAddress": "XfptyV7wCZopp7rnRMNfESA3Gcx26Xcy3J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.12:9999", + "registeredHeight": 1401925, + "lastPaidHeight": 2126245, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtVbLcJcRNNGQtDvfKwJooctmCQsbaXswJ", + "votingAddress": "XgBQpA8YpkFNN1DfBq92TKKCJKCKqUymow", + "payoutAddress": "XvUg6LK5T2CzmsGiqpRmZVUEEyRiE2CGpm", + "pubKeyOperator": "13471625bb93c15bb12dab530f395adc4cb57a997bf7d41cb0ae22e2e7fec688798e2feb114fce01e0a42dc889187769" + } + }, + { + "type": "Regular", + "proTxHash": "5dc958115ea894e1ba6fd7a0cfd5c2eae405d79a2002f320a74e5721f5e206b5", + "collateralHash": "7951b64c6cf2d933d13945e18260324c895744292dbf491c70d17537a093a3e9", + "collateralIndex": 1, + "collateralAddress": "XjJCMPvsiQdxS9fGZDmwzvc1eh6mGL6Ybx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.248.145.222:9999", + "registeredHeight": 1402267, + "lastPaidHeight": 2062949, + "consecutivePayments": 0, + "PoSePenalty": 3813, + "PoSeRevivedHeight": 2032613, + "PoSeBanHeight": 2063253, + "revocationReason": 0, + "ownerAddress": "Xwj6sqAGxGjbYH8sbtntsiqyvKbzLwYXbe", + "votingAddress": "Xwj6sqAGxGjbYH8sbtntsiqyvKbzLwYXbe", + "payoutAddress": "XkJTQZyF4LKGQEEnRXe4p5rmdfrcyifG8c", + "pubKeyOperator": "87a26e03d7b10f61dc37b7b27aec5b18d788ddb243d98e6051c492aa43bd3ead81d8d9145ed5fa1fccaddfab69b8b0ab" + } + }, + { + "type": "Regular", + "proTxHash": "28a1841f20c38dd97291667dbe7649ade0e7caefe6b415891a8f0639e56cc8ed", + "collateralHash": "515c750e3be6302069dfc6e68e486d36f89482445241540c4d03412d7e2f4037", + "collateralIndex": 1, + "collateralAddress": "XebBreM2rHB1Z7zgAaqsRwP3MtQkANwXzm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.11:9999", + "registeredHeight": 1402316, + "lastPaidHeight": 2125847, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1639050, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy3yi3PDyCkC1cmAUAJrtBU4r149VLPASX", + "votingAddress": "Xy3yi3PDyCkC1cmAUAJrtBU4r149VLPASX", + "payoutAddress": "XtayRDKhZjV8KB9asSaqGbSVE9JCEgHod3", + "pubKeyOperator": "99f775a0ff7eeb65374bfb275631c0bea2d1821e1f8f253eb057c9a61faffeef8af31bf74110e018862ef22aedb836bf" + } + }, + { + "type": "Regular", + "proTxHash": "bd454d237c0d1f9710e24f07eed2b6757ed0161ad9eb60c4fcde74d6dee0031a", + "collateralHash": "dbe97f40d1f633e07ca2d00459836a8bdff7a7e58e49498f8b517705a814d6ff", + "collateralIndex": 1, + "collateralAddress": "XwQ1sZjRWgy28VHiyHuvUP2jq1j3Qax9CP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.15:9999", + "registeredHeight": 1402318, + "lastPaidHeight": 2126511, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrR5drYJdaY6HoCcU6C1YMu9ErPq8ght1c", + "votingAddress": "XnWCdCUH19gqL6LPL2SuTTkDCoefvuBJ3p", + "payoutAddress": "XeGFPbwoshAAw9yuRFyJa7L6x9JMXrEgww", + "pubKeyOperator": "114c1e474aadae7281a7a2965edd5c6215dbdfd3e64f5de720780fb036d52104c2ee69f3aa1fad0dcb9b46bd4e02503b" + } + }, + { + "type": "Regular", + "proTxHash": "36632ecb3406198fabd0d1943afe452e7a185aaba934cbc64c95088fdd158816", + "collateralHash": "05c26f065d09faf54360a8deb6c7f043f0a27968109b74135f6757c851a7ff4b", + "collateralIndex": 0, + "collateralAddress": "XoDTnmDCEkF6GmuNBWvvUcTPgtGWwLrJxw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.122.33:9999", + "registeredHeight": 1402338, + "lastPaidHeight": 2127087, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbwBVfXsDFbL6XMqmjDraqWhGZDmia5qYz", + "votingAddress": "XtkbzURuNv6TRvVQKttPUD5AXp5Tp4VEGk", + "payoutAddress": "XoDTnmDCEkF6GmuNBWvvUcTPgtGWwLrJxw", + "pubKeyOperator": "8da5f8c2edc89cdcb0bbef9a0cd815f77aa51e6af66ac3aac4209cc22873d924b43b4ffe8930f510918fb46ac8c096e1" + } + }, + { + "type": "Regular", + "proTxHash": "7fb94d9841ee0cc67a5efb574f0f3a1fca05052f001d18dc4a36eb6d410936c2", + "collateralHash": "0dce95d372428e1117b0810da326977850f121b654dea7b710e07c11a17243d0", + "collateralIndex": 1, + "collateralAddress": "Xdd4HMBZmm3ooGfEEAxNtKuvb5nYdDk5cd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.38:9999", + "registeredHeight": 1402387, + "lastPaidHeight": 2126576, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XttNECaTcLnzuwHJW9tFikbVjPvqiD8HUv", + "votingAddress": "XiW3XP6pnqTwDgAAcfFM36e4NEaDFWfX6Y", + "payoutAddress": "XeLXSkqd9MaZfzQWwrsWJS9V4gpTqnsRNh", + "pubKeyOperator": "8b1ddf47783f55e312acff4428ff2f4e8acdeb03dc954f96add8024da46f3e29aed8f06e9e86cec65e0cbdbf04878325" + } + }, + { + "type": "Regular", + "proTxHash": "8f84ac62452d5a8db4b1ccd4d5e4cc0e0ca8a3f5018a85d8c853f5c6350ce052", + "collateralHash": "d54d346c5627476322e38f7f73359127a90c136d03c88c68837c243bfd50567b", + "collateralIndex": 1, + "collateralAddress": "XnkgiN9S4mVWZJmtdFbRaTdJz3qEYwB68g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "213.136.91.123:9999", + "registeredHeight": 1402469, + "lastPaidHeight": 2126505, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985716, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfai9zRcdfnwsKiTb4zou2NGugxunDZpgr", + "votingAddress": "Xfai9zRcdfnwsKiTb4zou2NGugxunDZpgr", + "payoutAddress": "XnkgiN9S4mVWZJmtdFbRaTdJz3qEYwB68g", + "pubKeyOperator": "034f2055202ff3be03ebc5a34b9aaebd16e8b85dbe6c681076558820a46a86a25be154393fa48949ac58423268cb02e2" + } + }, + { + "type": "Regular", + "proTxHash": "c47ecf6f1e261e8dff01005b51f7cc7200c25ea594f2c01c272dcf6aa31dad50", + "collateralHash": "10ab52d754d27332b02fb63ee6008a2c87775b6baa9f869493fa2600bea42cd6", + "collateralIndex": 1, + "collateralAddress": "Xq5ceuSRUuCznmB2V8CcazH9DqLrpvTMhN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402754, + "lastPaidHeight": 1731905, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1732634, + "revocationReason": 0, + "ownerAddress": "XsCwRCCrsA4odrwyb6UUPUB2nAenRTDerq", + "votingAddress": "XsTCTQumAwWUWdY1sEs4mLH9pnjqFNk3a8", + "payoutAddress": "XpPZMiQkyuccQtvqCXNzpopF66WKMTHdHZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9358e0ef156c9cca901e24160459ff78b4972dac423d1b5c45b330dc55e34cbc", + "collateralHash": "f8c5d342bb3a9f6f3e4559da25faaef045b8de4050222bf93bc8e5c33a7d2d49", + "collateralIndex": 1, + "collateralAddress": "XccCRBayqPqt4AF3w8abxJsk6mdS7NBAoN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402756, + "lastPaidHeight": 1724162, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "Xv4oSfDtjm1qgcx4zRC59sCm1v9JLbiFkd", + "votingAddress": "XwcghAtJVxkKSxZpgSoCEpGttZuSFpMvQb", + "payoutAddress": "XgpkJxm6qrQFufsy98xhAfKbqCG17E6E6V", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "8d01b72ce03ba2a59735380815471d2ad47b209ca9e51b9d74083e4d82b7c3b7", + "collateralHash": "3ceeda6bfb963f53b89911362898e42d1a1bb1ea714a043648b45be90063e07a", + "collateralIndex": 0, + "collateralAddress": "XtpDmg8LtLFNSCNTfHC4u3d5LyJ7h7L1RG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402756, + "lastPaidHeight": 1724160, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724891, + "revocationReason": 0, + "ownerAddress": "Xguk573SrAR4JymQ2wXasLuXUK6E8zobtJ", + "votingAddress": "XrGBArPBK7rVMPyBwvmHXiJFj2WsCiaNmz", + "payoutAddress": "Xk9LFaFhnmgXyC1MX3biS5SLg1pS3fm3cZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "623aaa2d8c21715b1b16ec1f18ac4e23138748021daf3fc4207046d50eb06393", + "collateralHash": "0513e02da6b3b959175b16e16fa1c25d1fae9a43dafd98bd8ebb7a6a46d9854c", + "collateralIndex": 1, + "collateralAddress": "Xyhxx8ynHh1qsAPm4hJGTqPs2PpHwvZAxJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402756, + "lastPaidHeight": 1724159, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725251, + "revocationReason": 0, + "ownerAddress": "XkD9HKaTkQfxHPo1fcoHr3PAwPvqkoPUSu", + "votingAddress": "Xk1G6B3dHKWDwRrbvLQ1b4Cm14z9RZPH4K", + "payoutAddress": "Xe4css2orZ5QdRSJV2yr88yb9F51EkdF1a", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "4f673315a2a87ccd2e39d80f2c2a1ed6d775722f80374b08676a038367db4fbd", + "collateralHash": "4d925e71abf521b4ae1465ee056b49a9ed069ba250de1f0b9141016b95fb813e", + "collateralIndex": 0, + "collateralAddress": "XhSnHDC3jF3WvcFpBwFSzVGx44QWx1T121", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402756, + "lastPaidHeight": 1724165, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "Xgx7Hx13Yn9uypD6hQUdJ912NmHSh6j1Gk", + "votingAddress": "Xcj1Zp34opbqtYMfrx4HZhbL8MT7p2hkgQ", + "payoutAddress": "XapHLK9JRRgfG1JdzLo3dAsGvqYhYJS2Qf", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f4080c017e9129a1116fd3137b36d455dd16beba09d0554f353c183a0d3c7aba", + "collateralHash": "9963df7ccfa335352fff9d9ca560ca52d313914f0524e74d4e9cb3a797574170", + "collateralIndex": 1, + "collateralAddress": "XyycHveJhVoeZyVLULXgaWMvPY6dd5iSK9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402758, + "lastPaidHeight": 1724170, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725420, + "revocationReason": 0, + "ownerAddress": "XkUSbyADrSp5YUSnySuM7qvEpkrPEvcrsA", + "votingAddress": "XxdshmdRPN9Y157hUkiYwGFw7B1Ag59rBx", + "payoutAddress": "XwrF7A8BMTVMAW7EA1D5qfyLSQN6GRAoaT", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5a93e959061807fb0ec465f31db70c471f0dbf3919dd03e7f61fb6f544a88b1f", + "collateralHash": "301e06ce50d2ffb771ffe0ffb1bb80728d180a3dca258084fe16a7af7e42c4d4", + "collateralIndex": 0, + "collateralAddress": "XiANL7KJ6GeACv4Bi7DzcmEZzoRnoHnZN6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402760, + "lastPaidHeight": 1724174, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726140, + "revocationReason": 0, + "ownerAddress": "XxThPwD8jj2YB8ETkRHeLvS6kqUFf2dUQ7", + "votingAddress": "XxwnYorY8vmeMostAaGHKHe5KV33SBZtPX", + "payoutAddress": "XqoGcxLU7bq6UR9r1zZhVAGHYr3qxroaYa", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f6e43cdc70e87443a3bb9cd49173efdc2d08d93a7aca84eae5c000991ed7cab4", + "collateralHash": "dbc57ff86a25b8c9d7dc5b12e6342543e41cbb3f4b1278d9798bf008aa749557", + "collateralIndex": 0, + "collateralAddress": "XfQMFDDTVbUTSbUsA5b8E4sEKamhUvY56T", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402760, + "lastPaidHeight": 1724175, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724315, + "revocationReason": 0, + "ownerAddress": "XefqnrwmazBmm7grbbJ86tWVjjRbNPBfi9", + "votingAddress": "XvTHq6xu2RddoLtUXksL5kTyujbRJB9U8D", + "payoutAddress": "XmHrYqyH9fy9cTtWpERnwrUwc5CiDDTFeJ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e672324413b070c66830e53ee7f20de147cf0b0947cad7b5f43fad6f27c79963", + "collateralHash": "4c40ee1465aa67fe38174da4ee59b288a6dfefb66dd2ec772881c1ea8e04356b", + "collateralIndex": 0, + "collateralAddress": "XfPEZKpt5KeDSR3xDyaV5P23mTt3DtrQFf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402762, + "lastPaidHeight": 1724177, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "XbSApHSXtvUhe5nJW8zxqStZobDwt4PKdX", + "votingAddress": "Xx2hRV3yVYmabE9dRuKsceszMbGhcLxpvP", + "payoutAddress": "Xs3j18zeEpWX4p7iY5sF1agd7pfAbsGgxC", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c6fa7c504aa7f2db98f97236662cf323111701892f534c10be6eb28b8e1997d9", + "collateralHash": "69a29e7d6019df84f45706a194f81dbc2b27078b778fdad5b72ba29006f15fc7", + "collateralIndex": 0, + "collateralAddress": "XkuA5xA27efHhSdiSsndQ4CNxbpy6kAT8A", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402762, + "lastPaidHeight": 1724178, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724916, + "revocationReason": 0, + "ownerAddress": "XatyL7ZTe5AuAtKxRYoFuj3S7K2sz7LmBQ", + "votingAddress": "XhKmKDMgomFyZAsc2H8MEC1KiTfP9d4M6y", + "payoutAddress": "Xc3U3UYjMMJEm6Q1nce5qy9B99Zn73wALM", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "95888f43dcab5dd6ebef1f031eba1356b76c4c04745b51fcc57874fd3991e053", + "collateralHash": "06d43a23e18cdbf39d1e967a9a092fda1323dfd6c714e41747f606abe27a6d84", + "collateralIndex": 0, + "collateralAddress": "XfrFvHkGa9Fy1S432m5rRiXSotuKptYpEC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402763, + "lastPaidHeight": 1724180, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724604, + "revocationReason": 0, + "ownerAddress": "XiQrXqPKcTj4S4t3MJPkuDkc8vKdA8kGXy", + "votingAddress": "XprkgFaoMnBsENiiStRKdXY7GsNoP4H1HF", + "payoutAddress": "XtcAdrm5tLxaRvBMPAzbVDpLo9LKUYREdA", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5ef5ec14b542ba48d2249fb8d0c5dd82b514641e2ee6e0fd67837eef9bdafa98", + "collateralHash": "756052adbf38d09ba14bb798870d55650278d7843d4e7ab509996d22440fca3e", + "collateralIndex": 0, + "collateralAddress": "Xw4gDgnoeCissnLCh5pmQY5QfpUhCCCCFn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402765, + "lastPaidHeight": 1724186, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "Xqg6n2TPSqKkGrUCtasmHHJdsra5aXUBcW", + "votingAddress": "Xt47c9dgtz1FKqTSpjewKUWB86FgUKdMh3", + "payoutAddress": "XeNR2zLo4JHFZSZhcPWSwBaC3VpozrwYnD", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "feb81f71321e232268e51197758f1e3dae7cde607995483e69f53dd7ae44ca8a", + "collateralHash": "22ea00f0df4b23bb27fb46ba33165e12134ca2fe5b3e31cca3fe034826fcff54", + "collateralIndex": 1, + "collateralAddress": "XuhCh8qVa9d2PeJCSKnGDSPjSzPAFRLPKQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402766, + "lastPaidHeight": 1723623, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1622642, + "PoSeBanHeight": 1724964, + "revocationReason": 0, + "ownerAddress": "XyeYL6mWimeLKbinihYkDtGmPN1jNX3VLq", + "votingAddress": "XgZ9gcMAXtH789486G1NuYN8tg1XNwfcj6", + "payoutAddress": "XkCxqARuJkuaAyKkbPgVRVYqFEnWBVKaZ7", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "13389b0cc2d9cace0f253c54a1c522647edb8e848f946947335186d9cd2847f5", + "collateralHash": "0aa9285962e527a9176c0780d031d430cd3cb5dd1e5398d4eb2400dd15f3794e", + "collateralIndex": 0, + "collateralAddress": "XtKLB5HHHkA7g35FZJ4EPjveAmCxRLKpN5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402767, + "lastPaidHeight": 1724192, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725227, + "revocationReason": 0, + "ownerAddress": "XjJGwrvdicjQghNSBsU5U4DCuWr7Hz3efY", + "votingAddress": "Xrw1djvwEmhMwnMhMLVGUuME7r3ude9Ttr", + "payoutAddress": "XukDrGFQfCQLyNGvfvJwKHVpTHv9AzLbYa", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "8c321211cb8814255de924500a4248b5ddc599863439e32540ebb9e6c3ffef39", + "collateralHash": "53b705dbd7b9e4daa05453fba25b8a73c574afa5b70db3c46dcc9f07ef22f7ee", + "collateralIndex": 1, + "collateralAddress": "Xf1KgYF3Ntdj9JPyBxhoFZjUbQyjZzAhcu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402767, + "lastPaidHeight": 1724188, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1724768, + "PoSeBanHeight": 1725852, + "revocationReason": 0, + "ownerAddress": "XskgGyKULx5E15n1BDS67eGMStKytkivHv", + "votingAddress": "XhUDn9m3dmz4y4zuhCo2f8vm6XGQckcpvn", + "payoutAddress": "XvDGgwosFhRCbePSYpFi3As3mM7jzn3AKV", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1bfb4725f30511df471f9060b3221f0805f7bc1f5bd8111b8da052eb906528c7", + "collateralHash": "c46755db50333112213d38387d8f66137da42260dd40d424c3c5a6c6b36063a2", + "collateralIndex": 1, + "collateralAddress": "XwUxNo8sHbN3w9SvMSAXcYt1nYBknTySbD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402767, + "lastPaidHeight": 1724191, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725395, + "revocationReason": 0, + "ownerAddress": "XsxoMvrWr9cvwAt9Ra78AvoUUum7zGWd1b", + "votingAddress": "XayriZV5qwoqKyyHZwgGKhgFqsKaaEWk8D", + "payoutAddress": "XhfwLpdMBqzoAcSJ29qh8PwaH4es3AKr7p", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c1cbe304ca7f20fb3ad3b38ca2a0e42cdda763b0d634604a54be56b0c3b356ea", + "collateralHash": "5f027de7b7175ae5f65b1e58ffc4ffededea93f805100fccf329df99e68f4541", + "collateralIndex": 0, + "collateralAddress": "XudFqxixmJi3WJsVb7Y2DFqTSi5Tbd5aAm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402779, + "lastPaidHeight": 1723765, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1561036, + "PoSeBanHeight": 1725756, + "revocationReason": 0, + "ownerAddress": "XvyQZwiXNTqd96hycjpwJNEheX6jJrzMvK", + "votingAddress": "XjkPXBQ5MQkwhBXpAni7f9Pe99pQxZ3j25", + "payoutAddress": "Xs33sF8KzwS22fHGkjo2zvaoMygRKvr4yL", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2d822de106f1c1b9ff6efa30c30522a72e693a98227f64848d47a13f6e5c53f0", + "collateralHash": "6732cd030df2db1978f99d4d46abb0535b46e86f91da0a4be0f85fa637ec6613", + "collateralIndex": 0, + "collateralAddress": "XttCfPMSvT73WSCevQqmNCbvQjWh3d1roT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402779, + "lastPaidHeight": 1724213, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725251, + "revocationReason": 0, + "ownerAddress": "XbzfvaJMstF79DxjmnMQ6RX9NeRXCQNEy4", + "votingAddress": "Xf9tgLSKw8udsEB3B6YLEKGCjgMxhUg3FP", + "payoutAddress": "XfTBg2ntsj6uh93662Lq1yg8kXqw19tL8F", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6d76ab1e45d94fd8dcf57e987e0c59c01723c6a1425239559d8729abe7d5a00b", + "collateralHash": "7286f87cc20a2f2abcbf11087f1195e6b382e19b3a3f786c16b14e0169aa03ab", + "collateralIndex": 1, + "collateralAddress": "XnxA1WtaD2uMc6WZqomr8dKc9gey8vjDSg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402780, + "lastPaidHeight": 1723974, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": 1623027, + "PoSeBanHeight": 1725395, + "revocationReason": 0, + "ownerAddress": "XrFiUhMi27cRazXBHqcwsQRNT5pcYP8n9D", + "votingAddress": "XmbX9ESq1XApRTMZdx1MubBX4hJ3tbGsWG", + "payoutAddress": "XhdwMxZPCGgWTjBP1CixM7Z2DGxC4gFiRa", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f46549a0a15f6c033ab7e0b3a9f666f3cacde20dff899b02224da634bada3a06", + "collateralHash": "62bcc75295f2e5763fbc1935129551a55c034bcadcd74f8972e61278038363ed", + "collateralIndex": 1, + "collateralAddress": "XfYogiJ9rwHhoEmaUttLHLD5jcQxVKBEUg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402780, + "lastPaidHeight": 1724214, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725612, + "revocationReason": 0, + "ownerAddress": "Xjpi6eF5GSe8MH18mbtEXx8FnRnfNiuiU1", + "votingAddress": "Xdrxcj4RtaK1Zaz2MfrRPeRivUemSrWqeG", + "payoutAddress": "XfjGAKgT8hheUGmBjjh9tS863EEe3SgKTn", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e91c4c5b313cf6f5e5e5f63a067408b7a0a5608b6b535ee59bd9a979e5141193", + "collateralHash": "764183a0184ee58c46c6fe5e8746cfd4cdfc8fa4375804371977b56f36ac3dcd", + "collateralIndex": 1, + "collateralAddress": "XrEQ6W6oAWpodAQYAKos32QuPZk1i239VD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402780, + "lastPaidHeight": 1724217, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724555, + "revocationReason": 0, + "ownerAddress": "XweA7fVJZzKeE3Hn2P55LW2HkFtgwGDYVm", + "votingAddress": "Xk7zJzhQESh1bf3gTSez6Fr18fxrp4e5sV", + "payoutAddress": "XwLTKcvjf1cCmR7jVuYNskqr5JLWtcXokp", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a4f792fb43cf0021ffe4b8a0398a78d3ae4f77bc6c0c6fc9297a91bb6cace205", + "collateralHash": "8c57ddb89d82c6647de096befcd3aa8135d81b61dc331fe8526693145f290dbb", + "collateralIndex": 1, + "collateralAddress": "XyGz3j8oeVz5yenSXWQHnUJ66KuGwz2TZD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402781, + "lastPaidHeight": 1721517, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1594121, + "PoSeBanHeight": 1724795, + "revocationReason": 0, + "ownerAddress": "XwNqBBddbaUHQsbyBYUcYTLUB248bFTzZ6", + "votingAddress": "XtTYGcmmkjYHWUAhpnGmRxhDaoJniDkgFy", + "payoutAddress": "Xn3ytcSkuNuma2wn2k2nGVCnW8FK8YHmhR", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5b0cc8c0a0d4029d464b5d4017eabeffdcc03536893f0eea810a2cb8e635d89f", + "collateralHash": "91c307a1315f163651437f7bc5c3bf436b19077bc48149f95777b11768e23a65", + "collateralIndex": 1, + "collateralAddress": "XvUHgjuTjj9ZunddLvcEafVcyQwJrPDSq3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402783, + "lastPaidHeight": 1724222, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725420, + "revocationReason": 0, + "ownerAddress": "Xu6X6kMyAYyLE8oSzzd4AocwpTRk2qRyeW", + "votingAddress": "Xh1SqwtF5D9Sk5Gvaw7t35HyibhfTRGNGT", + "payoutAddress": "XkUDHboxbP6D9VyMymFkqCTMfKB8pJ2zSs", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a7e1587394b8d26a15f706033909cc4a15ba46fb37058b08d303ae7ec9ca5627", + "collateralHash": "706609e5ca5eb63014c4e5a229f9adb6a4c4daaabfbca1a8f6cecef8613ef61e", + "collateralIndex": 1, + "collateralAddress": "XsntJEPKgYsKsrSfsUWLyUAj4GuHXWbApM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402783, + "lastPaidHeight": 1724221, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "XiEv4Hg87LgJVCeRJcKwEuKJzynHbWFVsW", + "votingAddress": "XbY9Hg8yFq3kzRTMoGjwBPE4uzQvfxCjhk", + "payoutAddress": "Xmzkq1aL57gsk4ZCUQUALnaBL8V3MdXpje", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3ec6930cbbc8da5237445442f5d9312ab3f63ed9fbc495b898290c4d188367d2", + "collateralHash": "e4982f62f9f347f32a929d16ce03e5f1b3943698a462567d0194e118003b79c7", + "collateralIndex": 0, + "collateralAddress": "Xrcy6ZkVrpsa1EfgR5g9FQArFq54ctph1a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402784, + "lastPaidHeight": 1724226, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "XgjNpDZen3XvvPLJS54cVgLEDR9gruZvfK", + "votingAddress": "Xk6ptqMrzzHix7gnoDrZr8gHCFCjLt2eTV", + "payoutAddress": "XedsteNrab6BQJigxeLGuXmfshseE5hp6a", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "716822c6c8ab527499bc17fcbd2c4fd266375ccd6fd2bb647bd9098edcaca7f0", + "collateralHash": "0dadfdb321982c3b9a8b44501a3ae0b95c25a180a7fc902eb6c5607aa453a290", + "collateralIndex": 0, + "collateralAddress": "XtpiVoZ5whSUhBCdSNS7VKZA8xk7ipz6jJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402785, + "lastPaidHeight": 1724231, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725875, + "revocationReason": 0, + "ownerAddress": "XaxFaRoLR554JvHcZrFhvq8YULmDC2Uv2j", + "votingAddress": "XimvFQdaD8wqgFWwBn9pkTAQWeLbwPdkoT", + "payoutAddress": "XiZeBTwvrL3wfnaYsMzEBRDKbWUUkpx3W7", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d44771773dd384fc6a3c2b80727482a1f5c6c15f53292651ab7d9d3cfcb2ff0a", + "collateralHash": "677ce3cd95a0117506286804ffa416b308b66c69692d422e78bbd377f2cc9298", + "collateralIndex": 0, + "collateralAddress": "XbeM8mZuGKSQYUYhFfpkGF3Aa7QmjHWecC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402786, + "lastPaidHeight": 1724232, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725179, + "revocationReason": 1, + "ownerAddress": "XwfFyTrQy4mb2oFWj4nGUGBfUukvdbSWJk", + "votingAddress": "XcALhkt6qPAcgUQwUs62SCzXwbR5WLumki", + "payoutAddress": "XdN69cHxWvdz7LiKQEDgZdSLbnBmEnMafv", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1cebd333ff6c50c9278ad391c8d788f32777d7916d97ed6b60b3d481dbebfd19", + "collateralHash": "280f8acf4ab79b8d75ad57cecb64be1893b995684e88abb0d36e650c380c83ab", + "collateralIndex": 1, + "collateralAddress": "Xv3fETVuuejZkPnMGqD6GZxBT59ZAD21Eb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402786, + "lastPaidHeight": 1724348, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1623398, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "Xmgcy2r6iV1YHuVD3UKadp914ozG4vgeWD", + "votingAddress": "Xhwm4YHubY2vho4RsAuGc1zrgC2ovLWEE6", + "payoutAddress": "XbyiySPH3TiVKEAXAAoF3rfGBNrQYxrvoU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "cb41b35569d917f9593c065015e9de43c88665d3a1983ead663791bbc7f8ffd3", + "collateralHash": "9b04985ca2fa46e255c3751009edbc99db8ec9496dc614d0dca0c856f005a4f6", + "collateralIndex": 0, + "collateralAddress": "XanYjvMfoW8CL5BsgDrco3KK8kruKGLw7q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402787, + "lastPaidHeight": 1724235, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725060, + "revocationReason": 1, + "ownerAddress": "XgyC7kcqr7FpTP6R2FV8STY3SdsXvbz2wJ", + "votingAddress": "Xfh4jWwKwiK4Tj1153VoKjMbC79PyYGsjA", + "payoutAddress": "XyAkVNtC7Dr9xUayZvz3n8AxKZwT2UirKt", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2f67c55db7eb620e6222e75f5b5b644e7a263d836306d3e2e73bfcdd604a1557", + "collateralHash": "99a4b8a91ead29ffc4fe60896deddc470c28e97b1789f04d3525e84edc3f7e88", + "collateralIndex": 0, + "collateralAddress": "XpvakWprj85iJfunz9HiAQDJzHGDwHAQNh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402788, + "lastPaidHeight": 1724238, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XsiCbKTGnztBZkE3DNqbucaAghqmW55kuh", + "votingAddress": "XyDgZ7GLDUzqLpGBM8pecUx5S7otArjwcp", + "payoutAddress": "XmZYDXkrayYLG2Nzo7EfyLjwYmmBkvK8us", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "bd734b9c30c0c49b0232cfb6da33c39e158062e64007ea6630cce828d88f7a41", + "collateralHash": "fdb12d8c9b2aa9e2db0ed04093e6b63e0df173a48b4b1d46454dea9f95bd977e", + "collateralIndex": 1, + "collateralAddress": "XuXu3Eg3PHKHYXSCvChSiDjQLdXweuepWT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402788, + "lastPaidHeight": 1724237, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725060, + "revocationReason": 0, + "ownerAddress": "Xai5TnUoxkEmyw4Sz9aJ7ksR5N93XQwvqA", + "votingAddress": "XuYioH9fa6tNSdGV4z6iiG7Fj5KCNuLemL", + "payoutAddress": "Xoxas8RUUoxBigZAcHrrp7zux6areHTbRD", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e96f8f5da0e35d231ff6856bee70408904a457c3a2fb97da0fab2b1a48d8a5a8", + "collateralHash": "535c437914ec79140556ffa0adcfad557ebce58d84b8f0f0a64f0453deedf13b", + "collateralIndex": 0, + "collateralAddress": "XtZnKCFfV5rjWez1oipiHz3Fd2xdLuECwY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402788, + "lastPaidHeight": 1724241, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XkvEruxeJd2S5A1NhieWZkpFZD4JBs2o3k", + "votingAddress": "XvwTzWxbVefqBRQSkkSuNavSwiaHL1J2eJ", + "payoutAddress": "XkEBhM2ePbRisQami6GAKt1aDjQ6rDkBFt", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "dc22eb6e3f6160e047df59d07a0fee5db0286cf5e8850b949cea2eae8614bdcf", + "collateralHash": "f033e602baa69ae68a0911ef577722ded66150dc66ab3828dcc880ac1998c366", + "collateralIndex": 1, + "collateralAddress": "XcFwQehRMDb3AvpvR4crUytrDgnTVoax3J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1402791, + "lastPaidHeight": 1724242, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725060, + "revocationReason": 0, + "ownerAddress": "XxDmFadBo6YNEeHa6NmqRQjHefaYC9wsgK", + "votingAddress": "XqzXFNAavhHCYHqeJWUYTinehytCKEd548", + "payoutAddress": "XpUb8dECte1XgZhZ2HBbmKi5irBungSz5f", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6f1cee009f28b3c4bfebd80a93f6c789d93a31a304f9c17a5f02ede088afe046", + "collateralHash": "62171c72e63e0975cb8f520290d9e26c49de9160a55194faf9097eba56fe0c58", + "collateralIndex": 1, + "collateralAddress": "Xd4W62A2dELZ4BebF85tJAdtdCrKGoF4kY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.108.145.8:9999", + "registeredHeight": 1402964, + "lastPaidHeight": 2127380, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118178, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr5y4qg55gPkbrYd2K9ht5uF6qRqDCFRab", + "votingAddress": "XbAXvAghiwrnQDeLubjwf4Y8uhygSyUktp", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8b4a1e567eefcb128a7a1099d7771033aa09189c98e18bd9b2cf2b9e1cfaf9fa473f22248e6bb07f784ca48f99da06ba" + } + }, + { + "type": "Regular", + "proTxHash": "0e62d0bc2f00c408f16a8439fabc6f6d6e9706ccdd1607d046902661caecdfde", + "collateralHash": "b518576e3930fab8bbdadfd66c7b62d35566c8c96950a777b2ca21e7fe44b14e", + "collateralIndex": 1, + "collateralAddress": "XiKHePBEh9BZjsE6p1djJKwbrbCULUu36c", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.102:9999", + "registeredHeight": 1403477, + "lastPaidHeight": 2127337, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsKfCGjkvy4FMiAGZNZBPSMFrLDJJDMByt", + "votingAddress": "XrXGYJKhqNRa9hAVKn51fEGPpzQRpQgzX3", + "payoutAddress": "XfJF9aU28ACSDBjqAdQ2116ZMQqJWsv3cb", + "pubKeyOperator": "06e871fc5733d7d63d096a8bccb13912df15262536a66d449c68cc1a25994e173be87f3dce28d1698c9fad60b50f30ca" + } + }, + { + "type": "Regular", + "proTxHash": "5fe57739954ff97b02fff411ad126919280881f31eb8daa7dcb20755bb17e3a9", + "collateralHash": "e55e12ec4ad7e66dc421883c87fece4b5856494119a87cc6ef1d4db0a40aee11", + "collateralIndex": 1, + "collateralAddress": "XvB6hLaUQa1RHzd76omHQq8fbMoFTZebqA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.138:9999", + "registeredHeight": 1403536, + "lastPaidHeight": 2127396, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyjfhmfDEW6RE9fbTvLvxqMUjZDiTrjQpw", + "votingAddress": "XdAY4jA4xffpPaM1dB7SpsosDJcdHtQSwM", + "payoutAddress": "XfLZJoFdsy16FFJ9HjPug3Mjh71zdQVtsD", + "pubKeyOperator": "967bf9a1e161c578a21c1744cc1c8ec14e20280d6cf93839c529556a5ed6534e8897cb0c9416b788a8ebc7536f46cbaa" + } + }, + { + "type": "Regular", + "proTxHash": "0e50f9ad3a95055df7216750f4713034525e3b09188a10eac7b64eaa929d6bbb", + "collateralHash": "058cfb8fc1dc550e1b2005843308c2f3c93288c76de0dff9400fe2a0c1345c69", + "collateralIndex": 1, + "collateralAddress": "XpUiDoHMAeWNriwKXJdfAj6QhavgMEj41u", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.35.247.75:9999", + "registeredHeight": 1403800, + "lastPaidHeight": 2127547, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcNk4dqwQx41QrYuLNncawC1vfBsKNFHfk", + "votingAddress": "XqDrXkVhkuCxjBDdJcBmT6rKkD3JqHMWDZ", + "payoutAddress": "XkdN1pGbSboQxG76ZySpTGQz84m8UxrweB", + "pubKeyOperator": "16d48d6a7b565eaa2054ea3e1a2b8080802308c0c019d25a2c5d1b5014d4ee455d7fc240be4a542809d768509d449615" + } + }, + { + "type": "Regular", + "proTxHash": "e7aac8d5d8d59993f4e07ce764aecd7250f5a366f4c66270397d85cf30e2f54c", + "collateralHash": "ab429427b3b24aaa9f5064e159607210eeaf0726aa685ef0a89e153ea4933cc7", + "collateralIndex": 1, + "collateralAddress": "XbK9Gp1jdAN6TdaTQ82VpXGED66B5JWHiv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.132:9999", + "registeredHeight": 1403841, + "lastPaidHeight": 2127572, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XszBTNcE6mCL4vorRSJe123Rw5tGxhhxFY", + "votingAddress": "XqsE9YDuhuwd93ZMUNi97hN55tGEayXPSg", + "payoutAddress": "XfRGiKT9tk6npqY4iUffHVr6KF3eihg3Xe", + "pubKeyOperator": "9709c20d9803cff128468642c84d6462ad70382ffb583f9df8da41e0b6f755f610d69117de23c00466b47988013a66a0" + } + }, + { + "type": "Regular", + "proTxHash": "06febeca9a2487eba2b38e098b9cadd75d8007d4ba63d72ad73363b69ceb10e7", + "collateralHash": "bf87f3ae8ec91f5f7b5f53e9ff178bd0b800b5ad8424216014111cec5a8c2e67", + "collateralIndex": 0, + "collateralAddress": "Xj5piKESdQwdbKvTueiWqVbKTm2EZJUBo8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.146:9999", + "registeredHeight": 1403841, + "lastPaidHeight": 2127577, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrEwAG7AxvdmGC5UYXmFAcVeLRBBY2Mrqw", + "votingAddress": "Xx1FTy3FMBaLAhHFaoS8s2FHjQTAXtHnsd", + "payoutAddress": "XfPN9BSgvbdZWy1t5zWsTW3EQC6ftPTTF1", + "pubKeyOperator": "90f693c31d7b9c2970044c81b29488a33892ae75bd2a38d47dc4807f0a2fd8ea2f2e6c4d9619a01fa00112a44242ef6d" + } + }, + { + "type": "Regular", + "proTxHash": "321a1ad675b700875cdd93eec21bc3c1c5ac554cfa5f7fb1a3693a6f4cbff999", + "collateralHash": "d8bd9f7f4d91504fcd9d3a93e56f6af10fb44ff3ba04ed891af1b20e96c505f9", + "collateralIndex": 1, + "collateralAddress": "XvuT8Tz4pb4xK98nCJvHZyJftuz6dn8SXv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.107.106:9999", + "registeredHeight": 1404118, + "lastPaidHeight": 2127806, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976337, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwJVbAH4M5oURLqzain3xXpHZPep3kUsXk", + "votingAddress": "XwJVbAH4M5oURLqzain3xXpHZPep3kUsXk", + "payoutAddress": "XecCtQTfYDvRbTBnoLs2N7UTeuKmkFmswZ", + "pubKeyOperator": "8db3056b5db9406d4762ceaefe9b06ab4a6a1bec369e60afdcc07545341a0f9f0c52ff6a7e0cee6397def0afc8140f52" + } + }, + { + "type": "Regular", + "proTxHash": "760aeb2f98d1b1cf27d157d8070c0caf0374290e4cd7c8f400df277d24c73b87", + "collateralHash": "901dccf46c1e22a3b514cda2dc645374caef2fa9912657a1ad9ff20d58bf3989", + "collateralIndex": 1, + "collateralAddress": "Xuybe7dswsDdFikMTYXasW39f8cUBH88Yo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.47.162.216:9999", + "registeredHeight": 1404999, + "lastPaidHeight": 2125881, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1578063, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjHMfFzz4Cc9KbfStYhsSvG5qpqKBxLztQ", + "votingAddress": "XjHMfFzz4Cc9KbfStYhsSvG5qpqKBxLztQ", + "payoutAddress": "XwSfbo1LyWpdJQwkwM1u8zXGRPQeN7o3ec", + "pubKeyOperator": "9288c0469175963758b19d606f495e4325182b4185bff755dc3f03323129e3f82638a19553adfb63b3270be245e7d6e8" + } + }, + { + "type": "Regular", + "proTxHash": "dd4054524304438baf94b21be33a495d068384c911df7fcb051804efc1440916", + "collateralHash": "071bd9b0caf9bde917c2edeeee3089297c43d5bf6a6327b7997ed79607e3fdf5", + "collateralIndex": 1, + "collateralAddress": "Xggp2mLyBh1e7CeBrpsDymWo2MZ8bLUoss", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.2:9999", + "registeredHeight": 1405079, + "lastPaidHeight": 2126971, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761178, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpfbudxwPSHFwb8JRAZYmdgndJxxEJXodF", + "votingAddress": "XpfbudxwPSHFwb8JRAZYmdgndJxxEJXodF", + "payoutAddress": "XoXQ8SDyWdSbN9H8CeMz2fGi8EJJPQvA8n", + "pubKeyOperator": "16feca1d699d6c9803448ce180bae228dc32d23ec31cc7337d97aa18c26052cd59a12ebdade1e05f0ee3528b3c11f65e" + } + }, + { + "type": "Regular", + "proTxHash": "91fb3284ae64d1ce1dca6b1c98275244c3f7a4f4eec4fa39eeb02edb54654468", + "collateralHash": "6232e03725a8783313ef1ecfed256fc6c490685579e2d3f014fac49a1066c6e2", + "collateralIndex": 0, + "collateralAddress": "Xjm8vP6zggWuwBKyGBMJUjmNoMQP66tP3d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.140:9999", + "registeredHeight": 1405154, + "lastPaidHeight": 2128639, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhpWHsayvw282rGausUGf1HA3Mn9nKrZtb", + "votingAddress": "XtBHTD4BQgUD6y23HfzHXQvgXeJwW1Z9jN", + "payoutAddress": "Xfp3Q8QnSazLdLTDArABZjUEQAuzLt1wCg", + "pubKeyOperator": "0af3061a6cc01178bd8ccfb7fc85303d242ce7270f46a7608c46023df765c8e01cee9cadb4b975a9c60b8c1991f890a8" + } + }, + { + "type": "Regular", + "proTxHash": "88944bc8f0e0a1a77699d3a0fe6dc12663a3813c92ec3c14b40d286c5f6455b6", + "collateralHash": "4928ec7b6bbd411640626207db89628de02cd42bcf40b5b4bab9adc7cdf97423", + "collateralIndex": 1, + "collateralAddress": "XbXdieKVv84nvPm7qp8CWHc7sS38wYk41B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.128:9999", + "registeredHeight": 1405154, + "lastPaidHeight": 2128640, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdGawAKxfkhbBGjTPpp5M8rWrivMTjx32L", + "votingAddress": "XtT1mHeU6C5Q5KTf3oG2HGxMD4bPZ1QvBp", + "payoutAddress": "Xfq7tXTAnVKZWvm67ESLGo22TErRyVkhaj", + "pubKeyOperator": "0d6720db1bd4f71cf46d17427444545f7eaaa066fb43db7087fbfb8d7c0dfb6a9ce2ff5f36cfbbd5a9edb19b32ff8eb3" + } + }, + { + "type": "Regular", + "proTxHash": "59d95c9f142c62c52a5aac019cf115a5f5de5bea5902e48b8223c45db96c1803", + "collateralHash": "fd6369a14564e9df6bdab55299584c7c36a76c5f0ba39c7d92ce10f0b213ab4c", + "collateralIndex": 1, + "collateralAddress": "XwmpDWFDezyhXAu3veyZ2SMDhYKi28iSpr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.139:9999", + "registeredHeight": 1405678, + "lastPaidHeight": 2128895, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XySbRjchtz7Hnf82RJaZe3GCEbiaAfPFxg", + "votingAddress": "XwNihhrpa2WcpwthQxko6U1dgbicjuMHQB", + "payoutAddress": "XfwgVvvaYKR5APfGcySDPekUHVux2dGqDS", + "pubKeyOperator": "8f4d2430f981939b6ef492e4faf52a1beb7c058e6d39b9925e1005cd23902d872993649029149d9f74c446fcd01bfd81" + } + }, + { + "type": "Regular", + "proTxHash": "528532e2fef93b5389f8ddeee73fefd72b57c629a6a256736a14187d12647f40", + "collateralHash": "c06d0ad0f246904cf9cfe65f41c6f161929c4d374516c9b427ffbde6e7b82e06", + "collateralIndex": 1, + "collateralAddress": "XsX1sd36JJzzT1XzpPRJr4fKVXCKQz8Hh8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.16:9999", + "registeredHeight": 1405681, + "lastPaidHeight": 2125730, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiVbyrqazzGCmSLe3EEbtk4VBTi7XFXvTy", + "votingAddress": "XoXuTjCkTVvRhLyZQM7vW59NM12C9mCB5r", + "payoutAddress": "Xg5yXsahf1pzrLxjKmUis8hBSMXSbMp8cQ", + "pubKeyOperator": "054050c90a8a4c342aa1a64da8218779db1e474433ec11798f8b2961522d338669f33441c44233ba2597dac127070aea" + } + }, + { + "type": "Regular", + "proTxHash": "cdcc5f9c69617aa36f888c3b38d29759e554ebef811440bd2e14afd4db96d617", + "collateralHash": "25fd2b7509111b671a33216c5ef6082dd741de9fce2055e8f9626ad66fa604c8", + "collateralIndex": 1, + "collateralAddress": "XdwdM5LzjbcEa3R14KRrhn3a3Bh9HD2nF5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.111.36:9999", + "registeredHeight": 1405691, + "lastPaidHeight": 2125732, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcMRAJDtnER3Fxu8G43CJdFn3Eg1Mw4YPK", + "votingAddress": "XcMRAJDtnER3Fxu8G43CJdFn3Eg1Mw4YPK", + "payoutAddress": "XgRnKCdeTi9aXTejmGdWNfdBfBWprZpb4u", + "pubKeyOperator": "02a33ecae053566a75d558f5f5c2c0f27b9f7e63a2dca180ad6da297c77300e6481e1b4b83823ff0c68405a4d818b2c6" + } + }, + { + "type": "Regular", + "proTxHash": "d84727318b91299e7034fd709ab447a04ccd677ad1a1f88aaa3930bdf5b64ee2", + "collateralHash": "13677dd9104fb5139dcea64debb5696ab603f033b37614bba3d02b1785c7468e", + "collateralIndex": 1, + "collateralAddress": "Xir4YYZUtQGUyi57vSsHduQKGieQqp6KdA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.4.87:9999", + "registeredHeight": 1405691, + "lastPaidHeight": 2125733, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkzB8jzpq5gL43Y48ayAUtdpPiZgYB4jsN", + "votingAddress": "XkzB8jzpq5gL43Y48ayAUtdpPiZgYB4jsN", + "payoutAddress": "XjXiSCPUp9ps2KJrtrx5CgLthRDh2YUe5R", + "pubKeyOperator": "93ccf65844dd5a459204e80be764061a8ab39ab2ac9a16c11072a5d55a594bde67b18dc0c3acebe1935554aba9b62c46" + } + }, + { + "type": "Regular", + "proTxHash": "861c2be57c5211728a593958ed0a870c2d8a125712ba50c06ca164843578d3c3", + "collateralHash": "f4fd504db2c45a719ea58c6b11b8e82d7fce964520e67b188b2a753885b69a0c", + "collateralIndex": 1, + "collateralAddress": "XnLAAfwsDAYybQpXMpAXc68oKEyVvERrYC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.14:9999", + "registeredHeight": 1405899, + "lastPaidHeight": 2125807, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdi4bKKq1oh8NkSZi5Zj3519fjMoSm9ANu", + "votingAddress": "Xbh6A7pJQPFQCJt1mvW6iT2ynmHDv3wcsF", + "payoutAddress": "XnLAAfwsDAYybQpXMpAXc68oKEyVvERrYC", + "pubKeyOperator": "15935b0419c40273877e132ef3c9fc6f661ffd04be329cf4c9b5d4034323d02e7e56bc1001ff29d59222de1dbf3cd960" + } + }, + { + "type": "Regular", + "proTxHash": "71b726def3a066d848511e88bd838985d48958b11e312433acb575922a8718cf", + "collateralHash": "6083edad2aed6cfbd5f858676a91ff801831db464bb38cb528f54b3a62350225", + "collateralIndex": 1, + "collateralAddress": "Xhx12hsSCyFheTkcbB5gb9pBBt3P9m2o3i", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.14:9999", + "registeredHeight": 1406259, + "lastPaidHeight": 2126841, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1618888, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoJmdNc6bNB5XaaHt6f4NGtT71Jw2bXyoW", + "votingAddress": "XoJmdNc6bNB5XaaHt6f4NGtT71Jw2bXyoW", + "payoutAddress": "Xdriq7KeyThKK1dKeYqsmpxF9tisciKkRN", + "pubKeyOperator": "15091576b33e393e8f15c531bc7019b783a9c6cc740365cddb40dbbc5bb71df71564e6114ca30d2a1aa5f453e0cabdab" + } + }, + { + "type": "Regular", + "proTxHash": "9b68754955dc56fbf676023c24eca00507cd261867805785c11cca1ddb67962e", + "collateralHash": "b591f27b1bcb01cd561b8175b777e3a596f1d2b0679c0d874175a884ad9c4a05", + "collateralIndex": 1, + "collateralAddress": "XaumiTgtcsWwHcUoKKmi1KFU6ipj3YTNka", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.43:9999", + "registeredHeight": 1406656, + "lastPaidHeight": 2126232, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxmw8gypgy1HR14BpbiJzmBHa6DJfqp7zs", + "votingAddress": "Xxmw8gypgy1HR14BpbiJzmBHa6DJfqp7zs", + "payoutAddress": "XdLjfQi9PzSo6aZeEbfW1NucJfKWaCSTkQ", + "pubKeyOperator": "0b793415699c9e5e7e1f850776d4d729410d025062ef4ae742cc16bd27d5263c9e774cdcb1092b85fdcff26f0a48c694" + } + }, + { + "type": "Regular", + "proTxHash": "2b72bd4f167f75d0db887c8a1ff57fec4631ad636073a4dcdb3bd85c39df3ff6", + "collateralHash": "17b849d293e2a54a5dc91f7714de82db149427329b86994275beed80476b2132", + "collateralIndex": 1, + "collateralAddress": "XjZTXnn4NJBvJuR2nXDsFKpEW7WgGom6Lq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.146:9999", + "registeredHeight": 1407145, + "lastPaidHeight": 2126575, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdFwhFeEi6FntG4ydFfhYdeWcScdCaeUdm", + "votingAddress": "XomJbiA8DAS4HfxCYuDZkMMXzQTDdb26Px", + "payoutAddress": "Xgh5bhYoqYZ3kQHsoWF6LbHZG1xdoFMZxB", + "pubKeyOperator": "82a99e70152f034b7601b354929065ecdbc259cc9e1873cb90c79d2c75dd84f98bffa4cf7d67c535d7b8785553900536" + } + }, + { + "type": "Regular", + "proTxHash": "855bc3bbd9f5cc14933915023bb06895809126c9cc9aeb727e99208ed46a3e24", + "collateralHash": "596496c450bf9c67cffe5b47bcb0c2cb51093db40c511d4c559e48eb6116133a", + "collateralIndex": 1, + "collateralAddress": "XttKnHaosKCf37m7oeW1R21BLKosbVYJW5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "163.172.20.209:9999", + "registeredHeight": 1407159, + "lastPaidHeight": 2127875, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121627, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfky6TjnPPEUnkNs852sLGoshC5eMvmRoC", + "votingAddress": "Xfky6TjnPPEUnkNs852sLGoshC5eMvmRoC", + "payoutAddress": "XnQc1D5ErQLF8G63Nw8kmFw7pZFiEMXJUt", + "pubKeyOperator": "16f53e3f647722ec64a75fe80ef6c3914343e627af6ee67b181a8c720dc76014ad77b387b68c445319d7fa2dbcb9af49" + } + }, + { + "type": "Regular", + "proTxHash": "a361e2eb9ab04396bc1db049df7631ffd69d7f5aaa4188664ec31a63b6e7d5dc", + "collateralHash": "fe49e639dd46f77601df57e12c70579b35c9fd5a0860b046840a3bf267b49aed", + "collateralIndex": 1, + "collateralAddress": "Xdo54sEaGnwqK9xZqzWRWq5TingdiLrT2L", + "operatorReward": 2.5, + "state": { + "version": 1, + "service": "46.30.189.116:9999", + "registeredHeight": 1408422, + "lastPaidHeight": 2127644, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoQxKKWeLBcsykxZkuwQAEb2mnYf44Pgpg", + "votingAddress": "XoQxKKWeLBcsykxZkuwQAEb2mnYf44Pgpg", + "payoutAddress": "XefajHZ1RCUkCK569mGcLggu48pCpE8Dy4", + "pubKeyOperator": "19fb7e27e4a0184b7e587e16b34557329f2a3605907c91a0e1fb976a89dc91080dddf3eac5e740200f68f046882747e6", + "operatorPayoutAddress": "XwansdYntALU2NrwoKZsqwuXbeKa28D7ZT" + } + }, + { + "type": "Regular", + "proTxHash": "506893d2633c2e2ebcbb064a648a6e1f526989e3fdcbcb57b7979ef2bca24f16", + "collateralHash": "75c447ff9f35d7dc1f3527e6f680d13da3603d97b8c4ce397771b9e569118aab", + "collateralIndex": 1, + "collateralAddress": "Xp7eGCB63DAqLXtJYJvpTMbzrmYV51XtKm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.14:9999", + "registeredHeight": 1408464, + "lastPaidHeight": 2127467, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvEn9dBYLCdMabe2MhqjFsKcPLYpJSAq6B", + "votingAddress": "XpSmK4CJykNFws17DUvHfZDfJNTNTznWHU", + "payoutAddress": "XgnRyDTezhCbZfm93hawTDQCHSmGfu2KM4", + "pubKeyOperator": "8185f607effcc9dc41a09ae91df98d64c6f143d76b2424eef9133c455934ed8bbeef1563bb8c0d30b434c60806333654" + } + }, + { + "type": "Regular", + "proTxHash": "4d459a1f05c80c3bf5ceb4bf9f98d505b9bd1884de303abcac7b6d68f3069b08", + "collateralHash": "92593a19e18c1f6ab647fcac72bfc0572031d82d769f9739e7c8aa89572633d8", + "collateralIndex": 1, + "collateralAddress": "Xj9daCeqiRTU3A6JEHamgyyQtbZRfTyWRz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.78:9999", + "registeredHeight": 1408555, + "lastPaidHeight": 2127535, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuDxbx4Jf1vPy95EJJyD5nYio1zJxsBvrW", + "votingAddress": "Xo9YMv1jXYU7eH1egc8cG7X13cusksBzVM", + "payoutAddress": "Xj9daCeqiRTU3A6JEHamgyyQtbZRfTyWRz", + "pubKeyOperator": "8a5caeac98f9fbcb4c1e15734b9fc10bdcc8a3dbbe74b636095f8b218064b05beabeea0317945346d4d5017c3086a48d" + } + }, + { + "type": "Regular", + "proTxHash": "f64f9732e92e8c2300659c9fea17443e01c09d43ff40feb499b11b62906ae1a8", + "collateralHash": "b11afd08befc0cc0c9a9279300d7aab8ba0d36ff3fb769cc0919cef49b610273", + "collateralIndex": 1, + "collateralAddress": "XayBT1XM1yMTNVga6kK7eBFYzWZW1DqCyu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.44:9999", + "registeredHeight": 1410008, + "lastPaidHeight": 2128665, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbAgEcegCkq38T4LvRu2yrCsgEt6ohBGpS", + "votingAddress": "XsnV3omt6X5it6rmFytVHfHinMguEFZBhP", + "payoutAddress": "XgtFSLRkN83pdPefBnf4MBzjXSLAKNW9nT", + "pubKeyOperator": "967b31d50939221212d327ed0cfba612e26c439661ba76a81ef32fc77ef97a81a85b124461f235c310efee5bb1b63c4d" + } + }, + { + "type": "Regular", + "proTxHash": "e5113ec9e85c4d18f6a7d71d0d2949ccd9a92da0598a6745a90f708487a3c56e", + "collateralHash": "b80f2d7dd984818319bc419c3f34d2530337e426233239fb936be814b7b120fc", + "collateralIndex": 1, + "collateralAddress": "Xq12tSoZMsqxGKU68G3GCfYHzC5dfAyGLT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.141:9999", + "registeredHeight": 1410367, + "lastPaidHeight": 2125901, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2099542, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjAb9ykxy4dRuTqZJdQ7x91xasDehMHwvW", + "votingAddress": "XySUzuiBv1BQTWZzFbiSbk9N5yJLoHVzTo", + "payoutAddress": "XoyLCv3onyNN6eYeXL9PeQ1QyDK2hqn4Z3", + "pubKeyOperator": "907e3d4b42270b8e439a4af9d8ce00fbf338bdb7f661b79556743e340d266e39574c3eec4aa3701b021ddff7e0321a08" + } + }, + { + "type": "Regular", + "proTxHash": "505ad2bf63a5db9c29c1bf8561f354d04800b5fc252e584c9ef8330f2ab64c6e", + "collateralHash": "ab02425b6ffc91cade3627ad5add9e654459c39d2eef0b322cdff705634acb81", + "collateralIndex": 1, + "collateralAddress": "XcgwYEW1xqfwfRv41in16pf9beTop8A35L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.12:9999", + "registeredHeight": 1410376, + "lastPaidHeight": 2128882, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpKDWVBKJyTLGvDho2RimtydqqhgtrWjjo", + "votingAddress": "Xro4X64BhbzksGs5gS7qTzxczWioDMNMp7", + "payoutAddress": "XjHQc47RXkfCXk3KSyuAdexKkHrjfLfXcK", + "pubKeyOperator": "0c4413a24083833089921969bb7c32b7216b1908c04b9bf4685f49badf171d4930d19af0bfebfddb96bee1dfe799839b" + } + }, + { + "type": "Regular", + "proTxHash": "8105705677eb363af2bbf78011196ffc733896414c83af810cfd5c5cb82e7eab", + "collateralHash": "1e79c32c209667f02f3b30fbb6d8f98ef496068aabdd10b689d7d002ed480a3f", + "collateralIndex": 1, + "collateralAddress": "XkPa2HPJQKWyxDEhU7GNVfZVUhAXbF5Bnr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.112:9999", + "registeredHeight": 1410662, + "lastPaidHeight": 2125792, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr9QEmP6h2hmtMYdPpEbeLXanM5SxGD8Sb", + "votingAddress": "XpmoBiPTPYw2QsH5B6iNGU7RTsJoVmsjJa", + "payoutAddress": "XpXoEzAY6cxaECk32Gkg1jzwAMgywm3Wpg", + "pubKeyOperator": "89a051ed06275c645da83ed250f0b2e19f296f3d289ab5cd6592fe0241fad049dc4ed647c97881ad8f23e5c68ca34a8f" + } + }, + { + "type": "Regular", + "proTxHash": "440075126edec49f3ba4d55c6372ba938d04ce15b63ff2e2d1cf3dd5f31d1633", + "collateralHash": "948fd767fc3c448ad831cb465061ae1d8fdf767289998df405d6199c648574ac", + "collateralIndex": 1, + "collateralAddress": "Xff1qHzYKfxeZ1EGHx7t9u6QMmXpLyfp64", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.197.147.28:9999", + "registeredHeight": 1410859, + "lastPaidHeight": 2127551, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1803789, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnxijKmtF5JxCZ6RSnStgVKVuTFUMTeY4n", + "votingAddress": "Xu4goujFdEmQ3BF23cSXy9ysDavGRcuKNt", + "payoutAddress": "XkpYPM2EvTiorneVLxUQXST4yjV2Pm58eo", + "pubKeyOperator": "0f83c8c7338db8d6614a2b01080aa1dbb9dec6be43254a0a000876a95c0c9831d2fc7dcdf3f7afbac0820762563a61cb" + } + }, + { + "type": "Regular", + "proTxHash": "e9ca3806fa8979782e92fefe6c5dff60756a3bcb5f0c817d20752eb71b113698", + "collateralHash": "0492b07b04d53b6040cef792d1661b0e9a7a69691adb60a129b2ee933ee3b2d0", + "collateralIndex": 0, + "collateralAddress": "XpWkf8BKTfFJSAfgoJ5GRzExdixBMwQg1q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.21.143:9999", + "registeredHeight": 1411908, + "lastPaidHeight": 2126532, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XytXsfxgNQeX7V7U7z5V14uQg7d1dq7ZLp", + "votingAddress": "XouNMhnGmgvhiF14YC5TPuqmuWtEeVx28m", + "payoutAddress": "Xfjqki72odCh2af7B7wDkHzwGokxxpMJ9r", + "pubKeyOperator": "0808b0de7e28b525d34b5a28a2c995a93c616b118c5d05b5f8dc2b312d9e0cbec5e08a4ddff6e5fdf8877ef58d4a5d3e" + } + }, + { + "type": "Regular", + "proTxHash": "f409dd87ccd40527d3997e8bef51e099577d2b69ec825724307c7244562b0d2b", + "collateralHash": "7c47571d9fa3a228de7bd034022ebe4deeda0aff0951e0dbfde1c3e0602a1a8d", + "collateralIndex": 1, + "collateralAddress": "XkUVrr5hGfeymmV5NPiMo98AUegBDrjYNC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.234:9999", + "registeredHeight": 1412198, + "lastPaidHeight": 2126762, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvHPsw5nTszVFouiocxLDaXJSjfsSxB7SU", + "votingAddress": "Xej78yn5WNKMxs2ihEqpUhGFQzQFekZuws", + "payoutAddress": "XvKWDuwH49RsoTmxyWnexgb1Tj3mNpprDQ", + "pubKeyOperator": "06228163e7d371e2004bd4c65e949743ebb93b407e698d0b11d1b381af14f8089f0366a233ea3051ab8e3c018598d17c" + } + }, + { + "type": "Regular", + "proTxHash": "6241fac03e1eee65e030838a5ea30588829bea0a20cb8f403a6777b1ab088ad1", + "collateralHash": "f11d88ac0b9e132396d4572bd404d6810190dbd251ba4196c30ac4fa8d041389", + "collateralIndex": 0, + "collateralAddress": "Xcv58MAPJSWos68a31rUFY3tCWhRYwgdte", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.2.73.58:9999", + "registeredHeight": 1412461, + "lastPaidHeight": 2127228, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121082, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeLrNkpibwH4FpdQ3d1Qig6n4xinLA5GAw", + "votingAddress": "XmiKynSxJ17gHtsToGFfPRFdntqpiQnb65", + "payoutAddress": "XvTXYLoB6MkyVBkZ2UPntVhfy337QCq9xW", + "pubKeyOperator": "134dfbd79285df62a29ce2632a477678874b8723030116299f7069d1d8e07108303a2173c3413ae9618ddd5e65eb0cce" + } + }, + { + "type": "Regular", + "proTxHash": "e1bd6f0b07b9413136b06d186ffe06c21d4150ba2cc86878a673a2c0777c59fb", + "collateralHash": "b6c511482907330ed1896fd3679a01d14d72f226e4e82402ad7039c4d9272420", + "collateralIndex": 1, + "collateralAddress": "XbFxgP6ipzuVjMCdRorg3Qp3hzwjHqiXwu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.72:9999", + "registeredHeight": 1414209, + "lastPaidHeight": 2128053, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiQgvxJmqhUMnf5aBhLNd1bh5LZyrNwJty", + "votingAddress": "Xu5nFdbnVCcPeh3Qt8QhydEVvFMww62TKj", + "payoutAddress": "XbFxgP6ipzuVjMCdRorg3Qp3hzwjHqiXwu", + "pubKeyOperator": "10c0c9c4f91e5f1289875eefcba39727d29870ac9e8cb955e9d7f4a4e5e86a4f47af57214a21cffcc6e7c8781f87630f" + } + }, + { + "type": "Regular", + "proTxHash": "e8f49c2f481b18d8b3ffdfe36dd7cce85bbd0332cd723b7b329d2192cef1fb61", + "collateralHash": "266383f08c183cf551f6b14255a524e0c996d831fd0450b2473152523c41abcb", + "collateralIndex": 0, + "collateralAddress": "Xevgr6HVpP2YZTiv7LBTYAmQe7itDm4zVR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.122.104.69:9999", + "registeredHeight": 1416230, + "lastPaidHeight": 2089714, + "consecutivePayments": 0, + "PoSePenalty": 3819, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2090922, + "revocationReason": 0, + "ownerAddress": "Xm1u7GzgADu9WY5HWVoma9vNmasZTBdJNb", + "votingAddress": "XpdKUgPgNYV6NH4YZjeMuAKTthkbKFz47F", + "payoutAddress": "XckKegmtxyi8LS1qmc2S3ac3GRNTvmokNu", + "pubKeyOperator": "8b2164e07092a82a5862be11d6edc1d7c6109393bb9e7b00f8f0157ec1eac096b1331b8c2ad33a0c911aeef194a85a3d" + } + }, + { + "type": "Regular", + "proTxHash": "2676d54838e33f0f839fa70c72415b9af672c176781e5b8ffc98e18ea91589dc", + "collateralHash": "78100e63620f616f4fd5043d72893bedaedb3834e43d18b31ea1b3b1b8d3b6a3", + "collateralIndex": 0, + "collateralAddress": "XmptsjEQB5vuuHEib98Zb77f9Vxq4M7as5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.48.96:9999", + "registeredHeight": 1416818, + "lastPaidHeight": 2128712, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1839383, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkAHZqPGSiF6ULy6xXtqnasxHwM6y86gAH", + "votingAddress": "XxkXQ2t5xEvi7jYW9zeUxjoWqgeRbiNHkz", + "payoutAddress": "XgR39JJL3kXVr4qohRnbfNKVWdzb5M3XUk", + "pubKeyOperator": "13261c7e21a7f4264c549e0f0a6b5fad5360b6c03c2207a677118ec2fd2f35038e2e2073caafae6e6f516b1b1119fc7e" + } + }, + { + "type": "Regular", + "proTxHash": "e12017de4631271b19b6e3aaec06dd7c0aee0aa5e799fff3424a2f526f507441", + "collateralHash": "4307953cdd8ac85263f10734403a81916bc52146b5db308d0e50d2f0d953644c", + "collateralIndex": 0, + "collateralAddress": "XjzSshVBVcQTznr8qV9jzenwc2aavzTz4o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.130:9999", + "registeredHeight": 1416864, + "lastPaidHeight": 2128736, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1839387, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuYe9UkE66jmGRV5A6erYkuENuht2r8f48", + "votingAddress": "XgCtHJ9PiZQSVFBfSpLMHhTqzueErdgL1b", + "payoutAddress": "XhkSkyv4as2ztFsRRfjGZru41Buzd4pftP", + "pubKeyOperator": "09e6c73bcff33190705364cc73b96ec2fad4903b7226b25cdf8d8777a2148a38a4e3c84557b9dda208a2bba295e2e3ef" + } + }, + { + "type": "Regular", + "proTxHash": "b8db2eddde53104c5270940e8f54c7f0c813765e85723105884a398b9bc90c20", + "collateralHash": "2cfbd65fb54704a7e305093369b4aeb4e7181f9ae9337a5928dc48942e28b945", + "collateralIndex": 1, + "collateralAddress": "XmwooZA1fpuqgH1EJwbje1zgspmvhCZ7GN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.136:9999", + "registeredHeight": 1417175, + "lastPaidHeight": 2126882, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuynVXdSu3x5usZDkJsg74dKGYJLddLWo5", + "votingAddress": "XrDckApFcRF3BMeDgtuj9MgfHcpz7L9GB4", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "15ee7e20aca17a9aec6ea834fdb290a705785f180e6578d3a6b95ab4d81611c914b6d15898a9da2f0992ce57e1ef8632" + } + }, + { + "type": "Regular", + "proTxHash": "a46678ae4046e6d498d6dcfc5697e664a2a1e98d2bffb3e93d592fe326f8e09a", + "collateralHash": "d110588186f0b119eb0363d17e01f88b3588bf2de79929acd9e7b90d973a3d8a", + "collateralIndex": 0, + "collateralAddress": "XuSq5KmT5Sd81gHxBJcjCaoT9uNky5UMbt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.235.192:9999", + "registeredHeight": 1417298, + "lastPaidHeight": 2127002, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv85nigVe8L2z7FNAG5RYnMBe1UjKYpNZL", + "votingAddress": "Xozc6BqwMmVKhiPZYQUZoKALkbnKXiK8zY", + "payoutAddress": "XuSq5KmT5Sd81gHxBJcjCaoT9uNky5UMbt", + "pubKeyOperator": "86a43c13aeb07f359bdd56a7a6eac540b1d6daf022f6a1695f35dd44a1e19fdfb6756cb8be59700198bf095cf919172f" + } + }, + { + "type": "Regular", + "proTxHash": "ddc08a6c45d898903f25c545139e66a79706b823c595edaa01294cefc55aaa4d", + "collateralHash": "debca7aab0fa9ee5e981b444b517841c71f26e4284eae936c58ed48de5670427", + "collateralIndex": 1, + "collateralAddress": "XygMcdMUhargLkzJ97gHr3th3QGb5UDtLM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419663, + "lastPaidHeight": 1870903, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1836356, + "PoSeBanHeight": 1873750, + "revocationReason": 1, + "ownerAddress": "Xr1Z4mLzzBLzDnnHq1qoW64bwcPVcq9NVt", + "votingAddress": "XqdM5vUArMJfSg1kact9wnjHj6CyNmoRFL", + "payoutAddress": "XygMcdMUhargLkzJ97gHr3th3QGb5UDtLM", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0a52dee7d797c07f720659762b13dab409688e94d60e77401527757999e53ba2", + "collateralHash": "3d8eb7d65ea700bf92329c3b34ccf4278231d7744d093346485cf540683ca6b6", + "collateralIndex": 1, + "collateralAddress": "XmS6mLDXNwVdqT39kwMUx6roEXjESwyokL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419663, + "lastPaidHeight": 1828070, + "consecutivePayments": 0, + "PoSePenalty": 4446, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1830570, + "revocationReason": 0, + "ownerAddress": "XqAH3139Z8rkrDRHkXTAYBUBdnTBQuUwkg", + "votingAddress": "XxMNh2xDXFhWHymEQ33XqA6sy3X8qbMP7E", + "payoutAddress": "XmS6mLDXNwVdqT39kwMUx6roEXjESwyokL", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "62d14d33577baee4506b93274748ab65097ee4979ba32c53d67375c74d5d4be2", + "collateralHash": "fc22294c528b172d0051c71aeca7e5452c7db49224f0c38ebeb1b06bb61363fc", + "collateralIndex": 1, + "collateralAddress": "XdVzmssWZhShAna4ycbtY3vvm7rtfF1UJo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419665, + "lastPaidHeight": 1870896, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1836352, + "PoSeBanHeight": 1873770, + "revocationReason": 1, + "ownerAddress": "XiTsKrdYXTc1T2KabqwkKQ7cgABKFGhT3h", + "votingAddress": "XxAopB1LztjWcWuP7HwM6a2SCJqrAsMZpA", + "payoutAddress": "XdVzmssWZhShAna4ycbtY3vvm7rtfF1UJo", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f1c9aa97aaaa46a8cb995e25907a845a7920dcd99ddca4595b5652f395fe2b4e", + "collateralHash": "686c3c7e599f4566cf2b5d5aba6376f86a192a2c214e46b4e71ca12d2623ef9d", + "collateralIndex": 1, + "collateralAddress": "XurJuas4iroUEdwscuNXdBFu96gPEcec9W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419666, + "lastPaidHeight": 1870851, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1836340, + "PoSeBanHeight": 1873482, + "revocationReason": 0, + "ownerAddress": "XnkckSU2bzsQ8w7qjrc7E94pngBEkT6DXa", + "votingAddress": "XdtwmhaiWAc1xLE7sZwZ5ppbnrD2zN8FaF", + "payoutAddress": "XurJuas4iroUEdwscuNXdBFu96gPEcec9W", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c3c56b3771bbeda4143879f52062e0ca992e5d68b6f31fab56f68b0b88dda6f9", + "collateralHash": "b2a77a6335277698884e66f791e6a8f1e711ae2f3cc734f4575bb8b5a08e7606", + "collateralIndex": 1, + "collateralAddress": "Xn3WFxJ4i9HpNKWSMax6PEBHsnmDX4C8at", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419682, + "lastPaidHeight": 1870862, + "consecutivePayments": 0, + "PoSePenalty": 4399, + "PoSeRevivedHeight": 1836340, + "PoSeBanHeight": 1873750, + "revocationReason": 1, + "ownerAddress": "XuwAL7UWLjSKYa1rTiuoCKhECw3TdT4HkV", + "votingAddress": "XmWgVJaf99SsaxJ4jvEVzv2Hod9jud8exV", + "payoutAddress": "Xn3WFxJ4i9HpNKWSMax6PEBHsnmDX4C8at", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "34aafd1d0ebfc89f167216dd17664c5db7825c9fb632056c65ab3134b99a40c7", + "collateralHash": "775dbed41f27048018620b8dddf4e768f1efaea669797282ca39b0ba8b2018a8", + "collateralIndex": 1, + "collateralAddress": "XbGZoeF6bFy61PgQGTsXrVdG9Gejxtbmra", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419683, + "lastPaidHeight": 1870846, + "consecutivePayments": 0, + "PoSePenalty": 4399, + "PoSeRevivedHeight": 1836339, + "PoSeBanHeight": 1874148, + "revocationReason": 1, + "ownerAddress": "XeMp3k6BRqdDuKqibFduDGr9ai2gFJURi8", + "votingAddress": "Xd1eNDp7nsmYAgSkssYwW9RFXiBBVMLgPp", + "payoutAddress": "XbGZoeF6bFy61PgQGTsXrVdG9Gejxtbmra", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "afa3871603adaf06cf91ca964acf8abb0654d968922eae21232e853fa4d605d2", + "collateralHash": "f3fb7ec2468ba6ab99621dc14380f35e3adc2ee228a76d95784665b8f2bb809c", + "collateralIndex": 1, + "collateralAddress": "XnpsJob6xWfuHpde25gm7i9ZWJFUjtuCnG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419683, + "lastPaidHeight": 1870819, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1836333, + "PoSeBanHeight": 1874038, + "revocationReason": 1, + "ownerAddress": "XeBWWPrdXBEAMC9HXp8P1McP6WbSdDkGrh", + "votingAddress": "XcDLBT4tBJhRcirafvCRNgrQda5wAbzHvS", + "payoutAddress": "XnpsJob6xWfuHpde25gm7i9ZWJFUjtuCnG", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e8604c04b8ae8298152aaf99fdfbda713f3012f83a2d38286a0ce49f7ea9d04c", + "collateralHash": "cd17578b6f439e3bf553e8e95bd27c0e5265f4349b45506d59373468330e5fb6", + "collateralIndex": 1, + "collateralAddress": "XwEMgsBDiLnPziUgmoxCVXwHb3JWr2hPCK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419684, + "lastPaidHeight": 1870880, + "consecutivePayments": 0, + "PoSePenalty": 4401, + "PoSeRevivedHeight": 1836346, + "PoSeBanHeight": 1873524, + "revocationReason": 1, + "ownerAddress": "XnmjmznPrinZAyH2Q1NAbw1yNRKHryidJC", + "votingAddress": "Xdn6Xnh19YrkhdT8JpPNgj7SNu79Q9qBcy", + "payoutAddress": "XwEMgsBDiLnPziUgmoxCVXwHb3JWr2hPCK", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "333f479f8ae83b23183ee58b53eaa21d0814d8aa263c16f44b6f64672055ff8a", + "collateralHash": "031791de325b572df73d01535cf7c088f26e0be8f5a42c5ac15dacc40d239962", + "collateralIndex": 1, + "collateralAddress": "XwiwgYYMv3TZkG2KCTweoNgsqJLM3EXF5N", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419687, + "lastPaidHeight": 1828116, + "consecutivePayments": 0, + "PoSePenalty": 4443, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1831146, + "revocationReason": 1, + "ownerAddress": "XkvX71N8s41N1NkFFUL9iefaq8Yaan5dPt", + "votingAddress": "XeqChqu2iykrN9zjX2e4wsoPfD3YkQAN2D", + "payoutAddress": "XwiwgYYMv3TZkG2KCTweoNgsqJLM3EXF5N", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "afd1946158779c503dde14115fe134e58549eef4fa014eb2abec420a50959b82", + "collateralHash": "5fa1661bbd7796a4f72482f710a682bfcfe208e1b8391f5a495e0b3ab3f6e9ef", + "collateralIndex": 1, + "collateralAddress": "Xs51QXcVFKHxgsEXZpjJZ1e2LCwHr6WqpP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1419694, + "lastPaidHeight": 1828127, + "consecutivePayments": 0, + "PoSePenalty": 4446, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1830467, + "revocationReason": 0, + "ownerAddress": "XjhepZBKy5q9e27ZRv442U6eP9USf3tEez", + "votingAddress": "Xvj1boTof4G2VcnkTXbVt2ckTYEKCsxEQh", + "payoutAddress": "Xs51QXcVFKHxgsEXZpjJZ1e2LCwHr6WqpP", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c58e48d4a497214c318c7e3f0b272c5b3ec951843c323d95ef70aaa2ddcecaea", + "collateralHash": "1b81b7c7fa3432354bb0faa19637153998ee70f6b620fb56a6a50b9ae9ef9846", + "collateralIndex": 0, + "collateralAddress": "Xo8ZUzU2PPN6GTgzrtNW7hLVCq4xhwWf5Y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.138.7.14:9999", + "registeredHeight": 1421098, + "lastPaidHeight": 2128064, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1954701, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgoPp8PUKpdV7JC4ACQSSM2uaBmXiLjH8C", + "votingAddress": "Xts5tyfhSjSLEtzK3n86Xn8Cid7DQ4gywp", + "payoutAddress": "Xo8ZUzU2PPN6GTgzrtNW7hLVCq4xhwWf5Y", + "pubKeyOperator": "8ca8e8f55d00f09df0e309233854a3e44d58e24b63b915602071f83b45b28407f6a144ed9fb2712bfa207420591ec431" + } + }, + { + "type": "Regular", + "proTxHash": "f2359cd418b41bc869a7fa57c58a3a2f8e5e5bc0ad69b4005f85e9c42922ddee", + "collateralHash": "3995d61a3f632ada1abea686230e984dace792f826a452d1083b8a39c743de9b", + "collateralIndex": 0, + "collateralAddress": "XeRHnGhdJKjUJLsDR5unisnnAcyH9yNyz7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.214.3:9999", + "registeredHeight": 1421834, + "lastPaidHeight": 2125940, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1685800, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtMSxvbamWs69Z8eQuaVfVtTZn8Kyf54TN", + "votingAddress": "XbpVhB5BFpBpiDpwmpwbpa4dhRvyBG2boc", + "payoutAddress": "XeRHnGhdJKjUJLsDR5unisnnAcyH9yNyz7", + "pubKeyOperator": "0385fb505a74eb9262d192e5e4c9fe54672f5bb4d9ec2c55628ffeee6a8531e466999ec032e5e0cb124926430165d1a1" + } + }, + { + "type": "Regular", + "proTxHash": "f880babd5f39e1de5db5fdd6f0372af69c857b02d7d8ba182d99f021142b6987", + "collateralHash": "0e51c5d7b2adfdb5fdf5335e2c27ccb3663fd7b63cfd8dd7ae40b9547bf1d989", + "collateralIndex": 0, + "collateralAddress": "XtBeRFew66Tj73sKivUBDQLubr9FciXZ4B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.9.237.35:9999", + "registeredHeight": 1422103, + "lastPaidHeight": 2127068, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpmxC1wYiWGcHzfk2u3az4Fmb41PnjWKsn", + "votingAddress": "Xezqva2RtuYuUZ7pVCZtRFwbNkYpW2KEvH", + "payoutAddress": "XhGXxu5BtD5MRuNndkQSKzdyr9qYuFGkfA", + "pubKeyOperator": "8e43583115f280f6d167fd0f6d41605c8d6c80d0a5fb38b642bb281f8d4459a8bf2886f384c634d8bc944e8844098837" + } + }, + { + "type": "Regular", + "proTxHash": "d83cad9a7046685f16ca1325cdfbcf920af2b762c722742c94f57a8c47d60f0c", + "collateralHash": "082d98bdbafc177e9965b45a9403b0e62bf53c496ee85a96b67bd565cb32f4a7", + "collateralIndex": 1, + "collateralAddress": "Xuic3xwepTBdn5QC7a1cHhXtpVgwFRA6zP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.103:9999", + "registeredHeight": 1422143, + "lastPaidHeight": 2127251, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1975756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkEUuLfHf9yQj96AkskMn8CE9AuZUeBiAz", + "votingAddress": "XhpZBPZDGaxvpUJjfgE4sP2KtnUF1dof9a", + "payoutAddress": "XgY8W4AAm1xyJD5Jj2BkyEztzLzmndtpRc", + "pubKeyOperator": "18c0956ff452a873b46e7280bebf3a0d7025e554bcc4691abda16296d2fcf74af6a83c509f3cd844fd6b4149f914ced4" + } + }, + { + "type": "Regular", + "proTxHash": "f598bf90e295748f54275c34aa7678bad254c016a1eec7ff9a85a2f209944ca6", + "collateralHash": "0917e5027540742a4e2701441c877b0b642e35c2e14d76a78fc93d2f84d7ffdd", + "collateralIndex": 1, + "collateralAddress": "Xvt6kfPqR6EMQNEc6oKzHK3hiG5LDK3nbb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.98.93:9999", + "registeredHeight": 1422145, + "lastPaidHeight": 2128323, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976889, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcftLh6pPApv6sWvWdw6GaKCJZ4b95aVq2", + "votingAddress": "XdNfKWPUjTHfBcBtisx6Vvn5uiUXDoWBPn", + "payoutAddress": "XeW5u2sdcQkmyi8STL4LtiDWkU4DQKTEfu", + "pubKeyOperator": "00e98eb5033eb9df70460f3869c8851d3bfcca4b66ad17658962eec74dec6afa4694d6f8a9fb331c79d0e0bf680e94c3" + } + }, + { + "type": "Regular", + "proTxHash": "c3c45c5da30582d797aa9121955c71fbd9567ee90e826931f77e2e9e811e947c", + "collateralHash": "a59de5d26656632189c1d2e71baa4a328ffa43ad9b98be266251e0b98f981e4b", + "collateralIndex": 1, + "collateralAddress": "Xbf987EgWUTjGt77MxYryLP53fX8BaiUhS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.13:9999", + "registeredHeight": 1422359, + "lastPaidHeight": 2128649, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1638457, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xtrq6qhBhGcR3S4ZvojEXhscSWJJtHCBZD", + "votingAddress": "Xif2LgNPgnuL5sK97wKERY8DGBpA1T9jvJ", + "payoutAddress": "XqgXLJqq88FMBSRSzJunmYF2LH3dWBbdv5", + "pubKeyOperator": "1483b412ee48de18356f53673eec8bdfbd43c311d1bc7d36f9744e8d184d506b2342631edb55bafbdba33cac2e230d3d" + } + }, + { + "type": "Regular", + "proTxHash": "2128727b5683dd30f86f520a469e294afea635ae048ba6fd925adada777c9c4d", + "collateralHash": "394151daaa784422546bffcfbe4138ceaa4fbec76bc28f4a0facf5ba71952436", + "collateralIndex": 0, + "collateralAddress": "XoDn9uMitSwPbmSfiZwzaLinzgxeTRrdKK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.148.201:9999", + "registeredHeight": 1423208, + "lastPaidHeight": 2127568, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1830552, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrG7N2kSctK4rQdfq8bVhdJwwRHrvf31Qy", + "votingAddress": "XdyWog5JTprCAvfyiyAorFGWVLneL5rwNW", + "payoutAddress": "XoDn9uMitSwPbmSfiZwzaLinzgxeTRrdKK", + "pubKeyOperator": "0d34f34b2965e56761b22b1a090d73e69d8dc6bc87997b9ed044ac1ad4d3078e0b6bfd9c045721d4d78121e49e5fb6e4" + } + }, + { + "type": "Regular", + "proTxHash": "85dc830b0c0ad3fe3fb29a059ed003c743888916d29f698ac5d56d9452bd5cbc", + "collateralHash": "a5838262e8f1eb884a425f347f89ccb3dd4ef77c1059c19313bc646f251a4816", + "collateralIndex": 1, + "collateralAddress": "XiDvCHPtdXSvY4pKfswjU3aW1aCs3d1F7t", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.177:9999", + "registeredHeight": 1423565, + "lastPaidHeight": 2127761, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmdd5Z7yJ85eMa39jgFsEtBWATyERNC6dV", + "votingAddress": "XgWPZ4LXr4tKkXc1RNQaneptgMbMLn7D6q", + "payoutAddress": "XiDvCHPtdXSvY4pKfswjU3aW1aCs3d1F7t", + "pubKeyOperator": "944ef056f6c3a6bf344e385cd9ac47ccf1de5a5484698ba21a9e63a26187ee63d328fd1b634f537dbbc51773fe640507" + } + }, + { + "type": "Regular", + "proTxHash": "5874af60e87b5fc8add265f6eb9142daabd2b748c089fbeb2fe39ee6d430487b", + "collateralHash": "eb6c4a28db3b7f3b6a05ec41c1d666a31db146af56b9b7c27896f4ecced64530", + "collateralIndex": 1, + "collateralAddress": "XnBCqmCDWr7X3L6U5SspAQCV2ozzWengx6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.60:9999", + "registeredHeight": 1423573, + "lastPaidHeight": 2126490, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1622643, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhbzdQCxDQPis3KPLZgA9aWWs8H9eAkU14", + "votingAddress": "XsQpw9zPag1abK13QL3DsRCbhsE6djmsuK", + "payoutAddress": "XnBCqmCDWr7X3L6U5SspAQCV2ozzWengx6", + "pubKeyOperator": "95b2a0916e9b59bc2ab649b0648bc3d4defafed9b5309dcf91fc72e06b3fb79e6cf955d55896d02b09696cfae628def6" + } + }, + { + "type": "Regular", + "proTxHash": "29a0672f1bfefbbbf9b33b55a4d70bae48649c7c298b27651f19803fd930a9c4", + "collateralHash": "db6d9cdfa7518be7d21c57770c900946a7a6477686d204cbca35d370594cfec4", + "collateralIndex": 1, + "collateralAddress": "XmZNiKKWVt2cc5saFf1QiMiu9KC6LdbWuE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.59:9999", + "registeredHeight": 1423573, + "lastPaidHeight": 2128035, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbzmvsn5cjvGyDwQ1yDqAfndup5kELUBYT", + "votingAddress": "Xg5Xuke3jG7mduY49Ek5o9e7hDbRG6VbUh", + "payoutAddress": "XmZNiKKWVt2cc5saFf1QiMiu9KC6LdbWuE", + "pubKeyOperator": "87ad5f9b4a281a092eebdcff454bd821aff140dc5727d478ae1328057540b61cb8bd98ec05528311346d9f64052a9b8d" + } + }, + { + "type": "Regular", + "proTxHash": "c3a8d8c96b232d6e17eeb50ea84eff1bd38f9016b5105da5dd6dd2ef46e7cff0", + "collateralHash": "7b45d71e5e219b55d99fdf66f759b05aaa6265ab5016948b7ec6da7e91ee828c", + "collateralIndex": 1, + "collateralAddress": "XuyoQHFRCe18Qoacem1KXXmjgH78DgFqNS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.150:9999", + "registeredHeight": 1423573, + "lastPaidHeight": 2128802, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031601, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvTJPbET8uMqVRCKv8ecGEKmtnKmFzjmXE", + "votingAddress": "XkDwUHCDdYm7K8gwGBC3NFBDGysLKCY5XQ", + "payoutAddress": "XuyoQHFRCe18Qoacem1KXXmjgH78DgFqNS", + "pubKeyOperator": "8c4e43df4d923e91514afb7ac2e8c75dee8c0c6ee7e5dc1f58943793ef019ce64ce6452efe86742ee56e7c28302469d1" + } + }, + { + "type": "Regular", + "proTxHash": "afa8aa1d7fa4d26a81b02737d228066f37ebda22ea0ac2ffb812d4ad6205ae1d", + "collateralHash": "a42655cba5e357c2403319dda268d30f22a8dc33bd298cf651eafd99e18fc9fc", + "collateralIndex": 1, + "collateralAddress": "Xj3Uoa5mfytFkD34te2BA4HSBtiGip28NQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.63:9999", + "registeredHeight": 1423577, + "lastPaidHeight": 2128036, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnhTUVLdeNvoomWyD2ro3EdjstRy8RjR5h", + "votingAddress": "XmtUVEFMhmvjm1JVpNoGwPH7fpFS3degWR", + "payoutAddress": "Xj3Uoa5mfytFkD34te2BA4HSBtiGip28NQ", + "pubKeyOperator": "1236a311ceaaf7ec1db7fdcae75db789a407e182b66056e6d2446e4e824a57b2aa0f72deabcbc29ad8897c75f3bf76e1" + } + }, + { + "type": "Regular", + "proTxHash": "bb94bcd4032f425e0e8628845ff7562d201feb0071b77a609f003410ff0999b9", + "collateralHash": "2781255b79401322d94ded378c4b18e99661edd1e94c32bdfd353d7b0a22a5c8", + "collateralIndex": 1, + "collateralAddress": "Xf1kwyoQfR1iHvRhPbi2n6yVnDMiVDQiPH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.64:9999", + "registeredHeight": 1423579, + "lastPaidHeight": 2126730, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1623027, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuNDxzpR2c56ci3vvQZ53r23b7V3ku2c6h", + "votingAddress": "XdcCCEbxjgmfVTVUMWgPme2bHPs5kbyzFT", + "payoutAddress": "Xf1kwyoQfR1iHvRhPbi2n6yVnDMiVDQiPH", + "pubKeyOperator": "99a3fce408715f91a3ff0bb694a6c752ff37f5fe8ab1c6a7698b82558a40c8bd82f4e5e585154d1f2e45f3aa926797b9" + } + }, + { + "type": "Regular", + "proTxHash": "4838727c8d61ad1286ddd1977e944752c0df156e8de9505a6204f885caf80cd7", + "collateralHash": "391392c5d6527518441e8ef1399a679f3fc81af0347d963b21c5295eec39c71a", + "collateralIndex": 1, + "collateralAddress": "XsTr99Z4HMJW3YeJkX96mjhcmAGwatvc5D", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.223:9999", + "registeredHeight": 1423582, + "lastPaidHeight": 2128037, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnA9DiSrKVs6JHTDoRnvGSZsm7pL5BtG8N", + "votingAddress": "Xb6nA1eqtKsybtycuApnpaJW1nqhUFa6ZF", + "payoutAddress": "XsTr99Z4HMJW3YeJkX96mjhcmAGwatvc5D", + "pubKeyOperator": "02e4f3e0e47d11ee58ae58f9619f6a4b64fc34d4676b038d39a72a20d1e5f8465f2032b34d3196fa32f4eb6f40af1ec6" + } + }, + { + "type": "Regular", + "proTxHash": "5287f288098a76b81f08d5ee2c9729936b405490008b37c38fe82b5453287270", + "collateralHash": "7cad025508eee779aa0ad076f6284d34216e203432c382dfda4a80d0e893d4b4", + "collateralIndex": 1, + "collateralAddress": "XhsafiAyj4UKqB5BXQc93C7svpQNXeKzGj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.62:9999", + "registeredHeight": 1423585, + "lastPaidHeight": 2128038, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwpWvHkUfEjFEg3JGkFk5Z5fjVs8Xp1U1S", + "votingAddress": "XiKfzqaNKdzRZ3aAhBsmcr3qjiFCACtQn9", + "payoutAddress": "XhsafiAyj4UKqB5BXQc93C7svpQNXeKzGj", + "pubKeyOperator": "09b5ee37fec9d0cdf216499dee7350c7f0bd136bec42f62502c104f3e7819033e4c0b2b543a0b069f166761082268893" + } + }, + { + "type": "Regular", + "proTxHash": "507cb9546d7545ba0edfdde8117401953e22c110d4b4c8a86756e0e0efaeb449", + "collateralHash": "ae73414c8bb70143aa7a180971d8dc2de569bbb7f324a906fa1f5d770c4558e9", + "collateralIndex": 1, + "collateralAddress": "XnHApr5u1PZ7WbbjdExnNcioTCz1JyaHMW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.61:9999", + "registeredHeight": 1423587, + "lastPaidHeight": 2128039, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdESVXzQfJnogYkpPFtNwQ8E75KJFWutAJ", + "votingAddress": "XnVRYYfPmiVx1DDyduurCaeSMPNmYrPBei", + "payoutAddress": "XnHApr5u1PZ7WbbjdExnNcioTCz1JyaHMW", + "pubKeyOperator": "14abd5d3c502052d20123e40718bd677d852f0f8e9546d6dd239997c90c0aac32dbfe417e65fae947219e235e4ae8499" + } + }, + { + "type": "Regular", + "proTxHash": "9da97869a57c49090ef741fd513b9c2ff563a7b06dc74fdcfd9a0736afbfd3ac", + "collateralHash": "407a42e75900e108ccb9661b4b2234269f9ebea1f0386fb512e6d8a015d809cd", + "collateralIndex": 1, + "collateralAddress": "XkVs79mNTyEYiv4KEzosNzyNiXazYaYaEa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1423595, + "lastPaidHeight": 1870882, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1836346, + "PoSeBanHeight": 1873461, + "revocationReason": 1, + "ownerAddress": "XrmVxFLC2yox6vXMP6XtiWNEyyZTcCPtBX", + "votingAddress": "XxfcPucPbMb992Ss5vyqWPsMJ8HGRWNhGx", + "payoutAddress": "XkVs79mNTyEYiv4KEzosNzyNiXazYaYaEa", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a398d0ee0c53cdfcafc6dd3ba4242baff844ebb531f15bda463ed6498654d2b0", + "collateralHash": "7276ee3783cfcc0df746c2705c1dc7eb161538a5338fc5fa4f4110f9523472a8", + "collateralIndex": 1, + "collateralAddress": "XkxwhN5SB7jVYnDsSEfjrXvgakrXPhNyXQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1423596, + "lastPaidHeight": 1870870, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1836343, + "PoSeBanHeight": 1873750, + "revocationReason": 1, + "ownerAddress": "Xe1RNP76ox1ZpRRAUd7U5ZZUAEtVKHwAGe", + "votingAddress": "Xw8LkpUMJ9JBArYcejq38aEtsGMZKEbqY4", + "payoutAddress": "XkxwhN5SB7jVYnDsSEfjrXvgakrXPhNyXQ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "55533032625033f00ae9ab517fbd2017c6d759f2f6b3acfda86a6eb29b85ea2e", + "collateralHash": "b6a2032132d45e8512c95c51d36c9b85a1bc7c51c3b5f0050c6e0d8c397466fc", + "collateralIndex": 1, + "collateralAddress": "XbQghdwSbfsx8MrWYR86kfjKYL4GkfUpuy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.242.65:9999", + "registeredHeight": 1423601, + "lastPaidHeight": 2128045, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuRfz3zR8i6pruTXpaSkvcwUDJRN4GXhPK", + "votingAddress": "XcL77ZJrXvXR5xtdFDY8dEg4Jow8iYFjrC", + "payoutAddress": "XbQghdwSbfsx8MrWYR86kfjKYL4GkfUpuy", + "pubKeyOperator": "07031d4edbb5ba350ff5175b3355d57d119cfe6918b2e28952865da96d286bad9b5e4e79e9dce40be5d02c786e688fe3" + } + }, + { + "type": "Regular", + "proTxHash": "474bcca94592ae9d39439daf7ea5ebaed0c68f51a1609dfda9290d7644b2088d", + "collateralHash": "c9af7d021e6b4551b38e276679aadfe876af08a3fbea93be7584bc6076b6613f", + "collateralIndex": 1, + "collateralAddress": "XxGJEh9Gj1AjipgSqvDkcEDKC26pdA2iuW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.172:9999", + "registeredHeight": 1424027, + "lastPaidHeight": 2128520, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgg9KbQVum4LRSDVsQgJH1FmtssD5X2Hjj", + "votingAddress": "XhKp5wtMt5SAr2qGH3zXiUhbw8PYxJbh5C", + "payoutAddress": "XxGJEh9Gj1AjipgSqvDkcEDKC26pdA2iuW", + "pubKeyOperator": "16fad841f101795433bd16d9eb44f18270c93aab9d4c899800119161d3d06caa2268780aec6cf53efc7b5b258e7abbaf" + } + }, + { + "type": "Regular", + "proTxHash": "9d0fde247a3915b46cd1091d4703dcbd6145269d3b0cf83ead2c7066ffbfb16f", + "collateralHash": "5abf6a3c463eeb36892f529897785f3f2dd341bfab30f813fc29df1fa6219b71", + "collateralIndex": 1, + "collateralAddress": "Xuv3e5vJ1T67PRnksHdAFXSYsRzcHBguta", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.193:9999", + "registeredHeight": 1424212, + "lastPaidHeight": 2128666, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiQfno3sM3rbviMYzHTjYUhJcQAxWP2Pt4", + "votingAddress": "XpR9Bnf2hmvQAyT8kePHmNdT4C9hp2nLDp", + "payoutAddress": "Xuv3e5vJ1T67PRnksHdAFXSYsRzcHBguta", + "pubKeyOperator": "866e11816a58fa73fcd819b9aaab09a40646f6e71470dcc794b0cf8c1c036d3ad5db1569882762a65d2d29b45831d82a" + } + }, + { + "type": "Regular", + "proTxHash": "49702156c3a09032392b9faaf0c5e15d9c664e1d1744ebe4a3b30770c0c0b9b5", + "collateralHash": "02e408558ec5d1acc6f30665da80c385fefd1f6ff160f2bcf589a78960074ccd", + "collateralIndex": 1, + "collateralAddress": "XvZPcLFp1Lp55diJS3gKg87YmcHdyuZS4H", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.28.101.145:9999", + "registeredHeight": 1424950, + "lastPaidHeight": 2112447, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 2007440, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XyEDG1eVVbDYEoxLd7tN7N4eQJa96Hx43i", + "votingAddress": "XyEDG1eVVbDYEoxLd7tN7N4eQJa96Hx43i", + "payoutAddress": "XimLiBvJkTw3t9QapPx6MCP27vKd7VDCZ3", + "pubKeyOperator": "0e9fc0e6b20e95e0d898fd1a9486cd31a5438581dd77ac5347a9a94c6cc5d07b1d7a9d670a037a45a623d7b537b94ed1" + } + }, + { + "type": "Regular", + "proTxHash": "69c9c09918f7313a13155811935e77aa6f9f72b4db0de31efb5df2bb8acc1b80", + "collateralHash": "1f75be94d04094611e84eebac0093635202a26f8241426e4cb46cc428138c7f0", + "collateralIndex": 1, + "collateralAddress": "Xedj9sBJRTsouAmBrGtAd4fm2g8vWzL632", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.132.224:9999", + "registeredHeight": 1425504, + "lastPaidHeight": 2126219, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsntFe2KMWVDjxExi9fMZpjmZ91uvvpK6z", + "votingAddress": "XsntFe2KMWVDjxExi9fMZpjmZ91uvvpK6z", + "payoutAddress": "Xedj9sBJRTsouAmBrGtAd4fm2g8vWzL632", + "pubKeyOperator": "00981465243fa69c0b5186b5506a9a62a7c9ca300bb343739965b2e90919fe5686c8af022bf428c92a7752e7bf6133fa" + } + }, + { + "type": "Regular", + "proTxHash": "e73dda2a840af6aa7592ab5aef75809be588238514eef4bf3edfa79f19a9c11c", + "collateralHash": "16811aec0291696a3129bd17fc830b2135e9c6140ded3f3a7830cf1b89e92921", + "collateralIndex": 1, + "collateralAddress": "XoiFkH5uRFyB3avPt5k1ESzfohZAzai8np", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.136:9999", + "registeredHeight": 1425650, + "lastPaidHeight": 2128044, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1907513, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgTGcYgvcPBrapHf9wKdgDxWwoLaEGFkHx", + "votingAddress": "Xo7u9dkBpwxXEaGovr58T9v8oedTdh859u", + "payoutAddress": "XoiFkH5uRFyB3avPt5k1ESzfohZAzai8np", + "pubKeyOperator": "925db3ba8bd676624e29582f0cc8e6d9e60141a8f968719f786891f942b54b00e468da95151faac75db158cc2c36a460" + } + }, + { + "type": "Regular", + "proTxHash": "388f1345608b762a506226d8deda3c94e173e686a0bc40b275acb5b9b778a492", + "collateralHash": "50ff303b883bebc820769a6bcdd39ed4b973831d9ac95dc503d8e78c2292a892", + "collateralIndex": 1, + "collateralAddress": "XxKFgpoffefkFY1NE1DbJcrNFGg5ybvRP4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.198:9999", + "registeredHeight": 1425663, + "lastPaidHeight": 2126785, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1971711, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjq1UU11JU2s9TjcYkXPhyWcp84PYnEDKm", + "votingAddress": "Xc7JBtaVmLtY4X1wnNEuipBqMKpnAJoKLZ", + "payoutAddress": "XxKFgpoffefkFY1NE1DbJcrNFGg5ybvRP4", + "pubKeyOperator": "99c2216a5682c8270e8d18042d775bfdcbe1a740ba00a48df45c5e7969fa6db36ba570cd99553fff265d3843fdf7625c" + } + }, + { + "type": "Regular", + "proTxHash": "8aa37fc6c0f307344f04324b2f83b2b9e7775ba49c5779e46d34e67cf1e576ba", + "collateralHash": "f11d264486d9a6e7e76be5e5dfb0e2ef9e69731e5fbd8843d054b8985041a48d", + "collateralIndex": 0, + "collateralAddress": "XyNZ2yRCkNt7FSiMJyfhGG2RdgUPWCcKeu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.175.162:9999", + "registeredHeight": 1425844, + "lastPaidHeight": 2032510, + "consecutivePayments": 0, + "PoSePenalty": 3828, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2034762, + "revocationReason": 0, + "ownerAddress": "XpDMwucpZS28aTHkAzuqwYaEnicZYiL9qg", + "votingAddress": "XpY2HSLvBSDvVeTNC2dL2XAfiAGiWsnH63", + "payoutAddress": "XkPQYAUhskizcY18QBrpLpNWS8TTYcpCH1", + "pubKeyOperator": "0f618820b7e469f4a37b832a074d3a405031300faaca39985371875e64612a94000a7455e2f65a4b0b23b1652e5f081f" + } + }, + { + "type": "Regular", + "proTxHash": "1dbb815355b1a89054d03b3b8995316fd31b46fe18b4f0f564124d77e9dbb7de", + "collateralHash": "becafa6aa08cba9b7e6066dbd4d2c6121dcd99609db3ff94d59d86f40062f7d9", + "collateralIndex": 1, + "collateralAddress": "XfeEtj5TD8cRckchEGd5MowWQHdN9dLApK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.90.151.170:9999", + "registeredHeight": 1426403, + "lastPaidHeight": 1724115, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725539, + "revocationReason": 0, + "ownerAddress": "XcHBSptZiypT4c5sv7mG7h8vqm7BRosCgg", + "votingAddress": "XcHBSptZiypT4c5sv7mG7h8vqm7BRosCgg", + "payoutAddress": "Xdmt8yvHvFT9cuRgxBKdwnXLPQub51Lr8i", + "pubKeyOperator": "124ea9a1fbb701b31bc9a3a3651598123b0a49f1ea290be0781dfb2cb6272885f7ea0daf3a22583ed2239a20fed75466" + } + }, + { + "type": "Regular", + "proTxHash": "b5282ed3247dd174bb6461a20e4a4545b400a0bb351584dd48363abc5f9975de", + "collateralHash": "ae5c026e2971fc28b43287a565efed33c064b9da7adf522193f3d2860dd870c3", + "collateralIndex": 1, + "collateralAddress": "XiAvRJB6N8b5ABzhCiz8ZBGegzkk5omd4p", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.90.148.109:9999", + "registeredHeight": 1426424, + "lastPaidHeight": 1724135, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "Xv9yUtA3GKyk4usS28vWRxvJj4CabNPQv7", + "votingAddress": "Xv9yUtA3GKyk4usS28vWRxvJj4CabNPQv7", + "payoutAddress": "Xby7GCK7nqERc1ajkujcgUsmYuqVT6eDGv", + "pubKeyOperator": "114c9e7a6a0017ef5a868a07999073724846204cdfb1acd3617b3cfe129af04b01d35e14e8810eb328f192742dc507b4" + } + }, + { + "type": "Regular", + "proTxHash": "fcd988a321fef2f7e281824efd79d6c8c3d5eedb1927ffee0afe104ab0480391", + "collateralHash": "31852c40875470b550cb2f509b08f547852b50ef87de59b5a228e354825e1c09", + "collateralIndex": 0, + "collateralAddress": "XhnfZLmZYRang6EWD4WbPL9cA1jeDqwSb4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "209.97.160.97:9999", + "registeredHeight": 1426473, + "lastPaidHeight": 2126825, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbiLjbt22Warqw3jqwCaiYce28MXDqNc4u", + "votingAddress": "XhtxU4uJRG1rGtJ5fztzpBnnNPheVF3E6j", + "payoutAddress": "XhnfZLmZYRang6EWD4WbPL9cA1jeDqwSb4", + "pubKeyOperator": "07b044b5d048e038461bc96d7d27aaf7c6bd907da81ebb1c4a25bb947944913e7f14c1925b4c287061929ae50b77dde4" + } + }, + { + "type": "Regular", + "proTxHash": "27229ebfad2254c4356fa6b7e7c7bcb43c58a4261f3791685091a60fd668eef6", + "collateralHash": "5b028460a43c773d8fb80e596e89f26d993a940f3d8a83341eb215dd925767a5", + "collateralIndex": 1, + "collateralAddress": "XxckTfC45djL38m9zGPhmxbQs8ZdC9aSbX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.225:9999", + "registeredHeight": 1427096, + "lastPaidHeight": 2127300, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd3qoB4oa39JEx9ernzt1NAM7cRPWhsvdr", + "votingAddress": "XnJvyZXWnSytXCSPREX5qm4e1g91kszioU", + "payoutAddress": "XiyFdLCegnxMFHtHM8Pjoj9TEsZMk1e7pD", + "pubKeyOperator": "9602c47d1581e4e45dcd95beee88249dc3f5b19a5df67490043e0161864d22dfd409bf503443b6beb5f893c630450b00" + } + }, + { + "type": "Regular", + "proTxHash": "00c5bc7941973452b2f59a0e3ec32ee7ef393d4155b6a960e5a0211868df342d", + "collateralHash": "53c3f2d877481836952bfa59f05c96ec992f5fa5554238ddd53dc147b42080fc", + "collateralIndex": 1, + "collateralAddress": "XdXHTEpvWFT4Au313NqVeC61mWCGfEpZMB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.243.28.48:9999", + "registeredHeight": 1427299, + "lastPaidHeight": 2068970, + "consecutivePayments": 0, + "PoSePenalty": 3803, + "PoSeRevivedHeight": 2028577, + "PoSeBanHeight": 2070762, + "revocationReason": 0, + "ownerAddress": "XhEJF5o8szMq39G8xZvmS3YHCRF5WedXLK", + "votingAddress": "XruZJZGCRWJ4ADVPDQdtxPMDQUXNVsJTDu", + "payoutAddress": "XtnS8rBbQhXJhxREGttdbPVaMzFjqqgpEP", + "pubKeyOperator": "9207067c11683eabd3b86882557d64b9665a99b1fef07d6a58088904477da335215c619b0a65eb394f73e613dfbb9ad3" + } + }, + { + "type": "Regular", + "proTxHash": "5b15192c91c253da335ce765f3df98f1da30a808e2ee7a4e3b962ea018cc5e2f", + "collateralHash": "a4d9401b67e1482a006d5c4aadd7985bc3b72766fad4f0c0e96d60eba16b1f0c", + "collateralIndex": 1, + "collateralAddress": "Xgb12RgkB74t6U4TeTNqiUPtP9eJn3TBzR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.70:9999", + "registeredHeight": 1427668, + "lastPaidHeight": 2127722, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyRpWLj4Q3iD49h9UEQHsCY65HSjirtDr2", + "votingAddress": "Xi3DGFGwHT5aSViyRF1mC8nw5TC4RUUDv3", + "payoutAddress": "XqhXT5do7aU7e1ZbWGB9rFE5hgaLgRPeeG", + "pubKeyOperator": "1183d6cea53a83d3d1ed3a4916fd23e191717a08a24a7c6ade5065c4cad8b00757034e966983e74d3c29bedb441fcede" + } + }, + { + "type": "Regular", + "proTxHash": "b6f0d2365af76024d21fce6c16508a102331c59c9adeee770db03c389b29882c", + "collateralHash": "4ce1edfaf60628e8887897b1356077c1adfa146c1fcaeb0b3df159015fa08166", + "collateralIndex": 3, + "collateralAddress": "XcwgokaFS4tUVX1cTXVqwCABA7P4xnaBUH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.97.83.229:9999", + "registeredHeight": 1427668, + "lastPaidHeight": 2114968, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": 1875833, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XigjLegkMzfC114zkgKCaFVfSvRtpgF2hr", + "votingAddress": "Xe65waM9tBTGDdZ3EE5eZm129nyu4uSbkG", + "payoutAddress": "XpJGhpMr71oKNRTjMBgzCSx9skw6pRMQyj", + "pubKeyOperator": "18e2c0b58aaf7a766d0b32c0d7ff7f7891751060d9e3002821d3c8d9bf0d9243a0399179b18074ac4ea80c4a2f92a54e" + } + }, + { + "type": "Regular", + "proTxHash": "bcf18c161f9eebb9b689bcbff64c3f297e0e2a9f414a2452b3d7ea0834166ef1", + "collateralHash": "9f81100e148a86958513ffd8dc1c153d4e21a5ca7e52fbf7871fb795f5d01e88", + "collateralIndex": 1, + "collateralAddress": "XvDC4yvstgGmWp9CSUoecw1XxhU8RHC2wa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.70:9999", + "registeredHeight": 1428578, + "lastPaidHeight": 2128461, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1594676, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnozgSTdUZwoCcWLzQtFmhgcVPP4GozZ9E", + "votingAddress": "XnozgSTdUZwoCcWLzQtFmhgcVPP4GozZ9E", + "payoutAddress": "XvDC4yvstgGmWp9CSUoecw1XxhU8RHC2wa", + "pubKeyOperator": "143878b64993f280b9d3c96168c32d7aa747a3ed5b042850cd541ef3ac4c58f790182b4bdfef5d79accd5fec2230c8c0" + } + }, + { + "type": "Regular", + "proTxHash": "32bdf68db42e4d35df364f5c37ad121135d7c60ae53bb773d79736be693e194f", + "collateralHash": "47cc40d4bafd4fa87f23a06d76047fd6d5604bafeab4a820abae7147aab93153", + "collateralIndex": 1, + "collateralAddress": "XqS3NM5E63eQBxYV4qbdwDGjwmje67rnLr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.113.158:9999", + "registeredHeight": 1428656, + "lastPaidHeight": 2128270, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976877, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtNsGkaagYYApn1LqKxha8RKbD9YLcrAMV", + "votingAddress": "XgjYwAVeyG6pEMrcUfNKq84Y7QrH51sfjG", + "payoutAddress": "XqQzkXzgQSy8MKA47WaZwxNZ1deXy1t33R", + "pubKeyOperator": "85884a7db5e461c0b4677810dd314b24cbba8706b2728559d651f672ab422d6e807def498ab9f583f97c635cf6f819e1" + } + }, + { + "type": "Regular", + "proTxHash": "0549e26f0ee0ce7c3f128846f29723c28dce66bf7c3dd0a5f058bd15127b7787", + "collateralHash": "ec7de770ef9cea6b50b026f59b06427838ed1b19222bb1a1788bf2997fd6f258", + "collateralIndex": 1, + "collateralAddress": "XdSq1adW7iFuxjZxKWhAVB3qNf2adNW6iq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.240.18.61:9999", + "registeredHeight": 1430922, + "lastPaidHeight": 2115282, + "consecutivePayments": 0, + "PoSePenalty": 3836, + "PoSeRevivedHeight": 2118152, + "PoSeBanHeight": 2118858, + "revocationReason": 0, + "ownerAddress": "Xb4VvkCAJQy666DsXzKuhHTjdwbo75Yyuc", + "votingAddress": "XapJ8FAqdFyYWKn5ZVPJ5VrJHFc9YTr1kB", + "payoutAddress": "XnJn5MVfS8q9gY7RoXsM71rWyKBSGQZoQy", + "pubKeyOperator": "873b4ee245abc5fd26188adce52d88b66430804b5c52a68a3038bfe5f8efe78b4e5db3045a11ef00c1809880c4e5647d" + } + }, + { + "type": "Regular", + "proTxHash": "f35ea6bd166e85ead7832d67631b7ad0235f3a7aabb7fb4f808bb7a04899c2a9", + "collateralHash": "8b0c81b70afdcd8f67029df83fd378e20f767f857fb42fb5f51bcda7b7e222a5", + "collateralIndex": 1, + "collateralAddress": "XuaLYzbQprKk8BswREHAg92Njf9ovJX4da", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.202.102.124:9999", + "registeredHeight": 1431334, + "lastPaidHeight": 2108336, + "consecutivePayments": 0, + "PoSePenalty": 3836, + "PoSeRevivedHeight": 2118152, + "PoSeBanHeight": 2118282, + "revocationReason": 0, + "ownerAddress": "Xyhwr1BtnyLXKZy2u4bptgnAmDtyZh1c6p", + "votingAddress": "XoU1vyALVgQUeUozcZt7RCmrWxtKhx4pRX", + "payoutAddress": "XnJn5MVfS8q9gY7RoXsM71rWyKBSGQZoQy", + "pubKeyOperator": "88dcb3964c55c96dfde499a9f3930fb1762c2e2d81c17baf6739e739e1f2f88f4ba79a93bd2579d6ae12aceb861261f1" + } + }, + { + "type": "Regular", + "proTxHash": "486ac14a91964cb1a212f93980d6e243c1a7808cae832c8ca9248e73780be68f", + "collateralHash": "64853f05e1639c556df818cd2304ade18f14fd8333395909e0fb0fffea0815ca", + "collateralIndex": 1, + "collateralAddress": "XrtmpPXMaMtVs6cP4yodvTVTygsfCTUu78", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.234.64:9999", + "registeredHeight": 1432625, + "lastPaidHeight": 1986609, + "consecutivePayments": 0, + "PoSePenalty": 3971, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1987818, + "revocationReason": 0, + "ownerAddress": "Xxaj5catntBo9PHKdtfTt2XMU4sa9BpYAy", + "votingAddress": "XkyQgDzd7Dfsckv1sq5rMGr5C3McELjGRw", + "payoutAddress": "XhyM4WeaKn9KwcSNBXsudGxGweg7KzZQCD", + "pubKeyOperator": "825d12abde419cf6a70eb58a136b7dff662f920bcba7bc7608b8e797f59bb11ff1511badf927aaf7aa8258d23cb2143c" + } + }, + { + "type": "Regular", + "proTxHash": "e2b7884e80851c6d34f675c31b49a42b1837ad201a7ce45193a9d802ebd74f6c", + "collateralHash": "e572bcc19066040176535b69a59735b9d0dff484ff38007ac828dfecaef3f865", + "collateralIndex": 1, + "collateralAddress": "XufFc63BmLjF6WSeqnPMWPC2pd4ZEn6VaQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.141:9999", + "registeredHeight": 1433429, + "lastPaidHeight": 2128581, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpy8WvFnRdVpr7Gqq4u3rMhnmFhsrQgxQ2", + "votingAddress": "Xp2zg5u4TPy89pZYp2LvNZZD5ABGF7zvhM", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "151aa1488f8afd24e2a999c1cb2eabe39bb09a8f006dcf486702b3a07e4810724711c2a39ee356ab64db2e7016705b57" + } + }, + { + "type": "Regular", + "proTxHash": "e4266b8c3dc8821935945e063af637664bcc74cb794db227993f1213b0687d49", + "collateralHash": "1ece11cd7e1b9db5b6630771f9155eb191830c55535b26c128f0cd08a96cee7c", + "collateralIndex": 1, + "collateralAddress": "XbeQcLCWSktPskZT3ge3yLAooErmzz9LqA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.207.126:9999", + "registeredHeight": 1433628, + "lastPaidHeight": 1986516, + "consecutivePayments": 0, + "PoSePenalty": 3971, + "PoSeRevivedHeight": 1903499, + "PoSeBanHeight": 1988106, + "revocationReason": 0, + "ownerAddress": "XvLj7KLKVjqvqghSK7S3aWeUzy8MG7Ld7h", + "votingAddress": "XbkfJdb7LSjXbwad5e67PkcVhC9egLzaUB", + "payoutAddress": "XoBgzEoqEuL2nAMdKrYGcMvRZAN8ZrFfqR", + "pubKeyOperator": "974f80efd62cc6c0f01e65ba7ccbdb99f0d8bd990decd8420aa2353f08e4e802278b76e7816a5d5c91543901f6c8f9c3" + } + }, + { + "type": "Regular", + "proTxHash": "5836d3ce0a4308c52cce7e21c5298de432da056b5753f5deef38455f6c0287b2", + "collateralHash": "ae069f103eaeb66ef70593550a5e08fba3cd72f74d0be287d685d9fff98ded93", + "collateralIndex": 1, + "collateralAddress": "XsxWfmeTXzSa7cFuweqZ3iCVcuKtLcUE9q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.3.52:9999", + "registeredHeight": 1433643, + "lastPaidHeight": 1983178, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1985514, + "revocationReason": 0, + "ownerAddress": "XgSqCiWMtdE4EiSXRJbixrabbmCSXFxah1", + "votingAddress": "XuEDSgqViEeS2Bdu2QS27r5R4Zx9FwX1Ey", + "payoutAddress": "XxU1f2YZ7MbXwRrBcE2bbKx6ecQELz6pTs", + "pubKeyOperator": "154c4685fb95685c5ce3c12f53f6f0d10002fb1bbe3fa74e6cf980eaad87e3b9a1ee28263cdd9be0f229d60fea0945e1" + } + }, + { + "type": "Regular", + "proTxHash": "4d65a994d70db84dcc49e0721eaa612be6e9ed74fc51172f208f59cbbd13b864", + "collateralHash": "3a91454b237872f9055b855fc77ce21162d76512082857f77b2e2f5452cbdc87", + "collateralIndex": 1, + "collateralAddress": "XfKmRexoSkpfpHXPWBSgzYRWnM5LvotT1r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.202.106.236:9999", + "registeredHeight": 1433655, + "lastPaidHeight": 1983055, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903503, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "Xv8reyMzywinvGsurxoxsELrzr2KHXj6Pi", + "votingAddress": "XhczQgzinbHdpuiRf6Qh8JZQD56f7cp9jH", + "payoutAddress": "XhJARLyJgFqAhpLw9R4wNJzd4Mobjtsu3G", + "pubKeyOperator": "95c20f00ba4c656905f52ffb613195906152492ce2373b7b0c3679e0fd46736da75447f336fe0ff5ea171c25461c7694" + } + }, + { + "type": "Regular", + "proTxHash": "ad5a28e98495afc0de5494402bb97fd389712508996df1109664c6430d3a964b", + "collateralHash": "ab89a060a8e7b5188d0dfb34e3cf150c0cc31f2c3571477d613908b74d4ab9aa", + "collateralIndex": 1, + "collateralAddress": "Xak4HCY6hfMx6YWLxEyibASksg8wdsuNzw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.204.147:9999", + "registeredHeight": 1433735, + "lastPaidHeight": 1986520, + "consecutivePayments": 0, + "PoSePenalty": 3972, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1987818, + "revocationReason": 0, + "ownerAddress": "XxHCKwd3veHRYGNVmJvP2JcGkXFHXRxvEr", + "votingAddress": "Xgxcx1B7YwHj6YT2ekNeUViNqMG1E3yqY8", + "payoutAddress": "Xsq4nyQF38XAkb7TMQdc5axCA6NzeyaNZv", + "pubKeyOperator": "89aab4cff13ef750042451785d61b8a6965f309605456f0c251558818eabd274b5aabc7d42b37ea5c8f790d401bbbdd8" + } + }, + { + "type": "Regular", + "proTxHash": "1a535006c8f5218e6e82ff9f65e36b69f3dd48c5b76e024d3d9e78280308611a", + "collateralHash": "7f2a0bf9f1b7df4e0e5419d63cbce07c4c697890246691cf25bd629fd1145f8a", + "collateralIndex": 1, + "collateralAddress": "Xg1XP6hASedaZgDmePFw5Z5pbCLyvZkEay", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.202.98.112:9999", + "registeredHeight": 1433743, + "lastPaidHeight": 1983057, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "XsKxvLwqaGeWsCvfJ9G3FW2mTstKFEtiUu", + "votingAddress": "XwGGrYTtgMiwJ8hgFGRaTZzheCN8dFVrVN", + "payoutAddress": "XgfnChvhwnw4MiTS8RQu4GAE8BHCHgJkhj", + "pubKeyOperator": "976d2bbee9e630af2e76500145a6f659af32596f5e2ebaee1f59b92fdd249ce0c68b60501e807b6ad320e2443b43d02e" + } + }, + { + "type": "Regular", + "proTxHash": "7e6db42d70d2a339472bf52f538a4a923537c63a59d5baef9f472681b1b6dd9c", + "collateralHash": "4f4fd5350ec4c2cdfce9b085a09baa6cf3dca44547b28f3839490213dbdfec7a", + "collateralIndex": 1, + "collateralAddress": "Xcn6jgxxgSturC2oUBdzNs2EaWFBbwAZ5T", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.129.198:9999", + "registeredHeight": 1433780, + "lastPaidHeight": 1983061, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1984650, + "revocationReason": 0, + "ownerAddress": "Xc5bUxvcgoE63tYaLZc9Cz1uY5LeqZdVPj", + "votingAddress": "XftZmKnBtP6joc5cEdXcEcYmzvn2wunfuv", + "payoutAddress": "XsFEDRbiSoLF8MY6KTkqs6m8jzwyEBjMxx", + "pubKeyOperator": "977060b250023b86c9cfda4fe5441cd83d4c41b29c680f9e36638de73492c4c25696a4951506ec4d7b89c4f0c0210992" + } + }, + { + "type": "Regular", + "proTxHash": "ee9187a77f7f30e58930f1231d685fc41939bab1650948a21a075d15cf7aaea2", + "collateralHash": "d702aea0faf36ac1e5fd363d5d5111c1899adebdc8d826ba6d39791622e292b4", + "collateralIndex": 1, + "collateralAddress": "XcNPog8LMiYs52Nj54AErgqADWp3WaLe1i", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.235.104.190:9999", + "registeredHeight": 1434133, + "lastPaidHeight": 1983062, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "Xm6TUfP9NjnhoxGHth2aXJRHFdNyVEhyxv", + "votingAddress": "Xext8pzMVjUXJmvXKPvSBKSZ1sxiXRqWPD", + "payoutAddress": "XjCEzCFxXEUciAZwd5EKnsLbiaMT2h8azf", + "pubKeyOperator": "9546e20a10f07e3db40f0e56bee117dc7c363c1a8cab6299b7324bd2e2796f756b003909f8150d3624457faf3e78b09b" + } + }, + { + "type": "Regular", + "proTxHash": "f1a30be23b8172f6dda4058b95f39d77c9c8539ad40430412784d4a6ddc3041a", + "collateralHash": "53fad3df72dde8ef947b2244529c9ae502b21257d9b9043a0cd77adf45dc9037", + "collateralIndex": 1, + "collateralAddress": "XnKnd4pobDyMFusgqSio9wWkKbHDLNZ7XV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.235.85.105:9999", + "registeredHeight": 1434151, + "lastPaidHeight": 1983056, + "consecutivePayments": 0, + "PoSePenalty": 3993, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1985226, + "revocationReason": 0, + "ownerAddress": "Xbc1g22YoGE1rTwrRJ2HKQXnAV6duCYWgv", + "votingAddress": "XdzAncmn1RHm1KVs5CwHK5TQa9ScSo8PYC", + "payoutAddress": "XqLj7NPQwsZfGk78hSoBRXK4Whdd1JdBgK", + "pubKeyOperator": "80c13ef76f7ba1c6209a0ef055bb1aed7e0d9dec8200accef43933114f29352972141d58ceadadc291c3044b75615e90" + } + }, + { + "type": "Regular", + "proTxHash": "257c02ac5bdc59c8a77650fdbfe3a32401738d3f8f33576ac6fa76af033c5c8d", + "collateralHash": "74250b493c254dd5ce5bfa06a1038ade52ba49f008ac4d179dec4792bc859ac4", + "collateralIndex": 1, + "collateralAddress": "XsXd7oLoEXiTW4tRvjfQTtjcu4nfFGrY4i", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.33.51.93:9999", + "registeredHeight": 1434154, + "lastPaidHeight": 1983173, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "Xv9S8RvVp3kPSwjCxQeyhfhrqPiHDav4Vx", + "votingAddress": "Xu34mraQNJDk32AL5CWYTyXPi4aPGbbnjK", + "payoutAddress": "XsyzekyAzZzwZdhq2XK6vEcpTcBE9hUr27", + "pubKeyOperator": "8576b0e84c3039365af0c922a5f77dd181b6762b3794a308281604895131e029e9b5897cbd40c4cf389729ec45eb04ff" + } + }, + { + "type": "Regular", + "proTxHash": "d0fb7c03fc69e82406baa461a05092ad45137f015b40311ed2e99ab1a250e185", + "collateralHash": "ab57b49f62f605b2cf24f984b3b96b87fda7d68c7c65c569e985e5d611b5d87a", + "collateralIndex": 1, + "collateralAddress": "XwB3GvKidCp76HD6NiyECiM1nrJTRRUib7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.248.138.204:9999", + "registeredHeight": 1434179, + "lastPaidHeight": 2125795, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkWBZKVeRD3MU53Z5kyuU9FiheNePizYMe", + "votingAddress": "XbxwrkknPyZeAh35GRqBMCu9zj62fxGwRE", + "payoutAddress": "XwB3GvKidCp76HD6NiyECiM1nrJTRRUib7", + "pubKeyOperator": "8104a0c7a9924a716b96640ed40e54065c1aa1b04e8f9a7f85a0a8654e722de8fb1e4ae3736c9be84f8be5699e21f677" + } + }, + { + "type": "Regular", + "proTxHash": "5f1ecccda2abcbabec1f3c8857da2b3a2928b4d6a2cfbdd8ede09de34069b2ce", + "collateralHash": "e7b5b9fbe76df276c6fd205e86f97956d060c8ab149a1d62d829221ff00b178a", + "collateralIndex": 1, + "collateralAddress": "Xiab564zRwik9Gs9LwCPSU927fHaV6WNMK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.156.230.252:9999", + "registeredHeight": 1434426, + "lastPaidHeight": 1983063, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1985226, + "revocationReason": 0, + "ownerAddress": "Xfeeybgj5nhmMhrLRjiiewJgbAWCTmyn25", + "votingAddress": "XvPzXZZd5miE2ShhhwapCRFKaZZYr6DXR4", + "payoutAddress": "XeTpxrVbFAbSCpPQpduztMNFZUBTQ55VUx", + "pubKeyOperator": "17d623a88814eee98a9daea391e3b799a1caceb8f0e3553ca9c2cb86826a4c9f680cd9d40e3e0a3a63e1e4f2d9fd210d" + } + }, + { + "type": "Regular", + "proTxHash": "641d46f462a7070594b8e8dd1645e21cc53d5d1cff1031bfeadf9e9952521637", + "collateralHash": "34d41a6218349b08ef2e8848a246bf627b399909fedf8a1131a6f06d356c943b", + "collateralIndex": 1, + "collateralAddress": "Xjd6WPhU3bCKsfZ6R8dz11Qz1ChJBe43QW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.131.90:9999", + "registeredHeight": 1434720, + "lastPaidHeight": 1983058, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "XofCpF5Tf39yCvwAa6BSFSubhJ6TiCMoDv", + "votingAddress": "XejjzGJyQz7cGD4z1FHtZp6xKbWDVEWjdP", + "payoutAddress": "XfhcM8x3eBNYSbDuoK6zC2QZUiG9BchNdA", + "pubKeyOperator": "07cabe11262d229cead36a97b894a864d22382ebf481b34aa6d1eb0553fa1f0a7e75a1543489ae8f839578058a8b28f9" + } + }, + { + "type": "Regular", + "proTxHash": "8dfc25f8f5c7cb73d46ea6f3800ecf5ca8d4aa59e415738ce69d5762dd5ffddc", + "collateralHash": "4f7b1a1a00a40df411eed6eadbfd0f0ca246f85a3639ed84c7ab233e8baa0e04", + "collateralIndex": 1, + "collateralAddress": "XkgKnc8nWhgTudv2T8mzBCZ4EZ2APEVAmQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.140.79:9999", + "registeredHeight": 1434723, + "lastPaidHeight": 1983078, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903506, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "XqpQqX1EFpF7gbG2Cjk3G5Zyf1GcipXcQu", + "votingAddress": "XuDjGZFhcqXunUmtjB8ScQj6bQp8XmCeJk", + "payoutAddress": "XvmWm5fVuX5KMb79pjVf7mBmk8VuZPvrJa", + "pubKeyOperator": "140f9eaccec588d1bf8d19b61783e3fa3108f72b4c0d5ffadedbde40056e8a5a9bc99522be2908cbae56425a5b096fbd" + } + }, + { + "type": "Regular", + "proTxHash": "7d8cbe202440dadcf2592a3c1786bc6792832ff6e3697d27585cb3adbd9272f8", + "collateralHash": "a0f7e39ed789f9c317a4fa4974aae61aed3a257f97fa3d9a85aee04fa78e0ec1", + "collateralIndex": 1, + "collateralAddress": "XbLqFiPWQi4yxZisKYg6Cj66cq1yXotwqf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "140.82.51.154:9999", + "registeredHeight": 1434726, + "lastPaidHeight": 1983082, + "consecutivePayments": 0, + "PoSePenalty": 3993, + "PoSeRevivedHeight": 1903507, + "PoSeBanHeight": 1985514, + "revocationReason": 0, + "ownerAddress": "XuBWgdwoL3yFoxwUnfoCZfMTDLWNpVNjhn", + "votingAddress": "Xqh9dwheXS4ZoY7PEPHBJXxBUUD3MC5i7f", + "payoutAddress": "XugyfpJcDVPmzQTT5UYKYVcxFe35NGWj23", + "pubKeyOperator": "93cd3d69ed93f52a02053a827e694798738d94560c62988c6ce5a66d631c3ce0e18178172dfb244630c31ce6f810c5f4" + } + }, + { + "type": "Regular", + "proTxHash": "93f4a4d224914ecd7546c2ea0d69a24bdd82b89bd6b5ec07989cac22c6383176", + "collateralHash": "9ad2b71e79dcc00a24924a54b2b976b730d87f83a1a0fc6ec476bdf1765baa22", + "collateralIndex": 1, + "collateralAddress": "XiraDfFdtUuVMG5f2i5HFW6xoX7V9rrcyP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.197.15:9999", + "registeredHeight": 1435198, + "lastPaidHeight": 2126421, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XanTbky8WEEhfahUsVqGHuTYzZL2Liummm", + "votingAddress": "XwjfTChaRvisKqd4d8gNApK637xbBvXhKr", + "payoutAddress": "XrPK63t7PhcGhjgcAhAdYvyJDrbSUm1CLA", + "pubKeyOperator": "93eb6685495987279171cca7537c7a41554ac8b791f75e1c2decd8a80125cb3d8fb08745878b763e81625991bc37f6b2" + } + }, + { + "type": "Regular", + "proTxHash": "4774941fbb47fd7f3cc9c5e1707336c60d26348485716795912338e7317d55e2", + "collateralHash": "3e890cec7037b705f817343c678c6225a22b48cbe1d5876b673915e85f337c2f", + "collateralIndex": 1, + "collateralAddress": "Xio5jfpRnxYHp8YYhTBj2nQ6MCpf1TMnQN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.1.213:9999", + "registeredHeight": 1435336, + "lastPaidHeight": 1983066, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "XhuG8TcUwZFxy7VTZsgo2JUoQCjr45gk6W", + "votingAddress": "Xoem1pXDsWk52RwakDJJtWMqxF6mDDva9X", + "payoutAddress": "XrKuNcenGxmRcHTEMtKvEt76xok9jvWEeA", + "pubKeyOperator": "9182ac5eea3b80e79789b67bba02a4d550a95286014344b945d210d3ed862f00829985d3f6af2e7f1ee6ed1ca9f40e80" + } + }, + { + "type": "Regular", + "proTxHash": "803ecde675e03eba71a7b9329c6966182fe9627bce49fc4af1c6aa25cd722b27", + "collateralHash": "cb473ecaffccb4e08f78241a5937516abeeb94c3623944a530b1a5203651bd65", + "collateralIndex": 1, + "collateralAddress": "XvniDikjdUt7omYb4ppPG4NxhWm8weCfPC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.235.93.49:9999", + "registeredHeight": 1435344, + "lastPaidHeight": 1953884, + "consecutivePayments": 0, + "PoSePenalty": 4158, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1955850, + "revocationReason": 0, + "ownerAddress": "Xo8VG8sswhohZGgSwpuq6PiZvtPVoTQpxC", + "votingAddress": "Xkunz5Y3ExdhA3CVqv6NWvJqvATTeuSEKX", + "payoutAddress": "XtDCAGWqwFKtucefzTkQF99Z7AEMebzw2E", + "pubKeyOperator": "0cd6ca6c7e2c9d6d100db78101c33fab5cf58239fe363bac101b80b22995749421f3c06954efa04426801388f0d9b49a" + } + }, + { + "type": "Regular", + "proTxHash": "2c1f5e9144d97f8e2eb2fbf639319647d2e253978632bc43e7bebc5804449f91", + "collateralHash": "4f186bd22786a19a7c1175fd224dffd874a87127b2e7a561d66715b8538cf850", + "collateralIndex": 1, + "collateralAddress": "XbWeDwntRzTKXh3FcFR4wkUD1uTdVypsNL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.218.36:9999", + "registeredHeight": 1435345, + "lastPaidHeight": 1986530, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903507, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "XifGRqCw4GtmtqgZQbD5bYQD54jiKAgi99", + "votingAddress": "XxKGLC43hHrL1cUgJAk6tFFr5oq7K8we3Y", + "payoutAddress": "Xc5bvjwsa8kGDvmFoBEnxX8Z5o7kETGj1L", + "pubKeyOperator": "842197264aa83c06a1270f4dda51fc9bd0f25bfe33bf7257fce40c1f04d782e3aba4bcac84c3899bf3a032f1f5dab1a4" + } + }, + { + "type": "Regular", + "proTxHash": "eff96da2e409c4dc424c571c403b7077afd15861d8f5710bacc2ef0bac4a0541", + "collateralHash": "b1c05539ea601be94fb8d2ddf287912e984d22f8d22556406b0c66af68f885c3", + "collateralIndex": 1, + "collateralAddress": "XhViQCRHf9nCxWY7u6LnShyXKTXQmKuQjo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.234.125:9999", + "registeredHeight": 1435351, + "lastPaidHeight": 1983080, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903507, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "Xgdq9Ad38k2mxE2WKxNHu7fW6bNgxFK9UF", + "votingAddress": "Xu9WpJxAjhPVTXggfR6jjE4UdwQ1dwVrp1", + "payoutAddress": "Xgx9oCNzeUqL4zMjZDGa7gJ2w4UkYHqQdh", + "pubKeyOperator": "8f7baa1d385a93041e2236d0fe0e48d159ead6304004617f262364da03d1cd6268cc50be0b98c41c5cad37e84994ed45" + } + }, + { + "type": "Regular", + "proTxHash": "71efc64e14126d11627120a56373b1ba248edbbefa94cae2514a0203bacde437", + "collateralHash": "219520fdd90f0446e94d75a471cfed72c483a2a13eeed809f12647eb65c2eab1", + "collateralIndex": 1, + "collateralAddress": "XrXwDz5YphLX7yeZyLg5YnAzVyNbdJG4cY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.235.85.185:9999", + "registeredHeight": 1435370, + "lastPaidHeight": 1983059, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903504, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "Xsyryn94tKTrSGpJ81t84goD8YpsmaiedS", + "votingAddress": "XavrYZm43DKMyPS5JQ9EWpCN4VjQJv8Hn6", + "payoutAddress": "XvzyMJWgstDhFBAGo7K3zLCnioDfdsZKVF", + "pubKeyOperator": "0ce9ee0275ff80d2fd1e44c387ddfa1c07b9c8f7863fb59782020abb35f40468fc59270afeee85000a2c0b2fa9f5d11b" + } + }, + { + "type": "Regular", + "proTxHash": "513ed7be63657884fc660538e017b2a75f5c7eab28010b4141d4f10aab49ad17", + "collateralHash": "324f2be875bdf45754fcf6859e4dc4782a3c79c563013f84ee6c988b5599062e", + "collateralIndex": 1, + "collateralAddress": "XjbmiMuCEgMLWuXDusCteJ16mnD48zLF2z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.235.85.53:9999", + "registeredHeight": 1435373, + "lastPaidHeight": 1983067, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903505, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "Xxx8aBu1jN3uWJr6LDWhvjhL1LA57RvL4j", + "votingAddress": "Xcfwjmdd25PwEH8q4jz5Wyw2HtHQHvWFU2", + "payoutAddress": "XnxtKSo7xoaiEFPwce91rhancF4eRnuVVH", + "pubKeyOperator": "952cd22012a638b771d91c24636d48b9573463ab9f09fcf0744371199fb5e0454b05255ce6d4252876e3c58f51cefd24" + } + }, + { + "type": "Regular", + "proTxHash": "1b0d1f8cd66a7a7053214c8bdab4aced2c33e6df43c81b66cbb4cc178f1ba4c4", + "collateralHash": "4016d5c6427e8cfbe5eca213008477bda6b74cc05b1360227e00e99d7e2d0c9a", + "collateralIndex": 1, + "collateralAddress": "XbJGQm6q1meB1AuUrpSeC7FpjUNFBArFY9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.235.85.241:9999", + "registeredHeight": 1435379, + "lastPaidHeight": 1986529, + "consecutivePayments": 0, + "PoSePenalty": 3975, + "PoSeRevivedHeight": 1903506, + "PoSeBanHeight": 1988394, + "revocationReason": 0, + "ownerAddress": "XtEuhxhzxqxPQugA2WqCYEYj5dcke9ZpzF", + "votingAddress": "XenENipcXToRgAwP4bZZG2crXyUrdsa51r", + "payoutAddress": "Xyku4EQj2fzMVJHAXQkJ4XpbFG6zAE6Cnm", + "pubKeyOperator": "92c40af38ae4ace7d9c0aec4847b19d30e3f76684d117732d2560a4335786993b4125f700b5b69da4de38d977db70f53" + } + }, + { + "type": "Regular", + "proTxHash": "69796014597450fea4e6e0524cd48d1d3d6275b1c48be29a3f55ac70f4261a0b", + "collateralHash": "db797fd95729fd4cebfb5e8ea90d6f067832962911c8fc7091e32caac81a78c9", + "collateralIndex": 1, + "collateralAddress": "Xk7WA3h9utN2rWWWdd3NLyFdUGkGYDJgA4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.184.90.89:9999", + "registeredHeight": 1435381, + "lastPaidHeight": 1983069, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": 1903506, + "PoSeBanHeight": 1984939, + "revocationReason": 0, + "ownerAddress": "XumWdN4dJvunj6hEQ1vM4ZfaernnVbJsXq", + "votingAddress": "XsTbrfRDR5S3kkDTK4VM2cS9m3EKBTycY3", + "payoutAddress": "XkS2kPjsbyps7NiUtcjmgEiLyeNRhFMAyr", + "pubKeyOperator": "9441048591ec12d10ac463fb86f9778f79365d06058471ef8239cd20282b754b3f4be8c594dc7341c07a72bed6841a3e" + } + }, + { + "type": "Regular", + "proTxHash": "bb6199e76618c98a653f7c9dc54761af16384023a6f044dbf7ec6265572bf625", + "collateralHash": "55bd896a8f810a1d9df0ee94fc72a5d46af0e5799172d7e84b42065c0fb51223", + "collateralIndex": 1, + "collateralAddress": "XxfrsC9YgdgDhKq2TrjKbpydG2C7aq1MrB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "107.161.24.90:9999", + "registeredHeight": 1435384, + "lastPaidHeight": 1986523, + "consecutivePayments": 0, + "PoSePenalty": 3974, + "PoSeRevivedHeight": 1903506, + "PoSeBanHeight": 1988106, + "revocationReason": 0, + "ownerAddress": "Xoww2qPmUGNW1FAJjAuZJbW6Y71DsuxwEV", + "votingAddress": "XmjsaM6pwAUbdGARg18bZCrLesi9Z5PE3J", + "payoutAddress": "XjTMAMERZtyV7b1K26rthn1krz6iKhZE6g", + "pubKeyOperator": "05bb77da867f173038ba6718e1a0bfe7ca728fa54c529f99a442c31c6db6e6872ac49589a558fc6a3ea1c13f3fa46a3e" + } + }, + { + "type": "Regular", + "proTxHash": "2e0d863f2c524a596c5e78eb67e70d1c625c14adece64a8e9f3a4afeecb818cd", + "collateralHash": "d3073f2fccd6d88da5e1b1739352605fc4342791b99fd714751e73cf86d553c9", + "collateralIndex": 1, + "collateralAddress": "Xh7J47N8bhmek7tJZSqS6qVtTaox7zsrkf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.184.90.205:9999", + "registeredHeight": 1435385, + "lastPaidHeight": 1983077, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1903506, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "XuaTJX98kCcSscgc4E2i8nAdzoNRVfXz2x", + "votingAddress": "XeokxgqCng7hLVQkcpt4YtW4J7bh1BXMjR", + "payoutAddress": "XoBBpctanzs8JyZtGyAAnqu4vGhsJcn3sp", + "pubKeyOperator": "8561e8939b55cd83a1e52cf31760d33f19dc6f890b7b528e8d76d56227cbdd52631aa2ed1752d9a0be8d54b4aca9266a" + } + }, + { + "type": "Regular", + "proTxHash": "13bc6b5a424a21dc3c730f522bf23bc630f1c0205364a34eb9e324b11c3a313f", + "collateralHash": "b35dcbf6e174032051be47ece0a67eb19e7947c251b95e6b844ef9cfbeef628d", + "collateralIndex": 1, + "collateralAddress": "XoBqEL9QApQjxb3E9EcfHxRh1FTVnCGfij", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.235.107:9999", + "registeredHeight": 1435514, + "lastPaidHeight": 1983079, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903507, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "XfRmAFkDX4JyCTAcGBwu3LSwiEosZ9KHKu", + "votingAddress": "XjweaSiMtDkzDeBDcRDX88Uc6isutaQEZp", + "payoutAddress": "XxNwNjoSm4Z7kfCphS1MQq2JtxnSrpm1Cz", + "pubKeyOperator": "805e0ffcc5cbbe58f22809b05863bd444183c397db383e48068c95401f8f647176426c93c39254d3652b21afa5e95640" + } + }, + { + "type": "Regular", + "proTxHash": "f204cd6cea44ae0eab3665e6c0e591599d427fd791334817f8455509b987fcdd", + "collateralHash": "b1a8344a6184eb1b5943c3a72699c0a0e0fd3633a9e60969a4897361a985e001", + "collateralIndex": 1, + "collateralAddress": "XtrfaKP7PHjZMXPvN7SneZSWEQ6FxgZT9Q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.184.90.234:9999", + "registeredHeight": 1435517, + "lastPaidHeight": 1983188, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "Xz251tAPu4JGKjftJrrQDhj8Fiq4s9qgCf", + "votingAddress": "Xeak6zfSJfeXm4JM51G4gefbxR9bX61aaa", + "payoutAddress": "Xm5zJehhfxS7Meut5kperkZxTqPR8zGknR", + "pubKeyOperator": "8926a8377cd18bff825edf92fbbd60830c32556c4ee1fbae09036baf5c41567ccf8c6fdef5395c0d45c8280a8dc8dd23" + } + }, + { + "type": "Regular", + "proTxHash": "e2ade3ba1b7058cea09237f04fa0ed7116f6ed23a692526e055d72fb8911f12d", + "collateralHash": "5365857f809c1836861325d33816d55270f42baf254b6a34fc6d85f65a8f57ea", + "collateralIndex": 1, + "collateralAddress": "Xt3hHHtsEYjxxjyxpFPd9NJ7A9XVyNC4Da", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.184.90.215:9999", + "registeredHeight": 1435821, + "lastPaidHeight": 1983168, + "consecutivePayments": 0, + "PoSePenalty": 3993, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "XvwYiESpQM1up8F9zh6pVVLFBbn2ypXNrp", + "votingAddress": "XjGtyBzcdJ72F8kZ4Voy9XpJ3C45THNUMa", + "payoutAddress": "XjiPdpDXPGARitCa59XwtZxQ6GQZVLdtD6", + "pubKeyOperator": "96f1c8fe7307b68794c69d7c7d9bf4cea72ff9003a6b0eb86dc04ab8cb230123a15d5c48d217efdc7c85ee7857074f93" + } + }, + { + "type": "Regular", + "proTxHash": "c0e8c3a4a17ae05fe4a71ae493afc8f4dde83a6e5e466653a8780cd108d18b97", + "collateralHash": "2dd25f989c35dc33a1159848b63af534ebbdcdb1d6ae5a4cb44c9bdad312826d", + "collateralIndex": 1, + "collateralAddress": "XmaL6P9PcAjgioiGq1KqR1uNrtYrsTNXnR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.33.35.107:9999", + "registeredHeight": 1435825, + "lastPaidHeight": 1983177, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "Xar1mvG6AXfkWauopp5er3MYqDEWk25KJj", + "votingAddress": "XwquaCFVJpSr7c2TCBT4DoKheuayC2zAWY", + "payoutAddress": "XfBta5v5ponbCbpkMvvHM7UoJE5KhH6d8i", + "pubKeyOperator": "966aa9dd1923ad4239c067711b3b57a0606bda397b8475e3e9870a5c8455eee5aae726c3e00919c923b2cc2bc3199250" + } + }, + { + "type": "Regular", + "proTxHash": "b3d2a4aae646766732bfc675275934e27cc969a541c724446b93889007fc3804", + "collateralHash": "f5a7ee8942d8ba6461b843dccb51b541000892f5afe06dd5e8040bb2924a348a", + "collateralIndex": 1, + "collateralAddress": "XsqsyYsk9BTxKsTdR5CLe8tL2ysWcWV2yw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "50.116.14.183:9999", + "registeredHeight": 1435829, + "lastPaidHeight": 1983165, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "Xmw4eCuqEU7mpJth6nQjHLbj8ZKF1u4FAS", + "votingAddress": "XpeenMFUewjvvSZbxrzFZjcbJQ1MDsGA6C", + "payoutAddress": "XrCKsbWwqyKUfkHNN82dN6JyekYnB5QA8F", + "pubKeyOperator": "02e2dc7a4b6e50fa3a6bc62d5825b44c59497e8a07faa9aeab496d67c662f8733ec2a98261b240c69083f30ba32ae4dd" + } + }, + { + "type": "Regular", + "proTxHash": "542e208d5b04195759f955ec99f0f26fdc93dd56c9468b25c651a1722639a675", + "collateralHash": "2c9df8d46087edb6eb7319e62705beeb287dee80229cbe309d1bdfc8974aa39f", + "collateralIndex": 1, + "collateralAddress": "Xm8aPrfuQzMo4cAv864yGmWt4AhK9prUHJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.175.221.72:9999", + "registeredHeight": 1435834, + "lastPaidHeight": 1983171, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "XqG48hVe7ncU6CiUFEyqQeyfUm84qF4e71", + "votingAddress": "XtsjNvJnpkbqRiRcChR1GBcaN41XM5mFez", + "payoutAddress": "XgbHUFaG61ejivAw8St1LyJpp4N7hcuPEE", + "pubKeyOperator": "156501a4ff7fc29cfe8087f6305fe269fee1dee006e88bae109411be85cdd2df53f73d0e9081decf869d894348b71da7" + } + }, + { + "type": "Regular", + "proTxHash": "819f8a5aff68f67e2fc7e83149bbf1eb15cf5e8ad97eef64ca9d1ab8377382c8", + "collateralHash": "6d69a5e4d911f76d26abd6b92becc5a1fc505863d23abb479b3a62f3d0a8c082", + "collateralIndex": 1, + "collateralAddress": "XcqR5dzFRRdWfMd2upZRbuoWYhx5M2qo8N", + "operatorReward": 0, + "state": { + "version": 1, + "service": "50.116.9.253:9999", + "registeredHeight": 1435840, + "lastPaidHeight": 1983184, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "XxY1MmtbwceMdpzN32VHW2yvTPxBjCZBkR", + "votingAddress": "XrkpUr5AK9TF4f15t2EjoaAzjJQvwrgLFW", + "payoutAddress": "XwRNJeqQKx1LvN3T7U863EZvYTwpZcWJWA", + "pubKeyOperator": "16ad3bbbde95a6f23fc72b1f6a243b37bdfb09675e8e805c43e6bfec8073bbd217c30dd11673f1f59b5a688322594071" + } + }, + { + "type": "Regular", + "proTxHash": "30e4b671e5f434ec184f136f80a48333c6203a3377f066fd913eeca9102ce456", + "collateralHash": "517df76107ad3eabbaa1663e01700beb5e69f6e6d60c9c5bf9c8925defc14007", + "collateralIndex": 1, + "collateralAddress": "XrsV8JCX6fuq1sP6oTPTvjfknuCQHS9VQd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.56.82.126:9999", + "registeredHeight": 1435842, + "lastPaidHeight": 1983170, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "XqeQNs6YXYfCdrDqYaTUeoBz4bPcgo6Nkq", + "votingAddress": "XvPgvgSi4nkHSvBFZy1xoBfwG6t5UpFqaw", + "payoutAddress": "Xq5jozwuHjqyg6rBwFF9Pi3uHCQAM63PMm", + "pubKeyOperator": "92ee9892be1809fffb65b39a1e7fecc9b433828fefba2084102e42336f56d9e505a4379203c65b6c6625533e4dc5d027" + } + }, + { + "type": "Regular", + "proTxHash": "3c9b7bf18d68b021e1ec838f813456453ca770c9f81cb4184543a78dfd1c50b8", + "collateralHash": "0648c9cb1e17394285dcde49e78d5b919c2fd341005384f1247ad1639c2461aa", + "collateralIndex": 1, + "collateralAddress": "XfJK9UamZB7f2pahZtbfQipcmhPGPXLxF3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.79.74.9:9999", + "registeredHeight": 1435881, + "lastPaidHeight": 1976031, + "consecutivePayments": 0, + "PoSePenalty": 4056, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1979466, + "revocationReason": 0, + "ownerAddress": "XfbfwZ9EpYryWg6ASArJcouHsrok2hGBo8", + "votingAddress": "XhRV5ykFNhHVd9J7oafHBAQtpEpF1tvSw2", + "payoutAddress": "XyEx9AsgjRBHpr4dmrVYwsTXv1JYaRudEx", + "pubKeyOperator": "8f7242bdba0921c2418d4e3be676e320c0ba9ea86b5d185dd1dc1e665587925086e8bd0de4473f9eba0f1487ddf81f86" + } + }, + { + "type": "Regular", + "proTxHash": "dbb88c01016f3f1a201b2c7cf4b2f87b1ebf984b325c28543e7b5ca434fdf725", + "collateralHash": "909bb1ab766802c346bfd0a8e091efb647bbdb990f7eebd80dd1b80b491aa9c9", + "collateralIndex": 1, + "collateralAddress": "Xuodtj2qVWybzSVGCDfYc5Wdcx8aAvCzpG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.33.61.249:9999", + "registeredHeight": 1435884, + "lastPaidHeight": 1986608, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "Xk21hpW9zfFgKepLcz1Mmb8DNtGHn8GRv7", + "votingAddress": "Xubi8UWQE2gfFVftpmALn4nYWvRwjuKH4E", + "payoutAddress": "Xy7fyj6xgUWpRupedkAwJn6d5CLMbErQAQ", + "pubKeyOperator": "8e18bb44f5297984e6030a13caeb4b2452a9e749ceaee6c2567df6c9b8dcb2f8e6cfe64f4f0a73d3c0d3a0364ee94357" + } + }, + { + "type": "Regular", + "proTxHash": "f601830a7986b325859e6714d63da51ed92c7c6c09c3fa6fb7eb9b7aa1e79453", + "collateralHash": "df892b176cd537552e8cf9a8ef3d52fc8d2a942ac831e1c76d2477298229aaf6", + "collateralIndex": 1, + "collateralAddress": "Xn6kS5JXNKwKPrqG3cywzGcZ16oB8GVdnK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "74.207.244.193:9999", + "registeredHeight": 1435905, + "lastPaidHeight": 1983169, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "XtV7YqUUs4GAuVqK1WCRobuDLj4HPMMSoK", + "votingAddress": "XxoZvC523JP6GfmSnfj6HDrwsuzHwMTCZm", + "payoutAddress": "XnwLnR5y3UHc957ZbeSjdiDZretUTuJQxQ", + "pubKeyOperator": "8017a43a2e80050f13e241610bb8221677df653f849086fd03808ca6483b26e413b73639363b14d5b6a055e9348c747f" + } + }, + { + "type": "Regular", + "proTxHash": "c0d365b9d1722f66f463e7711fdf01497aae132d1d507faab82076c5ade7a6b5", + "collateralHash": "2a025986d31e3c744bbd2e7dcfc8039b3a4436347a578b99e6976c7644422772", + "collateralIndex": 1, + "collateralAddress": "XsKnVniyEYCzSYqgvDJDCGt4WQNJhF8asn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "50.116.2.68:9999", + "registeredHeight": 1435909, + "lastPaidHeight": 1986611, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986954, + "revocationReason": 0, + "ownerAddress": "XcqHvJWfJNsh1jfJ6PsCBkxUYS7pnfB6Lz", + "votingAddress": "XbB4eJZk17L2tD4K6YK42cSruhUbtyT92D", + "payoutAddress": "XtxVVLe46rW5mzJUnE7h6PhN7VdhF8PZa3", + "pubKeyOperator": "0f5949e8d4a92e27762486377abd7866eb0907087fcd4c668629c4fc66a27c2f425c909c547bfb14a43a783de6db2391" + } + }, + { + "type": "Regular", + "proTxHash": "f777343fee910cfa4f186a9ce58914366c96d1dec38cd87c9dd047288802bbcd", + "collateralHash": "81f60f9e7199b75d7a7495badd27f1454889114faf5d4c2cb60db26f2f5a7677", + "collateralIndex": 1, + "collateralAddress": "XxXLtoU2zhK2YFnXMQRRVAbMJWKkxWwUDq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "173.255.214.229:9999", + "registeredHeight": 1435914, + "lastPaidHeight": 1986614, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "Xc7427a18pPwV5m55tNLKPFJPnSQon14wp", + "votingAddress": "XgRMNuwkcTuyuvZDW3vfc1fZkaCCEFc8M1", + "payoutAddress": "XhzjFuVfC1Cqa663HHuQq6u4ht3txRmCRt", + "pubKeyOperator": "90caabaea72e98a546d9ce934a57ac80f40a5f256b220e48dd3bd5644eb70ae5791067effb5a83ad1775032d1e0e54f7" + } + }, + { + "type": "Regular", + "proTxHash": "bc1adf3d1d6418294a11a3e8a90ab8480cfe900156c361de8d77b047c5b5d0c1", + "collateralHash": "2c2a11ed2a4002b9acbe53583668342578edd61ea71c8671ee8b2b4ac45325cb", + "collateralIndex": 1, + "collateralAddress": "XjJ9H6dXKDVmhVLgc4jfo3xFZn4LZeiTpn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.233.179:9999", + "registeredHeight": 1436008, + "lastPaidHeight": 1983183, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "XvVP3CvRJi1mPTWqM51cHPRpb197RHBGcT", + "votingAddress": "Xeq5N6Cq8hirRt9i7dZZQ2EFF8dihMWMSS", + "payoutAddress": "XiqSF7g9vM1nfPUXjs5Ccg4rn3vXknmx21", + "pubKeyOperator": "13d6c8e3b6eaebce13902ae15ea512baa98e7a0fac9ad24eb49275a5bccbb550b5261203065b7b5b00a9de582a8ab7ae" + } + }, + { + "type": "Regular", + "proTxHash": "07a627c2f8d93edd04362bab6792d3ec937e2df4af049bee1c31bbcfdc921b57", + "collateralHash": "309fed723d6e999904b3aee280c1514d2a99967be531f4ff8ca4067f43e0714b", + "collateralIndex": 1, + "collateralAddress": "XfgD1ezApenzWchZnMpjPQF9ksCN9gX4LQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.198.248:9999", + "registeredHeight": 1436010, + "lastPaidHeight": 1987127, + "consecutivePayments": 0, + "PoSePenalty": 3975, + "PoSeRevivedHeight": 1873107, + "PoSeBanHeight": 1988970, + "revocationReason": 0, + "ownerAddress": "XxsqU1L95KqL1nnkMo9mNAH5vaF8FnVzDf", + "votingAddress": "XmqUAPUUMSgiWGw3ETkN7bPtHtdFKB6egD", + "payoutAddress": "XknPp3S7hE7TtbbdZXyUr79jxmMMZGx1TD", + "pubKeyOperator": "84188a0e1e8ad3759108edb6086e597face6de945ab12193dbf70c63f093b87b41f453f8940acb8ad9d1b42638c6f4aa" + } + }, + { + "type": "Regular", + "proTxHash": "5afdc63f082f813e1d6952683690c8c10c4d2b3dce7d05df6dca301cccf23fdb", + "collateralHash": "0db7970d4dfc1845c154c21b5bdb0117a276e3522db7fa16caa873de6ad3bcd1", + "collateralIndex": 1, + "collateralAddress": "Xv7ngAN34Crmwm19QU595tbp9coynFHdS1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.233.195:9999", + "registeredHeight": 1436019, + "lastPaidHeight": 1983187, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1985802, + "revocationReason": 0, + "ownerAddress": "Xw6TDwVbUBUQ8AT7Yt96Bw9aHUwpDdM4cQ", + "votingAddress": "Xk6ERawsDUqKHjMYTZajMKxMdHWsTxEKhk", + "payoutAddress": "Xnm9imi7ZM8AweY8btS7E64tuod76uP3WJ", + "pubKeyOperator": "87911e3b9a0080d4968047c808f1e5b08baeaf27c33f6339e7e28df92e93316df8096409f8ca786a74819793efc0196a" + } + }, + { + "type": "Regular", + "proTxHash": "e36a47fffc32a81f63e02ed49decc2dc22cbbc15d18ca63d0222689b937583b9", + "collateralHash": "1aa7ae218f3993f20fdc775e68c97ba0791adfe39da6e19771704bc659a6b65b", + "collateralIndex": 1, + "collateralAddress": "XwwzNG1yDvjUGJAk4CCK412CkX1MPbfZw4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.206.248:9999", + "registeredHeight": 1436050, + "lastPaidHeight": 1983181, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "Xx1RMsxRacdkCKCAYHL9J7PVQM8AmY6NnN", + "votingAddress": "XxBZexeKKyHLmngHQGhKYzhTwzLxJQxp97", + "payoutAddress": "Xco3WPeavfTyXLyN9qf1nRjWkzJ9PGEtCd", + "pubKeyOperator": "94e2ce74b9241ad6ed5c072226c5b1d38792d4f28fb0de90adc7d4edc764e845335122bed789152cf73eb4faba1e5dc0" + } + }, + { + "type": "Regular", + "proTxHash": "2dd4d1b3a3a93badd14daadc98e377b1f551a461c803d3021919ffd955a176b8", + "collateralHash": "70c309dba705aaade1ebceeda921fce1a835d18dd000478498981ec91f3bac29", + "collateralIndex": 1, + "collateralAddress": "XqEDqghUnW9ATKWJLhgu9gXjsMMjJ4T18h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.211.194:9999", + "registeredHeight": 1436053, + "lastPaidHeight": 1986612, + "consecutivePayments": 0, + "PoSePenalty": 3975, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1988394, + "revocationReason": 0, + "ownerAddress": "Xh7SSara4zuojCHnF6TdQczCPAwV71dtci", + "votingAddress": "XirdFSHqLe4P8To4BWpC1Ru9qb433mAasb", + "payoutAddress": "XjLZuQHXc3buVqMd4Te3vc5i7K5jyheikk", + "pubKeyOperator": "8e896a676903dc7c18cd00b33c3b1738260144760269a810016e210cf97ba7d9a91199416ab0671500315dfa626ca8c5" + } + }, + { + "type": "Regular", + "proTxHash": "743537e1207f4da16da7e7ee119e02bdf7c7bb8011be6d283eaadf39a037cb86", + "collateralHash": "64c2c57efc3d48fc39d60ed4b952e7cfeb2a389086d1c70d235872e63c2c8bd6", + "collateralIndex": 1, + "collateralAddress": "XmbLBmNniya3S2pzvbvPkAjzEWApuTsZgb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.222.194:9999", + "registeredHeight": 1436061, + "lastPaidHeight": 1983172, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986378, + "revocationReason": 0, + "ownerAddress": "Xv2oocVANqrhRkm6rnP1ZNrLjnHfqG66gG", + "votingAddress": "XdGmsogeCkK2npPwD2Y1oRNpoxUr1ZMC41", + "payoutAddress": "XfVZugqYHYo8ZVgp9vA2x13tDn8fhDnJ5K", + "pubKeyOperator": "848bd673b9fd1fb4efdb143ffdeb5cc9dc52583c3373df42f9a48846f8afe4ea545cd0d17153f00afa257cd6bfc408d8" + } + }, + { + "type": "Regular", + "proTxHash": "21173e00737bac467d09effb15959d0459b853160805057a3975436d3e206591", + "collateralHash": "1294ac5f1e464fbc64332af0942bba594efed9e53f6880bfc9705b6bad3e60af", + "collateralIndex": 1, + "collateralAddress": "XjZuqXMDymX4LWjHNYFFWN9eZncNNispKP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.224.93:9999", + "registeredHeight": 1436065, + "lastPaidHeight": 1983175, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1984938, + "revocationReason": 0, + "ownerAddress": "Xe65r5iJ7zqRCNewa1x4W5tVeUCznZgo2n", + "votingAddress": "XcDdFHFkLngSQiyrgcaqT4fK6WUDLgUsyX", + "payoutAddress": "XmasY5DRgWJVxPq3YVrjbfmPswdvRPyqrs", + "pubKeyOperator": "06751fce6e44b11cd84d31f8842f2f104d0a40b42654a62f0a245525280b4a6599714e2d4fcf59151adf99cb11456db3" + } + }, + { + "type": "Regular", + "proTxHash": "4bf630f6bc8fc35c178e582329893e0893c653d09737f813b97af643e92107d2", + "collateralHash": "09942427ac74c3436334203e4620cb5d7bb6ee8f51517d5a63fb0d8f847447f8", + "collateralIndex": 1, + "collateralAddress": "Xaz1z7KsYLX8fM4k3u1fSecyEXs9ZJFv1E", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.241.212.62:9999", + "registeredHeight": 1436068, + "lastPaidHeight": 1986615, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": 1903593, + "PoSeBanHeight": 1986954, + "revocationReason": 0, + "ownerAddress": "XvUbLJL8CKjSccfGJe3xjVZWDue4uUxMo2", + "votingAddress": "XdkvqnNGMTTXMJmN6NGTQtQRt7vD5ysUhD", + "payoutAddress": "XeWx4f6brqAEd7k7s6mos82nFswCRfZE7p", + "pubKeyOperator": "14eafeee61a0fb6687f630879c084dee11186918c4a55b3c69e3cde038191dcef12aa8ae7bca0d6850b31bb8da6f1f9f" + } + }, + { + "type": "Regular", + "proTxHash": "8acba4eb45d6962723c0da951c0c398bfd156619483b2f043b7fe729d5903ab0", + "collateralHash": "f7df57525d6abfe7f64ae8b73f163b5188fd173be2a1485fb135b2c41ba8ee0f", + "collateralIndex": 0, + "collateralAddress": "XcFfgmdpmU44NZ5RLWwMhfeKhyS5drGkhn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.156.38:9999", + "registeredHeight": 1437640, + "lastPaidHeight": 2128788, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936983, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xoh9uDTpyKmj9n8z6vkr6g7w9mCMe5NkEy", + "votingAddress": "XkCWkx4cQVpf2hdzWCJTh4ehDteeyXcjvD", + "payoutAddress": "XcFfgmdpmU44NZ5RLWwMhfeKhyS5drGkhn", + "pubKeyOperator": "0f3afae8c4783163fe2d04ee024fef55edcdf4af529c39f9212cb6173687d2ecc15b99642e9cbeabda5d81d0d30d99c6" + } + }, + { + "type": "Regular", + "proTxHash": "c09b7d1ff2691eaa68429746f7dc0bc69f9532f8a5e9f9b0a2bfce51c9d777c5", + "collateralHash": "6492edca523ccd064658f95919c90992afa0df9ac66ab435bea8f4f23c805aaa", + "collateralIndex": 0, + "collateralAddress": "Xua1C5f7XY6EihhaWH6x9rAFB6mBtSGVap", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.129.63.38:9999", + "registeredHeight": 1437918, + "lastPaidHeight": 1910244, + "consecutivePayments": 0, + "PoSePenalty": 4265, + "PoSeRevivedHeight": 1906822, + "PoSeBanHeight": 1912074, + "revocationReason": 0, + "ownerAddress": "XdiQS8KhrbrFPuMb1d2Ec8KjzQkmCLQY56", + "votingAddress": "XezEjPSQszC2bojgSajaRLg5o8C8N88KFJ", + "payoutAddress": "XahNGGSn7qPMFn4G3wYcmWbcUgFpNMS2C8", + "pubKeyOperator": "026de5a2ceaaaf5cd3b89d67b2baf6097944549895a8bf7d13a011587d3beb3e05f1f94735da1116bca5b80d8828f79e" + } + }, + { + "type": "Regular", + "proTxHash": "0ff436fff18586dbe7cbf0b59805bddb23590e0ebf0bede6166c433243d0d9ef", + "collateralHash": "edeb30202f9c604b97ba00bb922ccfd1ad2df2d67a5764327a48801099970c7c", + "collateralIndex": 1, + "collateralAddress": "Xiu5Lns8cQPzwkVmAtXX7DG521mqwm8obt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.192:9999", + "registeredHeight": 1438674, + "lastPaidHeight": 2125738, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsECXiAqyGSDmXqBW35kvweuhrtBXZBG6R", + "votingAddress": "XqZLhWt994Nc38uUDhonHXtQYUobGuAcZq", + "payoutAddress": "XjyCwst7m1AFKdBsj9JFFt3KhBcaL7PTc9", + "pubKeyOperator": "9089fec1f173a60beaf32b52cbc915b68cce33aa663f1f597e449a4e86e2d1bd42eafbcc6045c59cba624d780483c7f7" + } + }, + { + "type": "Regular", + "proTxHash": "70ba7dc69fccb7eb1a2e351535b89f56d58f9bb731de6522ffa9eadcdc0e649c", + "collateralHash": "6786193dbeb19881436576b9b4a7e93a8614d87ad517e71eddbb08c9ad3b0953", + "collateralIndex": 1, + "collateralAddress": "XvbRd6G8XCoTP1ZmTYps6B8yKCnvE96yhR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.79.225:9999", + "registeredHeight": 1443438, + "lastPaidHeight": 2125776, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbh4drV7q2ZeW9ZizBqEgQPHnnHH94mmVR", + "votingAddress": "XrrEk2hBQzTQcAxbiV8xWSoAvx191Ud13G", + "payoutAddress": "Xj1QjtEsBiQkjVaYfXRJgcwX6HHu8HaiCG", + "pubKeyOperator": "89be3d6605e78dee6b2873f0fb3db02e808eb47b52efad4166ccf47e6542f43e2df5c3aef6fa0d616637b140bcfc81a7" + } + }, + { + "type": "Regular", + "proTxHash": "c7675739086e3d0fb3fadc714b95ab4f2a1542135fd5e2d636e00dfcd5238f0e", + "collateralHash": "a81c46aedff96b154792e3c072def905b96f24d328e1d06b355a8c7549f1b661", + "collateralIndex": 1, + "collateralAddress": "XhyUenTr9JUwCarWyDrnzGkwbrctRreMAD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.79.227:9999", + "registeredHeight": 1443442, + "lastPaidHeight": 2126572, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1583449, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqKbzT7rHpWPAJn5Ys254syUttw6XusMAs", + "votingAddress": "XdZqFsJVbfs8o3qDaiTCvNDfZjx9yGJVpz", + "payoutAddress": "XjCJbgizjbRTDof1tbGoY2R2GN9KRyyriM", + "pubKeyOperator": "960575d830cd21d09d1ea4ac519cb2214a491276441440547472a06eb1ca77604878e10084f3a9b3be7f3c6ce49ad771" + } + }, + { + "type": "Regular", + "proTxHash": "ee5da9a0808dbccce22f7637a78ccac302d8727f51f25a7adbeab3242d4a54d8", + "collateralHash": "ec25d5a39bda92de70f38d459f6749fb6b2babc4ffd9a99a3dbbf89c25d26e53", + "collateralIndex": 0, + "collateralAddress": "XdYWZ1NGm3ifddMNtLJiaEVNDiuBqqEAYB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.33.162:9999", + "registeredHeight": 1443884, + "lastPaidHeight": 2128465, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122166, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjkcXgPwJRgxYAkM5BYjHonB6ZfPh3GDtq", + "votingAddress": "XjkcXgPwJRgxYAkM5BYjHonB6ZfPh3GDtq", + "payoutAddress": "XdM1jHhod729WuhrhqwqKbuunheVU52nKM", + "pubKeyOperator": "11a17a6b6f599c0f083840a5241a8f0dd4e33e0dfbd57b79d47f58892846989293904c1be7df0829e55e56d681b74399" + } + }, + { + "type": "Regular", + "proTxHash": "8d7706f103b2ff6b23027cfb83e8658ed394445a2aef515c660bdc9ae3669fd7", + "collateralHash": "bd1be5c0e1d0f745b3ce73435fc76b9e020a03ab6d173e8cb661dba27d3b198e", + "collateralIndex": 1, + "collateralAddress": "XxbbZCT39ouxVCZ3bbLGV8wf5B3ceDrzr3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.30.189.213:9999", + "registeredHeight": 1443997, + "lastPaidHeight": 2127643, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxxFDVgMiSZAZTUFUwm2pezTehNPwVbNuN", + "votingAddress": "XaoEc8JoLFKnnB2Yt3Rubxxi3iDGW9J72x", + "payoutAddress": "XinSvdZjEqvPDMPhndr4UEXSsrP2BExbsH", + "pubKeyOperator": "958ffc2a6a2af98c4d902deebe9d946c477d901b1fd1d812e3f9ea5cf622762ecb74d9ca67e165719d0b01e1db5ff4df" + } + }, + { + "type": "Regular", + "proTxHash": "914061c38f73b0a5e436f984a783c0b49a8eb91f6c064068dbb31fa9e8ef6d99", + "collateralHash": "2b2a106c8bb773d48a036abfdd4b353ba4eec48d4ccb9918d68aebec82a7ca3f", + "collateralIndex": 1, + "collateralAddress": "Xv6Vb7c2BLWqgXv5aLNCWvLjTewLZLPtGJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "163.172.20.210:9999", + "registeredHeight": 1445740, + "lastPaidHeight": 2127880, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121627, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs37pZ4dvxNDK8q7MpymHhQ6xhbQjzVBic", + "votingAddress": "Xs37pZ4dvxNDK8q7MpymHhQ6xhbQjzVBic", + "payoutAddress": "XhXmLh5niqAarDGx1GHyDG3BdpcDsQmXUo", + "pubKeyOperator": "824b3da399a3f6ae25869a13e26e776d761fc26a9567534c07031bc0e7ebb5473f26a25f9a2b3d72360d9d9b83d8c76b" + } + }, + { + "type": "Regular", + "proTxHash": "e1403c4a55f6bffe248b4be30c2fb9c2c2d7cbea304016badff4c1ba1d2a21f4", + "collateralHash": "16f32f0a8eda575081edcbc49af6d4d871ca1bb07d9d46b976450ce7fa139a76", + "collateralIndex": 1, + "collateralAddress": "Xnv8w3v4HX2P8FbVJpECGw7iU1vuBTdX3E", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.185.82:9999", + "registeredHeight": 1447152, + "lastPaidHeight": 2128445, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfh63zry5LvhXaG3oAYCHcy2CUjzoqXQcN", + "votingAddress": "XmHSan2nwHLVizs16HhVZtU56u5dDivh4Q", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "03080346326dfc221ba7dbf049e706e117e7bf9279e85fb001c92cf4e91a8cd1a5450e087b786c1091d0c3a181d11997" + } + }, + { + "type": "Regular", + "proTxHash": "310ddbe463c8e295afe41c768b21870b2d402fc721a1378d2425b61dd8a9982b", + "collateralHash": "9de269d647751d7e6969d8cecc8e1746c64eb3d5aa6ecf5e35dbf2884f857fde", + "collateralIndex": 0, + "collateralAddress": "XoPVcQv3gpNqaFSVQFzFPpc3VZjSGBdt5e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.71.133.157:9999", + "registeredHeight": 1447154, + "lastPaidHeight": 2128449, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XemkzURN6CZEn6rzJTM82ZiokWYcT7mBwh", + "votingAddress": "XmKrSmpiPLS4Mii8syVzaNg7AYqpbUkX9H", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "062918bb98ed21a7d9421049224c66a183cdcc868f5ef46a3b6689d986fa750e0227981bdb4c15c2c3331b21451e08b9" + } + }, + { + "type": "Regular", + "proTxHash": "45ad8f5c29832640cd7ac4b870e6ed6088d15ab044371fe7fddca8aabeabdddb", + "collateralHash": "5b16d3622ec85439716393914f0090294613ef64cf4ad1bb657d3abbc57645dd", + "collateralIndex": 1, + "collateralAddress": "XyvxwsRKAVCiykwWj77sJFfUZF5DWGAQzX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.154.214.156:9999", + "registeredHeight": 1447155, + "lastPaidHeight": 2128451, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbhvGEM61EQx9Bi2PSDf29QGXCPW9Q4VxG", + "votingAddress": "Xpa9iT9VJgmbyVHKLaq2WVBtFXeDQCAgw2", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "822299ae6dac2edfe9aa7aac1fecd15d509f6cdbe174a5bcdcc206e6c7465a34ff148dcde6678684b5397bb3139fd928" + } + }, + { + "type": "Regular", + "proTxHash": "9e900f5c10eee7cd2388dc53b6ae6f4571ad8bd41e6156100aaa8568eb8b3709", + "collateralHash": "306f9c669cf23f98a6abf528794f8b3cd4b1d7cc730b8f70544d0d44aa702a80", + "collateralIndex": 0, + "collateralAddress": "XbUXF9q93Bzy5MdKJ5HuWMSeRGpmSSRAdU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.77.65:9999", + "registeredHeight": 1447157, + "lastPaidHeight": 2128454, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfSP6AZW4RhbkUbkZNAUAg1Y5Ub4jwfCLf", + "votingAddress": "XquaNS2YCnL8ZeWSF6bFdkMfhTxWGSQMsW", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "1861b0db13f83ca3fc414b17861be323d56fa5adb4270908b259c78551f8cb43f60b35fe4b178f3487da08d060638ec6" + } + }, + { + "type": "Regular", + "proTxHash": "ee2cf947fba74b805d916a3ee2990c2ee5463f96d1fa8387faf3f7c6de6008b2", + "collateralHash": "921e26eb4d103f8e76a704ab0fce1345c8270497390dd6ddcd3cbb165c37ccbf", + "collateralIndex": 1, + "collateralAddress": "XhTqWDsN2ogDj1gv28MyTvQWyddmF2K38q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.110.191.135:9999", + "registeredHeight": 1447158, + "lastPaidHeight": 2128462, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeUu7wafUGLotddVpcPK8L19MTbRxHtJ8y", + "votingAddress": "XvXh42kMYL6g7mSyaE7gwuEGHAwoyG2FMz", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "111739137a8c124cc564d21f57908dabf1e04de2a14afe607b3c4244d1c8a00a5e959eb40764023d74d856b213866dec" + } + }, + { + "type": "Regular", + "proTxHash": "002d824dcc8378525ebc5fe180e92aa133365311bdae6bde31c617ce5f2ece22", + "collateralHash": "32cd3fd009678f8b1132da3cdcf4355b90e35712ea3e924df99db5b880c61665", + "collateralIndex": 1, + "collateralAddress": "Xj45qpTJrAipnWuT8NvzbDfDxw9Mj6m4jV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.4.177:9999", + "registeredHeight": 1447159, + "lastPaidHeight": 2128463, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv8wTyA5NrQzfJSRV1BJin5Zi7EJcgAfMv", + "votingAddress": "Xgp1R9eR8KsqngXDkXR2GFm3a147Dk8zZK", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "029f8216787cf28e5bf9b1ccc1dc439dd1f6d381e029d1b432d083b1e46870f14f1f831c0346c41a280b3e1e5a883db4" + } + }, + { + "type": "Regular", + "proTxHash": "c0e341ff3443ca447234f6d733ae8420e4007cef4450704d490895fe2f6aacb0", + "collateralHash": "c970ef606e135bc26fe6ce7d4afdde1e9ade83664c15650f4805a288a355b1d6", + "collateralIndex": 1, + "collateralAddress": "XjvYwsZLHcYh2aNnaDLxzKqcrL3MnRZbWr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.35.213.210:9999", + "registeredHeight": 1447160, + "lastPaidHeight": 2128467, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnQ3LnzMiCjPEEeXKRW8MptYYgoP3Ake6H", + "votingAddress": "Xd9fbxTbAQ7eqnkhEoLpPCYzV7ZShA1Ee8", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "0a199dca868dd87071c3a5b3e29fc725a1282e0b6a8d5414bd060ced7f7c64b9d53533dee3c73a519a5864dfc42b17e6" + } + }, + { + "type": "Regular", + "proTxHash": "776cbacfaeafd9880d791357c00c5085ddc8d00af507a35dad37c3d0f7a24256", + "collateralHash": "9f27fe637c813090201e2391c6473c66868b8d2604c57af19ccad3253a91198c", + "collateralIndex": 1, + "collateralAddress": "Xjj5jaqBZftAYFp2qCjcmS6asfbeiC4c9B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.122.38.28:9999", + "registeredHeight": 1447161, + "lastPaidHeight": 2128468, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwEnUMSjGrfArJWtQyJLpAxEtaCa7LAv31", + "votingAddress": "Xy4VE4ytRL3iQWz4Qdn8c4E5kFfmVcPAGs", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "1769513e403a05c4f59c065cf69dab2ecdc2c905f21699ce6826a8ae1fd64bc3459c151331322f3112e41af14ad548fc" + } + }, + { + "type": "Regular", + "proTxHash": "c020238bc5b6538297288a87f90bc9083faa5c7ec90997aaf9592a32d709aa15", + "collateralHash": "fb168e7a6790f5672779255ec46ec28816559ec0d855c1de4a7c29f13fcd4f2d", + "collateralIndex": 1, + "collateralAddress": "XiYpEazRQ1uV7E8YEK8zPnpAKYw3HLHku3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.86.184:9999", + "registeredHeight": 1448016, + "lastPaidHeight": 2125746, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xou5V3LVRmMR3tjmopr2EuTzs6Zk3x8Yq7", + "votingAddress": "Xcd5DGwt2y7aDH5yANzUiZ8KQcyznD9FoU", + "payoutAddress": "Xbh5uf8VA3Bwk2kHgqWi6UYRZaUhXanJhZ", + "pubKeyOperator": "86a62357537d9ba76de24aad053f2f13bce88ca763ba7431ee03f1a125db1806ac1767d135cdaebb6792bbd9c9b285a0" + } + }, + { + "type": "Regular", + "proTxHash": "b8672a723469945955dc2b9caae749dba10c657b4634f47a8bda0ade27e42576", + "collateralHash": "12b6303c58db9319e16660506880af081fba68a1faf2e6adae3f323621d284fb", + "collateralIndex": 1, + "collateralAddress": "XpmNFNT7cKd4nRteBwUjum3nM4yhpfWEpL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.197.136.112:9999", + "registeredHeight": 1448019, + "lastPaidHeight": 2125750, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp6bmtxGgNKMJCGYgDFyoaMoPe2hNR269C", + "votingAddress": "XmvCnni2dHe85uc33KfQU2bREJKqbhUz6C", + "payoutAddress": "Xbh5uf8VA3Bwk2kHgqWi6UYRZaUhXanJhZ", + "pubKeyOperator": "1352aae3e4c34031988f0a4fa04916d6346b594c625e5bc432bc5a298b1605fe6bb25aa44189194cf61de01f1178b6c8" + } + }, + { + "type": "Regular", + "proTxHash": "20ea325f10633a43c8856c522c47605eb25c2985af2cd9997a722e2fe26f36e2", + "collateralHash": "1bb96385a758e596bde618e0bd5e17254b5862ae18e2db12a2f34e63c43449dc", + "collateralIndex": 1, + "collateralAddress": "XshNBnKquDya8P8Z89BLBX5i5QvmPTYo4J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.17.16:9999", + "registeredHeight": 1448028, + "lastPaidHeight": 2125752, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XenYjLchY2xnhVKTraTcU5ULkE1J1rva6Z", + "votingAddress": "Xh9VUbJ6ZeTkVqmaBLGr7JWXppWjqyFSTe", + "payoutAddress": "XfDBheHZQsw18c5VPeXJZK1Uqoq5yZRTtw", + "pubKeyOperator": "0779e2d9b0c9b593ba28cf8080c3846a520aeab7db857c4d776535cb80b7a4f6b07748153be64f114bc11ff2722fd519" + } + }, + { + "type": "Regular", + "proTxHash": "51ea0323ce5b375624ea6c43750023e5ec616261b1454a4d663f8908d4f4bd85", + "collateralHash": "e22fd970a2c5bb3c4f799f9c6ef853e84168162c3a609adeb01304383b104014", + "collateralIndex": 1, + "collateralAddress": "Xb2GSWUK3QYioQKtBGKZkFdb9w5gSGh6HB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.50.83:9999", + "registeredHeight": 1448030, + "lastPaidHeight": 2125753, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwdrTTdFqGJrwayPH2RUspxAeKN89q6JWA", + "votingAddress": "XvFrzRt56ozsR5qGX4My6egx95Mqw8WZHD", + "payoutAddress": "Xc9GxhF1pTtsdrPpdo8KnCcfwRfMSwy5iz", + "pubKeyOperator": "831c24961094e89848ce909b7848c23e703a3737a20c48cfac24652f067b63491ffaad50636415ed9b5ea35d0cfeab06" + } + }, + { + "type": "Regular", + "proTxHash": "4b2fb2565b4eeab94fd461dcd0b0f83630834929f34ba12e0c68206bd29e560e", + "collateralHash": "035bb05bb04006543dfe6ed30af17fa19af2e03c0861e89e9c00d99b9792354c", + "collateralIndex": 1, + "collateralAddress": "XqCx3TP1Uh18gK59i8WWtEVB2A3fX9H8vR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.248.94.101:9999", + "registeredHeight": 1448031, + "lastPaidHeight": 2125754, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcLD5NvJ8a53cW8yguJWWyv7LYhpFuG9oY", + "votingAddress": "XiF1rbCWnwWQjZZojW6deNJkgj6eXXeqce", + "payoutAddress": "Xbh5uf8VA3Bwk2kHgqWi6UYRZaUhXanJhZ", + "pubKeyOperator": "8b55e174dbb670fbb1a9f2c71d99bbcb27d3b69b4021012a7287ef34e0bb4481e194177cbf5949dd6be29276b78883ff" + } + }, + { + "type": "Regular", + "proTxHash": "479e9f98ce47556c0622e8811b6449250a912a311f610aa09c64815e519ea7e0", + "collateralHash": "47c2747fd5f6ba7255adf1581d939ea3ee05d6523258963b903cbd373826d8b0", + "collateralIndex": 1, + "collateralAddress": "XkK6pPHwMBd15KKZpb4SDmtF8d4XTAwjYQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "198.57.27.227:9999", + "registeredHeight": 1452748, + "lastPaidHeight": 1632386, + "consecutivePayments": 0, + "PoSePenalty": 4558, + "PoSeRevivedHeight": 1575518, + "PoSeBanHeight": 1636499, + "revocationReason": 0, + "ownerAddress": "XpnJwn6XDHpwfgAYHkL5qRdmPupmvDU5wE", + "votingAddress": "Xw2mk45hxbhcNfhPT6GtCP46D7YEYYMnWu", + "payoutAddress": "Xi64nNp8U13N3AZV7SVUvV9zf16Wqhh7XN", + "pubKeyOperator": "0300512df5ac6907be59d8da5747c859f4586270c8ebdc5211245b728b31cded85620de69585ecb3a498d819b4a4b584" + } + }, + { + "type": "Regular", + "proTxHash": "4135a60699d25c0f396880ceb2a63a8683ea8fd2d97dcdf2c55dcdc4db221a19", + "collateralHash": "3e7ba6eda0f75aa3d20028fb3163fa3445559193adb71efcbd76047463cc9ddc", + "collateralIndex": 0, + "collateralAddress": "XkzoV5wDNnfzzEWzzwBf2nXtYxJm7wkq2a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.119.39:9999", + "registeredHeight": 1453270, + "lastPaidHeight": 2128766, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2071989, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgHAJGythFAZmidSYrnBz4Qz1REYn99KuY", + "votingAddress": "XvLqfg15aV6qmNo2juX2GFv8YQyMSA52Vx", + "payoutAddress": "XwT7hpi3NX5J3QnD8NGbXqt12Lm4YMdLFG", + "pubKeyOperator": "8734dd6cf3888f55236757d6140b7dcef62711ba8a2c730e74c129103b3c266a875fdf7b5932684d657e4d466b5cafa5" + } + }, + { + "type": "Regular", + "proTxHash": "2c313b67b15e4044e6b088d348f4a1c2852de75abb0541a52733e4acdb40f956", + "collateralHash": "2b0716ecd4557d0e9caf5094642a1d585aa248575cead4be76d5758a496dde3a", + "collateralIndex": 0, + "collateralAddress": "Xi1GAJfRYpUbjXdxi6n7rBkwr6tpLpy9id", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.15:9999", + "registeredHeight": 1456559, + "lastPaidHeight": 2128529, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqCtMtPUs1qUJtKqRkTUX873jeQ6ek8VLN", + "votingAddress": "Xcm4FKdeYxxNJDBGonkzqi5gPjyqRrvfJi", + "payoutAddress": "Xn2XV8van58JBZfBRiEH7oHAGffmeM3Vjj", + "pubKeyOperator": "925cf94de37b2b2fe06e520974f2b810b63067922a6b841b1764127aba09f05ed7b80b090c209c95c2a65297f1e691b8" + } + }, + { + "type": "Regular", + "proTxHash": "a536ff223a79b4805091f6cbc911697ff6b7c2052640803b8258f6804c7c2b4b", + "collateralHash": "4915e14bfba397e13b1e24104b59d6aad6163fc469369f2a892652fdf29029e3", + "collateralIndex": 0, + "collateralAddress": "XhwmgEGE3WQtRRRHTmkbuFmYc6NoaDG3qQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.24:9999", + "registeredHeight": 1456562, + "lastPaidHeight": 2128531, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd6WqdSzxRiYYyE5xTnW1XFkT5b7tJpow5", + "votingAddress": "Xw7aHxUZ3JugFhvbGVErkn2zuArNZa3HWy", + "payoutAddress": "Xn7Ycy3JkJmXc7qibFoyoEnuyowwyUsbkv", + "pubKeyOperator": "8a70ec61345aab1b2ab12f92d561aae2f2710f506b20db7836bf3df0c5da9fe053778a9728e0e7285ec477ceaf14c343" + } + }, + { + "type": "Regular", + "proTxHash": "77e9cc56d0b3b95dbb872881a065e5a77f42d5844905226e14dcc71a34521503", + "collateralHash": "19a85899a438dec5688030a2a3a5c2ddc87ad2b5a884750e5acf24184792eddd", + "collateralIndex": 1, + "collateralAddress": "Xw12xitKpMaCFyM1Ub5Y8LHMphXUgSuHvB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.46:9999", + "registeredHeight": 1456564, + "lastPaidHeight": 2128534, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxy82hyZq4ai5LATuRLtT2TR5ngE7c4YHV", + "votingAddress": "XoFTVyF1RxRbt1RGH8QqGgJLiUa6tufCmX", + "payoutAddress": "XnDPA6J5dGgJYbYnKRzhugqGXaCy1UWVH3", + "pubKeyOperator": "8b8b3ef3d6cc9cea91c2733dbe3559c81d831ed55002e0cec5befa6fb47cb80f465efda003b8a994eb24f818db0288e0" + } + }, + { + "type": "Regular", + "proTxHash": "9cf746c3fe9078681f2e3785c5c7bee5f653d547a95daec2072a52f1cf5bbb88", + "collateralHash": "51b5ee8f3a1a32f54e5cae9a3bb61170c361bef3cf46ef0bda67907d2ad1a7f2", + "collateralIndex": 0, + "collateralAddress": "XtnoxTUTcyy41g7T9iDdsHjrRawr9KYVT4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.222:9999", + "registeredHeight": 1457215, + "lastPaidHeight": 2125742, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcA1hXTSWyY5hhCWYyvupcxEN91z222VWX", + "votingAddress": "XbhU7DJxDZwNsxu52SMBAPd7ReyTGyUSKb", + "payoutAddress": "XnW4YG1KE28oQP6w2BXRdNWfJms9HiV181", + "pubKeyOperator": "9520ec505eedb8884406ef7c9e664206081397d247cccad8815ef002ff9ea141332870b6d9ecefa3ca0360cb06c11cc4" + } + }, + { + "type": "Regular", + "proTxHash": "a54d925c699f8cffa316ddcc0ab8da595df8eb4bb5d48c355873744582abc249", + "collateralHash": "3f42e510f538a2cc2f004adb3619cce68d30944517ec2835308341f1d0f5384e", + "collateralIndex": 1, + "collateralAddress": "XrUcHWMaoVtHwia5VqH2p1VoUFGpMFgm2o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.232.169.246:9999", + "registeredHeight": 1457559, + "lastPaidHeight": 2125888, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XehgVttY4rykZFRmXzXiGMUqexPBg2gfgc", + "votingAddress": "XqEEVGLvZa7LJE86wLDKyyy5TPhJEgvRrC", + "payoutAddress": "XiqxPGELhQQRFjZQRzabRtk5kWkSqRTws4", + "pubKeyOperator": "8df043d04e0b031da58a99182235dfc471197dfabab87f4850aa8960962c7f9d572d7e20945e35f491b5570bcd59a009" + } + }, + { + "type": "Regular", + "proTxHash": "865f12671bf4517bf46aa3d27bcebfb4d9a97f76f70294e5a9c88ea3ceb62221", + "collateralHash": "ba293f6b366c6eeb404bc4e9c76b55885bc0fced320d2af3bd3fc123f90df79b", + "collateralIndex": 0, + "collateralAddress": "Xq25zje36KW3vjHVzw8xCAfoZeu1xyvdA6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.142.35:9999", + "registeredHeight": 1457567, + "lastPaidHeight": 2125898, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtDJ4aWLgck5GvQkUJ2132YFYKecP4WPQV", + "votingAddress": "XdHfVRtzjhNivFocg2x14wd5pEqW6HYoTz", + "payoutAddress": "XncFEmYZo1D4GUJAfag4WjF66WjgQPNm7Y", + "pubKeyOperator": "8b259a2844167d2c85a41eff924d755b02900d0843841cca926c16e39dc1b8c59870d2a39300a99bbe04a4d2e75f481e" + } + }, + { + "type": "Regular", + "proTxHash": "1a52f4b26868d37da390f1a484b09019e2f5db3be5aeef481d1723c5db87ca0a", + "collateralHash": "30c0c517a1ba6191681ed80494fa62473a85e6a419f2d8c70616acf3a85fa9e0", + "collateralIndex": 1, + "collateralAddress": "XbXLB71wcqwLL1SV2eEZcDKs4JYMLfYyZV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.144.169:9999", + "registeredHeight": 1460800, + "lastPaidHeight": 2128180, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcEi8SeYxLwaTauY2kRNgoqnnuSjxXgUWT", + "votingAddress": "XiDbpBfCgT3yBhw38UEwHes5GFRFaT4Hww", + "payoutAddress": "XbXLB71wcqwLL1SV2eEZcDKs4JYMLfYyZV", + "pubKeyOperator": "05e9f4bfb9205bc92bfe74019f685762ea5be1b61837535e95fe3fe2bb596ecfcb87309b0909bcd4c661e07d7bf73440" + } + }, + { + "type": "Regular", + "proTxHash": "b96e010c230161dafab91a4075a87d18ea954636543fb3147f64ee4dd979e77d", + "collateralHash": "cee6ccdbaca5754f25ad86265a897ff871327b8a3f167f9ad3faf7852ecf2707", + "collateralIndex": 1, + "collateralAddress": "Xz1kDiyhZeCBJXcLSG773VNoQpRK3d6yo6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.71.228.155:9999", + "registeredHeight": 1462370, + "lastPaidHeight": 2126153, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcsa8cbGT5BQMzXGjLKW2SQjQja2r43mWg", + "votingAddress": "XvUEc2QSqy1Fs1AgYbpFk4PycX246gApuZ", + "payoutAddress": "Xz1kDiyhZeCBJXcLSG773VNoQpRK3d6yo6", + "pubKeyOperator": "0816f7c89635d08714fb09f03a620ddd67ea2579608f115f8aecd6e7f443a141300ed4e5c5b4ad9d00e8aae6cf358880" + } + }, + { + "type": "Regular", + "proTxHash": "810b83cb53a144e4d371e1de4d497c449a0bc23873c1fcea791a3da59da3827f", + "collateralHash": "44df5b389eb53e852cd15f37dc4e38447ea9d0558d56f054815f58fd6a0b1a20", + "collateralIndex": 1, + "collateralAddress": "XtawP9L6BfJFNrsDULcU3byhYeHmNWCLKe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.68.157.15:9999", + "registeredHeight": 1462406, + "lastPaidHeight": 2128743, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2038221, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnE5domQegNt1f61AUALZPz5rAHinS6BCf", + "votingAddress": "Xx9RxqdJo6TcRaiKUd8Csmrxz2hjuv3Qum", + "payoutAddress": "XtawP9L6BfJFNrsDULcU3byhYeHmNWCLKe", + "pubKeyOperator": "961d9dbbc97357537d6b0007f037903e6c1a9b56b3e9ee79489a14ba65780a783a3964d50fb33a5e5569e487d4552be1" + } + }, + { + "type": "Regular", + "proTxHash": "0e3818a4426e15256ded3c03b77b4e6b409fac5773acf1575fd9f30395fe2a7b", + "collateralHash": "4d0e8abfd4716a9aa267449470b47ce1dc14810fee583153776e0149ca270fdb", + "collateralIndex": 1, + "collateralAddress": "Xx8Z2iJvMGKuJuS3JFL2K7Bk2XUU3EXW1G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.200.153:9999", + "registeredHeight": 1462420, + "lastPaidHeight": 2126189, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuYMSugQSJvR4NGpRXuux6Df4PqUqHQsHE", + "votingAddress": "XoEapyaskJC8tFqALwTLQyXnkzHSeH9Vsr", + "payoutAddress": "Xx8Z2iJvMGKuJuS3JFL2K7Bk2XUU3EXW1G", + "pubKeyOperator": "8e4a291d349abea0736de2af4c047c40d8569b7a9bc2ec2917c87ca73bbab2a213bca86059ddf40e99bc1f8a3f230e28" + } + }, + { + "type": "Regular", + "proTxHash": "cfea72271afd273a151455caa851ca5279fb7f73ebe48cbd5295bb303f1ea96b", + "collateralHash": "4b65b1709f377ee4b543555bc287fc6db6655ed6b45ec14519c037b772a17997", + "collateralIndex": 1, + "collateralAddress": "XwYJ7vMP9uJ5PuAMVfTsheZg9WEPDKjRan", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.138.24.25:9999", + "registeredHeight": 1462825, + "lastPaidHeight": 2126396, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfqoRb5vgo1sqYiNxgozrTKh8o6tGPsX7Y", + "votingAddress": "XvmiRZmmyEuPnFEpePw2eaXmB18KPR96cw", + "payoutAddress": "XwYJ7vMP9uJ5PuAMVfTsheZg9WEPDKjRan", + "pubKeyOperator": "02413e750846394205583ac8545c9e0d4e639e8bf4570d9a29eed1be09c311e8cabe7d79e7d08bed43c3c8ec03a0543f" + } + }, + { + "type": "Regular", + "proTxHash": "fd7dbe35f101e388d611b024ae25cdcce28ee0852e07bed47a5a5e8cd7ba38e6", + "collateralHash": "e85cee16fad0e27fbf2ce9a1b6ea0012213737a3dc7d9bda714177c8d1d32f45", + "collateralIndex": 1, + "collateralAddress": "XtD3bvjp4mM4cwy512tZxQf74UiaLhFU1J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.22.72:9999", + "registeredHeight": 1462914, + "lastPaidHeight": 2126466, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdonRCGSGJCNhCrtgrk8R62aq44apZRAQp", + "votingAddress": "XmVSwNfNm7aMgp2QW8vUkfLjT3QWXUyLTN", + "payoutAddress": "XtD3bvjp4mM4cwy512tZxQf74UiaLhFU1J", + "pubKeyOperator": "01034ce52d7afe41e8ac056f29fced37e7a26fdada475e2c23b2b03b6395f763e64503d1d9fce87284433f8dfbb1e05e" + } + }, + { + "type": "Regular", + "proTxHash": "43659b25d19bed6c0c7acb974af069f48cef18323bdbfc7e0a8140a350a9707f", + "collateralHash": "77f1a088147e608d8eccade93673f3e8bf3db8108060a7601026c528d32336ca", + "collateralIndex": 1, + "collateralAddress": "XxgUMebDW67CTevcA9J4rcePxRevAp5sWH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.41.198:9999", + "registeredHeight": 1462915, + "lastPaidHeight": 2127841, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876262, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt3H4SxeNFj7ncPacWr8ceP1d5QCgu13Qe", + "votingAddress": "XkEYa8JWe9J9DDWfDq5w9uKJXHtpSQ2UYZ", + "payoutAddress": "XxgUMebDW67CTevcA9J4rcePxRevAp5sWH", + "pubKeyOperator": "07f4ed0e7b83924c83519b09a34dae99c4d866aa3477fa838e9d9f4ea3d721062fc8b65272dafb4e16d92f2d7175c1bf" + } + }, + { + "type": "Regular", + "proTxHash": "6ef0d1845ae9aa9b1307f4bf39a10d81ad3742b7de5a2cd15fb0a7a97bb84dee", + "collateralHash": "bf8a13bbdada056c2cef523bb804015fe333292ecbf3449074255b4036631264", + "collateralIndex": 1, + "collateralAddress": "Xst6zRfKeiPoZnJ53avZyZLjMam4VM1NpS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.81.166.134:9999", + "registeredHeight": 1463457, + "lastPaidHeight": 2126840, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhBLjJvkpGEaupNWVenaXdvjWKk724fr1T", + "votingAddress": "XhBLjJvkpGEaupNWVenaXdvjWKk724fr1T", + "payoutAddress": "XcnMCkzdNFnQA19LM7xS6mR9JqP8gz9c3j", + "pubKeyOperator": "8fb64db88d29bfec13ab005a3aaafba4d320cd44ed898adf45920859d020d7ea965a3cf41303bc060da3b7c717332e01" + } + }, + { + "type": "Regular", + "proTxHash": "52fd1e8e7486d5bcd5ef0f0d84aae241f273f59ef47f4befc42f2abe71fc8286", + "collateralHash": "9e2a74bca0ec7f90dc5290d3e14f9bacd8aa4240a6f6ee63dfb8c07e858e56a3", + "collateralIndex": 1, + "collateralAddress": "Xpz6xghdvmts61ftKww1pviBZN6vtYXEeY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.12:9999", + "registeredHeight": 1463468, + "lastPaidHeight": 2126844, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfAbkM3TwoSw5JfeVcFqMm1tYuWGnxQ2U9", + "votingAddress": "XfAbkM3TwoSw5JfeVcFqMm1tYuWGnxQ2U9", + "payoutAddress": "Xuesp5DQ7Eo9c1d1PfwHLb7gdzJfaTZqe4", + "pubKeyOperator": "90cddc1fdbb24b1300a01abe4d24161e51d629b0b4e1a99729da557a51208ccf118c8f1e2cd059753d9ca1f8aa6f7551" + } + }, + { + "type": "Regular", + "proTxHash": "93d023796393d44546a0bad600fba67c114cf33dd48a7ef3c6e2326369763d4e", + "collateralHash": "05c93a11975d81b0aaa53df9afb37025b41f61c8ad806c4316793191662824d2", + "collateralIndex": 1, + "collateralAddress": "Xx84fyvFdta5ffj5LgSVuwCkuk7CvANMbW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.210:9999", + "registeredHeight": 1463648, + "lastPaidHeight": 2126969, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpwjCRqNtFzEcKUeinDtyUuUwqUSNayBem", + "votingAddress": "XqVzwVpwjLXN1PTBtU5BLMHiAUz2HczBuF", + "payoutAddress": "XkRtAvd3KJ8XZG71NnYnu8FiKoMtXcvwm8", + "pubKeyOperator": "165117ad2eb6b271b8382eade8c983b9c717cbe8d48cd0c25d063bfbcdaee76657fd808c9c13dfa413daa4fe8a355d86" + } + }, + { + "type": "Regular", + "proTxHash": "230b1f0c3fa672c56af36d1fbdf687e75255291ae5d8590d3a4e9af9a14c54c0", + "collateralHash": "f2fc6d48d23dd5c054902c0c85a038cbcfd0fd71ef220cf6ba84402ba03dd358", + "collateralIndex": 1, + "collateralAddress": "XhnXqW6y6dsMeLehVXGbNvbGE8EC89p3BS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.234.135:9999", + "registeredHeight": 1464569, + "lastPaidHeight": 2127611, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcwVEMaq7rdUdG4M6t5APv2FpD8T5sz657", + "votingAddress": "Xqzr3RkoCpYTJCpRi9SDNz2P14EhrbfSJ8", + "payoutAddress": "XhnXqW6y6dsMeLehVXGbNvbGE8EC89p3BS", + "pubKeyOperator": "86b941a0a057cca4334b435a9a005026fb69b1126636ad2f82ad068eb24683b85456ed2f45e90049e30af642efff27a3" + } + }, + { + "type": "Regular", + "proTxHash": "418eb50d53135d54fc6d7ba03462dfa951509c717e8081469be17fa8a74f717d", + "collateralHash": "a3e7635655d0019267cb0cbe9e856c01fe4e1653a0e9af0d8558b6ce58376544", + "collateralIndex": 1, + "collateralAddress": "Xe4knBRQTFngjfkExFHEm8WGuVegYYgust", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.142.40:9999", + "registeredHeight": 1464636, + "lastPaidHeight": 2127739, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnuuwUHPvVsu9kvNymFQhmEopraDozHo6e", + "votingAddress": "XanNSVAcAyXMusg5RZM7o2jPEo4tuqCBuS", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "80736dd02c69071ef4b70c76db7252196988e0808f4f5a3c887117acd7526f60339f177d59368c6414d60ef596eebc35" + } + }, + { + "type": "Regular", + "proTxHash": "ce9b0789fbd6fba9616405c535139bc9f1f3b6eac418897158512df34deed15f", + "collateralHash": "fd02968332f708a63ac1d9382d3b1829aa3af72086aa872c4a0d61676762ec48", + "collateralIndex": 1, + "collateralAddress": "XpRJYK8Qxj7wFDHvVQCPe7NMFYPzArnk3W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.100:9999", + "registeredHeight": 1464641, + "lastPaidHeight": 2127741, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk6jyiZXp8mdBp51HWF7eSE7NuvaSkSbgW", + "votingAddress": "XbRJJ713XKym1CY734zJCKV6N2injs3zYx", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "905096907c1dab513f0716727183b476a929fbc9f9a2a423b97ee99abd9a3302406da1f25e1330c7b53f7617ea93fda4" + } + }, + { + "type": "Regular", + "proTxHash": "9307366035d7d06cdf99c94819aa611cc8444a3e8c8d9810d3141ccb0de48f6e", + "collateralHash": "6d140086f9e620c888948c712c2690859ce1990ddb89c84fac3b7b2371ce683e", + "collateralIndex": 2, + "collateralAddress": "Xg5HQPnNoEcETVsYDgd1LxeMoNymgKeBLe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.208:9999", + "registeredHeight": 1464643, + "lastPaidHeight": 2127744, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgCAwUoUN5SefgMVUQcANzDaQSFj5YvXyF", + "votingAddress": "XhDSP8HFM1d3oqNN6WSCGB6mRnNrbPPQhC", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "95fd5eecc6cfa13c38947e8b7058974f3c2f02b416ff8162d204db3a404e12c30f5b50a9e5a236f18420c67964295365" + } + }, + { + "type": "Regular", + "proTxHash": "4a563342d1d4e43d0a7cfc3b3f5eb5bf3a0a40deeb612097b46a446277733ea0", + "collateralHash": "277e04bafba0e442aad1ea07a9e93055e130db80cd7a4a23913004200bd6f508", + "collateralIndex": 0, + "collateralAddress": "Xrb69qzbfqrbK8ingNGkkPBUTq4sejPwJM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.185.60:9999", + "registeredHeight": 1468842, + "lastPaidHeight": 2127104, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy8MSLofQv3JvyBWdR9HS3TsrVBdg1Cxci", + "votingAddress": "XcJngM5rkqmV1kfiGTSzzMykifa4L6oSkd", + "payoutAddress": "Xrb69qzbfqrbK8ingNGkkPBUTq4sejPwJM", + "pubKeyOperator": "85a101655ac3740dd6607de492f9912925694f13f9699e8416cf63894cf5ec131eee96a6e9e2f57f89437412d7fafbde" + } + }, + { + "type": "Regular", + "proTxHash": "d0d81317e2f6534b72eeae43df2934eba1bd124521622c90f3e357b784af1bed", + "collateralHash": "cdbee20befe2bdc645a9a1963b5c3f0bf9db9c580d7f41553f06ce8353fd34d6", + "collateralIndex": 1, + "collateralAddress": "XvSRbpe4R1BRnQUVrSDsgJPq5DxzKvNeQM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.235:9999", + "registeredHeight": 1469040, + "lastPaidHeight": 2127567, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjW8cfvKZ1tZMDip4eotUCBdgKVuRfeKEV", + "votingAddress": "XiBoTW9T4g2wq6eLH9yk6MaejoX3SmAENR", + "payoutAddress": "XnzPMSGSU8NxgVbxwy7TmxCg1WK2WGA78j", + "pubKeyOperator": "8381e789c2446b8912b07c4d6fc95d8ca7578dec0f1d336c7a52f621ecc6cad36b9105d1e3173e76a65f9fa3a4d0b205" + } + }, + { + "type": "Regular", + "proTxHash": "2b7e92af1a9aae3580c1f41333fed9a3f857cea779a35c40a644b9227b95b6b2", + "collateralHash": "a5d6c6167308a57ace2499f82e4f36a61ff4ea89f219e20c774006a9a46345fa", + "collateralIndex": 1, + "collateralAddress": "XdtV6ZLsJdwWj3UR3bHuTj7evbu94mUZCC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.0:9999", + "registeredHeight": 1469117, + "lastPaidHeight": 2127625, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb3gBF4bHMZX4SLah6hyidQnTY47J5THCH", + "votingAddress": "XiZZdfmGFPQp3YQUjfzEPCQLyEy6u1qNrB", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "8a2b36d444c587683d833a555faf2395b42b71ea93798ee01608b4d054b8d27d9ba20f642678d2ada8167e507ffaa01d" + } + }, + { + "type": "Regular", + "proTxHash": "b636acc8069ee6216dec5b8cc3235bfda3f1cfa5742af342f9a4b27da4fefe3f", + "collateralHash": "3b6c292af185dab3b7188c0810fb416356d8661aee310c7fe72371c09202c1ad", + "collateralIndex": 1, + "collateralAddress": "XxfVgvXhd8xw98ij6oXH5JR3sUcZdjb95Q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.10.124:9999", + "registeredHeight": 1469305, + "lastPaidHeight": 2127871, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcKqPK3m1N74Ewh22aDuaKJmThafQEVjzR", + "votingAddress": "Xb1YFNEQ5vFmnJ2qLRg8Sy8gZVKWLiZtn3", + "payoutAddress": "Xuzh8ayHALzM1kJpCXyZm4t5Hp7yxu1Zqn", + "pubKeyOperator": "809e7c99bac3cf36111a3bc56044144fd6fad1275545a8934a5a0049092b5fe2a3bd6f8e4cebe7524ec9aaf56dad7b6e" + } + }, + { + "type": "Regular", + "proTxHash": "55bf63b8875413fd77a0c2ea5f8732276f1c3eb5aab8b0891c54cf0a64f600f9", + "collateralHash": "9d501e346aae806f79b19e71862afa092096fe5159f2151140ac53a3f04fd321", + "collateralIndex": 1, + "collateralAddress": "XnvDyJhsoi3Ub5oSast94DFtti9YD2iRF7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.253.170:9999", + "registeredHeight": 1469349, + "lastPaidHeight": 2127906, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg88oXM7xUhz7A6swT4gScdoveV1DD2Txa", + "votingAddress": "XdMJ5cKS9mTJh84ps9tsqwS39mYX7TgKE3", + "payoutAddress": "XnvDyJhsoi3Ub5oSast94DFtti9YD2iRF7", + "pubKeyOperator": "0aac9604129f4ff36cb8c224c30b9dfbb3f6f7225599922a2ac2b6163e09f51fded7e7a6ac6c5edc458d92e75d788bbe" + } + }, + { + "type": "Regular", + "proTxHash": "3fbdd7235b42a52ac280066cb70e61b93d1bff5b14d3fbad3bacb9c8d1f50c8b", + "collateralHash": "7cc198580455de338847f3bfb10e92a553701f56874c0fe8692fadd37b4bc225", + "collateralIndex": 1, + "collateralAddress": "Xb2wP8SqAyf53kM9ftxcXBERSj6P2EW2Sw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "199.247.30.169:9999", + "registeredHeight": 1469674, + "lastPaidHeight": 1733384, + "consecutivePayments": 0, + "PoSePenalty": 4467, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1735140, + "revocationReason": 0, + "ownerAddress": "XnNVqj5jxNLCfK1x2NYGVWEYRp3dhW9YAv", + "votingAddress": "XbkPYgTKfjBLYJiCxsxYVQAotkctuDqcUh", + "payoutAddress": "Xb2wP8SqAyf53kM9ftxcXBERSj6P2EW2Sw", + "pubKeyOperator": "95459d0b72decfbeee5b001349d003e66a42e38c06d353978346ff7abd418c18977d0bc3acac8a5d5da7bee352b22a3c" + } + }, + { + "type": "Regular", + "proTxHash": "e5ef964a214ed21928a407b7c75fd5d9d0a7fd6fc286dc7304fa337a59f0bb6a", + "collateralHash": "a82965e72c0fbc18bb35d017015982d287cdabe976ac86006d1c281da2f33d26", + "collateralIndex": 0, + "collateralAddress": "XeMo9vaJVdSbhqMFcfWtW3QuezvzVhwFpP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.159.94:9999", + "registeredHeight": 1469990, + "lastPaidHeight": 2127097, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf4kHPVnXvcdBm46mEXhcR6yJHbDEjRS7V", + "votingAddress": "Xx8rnT46jjAto2CSkYuX6RMHBxf77gBQxP", + "payoutAddress": "XeMo9vaJVdSbhqMFcfWtW3QuezvzVhwFpP", + "pubKeyOperator": "00619ee97cdb2c47ead9f0a311a82ef6b25aa7d84e7da872d164ab0cac0b87d6235e30305d5f5cd00de72eb3571f8729" + } + }, + { + "type": "Regular", + "proTxHash": "ca610ff225b54e8d3805e44dd084eb40a94ddae6ea0539b662c7cd315a785278", + "collateralHash": "2a194452e71822ffcc39c5f5e9fd89b6c0f4e23285050e9220863e22e2ea7b9f", + "collateralIndex": 1, + "collateralAddress": "XiochL6xAbqwzzaJFPKSp5zqAr4dRX7TG5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.142.32:9999", + "registeredHeight": 1470249, + "lastPaidHeight": 2128662, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiHM1zBfGzh82Xq4uuSf4DnD8HDYugp5he", + "votingAddress": "XbZEAku1WF5syQGTVLj4Zcn8sMiAQDBfen", + "payoutAddress": "XiochL6xAbqwzzaJFPKSp5zqAr4dRX7TG5", + "pubKeyOperator": "850938aa1888f8db7426e2737c40a1dafe88678cfb3e94d6529eb0d9805bea38af95421bca2d40f8dfd521f981f0e4ba" + } + }, + { + "type": "Regular", + "proTxHash": "bf9157545fb578fd0244c616139196a1fed4a84c4652c8265deba50f6db5cfe1", + "collateralHash": "dfda6b1c6516e833046f5d733f6b3062593687882b169e04e338a067fbd17293", + "collateralIndex": 1, + "collateralAddress": "XevWnFBdeK8LQwMD8DAu3M1yka8QphLK7f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.162.229:9999", + "registeredHeight": 1471205, + "lastPaidHeight": 2126871, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120828, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpfCXSWr86nnhtUQu8YdZCdhTZQ1962yjX", + "votingAddress": "XkQYhrwTD3NfHkCEoho1JgssZoJSGQzDEM", + "payoutAddress": "Xqb49m44ZtbBxktL3UGvfSpE73Gm1pwqb9", + "pubKeyOperator": "8b95b261e894469a04dba34f008a5fedfadb768ca5b861b2c0ea2da0bb301c5391d09966e7d07a82b8b2b2f1f41d5ea8" + } + }, + { + "type": "Regular", + "proTxHash": "23fa43bbdddc6b3a50405c25ffd5f4a21c22384f8d67b7affaafe60fe2f54cdc", + "collateralHash": "318b7df2bd5842b0daba595f64b2669b765059442b44172dff79501fa8d80fec", + "collateralIndex": 1, + "collateralAddress": "Xdsp8rmkHuhvtGyifMwBo2YKhzQ6kKDLJX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.162.215.169:9999", + "registeredHeight": 1471426, + "lastPaidHeight": 2128668, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119374, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgiA6jjYbDUU3J7o4nzQyFG9bc28p2K1tc", + "votingAddress": "XgiA6jjYbDUU3J7o4nzQyFG9bc28p2K1tc", + "payoutAddress": "XgQtLgxD8E5ejzDo2ZW1fekmMxDpSxV3UK", + "pubKeyOperator": "1124b4769c30899425583daa686308bcf49d5507d6e922167c012fd3337fc455fcf3899042bec74c51bdd9d0bc29e5db" + } + }, + { + "type": "Regular", + "proTxHash": "7dbf80dfcac9d698132aacf9093d7249a2b864f68d7caca85bd617bba1761e46", + "collateralHash": "c90d5c45d20f297f78f94e26f4ce8ada3b3e680eb5eb96c4d07f527b60a10c3f", + "collateralIndex": 1, + "collateralAddress": "XpBP5pPZLMSBtpXU92U4ZjwygAxCjdoaaE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.252.92:9999", + "registeredHeight": 1472010, + "lastPaidHeight": 1983610, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": 1900629, + "PoSeBanHeight": 1985514, + "revocationReason": 0, + "ownerAddress": "XphKs1dywBDKuk3nHjgtw9ST3GnLoFKf4z", + "votingAddress": "XphKs1dywBDKuk3nHjgtw9ST3GnLoFKf4z", + "payoutAddress": "XvPbzLSUJM5BFCxWEuhXYhuXJJ8U8cjUBz", + "pubKeyOperator": "8389539ced0efa7ce978a4bc6f0bc4cb2c3a8c72246f5321b3d3d7e37fdc8b2f2b251cb32b7b06a2a4b893c8d3ae3e46" + } + }, + { + "type": "Regular", + "proTxHash": "2138e8bd108076a3af79ec3533b52cca032c571f6f35153ab36615f1cc0cbc23", + "collateralHash": "6b1630c343432ba60c83f57db68d54227df9d97d02098dc58e3ac006e74cb9ea", + "collateralIndex": 1, + "collateralAddress": "XymL7xuYuQgv42cLSNVJnV3GSz2BXu2aGL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.99:9999", + "registeredHeight": 1472038, + "lastPaidHeight": 2126524, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XajWbdP8VmbeZHcJBXmf59fzxVfNchqEhJ", + "votingAddress": "XhoD5Lke3nmhA1re5b9D3C6strpDUeZyXt", + "payoutAddress": "XymL7xuYuQgv42cLSNVJnV3GSz2BXu2aGL", + "pubKeyOperator": "8cb859caac46e998484fc328f28abcae1a7267d31c262049b61ec93c43ba83050e62f2f3d3a7c6269a08a5b7194766a5" + } + }, + { + "type": "Regular", + "proTxHash": "9396442d477e99e0579546cc6d85562b6838a365fe39dcefc7d571c9dd4fa06b", + "collateralHash": "6287a61ee08d143334b49b657c2de728b140ab72521c978768fb628b5f242f25", + "collateralIndex": 0, + "collateralAddress": "XpTWXvK4iTrV2PTuEXF2HUFTgP7Bky2sbD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.108:9999", + "registeredHeight": 1472307, + "lastPaidHeight": 2126701, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoKeeMHSqNr4tFDdGesYgmHQeAoUSSS8V7", + "votingAddress": "XmJDkcWJ9MjCHazkToXxQBWFL5uD9Gdexq", + "payoutAddress": "Xasq9KiLvMenAqzS1tNqHUk3HBeTdhYeVq", + "pubKeyOperator": "1774fd2b1c9dc5ffb09f07bd05a90233be64e3bb17f218f26704322a1ac273d05b3e4e2a020baeee7f54a8249a3b4fa1" + } + }, + { + "type": "Regular", + "proTxHash": "65e96ab5f30551faf835938a300f0dc5cfbdca8eda3d91c4288262d1315e96f1", + "collateralHash": "df2e9496e796c1ef261c3c278a04d17c008d023abe20be617f2a48e023676ee5", + "collateralIndex": 1, + "collateralAddress": "XoUaA6jeHgwbmVzDMYwtnmYfWmFbRZnLgF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.10:9999", + "registeredHeight": 1473621, + "lastPaidHeight": 2127624, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhCDnokzGLXUMG8hpdNE5Dx73SixxAtKTX", + "votingAddress": "XiSXz5P2nUzPuHPXaPRHRtp96bNBCz6vyD", + "payoutAddress": "XoUaA6jeHgwbmVzDMYwtnmYfWmFbRZnLgF", + "pubKeyOperator": "0d8839b8d7b4cb1bf79851ea6ac572c1d1b8a6facba5583da1cd57741b1b4528d0da6a7f3abc2d7296458d20b6059893" + } + }, + { + "type": "Regular", + "proTxHash": "0b82ca099216fb20c5301d528bc8ba6306589bd022a46bba128fb904aa312e9f", + "collateralHash": "f2ce7b5805a9779372171b6bb8d71b2084e51117c518bceb6b836b1d1ab28d92", + "collateralIndex": 0, + "collateralAddress": "Xy8Gb74PbyPuXkJ4QLywDFUtHPHGZoxoJt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.27.239:9999", + "registeredHeight": 1473886, + "lastPaidHeight": 2127916, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjH8sesFQThitV97KLxxWEWvFgQ9DMaxBS", + "votingAddress": "XxNQSh241y9CWy1NrnHxdsJPpqbZZtr9xG", + "payoutAddress": "Xy8Gb74PbyPuXkJ4QLywDFUtHPHGZoxoJt", + "pubKeyOperator": "97a5997b82ae593a234d7b091ae4fcf0ea8aa0140aea5ab94a0b38991e5a8e025bd45b4b5d0db0292b06ae588f3ba19a" + } + }, + { + "type": "Regular", + "proTxHash": "cb96c2950f5da49736b198ee86f2c1da1c2f6607726e159baec61619c71a6d5b", + "collateralHash": "ae92eb0859c28ac43bde6050ec113a149adb4e512f089bd9fad604f35d156f93", + "collateralIndex": 1, + "collateralAddress": "XhLWskosqCTesa7ZHpGEiNh4YNXN2eNvoG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.98.175:9999", + "registeredHeight": 1474597, + "lastPaidHeight": 2128498, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdQaw5XyjGT55P7yYzrN9txHanX3pxMAF8", + "votingAddress": "Xer4iKjbJxTzENDnHibEBYpjCwcmH1tD52", + "payoutAddress": "XvFoeEj6giQE37JJHwehLHbyz26iEmtZTK", + "pubKeyOperator": "893ca6db027085d59b780cabadf3fe0c7315320445652937f490c6f2b0669379f2c79502ed159804027169551ebdb67e" + } + }, + { + "type": "Regular", + "proTxHash": "deac81e38179b28a6078cb60dcdbe6299b70b13d0d632946c6df2b8f85a75383", + "collateralHash": "9529593acbde245f908ae08e018a9d7dd97afe7a0be1dd123fdd97ce21814dfb", + "collateralIndex": 0, + "collateralAddress": "XpMHcfDe5NJg5b3w8hoe8BW4WDH31u4aek", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.227.67:9999", + "registeredHeight": 1475503, + "lastPaidHeight": 2125837, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvb7X3FAYoXFXEfP3MDSkPmhQzqg43yffz", + "votingAddress": "Xd7kpqGoGR857NaJE9ojP7521GiAFdauHH", + "payoutAddress": "XpMHcfDe5NJg5b3w8hoe8BW4WDH31u4aek", + "pubKeyOperator": "8dcc42086635d6bd863d149a573294868a64df7f4a94f8a78cb68b5ae43a54cb401fccda2da6698b63448e787465f54d" + } + }, + { + "type": "Regular", + "proTxHash": "71ea28eef43609dbc7a75a8d85565a3671f5bbcce46decb9b0f5945932c48078", + "collateralHash": "dcb56d11ea74eb810da0d6902dddd272c51eab49b48d3813e13f6ec2489bda99", + "collateralIndex": 0, + "collateralAddress": "XnNisH1BQKMijQPJEFCNa47tN2URV58YPH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.235.156:9999", + "registeredHeight": 1476397, + "lastPaidHeight": 2126444, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtkdoDn6E6JaKh5cDXCCSrewfPEgbXFL9T", + "votingAddress": "XuDxQGdtPqddiM3Jpa2KCdnnCc77AqQK71", + "payoutAddress": "Xcc3wR7JtNU1UtUwaMjWro86WfCv7dvg7z", + "pubKeyOperator": "9142e8c95a9cec5b2bc0ae034030b0f8fcfd4818982184a79d5d29d67361e04bd6ccc98247c4642710f599833fbfb796" + } + }, + { + "type": "Regular", + "proTxHash": "b1e7442ff262cb9974b96e9558ea1d9ef3f6fa43295e27ea9d485d3a52b0efb8", + "collateralHash": "3a40528b858cf26c6439e9292f17467556a2bbe445541e133e0d8b7451011d03", + "collateralIndex": 0, + "collateralAddress": "XsuhJpMWqx7CDrZYztvFessjZuxp2oLgy2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.208.146:9999", + "registeredHeight": 1476422, + "lastPaidHeight": 2126461, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjz3YH5MHJ5aeG3f3cUFE9dHojtGJBNGmS", + "votingAddress": "XdyZXbKQF1G3exunGdpG24wwUs8PqD1v9a", + "payoutAddress": "Xcc3wR7JtNU1UtUwaMjWro86WfCv7dvg7z", + "pubKeyOperator": "031e4ea7caed924b2513909729ffb9bb7e8fb9e53f19fc3912f1fcc1734dcc0c79134ee0e1ab154707be88788ee411c0" + } + }, + { + "type": "Regular", + "proTxHash": "6922b43bee38a0da3baef6bb35e3d037947a178e19737f92e129853a6b70f2a4", + "collateralHash": "bded370859c6cfbfeea58ec317cb561f1676b64bce38efd5edfd0110d90ed3b8", + "collateralIndex": 1, + "collateralAddress": "XiGRZzA7UBqXZHhUYnfF5Pwemb5FFd8mmb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.0:9999", + "registeredHeight": 1476825, + "lastPaidHeight": 2126733, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy56MuucdvBPfioPVNkEKbC1aCfsstGzf9", + "votingAddress": "XtNyM6y3uF6Ryk95a7fGbzahLuKCjk3BpQ", + "payoutAddress": "XiGRZzA7UBqXZHhUYnfF5Pwemb5FFd8mmb", + "pubKeyOperator": "87398223d0ef8ccb7457f15ac29a89d2fec0a6abad6e0c60753aa174a08b958d2eba9496ab301aeea2cec559b53a806d" + } + }, + { + "type": "Regular", + "proTxHash": "05231fe0fd6bba8f692306d3b86ca5435ca7c547ac62764bbe4eef7cfaa7280a", + "collateralHash": "a53921cc4659b8a743997273a384555308d031c0b44a1118c40c758e7eb58159", + "collateralIndex": 1, + "collateralAddress": "XygjMgvDcLk4EwWbRKiDwEwSXz7aphYsES", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.128:9999", + "registeredHeight": 1478845, + "lastPaidHeight": 2128224, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkd85ihgGTyyBcZrbz7AFhxXaNNK4mQtci", + "votingAddress": "XqpeLGtvdLZ5iNtDk7ggMnAmUQaibGxDF9", + "payoutAddress": "XygjMgvDcLk4EwWbRKiDwEwSXz7aphYsES", + "pubKeyOperator": "858ecee9d4152ea6902a1c32950041fbc0463612d77477a8b05a28c4936c1f79372f9eeeffdf866bbfb3c394355bf454" + } + }, + { + "type": "Regular", + "proTxHash": "76a8aefb37373558d92a0d5198dcb4e0cf282cf0a724b017e4b507c41c147134", + "collateralHash": "2748edeabea3711be5a31c2cbe116c376f1c2b2d9ee1162f00bb75eb6906ece6", + "collateralIndex": 1, + "collateralAddress": "XkUTdYfPCKcnhabBqSc6EhiH9p5fSSEW4k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.216:9999", + "registeredHeight": 1478848, + "lastPaidHeight": 2128230, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfKE38pchcq48qPAdtCYubU1fpYmqdnrgn", + "votingAddress": "Xnxz9NLGQ17hgimUS8kLmyuNzUYNhVRmNg", + "payoutAddress": "XkUTdYfPCKcnhabBqSc6EhiH9p5fSSEW4k", + "pubKeyOperator": "93706c75a4a02f6fbaa1e3c361b4d9f570cfef0bdbd20a23cc0e2b14cdce4c040c0e926e19ee4c4185b855d85795ebdf" + } + }, + { + "type": "Regular", + "proTxHash": "46b38e1cc1fa8d6d6dd71d5d48d04227479a760f777d354c09b09aa7cde0560c", + "collateralHash": "238095cfa3711d65fb37c5520fd4e3902bcbcb27050a59bee81bfcbf6a2a016f", + "collateralIndex": 0, + "collateralAddress": "XdXw3xQVRtGGEaMqjWvsNDYiLZN5A1WrjN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.248.46.93:9999", + "registeredHeight": 1479206, + "lastPaidHeight": 2128652, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xau1zhnHnZcFbP2N2p1utzdJSzuk4P6kbw", + "votingAddress": "XgfuTgEwiskBn4efhT14Xn7DKsMEWUKqa2", + "payoutAddress": "XdXw3xQVRtGGEaMqjWvsNDYiLZN5A1WrjN", + "pubKeyOperator": "93522ca61f9e798f88882916f8b1b99da01265a7a1d799ceb471cb9b4f9c4a30dfb34b4bee045ec0b7b7c9635d11fca7" + } + }, + { + "type": "Regular", + "proTxHash": "a0fcc557204a7f0f51ff09cd55a10f4130fb3343eed208ec5d0a29484cfd1ae2", + "collateralHash": "aa65460162a09c8086425e4c3732c39273e628e7ffaf727c80cf89c5bec4d695", + "collateralIndex": 1, + "collateralAddress": "XsXiunP4VQEWGuttys4D29oZ2d4VykJAHt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.232:9999", + "registeredHeight": 1479639, + "lastPaidHeight": 2128885, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdeVuDRoE2CyaumS76usJRHkxC3oDdjxvb", + "votingAddress": "Xcv9JdxcV7YSEyjHhE7LMaDa3a723gRpnA", + "payoutAddress": "XjM1ypUFKUvZ1Y7Yi6TGeWdbu8MFgGVgC7", + "pubKeyOperator": "18d24a879aae9c7cef55e8cacb93db839b80c71a36f7d49354d59d7391dd315e6ce7547df946ccf88b80b44f3569eeaa" + } + }, + { + "type": "Regular", + "proTxHash": "3f6b6e6451b1b3f01451a284e5fcbcb8e7ab3b78166df316b8466311cda25172", + "collateralHash": "7c47ee206617fe7d6c6e2a6d89199e7ec8f0e5eab660a1fddb2b52f0d168ea6c", + "collateralIndex": 1, + "collateralAddress": "XnVHjPs4cN9oabMqBb1FKQVk6GtyH7MVab", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.243.139:9999", + "registeredHeight": 1481804, + "lastPaidHeight": 2127078, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcLxxMQt1wRuXLxGouYmeo44iMHeBoLGic", + "votingAddress": "XiCDzvKHFK2cF8W4168qd83YzpdRAxkDdV", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "0675351a17730e04c1a0078d1dd93be4d5bf3d81af4e6bb8f933619a6228381a768613e99ee6f95672809c7c223be894" + } + }, + { + "type": "Regular", + "proTxHash": "25ea80063c1fe74b2a3b6a7df0c4e166471efbeb2e1ca6604c97376fb067da5a", + "collateralHash": "caeb42a4a38d92ca65bfecfa7a5c3ede4fb031a241ee1c144916562a9639ffd7", + "collateralIndex": 1, + "collateralAddress": "XczgSEuusLx75U1bm6ativD7Bee1Tvj8jb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "49.12.106.147:9999", + "registeredHeight": 1483429, + "lastPaidHeight": 1825394, + "consecutivePayments": 0, + "PoSePenalty": 4447, + "PoSeRevivedHeight": 1665537, + "PoSeBanHeight": 1828554, + "revocationReason": 0, + "ownerAddress": "XpPsfKUZhisxmg6hPSGBfXa2z6gwFecQJz", + "votingAddress": "XpPsfKUZhisxmg6hPSGBfXa2z6gwFecQJz", + "payoutAddress": "XvhDJa7S9QoLEVahySGwkiyUDp91mB3xRg", + "pubKeyOperator": "97a8fde133a1c870f981d0126b7eb41ee94b4d9b1a5114447fbd08779e201b12f49767c65f99e7c52f4848ccb1c7a9c9" + } + }, + { + "type": "Regular", + "proTxHash": "7c5dfd92e1a7968af8312b48237c5b2b0975d855436a4342d902ac0f0f493bd4", + "collateralHash": "0557b50789f3f70973e8d4cf493d303d73da47b96b388ad64f8440a01816b223", + "collateralIndex": 1, + "collateralAddress": "XxaERcxNyXA7FhWZJsrp2aq4PpRRVHfjP4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.201.117.114:9999", + "registeredHeight": 1483437, + "lastPaidHeight": 1827640, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1828211, + "revocationReason": 0, + "ownerAddress": "XkR6hqRx6kxEjbrsWd2DgcjDKNnXvQb3we", + "votingAddress": "XkR6hqRx6kxEjbrsWd2DgcjDKNnXvQb3we", + "payoutAddress": "XoAyDpzSbczaSv5ZG98t5rG5NyukjPdTA1", + "pubKeyOperator": "0302bcdeb5bf4a82e7771f9cb165765e7b2fcf2605311103414dd5ac0c1581a4dc1b3c00772eea7d417f268f15ccf31e" + } + }, + { + "type": "Regular", + "proTxHash": "8bbd6148d2b18a24c6abb70a43e257594f25e94c8595a75d428c1a7c85118d95", + "collateralHash": "d314be754a7f356a7c5bbaf29c2cb899faa0c3567aa3859c2588d56ba0020ca2", + "collateralIndex": 1, + "collateralAddress": "XavkM7ruJQRHA2UxNPaXGEdTEgYpRvdFRZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.33.92:9999", + "registeredHeight": 1483455, + "lastPaidHeight": 1825385, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1665531, + "PoSeBanHeight": 1828245, + "revocationReason": 0, + "ownerAddress": "XxnHmQm1XHui5tPqHFVQaXqhXrFRkJ1cK2", + "votingAddress": "XxnHmQm1XHui5tPqHFVQaXqhXrFRkJ1cK2", + "payoutAddress": "Xkqhn1Scq1qUeSNxWh6YzS3e9z5aEoKmjn", + "pubKeyOperator": "17f852291517ee880eb460880af3ba44adf35aa34d56154fa48b87b8d5f7038e9029a5e37c11b99c4747e6fc37864bba" + } + }, + { + "type": "Regular", + "proTxHash": "3f4e32dd8fb76d66e35c8e18902b9b5271501b86e13e9b26b147e65be4b08066", + "collateralHash": "dec22492e1801df50710a5c4df3c14363bbed2643ddb7135b06c59bf28ad1192", + "collateralIndex": 1, + "collateralAddress": "XehFbHoemoVzjVui3pYPkEszpKzrS8VnrA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "116.203.159.239:9999", + "registeredHeight": 1483468, + "lastPaidHeight": 1827712, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1828284, + "revocationReason": 0, + "ownerAddress": "Xkw3Got3Zendpy3jJamPtQhfatpvLZULKM", + "votingAddress": "Xkw3Got3Zendpy3jJamPtQhfatpvLZULKM", + "payoutAddress": "XnE8DUScMbqusLE1Esi1LsHQju76ffKZEN", + "pubKeyOperator": "08797b8fb78aae163127347675af842c593b120543131be20bded384d10874cdbbccd03be635fad4738683aa36a42f7c" + } + }, + { + "type": "Regular", + "proTxHash": "1c0a831b315c011a9d9abce9805edbd34dd3c039c9c81d75f3a01ca362890ca3", + "collateralHash": "59a480d457a01e15f3f0fdf26a242196af8f8f9794cc039361122cf97b603665", + "collateralIndex": 1, + "collateralAddress": "XyVudhQSxaEq9Zawp4ajinGPoivbgXQGGa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.90.153.99:9999", + "registeredHeight": 1483472, + "lastPaidHeight": 1825971, + "consecutivePayments": 0, + "PoSePenalty": 4447, + "PoSeRevivedHeight": 1703584, + "PoSeBanHeight": 1828475, + "revocationReason": 0, + "ownerAddress": "Xka7NqeDqc5HpXmoU2cV4KygeXZF9oaLYq", + "votingAddress": "Xka7NqeDqc5HpXmoU2cV4KygeXZF9oaLYq", + "payoutAddress": "Xcv8E4LQLySXtyY9FL8JaLEB2zJFQAiaSh", + "pubKeyOperator": "14ca8945b89347cf44591ee2babaef8b20c1f2c9d61f5b9e3e5962c898526838fe28561ae0d689a21b78be6688dacf39" + } + }, + { + "type": "Regular", + "proTxHash": "4cc56f326b88041c3816682d204976d354bb5c77a37a0b463f1f293e0c11b147", + "collateralHash": "48bfafe4a7f1d7fdada8f02c19d8d04fe2c0924d6eef82da0a5776747481e39e", + "collateralIndex": 0, + "collateralAddress": "XwsUpET8GRyPtEypoWVzWruFnY1RWQu7h3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.61.185:9999", + "registeredHeight": 1483970, + "lastPaidHeight": 2128786, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936983, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwQrDGNRbgRBNixGY2gE9dhe53bmSczH4N", + "votingAddress": "Xnmownk9Q8Apyh8JcK2pFwZBe6piV7Vw5i", + "payoutAddress": "XwsUpET8GRyPtEypoWVzWruFnY1RWQu7h3", + "pubKeyOperator": "8c018026a7cafc6e0d37f00870fe21ce8004fa151f4857463cf8e5061dc196e0ab567d73ceef84875dbdc451677fa5f0" + } + }, + { + "type": "Regular", + "proTxHash": "2b7071b4c3a799dd6d261d04164d192247d92ca4ad45518a68ab31f3a2cd2cbc", + "collateralHash": "5545b29b78b9f8a9d7b6fcf5a8fb45c11aaf68adaf05d6780aeb42ab2d44d221", + "collateralIndex": 0, + "collateralAddress": "Xiq9gydULYSHEFbYwjWSy8X5NYju2dhmM5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.153.183:9999", + "registeredHeight": 1483976, + "lastPaidHeight": 2126586, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiVhKgo8q1LnzGv5WHxaeWq4PQBPKnmyEu", + "votingAddress": "XcN6kTkcntTnd6bRWcxXFpiU7fELTUqpPu", + "payoutAddress": "Xiq9gydULYSHEFbYwjWSy8X5NYju2dhmM5", + "pubKeyOperator": "065470795d73d66a5273893df0b2768b101bee5ebd709c739b72bbc64752272fed7f5daf6b3dffe3679941f9278a0cf4" + } + }, + { + "type": "Regular", + "proTxHash": "9b851bec41bb82b7eebc7f24f24d117ae8f979ad389a5ae8e86a8fde3b8cafed", + "collateralHash": "06116dccb25d4b07e3b79a42ba8d8ddbbc361fb96dda6d1ed738c5165e037030", + "collateralIndex": 0, + "collateralAddress": "XgRn8hq3Am2BUqQSiXjSS4PPqidgMQX6bE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.116.116:9999", + "registeredHeight": 1483976, + "lastPaidHeight": 2127110, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoK9xyjKbooEkPd4X3yfk6Xk92CFytcZB2", + "votingAddress": "XuaSxSceuyoUasZ8vyCy3MyF6jcDHuRYhF", + "payoutAddress": "XgRn8hq3Am2BUqQSiXjSS4PPqidgMQX6bE", + "pubKeyOperator": "878b65e703a3b309c1a7bf9ddc5742602e5682ba44855af4641034802669d9f044ad63f401cb33a9c6acc58338401c31" + } + }, + { + "type": "Regular", + "proTxHash": "38deb85129fac5dac50ecf8def12d903b65a6e2785b48ca81977413274fc3844", + "collateralHash": "38fe2ec2d0b920146bf22cc7f425d797b0b4368b0e22f49cadff01a897c38c6a", + "collateralIndex": 1, + "collateralAddress": "XsgAoePc27R9oaKBkRFEPjRSLBPwCNcni4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.69.194.164:9999", + "registeredHeight": 1483976, + "lastPaidHeight": 1828170, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1828554, + "revocationReason": 0, + "ownerAddress": "XcDeeH8nZSnZ21SCwKQGnA8RWJmt45gYsR", + "votingAddress": "XcDeeH8nZSnZ21SCwKQGnA8RWJmt45gYsR", + "payoutAddress": "XuUaq6LW3vubQVt9ThPeUdSmihpXjznwV7", + "pubKeyOperator": "01589a6f197ede4aa7c1f944254cf7cc545f752a7e7be81e5d8625b5e23585ffb0d488cc5ffa592037f5ad3b0952c3fd" + } + }, + { + "type": "Regular", + "proTxHash": "9b6a42efb2f4ed0bd06e62dcea6ac37eced1e3caf5a4a822b2fce7582efa845e", + "collateralHash": "f7b67ab48b4afb9cb32433481439f36bbf4bb930f8f626e9bb58c38b4c20e002", + "collateralIndex": 1, + "collateralAddress": "Xci2dPvETbgLNsbTS26KVVWyV4otmq6CHP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "38.91.100.4:9999", + "registeredHeight": 1488543, + "lastPaidHeight": 2114006, + "consecutivePayments": 0, + "PoSePenalty": 2213, + "PoSeRevivedHeight": 2126347, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpPXNyM1E4bjeaTdWUSJqiXYupjLbiLx4m", + "votingAddress": "XpPXNyM1E4bjeaTdWUSJqiXYupjLbiLx4m", + "payoutAddress": "Xci2dPvETbgLNsbTS26KVVWyV4otmq6CHP", + "pubKeyOperator": "8cce4ec3385fc78a54d549c948a54c3d3c6fca1061c5699d602ec8d9c8b75323cba756bd005226dfb84fc2b1555afcc2" + } + }, + { + "type": "Regular", + "proTxHash": "df5f79feec828bb4255fceb1db638cfea532795854e446983bb5755e520a007c", + "collateralHash": "e233246ca500c2afd0b93c0c0a98e18ffdddadf515626b2fabd3b31b78c4a72b", + "collateralIndex": 1, + "collateralAddress": "Xdwp3t99dZWvKUSLLmY1sF7eV7xuQBxDJq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.162.211.76:9999", + "registeredHeight": 1488893, + "lastPaidHeight": 2128646, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119355, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbZehmTPRhkgRMLAQMs7mfHjveUhEo3h83", + "votingAddress": "XbZehmTPRhkgRMLAQMs7mfHjveUhEo3h83", + "payoutAddress": "XqUjBfbb4MZj4c7YLhNgwmD3FcRN1sE5Kf", + "pubKeyOperator": "80222b8057fe7bf86a84e7b0ad2db56c391193a40244ef24c15c9363c12ce6485231312396313e33efc3f7de551bd266" + } + }, + { + "type": "Regular", + "proTxHash": "df12cf6772c7d03d1e70b238837c31759d5caa046f11ca2b0408e51b12d24fbd", + "collateralHash": "482e5b3567e1a5d39a686f87d7ddf2632fd848269e6c172f25fc3f3a0bd21fbb", + "collateralIndex": 1, + "collateralAddress": "XrLFmD8CMVkGQhfAdHM83rGEh2mjhBCMkt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.63.78.221:9999", + "registeredHeight": 1490056, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4646, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1492955, + "revocationReason": 0, + "ownerAddress": "XmTFxRQBaPSPefBztE6NeDbuoumdzPJdCZ", + "votingAddress": "XepzynVWW8RpaKmAdcq6XrbhXQD8QioP9t", + "payoutAddress": "XrLFmD8CMVkGQhfAdHM83rGEh2mjhBCMkt", + "pubKeyOperator": "83947541b4242ca819613d058e91f5395fcd869defaee6acac650ac7f5906823cbb1d18515f70e385624555a0fed5a47" + } + }, + { + "type": "Regular", + "proTxHash": "c3e575b9949413c1d50d0f916f4034b251339bb252f66a361f13114859bf6da0", + "collateralHash": "0a5ea806fdae72df0c951369e7e8cee88c6e0a65ad508248e0e0fc487c278b12", + "collateralIndex": 1, + "collateralAddress": "XcVeCpzauhK3KReuJmgfDpRQuB695hK4pL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.35.17.210:9999", + "registeredHeight": 1492556, + "lastPaidHeight": 2128664, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiEMuhDpdckKwZRatJRQEKvZ2Zjt4e5o5p", + "votingAddress": "XtFcLJgdV6FTiwahG6VcSwScKtW5j9LgJT", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "045f9bbe218ec47a12c22ebe4a8660a256be7b1bde3fc703a9a3a79d2b28b3f45b2e92e4502d3af7bc3ed4da181bc890" + } + }, + { + "type": "Regular", + "proTxHash": "fabd4c1e1dc01895f6a1f386151c67631727d3d8025f47315da3b211350e2187", + "collateralHash": "67c4d084371bff88a5cae96d41ea95da3d1cf2df5e12ac395b95d379fd7e3423", + "collateralIndex": 1, + "collateralAddress": "Xbv3vJqkPWKDpLn8eFzcpMMat1hBKidrZP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.152:9999", + "registeredHeight": 1493218, + "lastPaidHeight": 2125872, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820915, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvhRZsXTfzU4DVEeHxfYDmGE8DqhDT2qX5", + "votingAddress": "XvhRZsXTfzU4DVEeHxfYDmGE8DqhDT2qX5", + "payoutAddress": "Xg5essCkq8SJhrngmWNp3hYQ3NDagFoxJd", + "pubKeyOperator": "1232235225905ae0f2f765dcc3908e2e40d241bf9783ee7e39831bf76b620e3c019fdb522900563dc06a0494b036c27e" + } + }, + { + "type": "Regular", + "proTxHash": "d6416d6981756be8cbffd11d65eaf84e64fd12715c6b4d76b5bb02ec45f421e1", + "collateralHash": "2d1bcb0c08d3fccd66cda657fb4034cd52c356556b8dc717b520bd5040fdce14", + "collateralIndex": 1, + "collateralAddress": "XkeK7tdeC1CTP7NELeH6tCymj9GwRtWeGC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.174:9999", + "registeredHeight": 1493220, + "lastPaidHeight": 2126884, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764882, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XppFxsaNM8mg3MurxJGQFfgiaNfFyvXxvF", + "votingAddress": "XppFxsaNM8mg3MurxJGQFfgiaNfFyvXxvF", + "payoutAddress": "XqWqqHFaAC7QhsYyMcFoQaaP3Vno7i7bdv", + "pubKeyOperator": "8768f19c7e03389fa860cd827306361a774e1d6effb98f1628d0b1bf910c4be08c443b008069483107d10ab6de0fe293" + } + }, + { + "type": "Regular", + "proTxHash": "85ca07dc2107988d0903d144006743d29e8701c6d90c3e46b6e8cdf60f6f738f", + "collateralHash": "a9484157efe16f371165745c418e4da5b5f34ecb62a6f2c945be09ac63b7f889", + "collateralIndex": 1, + "collateralAddress": "XhKLmUCckXLkB6wFrhYvXmPuFv18MAUkj2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.176:9999", + "registeredHeight": 1493220, + "lastPaidHeight": 2125850, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XezGZvAizeUnRNZpBAFQvPySXmVqnoMoJ5", + "votingAddress": "XezGZvAizeUnRNZpBAFQvPySXmVqnoMoJ5", + "payoutAddress": "XnLNFfySfNMYA6XVe9G65WZ8YNi6V5KZxq", + "pubKeyOperator": "02948eaa492197367edfb0605592a7aaaf0058bec71b090af483dfc0f9bde93b4915a9cb8decf2d85eb692b50959b649" + } + }, + { + "type": "Regular", + "proTxHash": "4e2fb474e997448f9d1e2e6c29e80a8ab6ec512d90dc75515997de7434bfaeed", + "collateralHash": "5d74e92fb74c05186d575168bdb9137dc0aa5cf6e91542e81454a8cfe23bb867", + "collateralIndex": 0, + "collateralAddress": "Xix2ZNCfhyAxyLs7CEUK8BmpFFNF3UKCmt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.177:9999", + "registeredHeight": 1493220, + "lastPaidHeight": 2125858, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdvYS46fGmC3B1omUmW9Jg1nQddpnKpwVa", + "votingAddress": "XdvYS46fGmC3B1omUmW9Jg1nQddpnKpwVa", + "payoutAddress": "Xnvg4gDDn71sTXK694WDxDgzAuytEqE3YW", + "pubKeyOperator": "120b14f4629acf7b553f8479253baed15cc9297f4e31998045928b9f35353df3ef10064e1fb6b929da934461babc9701" + } + }, + { + "type": "Regular", + "proTxHash": "8ea0bbc4c97280466cff584a7a5bba3cff590afd824be1cfac0bfe009292f1fa", + "collateralHash": "ee06d5b70c2c4067403bc98f6027068208a3ac6dfb3b46551d867b57388ba11f", + "collateralIndex": 1, + "collateralAddress": "Xviwg4J6Uq4wydYRwLbvdRwkZ8fjbd1qWq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.175:9999", + "registeredHeight": 1493220, + "lastPaidHeight": 2125859, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxhg8MU1pW7gXu5RHNFGYDyxKrqkvoruHt", + "votingAddress": "Xxhg8MU1pW7gXu5RHNFGYDyxKrqkvoruHt", + "payoutAddress": "XauSbEPd9ZoEAvyrbFHwxc53Rdg2Bt55iY", + "pubKeyOperator": "17f503d6cbba6a52216176aa05eeef22964ab41ebf96da0d0473e7b506f3a19da06521793cef82b438b08fe3b31f72fd" + } + }, + { + "type": "Regular", + "proTxHash": "15ae6a9dc8cd00b971cfbe284984a01f4b4a12d1a234552f186eff94cebad3f4", + "collateralHash": "b01658a525392e84f7684d4330ab492801b8c88eead65b818d48b04e9ef0e8dd", + "collateralIndex": 1, + "collateralAddress": "XjFyKyCtCRKEhhdJxj4FJf4XoqzsCQmWC6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.178:9999", + "registeredHeight": 1493226, + "lastPaidHeight": 2125741, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1582145, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh6J149b5ayaat9MpJCYocJaXMH9aHFsTr", + "votingAddress": "Xh6J149b5ayaat9MpJCYocJaXMH9aHFsTr", + "payoutAddress": "Xvfg3PgaRSgA5y4JJHmr74uLdYT5v9Daa7", + "pubKeyOperator": "12aab2ccf75f3e5e0e545f97cb4423d14a2c7dbc5ed52281c63b8ed4e3da3561f0f1ad38b78ed184558303525a19b79e" + } + }, + { + "type": "Regular", + "proTxHash": "9c1a949fae0c9fa3d402b7fcaf4dfd8ab7c303df6c07b8789b161f4894fb3dda", + "collateralHash": "52a3cd494a839214c85bd4fe2c3a5b701925827b83e90a7d21d0dcb71dad8967", + "collateralIndex": 0, + "collateralAddress": "XnbCa7DHdqCH41LdaZ73pyw5nyu3YsCBSR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.92.57:9999", + "registeredHeight": 1493245, + "lastPaidHeight": 2125865, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XicquhMCYGeaNdJzyqY127TqR1yemobPtp", + "votingAddress": "Xrjy5aQmpk5N6ryu52PPvxhqxKX2jdD7GG", + "payoutAddress": "XpXTHpJWcNzrrd1n4tP87tX628Z97rfhhg", + "pubKeyOperator": "90f1cdbcc85e2b5fe6913f362290ab9a1d6c959f9afb8017b49d3781cfdab286c9b17df4dbb19c6dc45a31dc72f30069" + } + }, + { + "type": "Regular", + "proTxHash": "f767cafd7cad5b1fa44e63f5b63f258169e547ef23a527a9bc220debd5e1487c", + "collateralHash": "7585a90ea5032884b4bf5ae67fff6ee7183fdf2c00d192f7f2d9efac758ee06a", + "collateralIndex": 1, + "collateralAddress": "XhWeAGBpB4rnbCNV2tSpo66o7LzBUqC2s8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.79:9999", + "registeredHeight": 1494243, + "lastPaidHeight": 2127587, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1700378, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpEghtpL4C2V6t9MatQHAF5pZASP3oeDfo", + "votingAddress": "XpEghtpL4C2V6t9MatQHAF5pZASP3oeDfo", + "payoutAddress": "Xmxukrf9QvvdaTTVaZjjxZzw4jaiEDdWzR", + "pubKeyOperator": "03e8076dab8cb1a1a70244754b23408018fdd84d09b7442b002dfe15e7e9cf7110573f5462edd4029ca7c64fd2845c55" + } + }, + { + "type": "Regular", + "proTxHash": "3ac528737c5a3746567283f25cf4aad5e5ca18b2669cc99420462f8f80c307de", + "collateralHash": "088d010322f499526b2dfef9f1633b842884c8029189d9f8b0d308f45fe469f4", + "collateralIndex": 1, + "collateralAddress": "XuK7uTDFKg8qNDU4qcT3vvSwXWLK9hqAJ9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.80:9999", + "registeredHeight": 1494244, + "lastPaidHeight": 2126540, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpN1dU8WAnHsrpCz466sEHTWPmfguxxwGB", + "votingAddress": "XpN1dU8WAnHsrpCz466sEHTWPmfguxxwGB", + "payoutAddress": "XnnpWBiB9FqXpxmZvJ8zXTAjdQkNLVFruG", + "pubKeyOperator": "0e2f6959b65c03a8f9417f274f92e13c40238ffade284dbc5099f3b0e8d3ab961cfc9f5e24302edb64583e2d7d71bb18" + } + }, + { + "type": "Regular", + "proTxHash": "fb293076323123bb55908380e482b06d59b2ac8344e2a6b9dfeb5c491544a35a", + "collateralHash": "3465d221e1bf215b4bcdb60eaa0f577cf09947d50a242089b75cfeec42df9ea9", + "collateralIndex": 1, + "collateralAddress": "Xyp6z5bhwWqzjS7nLdwafX3mGLXytKsCYc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.81:9999", + "registeredHeight": 1494247, + "lastPaidHeight": 2126543, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhmbVkVa7tNg8hdt7yZQe926uRUoeGQtSZ", + "votingAddress": "XhmbVkVa7tNg8hdt7yZQe926uRUoeGQtSZ", + "payoutAddress": "XiKtserPvALa66hKUBdE6TVdwc6qiSgdPr", + "pubKeyOperator": "964d9ad3cb892f3ee50a570a001063fb3e9e1541032637df7201e0963b21cdd15fcad6a5c52f637276c9dd0d53c2a34c" + } + }, + { + "type": "Regular", + "proTxHash": "6db4ef0ae2032d72bb32f3e9587513d4729126fc205bdf0d8a1d70f83827e477", + "collateralHash": "d184e21201ff28821fd8da98a708f8ef2a6a17a8c2b0666d8653d32a053efb69", + "collateralIndex": 1, + "collateralAddress": "Xdf2hnYeei7pw8zucjPW1qH7YGML85MTxq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.6.112:9999", + "registeredHeight": 1494384, + "lastPaidHeight": 1798954, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1801836, + "revocationReason": 0, + "ownerAddress": "XnyrGGPJqLpF4Sk9MpnfkPxcTwC71MesyB", + "votingAddress": "XnyrGGPJqLpF4Sk9MpnfkPxcTwC71MesyB", + "payoutAddress": "XmkUTCdHr1o6G6EomaV9xDA5DqQV1SrLA6", + "pubKeyOperator": "1130455b00034d7cbcef899d3ca03ffbc44c361e950db2c04de3cad0cb49d7004a832e85ab7f5773ecb13282ebdb422f" + } + }, + { + "type": "Regular", + "proTxHash": "b915b0cb814618214774f0a55e7aa1c5723dab32c0517fb55d7ca00bc052553e", + "collateralHash": "7c4d3b86c967bc062fdb46a259611ff88b3894ec310225bc780cb2f860c8d6d8", + "collateralIndex": 1, + "collateralAddress": "Xpzpn1vovZEWeyLXKbh4BZcFCvT4XfNUf4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "49.12.42.249:9999", + "registeredHeight": 1494390, + "lastPaidHeight": 1799264, + "consecutivePayments": 0, + "PoSePenalty": 4447, + "PoSeRevivedHeight": 1703584, + "PoSeBanHeight": 1802325, + "revocationReason": 0, + "ownerAddress": "XdQsnRcXay1WSk5GGKqhyfkXYNS5TXyrS3", + "votingAddress": "XdQsnRcXay1WSk5GGKqhyfkXYNS5TXyrS3", + "payoutAddress": "XcAyfWm4sFUqBoga6MrhWvMkPYHzP1PJCv", + "pubKeyOperator": "11100e8d65f8bf098b06a4515b0e4e9df313afa04eaa959477f9fbcfefb2ad46e80e1d0cc06f4cd7bc16a777fb172224" + } + }, + { + "type": "Regular", + "proTxHash": "f8afad425980b9699b9fbf31cf887e64bb0c30233472f3bbb5add4373a3e5e93", + "collateralHash": "64eb0844b54a94ed16759c8676446c0ba851a4da5e3ff015bcd67047be970e85", + "collateralIndex": 1, + "collateralAddress": "Xkn9t3dC4E4w4szhocmb2gxbwqH2bQyBpR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "195.201.96.22:9999", + "registeredHeight": 1494390, + "lastPaidHeight": 1798958, + "consecutivePayments": 0, + "PoSePenalty": 4446, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1801770, + "revocationReason": 0, + "ownerAddress": "Xduy3nzW5RowkXrsgPMzYTFbLJC7z64Qsu", + "votingAddress": "Xduy3nzW5RowkXrsgPMzYTFbLJC7z64Qsu", + "payoutAddress": "XbJXpkSKjrYBcEYR2Xba9ExX2MNHjUrVkM", + "pubKeyOperator": "872e88ab15ac663ba9aefff28a7e4b17270f9d4b62bff63f16d9a412c5fad040286f4f6c49e9965ae79696bf847446dc" + } + }, + { + "type": "Regular", + "proTxHash": "4e600745070b126d6f86158ab87ac1bbed21a185c1666cb8d61d1429b827bf22", + "collateralHash": "fe0f20bee08370b67be8612b26e82dd44c218e96cd08b1583ae53dae9c8e49fa", + "collateralIndex": 1, + "collateralAddress": "XyTiaR2UhJqLFCVWPsSdJn2shyc1Sxdqcc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.90.155.176:9999", + "registeredHeight": 1494399, + "lastPaidHeight": 1798964, + "consecutivePayments": 0, + "PoSePenalty": 4445, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1801979, + "revocationReason": 0, + "ownerAddress": "Xj2jRuRyZE4vAgqadAzLszmduiR1Mh1Fnh", + "votingAddress": "Xj2jRuRyZE4vAgqadAzLszmduiR1Mh1Fnh", + "payoutAddress": "XvYaGtVMUQsWzYovsb2scLk1fd68C4H6xz", + "pubKeyOperator": "93e4b579580c98e3607511fe9f199b3eb5b17a57123ddf7f87413705f2c5006c0207a836d51cc01f47d333ba8e1cd349" + } + }, + { + "type": "Regular", + "proTxHash": "ef637dc57d15bc6f7184d2bb1b8ec7d1b1585b0394d27e228f638dfb5ec315ae", + "collateralHash": "6a1e131fd536eeaca0397b4bd6c55fb1e62c5cff7f6ebc69d15e447dca74a1ee", + "collateralIndex": 1, + "collateralAddress": "XkCRcy89JwxJTkef2xcqUYyWv7GAULg9Fo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.175.128:9999", + "registeredHeight": 1494408, + "lastPaidHeight": 1799269, + "consecutivePayments": 0, + "PoSePenalty": 4447, + "PoSeRevivedHeight": 1703584, + "PoSeBanHeight": 1802325, + "revocationReason": 0, + "ownerAddress": "XvKepUgC9kHxX8bJEJbDSUnnYvCcMdBwxZ", + "votingAddress": "XvKepUgC9kHxX8bJEJbDSUnnYvCcMdBwxZ", + "payoutAddress": "Xu99HA771rszyRJkLqEPeHE8tAyWzPo3KB", + "pubKeyOperator": "1063d558d66383f8b7d1542aafa1e0330748a63cedea6f30947f86bad9caba906c75b5eb358acf9d5c35f3e623d55513" + } + }, + { + "type": "Regular", + "proTxHash": "5ac78e0eec346c22c5dbe05f4c70a97468df327a2d659134d387f8882d4f8f17", + "collateralHash": "4cfe509fae1d20d59856bd1aaa73041858ac0569b534a764c06d845beecc3649", + "collateralIndex": 1, + "collateralAddress": "Xf3TqgpKFaqtfxTPyf2vqygh51oYWDhUvP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "116.202.96.104:9999", + "registeredHeight": 1494414, + "lastPaidHeight": 1798973, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1802058, + "revocationReason": 0, + "ownerAddress": "Xar2domuiDbiq2aw7NptrEjvHZTUv2hqy7", + "votingAddress": "Xar2domuiDbiq2aw7NptrEjvHZTUv2hqy7", + "payoutAddress": "XsBGAXx57APDcArkcztv4bU7iYMwiyBNvW", + "pubKeyOperator": "8d5a1a345350220dfb51f47a2bf9951c78a3008a321067ae7d532eafa1c65a325bc3b3ab6f6d8a1c7cecf015aebe13f9" + } + }, + { + "type": "Regular", + "proTxHash": "a4513d11fa164a26e050f3ff53f4c80b6bbcead3c98c9416f00777a05a8ddfc7", + "collateralHash": "f0417d6a1fbc305360f39a2a85f40bfcbeb417cf9827df003e6e49eab5ade614", + "collateralIndex": 1, + "collateralAddress": "Xuybaa4Rt4QX7DU9WikuueXkdgCUmaNADx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.47.19.135:9999", + "registeredHeight": 1494414, + "lastPaidHeight": 1798976, + "consecutivePayments": 0, + "PoSePenalty": 4446, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1802038, + "revocationReason": 0, + "ownerAddress": "XcnzRghDisWABW1Xdmi1gknFH8EUpBmyai", + "votingAddress": "XcnzRghDisWABW1Xdmi1gknFH8EUpBmyai", + "payoutAddress": "XiRFe5LcvaaBDZdywWVyWNfbD9q6mZngqS", + "pubKeyOperator": "865bc562957a1596cfbde13bd70612ccbad3da974b9976675fc624e1901e7bb33277814fa52d0cd18f2a3efa66293c93" + } + }, + { + "type": "Regular", + "proTxHash": "1fca19d74b3a0dcc4f7cd4d78aa06738f705f14a6500742f5823ebd8506cb5ca", + "collateralHash": "790e14fabbd065baaee25099d641cbd73b4d2eb2579a5c1ac562478948c4a0f4", + "collateralIndex": 1, + "collateralAddress": "XqENbFJSqeGXPSoUb9vw5hFBEg2LmbQBzw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.200.160:9999", + "registeredHeight": 1494414, + "lastPaidHeight": 1799270, + "consecutivePayments": 0, + "PoSePenalty": 4446, + "PoSeRevivedHeight": 1703584, + "PoSeBanHeight": 1802058, + "revocationReason": 0, + "ownerAddress": "XukjMU89ti3LMHsaW9nBmkfmYfBTqQZugD", + "votingAddress": "XukjMU89ti3LMHsaW9nBmkfmYfBTqQZugD", + "payoutAddress": "XutLkmsuvW9gndZtr29b37RD6M6riZP7Ec", + "pubKeyOperator": "85466e40f04220def01723630e35fdbb108358ce905affe0e1e50891ddbeb4ba6b4eb969423c65a0bd862b7c2e2f6563" + } + }, + { + "type": "Regular", + "proTxHash": "cf61ba8d86dedcdd877df83bea30be4720db354466e6e57594e86f5a3e4498b4", + "collateralHash": "19ee20ac8fe046b06a40aeb03104a3755d66f7ff4fd7913ff946b933079ef137", + "collateralIndex": 1, + "collateralAddress": "XuiD7HFi3U1Nx1fmTW3oTtHcjd9opxdSbh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "116.202.102.108:9999", + "registeredHeight": 1494439, + "lastPaidHeight": 1798998, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1802483, + "revocationReason": 0, + "ownerAddress": "XqMhpiTHJTTCyUptRgCDWz9AJ8KviGqrkX", + "votingAddress": "XqMhpiTHJTTCyUptRgCDWz9AJ8KviGqrkX", + "payoutAddress": "Xks6doYMSAEhbUrKTjmycEvCkrXwR7ZuAa", + "pubKeyOperator": "02025da22b4c39a1843ac6fb08287dea4c8c8b2ece873cfb215d2d9ea4500cf9fc4d152ad0cf7754af2eb63277f90156" + } + }, + { + "type": "Regular", + "proTxHash": "eff2e58c7e4385b70989e486d4409e0e6d7eec85ee7c068b12c679635237acdb", + "collateralHash": "229b0502b165b232929bb36db028dfb6ca74622abb3610cc534b586e2806db63", + "collateralIndex": 1, + "collateralAddress": "XtLF2Y2ZZZi15ECeZi7UQCehQ6wBwpECVH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.111.216:9999", + "registeredHeight": 1494446, + "lastPaidHeight": 1799001, + "consecutivePayments": 0, + "PoSePenalty": 4446, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1801770, + "revocationReason": 0, + "ownerAddress": "Xky4fBwk5qs4o4GS2JuYJy1Sg27yg7E1f9", + "votingAddress": "Xky4fBwk5qs4o4GS2JuYJy1Sg27yg7E1f9", + "payoutAddress": "Xx2M33EH3A8nFnwvEkXLzuuseti9eqpdPU", + "pubKeyOperator": "84b8dd4ac8fa5b11d6966dac8b62b05d9042d0d24b7714bc45fd7890b7fa1814587f0d67b1d060a9f11b6acffbd58da9" + } + }, + { + "type": "Regular", + "proTxHash": "d6007375c34eeeb3725e037e7fc095b7cb1f06f663b386bc131f06d53d8ebffb", + "collateralHash": "37ac793c8042a28b3e331455a8ce9c7c991891b18866eb2743983ef4ee18901d", + "collateralIndex": 1, + "collateralAddress": "XhgsHH4HBRL8xFqsUktzGexZMEohSN2eMQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.18:9999", + "registeredHeight": 1494728, + "lastPaidHeight": 2126926, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfoTdD1EvfuuHGVJ8GSrK9ywbwp6mQ1yzZ", + "votingAddress": "XuNp28qzkm9CEFsySAftgoJjH5G6bSPcRR", + "payoutAddress": "XhBhW8zwesbbG32NrqMqtZhCZvJnFqgCov", + "pubKeyOperator": "8d27644c984938ca471fb8eebae76114b17ab43bfa1e726cf50b335f26f39d2d5faa0aa3db3bb2c6bb94e2c027d25f3a" + } + }, + { + "type": "Regular", + "proTxHash": "a996057cea02fe0bee6543769635bbd89fc3e569ce966470098cd988228385ce", + "collateralHash": "ba2974bec4104d6177d4c883797fafa50a222cb17f7d2e04ae383b0746a43efe", + "collateralIndex": 1, + "collateralAddress": "XfeZU6ngnX8qm9gPVroVVg78aDqHxjg7fX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.215.116:9999", + "registeredHeight": 1494964, + "lastPaidHeight": 2127084, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsZKeaAiEn7xoQnV4kC6GQZJCXxnycm9Ym", + "votingAddress": "Xfce9Rvqaiio9d6STFNSkxLHZXWtBEne2h", + "payoutAddress": "XcoXH3ETjL9pNPbZ3gBANSTz24tX2Pntbp", + "pubKeyOperator": "82753af03f0f2914b4f5a3310cf0cd5e214cffeeee32b1b710c2183aec65dc707402726df2586536c7c92a5ad8c74326" + } + }, + { + "type": "Regular", + "proTxHash": "475c0434d16c40762674c164f47539c0c156938a178143917d15805c3956833e", + "collateralHash": "bf5f12702638b6451676aa4b6756dd4454ba3110022cf46f048861a4303bf56a", + "collateralIndex": 0, + "collateralAddress": "Xwf8Sir6r743zX72VJ8VAyXzATtmRJt2bL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.240.34:9999", + "registeredHeight": 1495515, + "lastPaidHeight": 2127507, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu3v7TVpGiiftZQqp5JfJButtHWXEupQCA", + "votingAddress": "Xev65kJ4Zn5Dn8yFvPFS5euzMujoto25Zk", + "payoutAddress": "XbzY9AwghouSDeuRwoz5mE93vCwbMfN3kN", + "pubKeyOperator": "8f0d0e77c43734579c9cddb79d7c1f1d37248b1327bcb24c065dd36989338dd1cb5417f12ae8d06bc351713279c8ff2f" + } + }, + { + "type": "Regular", + "proTxHash": "30ec16a89541db24bb48fe224332fea37c1b33614cb226f95875dfcb24e33eb4", + "collateralHash": "dd452b2c749ae441adb75d05575207369441a6ba99fa5777c03de3f25cc77146", + "collateralIndex": 0, + "collateralAddress": "XyuKyUFRTt4qeArpBwA1jNDn3k8EFqRSn2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.17.79:9999", + "registeredHeight": 1495520, + "lastPaidHeight": 2127520, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1819052, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxaY1zgGfUsVLBubenAWDBwiDu9DtmmCq4", + "votingAddress": "XrhYQm5UST6RzizNaeURbxUr8BzPYWCa85", + "payoutAddress": "XfDRLt9SCK86AQK33B3zU51DpecKtouo9o", + "pubKeyOperator": "043376ad6a2bb51c1d4805809282fb62d43199157615f580cfb4e7f1e465877ab35df52a50eab851a19ece461571345a" + } + }, + { + "type": "Regular", + "proTxHash": "4089f0ea972dcb9a1a8f2b315e218103950b3a95a8fb01f318f73b04610df800", + "collateralHash": "f31b1861d6b0289f73ba2ec282688133e9ea455a1ee751f59d55004e31638f9b", + "collateralIndex": 1, + "collateralAddress": "XmmC15cRfRD8mSTXN3tNtx3CwjDkp689YC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.108:9999", + "registeredHeight": 1495979, + "lastPaidHeight": 2126012, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1948665, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XczSSJu9S1SP5FwGm6UYMWMoZ7nxgyH7o4", + "votingAddress": "XczSSJu9S1SP5FwGm6UYMWMoZ7nxgyH7o4", + "payoutAddress": "Xn757SZsKRprKqQhv6up51DuXcYoFtp47R", + "pubKeyOperator": "8641281cb35d748c72e4c631f9bf7a1e006340c3ca2e7452b1c262c9b327fe508ec6119be160dac4b7b6392dbe02e857" + } + }, + { + "type": "Regular", + "proTxHash": "07a996e87af481d642233f35b0d5fb96ace3260df69e8a1b416da3a2d81084f1", + "collateralHash": "0f65b7270683dde42bb7980000416ffb5cc7c8603794afe5e501502c1d0d8d82", + "collateralIndex": 0, + "collateralAddress": "XpETGKeZtUMzQTyUV1XKDewkg4io9soP7G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.103.234:9999", + "registeredHeight": 1496167, + "lastPaidHeight": 2128043, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsqqeHdaRxDtZKBTjoaeF2r96HxzsFLm1Q", + "votingAddress": "XpoFhccBwKkNam9HHRQSEnRTWHSCrhHR72", + "payoutAddress": "XsbkyCU59V4bCghGMTdcE4SJVTt7wDJqmc", + "pubKeyOperator": "82745da7c370aa420e03f4a3d4e3959e1a42bffef43ae3cc00c6618838d6c6cbd973e4a30ddd7a8b8a0cdfcc41166fbf" + } + }, + { + "type": "Regular", + "proTxHash": "56a3e3fd7ecf368015146844e200fade94491fcd8f4d73fb4d2d4f37271e7cce", + "collateralHash": "ff212fb703eaf58e1efe2a8c26e820dc2fec9523a51faeacf8b053bd1ec9aee6", + "collateralIndex": 1, + "collateralAddress": "XtHn6pBirSHen744wYsLHrfZhTujYNWKfT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.242:9999", + "registeredHeight": 1497209, + "lastPaidHeight": 2126260, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1537621, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfwFmJb3qYa51NtwTJ3FB22hsxgEsDrVZX", + "votingAddress": "Xb6yEaWUzA2FWm9ZjJb2pBuXbS82vGacTN", + "payoutAddress": "XbEWvwoS5garKc5wjzDRJZqMrxt1heytSJ", + "pubKeyOperator": "96ee4ab7bfd67ba1a334ebd6960267bfd765f8e115f04cf58007c9c94bba56114c81a4a7be4d62d55d1a160aa3db29ab" + } + }, + { + "type": "Regular", + "proTxHash": "df3d8c581088ef499b998645469f810398d65e1834c6e342de5d891156fd2b1e", + "collateralHash": "7c1a7e0bf83d2b45f35b81245f69d4a38ff57867defcdd287dca4ee5d1cf9415", + "collateralIndex": 0, + "collateralAddress": "XdbxA55QeqFmgPjHa4GDfHaSHR7JfzjvSK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.233:9999", + "registeredHeight": 1499977, + "lastPaidHeight": 2127767, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeVuCqEkpeX3hMgZTdeyRVnvvfuB3B7NxM", + "votingAddress": "XrNARSZScvQJruygHDqUNF4hJL9JrFBiRN", + "payoutAddress": "XdZ5CQ8HGyZGMZ2CqbMjZAyWRGSAPFhfjY", + "pubKeyOperator": "11c34092e69a3022a74aede93adeefafab6e098a57779f13489a6a3ca13c05772c41b89394dfa0214f1adb08a29b1b6f" + } + }, + { + "type": "Regular", + "proTxHash": "2aa11d14c9e4e5f541f647868a992a53eb9e56ae48a78b96b23b525e8774b3c4", + "collateralHash": "43e811e85d243dc481decace5fbb16257ef7814e1e7d21f218123345f8ae5a48", + "collateralIndex": 1, + "collateralAddress": "XgMYfVf6T6QfnhRTk3YUGWZp8Do6ovM82H", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.113.202:9999", + "registeredHeight": 1500968, + "lastPaidHeight": 2128612, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoAVuCMwzXmH8Lq4ZWpqoXnHDGbQTc4G6H", + "votingAddress": "XwSz2ZMFyrrRJpL1ZuYtT7u7SnxWNbNGtA", + "payoutAddress": "XgMYfVf6T6QfnhRTk3YUGWZp8Do6ovM82H", + "pubKeyOperator": "8b8e4eb655a930f9fd22e68a8d985631659d06f3465ae0ecec620622fbf78833467ebeb3e1c5aad6da0b3ad14b3f5b1b" + } + }, + { + "type": "Regular", + "proTxHash": "f915070f3e10631bf9e1beb0af6c95c0c4b82182aed01ec0c17755fd2554dda2", + "collateralHash": "2364e72639d7dd6d4bf64873814eb1105ec756f74c2e531519e0471516990db3", + "collateralIndex": 1, + "collateralAddress": "Xp6BUMkTGjToSXeKzorWWWnTPTVMhJCrSw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.106.130:9999", + "registeredHeight": 1500977, + "lastPaidHeight": 2127613, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1979756, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmvWsqHdXcenC7zchHSoKhahe1XuVJ29Yr", + "votingAddress": "Xq4fYU2hEL1WQu21UHbxgtrhhQkp3AazFn", + "payoutAddress": "Xp6BUMkTGjToSXeKzorWWWnTPTVMhJCrSw", + "pubKeyOperator": "120f721cab43774a50bfa47f7623b87ec0b430fe90fc942733fdf6d684a1341f963daf2ed719774dfca01bb4cd814575" + } + }, + { + "type": "Regular", + "proTxHash": "b3153329f815446a806d0393f3778e43fd3fd4fcb1d74a786be0201852399bd7", + "collateralHash": "276485f257590ab4d158003a62ac8ec378e2728e6dcc17fe35420592655a3613", + "collateralIndex": 1, + "collateralAddress": "XoeHR5ZGjATZquPa1h9uBCqGyGQeEv6odN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.136.218:9999", + "registeredHeight": 1502558, + "lastPaidHeight": 2126453, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi3pWTVkrTqZwV8jZ7PAGL2KWjnGTvGFXY", + "votingAddress": "XjDVcmL1MiJAwS8ktDw8ELAwfLsT9b8rHp", + "payoutAddress": "XgQDdttHsx2dCeakheez6KQy26UHwzmgdd", + "pubKeyOperator": "10a65e71faae33d9d167b20d271f9d5a50bea0a711b2601b1e40960e7197c4b3cf4abe760893c16d8e4f0cd6d10571b0" + } + }, + { + "type": "Regular", + "proTxHash": "87990e8f3c0e442d98bdef32e6f870ba4b22656634a2a833cb316a918559df05", + "collateralHash": "0414d0182e68c10fbe708136e3103c2e7b37b0e1af7a800ac821e39fa9790cc1", + "collateralIndex": 1, + "collateralAddress": "XkhfwwZKUTwzE5eZ5fULh4fCcbmD3VegNb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.111.111:9999", + "registeredHeight": 1502983, + "lastPaidHeight": 1803927, + "consecutivePayments": 0, + "PoSePenalty": 4445, + "PoSeRevivedHeight": 1822778, + "PoSeBanHeight": 1824810, + "revocationReason": 0, + "ownerAddress": "XoB6tw31QdkYpThre1Uo49b7uvtWJbYssX", + "votingAddress": "XvmGWjSieBj7gnjDgfXKetEdareJD2gyRN", + "payoutAddress": "Xr5pXn9NscCgz8uHwq1yH2m9TNmUzpNZa6", + "pubKeyOperator": "1641e02bd394169ffc582c2bbded13599a1312574641d61a3b559be849a5267719d03b6a488eae0bfbaf9c4953bdb393" + } + }, + { + "type": "Regular", + "proTxHash": "bb888603f5df510dee2c97dbc30a6dbb11e2e68533f4cd3cae08f263f587cccd", + "collateralHash": "590d1e9e26e999ffff950442ffa3af8ccc40e3df7b638494101eb43d33ffa9f2", + "collateralIndex": 1, + "collateralAddress": "XpFMjr9p88jCBZPz3nXsooy9LiEgGK6RCn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "58.121.229.25:9999", + "registeredHeight": 1503104, + "lastPaidHeight": 1872959, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1733165, + "PoSeBanHeight": 1873482, + "revocationReason": 0, + "ownerAddress": "XmSgM4sqZVFQn43SJoPz2mj6MeVkBHLk2u", + "votingAddress": "XdsEY2ESHKxbyYSzvnw2fFDoUqtHKtuiVc", + "payoutAddress": "XpFMjr9p88jCBZPz3nXsooy9LiEgGK6RCn", + "pubKeyOperator": "9421efc6d1085e2d1bde085b7829c7540f15d56a694fb954770edf8c86fe5fb4574b479ba2ec92a2620ae76dd24b21d5" + } + }, + { + "type": "Regular", + "proTxHash": "19d5a3796aa4d92b79e28406e94db3f8eabcaaeeebf750d60e8cd7fec00ee332", + "collateralHash": "d455d9ae3c63ab9676f2233c5a58b3587437919567a06e0d54f0760c5423388f", + "collateralIndex": 0, + "collateralAddress": "Xd1MhtVG2TumwfiSEcRaDfrbZasDjHMuwN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.147:9999", + "registeredHeight": 1503919, + "lastPaidHeight": 2127412, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcPWQf6xSNKi7aHk8dXP1xbd1UqkSv64ST", + "votingAddress": "XfVq1pMvEz6whP7EQHPQ85Z43mCkK6gZPz", + "payoutAddress": "Xd1MhtVG2TumwfiSEcRaDfrbZasDjHMuwN", + "pubKeyOperator": "01d01a64d62004661b11485e01dda1fa9c3bbd82b87627bc30a4068f5520ad6094f2f7e3817751eb13bd67e51a395d5a" + } + }, + { + "type": "Regular", + "proTxHash": "938ad4661db04615f397515b2fcd2dead58678438d7fedf73a5a8cf8555d3a85", + "collateralHash": "2bfc0245f3a637458442bfd8f06f91f91b595dbf54f4b13827e9a977b6e99471", + "collateralIndex": 1, + "collateralAddress": "XteMg74CKS2vHVthU6zX7SW27Kc3m8Q9n4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.21.254.231:9999", + "registeredHeight": 1504304, + "lastPaidHeight": 2128464, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122166, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhfZyW2ruLBMDpaf5gfEBqzhf6RsVZfR7Q", + "votingAddress": "XhfZyW2ruLBMDpaf5gfEBqzhf6RsVZfR7Q", + "payoutAddress": "XdM1jHhod729WuhrhqwqKbuunheVU52nKM", + "pubKeyOperator": "99b1710f8b4edbe35de42d26a3bd02589a4c4ea038243f86f298480220b9858ea4e25a7ef2e2510c352bd6b1e2b12f86" + } + }, + { + "type": "Regular", + "proTxHash": "088bdc297abfc8abd0e588f4c99b31c7326f962733e23538d86d5e474a0d8ac1", + "collateralHash": "08793220de15156f7bcd14985ce3968bd1bf4adb7616c3f7b5330d5c2fb9839d", + "collateralIndex": 1, + "collateralAddress": "XtcDfDkQNCgADKsDBWnEhmeb1U4uEiSpoX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.34:9999", + "registeredHeight": 1505154, + "lastPaidHeight": 2128501, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkRNfeJuRE9Q3hG6ASnRGRyveuEJPxzUTc", + "votingAddress": "XfFEK2AenVACH91WjLjdD2Ew8uv3crDGsB", + "payoutAddress": "XvWQGWp7rquJDEPJBA21XHpb552nawj9Jp", + "pubKeyOperator": "008df8d312d282e65f5d803add748676e6b6024e6b9801e775a2ab42c7123f228094dd08adab86095adf7c6ea75a33d7" + } + }, + { + "type": "Regular", + "proTxHash": "eb0a93c49d3a8e088dcf9c5dfa48bb21047b8106c58529da106a18916bdf1b8e", + "collateralHash": "6021743875dffa57b1c5a8160155ef9a34c76f6691842c79472eb9890e9a9e32", + "collateralIndex": 1, + "collateralAddress": "XkaUBUxuyXLQK3pNwPnWgQkagr779TTvH6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.18:9999", + "registeredHeight": 1505154, + "lastPaidHeight": 2128499, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc8HPEhk5KpgrwawWcpcJWcHEfgxaxCAHa", + "votingAddress": "Xc75URAchsRu3mBbtYazmsW1ntrR49UzrH", + "payoutAddress": "XnUBhHzUYcMkPnFpnrfcQBkkpzKShQeFoH", + "pubKeyOperator": "10f116340f4159ccb144f89ba2fba539ee99fd95657a12cc04b59c510c3b03ac6f72fb2b099e001b69dc78060c9c8bd7" + } + }, + { + "type": "Regular", + "proTxHash": "1384c6f7453b887ddc7c64d6a96895b6ce4e45dcfa7bdfd99d6023f99346bb06", + "collateralHash": "e0b887c27f8d9be92dd90854be2a25eb31e6f1b66af91d67c71701e5b897d9aa", + "collateralIndex": 1, + "collateralAddress": "Xf3iTyhAWtUAcUQcPLAdF62FsQ9BVHm8PL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.230.105:9999", + "registeredHeight": 1506377, + "lastPaidHeight": 2127990, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1688637, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrHYZ8wv4dWi9Tbu8Sck1mSHmGRULJwos3", + "votingAddress": "XvzKhxMeaWsHWFDcNhLyT7aQ2A99YDCfUv", + "payoutAddress": "XpZaEkTbzdrBaAhi5qz2R22QFYRMTnCtLn", + "pubKeyOperator": "815694faf9b834bab2f7627cadc845095af8c0319bcf5af5e0cf952734f775da4b619c3a008549ed45171a55a6f40e2e" + } + }, + { + "type": "Regular", + "proTxHash": "8fd257421cda2afd54b9376da01bd5f695028a9a3bb66b0785224cc63d06add5", + "collateralHash": "7ae87a4fec6fd7b6e6de6d1a2dafeeac9a9f10267664f23aa5f56076f0dd9270", + "collateralIndex": 1, + "collateralAddress": "XqRP3WSyNyZ4z6R982giR1wTZNyKomMMKJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.227.228.93:9999", + "registeredHeight": 1507189, + "lastPaidHeight": 2126687, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcyAkxQjhEBJJAFc3nVWC5GY2XTRsCqFCE", + "votingAddress": "XsdoEJxu1NoMBWZDUQafF5ZbwyhAywkWJH", + "payoutAddress": "XrWumoRbWutc1zqQBndPSm2uz2R2ZTUggo", + "pubKeyOperator": "8e0949c9bf4dece21c2c7eb78de4e50792db36de04592033da38111be5726931ce6252c9cedddb9f2df775a557d6184d" + } + }, + { + "type": "Regular", + "proTxHash": "ab84ebe52266a9a534b5d5add64af937d09698b0771e49bec24d98eb5e741955", + "collateralHash": "1b29605dd8f60ef493454bb5204d4841f4abbfb4b5c2bc22b35a611363f33f90", + "collateralIndex": 1, + "collateralAddress": "Xo8vRu1PPfwetAYBshZ2WhgoDNciFwDEQX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.93.211:9999", + "registeredHeight": 1507567, + "lastPaidHeight": 2128800, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977459, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsK5JfG5PnfY1D5vvq7wNKqZ9JyyyhqYse", + "votingAddress": "Xh5PpJHGw3QsXanG1kbSpDuFMcVNE5c66o", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "0bba5dc0e216fa128d8701d0ce4de39e2dc39f16a0a3ceeced7fcc89d17b65cee32362bc68b712bfc9cc5490c334c6e6" + } + }, + { + "type": "Regular", + "proTxHash": "a7a8be1fda31a5e5da66b80951a90beba7f0f39c300e524d89869fc40d33b5ca", + "collateralHash": "1baa4d1d35bac7ba7382099e5d7a7a607bd1c43c25fe4b2d9e213d415b1fa2dd", + "collateralIndex": 1, + "collateralAddress": "Xd9ppvtsPGdE7zDVmc6L5hijKaQzfLGHTN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.229.223:9999", + "registeredHeight": 1510768, + "lastPaidHeight": 2126205, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvuzretMXHCo4gncJ7u5agcVxqjRieuvsQ", + "votingAddress": "Xc6UJyUvToLjjPYpXPeaJ9bv6V8pjLwHjF", + "payoutAddress": "XvwdiUXXkXpwGPNpDtQjU4SSoTvcpdLX4N", + "pubKeyOperator": "8ebb6779f0a66b5cdf74bd15996ec1c44c571d34626775ca47499f24e2f670c9aa274a7868d28178b1e435c4964f4dec" + } + }, + { + "type": "Regular", + "proTxHash": "382449b3c7bd30b392da3a6a1aced45107465b3b9400b6e5847b492d0243bc1b", + "collateralHash": "5ac211b96327a534a0a50c470497a243f7c70572e445d7795d7514657d20cf68", + "collateralIndex": 1, + "collateralAddress": "Xau4DuB7Fc9hK4JKPwmeTmyawxgbh4bL2e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.137.11.31:9999", + "registeredHeight": 1512645, + "lastPaidHeight": 2117752, + "consecutivePayments": 0, + "PoSePenalty": 3835, + "PoSeRevivedHeight": 2019646, + "PoSeBanHeight": 2120586, + "revocationReason": 0, + "ownerAddress": "Xn9e13J1DdG7V6vCDCcZivS4CAd64mS7vs", + "votingAddress": "XchZNKJTrrcrgT4j6A5uVzaX7TuhipGSPv", + "payoutAddress": "XvLo4MX32Wcuc5C8A1pvgTtZtAZF2oKuyd", + "pubKeyOperator": "06b22ad4aa5e96e4dce8dc84e0984e4aeb0e35ac47d548319ecf325b8d3a471cfeab135395fd7989f89794efcb982e3b" + } + }, + { + "type": "Regular", + "proTxHash": "809adf607834e2cce39646c36969696e1ea7ba66a14c58bf83a04ca225826abd", + "collateralHash": "d696e667d5e8c666548eae2e2bf548fa508b1dc30e4cf22bdb95d05013ff7753", + "collateralIndex": 0, + "collateralAddress": "Xvik3ftxghEq246oDACkEyN9VYJK9PEBTW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.235:9999", + "registeredHeight": 1516565, + "lastPaidHeight": 2127194, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrX4sijtneJppiNHzxxPmAVq2Y8VM1wdwd", + "votingAddress": "XeF2NH4hbVDUc3u2oj43q6g5hq5duNdMZR", + "payoutAddress": "XiUSh8x6QxP5sCDHPTZf9rRZJWVNi6fnZ3", + "pubKeyOperator": "802c0e3c24631d68a0c90cdeb23f5389b31bed81fd545724291f62d2468ea44ee6d457285c70a2eb9937ff98ddf03438" + } + }, + { + "type": "Regular", + "proTxHash": "0bd97c542f920da1246152ef9f230e360cd3bad948c5fa1e47ec93f94037d203", + "collateralHash": "49c17605096e1239597a3b081ab42fba2a2a1ce3c2da0e8eb4d6a5887a8fa8d0", + "collateralIndex": 1, + "collateralAddress": "XmfyR5D39GwRs6VCmcrnoFzjEox5xnzb77", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.20:9999", + "registeredHeight": 1516751, + "lastPaidHeight": 2126598, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1665747, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmAtUc8QbbzNX5ydBswse6bfcQPTZFbb5P", + "votingAddress": "XmAtUc8QbbzNX5ydBswse6bfcQPTZFbb5P", + "payoutAddress": "Xr8dhdmn9rUNhSk9TPdSBkRqXqm6B7ZdHy", + "pubKeyOperator": "04713054fb14b3815a39e194c497fd21a0caf4725ad561e5124735a0a5aabaf64a1d059da0697040282a3f6d5d4226f1" + } + }, + { + "type": "Regular", + "proTxHash": "57caa25d697eef898eadc7b183e5fd76b53c3d3f965f63a8b715625565c61435", + "collateralHash": "75b72f532f873e9c6e8270e6c37122e6ab2b8a84e653ab9c513c1b2fa47566fb", + "collateralIndex": 1, + "collateralAddress": "XiNZ4voAy3asTxeqk8RamnctRFxHV7VPRi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.34.233.201:9999", + "registeredHeight": 1518081, + "lastPaidHeight": 2128595, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1714029, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw1zSGmMT3RGCLD5LmZ1mBTvx6M2bZJzj2", + "votingAddress": "XnmCDcUpQ7cKDXGLp9YZMRcHWDwPipb6xq", + "payoutAddress": "XcTmfx7hiBgcPr2Pp3fCscmXKDjp4S6JTU", + "pubKeyOperator": "91be2d40ef86ab5fbd03f362f81061aafa2e1a6be860cf4747e8a73b69f62b22f5c78771b82c1d9e78e55cf93b0755bc" + } + }, + { + "type": "Regular", + "proTxHash": "46a9114284da0aa87d97cdcf3840ac5f9a15b5c4fb8042d01ed0e0d0ba1640e8", + "collateralHash": "3513150b10c793df90dbe38f7934b87c4972cf6fbf65371bb5afc3f6274dd69b", + "collateralIndex": 1, + "collateralAddress": "Xn4wdkNA8AHh4EsdGhPWRbzUn9dirSogc5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.227.35.129:9999", + "registeredHeight": 1518097, + "lastPaidHeight": 2126425, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1844389, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwvG6RXB33zoX5tDGxTnkHKAPYNi2MzXNY", + "votingAddress": "Xj5UMZizojrLwZheRfZCWkVXdWaGEV7Mwr", + "payoutAddress": "XmyfuWWokjYfhzkJ3E4MHhsDXHHc8iK5Xu", + "pubKeyOperator": "013eef3f6f7ee1f67b89331f83566fc611ada0168bd540408f5d12b321d2c9cfae916a5dc70b3e77a4ed4701129213d5" + } + }, + { + "type": "Regular", + "proTxHash": "692dfb82cf41d175f3968fa9ca84a95c2220f40ed40a9a9e3de40154737cbd3a", + "collateralHash": "6959df8be1a4b1d1b2282dea70c17a0bcd0a66b2fa7b02e7cf1010cb53303c32", + "collateralIndex": 0, + "collateralAddress": "XfHRyicrCFSJBgZvKLtD1b44nbs4s4QDmu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.19:9999", + "registeredHeight": 1519089, + "lastPaidHeight": 2125926, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuaAwjSz76ztX8anxbRhnbAou4VvZZAASs", + "votingAddress": "XimTAaYboDpXLX4hsmeGHJ3TZthUEQZv3X", + "payoutAddress": "XvhnPPJxSRotWj5oDegobNsPRi9rYVVrT2", + "pubKeyOperator": "07953996505b6b9a0abc839585f3a467f1fc4de30e39db193744c66f43d2edaac8d04509c88c2b20a831645f46e0b7c7" + } + }, + { + "type": "Regular", + "proTxHash": "4a450c5b7faa30d9731769c6361db058fc3448ad7bf7eb3de0fff228b77e2579", + "collateralHash": "fb15fd9d068629e30fe8944ef5ed3ed7c9e935665009e56024a29572270d6681", + "collateralIndex": 1, + "collateralAddress": "Xc8eAgVqrj1fYMQgjnjLVgVPJZrEwff5ag", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.38.115.43:9999", + "registeredHeight": 1520217, + "lastPaidHeight": 2127569, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121414, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgHSzXuCaYz8JPHH2xtFF4ZuuruRa24y81", + "votingAddress": "XgHSzXuCaYz8JPHH2xtFF4ZuuruRa24y81", + "payoutAddress": "Xc8eAgVqrj1fYMQgjnjLVgVPJZrEwff5ag", + "pubKeyOperator": "8d28ac0d906364061f85878b5842afa164e76e982ba0cd31735abe614d2af9ceaca3cc3f83636285d088443826b284be" + } + }, + { + "type": "Regular", + "proTxHash": "1a4971b284fa3b5b2701500daaaf0ccf6e9036bd7d8e6864cfa03dd3b929e558", + "collateralHash": "4843769fa40106073d32ef52b8e4b2068d6caea2ed8433583a9aea0a2e648f62", + "collateralIndex": 1, + "collateralAddress": "XdmJzCufySZpQvR7LiX9fJcC9NEcbRd9uQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520239, + "lastPaidHeight": 1723942, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725636, + "revocationReason": 0, + "ownerAddress": "XfVTk6517cD7x1eyZGjEjGaKwd5qFsv2r8", + "votingAddress": "Xcm8vc3gNhMPsUKrpjhgwuuLK4Q6V98vZz", + "payoutAddress": "XnRmpSexycNnjT6CYHiL32XuTuEbvc2bs9", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "02fd3dbcc8e70b72fd10ce33565bd9b7eb9b8d22fb1f271b6471235cd97003ff", + "collateralHash": "3a51fc76ec615fbdc8b1820e0c92e74e8bc1afde8a5db52d05ffe86a94def050", + "collateralIndex": 1, + "collateralAddress": "Xm97k1ajrMe6K92SjigKbqWdxwpGdauzD9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520240, + "lastPaidHeight": 1723948, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724555, + "revocationReason": 0, + "ownerAddress": "XgPrCDhTBh9PGHoc1wPjSL6RZLEvr1mrUF", + "votingAddress": "XmSWcAK5UpovCAhi7XKtAPBmxKomPXATZu", + "payoutAddress": "XucLhCVPdsU3eEdhh6zHrKmLQkQ5isPxYc", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b654a68a9e674b9e850b68049a6c5d4273471112269b2f7e63f6c7aafdf249ba", + "collateralHash": "395f682ef3711e69d4b99eae495cbb3f889bd5182dfafe62b5ee7e41c84b85d0", + "collateralIndex": 0, + "collateralAddress": "Xotmy5vKiTnJx4729jYqUUe8Ki8xAvLE94", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520240, + "lastPaidHeight": 1723947, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XrLJ83BTEPrYXbB8ewBDRMPfxWPmNQsp3z", + "votingAddress": "XavEb3n21BaU57pFZkJewMzrvdaYpUfRLv", + "payoutAddress": "XsxXsqxygGdNJD3uYghxkzuFXZcVhjdDzP", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "16a4d8165a2329ca7224accbed5a86d65f38ffae8a08b58a725035cb104dd0b6", + "collateralHash": "2843f9bf903968033a9a706b5c0d0a77b604b71c29e6bfb3aac6823429d0a11f", + "collateralIndex": 1, + "collateralAddress": "XpbAzNRJawQT6cckWhjq1Vs6wzEYf5CydV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520240, + "lastPaidHeight": 1723944, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726259, + "revocationReason": 0, + "ownerAddress": "Xtb41qqq4pwyAENocqvoZymvcbg4DmtEYd", + "votingAddress": "XuhJBRCifeQiBjfyZPjJc27LhaVHXEroHa", + "payoutAddress": "Xq5XT3RVRiMSfZQvwJs6pDJfUKgJq4G9rH", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5dd452add244d7db7c8e679393ef7de146b782bb861edfcf550d602dd3c9bd39", + "collateralHash": "3c6ded135d4e08fbaf38cc11c02f10151aa575b9a0341e60e7a9fba28b72c772", + "collateralIndex": 1, + "collateralAddress": "Xp4ibYURbEmWBnvSPfL4JuL95PmP82QxZ3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520240, + "lastPaidHeight": 1724662, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": 1614992, + "PoSeBanHeight": 1725430, + "revocationReason": 0, + "ownerAddress": "XejBmeqohE9HR4VS8ip7Tx81rjjFGdPYqv", + "votingAddress": "XfWy5yJrZGjWhqzhCn2LjctDqPY1CMSFsg", + "payoutAddress": "XuVr1gRiEJEGCjyUx4vaR79AP9ksAAa2h8", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "21464a7e36b43feb52c24a81c329b405afe39d89b9d0318e7ef2a80570d2465e", + "collateralHash": "924d37591222050fbf0e7e7fd4b1b2f0e60d31b7b5e8b52919649bea404049ab", + "collateralIndex": 1, + "collateralAddress": "XrYJwdBHZDKBtxqEaUg115vN7B5KZ3REBp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520241, + "lastPaidHeight": 1723504, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1626857, + "PoSeBanHeight": 1725131, + "revocationReason": 0, + "ownerAddress": "XuV1gA8YiHQx8xXEnfpFeKkkzMbkRa8PD4", + "votingAddress": "Xmg5uButbJVSC8gxzac8asMQtrSpGLuz1z", + "payoutAddress": "XbKo2mMbYR6PTCiZRDwCJepVDM6wc6b7iB", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d42874f5f981c501ced3be73c95ec85a0e4ef33817794fcfb8e44782290e64ed", + "collateralHash": "dd169bc02bb2445660970fcbc3c896e4927d1f043c173c3696d7df466fa8772c", + "collateralIndex": 0, + "collateralAddress": "XpDk7WXth1gDpw1oCRhkLStEdLruS1EidZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520243, + "lastPaidHeight": 1723955, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725924, + "revocationReason": 0, + "ownerAddress": "XeRmsmzGaUqy6GpNTezMR1heE2AC9PiAi7", + "votingAddress": "XkQMPQHaxNhNitu7eeZj2WpDdMDWYorMM3", + "payoutAddress": "XxbS8HJoxpGFykKUtNXipvDgLwR7itCBx3", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "65398363b0d8dd7fa4ee1d3c00f5e82dee31c19b079de7d5aadda9f136f763e9", + "collateralHash": "4d66d60ecdbf44a29a3b9ec0deb0b8859fd282091a71905b8e52d2dea1c8f163", + "collateralIndex": 0, + "collateralAddress": "XfJy5vYGLVPNx4PMfZy4Rw5EebnGSM6KhR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520243, + "lastPaidHeight": 1723954, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727267, + "revocationReason": 0, + "ownerAddress": "XezhsjWNbQ5C9SKnS75dDXfLXRMsQvxWX6", + "votingAddress": "Xrj8fkyu3yF8eAxErTNeEedFXmULBiK4pb", + "payoutAddress": "Xy59vhQV99NhpPMEbHn27tcUkoPGiGpggG", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d19b616bb0aca0d428946c86d6028a7a088e99b7fc98f9a980f94dfdba5ffa34", + "collateralHash": "574bf40bcb34ee11d28d624d240092e4ce111ceb8aaa0bfc1f4188909cdfe4df", + "collateralIndex": 0, + "collateralAddress": "XrMw3Lybd7WvqSQWjV2KwKpH7ar7tyAPsi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520243, + "lastPaidHeight": 1721026, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1611143, + "PoSeBanHeight": 1724964, + "revocationReason": 0, + "ownerAddress": "Xo49vRihiMj6aY6vZQNE8PJqtYt8fDeQT6", + "votingAddress": "XmByFkk7fhGW9CuRMsUKhsLbc4ULHe9RVb", + "payoutAddress": "XeiXpRcJMvMkZqUBqqsv6KHzT9Tq6wE8XZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3e685a223c9aad902635c0f7f2c8dbbd6083153bc4dd330e83e8856712785df9", + "collateralHash": "9360e537503cf906d0e10a72193e12c574195a02d76eeb0c5d54404bc5873dcf", + "collateralIndex": 1, + "collateralAddress": "XdXpt1WrkjyoNhTnrUt4tD2Q2uGaQp4nRL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520243, + "lastPaidHeight": 1723956, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XwXd4b2VpxDGLR3PPqco3u4NbdUoWNqhaZ", + "votingAddress": "Xptd3RhXnppta55JQaag7NMkc1uRQaMWoP", + "payoutAddress": "XxV2RdBjF3xFAudUNUKWd2ycjR3idPJnzZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "62a01314c6fcc70fd519b9710b403902bd135b72d065a68056607a341075cfe0", + "collateralHash": "fd14ab6ecef9778496aba8908d4b778024b7913f395702b4125cc06ea797df9b", + "collateralIndex": 0, + "collateralAddress": "Xi9qLsSorQbzP6JMdYG2ccUwUPBkcyGYwv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520244, + "lastPaidHeight": 1723957, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725636, + "revocationReason": 0, + "ownerAddress": "XtorSM67ECp7LK6gm9ea2mpesXYf9EaGzs", + "votingAddress": "XyizPvLz8ePrBL3PjzhRdfjkT1vX5NQjza", + "payoutAddress": "XsV68GahxjVYEXw8TxNXbvQnALSPrk74um", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a55b7ff05f85380d4198e3843ee1489448a7df2c8611d528653831485a732e05", + "collateralHash": "01b91ece55c8fc86b86fb14764d8f6851df4255a27cbf71a39fc4a19176c730c", + "collateralIndex": 1, + "collateralAddress": "XiXa7LBYnSXXsxboc7XNUcfCKp6A7dGyaE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520251, + "lastPaidHeight": 1723966, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724604, + "revocationReason": 0, + "ownerAddress": "XbwMUv4SD1nQNhxfeJy1NBK2N7TfFTRe2X", + "votingAddress": "XyEBoTi8W8ZZbcfW5f78jJaGjXfFJHLrsw", + "payoutAddress": "Xeo8y5XLfCM8vE3aq5FGZaVE8Shm7BUhRD", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "55262be8d343b4998c95bf8b3d0322992b2c7cc6cd0d64b8c45b65714bd1bdec", + "collateralHash": "097bc4bdc3c6825f43b519e4ce3e9f5d9443ce629e76e53bcd5f59b790a322b0", + "collateralIndex": 1, + "collateralAddress": "XjzYoyxqL8FkEeUzLwPhbN3zzkRKk8Qj7v", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520255, + "lastPaidHeight": 1724243, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": 1623304, + "PoSeBanHeight": 1726331, + "revocationReason": 0, + "ownerAddress": "Xfy1bDiRgYV4RF1xxX6MW6AVWHHBHJXhrn", + "votingAddress": "XpQys7pNc45MWejyWsqf2dSb2pRtyvdNF2", + "payoutAddress": "XotfGXwHoer2xWWBVvT9xjQnkqT8PNCX1a", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "cabadd86c7804e58ff20663aab467bd4f459f536a09ed025957b2a8612ca364b", + "collateralHash": "c06359020bfa25039378b74764f44485e35280509e6425d5b9d5479a9ca7e743", + "collateralIndex": 1, + "collateralAddress": "Xrts5pX57obwNVpiDNSButyQxncVGGmeim", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520255, + "lastPaidHeight": 1724139, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1636212, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "Xit53822gGR1gJX7Eap3PzGMzHrASLHxwW", + "votingAddress": "XbG3whEE9wSNGkViKL5uB8Kjff1jrGVwxC", + "payoutAddress": "XnJwHSFNEeLxb8bXJ9xdJmrZSRWER8sKAs", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "22b9d59398d7f8364af07538560f5585c5dd8374e097ea9a7c9e2b618d5d86cf", + "collateralHash": "ac9ec79da3970a8e423c01f49b53fb57966dc4d985c27c365d542b47c65bf6cb", + "collateralIndex": 1, + "collateralAddress": "XaiwudvNRUhEhL3PqMjatEFLvA6QEWe64z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520255, + "lastPaidHeight": 1723973, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724939, + "revocationReason": 0, + "ownerAddress": "XiU1ftdERc5S9uPBSP6CYVbP4CPb5W4ukd", + "votingAddress": "Xs4k7ZocuXkz2AoeCH7TAY8JjGrmEnhEun", + "payoutAddress": "Xw9rBe2ibCaiednJFgWbko6vYDgmxpfjQ3", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "65385b19eaadecc589b414611eca766ffbea6494dead350838c761b55600a719", + "collateralHash": "2fa12b156fc03d27b1f23c4f3cd3b03274a660efc2ffe8807776a54067a8d397", + "collateralIndex": 0, + "collateralAddress": "Xupxb7GoYn8CRRhbBWDDChUg9SrbDL74tL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520259, + "lastPaidHeight": 1723975, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1623027, + "PoSeBanHeight": 1724699, + "revocationReason": 0, + "ownerAddress": "XfwiEhgMEfWbj2fzc9iacWNLonLMFNYt1J", + "votingAddress": "XjT93Shn8b5Yj7n9GsXA4VYvwG65TChs9a", + "payoutAddress": "XoCPJayAXb3PbmwgPkEQpFAJKEecyFD9bd", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ed5a9e3d995c0d798913add9759410da38ee8b7db445ddf97f843616c00c684f", + "collateralHash": "89e3a1c067e9285b396db2f7a903ca328a63c088eb77497af7d15797079e1a85", + "collateralIndex": 1, + "collateralAddress": "XwbeQkZYBEWX1y376kZg4DUSdqQ4tRnB8o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520259, + "lastPaidHeight": 1723986, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725430, + "revocationReason": 0, + "ownerAddress": "XdNoKC4utPbqmEiGxZanparKoN71BAih9Y", + "votingAddress": "Xo38v7sjJvcvMBJtiuxGHhwSB4vCENHwxw", + "payoutAddress": "XrkefsADWYqmkGdgKfdZiQpw9WgehtNMJB", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "22f418457220b461ac12642ed04025a17f9f0767c0a04da053ecc91776ad3413", + "collateralHash": "33db6c2aa650365ff951e910ea4fe91ee1ee764e03db21135fd715fadb507c11", + "collateralIndex": 1, + "collateralAddress": "XuPwR4jYTGyStRMyzUjVTKqtewKTqA8Xtn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520259, + "lastPaidHeight": 1723985, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724531, + "revocationReason": 0, + "ownerAddress": "Xdzh3gidBifNndsSTnwMojskiaTpfhbjTj", + "votingAddress": "XyDJm8XGCRBP6epJrQ3w9RQhkStM8TNYZ4", + "payoutAddress": "Xjvnifnvvwt64BPRCT3VFtpJkw4ytJ8Gkx", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1f0ef94da74b14d2721131fc66f987b9d66a2fc94781554a6b59f459b01882e5", + "collateralHash": "4efb9e763366cb59dac47dee19363acdc7cc4499c7a67611ccb0505a9136452e", + "collateralIndex": 1, + "collateralAddress": "XsJaPLT1szkMLQZtL8oNPKTb8yo8v1udhY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520259, + "lastPaidHeight": 1724204, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1623266, + "PoSeBanHeight": 1725948, + "revocationReason": 0, + "ownerAddress": "Xj9JJoMCfAv3GN2ygFG4FBj9MQnipuiEhn", + "votingAddress": "Xu4vaDumekwXzwMA1kVgPPsJw3JgnpYEg7", + "payoutAddress": "XspJTjykNV8QKcV2HRULzyZEUXgPmTndeU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ed584e99986d9fb91f2b320733ff0bc558297e02c44a46c793abb2773288ac3f", + "collateralHash": "69633ab47f44bef359452a51006ac4fb74b40fdce269116648b5780f2fc1b4f5", + "collateralIndex": 1, + "collateralAddress": "XpBVca7j8vFEChGaECLaBGDCobegr4e1rz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520262, + "lastPaidHeight": 1723990, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724604, + "revocationReason": 0, + "ownerAddress": "XiE2Sz5JQ6hGbDJpvzPPqAdaPyiu87xa8h", + "votingAddress": "Xf62K4XGz25hKboZA4dRReRMif82a6MMkG", + "payoutAddress": "XxzDMt3sTferb8f5Ux1WxhcP6pisBFBnNB", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6ed6a9168cefdd29997d93cf5f6447bd15d8943a636fdeaa88d9708f4be7f8be", + "collateralHash": "0e5a41b1d827f392d5705955e901a5741d86fa74053d3e6252238a6e0c65e48e", + "collateralIndex": 0, + "collateralAddress": "XjFHaZnUnqCV1xGErguQN2RkYqmPLR7VA6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520262, + "lastPaidHeight": 1724143, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": 1556881, + "PoSeBanHeight": 1725348, + "revocationReason": 0, + "ownerAddress": "XvTNheZtaKZAYZmRG28WC3xYt8sook3bjh", + "votingAddress": "XbFCtRAN7iNsHordjsvppZGEq4JR19L3eD", + "payoutAddress": "XgdEhgqGCw1X98L48bEDURKFZ6ifJZTqmQ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "60c216ae419e98ab4c7e069e7adf529358be59e0cc691ef666439993595f81f5", + "collateralHash": "ad1d697d8c53d1f0b67fabedc3f239fc0fe6c9d3fb27be6c9445e4e456fe9ae7", + "collateralIndex": 0, + "collateralAddress": "XrnC2pab5eKyRkGr25jUc7Q9ZKwvcA3b4h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520262, + "lastPaidHeight": 1723992, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725179, + "revocationReason": 0, + "ownerAddress": "Xne6kFRS3ngCGfUmDmGdmWDetJBtvmqTks", + "votingAddress": "XeTeE45msBaCTHH1bEdua3m3xjsWU25viv", + "payoutAddress": "XfV1kkZemZZWU1SsJtg8r788jy28Exq6G5", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1383b3930a3c13969712540735981f220c6cb8f069c06a6222332cd33e7a12b8", + "collateralHash": "8369abe2d07cbfdf73add299283e709996115bac925a071c58b4732d5329decf", + "collateralIndex": 1, + "collateralAddress": "XhnVshYYo9cNmbLXWEdPvieyPcgHZBTFCG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520262, + "lastPaidHeight": 1723991, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725468, + "revocationReason": 0, + "ownerAddress": "Xxnndt4wQztf86Z3si1TdYY97SzXdLXHhk", + "votingAddress": "Xihc9EbfshtWRJ5Q56L1rNHBtEJaDD48vq", + "payoutAddress": "XajMo6rabXdufc8ekWtegm8pUKojZKmDyV", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0e25ad85e6e39c33d1227d69b684ec8c4376c2c680c28c545d32d5da74043918", + "collateralHash": "14c4ef0cc013f06ebe4179aab4e5eeab93d747f865670805ebb18f0f42f4f78b", + "collateralIndex": 1, + "collateralAddress": "Xm88xHVFrV7y2cnQTjUnd2hZBrQMKF8GmS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520262, + "lastPaidHeight": 1723989, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724531, + "revocationReason": 0, + "ownerAddress": "XnZQN6xse3haxgWhV12AZQYsvoexoqzmjG", + "votingAddress": "XwfEqNU5FPBBoj4ccPWQZca7KAXfmRkFDS", + "payoutAddress": "XoaKuCFEPK6fXhJcnqxABT6ujcWqkrrH8s", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5f89c40d694843adacb8c6e8bf47d4df55e66d240a4399d8c511578220cb6720", + "collateralHash": "f078da0cf6cd40bb8524ec8246a66930eb51c4b5835d48b569a3bb7180ae678f", + "collateralIndex": 1, + "collateralAddress": "XivD1XBkzPfA6UoaA5Eb9uSgEdkyzSyp2P", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520263, + "lastPaidHeight": 1723994, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724277, + "revocationReason": 0, + "ownerAddress": "Xb4BDfpVMwF92P8Mhdp7TbJ8APCPSCTHTn", + "votingAddress": "XmEcpBXCuHgrpX98w57b3V1toFm51kUtcD", + "payoutAddress": "Xb6cefL5rEGtupqmU3SF2T4DYR9PbKRzDS", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2ae238443919bfdd04b7b8df7ac25dcc7cbfe09ac55b4936072a0fa9408df0be", + "collateralHash": "854c94b2ad3d51fa50a9c578af327100a3e54f3924a7e998da59ab2ad16d1fa2", + "collateralIndex": 1, + "collateralAddress": "XwSecFzLCgDE2tresuWb6wS4SY2W1ZzmEF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520265, + "lastPaidHeight": 1723999, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725372, + "revocationReason": 0, + "ownerAddress": "XyGZx81JuQ2cLrKk1XRsHHX4eLnoy8kTDn", + "votingAddress": "XiNDwDKHBzAxy35TPVFXrxjDN2EStiiCNp", + "payoutAddress": "Xy15aZiXpSgpmKJKE524AndodA3k2VVKwa", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f0b9ac9c769ba93087822af0ed118e182e828063ba00b54f5d748b707d4a0aca", + "collateralHash": "149f15d5429c405f2311087d893ef7cb65ff536915398bf6330c58e2a6b54bfc", + "collateralIndex": 1, + "collateralAddress": "XqybbtXugapFEn58sagMbAzWKV1zsKWcMd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520265, + "lastPaidHeight": 1724000, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725299, + "revocationReason": 0, + "ownerAddress": "XmrRs9ExRSMPHeufKmxkgG5mCsZ1vC9AxD", + "votingAddress": "XkS8o3MxieF6gNoJQHgas5sjGN8yKhwjS8", + "payoutAddress": "XtULK8ZtnyWtbuMPqEbqvoniYL8L7uzZY4", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ad22fda29cea1ab1a134444fff9bdd8c95521188c2e26f1b27c4542deac62d74", + "collateralHash": "a868cd21d3e29c3f9543eda020d73ad468b4d3f21915838d9e8b2d3ba39faaad", + "collateralIndex": 1, + "collateralAddress": "XrtqTVrVPrdwhfVJrJF5myXaqwuHSXSuVX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520267, + "lastPaidHeight": 1724001, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724483, + "revocationReason": 0, + "ownerAddress": "XeL94iBwC7dmKw8y2p1D5zw2wFT7QSa8sT", + "votingAddress": "XfNp6EKepYrfBjwc4FUMrSdcSHYA3fKKJA", + "payoutAddress": "Xq7XSBdjbh5sfxGBoCtC783xPwJcrUsfeQ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d93a38a128871e47d08d152147f09993edbab3328d084bd78ed900aa26f853b0", + "collateralHash": "0072b3b63f33e4e04bc22f98d2e2ca61eddd2400a1355d7dda55f2b6b35ef3a0", + "collateralIndex": 1, + "collateralAddress": "XtJTPEmDsXbzP8Sh3c8HvKYfRUACjYHYt5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520268, + "lastPaidHeight": 1724009, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "XwDunCRoPFTyy8w6CpXhcyN7U8rNKjDxNV", + "votingAddress": "Xe5JNgP9daTYyzjC9HgSNvmJTpXLon7n5o", + "payoutAddress": "XmcNESU2eKMw4HBtK9UDgcR87CXsRDPwev", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7e412a787b7a37d9a88014e1e6374320c295cf83f9cc0e00bea9c79658f8cb3f", + "collateralHash": "73f31d7ab8c7b7562691f8c34384623117bbee72d88f712a1a9f75d53b1cbf70", + "collateralIndex": 0, + "collateralAddress": "XetUHCojW8hkPNAyKekzJsG7E1TRXfc5dG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520270, + "lastPaidHeight": 1724011, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725732, + "revocationReason": 0, + "ownerAddress": "XrPwTSZnKnxu3FhBpStoUtSgsAky8ssyBS", + "votingAddress": "XgRPrHRi4ecbaCmhLsVCLzW7aJ6NZGWaHs", + "payoutAddress": "XwdJefK7ALmp8mAqzPHQezAQrUsLQM6CqC", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "cdf6ed64e724982ded845ce83b9004aa01d41ed6bda9c553859f7bf6a98e7ec3", + "collateralHash": "8d84810efacd7fceb74093605bb26bb6da4cdc2421658ac45c455e956f858208", + "collateralIndex": 1, + "collateralAddress": "XmsAmXs64yuSTiiSu5Nf8aEHKW5ECReDcM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520270, + "lastPaidHeight": 1724014, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724819, + "revocationReason": 0, + "ownerAddress": "XbfY6SvgybTqX7HCKrSBbP1MvuVALe78hj", + "votingAddress": "Xk3m9f1Fv61fnzxLcYB2XZ4wx49cAWWbuA", + "payoutAddress": "XfSWUQtwqkzuCAJbHKqHX1hCXoRTqKUcsS", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b2b6c661885a6442eea3376be151c1a1ca5d4eecb208525929f35176cad8d241", + "collateralHash": "0fa5874dc5e46244dcae0f021c939c35348136c1c105baa93f2b48e77e5ed870", + "collateralIndex": 1, + "collateralAddress": "XciyNxdxG34c2vbYZ5dFMHKYeiWHG3tqwe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520270, + "lastPaidHeight": 1724201, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1623266, + "PoSeBanHeight": 1725179, + "revocationReason": 0, + "ownerAddress": "XntJKWQVCMhAHcj5Btg7o7HaQdH4gEBgkD", + "votingAddress": "XumLTE4naCCz9QUKpFSVZ3xfDLJvvP8RJ3", + "payoutAddress": "XfTKK6C6jAPUsGXf8y4gt1guq2rf5ApguE", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "dcbe8588101d10770d9cb7d2c5e8b6547d507deebfb5dbf3682198ebcaba9fe0", + "collateralHash": "12f242ea020c2a7ed2c306ec49ffedaa62d4a0b7f6576731fe4bc3ee6e4793f2", + "collateralIndex": 0, + "collateralAddress": "XkSKi2QQxochq9qs1AttLFfF4g3s6uXzjZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520270, + "lastPaidHeight": 1723764, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1561036, + "PoSeBanHeight": 1724267, + "revocationReason": 0, + "ownerAddress": "XpgDswoaynuXJnryz1pF3bLZW3CfTAzYzA", + "votingAddress": "XwJfdFFjiU6WCEWXwrP76EWKiCzqPP41Fp", + "payoutAddress": "XvXGohRSwGuEgW72TS69GRfxV4mEs36Y6N", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2536ffbaf219a75fe428dba00dc5a557b1430673e66ab4a4b2dabc5dcca51d6e", + "collateralHash": "b880ed1df3e0789ebdff6f8ae6c3b74adfe4ed89207a6073164ead2e87fd41e2", + "collateralIndex": 1, + "collateralAddress": "XrkpkBd55EKsMVr5ZUL4RnjU7oSXpzja67", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520270, + "lastPaidHeight": 1723840, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1561106, + "PoSeBanHeight": 1724724, + "revocationReason": 0, + "ownerAddress": "XffmzfZxNFQdUMgW96uPNYXqa7686SDJf5", + "votingAddress": "Xr4ei7dKphJPxeACunXiB293nh56PVEZ1W", + "payoutAddress": "Xxiy5jGCwaVKMnhQAtDzS37ELFmXYzdZUC", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a3430c0282aa49d935883db81ab3c0ec0d97ff0ed16d95f5286512481304aecc", + "collateralHash": "035183059397647c856558873aa647fc0103973bf3a111cfe6fe43928b00e31d", + "collateralIndex": 0, + "collateralAddress": "XfNAdcv4ous4Qe1UN29FyyXHMvkH6BEq1q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520270, + "lastPaidHeight": 1724016, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725395, + "revocationReason": 0, + "ownerAddress": "XkNDLx3xYaTTwX7zSNLiXV7whqGL14aBPo", + "votingAddress": "XkbroWBsZm4kdCr2hXtjMYjowGVz3tkuHf", + "payoutAddress": "XbXGFkCJkhy2nfm3JiFiKJsbJEKacYDgYg", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b211a1a645f881c97ce078a154642cbfad5e9edb05b2d0ca0e01d6be6eee3b15", + "collateralHash": "63a55e90c243faf2ca5e6adc022ec96dce3af532f15cfb682605a390847eaaa1", + "collateralIndex": 0, + "collateralAddress": "XenkCDNWpCMf9UedztLwk7oiQkewVPc6TG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520271, + "lastPaidHeight": 1724017, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XfMzm9RGxuSC1kfjv7jLDC5y5hLEUWr2o7", + "votingAddress": "XbfiRyAxDsASKir1gCymUEuZ6bGU8CCaEh", + "payoutAddress": "Xf4pTKA8HAPFgjb1gGukMu3iPQtF3ycEXU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "42c2758fccb3532cd003a3eb8f60d2dca6a57e54a20fe6849209b0cf53261f74", + "collateralHash": "b4466ec5f0642ce3a85c56e19218b4cc16011e100ed02a164b463174f0eb48df", + "collateralIndex": 0, + "collateralAddress": "XibMs5LyAUc56QcjydRmXQt4DDq2eyiXQe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520271, + "lastPaidHeight": 1724018, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724507, + "revocationReason": 0, + "ownerAddress": "XbgqYeayTSmU14pDCooJ4cK5Udcoehj8zb", + "votingAddress": "XwGigcFCkacjG4v95KvW3FYcE2GcXVWwJR", + "payoutAddress": "Xenn83VySf1BieznkVmGPWTmdPWM677zwX", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5bec4038dc41c46bd6947840099158a21a65c0c046e97b6991e6254f5e56e4b4", + "collateralHash": "a83f758d7e9258f90e7d09dbbe95df8b6ce92bd01e2a9f69e28b9a7839e05ba2", + "collateralIndex": 1, + "collateralAddress": "XukAmwefpqW3hWfrUmdBruvKrkuKQScjo7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520271, + "lastPaidHeight": 1724019, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724819, + "revocationReason": 0, + "ownerAddress": "XdA5EUHsF3yfrrB71g2peFx28ThnC6AFcF", + "votingAddress": "XtwbHa4WBZ7c2dEUmyWToyvTw2WCKVN51q", + "payoutAddress": "Xjt8wAoyFLFjoyQc1YC2JMovp6Z4a2WRPn", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e5ad1518ff0c0fb0e92d459819c6447d1ebc5fc995069737ea7d84906869b92f", + "collateralHash": "f5a8828b7f90aac96d9103255e537f57fdbcba36f66d29bedff5a67662dde60d", + "collateralIndex": 0, + "collateralAddress": "XsyuvqjB341S71xsmwSUCcN1KvAfnAG4A5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520272, + "lastPaidHeight": 1724023, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XyZoWaKqzTZiUtLF3WXpvjgTh1LatLXkcu", + "votingAddress": "XwEJynvkfwjqo3WHe4EM5kKbGXCXaijPSQ", + "payoutAddress": "XwRVuDvJyVwkzT7akGbHB5rhx3DJcDQZ1Y", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f85c942103bdffeeb7aaf088d10dc81976283d2f527e5e704b062b40870106ae", + "collateralHash": "61617cf31edf3a68e1756b5e17fe26f837c796be896db0caba2dd85b487574ff", + "collateralIndex": 0, + "collateralAddress": "Xf2mrZk5Pe7T7Ze4mDNa25n2rnbCuEnSWo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520272, + "lastPaidHeight": 1724025, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725227, + "revocationReason": 0, + "ownerAddress": "XmM8EKcvZ65jxXt3W3aQvEEPiy67PVWPW2", + "votingAddress": "XnvZkUatA59EjkFXHE4UEAfYFUXMNKfL7d", + "payoutAddress": "XapjxeHkDFHxsR8Kt3e4ryUHsL8eVCWayg", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "8a0b02c6e6eae49375a9552fe91070966049c0dcfd9c6e14776fec6dcca04c0b", + "collateralHash": "ff0e3ab6d6ab235a40405d8674272de5152b6923e13cc42f065ec4b7bea24582", + "collateralIndex": 1, + "collateralAddress": "XkhPyFdx3y22hBj6EuuXYHoPEnWhyZf37w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520272, + "lastPaidHeight": 1724021, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725108, + "revocationReason": 0, + "ownerAddress": "XsKRYmZ4oygf2UM3YAeK23kYtf8xfAEBYG", + "votingAddress": "Xvgv8XUsgDoaRW9wizRgnNAQ7Rvtv9V8Yt", + "payoutAddress": "XyczPwaon2sP5KoW4oRJrqNZVxerK3MkwG", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9100def293aae8182590a3191804728295c9f0ec908b10618a85e76a6542048a", + "collateralHash": "41dac9c830bc7e4d923618bcafd85ea19b6e3f22c02e58c6a5bc3aee1809fe13", + "collateralIndex": 0, + "collateralAddress": "Xg5b3CRpM89BzossRW937NYBstRdbZyrg4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520274, + "lastPaidHeight": 1724027, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724315, + "revocationReason": 0, + "ownerAddress": "Xeue3ftWw78N3LgLw1734zVDUhYeWj2hqE", + "votingAddress": "Xdex6kMUcDtGNUG6RYjjC14VFw2E8RuLz7", + "payoutAddress": "XsijQ3J3BpbPCdutsB3XcDtGshYi6CkN4Z", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "84cd8a83f0909c95771d1c4fbf5eedf32db8b24aeb18c20b36426d8fc896d520", + "collateralHash": "247fcbc01d7a962e9c0fc42a35785a92831764c2b61cde8ee524f910eacdeb12", + "collateralIndex": 0, + "collateralAddress": "XueDXCkm6PxrVYC2PL7S8p9tYWxWYSVZhi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1722537, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1625683, + "PoSeBanHeight": 1725779, + "revocationReason": 0, + "ownerAddress": "XcHQpUHRyeU3xkeAVZdtndpz2KUY4n6i87", + "votingAddress": "XunXeCBRqFS4nCH11cBYrBn7pkV5bWE22B", + "payoutAddress": "XiJmrC6Ctv5FtRrMQCxp61aspHko6jyNto", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "aeabb2b87274d88f322ca2e13f1c7dea029deebbbd403bfb0c6b1a4fa4a52072", + "collateralHash": "fc1a717bf6aacb3735f624b5cb2be0e6b32a3e848820a60b1668d0934affcbd1", + "collateralIndex": 1, + "collateralAddress": "XatSqQsDHLxigmcXkqEkJNwdxxvk2whgP6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1724033, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725492, + "revocationReason": 0, + "ownerAddress": "XqCu2WpEb71Df7Atnj6uRe8bLdPsuCbqRv", + "votingAddress": "XtBnZkuYjebxsGoEccsfqjRfEYoaYT3Jjp", + "payoutAddress": "XsMgU2NMquztFaj65MmfXEvEoqQMjWWbpd", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0d23c74358a4ae19a2c6899707ca89c5aeb5ff4ecc35c3a243a5fcffd7936306", + "collateralHash": "780cbe7693571e12ecf32c1fd9d485fd9c7a91eb273f6c3da36d587fa16e5f89", + "collateralIndex": 1, + "collateralAddress": "XqKcZSBiswXJ8tNb1VDnT1nBpLbkzBZEvr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1723447, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1622442, + "PoSeBanHeight": 1724868, + "revocationReason": 0, + "ownerAddress": "Xiy563bgrByGfehHg2gjAsjfp7ovEg3EbK", + "votingAddress": "XmNhGNegr8oArd3BKqXiqwnZWiBWguSJRr", + "payoutAddress": "Xt3nwJJsk4tXjUZtstN9wNFe9yyJLCg1Sm", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "332b7896ca60b05d5b343efb702a08000c6a07e8c4b317633157818faf4d2485", + "collateralHash": "8c05dbf432b5a6094476768c1d40f67e571125b683d288319f3dc76c48f77f19", + "collateralIndex": 1, + "collateralAddress": "XfZBR31svJa7C8BdwGdYUTjZuxeYYJWTgh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1723949, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1609970, + "PoSeBanHeight": 1724292, + "revocationReason": 0, + "ownerAddress": "XopNurt7JaULZ9y2bgiUr6NP17b3NHkJBb", + "votingAddress": "XfE9wxpZ2x57mj6mjb247TGZxetTbCxZrd", + "payoutAddress": "Xc72N7JF7vqwRDMAYLDVoHSTuBQQx8ndSh", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9f5765cb504364b1233e37a9f170a1ec0eb7979b0a323da6fdad81a17b369bc2", + "collateralHash": "fb665914350353efdfef9fb71835500a7784ec7cfb5d28bfb986dcefbaa709d6", + "collateralIndex": 1, + "collateralAddress": "XdkohTSxPw2f76Aff8HWhgGop8apSunayu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1724040, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725395, + "revocationReason": 0, + "ownerAddress": "Xk2yZ5Tzdt35Yg57GEhavQYfp8HXENgoAf", + "votingAddress": "XkQzFk2jf8bRquyLJX3Zw4LhuaGPEbzzSy", + "payoutAddress": "XfhUNA7ySh6rsNgnszY8roP838Z6Eb6Ng3", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3f4885496b8da45ba76097096a4e8e5a378138f60655d32bf590fc602e0c459c", + "collateralHash": "ada68eefbceb79eca5f0532cb9b0d4b70e590d1adcfb367d05f8638c340b8d85", + "collateralIndex": 0, + "collateralAddress": "XxhS3JKGww17oPFRz27QpVZvMneKb1xCyB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1724035, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726091, + "revocationReason": 0, + "ownerAddress": "Xgu1bYuyvJ4GBikNyG3uvSHLXCAE7PS2hp", + "votingAddress": "XjRFBvYypJAtQmtuBExwZ3FzxtDXe94jSn", + "payoutAddress": "XasFZ5LdrEJ6QonVouCdQ9U7jNPXeuY6ed", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "aa30c55832982e12385ad669954090d139eb91e9426b74e9a6b33df04b718f3e", + "collateralHash": "ade16f46dc8da8fffba98cffe698d5bc56919ca54ed0a3b6ed5acb1db2c4913b", + "collateralIndex": 0, + "collateralAddress": "XvUJkyuDj9HCn2bCAW6S5tQvfhR8Sx8HTW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1724032, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724483, + "revocationReason": 0, + "ownerAddress": "XdfmQri3wru5FY4JsWUrGEnyLMoKpmPu8j", + "votingAddress": "XbzZqHppHvGfDhjsK9eTjBSNB7YuXLB5XY", + "payoutAddress": "Xud26bBPBZkQPy4bXPiooXSiqVgm36pZSr", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9bc9b7a879c137114fd17b2af5c3825a6f78224cfac8afd7109e52f1b3a05bff", + "collateralHash": "482cf74e7a615086514c261a9454db358290f05c6243089a3961ffdf14256d29", + "collateralIndex": 0, + "collateralAddress": "Xs1yGUqc53XddB4E9FkHNYXtum5CCoGvbt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1723759, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1561034, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XfJtpuZxEAYUofWKsHA7KNYpCKNxY98Hm3", + "votingAddress": "Xh6M9FR9a8Wdb7aVvWeF8z9CxBAM9PgDbW", + "payoutAddress": "Xdsbzw7a5wTCQYvCwLuQc7qnRuCcs7ehsK", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6224b13ce6a0621fc89ecd68ae71c9ccdf86b89602c0726ebb2febe61e6fd3de", + "collateralHash": "c7252e53133401f38aeab3193a91f5b7d044461bd3c6121ab480a4b115fd302e", + "collateralIndex": 1, + "collateralAddress": "XfRvVzTEsHKkfDv2RN4yTCqKnBc4pkukbR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1724041, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725131, + "revocationReason": 0, + "ownerAddress": "XrA8gZdwb5LtEzpTDaM2D5oQ6hJsLfgyZ3", + "votingAddress": "XosvobfKEW4A4ifAWiNL58KN28KDtSgXxs", + "payoutAddress": "Xh1HBKLBXd1PBdG7N9jYCLf9rqHQzSoQvP", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e2c71769be672a5207644efbcdd57281ec12a1fa5212751ec8ebd5b5c3b047bc", + "collateralHash": "19ca069c498c6d174848ad5c8fea8341fb2c4a1af6e8ff576ed6e20be4ff065c", + "collateralIndex": 1, + "collateralAddress": "XfaqLBWfpdjkSH9FXp2dmJLtDVxaHwizwu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1724037, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724604, + "revocationReason": 0, + "ownerAddress": "Xm6VBK2KtxcqkddLLidRztDrDa7tMVFSt6", + "votingAddress": "Xi8UCVdX9J8jeKsFLVG2CCv7baAfmgA3UU", + "payoutAddress": "Xr2pHmLyEJyF2wfbRDb5msLEHb7UC83GzM", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "09065e3227715e05bba352e406c9b1a2fb0df241a61964f0a271c9ad5da88428", + "collateralHash": "cfdeb06de24ce670d21f08d8d743a6521966ec2a8574e975b923deac762ad977", + "collateralIndex": 1, + "collateralAddress": "XppvswN581ftGM3CkirPSrskzysoYqsM6q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520277, + "lastPaidHeight": 1724031, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724868, + "revocationReason": 0, + "ownerAddress": "Xwd4hfQAmSw2s9A3apFLaTtX6GvDNioWu1", + "votingAddress": "XhXNvLNDYLLAFZ1P7DGrkDS8iWC9UidB7K", + "payoutAddress": "XrAhsUQDuB2ZUBMAbZhqKJSKL7srLBmTaJ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9fd605df7b6874628ddad024918b59b824cb6153870fbe5be099a6f7fc5d3b9a", + "collateralHash": "b7c49eefaa87bc888cfe9928d7b6b78e5480d70e7eb949bb7e6509836c3861d5", + "collateralIndex": 1, + "collateralAddress": "XjhnYWd9UPHs7YvuoQoKGzWBapqN7QpmzW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520279, + "lastPaidHeight": 1725613, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1611665, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "Xg9k2G1ApxcfdmMNJLfBQ9V51VQsZkKE3z", + "votingAddress": "XgDMfLWvZgapVfUz5EntYx9AeBX5BHCSbC", + "payoutAddress": "XqrJNghAdx17R2SxfHpqgh6yChztEoi5X5", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9972062ab9c6f69a6fc9a8b08e465b06b6220e793fa50c2a170b04fc4464c417", + "collateralHash": "59a5e3e866d5c7cf32b536bb94b5ff30002fa96c26831b8cc389406282b4bfd2", + "collateralIndex": 0, + "collateralAddress": "Xv5fMAzSqVoFoB9eDdiuXAiHpJxtbad1YK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520281, + "lastPaidHeight": 1724044, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724964, + "revocationReason": 0, + "ownerAddress": "XqwFpoKDdreuvMLYUotYYZf9JoQCjvYhPc", + "votingAddress": "XyifhYM5AtpmoqEozKdP9F8DvGyvDre7FK", + "payoutAddress": "XtvXcjsMULxV1RSV1HkZuFdHskTBBgKy9u", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a826977dcbd09940bc81b662571c8574609912a945143c2fd5048ab5d7fb3ae1", + "collateralHash": "8d611bd9f4c595088aaca46e7af96ca421f4f2a623cdfc54acad97329105b134", + "collateralIndex": 1, + "collateralAddress": "XfABtAkRqnwq1wJUYbFpbF1pdDAUgFC6Ep", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520286, + "lastPaidHeight": 1721630, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": 1642076, + "PoSeBanHeight": 1725430, + "revocationReason": 0, + "ownerAddress": "XeSdcUiqcuZjhzXfxM8Qkv8pdCw8M9ftJW", + "votingAddress": "XeR3yKfXwmJDeG7ymJAu33wUEfhRgmxcyV", + "payoutAddress": "XuinpJqJ1LF4JvhgMDHrAiN8Zya7yKkQEw", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ebf43823f906b3141df73a1e3ee726be06d5a339f921881b48c8102b2f3f3ba7", + "collateralHash": "443ed0b4a749793fbe646c4478508d31c5f8ecb5c8d2b23552604a665a53ca35", + "collateralIndex": 1, + "collateralAddress": "XpnpUBUF45YfC6rV7fDyRd5KsuXi1Csc7B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520286, + "lastPaidHeight": 1724062, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725251, + "revocationReason": 0, + "ownerAddress": "Xu9LDgvomEt131ubGhK1QQG9Ev5UL9pnqW", + "votingAddress": "XhZKALd5eY7gCDdZjsLqVg7K9f4ch4n72A", + "payoutAddress": "Xi45fAEj5irWtREkTMjfA1e18bKAAoVHpt", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "fcb85fc93d3b87e656e21c5064403fb0d4aa84d03780b62e9c71f52a6281de4d", + "collateralHash": "b246e56dd805c065db258dbe5b0f70ed1b4139a7eec18e47770985d3306ac91c", + "collateralIndex": 1, + "collateralAddress": "XgewJz1c71qbbZ3cJkPS1ekhWTde7SXk58", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520286, + "lastPaidHeight": 1724055, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "Xh8rBeWp9ZsZ8RK7rBayuG936WRkPeJLnX", + "votingAddress": "XoHGfrSgF1Zo46ifPRvMEqskknz16WXHPh", + "payoutAddress": "XvLaH6dmbiv9czsFUckjJNqywoCWRqREMp", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7e324528b13f61a2faf72e4e34ef4bd255dd2713a650bf22e9b01fcc69979a41", + "collateralHash": "d36bbbf8f61c9d53213c1ae23f11aa8003a37396e3d6cfae9f95df3216a11cc9", + "collateralIndex": 1, + "collateralAddress": "XudaWBUy72jenitiR5SvCUX9WjH9WFw6mk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520286, + "lastPaidHeight": 1724052, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726259, + "revocationReason": 0, + "ownerAddress": "XdKYemv1YEqTCQbfSZWfEEtfZsR4cQ1Stb", + "votingAddress": "XwQ11cY2Zcz4NNUiqx5Ws6B56QbaNpVS2e", + "payoutAddress": "XhiBdVkeMkZa2ASX2Wkbx4eim5qDg7keJM", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3ab2512519ee28f4ea0029853e9e7c79c6879d1680a1a8d87df4f357c564d652", + "collateralHash": "337df7861041e608ab4f697619e09c953158ae6f1776dd07bd1cd9f6a2d08dd1", + "collateralIndex": 1, + "collateralAddress": "XypUAT3foUxyC2ZA8MucdF2KMk8okirKmc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520286, + "lastPaidHeight": 1724060, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XipKTPKk1K547Z6RREe4gNrJdkXjNJDuuk", + "votingAddress": "XgZ6M8j2FDbjsxwUQ4oL3nguG9Qx5JUks4", + "payoutAddress": "Xozqda8kHhJ34DkAUyLNDq4t51GmnTiosx", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "23583f459a6170878661f5b8794b9dd64505eb69e62e61451e2559278324c0b7", + "collateralHash": "7e034361afba59fe32442e5e61498ab58d01c612e073cead6970fe7bd649d893", + "collateralIndex": 1, + "collateralAddress": "Xtt2sRsjMyzrwMy63UGEFpiKeCZ1yYa4nh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520286, + "lastPaidHeight": 1722502, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1621289, + "PoSeBanHeight": 1724459, + "revocationReason": 0, + "ownerAddress": "XyCEWzyjTvgzdBysU2XRyoE3MUuNaD2pKm", + "votingAddress": "XmfML6MV3EgemFuHQL8Hr93cx6eWXKjmgy", + "payoutAddress": "XxmvKdc7iFWQnsxhgfTAi2hTRs73VW3aNK", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "4cf64bf38fd1b13b1d928f51cd9be60fd08357c87eeb43c060185a7aee6ef148", + "collateralHash": "0347320ea4ca6f578b7492e99a236fb6940dbf541adfdd37189842cdf17d69ae", + "collateralIndex": 1, + "collateralAddress": "XetVdA5ZfxfVopdJgPgxXfHwduJrMjQqQG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520289, + "lastPaidHeight": 1724063, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725684, + "revocationReason": 0, + "ownerAddress": "XgKh5QfyA9S1bFSVNFFjZ8AwMPjsyUCDPS", + "votingAddress": "Xjg6WTRqRGCdidUs1PCz87Hja4ePDB2UXN", + "payoutAddress": "Xnfep5eScrWeR5kthKjcqVXbzzJi38vjKe", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d5b15d557afdc065042f7e0f3b60bcdc21727cc82751c401e8956d7b2fde5785", + "collateralHash": "57286f80f3a2c58242daaaffbc9539dba5b9bd9561c6e11b1caa3fbf030f3819", + "collateralIndex": 1, + "collateralAddress": "XcLR7XhBELnGgR5daKm5ja6XucUb1Sw3QS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520289, + "lastPaidHeight": 1724067, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XkkFNdnwUYe1FkttwiFjqEYwKN4mTUnBSo", + "votingAddress": "Xjmb8wfjRCjhgN1ts9335r2s3giAaTwysX", + "payoutAddress": "XvkoBjhcuCPibfkjQdxAzJR7qifEgPUQMH", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2748fbffb4f75e9da17c9209ae420a8e3794f5edb458cc669ddb401b68799d81", + "collateralHash": "16f68a26b529d57b40743e5477d172a886ae41adc459b95eb8effee0ea9af968", + "collateralIndex": 0, + "collateralAddress": "XmdXeS6P6nYUaTnuZoXuFcUhL8LMiwPU75", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520289, + "lastPaidHeight": 1724066, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724844, + "revocationReason": 0, + "ownerAddress": "Xhb5wmv69A5PALd4yKBmCuMbEei6bgXEP7", + "votingAddress": "XwLXdEzepmAvnUYWGFkyNkFuPHaQ1WZGUc", + "payoutAddress": "XdAQLMqb5vqBGkzMQapGgKNoMM7KKtE6U4", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "05e90f074f83221ae3bd230409d0e7e087a4dbbc6e24114ccad09bdd2621deac", + "collateralHash": "6a082772c332aa185453d52840f0693c14518ff699238c467b5559ffcd7752ee", + "collateralIndex": 1, + "collateralAddress": "Xxn56Vj5aiNTy2zDMjQTw2D92LzGgCVbqn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520289, + "lastPaidHeight": 1724069, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726044, + "revocationReason": 0, + "ownerAddress": "Xce27wnRduMwWWbWT8JHPhhtzf5kLmtypL", + "votingAddress": "XphNYFoSiLaUDoM5ct9Qe4ZF8T7PT2dAs9", + "payoutAddress": "XiJoNcru1BVEwUoXFrska9XYSv4iDmRzLN", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1526b68cb5f14f7a09381d8872608f45e160ed36ff79e133cc666d53fc60f84a", + "collateralHash": "566594379204a4251f72266e33640ffcf8052645413028e9fe576d2e7c7bb12b", + "collateralIndex": 1, + "collateralAddress": "XszhNV1FesxhiTMaXxo9ZSv8SNQNgsBU3f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520292, + "lastPaidHeight": 1724072, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "Xnftr3ajBpGuhBAW3VvibH2SAorQooGF3o", + "votingAddress": "XyW39GFCpSsqcGG5MfM2fZHanakHQ4myTq", + "payoutAddress": "XbtcPfxQrw5rXpb6wS8e8dq8kxBK9H8ekm", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c159af02371feeaa8176c210feae47e3a9fba1ae7bad1e33b0ab6c95e176446d", + "collateralHash": "31bedd6ae95c8311b35af6d4918b66495360d3a265c7e6d4d2b3393d42e2ad9a", + "collateralIndex": 0, + "collateralAddress": "XskBEYXnquTkWx4fWMXcsUwtr1LGPGjhka", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520655, + "lastPaidHeight": 1724473, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726644, + "revocationReason": 0, + "ownerAddress": "XuoVSd9z2UjBJc7cxoJiTN4Fi4o3XzAm42", + "votingAddress": "XboFhirxxg2Pvra3UKNAN9FmyNc3ixKQJB", + "payoutAddress": "XwmrLWwL3J4tGEtw1g7qmF3R1QepzquT3P", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "961ca6942dbf2af60f00c8262c46aaae7366d98a3277b4a3804c2843b63d6d59", + "collateralHash": "32cbade8238dae16476d9a5865bc40fcceb863241bafa3e11a035cb79e4e03e4", + "collateralIndex": 1, + "collateralAddress": "XcNZj1KGEUY2D4CCjjvP8LMZm3SkYC7Uw6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520655, + "lastPaidHeight": 1724469, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725131, + "revocationReason": 0, + "ownerAddress": "Xy1S8Xjs7LtFJpn7XbHmXpuNc51UxGk6c6", + "votingAddress": "XtX2xkXXuR2rkjyJrSxCQPRWUY6EiNQyUS", + "payoutAddress": "XyDZRk8kzEfieCx4hTgaty1FRD9ghKpSoa", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1a343f8af6cada75d9f9f5b6de86fd4f54bc4b9e010f94b05e5d1d22b62fbe06", + "collateralHash": "faf5e5c5f99f2bc1b2f6b151126f38886cb1560784915f7bf9021d713c78c851", + "collateralIndex": 0, + "collateralAddress": "XgkKzFJpvtW9F1wUa1PoFBJRabDipSqx9y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520655, + "lastPaidHeight": 1724466, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726236, + "revocationReason": 0, + "ownerAddress": "XknV5A6wwsuGtRxJNaNzfQa61MqmrWNfxe", + "votingAddress": "XnUEZkcdmF7iWn5No5kZeFbPWeF689xKyW", + "payoutAddress": "Xt5vduTQrsgzENvGLpLGp7Ft2KpnxFo22D", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1ea05da9574b9fb3e46665c759d304d77b96c32d85e962801cb715eca915d76f", + "collateralHash": "d71ae20b1dbcbec65be827c14dffd3f544baf3c1443e1f9cafca902cbc4c3d7a", + "collateralIndex": 0, + "collateralAddress": "XvNAfPdfqspF9zjBfov7Uc6R97ezFoqLDJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520658, + "lastPaidHeight": 1723755, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": 1561033, + "PoSeBanHeight": 1726404, + "revocationReason": 0, + "ownerAddress": "Xcd347qmuw5M5HyS9JrGBt3Gp22wKK7cUm", + "votingAddress": "XcnF8dz2wDj74uCCeyzu56WmwXL6TBnk62", + "payoutAddress": "Xjtf96f2wGQSjcxtdcm6JCJTSfPhY8A7s9", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ec6f4b47962f151a3c8d7183007d2b577eded1f98ed61907f92bf9a3ace98c88", + "collateralHash": "6db2ee11359d62c6e98a7ff7738d8f92f586a39f63b705d72491febd34c9fda7", + "collateralIndex": 0, + "collateralAddress": "XfgGBD8FQ1TrZ5FTQfJuSDKzjWfwoi73q9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520658, + "lastPaidHeight": 1723841, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1561106, + "PoSeBanHeight": 1724844, + "revocationReason": 0, + "ownerAddress": "XsVXXCaLSNgmen6EnKp88SHL4WnRp3xTGP", + "votingAddress": "Xmee76A3wfueVpLJqb7R2yLbmk5Ths374z", + "payoutAddress": "XuxaL5umaFeCr5bm96GA2FZccMLDgopPLP", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a0426514ef833eb12e07b30444018c46005ccb39bd31981b608e8703abc9b561", + "collateralHash": "7486d96675830fb08caa05f968ecc56aa9ad433c699467135c39eb321e86fe5f", + "collateralIndex": 1, + "collateralAddress": "Xcui1husLyax5TUTwvX6WUPe9Dz5PiFonM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520658, + "lastPaidHeight": 1724477, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725227, + "revocationReason": 0, + "ownerAddress": "XwwoEThzb3TiFxzBcDmz72mhHkzaomK3cX", + "votingAddress": "XgpAygcFvH5Nvx1zi1Q2hq9PspC2cBnU9q", + "payoutAddress": "XkCWR8Sot2xaUXxauBCaTpgbRTjW2izGeM", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f45fcb0b07d53bf6a72798cf428f89714a0e658ac5281acd2f21b9a70e10b312", + "collateralHash": "cee548ffccc506df1c509b0e9de51857cdb1f405eafcc25f3636654835531531", + "collateralIndex": 1, + "collateralAddress": "XyuP5cu7JipgvwvMv3WmU1Uk9x42cNRh21", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520658, + "lastPaidHeight": 1724476, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724627, + "revocationReason": 0, + "ownerAddress": "XoM3mqzY7kgiffvFk3Vh8pThowdYmxXdb7", + "votingAddress": "XyKWLiZJhpRzeHgpSdM75HYH4iTfFKJ6xN", + "payoutAddress": "XwuXqHqPjdPxme35HnrVYM5L5QFtCuJNND", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d7d7f756a207e36127dc1c1d7942164c59baf84838917e071ac418387444aa4d", + "collateralHash": "19c3efd7e0d99ec7188521366af6ca0dd1bac6db021846d05734196a8b41798d", + "collateralIndex": 1, + "collateralAddress": "XcnPk69JTsf7A5H7cDwoLan397Kq2ZtgRP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520659, + "lastPaidHeight": 1724483, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726163, + "revocationReason": 0, + "ownerAddress": "Xo55HVZo6mhptEQdVq48awWD7GBvdRL63y", + "votingAddress": "XkVg8xuacTbTEXNwMjXHmU4cQNc6Ri89m6", + "payoutAddress": "Xu62bUUD64vJKgigZMB1LcFbAM61CKxGYJ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b46d40a8a5523bcbceb8464d0cadff146e259cfacb13384fc8e29cc5b672b7c6", + "collateralHash": "fdeb8a5fca9a7e4d2eb5f1bd72c64f7a9b4f563fc3ad8e9605d1fa828a14ddaa", + "collateralIndex": 0, + "collateralAddress": "XvnNZ5QHGH3o5n3U3hmY318bT1exef8o1V", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520659, + "lastPaidHeight": 1724485, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725636, + "revocationReason": 0, + "ownerAddress": "Xmhznz6P8N5RwMJ3chzBFBDtYMrDoNYUQq", + "votingAddress": "XkBYKPy2t9RL77NZf6E751jYYDUrkGGUqB", + "payoutAddress": "XnEfZLvFg9honVApDTs6afwgNTbQP8ze8J", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1119ed78a318408d95b7923d60644997f82cc6902320ab324af0e869b5258109", + "collateralHash": "2d04760bedcc1b2f0765116dc8a57698393cc0db5517ea26fa7bda58a93a66c1", + "collateralIndex": 0, + "collateralAddress": "Xjfafv63GsxVcKh6q51BQ51qre5Hz2kTqw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520660, + "lastPaidHeight": 1728386, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1728539, + "revocationReason": 0, + "ownerAddress": "Xdypy4kHKp2rC9GzPFjfri987W7H6XJHM3", + "votingAddress": "XyyZGFeoWMFKrYVxPuxmfF4L3uAcYdgF2R", + "payoutAddress": "XdWjJXrwfzdmHPtUiaJBGW4ySt43cyJWMY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5dcf7d8d546dbfd9cd200fa1c43e748c9b1eeb2b42fb1458dc7a2cf11368219c", + "collateralHash": "40adfe82e298ad8d1faf371d60ffe234258d44593f484d17d931cf846aeec115", + "collateralIndex": 1, + "collateralAddress": "Xc4dHpx8n7rYJHr25zRGy8dHL8Rhw6NJbs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520660, + "lastPaidHeight": 1724488, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725083, + "revocationReason": 0, + "ownerAddress": "XdsCk1qP4RVzM5n4z5NYbTu5Bb3D37qUeW", + "votingAddress": "XrqnaTLDQMBGG1FBoAes4q4JBU7Eedojso", + "payoutAddress": "XoTjTBeY6p1RRCqXvNiwsVHcHy33SS6sYY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0ab26ebd92c16d8b84ce83287850b6c5acea05af2be83815fee3314a1c3c4f4d", + "collateralHash": "b70e72a3c7bef0d9d998fbc2e7b3a2d097baf4b870d6af8a833dfd161ba4d64b", + "collateralIndex": 0, + "collateralAddress": "Xotj6sRkR4HTmnVH46dEk7qYdWKYfp8eRx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520661, + "lastPaidHeight": 1724491, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724604, + "revocationReason": 0, + "ownerAddress": "XfYVLdqQmkCewq5VmxCReHHF81fBmdRk8s", + "votingAddress": "Xqh4tQkoQMhJdeRUciToxaxnaEY1hPWYfU", + "payoutAddress": "XbECKvw36FF6ngV1UXXbDZXUn6fo88wDHi", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5b0a648e35155edc92065a097461b20f2ee2e4823e35f949ac4f47135b49a29d", + "collateralHash": "00e90ce363fa0df804b0d3547f77214c20f6e1acb873e6c49215b224277282f4", + "collateralIndex": 0, + "collateralAddress": "Xd4vN3u9mcMCiBSvEPVVAaWEi4em55fteS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520663, + "lastPaidHeight": 1723268, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1665165, + "PoSeBanHeight": 1724652, + "revocationReason": 0, + "ownerAddress": "XefEgcEq4iCgZZXLnJMEKhjUTEdJeUNLZ5", + "votingAddress": "XyhoPvkMu3EmpGz4vSWEaozfkmivUsjfFf", + "payoutAddress": "Xw6q3BMaxpfSN2AsoGGmk2R7QYmN2v72T9", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7a1664d6f0515d6c34ae3f22b7f9ae4cfea6bf56da79ffd5d6c5c89b8c1e9deb", + "collateralHash": "df5dea63ca2e606bc190ce53bf6a8833f3004f4fcdd74a6ea28831436d7cd3ed", + "collateralIndex": 0, + "collateralAddress": "XjoPhtrQJzbeeUvDkJQBeePPPFXHV4Kbru", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520663, + "lastPaidHeight": 1724497, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724891, + "revocationReason": 0, + "ownerAddress": "XhYdt4CA35RSFmKGcU7d4MF9cE6TSKmnnQ", + "votingAddress": "XqYjUa82acDpjqyWAdPBfaWUECELXzVdHM", + "payoutAddress": "Xune5zP73UZo6TXoncTYFGEn7uAWwM7EJo", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a204d2bb8e743a58137a4b5fda6554012281653664f67c5d88f5815b65d3fa5c", + "collateralHash": "9fa1ffc59658cdfe14098177a0723135d38177c276eb23f1d517ed6b7d0f7a35", + "collateralIndex": 1, + "collateralAddress": "XwEzq8MRyecNqjyAzM1GVc4sW4jJzv4jpa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520663, + "lastPaidHeight": 1724493, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725012, + "revocationReason": 0, + "ownerAddress": "XvUbHSAbeJEpr2EjSSo8gWWyo9kxSP1KQY", + "votingAddress": "XbRrVafpgUZf9HvsEBJjJ9zsTNuDvvxPGE", + "payoutAddress": "Xng5wJLnGz9X6yp53tdFskgamuyu5d8jqb", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "12c289c797b2058db605835f34c88390d3a379ee6cb1b658f1640fab43c449b7", + "collateralHash": "2b8236cc16dfeb0668f82c3207ac96c48a74f4d1400d451e5b2ff6d8ab2109ad", + "collateralIndex": 1, + "collateralAddress": "Xfukcq42B398wiJ9tb7pe4kztacNNqQbYk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520664, + "lastPaidHeight": 1723628, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1622645, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "XxR7PLC7XqxuVZvZpDyDbRgHZeXqL8rTYx", + "votingAddress": "Xkm5TBWqva5ESPovXcncQDLAgeU4LHATwj", + "payoutAddress": "XhaX9qDmoniHv5Z7mX6CeiKpCHst7ADWEj", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3afb040498a118810765997e936a526ecf1dfa67fba5a78e8c6d5d45167e2ac7", + "collateralHash": "f040f5374b1a3da7e7134916724727a437e01a07f1785732ef964abe49d5c864", + "collateralIndex": 0, + "collateralAddress": "Xvy4NztN9mJHR2QpiXHLisRjREEhkv5wiY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520666, + "lastPaidHeight": 1724500, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725012, + "revocationReason": 0, + "ownerAddress": "Xec9v573nNiUHRM2bwKb6ifHEB1uEU41Gt", + "votingAddress": "Xguzcfa35twi1RTLXGqjeM6JvXbsFHMQF2", + "payoutAddress": "XuwGSwRMX1DTwGDxw2Fn6ag8e9tuyAmFBG", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "db570bb064dafc14e12f04499cf64e290a6d16ecc3b74ead013ded47675cdedc", + "collateralHash": "4c04dce8346519f41e00732ad74ea754e510158763a02c13c3f59a86f017b630", + "collateralIndex": 0, + "collateralAddress": "Xybis8ukSr2XFypyibCiBkmotVJ6HuxSvR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520668, + "lastPaidHeight": 1724502, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724531, + "revocationReason": 0, + "ownerAddress": "Xyc4VvrX4sWbft5obsScS3pz8WvnLdofRf", + "votingAddress": "XkwYS9X4iYdgc4NHqPy6PFJqmcPDWcHLh9", + "payoutAddress": "XnZErBGc1J98aLpr1xNoV725N7GUXPZP77", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "cb8e26cd37095066d35afcdd1c155e91b6ed6055dbf0a2a979db68ce525bf673", + "collateralHash": "78596c48506cd753e4ff47396d83337366d1b68a7618c333417075b9c07b5492", + "collateralIndex": 0, + "collateralAddress": "Xu7YBz9GJMo9CANcefhqc8qPJGmjna269d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520668, + "lastPaidHeight": 1724501, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725083, + "revocationReason": 0, + "ownerAddress": "Xr8Ms2dbBoZgUPGT3u5vQhgYz8EqL1hMwv", + "votingAddress": "Xd6DubWDot1R3ZzxmjtuqrXCqxFdEFHUb1", + "payoutAddress": "XgNV1kJfS5bN7XBmrvM49Tt3WTothz1vv4", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "266b1579a2517a4a5439e20337ba62ca13505a1904aab5832fccfc11cd47b828", + "collateralHash": "94f75460147c5ee212b8f3fc4d0de5a68131bc1c427466a6508b88b1cc67183b", + "collateralIndex": 1, + "collateralAddress": "XsvkJ516piqpjEXHt2KZaUPmjZxcSz2z3a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520668, + "lastPaidHeight": 1723465, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": 1665410, + "PoSeBanHeight": 1726163, + "revocationReason": 0, + "ownerAddress": "XjvmqaR9g7TyQsmshFYGaw6LzmAjRJqQXF", + "votingAddress": "Xnx4LVtCzwGyotkKQd2rm3JzE7ACZXVwM4", + "payoutAddress": "Xy1LcYdG1gPTtm4vwKT4yw2zisT2KyHrG2", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "503a5eb723456eec94699d84db728c623552c885c350d8fd767255eab200af42", + "collateralHash": "b6ca5cdfa542c6662d74f37f122c9f2c69f6e996e240832e6a00e6e421b78751", + "collateralIndex": 0, + "collateralAddress": "Xrrfoiq4rHCttZgTVFNmHgeXqkU9USu8Pv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520669, + "lastPaidHeight": 1724503, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726787, + "revocationReason": 0, + "ownerAddress": "XmT5u3YAR1Me9ZsviCG8gMzYRBK7LYrNrk", + "votingAddress": "XwZv83Uj9mm8pNYcfCZLRXGFsJipCDxWYz", + "payoutAddress": "XghvoWxJ8zwGAbXaerZarhVicPEnNwepTx", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "fe589b5986f1a11e9a4e557ee74101ec3ba143cd6176f41bc728413f81560eb9", + "collateralHash": "3960aedea26bec8087364dc051b226ccd6eebb1d8be63f1b260cbee744acd601", + "collateralIndex": 0, + "collateralAddress": "XhaRwQc5SqVWMHKTwJDbtLZok9h39HcawL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520671, + "lastPaidHeight": 1728397, + "consecutivePayments": 0, + "PoSePenalty": 4456, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1729043, + "revocationReason": 0, + "ownerAddress": "XnRtdkJErxUdvsZbGEjyU9SXUuLE213aKv", + "votingAddress": "XtTCEkBBMLT8kg5ktkUzvQ75v2S4Y65qoe", + "payoutAddress": "Xs4Jun7GAzKirD5ztaP8aCd3hoMzorGwdi", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "4f282821913266f5ee17228c661ab79e110d85a841c0cb14f40377745efe87e8", + "collateralHash": "09350ee2c984fcf7cfe6fb75f5f89ecd8a6b6a42221d5a23018d02531bec8258", + "collateralIndex": 0, + "collateralAddress": "XwKy6z8gQ5qw176WGyAbwXkGWFJ42in3tY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520674, + "lastPaidHeight": 1724512, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727004, + "revocationReason": 0, + "ownerAddress": "XdoXZMYB3E7aWomuACJTCfG3Mq9a7W6gHH", + "votingAddress": "XeuwKgvqdnhsracLsnHnH6EgCPHYY5Fb37", + "payoutAddress": "XnKPqWLgpvkDcGGRRQMAFpuoCsjv26ARBn", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "eaa2ec8c0543f52f1d8bb0161fc0386097ab6cf8018d5ec9fce4d57bb3c6ce1c", + "collateralHash": "607ab47e5996c08a25f96f6a08a5994738b01e7a60db45459068ad4fa8bd7823", + "collateralIndex": 0, + "collateralAddress": "XxReLjKxDmf7HgJUF3U3QQ1fPLNEtpChpQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520675, + "lastPaidHeight": 1724513, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725684, + "revocationReason": 0, + "ownerAddress": "XpGNLyG57kqdbhypQDy1suF4j2HNUFgd1d", + "votingAddress": "XjqzRCGuJnekaxjjS1XT2imXahStgZiB8J", + "payoutAddress": "Xx2U54xNhz3K7qWA1vYPE7eTMiMpV5PLuc", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f0056cd283728ffcde8b6aba68327a112e94b19eb1deb3be1c70e6170316732c", + "collateralHash": "7e8c88f50d8c80214c0e8bcc224cdf37910b6ce9e0110adb3a0e5e1632eaae65", + "collateralIndex": 0, + "collateralAddress": "XmTqWZwmgpbo72ydJmahvvuSsGEsYoH5pV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520676, + "lastPaidHeight": 1723309, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1665221, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "XxYTAPYuHmFWRifDnrWTQkzs6P8rFJPwB6", + "votingAddress": "Xkxiz46HxXPbrnKd3AgjDSHLuAVt7n7L28", + "payoutAddress": "Xn8fuQK2VKAo9rdZty1akY1b3spS6p4sPz", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "bdb8c701b316f245ec2f8aae8dfb611e62e9d9522da5239402cb4fbb83aaba89", + "collateralHash": "7cc7f3ebf71c4e929618c804a3c3e629504d7e3a8a605fd29b374aef7eea6b5c", + "collateralIndex": 1, + "collateralAddress": "Xm9kY7hfuucoKbWDPU4oHJAVRQW8jobxaH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520679, + "lastPaidHeight": 1722655, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": 1577709, + "PoSeBanHeight": 1726523, + "revocationReason": 0, + "ownerAddress": "Xpi469XCKSgfdBVrhhVhjkhgBYu1rfY3sD", + "votingAddress": "Xhhqznd1f1pogAPiKG5iDetHQmAFwojkfV", + "payoutAddress": "XntxkVwD6pNLFwnf6DupDqyWnFHDSFh3z4", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "951a4b2140029ebadf47f873b765dd8041d5e6508174a9046b3a448050eca59a", + "collateralHash": "e04b5ccbf4d645880b826bb0be536149efed168000515eae3663971beef05381", + "collateralIndex": 1, + "collateralAddress": "XhqSSKyKi9CD2VwpuAfnHGgoFbNAtDZH7y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520679, + "lastPaidHeight": 1724515, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "XtG2FeLVveSmfFosDuxC3b7MPnC2CSDmjE", + "votingAddress": "XffFJQKzrjwQJtqmQ7vAVMGqoZaUqEi1qb", + "payoutAddress": "Xc7nVFfNJiFLX69phDcoVF3CVXw8VNcwNR", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c1d9000e5b79651838c5303e2d509f46ddd2f073c1888b9f60dfcbb15da316ab", + "collateralHash": "26cdf68e261ff4d64bfba0ac03f5c9c1e1dff5c81375a8c218cfc28e31ba5a7f", + "collateralIndex": 1, + "collateralAddress": "Xdn5oXhq811F7cKM7cyGHMCDV6igWug8ow", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520679, + "lastPaidHeight": 1724516, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726692, + "revocationReason": 0, + "ownerAddress": "XtkvvYxYmsA3WUrdgoZUXE56DYcBo9rYBA", + "votingAddress": "XrnKGbEZmy1wd9L2Fh1ga22v3qVQtKGKMi", + "payoutAddress": "Xs8h51jpehx7aPyj11rPe4dSQY5CSsmYRf", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a9d72679a7f920ddf4c676fd580f728850361d498dc8790b6374b4e02e4019ae", + "collateralHash": "fc009a377deb619d6fbeb45fc87600f483efe0f6156e83b6f3e946ab2b44d87e", + "collateralIndex": 1, + "collateralAddress": "Xxvr6kPYn9SvazShRaWS11SMLkDbgGZRsn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520681, + "lastPaidHeight": 1724524, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726860, + "revocationReason": 0, + "ownerAddress": "XqpyXXekMsQruKfnhFqzCMx4Z8y5mKJnfC", + "votingAddress": "Xb7jWWfyhmuwyNxXLtav4PxvPWgeaUqF3J", + "payoutAddress": "Xjq6Ai1nrzbgL3MEGD1Hq1tB2yQaU8gj9N", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7dffd287ca1df3abcc70287905970f409192e91089a5d219781ac96c20942c0a", + "collateralHash": "b7f9c34eb416f35b8ec57828e0c2caa70748bed306884481000cd53134bbbc12", + "collateralIndex": 0, + "collateralAddress": "Xnr6ZiC4ZKtCW58EGbFtrYmAjrfAbzRfFD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520681, + "lastPaidHeight": 1724520, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726140, + "revocationReason": 0, + "ownerAddress": "XakKp8S4Ey75kbF8njEyRwYfMuUbw4JHk6", + "votingAddress": "XqYSx7owxqMsVfyVzB4vicqRk3ipt6ZWps", + "payoutAddress": "XnY16WvLuTdHtH5ybo1KEbktgMqKFBKXrA", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "98488b5f46dd7c68c2c4b08b855abb4b075f3dab74552f159f5177e9658ce988", + "collateralHash": "dbce8e34b0fc0e2323a74029dc8987bf57bbfd9148161a0aab81b49baff34033", + "collateralIndex": 1, + "collateralAddress": "XjrKDvB3rdsprrCtkvUVoskx6d1VcuxUec", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520681, + "lastPaidHeight": 1724523, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726356, + "revocationReason": 0, + "ownerAddress": "Xj8iavvgrabFodZ4SgXLLG9kGrirqiTDjb", + "votingAddress": "XvkatR5rrRbWmLC11QVS4jkPHmtJUJFXvA", + "payoutAddress": "XxGhVsXRZoxaqXEmYBXZoioe27ZBq1iwn8", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2aba887568e2b7d1caa7dc0d006484e9852ab330aa3fab99f0f0b9d7f2380a80", + "collateralHash": "44deb968e0b4cb3e670b47beef47a95684b4b7f99d16b46005bb6c7a04270ea4", + "collateralIndex": 1, + "collateralAddress": "XyBUkXGWWm662gYXiacbGz5r84BVH2q8gA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520681, + "lastPaidHeight": 1724522, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726870, + "revocationReason": 0, + "ownerAddress": "XhdqVQs513huCAFrK3pa474bfgX5QMHEkx", + "votingAddress": "XtiF7kk4Xo54dBFYkmUpZbQWv7XPZtbaTg", + "payoutAddress": "XrqkWvrh1CavwBibd4F5kBs69Y7G3uK9mA", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2daee4707f07f270dfa8b4ddd9914c1b044de374eda335491587d62b01e43563", + "collateralHash": "2cf522c19321a322b440590e0f6cea147f07349c76eeda1d52291046a9052110", + "collateralIndex": 0, + "collateralAddress": "XidUSDMeQk7aGPaDCV9oWtfJzZyjrHDXRP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520683, + "lastPaidHeight": 1724526, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726427, + "revocationReason": 0, + "ownerAddress": "XqHn4o7UJ6qqiuoqqYFp289Kpv48H1uvBf", + "votingAddress": "XnjSF5tDHB6NrxGJszpRn2SRiy9RSPzfVD", + "payoutAddress": "XjZzYUtWG6SL6KR8GXoPpRTLbd6znawT9m", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d0b97b6271e0409c55e2b6d73986f02851c1a6f915d20bafa14878b954f5a517", + "collateralHash": "7ad07880b0c58fdcf10a027c0729266370fa5e756e4a474ee4c11b1894ad52ff", + "collateralIndex": 0, + "collateralAddress": "Xw3LRijRxoUsinBmheMyKnCMocZKHDduH6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520683, + "lastPaidHeight": 1724525, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726006, + "revocationReason": 0, + "ownerAddress": "XyYRgKHXtRbAXpCKYeqz2QqZbM3fgzZf1S", + "votingAddress": "XnFxLMfgKGu8dgWyZLjknxnUDrjdnW4LtU", + "payoutAddress": "Xmj7QQpWonht5wFNAyxSzTviPbMquGSacH", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6f0e4c06de7c10cb803fa6ba7100bce232c3bab827eaf2ed6d0cccf0c1e96be1", + "collateralHash": "06452e552962b76606c05e17897bec7f3fba0db4135a425dae1e1dc9f3b9b97d", + "collateralIndex": 1, + "collateralAddress": "XxoBTKED4xMrv51LLBsV7R4hSa6DfKTEUs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520684, + "lastPaidHeight": 1724531, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726427, + "revocationReason": 0, + "ownerAddress": "XyXwFKj6vB74bLi88JgWNALs26C37jyrCF", + "votingAddress": "XmFwFKuoTaK1qa5CRRsh8UQ8Yw1JVVHyUJ", + "payoutAddress": "XhhGd5NME1DRMUkifVa3psNgdGFTADQwAf", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "44aad042df6429d06be636d99843ad580d0c79b86cf574e75c5db05cfdf8f5fb", + "collateralHash": "b3517e7108664bff1fdf28c93f663171c2fd279adf9de127943f79b2c4f3679b", + "collateralIndex": 0, + "collateralAddress": "XfYaEQSwrdHLQ9c2rZFxa7cQSiDVxXLHFg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520684, + "lastPaidHeight": 1723215, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": 1630836, + "PoSeBanHeight": 1726044, + "revocationReason": 0, + "ownerAddress": "XoXDz1xMuWJMpsbwxjnsV9ka349TwiptHG", + "votingAddress": "XgPmueT38mNMmDtELBHPHDb555qmVwfQy3", + "payoutAddress": "XtPb9XxieKm4JGtkXSTje8Qz3tvfENr3nF", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "4d52aa7e13dac3a2257842ba7827b1a7637ac0d3afc0eb930590f3ea786cc89e", + "collateralHash": "b24d76a4e3e37277ee263fcfa70ebdab6e4f41ec98a475d4320d98824ffb96df", + "collateralIndex": 0, + "collateralAddress": "XnHBYg6vf2pSDzFnG3F9uHc8DzJQzDdSeR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520684, + "lastPaidHeight": 1723558, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": 1533242, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "XnHCxnr1wG4tFNsVyYf1tajCK1ei1vZdbd", + "votingAddress": "Xj6LijR4gPNnoBE1LdnCr3vzByL9ZNQRJD", + "payoutAddress": "XgppFGomzvwAjiXfRMYXPV52zGtYZGPvpw", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "833e6ed4c47c386b2920ba163f2e8444987f67501b1ed7be6eda924cd22af902", + "collateralHash": "42af11a29adbea6560661f439ebb776f00acd233f5e0b213ef05e6bae254313a", + "collateralIndex": 1, + "collateralAddress": "XfUAncU9QnvpKqKDwWFHAmQBzxoi6zjkEM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520685, + "lastPaidHeight": 1724437, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": 1579717, + "PoSeBanHeight": 1727446, + "revocationReason": 0, + "ownerAddress": "XiRoXyti36h95j89hqsXwyhqHK22DcHEgM", + "votingAddress": "XiVvMQDmAQf6PRKXYgMtiK98AAziMvHkGQ", + "payoutAddress": "XhJchNrPAfzry3rXfCWCNpe255wmSQNsHR", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "eca3c4b9b4f258899e528ed34d98c2fedd31526277107183cb9039944f267046", + "collateralHash": "50aa2828eac01f364ee15749472b5cd9df233bee95b58bab0bce3c667607bd0c", + "collateralIndex": 1, + "collateralAddress": "Xt4wM9g64FC7QobK4VKtnSuzFUFPr8NHqG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520686, + "lastPaidHeight": 1724532, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "XmkojrpJWwVBZtDnU3APrXUtRedtwWkKjg", + "votingAddress": "XjDY1iMZzr1saxSsQt76H5NmW1NmkWC9Wk", + "payoutAddress": "XbqwV7ZL3YsR73rpgSUGEh71ko2S8i6xns", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "8534da651fb6855ee766fe6811cec150a97b3e99679b4fdcbcafa2193bce35bd", + "collateralHash": "9e2d496d6c25ee699d103fad90110d67bb83b79e9f1c20f8de8cd262ee566c49", + "collateralIndex": 0, + "collateralAddress": "XqiwCVFQvqGinoQZW7xc4SeNb2iMvfDTSV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520686, + "lastPaidHeight": 1723543, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": 1533231, + "PoSeBanHeight": 1725732, + "revocationReason": 0, + "ownerAddress": "XnoAijxzPJ1W6AWto8RA4ZsxS3uC7QKxAD", + "votingAddress": "XnXacoiDaXtnocHXkRVipzHAPEC3kVNEUo", + "payoutAddress": "XsLaGKxfMGjTx9Z2diQ8CpfmnWZFaUXufW", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9b9f53469379d8cb1051111d19ee02560d61c122cb57ef92b8f06e0c52b69a9c", + "collateralHash": "da10573c565a519e104ea40dd1cdf344572330be07e10314a31a42a799245152", + "collateralIndex": 0, + "collateralAddress": "XmWoSwUvJ61kTGyYRdPtg2QMYAWUT4bHYd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520686, + "lastPaidHeight": 1724533, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726582, + "revocationReason": 0, + "ownerAddress": "XvXzYFrac8SnYV35FwMukNk8BugcxrjfDb", + "votingAddress": "Xnfc5ZdUB1dXyQETc9faEYZwtDJHNzpPgw", + "payoutAddress": "XfVmrK6UDVMVtYdVE9ypcedJorYJ27dHRe", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ebf6bc58b1bed8c8f24fae037df60ef65366d22c7a603c4733e7789f86df92c6", + "collateralHash": "383d2d662c2f89b0d18b68ad818e53d808d65627d746a2e0d2099ba61ff721f4", + "collateralIndex": 0, + "collateralAddress": "Xx6FvvmbDcgdq3zFZrkf2VnsvBzQRjqPNN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520687, + "lastPaidHeight": 1724536, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726404, + "revocationReason": 0, + "ownerAddress": "XoCTE73S4urWqBMQFLBCssLvMYgUkmmeP3", + "votingAddress": "Xc47xK1x88CSrB2VdhNDNXQvXSvz7v5bLM", + "payoutAddress": "XoQMfVCmpdX3g1Lvdt8g2TTV6e6XLDGzv5", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9349ec3fd1286b26a83cd78d80ec4dc2186a2720d900ed0a2cfd3712fac56fef", + "collateralHash": "8c83b01363bffddbb462751c0c365e8147470e10279824ccb2e813da48f2ce38", + "collateralIndex": 1, + "collateralAddress": "XarsvESmPv5NYGfdeiZ6GiBFRHXGkKpj6v", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520687, + "lastPaidHeight": 1724538, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726331, + "revocationReason": 0, + "ownerAddress": "Xu5TESGfux2Ffy32F4zX79ZS5K6b2Vzxhi", + "votingAddress": "Xbp74UjdrXfKBX8HYRxfkPPDbm2JZ53rMM", + "payoutAddress": "Xyf6GPbBnb5rfghpbqhXYNTB29BkVRi5KY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "713746ce4dddf77918cccefa5a310842011d069c58a44ddee1dad63d65203960", + "collateralHash": "f83290925a5baeb7d040c16bccfbeb37747dfa7738470e67ead34edbc697f466", + "collateralIndex": 1, + "collateralAddress": "Xb9Eu6XtPgQKDvrgkFrvp9avrX7kTznyJV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520688, + "lastPaidHeight": 1724542, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726259, + "revocationReason": 0, + "ownerAddress": "XmxPZ9HCc28YyDatj65RvGA7FxbFsgL1GG", + "votingAddress": "XfP1m6kkcZQKVx8d68QWW6rpHF2Y14envy", + "payoutAddress": "Xeg1mFaLr8dyNRUcLhVugdxShbYQJJSByW", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "961983d5d2a17bf8b7df666b07eb2302fd96ea19905baa979e58ab7de889a4be", + "collateralHash": "198a4290f30afc8d6bff32142a89ea23008c2241b7f83413f3a93ffe3543c873", + "collateralIndex": 1, + "collateralAddress": "Xy5LtovhhBcEz3Gj8T5ZtbnFUh3WDDEn1c", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520688, + "lastPaidHeight": 1724544, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726211, + "revocationReason": 0, + "ownerAddress": "XorVrWRCLGStkdE9K4MzasiGmBcg6JfCGM", + "votingAddress": "XmWCxC7TXi8j6mVVwibbBMj2qjsSXMYEs4", + "payoutAddress": "XwDr8qxyjSeUn7uqvjNUfwCHaREk9M2tJi", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "fd8259752412bab764ba204bbc0f08716725c9cd759c04dd26f29ed57e6c933e", + "collateralHash": "6a8924e73faa7ced727c2fffd708d10336e1ed3661ab136a135d1a1e52ef88a4", + "collateralIndex": 1, + "collateralAddress": "Xji2zGfvxV8VVsP1D56qWSeJTzhXh41KED", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520688, + "lastPaidHeight": 1724539, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1728084, + "revocationReason": 0, + "ownerAddress": "Xcn5AM4P45DR9aV6gbAZy8HTK7rU9JzJqW", + "votingAddress": "XrnUiUoMp4oST1piWSBKnAxquLejLwWia5", + "payoutAddress": "Xufe5dUAPi4h4rKRGyGaXvuJfqyxQ5QL47", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9d8584edcc8a2e6c83bdc968bb303efe6f356bbc2b05df362af07616f75463ae", + "collateralHash": "27e36cf595e2ab716c4f6a056ff4ad3bef6ef643f2914dffcc162daf43d04c3f", + "collateralIndex": 1, + "collateralAddress": "XpipMDRRvBsbbfw9V65qrZ7idu1Kca9hmN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520690, + "lastPaidHeight": 1724547, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726006, + "revocationReason": 0, + "ownerAddress": "XiYpyYvnjXgNhSVeNpFi13LGnRNpMxSA2R", + "votingAddress": "Xgc9CKhNREt5Mv9qDsoh8sEsY7TYGtTRFc", + "payoutAddress": "Xmf6Z6Z4QkLewMEprbwSrw7NyowAcK6kdr", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "8e0f4a9ad6d737d940da2442ad7f6ac6e99a67559087fae84e48ca23dc717586", + "collateralHash": "32e0090cbfe3d3929b95d30739a91cea93ac5d5f2ec2e57af2f485e66ad0d735", + "collateralIndex": 1, + "collateralAddress": "XqXr3r1ZYh8azwS62PPg7GFC5X61xkTXqu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520691, + "lastPaidHeight": 1728420, + "consecutivePayments": 0, + "PoSePenalty": 4462, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1732163, + "revocationReason": 0, + "ownerAddress": "XcX4xQXLHiPQTsuND33omkqSc7JCSEMnPz", + "votingAddress": "Xo9cApehttcETFRhX3FNYdnB87nAt5Zxyb", + "payoutAddress": "XqJw6Dqx4gVSzCQYemLfyNrn16SxWzekkc", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5924bac752f97b77805787a371e1b9c08db072d214c0ab573aea2eedcbb0bb58", + "collateralHash": "e35ed5f81f86a1c649324f68e850c5d662d24ca3362f9c01c895af5b5ac5344e", + "collateralIndex": 1, + "collateralAddress": "XcntA5mXy29UshUQSWTJLdUjDcg1MihUq6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520691, + "lastPaidHeight": 1724548, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726091, + "revocationReason": 0, + "ownerAddress": "XbWpyDQts3KyiVz6uaR34q5PtMP4sNPusD", + "votingAddress": "XhuUyousfvRucopGKogbZESZ9o7uJ1woPQ", + "payoutAddress": "XjMYEZtBj97sUaVgyhvTfhvyLvahwZ87wG", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "65cee06144d78a1b1eefc6bcb001ce0c46ddf9bd831d5475d438cc9655fd8c03", + "collateralHash": "faa75ed75fd0e5394265ec94791da6476c54b802c2b16b7eee6af17351f918ef", + "collateralIndex": 1, + "collateralAddress": "XjUubij2VU5oQ1hTpdn15wPYFBQhwXY9cU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520692, + "lastPaidHeight": 1724550, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726644, + "revocationReason": 0, + "ownerAddress": "XmGTDjM8FdxtZyzUA8B2shjwvXmMtvPWGx", + "votingAddress": "XgZVyo5A3nQmG6A4RFfS7aLsfyoYx1fsp9", + "payoutAddress": "XdgkZ8ErF418TpwzU4bQtKnztEZVPfVdp8", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "522abf767ba78f6eda2a64ff5e4d3a6d6b66ffda2dd68baa188ceee340c239be", + "collateralHash": "e63e9797e76e9ebda672c295615776b1c49e3e2417db7bd355b75b7afb8cc78b", + "collateralIndex": 0, + "collateralAddress": "XsfQArJKMZoSMSPCXvx85NB9uu6PbYYPi5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520694, + "lastPaidHeight": 1724558, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727446, + "revocationReason": 0, + "ownerAddress": "Xh2SGjd8RRUjoyycqWtU8P65YgJxQcwKiY", + "votingAddress": "XupHDSi13ieFZygaaGHu7CQPNSihKbAXfF", + "payoutAddress": "Xym5uKSha1qsQy1e5kv4GKAsquex7MXzLW", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "52f3db8e30c17e199fdf3d3650a9e03774dced07cec022f60a456881201de3af", + "collateralHash": "134b5738c1196bc65c1f9af14ab46c60571583d35934762b05d829c0b94e33a9", + "collateralIndex": 0, + "collateralAddress": "Xejxaosy6V9Eu4EwRMvQmntiSjYXLGqDGP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520694, + "lastPaidHeight": 1724557, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726091, + "revocationReason": 0, + "ownerAddress": "XsuPmwqQCTZbEjZVXgjMDseZUywt7MVtLJ", + "votingAddress": "Xrq4fUbLmbHA3QeRaHAA1q18nuHMxdscRU", + "payoutAddress": "XidpbE877znk45HsR9FaNhY288Po3RxRbz", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "59455d6258083b7781297f4e5192f4f3531904b02426273cc86349c34eb3863f", + "collateralHash": "9d64b3641f546c3230984edb4a32a9796cd7a17144fe610ef16982aac32dd47f", + "collateralIndex": 0, + "collateralAddress": "Xxn2c8op2N2XBuvhYwmtPZ3U87DDtimRXp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520694, + "lastPaidHeight": 1724556, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726259, + "revocationReason": 0, + "ownerAddress": "XgXxHf2y3HqBJhNhSGPxZZrd4y9dmx1J9i", + "votingAddress": "XxTwWKz1Mev2jXthebgucPhvWGaupVe58i", + "payoutAddress": "XihEAdHo5RbeD6Jh8P3M6cwybmWZ3rZwaF", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d3b3e6d6574bb298196d15a106192ff09fa93e88574c6d6043ab4d6ede348f2c", + "collateralHash": "06598593210af10d373ba05eb8cb4d69f18ffdbaf51c6005b15c53a98a0425fc", + "collateralIndex": 0, + "collateralAddress": "Xcwe64Ggqkc5hbBgadoNzRsnZx8us6Kaz2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520694, + "lastPaidHeight": 1724554, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "Xq96Bhe7c74K98yiL7roD9s262zzuY2rUC", + "votingAddress": "XeuXvDNP5gjHZCFVNNTQwNK8GF3mtq3B6Q", + "payoutAddress": "Xk1gFgDmSmQy5zE5wMy7joBGVPqFHUrLxZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "02880d82a54580237e9831761c3b22ab067b4bab9e62423a7afaae468fab89e1", + "collateralHash": "04d12a6abb9fcca7b52f53083751e095da46426961e0b5a10fb150cfdba4f711", + "collateralIndex": 0, + "collateralAddress": "XtxjQziy17mGCPnQr9eHzbm349PsjFeKHV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520695, + "lastPaidHeight": 1724560, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "XrHCzfz3samawZX35UwFtbTYmg2CJNuEEn", + "votingAddress": "Xmb5VmCK5qYZPe1tdNSPwQZFoDpMprxWq5", + "payoutAddress": "XiVM8VHThUPQhoYBtHyGUAeoKcLA3RhZN6", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "579d4b923303a277b3b4cbe29f0fb2809ead7084ad69b536c02747959b5de67b", + "collateralHash": "97fcc752309b2cb8e3961d411f2c3ecc84847d0d9b69e9572f68b9883af2d246", + "collateralIndex": 0, + "collateralAddress": "XvJNoh6PDvefpwhUhAo3UkeR3SwdmrbCrX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520697, + "lastPaidHeight": 1724563, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726331, + "revocationReason": 0, + "ownerAddress": "XpSctgnKuCtgweouveWrhqHHuAMFEBGxNV", + "votingAddress": "XuvgmT1aVTVuyNLZsPbbKx7cjxqqW9irPm", + "payoutAddress": "XpiAf2tTLJSmVJYsd1kofqLief4Vztv3tJ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6516d0d412c0d94ad4e9bdd5e3ab42f0863f32a821e5f23c24e8cb111e711093", + "collateralHash": "5be0d23d5b7df9a92d4183e0b442149823975a759a112f63f988740271abe3a9", + "collateralIndex": 1, + "collateralAddress": "Xbd5Mig1uPEFRS3xsPKs1Hs92DyyQJKwvW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520698, + "lastPaidHeight": 1727563, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": 1533231, + "PoSeBanHeight": 1727940, + "revocationReason": 0, + "ownerAddress": "XvG1STcEcNQUmLfiVuiFbgpgAafrZEtVrx", + "votingAddress": "XkQZrYKchKjHzPJcvxWshhrwgeaTLWtLqc", + "payoutAddress": "XhhWEvCdq2jXgDfzzYtcEqT7PxeLTuu6Fz", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "8a276b78a1b0ed30d87ca07e1d9188d746d25011205afacfda17be8d800a12d6", + "collateralHash": "88327fd354647b108e802f21944769b1ded05275b7135c143dd4b231cba54d6c", + "collateralIndex": 0, + "collateralAddress": "XpDpYKoj6uocmfQv7vTbQpYFffzXxLFHyf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520698, + "lastPaidHeight": 1724564, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726379, + "revocationReason": 0, + "ownerAddress": "XtGPzYmkPzjEquYBJFRM7fkL8hPLo8QXmX", + "votingAddress": "Xvk95Sv3nEQHHFT9Coa75gUkNRFvoupqZo", + "payoutAddress": "Xx8jkXqMBo3ZZkFeK8NebtgvT4GzyonxQT", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "233f109446f91a054999f2ec3a76fb8e2193ebb5723fce9e3fb388bd7d91179b", + "collateralHash": "f50c3de67b33576707450403400927cba7cd858c4001a2056533ce42c9fa5979", + "collateralIndex": 0, + "collateralAddress": "Xsj23dSLzQqnnR2C8WjU8XWBjheWJBE74c", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1520702, + "lastPaidHeight": 1724567, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726870, + "revocationReason": 0, + "ownerAddress": "Xmfa8BbKro8QdkmMovENhpkSmhZHMYcxVK", + "votingAddress": "Xu793BXJ3x794SDnKUgxasF8HB8KoneB37", + "payoutAddress": "XcQgxrv2hshi86fwefbiVU229WsdXC2tCe", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "22c2ac2b888a26cf762a5d3d9bfce84a996c8de7236269ea74564ea17817bc6b", + "collateralHash": "605b8642345e2dcccf3e68d953ad22400136dac2c262bd82e111d75f58175263", + "collateralIndex": 1, + "collateralAddress": "XdFt1ZHDWG75xz7UwcUfQotyF8qWgkZgAK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.248.59.50:9999", + "registeredHeight": 1523402, + "lastPaidHeight": 2062157, + "consecutivePayments": 0, + "PoSePenalty": 3815, + "PoSeRevivedHeight": 2038590, + "PoSeBanHeight": 2063253, + "revocationReason": 0, + "ownerAddress": "XvBTEU41FtcpsECSdp1fkV8NS5mPsgYEjW", + "votingAddress": "XvBTEU41FtcpsECSdp1fkV8NS5mPsgYEjW", + "payoutAddress": "Xed5ai8vMy82DgFTYPaDzmbmLqB5DSn4x8", + "pubKeyOperator": "995d6e73e9247c8300049b052fb5aff52dabdb9663618cc035dc9d61913895eff7b277d339b245af121e8abdbde2a707" + } + }, + { + "type": "Regular", + "proTxHash": "7d346739032d4236856a75b6b3830f5cd476c71fb200a203b17b8424242fc512", + "collateralHash": "62cb9be2d033ce4dabba09289422f930a35e7a06f2924df40e0da2c0d0a07f16", + "collateralIndex": 1, + "collateralAddress": "XkrmkE7VnpbhGVop1cKMw3di8ucijU9TU8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.207.7.9:9999", + "registeredHeight": 1524164, + "lastPaidHeight": 1985633, + "consecutivePayments": 0, + "PoSePenalty": 3971, + "PoSeRevivedHeight": 1987311, + "PoSeBanHeight": 1987818, + "revocationReason": 0, + "ownerAddress": "Xb4VF2HXvkRgwwEz78fNL6VGUrEfHP3X3Z", + "votingAddress": "Xyth6GN9hMqap1UfvS4RNYNeBK8Vnnespd", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "0ecbad499c7d2745633699c199bd28b6a71aa9ed65e89cb16c71c51ae7e1fd2ed6502c13b673cfc4468cd3dc70d4f594" + } + }, + { + "type": "Regular", + "proTxHash": "a2f3e21f50ea970420d45af69106625fed93edb265ef4a7c347526fc45dacdfc", + "collateralHash": "9f68e41686e250f6d87e7e1c42910ce7695cf3fecc392cd496c3f9679d18eb79", + "collateralIndex": 1, + "collateralAddress": "XhTyWEFVxfn86xwpmJfotXsPX8d7hptJ2x", + "operatorReward": 0, + "state": { + "version": 1, + "service": "184.72.94.231:9999", + "registeredHeight": 1524168, + "lastPaidHeight": 1985639, + "consecutivePayments": 0, + "PoSePenalty": 3972, + "PoSeRevivedHeight": 1986577, + "PoSeBanHeight": 1987797, + "revocationReason": 0, + "ownerAddress": "Xx5yXkSAUosK4VDtPUVuEkkeLx9piqZZ22", + "votingAddress": "Xn4YmxRrD3aHpQASixY7ozYysqF11HGUCm", + "payoutAddress": "XrDEqiyAAL8str52eej7rr7A3fpp3md2uR", + "pubKeyOperator": "056023e136911e7f0508d885bd7a78a9b90e558985c958c4cb9f90b1866ec4cd6c177ef37f4c83f08f657a62ed53b193" + } + }, + { + "type": "Regular", + "proTxHash": "2cf22fe7d5658571eb111b72c31d4a20a0578647e4673a20e2e2a76a3865fc04", + "collateralHash": "7382964fb4c17ed792896edd5eceacaee997eb024f37ceaa22d3a6c86f1a00ae", + "collateralIndex": 0, + "collateralAddress": "Xu6CXUWApEGJ2bNr2b9Dyrv3baqUVLqBoH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.122.32.230:9999", + "registeredHeight": 1524695, + "lastPaidHeight": 2126749, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiP9zS1hznp8w1WX7KUmE9KcmDRGYawn37", + "votingAddress": "Xh2Rhien2Jemd2vjDX5tqbzfZ47zB9tiWw", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "8c4326eb13a57102f4634210c25c162a3edc87eb9520b241808d1edd227d3a3a14d3a61a4a08a44266d4e5fdb95e5eee" + } + }, + { + "type": "Regular", + "proTxHash": "709b6291ec9495c10dd8b51905df4703adf26ce066776b3e08600f69a57ea123", + "collateralHash": "2e6ed8df460d3fd928e97cf9298a9a25e4e0cf8d8ae63c875dceb7e1cbe9f06e", + "collateralIndex": 0, + "collateralAddress": "XdVqC1KEeEGH271BnYQCoBceihMk1p8HDW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.60.13:9999", + "registeredHeight": 1524698, + "lastPaidHeight": 2126753, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg1oNuCdgEb3io8vAQf3YB5xFt2aKpvT5Y", + "votingAddress": "Xd8mFoHmr43LjyW1Tu4NYA9MmJvSgyuYva", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "9542513908972b9c0c9b51243982af52d502604dae52eb08a5bc67f8dd94d0795479598a88299384726d01347ad6b3c1" + } + }, + { + "type": "Regular", + "proTxHash": "e0f467ceca3137f6e4d7fddc88c61ec43a7536a5ddf62e9c0c7affdde943fd8b", + "collateralHash": "40cc2fb4e825ca9d43eb88f0e4a15ee6a548266765f393e4871407169f20ad8d", + "collateralIndex": 0, + "collateralAddress": "Xxu4FcdNxpyuD5ESfx7xZFsreRVdMUQBrb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.205.145:9999", + "registeredHeight": 1524702, + "lastPaidHeight": 2126759, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmMQu8fN7wQfFyxb4TQAGoaitCgBHZkWQU", + "votingAddress": "XifWgoBVtooJ1fs7Ay2LjMDkrkgYV6qhsP", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "0420b5160aa3deb742d4dd3d079f5d798a3c3defd59a34ae25b1637cde754a4b9642a380012729ca6810e97899c04fe1" + } + }, + { + "type": "Regular", + "proTxHash": "c7d45c00de87649d1873260db91546ce2361f7900962c4675c9a01dc9910614f", + "collateralHash": "dc0ce56fb82ba00936128789dc87a2f37e6efbe33a64fdb82a0be16cac759726", + "collateralIndex": 0, + "collateralAddress": "XrPPY5FDBb5KMsVvuYF5ZP57tWnZnuhgFU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.220.199:9999", + "registeredHeight": 1524702, + "lastPaidHeight": 2126756, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrNgLSPxFig3d2LoJVGcPwkrP1A9R5JiPy", + "votingAddress": "XjEnihaWCgzApXvf4XFjThriprxr2yrfj1", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "064c3c7d54bfe94031e5b5e547bc668f5a2826fa5623c1dc0b5a76703442203c4b063e49efe02f729611ddc890ef137e" + } + }, + { + "type": "Regular", + "proTxHash": "840df5710fbe22a7d3242400d145572ee1fd6b0cd26d917cd65bdfbdc9483cd7", + "collateralHash": "b499dd9bb319189af4feff958956086f1274a1ef57de13f499f891859abc1da9", + "collateralIndex": 0, + "collateralAddress": "XkXJRbDrujV4MFBPg2DbJR8WWWQPHEc8sM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.123.69:9999", + "registeredHeight": 1524727, + "lastPaidHeight": 2126635, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1927339, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnw62Jga6Uiu2pLjL3rAWYA1jW4HjArh9n", + "votingAddress": "Xjbzy3m9s1rfQhXz9n6wRZojHckCzV7eW9", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "86ce2f9310595679e57443f4e594768148acccebb3c5a77a50b73a78c561422da0d19effaf16e646af96b35ffd13d17b" + } + }, + { + "type": "Regular", + "proTxHash": "9c147afedbdd10428a78ac9b450ad3fa97a631828d47d47fdb4cec38c46c1721", + "collateralHash": "96b78aaa606348f8aa61df02416268f02751abbf752734f12b6d4068c9c05e8e", + "collateralIndex": 1, + "collateralAddress": "Xhftb4ues8chd8gm5A4z2zrnVqMSc8WLXY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.245.193.129:9999", + "registeredHeight": 1524734, + "lastPaidHeight": 2128157, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876632, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqSgxAaKN73LiLcB8i4EMPRn2KTe4gR6AT", + "votingAddress": "Xhasg62CAa8uAW1w9sMFcNzmjYjyTyFunW", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "8d78e2ee57dfcb7021ba583e7e37c03173c58e36504d2f428a7ca1dfb0fe5542acfc02e435783885b169af383fb3a532" + } + }, + { + "type": "Regular", + "proTxHash": "a9953cc3422fa52a0b3b6ef24c020e7d3c55846fc0e2f4cca371a38a0fcf35f0", + "collateralHash": "cd8100cbaa108af89de4f28b559c1d215555ad30b05d18902d2f439845f5ae5b", + "collateralIndex": 0, + "collateralAddress": "XepMNRqV2HjtdeNr59QawFPA1zmmaktCes", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.230.210:9999", + "registeredHeight": 1524735, + "lastPaidHeight": 2126741, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1821932, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm3DxEhNGJ8Nyz5pZS6SyhikYWk1aEmRZp", + "votingAddress": "Xw4cCHymwrsf4PwVZKCeeg6hRDmobrV3Hb", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "16b3b5c84cd0ab4ff85afbf36d0fded2e21a0925d23ede1e41d09a973183c6b4daccedfa05fad43b935776d696c62249" + } + }, + { + "type": "Regular", + "proTxHash": "8f3c31571df00f49027536bc5748c662b85440530cb5f4c2073c9e9cfc1171c1", + "collateralHash": "51fbe680acf04bd230776c1a33c45dc0c29f51d0eae94864cc4760038fd9aa4a", + "collateralIndex": 0, + "collateralAddress": "XgsEsfWUVCsTCiffm8Lj8SgKcSduu7xffV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "43.128.72.114:9999", + "registeredHeight": 1524944, + "lastPaidHeight": 2119597, + "consecutivePayments": 0, + "PoSePenalty": 1121, + "PoSeRevivedHeight": 2127267, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjpUxrN9ZLvsoynAKWj43GfJwVboBxZVxt", + "votingAddress": "XhrxSp5d8kfag6SM4YUt2ScU5ns9ST5Yj3", + "payoutAddress": "XgsEsfWUVCsTCiffm8Lj8SgKcSduu7xffV", + "pubKeyOperator": "125c7c33baa0ce81c1ffdee23d5b7d7c07d4dc3a80ced2563cb647dcc83126d0a686857d7930dba5e35a8c65dd5fe465" + } + }, + { + "type": "Regular", + "proTxHash": "4926a229fc77a7fa1048b25606ff226830a1c1f0a4acb977da26b27d00980a01", + "collateralHash": "c816eb3f8e9d9af12101409f30cce81f741377634b45459292975228ea36387a", + "collateralIndex": 1, + "collateralAddress": "XeehJLUc7fniS21QFE2serYRUzYNfD6Ebz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.14.155:9999", + "registeredHeight": 1526332, + "lastPaidHeight": 1725554, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726620, + "revocationReason": 0, + "ownerAddress": "Xw6h88svckQ4KzjsRArHeVEdTnQVzq6NAT", + "votingAddress": "XpK7XvEv2iPRgtiYWoeRHJAVfKVHT2NPt6", + "payoutAddress": "XrDKziRhGSQMprCNiQnefB2Ch8r53Rs2a8", + "pubKeyOperator": "14ebd8d9d5b9798375c879f9fae5326834f74fbeae476e9a852df44d91a9fb102b46dad7d66b2579b2207678675e2423" + } + }, + { + "type": "Regular", + "proTxHash": "ec73ad50e661c48d6e1759c30ee83747c84eee26bc4065e51986882e55606e1e", + "collateralHash": "a917678053f6191c0c2f5ca2eaf731d88d9e847f4d49cf8e7f2f25ff8636cf83", + "collateralIndex": 0, + "collateralAddress": "XoGkR7oPSxEWhMdwv5iT3drVyB5318m21X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526333, + "lastPaidHeight": 1721450, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "Xe4nymQFVbhkjDsR65LB67hQk88CDFcdVe", + "votingAddress": "XgSgjYmWQffvyymrvc7Ez4GUmEf38LRAR8", + "payoutAddress": "XsLChigJ57X2NksLkcURBmdvWhBChFBsm2", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "21a02f56813292b849c1647281f961b4f56e6f8727fe635c70bc168df5f9d67a", + "collateralHash": "a9b95274aaa825ff760c4e0184232338b0bf8302d627f08a3988f8474c7f2fe8", + "collateralIndex": 1, + "collateralAddress": "XdGsTw9TGNJS66zR4ZSv6jEFFVuwo5auQ3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526336, + "lastPaidHeight": 1721456, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724868, + "revocationReason": 0, + "ownerAddress": "XgZAj5qYzBQhrRnNK7VgiJWX6g4Ypkc6oS", + "votingAddress": "XeqZrweDA9vZZJ9TJnLJG2yMK6uqDrdeZD", + "payoutAddress": "XdY9ZovBDRpfHucR1uq7UfQ8s47Kda1PtK", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "13f70c06d242b5cf1263eba31bf4a36a3c2a67f4adf1e57b7836517ab72a8338", + "collateralHash": "f6824ce39a68f0b30c729fce8f43537b7eedefd4651ed9a16d5b6fbda7b48657", + "collateralIndex": 0, + "collateralAddress": "XiApw7u1EiZ8LbgHsSiM3YVrQ2qpqNCASi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526337, + "lastPaidHeight": 1721459, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724388, + "revocationReason": 0, + "ownerAddress": "XvaYppR3cJsoTKcUKTbaBWP7kR5JMNAP5M", + "votingAddress": "XtwgGaYC1qzwYRgM6KcSUokbrz8DNLJPyN", + "payoutAddress": "XwbkzRJ5o27xG43uxo5JVEmLieYzrnWhGW", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7576a88d50cdb3f7f743778c85dd0370bb44760e90a5cc682cada5c88769a694", + "collateralHash": "591a0cabf9cbeea6478cd1e39a8e2ae82de10bd1b3dcbc08ab58546b81a50736", + "collateralIndex": 1, + "collateralAddress": "XyfPCgGZwKa5erTe1nraFfDQDZCzL56YVz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526337, + "lastPaidHeight": 1721461, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XnHeBRAiBmTFcDjLDPYP3kfEo62UgozV4p", + "votingAddress": "Xf3EYGvDVfXicrffGYRc3b5J8ahjXuHSBJ", + "payoutAddress": "Xf1FqkC97RLHaqHJ9V2KeqUN91i43m5P3q", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a7463888cc18ab5ec9878ee5f2a1a80471466c230412ed18b76a06c97714e578", + "collateralHash": "9b4975c3384070b86d8897bdbbc636787cc8052a1b63a3c913a5640d2c018e27", + "collateralIndex": 1, + "collateralAddress": "XxuZrT6Cx44fF4kVgcUjzS8fSksTs6HRza", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526338, + "lastPaidHeight": 1721463, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725299, + "revocationReason": 0, + "ownerAddress": "XeR42P2gbQrpUX2L6wwb3FvWW1gRnqTExA", + "votingAddress": "Xr4DQkfFEDa142rcto2MPa2GLDsEdmsoGq", + "payoutAddress": "Xs3wBAR6ASXBGPNoRUi4RL4KfYfmMuyYVX", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "255c26ad38ecb04ab753cf0c4732689286447eb9450d31828ea3b6750176da11", + "collateralHash": "6de2852fc0350c52a17d70f5c74a74f4f3ca390df6016e0850fb8d1887abd343", + "collateralIndex": 0, + "collateralAddress": "XrMrXgT3J6JJRxU7tdLewozVi27dw4gaxz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526338, + "lastPaidHeight": 1721462, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725108, + "revocationReason": 0, + "ownerAddress": "Xggj84vymKiRMeRQFVYqGVWbu4fnxsRLQQ", + "votingAddress": "XwVBv2waw4VjRgAZVe7LrsLw8d95idvmDW", + "payoutAddress": "Xwd7ebKk2cYX2ZYgrDX1DeUuJwTn1KcUqp", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f73b21be523c7612574167fc9e6030d2cb07da242e79f98ca73542da593706cb", + "collateralHash": "0f28151501db63af6cc54c380927c8deac41c9826eab1e34bb2d65c7cc550a0e", + "collateralIndex": 1, + "collateralAddress": "Xdk4Y35YeA7zRpJ4ksp7Fcj3UwS2hKrq9e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526339, + "lastPaidHeight": 1721468, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725395, + "revocationReason": 0, + "ownerAddress": "XemuoBGr39nQpLRzjXv5FETCPQoYpxXR6e", + "votingAddress": "XffTJS3KGjz1t2ZowkaUw7ACDyEiPjhVu4", + "payoutAddress": "XsYoaavJE6ec4XMehaneSrxqHboVsXBjth", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e50c38681d93cefb4cd20d88c722e6f3f8243f9685d803f1166fb95debe2b816", + "collateralHash": "da47b42375d69e14ea16065c589f9300f851e7593818c33a79bcce6f08d1914e", + "collateralIndex": 1, + "collateralAddress": "XxorvZkFXbp8WSQVdFbUcfqv226zRsirTv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526339, + "lastPaidHeight": 1721465, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725035, + "revocationReason": 0, + "ownerAddress": "Xm35pMbvsC2kjAUFgWRtjPjU9FcRvdMyXX", + "votingAddress": "XceYYj9MCGcNUPoxcbQ7pZDq1JPABLzWxf", + "payoutAddress": "XbwFTE7mszyyZckfrYLZsdZxMtjNaNpgUB", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "090745328d55a6fea9da1dd55daefa787d5e62e773ebb12d291bd5d7d292a266", + "collateralHash": "ec536ea7dc1feca0b058f8859a2c74001be8e736d4c83e8211a952fcd556b089", + "collateralIndex": 0, + "collateralAddress": "XtNgFb1N1392LKd2cTiQcaJtXJqXYoc8y7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526341, + "lastPaidHeight": 1721469, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724795, + "revocationReason": 0, + "ownerAddress": "XnMo1AMZcgzyo7VgWkeTvDNxPmsLwdq2TH", + "votingAddress": "Xf2x6eB3tsvDuEBrv2xqVjDsiqdpVqPY9h", + "payoutAddress": "Xoe7M2Vz6KFx7nkyGJi6TkNxM7pPbzTQmU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3dc0295583f9d44ad854f9abfb6f6de0ff2b946f8f65864c51fe7852e7588395", + "collateralHash": "a183c334a7adc74d4407f795d9c46d947842b4d1e11173c367c7e4b8388469a4", + "collateralIndex": 1, + "collateralAddress": "XffcCGC84GRCDXddrwY88N13YN7vpm4UMK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526341, + "lastPaidHeight": 1721473, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724916, + "revocationReason": 0, + "ownerAddress": "Xyjpd1zi3S8EoAMW77zMZf5dBsS7swnxdK", + "votingAddress": "XbZU1YRwLzEB3G8HkxYjCFQb3EfNqocySz", + "payoutAddress": "XbWWUSCeHM8N6LrNbYvWSjCfvQWyrVf6XQ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "bbcbd529ffbb3ca6d1df434c8e1e1b75ec41bdead9789fcfb38a4a3399f1e17f", + "collateralHash": "73c221070316f6df6ce531cda379c4c6a3a637f148d47396e3e7f8041fd0de86", + "collateralIndex": 0, + "collateralAddress": "XavpARWHqLLrsrW1aakJgetz726Ent53Z6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526341, + "lastPaidHeight": 1721470, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724853, + "revocationReason": 0, + "ownerAddress": "XpgKSSkecRftGyRfroHBFtjG16RSisTGD1", + "votingAddress": "Xv7taToCyTFmdWoBx4jcG4Yp1KDkFPpHqP", + "payoutAddress": "XwypG8uWco4DTTYeRAb58Qd9UncYZHsBBk", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d483c62968880371160883bb040a52e93bf1aba8e36ea489ced7c8a29c825db5", + "collateralHash": "9e86f3d6bfcccaa79cb25cf760f7760bb494c0814fd071ebd63d79e466f61fbd", + "collateralIndex": 1, + "collateralAddress": "Xcp3o9XFFvTEYqCz6fPeWRYpk9qYHTzwrH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526341, + "lastPaidHeight": 1721475, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725372, + "revocationReason": 0, + "ownerAddress": "XoprguKRonQ3f9qBx3neoWg9FrdDb7423m", + "votingAddress": "XnRzVhLfL5dKpfr9xbWj8aCP9AekKkW9pg", + "payoutAddress": "XunRgW3VXJ7kzb17Puyqjpq3Tmrm5mXaRk", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "00be6bde5965da1124406bb2ca4a334ac9c7b7dec74634daffb4311a7f2b319f", + "collateralHash": "23c0b0023974a1c5b9e88f118a2697e25dfedf5f5cad2a989c8558bf7cebf95c", + "collateralIndex": 0, + "collateralAddress": "XfUR1DHBp78tjvHxyaDWZpVbtc4oZQg3yx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526341, + "lastPaidHeight": 1725569, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "XdQnMkG1DCSoCi3ZHRch9FoyQ5Sy1oW3ue", + "votingAddress": "XvBSr6QYpcFsqpZs5L1Wj8ybQYWWtSUeKe", + "payoutAddress": "XooofoprRXK71SH12WZfsRTaBTiE8UcHij", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a2abec533788726165c12a0872b4e8a7ae21daa559e82c89794c1226b94ad5ea", + "collateralHash": "ae6cd27af4fc3a924c2a6d10b1584a8766d3ddeadfa143e63e2847050ea9d6b8", + "collateralIndex": 1, + "collateralAddress": "Xy7QKJKEMiVd73xu3R1Qf61srK9x8czTFv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526343, + "lastPaidHeight": 1721482, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "Xn9kMDU3o52WFpK4NKHdCsw8FW8gWNGutF", + "votingAddress": "XieinzrLe9sDwKmDFcDwoD685pCrsUhACQ", + "payoutAddress": "XfYXR7HEQJMBqKDboucrHg6j5ougPxeRt2", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "cd6d17847132a88dfc04f54745a2c1361ae14d1f5c96a5ab6f0b7f3297ad8ca6", + "collateralHash": "c8a0a8891a7da4a480b1e748c536045223439495fb946d9cc40e35f370ee2da9", + "collateralIndex": 1, + "collateralAddress": "Xj9ZgvjxQXc6EMq8FS5eWbjjKKXMDkWNqE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526343, + "lastPaidHeight": 1721479, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725083, + "revocationReason": 0, + "ownerAddress": "XpxZNbjTuUrmmJ8tvE76bx7v3p1w6ndxUv", + "votingAddress": "XeRE1Ewk7hF1EEqvC2XNGsN3o3EVewzv4M", + "payoutAddress": "Xxu8V34r2njnCLKo7znjir75AMyfbbazkm", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "aad478868ff0ace6dd0c97b0d634fb64970e58288152734c4e7f131d3ba04623", + "collateralHash": "0d1e8b59aa4e70f4ac0b92aaeedea69a8d3fda8cf0ba82d0466ffe2cc3a653f2", + "collateralIndex": 1, + "collateralAddress": "XgUL9XZze2iywfB4kqBq5Aphq3CvqxeRN6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526343, + "lastPaidHeight": 1721477, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "XeD4mzSoE9chQGJnC4TYCNJJSVshjw9Gvk", + "votingAddress": "XqmZVCwD2oVbUjfDgnj6nkTf14L8rRr6VV", + "payoutAddress": "XhdDF3vsG1ksQSdwJzqStvFwJEdqj1dV1K", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d8c7dbf1cf7b9de42b0f10d94226e3b1126a96e25d2ec794b7954a0c8a7d680c", + "collateralHash": "f02d9594cecf416d012c92ce28a2765c127f06ec3730bc31e01f7488e62e55a7", + "collateralIndex": 0, + "collateralAddress": "XjmH2awjeSYX1tm33jFEqrDhVWM81Upy6X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721487, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724507, + "revocationReason": 0, + "ownerAddress": "Xwwb98uFSBU9pqBNo8qL8fpa1iRFpDrfnb", + "votingAddress": "XgF1gQdHmJpeyTipJ7PvpANvTP6tHdgTKV", + "payoutAddress": "Xb1BHTF91xTNNsAooysieaaQ8CEhD6HiQP", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f76fe27e951c6af157be07e3cfa17b33742075ee49c23589a872f7a6bcd2adeb", + "collateralHash": "2ba52530ec3ec02f1a13aac97fcde2c59645dd3638418dc03d5f1a4b35c1bacd", + "collateralIndex": 1, + "collateralAddress": "XqHKHeJjqYFjQ7j8eFwgFjCnKFmNJ7WFP3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721499, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724916, + "revocationReason": 0, + "ownerAddress": "Xm1ni8jtsRsdjhCQJ3C9gEy3JxoP5erYQB", + "votingAddress": "Xdnysy1eTe8btDagFgdiCHTToHBgZqhXDP", + "payoutAddress": "XtRm8eBxZfufmwbmsUXwUFBEpve7wuzKoj", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "32f07e8510eac6c87542352816b2f977d6965a459debfaa4580aa303365a6d2d", + "collateralHash": "2c7c6ce4735667163d6e53e913b1cecaf0ec0d98a46079f4e6a628f3d1c6fdee", + "collateralIndex": 0, + "collateralAddress": "Xfxnuvsfris43t5k3k4uDRRbZ53YKreueh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721490, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725348, + "revocationReason": 0, + "ownerAddress": "XnLUw8YvRbmKAQLSSwFDjYEo5NAatHw4u8", + "votingAddress": "XiqWvAGZA2SxJK7SnSA4kkUyL9yyZGLvcq", + "payoutAddress": "XnGBC9w3Xu4Be9vU3D33cpUQNKVBbvY1Zw", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c8b88a66bac4d2945419488fe67c9329b88d0a0afa1b29e1fb26e59062bbb06a", + "collateralHash": "da3b94b849c0c3bad7c9915498745a438545702f08a47e739970c6b46da7a6ec", + "collateralIndex": 0, + "collateralAddress": "Xuz4BPeYP8U5QYuo5DmKvc7WBqahYzu2nm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1725578, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726595, + "revocationReason": 0, + "ownerAddress": "Xj5tNBC4ZhnLLvePDgYb81ys8sdw34n2W1", + "votingAddress": "XsTbNRUgWWEkGHbkXedTV1LrxdNTGs7sDk", + "payoutAddress": "Xn4auGX7wyXqaRthndZfvgnCLH4mR92QTv", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "325ae1da2755b3f9cc3b29623418583f02742b83a5b1010431c15886730f4500", + "collateralHash": "aaf668b6e4cf0776457a8d1516438db7a10e60a280e49ad799dd04d18583fb4a", + "collateralIndex": 0, + "collateralAddress": "Xvbbxn8bNKTzhs4tTnNV2CberN641hyZb8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721486, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724844, + "revocationReason": 0, + "ownerAddress": "XoZajw7SmRmbZFnpvRycoYvmvdYRE5jRZo", + "votingAddress": "XbykdUQ3jJQdXMgqLt7HbgGNCXwJggnEn3", + "payoutAddress": "XniU1Guid2CQSRSkPNjkjg2jctjQX3aTjE", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "751a45dc311703a129174640122e838d40fa48476a7e7fa7d501104e401a6050", + "collateralHash": "0b7466a36b3591299acebc7c6f8f7bea706680dc974bc08cb93c0eea643b0748", + "collateralIndex": 1, + "collateralAddress": "Xkwbetgh6f7HKz74iarQoSDJSEaH5tCWJS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1725766, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": 1624919, + "PoSeBanHeight": 1726620, + "revocationReason": 0, + "ownerAddress": "XdQVcEEVDop42rpKTZ5Jyaw8D256c6s8N5", + "votingAddress": "XjdLsdzgcpYzX1msuR8nqG7i5yAAh6Hbgg", + "payoutAddress": "XrfN1Lnz8VeXb5bJSTu9a79dvLWNHKmSUo", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "71db45ddb6fce7bf11a0050ea6ea1a50f813204518d19a9f9305a472126ba36f", + "collateralHash": "c225885c8dcafd4c193da4a3e55cde8146cd2f2a3e496e93d82159e4b337019e", + "collateralIndex": 1, + "collateralAddress": "Xm7x6RZXFr8JoDzMvsuUa1jTsQXvaRVa4k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721494, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725012, + "revocationReason": 0, + "ownerAddress": "Xk2T9CkmUZxvSTPXEAPboPgbthgdCQyKXU", + "votingAddress": "XuqR2GPYQQLtrpvGPLxQoFjtvaSvnk82oG", + "payoutAddress": "XfKmE7AHqUshRTGq1S6xN8ggiiqfiyCjjf", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "673fca00097b004420d3192e6dd1f6b04cfc5b2c9bd85697ed399b7c40d9aec3", + "collateralHash": "c07491fd46f6ddef6214cacd71196689187a9b76c2b880f3b6095df38fc2ead7", + "collateralIndex": 0, + "collateralAddress": "XfQ8K2BEGWzugduVw9ta8r7zN2Pxaip6xQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721498, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725156, + "revocationReason": 0, + "ownerAddress": "XyHVPRuef66TvqZgmg9no734HAxDPCSauG", + "votingAddress": "XbuaC3M4Jdez7GMAwFAakE8S16Dd6B5mFA", + "payoutAddress": "XahiLVr9YZGXfMZEWLZBA84v1gYucf5PZW", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0314c060ddfc51cba2d341a3785c2c83db8db14b19e6c4e4f00c9a66561ae36e", + "collateralHash": "085434d81821325ed60199183451aa4e65815e1b7d32c1227b67fb45edab6af5", + "collateralIndex": 1, + "collateralAddress": "XcBWdseHPMwkCHXW6kFKyf7ENdCPb91K2H", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721493, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724580, + "revocationReason": 0, + "ownerAddress": "XvhF16evQLn1TzyaaJyABqbTjpT7XBnsn3", + "votingAddress": "XuXkMUkLg2ofUobK4eX2CoAuJJ188Y23yH", + "payoutAddress": "XdpNtpggKMzqcFEirLd8Fq2AeJUVN5RBTi", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "dd71d209a726020896af07b926ffd8ad8af5844400ed7977c2bff038f615d122", + "collateralHash": "ba8eec5339c84f3610181b7237529fc54bfcfa2e58029cc59479a555e695aaea", + "collateralIndex": 1, + "collateralAddress": "XgT1QViCakiK3d9fxxVT6i8aYaejwVyPs1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526347, + "lastPaidHeight": 1721489, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724891, + "revocationReason": 0, + "ownerAddress": "XxGNnuphphNfnPKyWS2LkM5CTxMNtzNqGN", + "votingAddress": "XiFPphaFXQHcyfrQC3NbnqexvdHkaxNs28", + "payoutAddress": "Xki6LutGLy4eneLmzkNquRhNdnNLBoVm88", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a53c0d23ec2e9cc05312e24b8ad49cec5069f371d188ac655d8f5746cf7d2320", + "collateralHash": "a20e25be42818087cbc11ef9d84abba6d7a23b0606b641db7882b39b6513c408", + "collateralIndex": 0, + "collateralAddress": "XegKFxx5aEruYUSkJB1JPzpKdkFhaQHDXS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526349, + "lastPaidHeight": 1725584, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726500, + "revocationReason": 0, + "ownerAddress": "XwxLM21y5y84nrQW55581sZdVdgoi3BRkw", + "votingAddress": "XfNYMT9YXvvCc9qrZ7oGDcDscQJtXayEKx", + "payoutAddress": "Xshia7vrTJViPhjw3J6ZtB8azgNbdYrpNg", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f05e9ce8f6656863f67930861949bb024240bf5358ada4d951243636046b5344", + "collateralHash": "e61e1236e17b246ede0b329bb66cdf80281ce0ee000bdf9758b2bd83d1a9340e", + "collateralIndex": 0, + "collateralAddress": "XrRyGDagPHuCEpJd4pFCMzBry9nfEtFooH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526349, + "lastPaidHeight": 1725586, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725708, + "revocationReason": 0, + "ownerAddress": "XjKHeeHWKqzdvybvwLAgS8ESCjeUiM129u", + "votingAddress": "Xvh7tCqyQNkmi1WrjtRkyyywiGJmY71Yza", + "payoutAddress": "XvUe9BgQ3aMhgd4upXTHCfVT1X793hRB7o", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "598852fd536bad4cdb5e02d98293aba4b7e19a725d3ae0a51b99c6ea75b352f6", + "collateralHash": "b93ed7c5c5a286a8a051ddef2a383f57e56e99724211ff3fd2d9738377844280", + "collateralIndex": 1, + "collateralAddress": "XrFptN5z1T4p5GuWwFs4xRdUVt5RLwYKek", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526349, + "lastPaidHeight": 1721507, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "XupYdeQm7iVjdEPWvQrVmeJjjz8pXCE8qm", + "votingAddress": "XiQhSsjufBEx8NJyXTw7Um2SK3FR7UnurX", + "payoutAddress": "XcHgL5xjEa4cpqZmRFhNCYk3xiFTk8QfUP", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "67ba45567fd2d0fb8f341d7c0770af1616ca9ea45a2657aecf718599e4fe810f", + "collateralHash": "9f17f7558fbaf094c6f632ce8c23e54afbc5f5a22f71388172086ecb717a1263", + "collateralIndex": 0, + "collateralAddress": "XqNr5kJv4HW2kKV2627bNYSCXvmosjfGDB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526349, + "lastPaidHeight": 1721500, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724675, + "revocationReason": 0, + "ownerAddress": "Xoxqnm7iTVAZ5rHJE7ijhAonoik2EXqPv6", + "votingAddress": "XnAsVv8LpZxqAbZFAwPRospNcr5a53ctyS", + "payoutAddress": "Xoo5AcLbmoziki8zkkE3B9YoznFZC6pUSL", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "25c477584c93d23b3c8960a838df0a04eaa68e6f934d424a9918649dfae22eed", + "collateralHash": "b7c1cf557ba9e2c984844ce1c57e61728231f3992a2db7e14053f1ab1330ea89", + "collateralIndex": 0, + "collateralAddress": "Xtafe27ZQR3aVBFvTNNAWpqJwrLevmLnAS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526349, + "lastPaidHeight": 1721505, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XiYU3s1Bkr5cx77yepTUHASQBppCoDfWJF", + "votingAddress": "XdpyCwTosAFj8GuLqJ9a3P1Frk8PRLNKiX", + "payoutAddress": "Xy6kRwMP2Cq5WHDugyYh7KwEpoDEpReXmX", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d56ea522f7670539d9a4b12054a803b0a40fe97c0e3218b5c061d76cdf88604e", + "collateralHash": "bcc2a717b8f9125a439b11c47455f1eccba6e192212764d6078ef37e0d098006", + "collateralIndex": 0, + "collateralAddress": "Xj6vnn8TKHGRRDRiKioEcBHodvzHDwCTSR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526352, + "lastPaidHeight": 1725589, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "XdSt1V512eHQvxUQj6yPezCYWj7KXtAVGL", + "votingAddress": "Xo1zLR7tajQygCuE4AcQbVJMeT8Z3gAeTa", + "payoutAddress": "XxU8C2ZGoE3YwRhPB4MR2oKCKpiHWZsKjp", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "0dc91efd618fcb5b633b0574caa8e8c268d4779c60575cf633010bff8cdc0f91", + "collateralHash": "5c6ceb3b30d5c478614a3bc79dd0132f9621ffb449e7595ddc3f634757b5ba1b", + "collateralIndex": 1, + "collateralAddress": "Xn1NRsvTacXLZ3ShmQrRqXbeqk9TgU8fmS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526352, + "lastPaidHeight": 1721511, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725083, + "revocationReason": 0, + "ownerAddress": "XkGDfNNqTPcNs5nrDuWUpVxRX1vw8pkM8o", + "votingAddress": "XciSnmpyZLqnVCMio97vqoqFgnjTxPwiHz", + "payoutAddress": "Xd8yGjwU9aWfSQLB9hQXatofLLfKjWxZRG", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5777906422126e0016e496e5f130df050bc094d1739c906b8ae3a127333ba8f1", + "collateralHash": "48ef5be18ad0747f1970d497a28ddc1d8b0da93d5dbe8677794ba06363ba704d", + "collateralIndex": 0, + "collateralAddress": "Xe1bn4yXDPkWHrZUEsuPAAdJzLEm9cs1TS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526352, + "lastPaidHeight": 1725592, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725948, + "revocationReason": 0, + "ownerAddress": "XuX7Lpa87sT34UiT6kP2CFzUr2ub9qfXUx", + "votingAddress": "Xq8LT2PDYUw1bwe7SF7YADWSV8NyGkUyZg", + "payoutAddress": "XuhNWshDp3i9mApiDSAn8TJBwGeCiFZ9z1", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2d0af2ddb7e9eb38df414ac5dfc111d24e1ad2486331641d60fb2af38934b2c6", + "collateralHash": "8de105f1f521ebe9f5216d2c2c8c4221726ca874a09077b4eea974ffa7cea92b", + "collateralIndex": 1, + "collateralAddress": "XiBpd1XFiu4KkMvY2Z1i7MCnSkzLm6iCHe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526352, + "lastPaidHeight": 1724695, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1632430, + "PoSeBanHeight": 1725012, + "revocationReason": 0, + "ownerAddress": "XdS7cQkCVedhTWb3SqoATNiWuNDRReAcm3", + "votingAddress": "Xo5Ww1dABS4d1oEJfYUvrT5ABe2LKciQjb", + "payoutAddress": "XbBiUNCq2qQQkhGYYPwWqEiiehm9JRmHGd", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f0b71d7ebac195028466c22f958e223444da9e3fa79b3b2d58527b78cabc5170", + "collateralHash": "2a0397e32c0e6f5566c01cfd590009aea290b10016f102f48d41ebe61e1202ec", + "collateralIndex": 1, + "collateralAddress": "Xb6eehhHNsL8SuvnNxoZgcZ48pt18X5vXu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526353, + "lastPaidHeight": 1721514, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724627, + "revocationReason": 0, + "ownerAddress": "XpG1z2wbUbXNduVAgFZ5M9BZdCaY94Qi7z", + "votingAddress": "XoNjs6Ei8tNheP2yr4bUb1RtPGUaYkZhm1", + "payoutAddress": "Xm4r5H6REDFMrp8Ri6LgWW8MbbWSvEnTDm", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "4897cbc9af1c231f38c234d800b2435ab1dcf92ddebd82ccee64f39d661993ca", + "collateralHash": "f83adcf8153f454c20ccaa776e1099b99af5da0cdb607fb15dd263985c46aa5d", + "collateralIndex": 0, + "collateralAddress": "Xfo5psA2dqma8hMWrmpPJe8oxstZWuxb3a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526353, + "lastPaidHeight": 1723325, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": 1665242, + "PoSeBanHeight": 1725612, + "revocationReason": 0, + "ownerAddress": "Xymb1MfMZ4iPKt5UsCKBJjZuSK4ESjttpS", + "votingAddress": "XdT13msRwqbA6ozXQ9rKBdSHu33a14WMHr", + "payoutAddress": "XcPMMjKKbcMH8hQ5FFvYEavo364fpgcvmb", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d7137824fd38da585a4f5ac4a9c1e1aaa28f91ff59eccc3dc12f4e425ff11f97", + "collateralHash": "6bcb403ff789b99a1eec8c35f66c6423c0bdda9bc82ed29631e56c249116ab08", + "collateralIndex": 1, + "collateralAddress": "Xe1sjkbXULThdt4D7GWm2pVc1ogRsKAgzX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526353, + "lastPaidHeight": 1725593, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726294, + "revocationReason": 0, + "ownerAddress": "Xhi6xDFVTpsnCYEnLe2d4WT435N4Rr1Wyi", + "votingAddress": "XwYSBuFfY2rgBQRny5X1LpLef2kCtG8yD5", + "payoutAddress": "XgMnKxFwFJXAZqn64f4kwLB6BT2WpXBemC", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d9cbe4702e5fa9042080482b431ea45c703277c2fe8ef46536dadbfad7b2b748", + "collateralHash": "290a5ac4e223b7edf40c11a7d74ae80ee4d33213bec7cf9021d3b627d8bfb051", + "collateralIndex": 0, + "collateralAddress": "Xi6QXL1zjG9oDf4dkUsZz6ArpPYGVhZV46", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526354, + "lastPaidHeight": 1721519, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725324, + "revocationReason": 0, + "ownerAddress": "XdeSqqnFjr9FrLe4HeXc6RB5FYYtbH5uif", + "votingAddress": "XnkN12zVcZhJtQRyui2rWLi9i9jnFsVpEX", + "payoutAddress": "Xjq66xsYAKSXqH99zP6ZDypFzigDCpmdyf", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "ef3f0e9ce714b900f5f3149ad4c362e96be50e744704f641d016614ddcac4f11", + "collateralHash": "68b405e17f3794520feba00b0e6c218287db96d58a83988c99b1177335e995bb", + "collateralIndex": 1, + "collateralAddress": "XdmJigVbNegkSrLqNZoon3gBqQDT9c2zq7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526355, + "lastPaidHeight": 1725597, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726740, + "revocationReason": 0, + "ownerAddress": "Xd5wruh29vBXZwMw9gHsjaon1RpXDegta4", + "votingAddress": "XfUR5wbKeLVU8TMqpUSm9m95rfRCchqPKb", + "payoutAddress": "Xkfskpje2UN5CGieZwRQfvY7zCuysXG8W5", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "607d69dbbe986c4af990e72c17362daac9da4c76ee1d96ba0e8975c82b64b7c0", + "collateralHash": "7925b800d9525b9a844530e3aa8733bee14b0e84b069abce0a87165250d908c6", + "collateralIndex": 1, + "collateralAddress": "XdpWWouTnJSjnsTqvpxGr4QVV3sTFLUThf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526355, + "lastPaidHeight": 1721526, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724580, + "revocationReason": 0, + "ownerAddress": "XiMtRpescqBpFML3dUs1kGXK1ZzRQ1nWtk", + "votingAddress": "XvqRpTxkA5V3s2mzbv8agGSB7QL32jwFGk", + "payoutAddress": "Xw9ERbmSLH66Pxym7XJaCXg6xnFAw67uMB", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c1adab490fd804d9911fc1eb9ef6b29c00c5ebb2e947f59d135b54e9d8d453c1", + "collateralHash": "ee56895a9a2e80f8663eba2b5845310b10e90c4eeaa40b26181f7c8e003f2f2f", + "collateralIndex": 1, + "collateralAddress": "XwZz7ByZkNvbP8EFYNtvStdBC8HfKqptSy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526355, + "lastPaidHeight": 1721528, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724747, + "revocationReason": 0, + "ownerAddress": "XvT3UcgT5eA83pTCoJChpqGEjqDWCaYMXe", + "votingAddress": "XndUidbFWp5As9n9XQDdcCnDpbf6KYoNL2", + "payoutAddress": "XmaszbJrft2vseYyyr7aXhonpYWjFgd1P8", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "86450aad6d1e3447868f42a027f302a7ed940184b896a9cd16e25b0b0f1aa9fc", + "collateralHash": "af35da075d4cd7cec09b88d23dd4c4dfe22626d43098fc16bc4ca21b13836630", + "collateralIndex": 0, + "collateralAddress": "XmYC7taNXUdnJBBMzRR1VtjhzjXHj9QzGE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526355, + "lastPaidHeight": 1721531, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725012, + "revocationReason": 0, + "ownerAddress": "XdLffAvVyX3dSVLpqZS3iRgpJoZZawtxoJ", + "votingAddress": "XuKJijgzN5fwSCQVJoJhseCvMC55JW9jN4", + "payoutAddress": "XvAXZV5QT72Aqge4w5av14rd8aeKngWC5A", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e4293e91cf517f6ec51ea715af4f9342807f5dc5d64590ecd4f59c447e923e8f", + "collateralHash": "2f78ff165b2f49b53cc0d22493a308e5e5642fc81e62173a366998444f107090", + "collateralIndex": 1, + "collateralAddress": "XooL6bu3T2ZmfjQX5WzL86oz3FkA1HmwZh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526355, + "lastPaidHeight": 1721525, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725299, + "revocationReason": 0, + "ownerAddress": "XdqJiPwwB2YF64Er9A2p8nrETF5oUPSZRH", + "votingAddress": "XuJotyMDHWTiyTYmgPxTkGMKSfnzzrqpJg", + "payoutAddress": "XtJW7pzJSpCR5gDe8gq2WJ7SZRniuqq3xQ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c2bec66a4d123c9eccc8bd6eb023f7fe6d16b378b2ec48178f108678e43dfe33", + "collateralHash": "e5a602534c82c92d0e3a2934809552d94fe0678de67044c31b178379208e6fb3", + "collateralIndex": 1, + "collateralAddress": "XozpT3oeV4pqmhb2zyvtJSKB9V1GCwVVt9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526356, + "lastPaidHeight": 1721532, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724604, + "revocationReason": 0, + "ownerAddress": "Xh5U3MLXw3hqUmnPK4gAr6MSWCaPAEoHYT", + "votingAddress": "Xku5VgPDkM6SGk7smXnyJ77SPQpiNJPads", + "payoutAddress": "Xrx2KjKctRNZvntvBHAAESe29LFMrQqJmq", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "a68f2ee96ba47093776e40d8ed0c5932d1303253d49278683f1de97b86adab86", + "collateralHash": "99e34d19d9bb218a6e1622beb1cb25f7eee1948dbe1246fe35f0e23c0132589b", + "collateralIndex": 1, + "collateralAddress": "XbTJsnWLXpwwB9CKA4o6VEWZBdXxM1CiQC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526356, + "lastPaidHeight": 1721534, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725012, + "revocationReason": 0, + "ownerAddress": "XwaBwBg1WAQ2gaX6pXBYKv74Jihn3vuP8U", + "votingAddress": "Xr8CRog56TxTEGYNvK3xrebPVSiiNyXzYy", + "payoutAddress": "XnfuKwLo3yEfepgdshVxz8PoD44W97GRBV", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3512a01abeefade737ee513cfbea5697e9de82ccad22270efa649b1b6263bd1c", + "collateralHash": "8e748fc0e3058db157ee5aeeea64e2ba87abe6845449458ef5fb18c4cbfd99d7", + "collateralIndex": 1, + "collateralAddress": "XbzMdpqYbC94dSSQYVZ6pWY3zQ8uuzwJD6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1723321, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1665238, + "PoSeBanHeight": 1725108, + "revocationReason": 0, + "ownerAddress": "XcW8BwuRKDbK9UrGbj5Y2NRc1mRhiyAaYU", + "votingAddress": "XqqFgH33UJ5JtjLx3RyfWQueAgehcjtUo1", + "payoutAddress": "Xi4jKfiDKUKcdcrALFV1YRBaoJr5Wq5XiJ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "fd36c168701923a0e87558b535150d9ca6f49de00aa1b04837e04014a64b46d7", + "collateralHash": "4d69587e0aed46f4e3fdacd0d58b78eba1262bab224e71e9577083b2405cc91a", + "collateralIndex": 1, + "collateralAddress": "XchsyCQSQk7gvtfCnWB1MEKNgrGw4fwB5C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721553, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725204, + "revocationReason": 0, + "ownerAddress": "XvZDnDYjUsWKCbJGfUeLyPJprncgPm6GBH", + "votingAddress": "XqchsPDvCbZTXHT2KrCErmVfX57zFbM8xZ", + "payoutAddress": "Xu9TBVwMzkVejF1mnGqgD9odyy6x4GiEMR", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "672cf250ed6da5b35639df500f03b9b5da0e811f57c142f51400f459ba022f2e", + "collateralHash": "e691496410ff3ed3dc69762f044604787e106d979581466593d8668ef9364f37", + "collateralIndex": 1, + "collateralAddress": "Xyz1NYfdHNgDL1m3mfasWRQpXkGsFBFcTm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721545, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725156, + "revocationReason": 0, + "ownerAddress": "XhLteshUxSHqiw3weu4bXUSRRKay8iscMC", + "votingAddress": "XmLB67iCVKm9vWCgixg1D7qvi1e6XUHGpn", + "payoutAddress": "Xv2NhBmijCDfq1V5GA9xQ8VP8bMH1EG5HQ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7c3ca852098c1791daebe4add18303867db6cd093523010066b69f6c9a44331a", + "collateralHash": "a5b30e054dfb418f8ffa82ce522b0ee1fbe160f1f6ec457f1e0eeb76e67d9539", + "collateralIndex": 1, + "collateralAddress": "XnYS7ZuxvoKgBCAXbDHGVUCs4VWxLQAEkz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721541, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725060, + "revocationReason": 0, + "ownerAddress": "XrPFLVbmhrBSZVzJABeYqoD7LbK1U2gTVo", + "votingAddress": "Xyd3PC4AvxdhWCpZD94c1ZxJpTWQJYw2Wu", + "payoutAddress": "XdphuEBW4wDb553PkCTSTrBJaX75PgiL8V", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "7ef32d572ec8698c03993d92b97efe0f382e69155402997dad2e01360342367b", + "collateralHash": "47ffcfc95026fd153f78bb54c7b2baa4e3814562c9f110e81c4b5db77bd1fa06", + "collateralIndex": 1, + "collateralAddress": "XmSLNZBhGwc7Lv15MC9EG6qt5ny6W3WcpA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721549, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724819, + "revocationReason": 0, + "ownerAddress": "XvrB9AXkYayNMDYJCNEutr9mm34JnZ7yv9", + "votingAddress": "Xx2TXvvbgxzAMa6EyxUR86bFxeYHRpmWLq", + "payoutAddress": "XpN8qFQjdCZTNdndrtoEaGYd5HKYPQ2kvm", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "277681c3029b7ba97e9ea5c645c7ede5bbfdad797d56985b7a1a324b9e9fffbb", + "collateralHash": "080c995bb167dfa1259dcfe55c1bea2e39c90ae7f0dd1c9b6d91f1b564b6574d", + "collateralIndex": 0, + "collateralAddress": "Xx8wwBusn74hCS9GuUUtuqEURYDgz9szJH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721550, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724747, + "revocationReason": 0, + "ownerAddress": "XcTfcyeH2oBYjRx9bsBPQA9oyvumNF78HJ", + "votingAddress": "XazL6KD8pMDnhqVJRk1xH7mzhVUGV9F9e3", + "payoutAddress": "XxrVY5kt9unEhi523vVmYY2g2popRWWNNe", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c8b15344a0a46ed8955a85a1a5d620f4f5ca8bd6158f78b671b28b89d393a1d4", + "collateralHash": "8fb809476cd54b1cb181d8fc024070133e5d1fc0337dc361bb83e71950d39276", + "collateralIndex": 1, + "collateralAddress": "Xb9YGt3gt9nT3xvwfyUmYaGhT61bJBmFir", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721552, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724555, + "revocationReason": 0, + "ownerAddress": "XjjzV7ups45HbgY6KiNvyC9Z424spxGJTC", + "votingAddress": "XarAQUpXtC7aeEnrBgPqX3nfm2TzCQhMRA", + "payoutAddress": "XvewQGhezeBuDqDZQ6eJxfocqvHa2ZgR8Q", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "565df1e10c3230e371e561d5f1d7acff1af2c2242c8aa6115d1df93ca800e229", + "collateralHash": "035c62ca5152d50e4df9bee3b1af6357f5006694e376183c9f3615187a644a58", + "collateralIndex": 1, + "collateralAddress": "Xvsq9gSS5rznRg7jT7m2CE4YpJkF82Qo1J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721542, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725430, + "revocationReason": 0, + "ownerAddress": "Xb5w41ScJciWsTByVb3YDPbPx66AUhPkb3", + "votingAddress": "XgYKucyPJe9uCcSHeEiLYtMZc4L8vEdT2Z", + "payoutAddress": "XebS58EJz8qELCJ2cpCt6z8ghfn1RNRvet", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b4dc56d22a95bdeb643d70c9ec739aefe84a3d8a4b9e09d4679e6e01a35969f5", + "collateralHash": "86a386093abbcde23acb20cf60e97ff71841dcc7c672279510c73366fee0b914", + "collateralIndex": 1, + "collateralAddress": "XdBdtWjHXAQbRqRSQfBvokDaYhCgb8ptSQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526359, + "lastPaidHeight": 1721554, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724987, + "revocationReason": 0, + "ownerAddress": "XnzWET87hZW3DfXykb7UcqqhhoR3t5PTrN", + "votingAddress": "XnmPEDcVfGcAM82RWgtufBd8BTu1qZ8uM5", + "payoutAddress": "XixtGxDfnkxhVmWbmVcg1hiMxxCWwK66CW", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "83e75d206c930b2a1864d4e0a03169d0d2cdf42c47483feae3ae06921c0dbc24", + "collateralHash": "acccbf328323cab4382e0f23209eeb99390ec916b080e7832342f3bf67cdd4b7", + "collateralIndex": 0, + "collateralAddress": "Xxijmg5T1abhrv4TSRynnGBtjA23hamUyQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526361, + "lastPaidHeight": 1725617, + "consecutivePayments": 0, + "PoSePenalty": 4451, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1727459, + "revocationReason": 0, + "ownerAddress": "XrCcmw7ZqoQbzSacamutsmYv9buvYF4vWN", + "votingAddress": "XxaCsTErpuwfkw4T9NrwRiPSjn2zhXoYpD", + "payoutAddress": "XyhhPeLvFovksTCKnGdpmU6G55xnJ3UMbw", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "e9f9cc2cab8f03f94353196513903f2cef416f96c53774e289441621ecc332c4", + "collateralHash": "d3803491eb051ed62510139067628a083a5842c1d85250a08eae35ce742f4795", + "collateralIndex": 1, + "collateralAddress": "XmQwu5SxJf3t1rbwvpkFSw4AGHrfeSb5yT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526361, + "lastPaidHeight": 1721557, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XhURakTCX7h6Xx7djhhe9fHDN5wr8uttHc", + "votingAddress": "XgwiQfSFxhN9nadfYenwFgpz3h7Wp9uSCb", + "payoutAddress": "XiP4Z1sVtjSrcLRsz89hB9xfkLxdnTXhQY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "88d4ff161f4833bf72475b5ec32f7460eea820893c881097126d846fc00c501f", + "collateralHash": "86d551eb89cc27c103eadf45d4563c62ec65ef103bcd66ed42e597bdf29fb4b6", + "collateralIndex": 1, + "collateralAddress": "XtTZnhZgT2XXzwa4jWQ4yyiK6VKhG84ogg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526365, + "lastPaidHeight": 1721560, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724795, + "revocationReason": 0, + "ownerAddress": "XePdiEyxsKVAAnh2VjQ7TaCRJ7WStCiDoq", + "votingAddress": "XwHr6NiBFbkhQpjnVUZSHrwKLhVVHkaNpc", + "payoutAddress": "Xf4ajweWgsoMY4dfmcsgwKyNM8o7nKpWeZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3c1ffb551b1d3b7ce47ded4440d34b1b88efea97f73ceb7755691d070fa87617", + "collateralHash": "c8feba9463964c117fac311df638e6774da525b6b7844e0ffaf2bdfc18d71194", + "collateralIndex": 0, + "collateralAddress": "XprJG8qYt89dUN4JDHR2jqzoe4TcgLaF6g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526365, + "lastPaidHeight": 1721559, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725251, + "revocationReason": 0, + "ownerAddress": "Xg5ZxhBNQVG2Jo6kNKVUgt5TowhhYLc5jZ", + "votingAddress": "XeuSS2WCNfVumpmh9VreMJjmxP4MYRJg2c", + "payoutAddress": "Xn6f4mDF3gEbebQCteSJhDXsZsHHbb4oCT", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9ef322a0ad4277b3ece9a5e8b8febbed8404e07a6d2dd045cc5ad058bcf5410e", + "collateralHash": "d10ceeb217e171a08f0f6343642e1247c5efd052cd9288999e2cb6413dd4cfce", + "collateralIndex": 0, + "collateralAddress": "XmFunq7wVkZ7SYzV9FFLE16oRXo8thqMYc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526366, + "lastPaidHeight": 1724431, + "consecutivePayments": 0, + "PoSePenalty": 4453, + "PoSeRevivedHeight": 1662124, + "PoSeBanHeight": 1726163, + "revocationReason": 0, + "ownerAddress": "Xq4w3oVfPbAtx6tkkMMbm5P7pDKie1g8Us", + "votingAddress": "XmTRKZzrEJESziniM6sL3T5KUKU8RTgZdJ", + "payoutAddress": "XmcYc5uLQXEgcmGyknFbuPkmNWMzauD7Cj", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "3a00656238f207d47e72e4b7c6088b50ffe6eebd6712c4e81e2bba30a4fcc6cf", + "collateralHash": "13957a5202fa215d72a88ca388babf46f8f67bd10734cea24fba1e7db7a0f985", + "collateralIndex": 1, + "collateralAddress": "Xtm1PGB4oMR2a3N3tjq8rTkeJB3SLCKYKG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526366, + "lastPaidHeight": 1721563, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724483, + "revocationReason": 0, + "ownerAddress": "XrWRfjFQTB3Y94u9a8is1EVU3hCxXWaNcn", + "votingAddress": "XsqETQh4BRYWXSjss3nyPZ8PBFZJLC5Aqv", + "payoutAddress": "XtxTicgk9SRGPrWSXUbevGBE7yD5GvDtk8", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b54b5e2bc24f835a7ce1262bd6235800f4f173f5c4cc86f7612a43713f403156", + "collateralHash": "b8d2a5025bd17cc60f9fa5950be97dc24693beaedc8b8bf24db270d7cec7be1f", + "collateralIndex": 1, + "collateralAddress": "XseP66vu5hjgua15ugrfdNWk7r84kqAHzJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526367, + "lastPaidHeight": 1721564, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725468, + "revocationReason": 0, + "ownerAddress": "XxJiwVqGcKtxJCNtyWKZNTd7WneunMxmUT", + "votingAddress": "XnR3gikHfgvUPABS6qX9iMfmuHRDFQnri7", + "payoutAddress": "Xqi2Lx24HmJ2T1Fod4PctArAnYWDiTaECx", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "46d32df104ef8b0859fa04a38fb581ac2474bf4e988a06ae2f09b0284a178ca7", + "collateralHash": "21f78c4af3c301c932c66fc047999efb67ed2ec49b8d168b1cb166a04efa101d", + "collateralIndex": 0, + "collateralAddress": "XmGUkT8z4UuWvpEuG7s3wSxogiAXCGEQLT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526367, + "lastPaidHeight": 1721568, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725156, + "revocationReason": 0, + "ownerAddress": "Xktq1vgRAshVsNQQq3i9NQqQUpfRn6YxHF", + "votingAddress": "XpM5gDSSSsftsgSg2aoSL68kH54i1x6qES", + "payoutAddress": "XiVvCdjZ6JiXBoHfLXZDUqv4iTRZnC7W8V", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1a20d475bc38f5d1410884a1d75b012bab5517dbdaabc2b0caeefb5f621e85a2", + "collateralHash": "8f185086666d9221cd10cdc73216c2a6aea02e04b4c4d26fd87804d6ce932d39", + "collateralIndex": 1, + "collateralAddress": "Xjb4PZqevNNG6Aw9gVBrTmvtMyWzbYKs84", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526367, + "lastPaidHeight": 1721567, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725539, + "revocationReason": 0, + "ownerAddress": "XhfVoL9hja7Lj8tXiyKVxhw2E7GqVVQEv5", + "votingAddress": "Xyovic2eH1gUrgz3Nb9XwLYiJNazGXV44Q", + "payoutAddress": "XtvwL42pV8gH8CQTseSiYhEDUNqnv1Kyv7", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "86a0e908a4020ce85d6d3162a142915814e078609a56945e90a534fdb52d1d62", + "collateralHash": "bee239b8a4f58e2572ab39812473d4652340f1f64aa9086e1d346fc2057dee66", + "collateralIndex": 0, + "collateralAddress": "XoEydriGwtNzv5wKmsrWyKBP7XAYcTfMeY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526367, + "lastPaidHeight": 1721566, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725430, + "revocationReason": 0, + "ownerAddress": "XgN8xpsQ6yyqmvwPTypM7uXkhyqztLpY3j", + "votingAddress": "XdHAibhJdw1FqRRCyy7pLV1qJvPYDFwEKe", + "payoutAddress": "XpLhRFD6m1CA9AsLz3tbnPWr9DDupuFMnV", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "62a9d301388ee2fbcf8d7664c35a7d450b5d3e6e96a7f4fe984f9c2614f27d75", + "collateralHash": "b5463042c22c5941faf66a059c49115508aebbd4d6e8683ecb4452a3665f6e05", + "collateralIndex": 0, + "collateralAddress": "Xp2n7Ysc5npBYtJRySvunb6XcQH3AnSj56", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526367, + "lastPaidHeight": 1722289, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": 1629812, + "PoSeBanHeight": 1725131, + "revocationReason": 0, + "ownerAddress": "XorUYaV6GRKAYRETXj8QsFG6oJBo1FPiZZ", + "votingAddress": "XjekgUeagdaF6FuPTY5du8okgxfPUYiT6o", + "payoutAddress": "Xu6XEm3NkWe8Y3TWd4aT5LhJ8teQV8DH6i", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "33250e1101a0e422efe44328662b1d24575bb316e2eeaa13e9b277e14378e24d", + "collateralHash": "6704256ec39e548069379a9b0b5553dfeb7c915c0b4ae58ac168ac1b80c7cac1", + "collateralIndex": 1, + "collateralAddress": "XwUKRTn362SMVXVhmzpNt7AEaJX3JvYBNK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526368, + "lastPaidHeight": 1725623, + "consecutivePayments": 0, + "PoSePenalty": 4452, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725718, + "revocationReason": 0, + "ownerAddress": "Xfi1yCnaqEjQDe1oaKjTgcFgzHYsC9PrH5", + "votingAddress": "Xbnwd3S3Hux8KtrXUbschpmFAHnJoAgRq9", + "payoutAddress": "XjB6nUE6r8mhMA3wYd7jzcnyyEm77HSHvp", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6bbba33548023cc1479ffc42ad767a0693c7d273ee2ac87478140fefb97367b5", + "collateralHash": "30ccac9f2d6061080398580d187efc4bbaa01832b2d845fcd19b349fed5f5851", + "collateralIndex": 0, + "collateralAddress": "XiF6utS286jcQkqiaRTBhkGktfvD3E5raV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526370, + "lastPaidHeight": 1725627, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726379, + "revocationReason": 0, + "ownerAddress": "XjegWLTH1oyexRPExsFa8YUPHeTnkFuY3x", + "votingAddress": "XsN8TZDzGiyZtZtG1r3ud6T9GcGezf1Lk7", + "payoutAddress": "Xt3wxmRM9ABygHweE8HbV5f3CDY8sapHCT", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9dd02230281bc9dd58ec51f2d6cfa46e8b82812631c356551d9f90ff83fe3ef1", + "collateralHash": "9d83cfc3ba5fdbaecdcb0a95dd696265943249b638bbe8f5bbbf18ce82dd4ffa", + "collateralIndex": 1, + "collateralAddress": "XusxRzF5krZYxMV73FUzPafD3F7FmsQWsF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526370, + "lastPaidHeight": 1724690, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": 1687614, + "PoSeBanHeight": 1727988, + "revocationReason": 0, + "ownerAddress": "XdpvjCEEB2gZbUWYC9gXu4VMUeXD36bAsk", + "votingAddress": "Xs56K9krN8y9bx7Bc5PQVvu3UCNxiYFK45", + "payoutAddress": "XosdLiNoJpf5R99ULvGsY2EL7rErkqJdbY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "08abbbec1043163ad32bc248a232c720f20fd96c861813c8aa9f4c90197fb85e", + "collateralHash": "2efbc83a91078d3431028ed859f3ed4f186985c6deb3dc2099281f95733ae09a", + "collateralIndex": 0, + "collateralAddress": "XrppKAhZCReTYDXws5cPrPjmXkm2rKQD4K", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526370, + "lastPaidHeight": 1725626, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726236, + "revocationReason": 0, + "ownerAddress": "XgJ6KR291VSb1UVJXQtrB4B5zJAuMaBzsC", + "votingAddress": "XqBU9exEnZWoBQnwyWH5b1N8FzYWabBefc", + "payoutAddress": "XsCFVg4BCy8Csk3FLPCsN2won4okieoM8e", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "55437bdc89f7e81fa78391f4be8c49b090a2ab5c59d44cd9f1a777e6b8975755", + "collateralHash": "b27d243764f6310586c795d9fd6e6e9c80b8e3479e6360583413b19b629bc920", + "collateralIndex": 1, + "collateralAddress": "XwEXmHu7shePK1TtnJyuaERdUdE89XoHHm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526370, + "lastPaidHeight": 1721572, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724507, + "revocationReason": 0, + "ownerAddress": "XrqPzT59YRPPvQn4MGc41UhQq3S6mpyAzN", + "votingAddress": "XnY1uhXNbcv47ZWVA4sLPirpcCw4r2phQ2", + "payoutAddress": "XcM62d45AvjtoFZxW2Bpewpro5Ey1Xrm4S", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "1228ab001235a90e0f7f82563a9237dd11403cf888f8b61312cb9a5b92acb5d3", + "collateralHash": "306cd18ecc003e292c5d66d552b3f465f053ee4a760d2da0de6eb37353fd6c56", + "collateralIndex": 0, + "collateralAddress": "Xm5Frn5BMotmys7ZM2AyqQGAyfaPLHHWiP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526372, + "lastPaidHeight": 1721585, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XbEtZDxaGohBkqaP1p5t84db882ASEK9Gf", + "votingAddress": "XpdSPch8ATaFumnRj9q4qTMsQa7Fn4AT5u", + "payoutAddress": "XemUtkrFXMSePtXAJfSo6iWBPPdVVrXQuM", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "2de7021b44575d03d1bc68af1e8170c7caf93c3e003cabce445bc1d6016fb5c3", + "collateralHash": "0d7fa70414f17c5aa59b6943a63b329273726def43ba2cec40cca248edd733cb", + "collateralIndex": 0, + "collateralAddress": "Xv7h3aGoi2rXieYBc1cpJcwxPQ4oKmcv4f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526372, + "lastPaidHeight": 1721581, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725395, + "revocationReason": 0, + "ownerAddress": "XbhdyyBAVPQawFngu4onpPjyU3xSo9fYqJ", + "votingAddress": "XrdSEFgqZG1f3mtCf3sx6MwqTE8Z1jVae8", + "payoutAddress": "XfHkB8K7BuaLedcXRLkPe1nETywVK8trtU", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b89c5a516a1dfabe65ada9b52c0c759c635c031e5f591a3a6d7c1b507785cb49", + "collateralHash": "ef1f5da92a0073c00f268e640f95cd0a365f3d97460e4be0721ba35067a6d46e", + "collateralIndex": 1, + "collateralAddress": "XfBq83p1kLLhNFWiPF4C4e3PRM3sgKHeDS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526372, + "lastPaidHeight": 1725628, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726236, + "revocationReason": 0, + "ownerAddress": "XnaF1TGFEafA3F2rMUJeJhBDuedTaY2E8C", + "votingAddress": "Xdpr7PkVVx1NTSKXooYMEcxEDdLfygPNp3", + "payoutAddress": "XavuopmqxovsjKge8JQ49nqhHxKXTwSri9", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "02245c5981af2ad6021f57ea9911e813d67065ccef272820edff1f54c7937c6e", + "collateralHash": "0a3888fcc0f9323eab4b2ec1a37924ab23cc46fefde92814f2755d9a13ecd3f9", + "collateralIndex": 0, + "collateralAddress": "XwE6fqK7AxNSP64VZuNCYYu8YCohTTrePk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526372, + "lastPaidHeight": 1722504, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": 1612592, + "PoSeBanHeight": 1725444, + "revocationReason": 0, + "ownerAddress": "XxZdzzgKKdRSdEcwDgPfJXT8F7JiTHXW2Z", + "votingAddress": "Xw6uvV828JG8EUTqYH7N5mfQKSJtNxBqrh", + "payoutAddress": "XdNdintY5wAbqcM9dhj7pypBvK1ja5NX4P", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5d0271f807ee17591193cdc9c858442bf26825ddb43b3d6d78a74d656628fbdb", + "collateralHash": "98863c9c24da37632b1e4a45ba83de869adcb7f40a91f9fb125a3af339fc4ffe", + "collateralIndex": 1, + "collateralAddress": "XuE22HqNxJV74iyMuNFNwt2Fqt5z9XWKTr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526372, + "lastPaidHeight": 1721599, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "Xpgo1uBjirQW1MoG7bKaHSZp88hCfUvp1s", + "votingAddress": "Xm1nsWnt1NaiD4W236SrVhvei1T7LhxVnA", + "payoutAddress": "XtyqRWBNic4emcD4bEeVgKkKKLxWwtiHcy", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "9bd5565cdddfb6604139ea6f0cd49d6d357795486fc5215bc2e4ac6e4b3dc0e0", + "collateralHash": "34d0167b61a2319226014ee2aef1dd4c5d685af5fdfedb937e8a3b7e6a7402fd", + "collateralIndex": 0, + "collateralAddress": "XuK5LtvrERZYqWNWfV6j9JxvxrP7WH4Hkz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526372, + "lastPaidHeight": 1721600, + "consecutivePayments": 0, + "PoSePenalty": 4450, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725395, + "revocationReason": 0, + "ownerAddress": "Xc25cJv1xhL8qw8m7absHHhnDepRAV7hPb", + "votingAddress": "XgEhAN2qpxv87qcENngcP8SNm74FBchnL4", + "payoutAddress": "XnBx8yPVqLHQvV4pSVZKnkikJrFEutk2nZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "64ad1cf94c1bd4ec0d560eba522576e65e6fdfc9980dff93f7650add08ba5092", + "collateralHash": "a79e7ba04427c2ea9541f0fccbd5a179fd3876e0ae80e437c9720d21ea8d3609", + "collateralIndex": 1, + "collateralAddress": "Xu1ajX7g1qWFSrgYKJqKZrH8ubUbBYyGn9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526373, + "lastPaidHeight": 1721606, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724747, + "revocationReason": 0, + "ownerAddress": "XpXxtSAPRtkrUuBhi7MseR8ePysFZFhWUf", + "votingAddress": "XteGBoKnBwbuENLJuNeQpJqJ1K9LpZfmp9", + "payoutAddress": "XjWTxtdAaoB3ckXaB3jAdFzotJL1gS86PR", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c047506094af8945f45edad6821ceb6c7d08801298262f5e1a00010877b4c562", + "collateralHash": "6fe61d1185724bfa7c4668a6af787618a86047f82955b9ded18f9cb96c0ac372", + "collateralIndex": 0, + "collateralAddress": "Xdr4Jp6opQhRMB5cUeXLVvWFwpUs6AJmyK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526373, + "lastPaidHeight": 1725652, + "consecutivePayments": 0, + "PoSePenalty": 4455, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726620, + "revocationReason": 0, + "ownerAddress": "XknngMBeEZoAnJD8NLhBNftho3rbC6uh4h", + "votingAddress": "XsJDZ7MYPo1QaM8jDm3GKiwvLSxFdthNj5", + "payoutAddress": "XuV2DHHsXHtwA5QHz6Th9RqNmMTqhTCpna", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "48560808aca7273955f33216e633ebcd44972b2097aa8e231aaebd3661395b19", + "collateralHash": "154894f15dabad277c49714ccb465075fc1f564668df9b013b5ecb2d35694f37", + "collateralIndex": 1, + "collateralAddress": "XdMr1Gkmu2aBhnWi2CtQtWtVD5YTDpakcx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526373, + "lastPaidHeight": 1721601, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724771, + "revocationReason": 0, + "ownerAddress": "XuVzf8ivbpJ9yrALZHkcSvg25q3kK3Nqes", + "votingAddress": "XfYcCBAtb3fXUkWh6auTREh8nXychjrmtX", + "payoutAddress": "Xv3UVLSjDACTg4CjQwzao8wJYzLcRNBCpV", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "108c66a14f1319af51b035fe522dc2991640e9451439969887245ca015b497fb", + "collateralHash": "53c0bbc8fb211b5a404aa1ec7f594ab37805cb39232f344fa0297ce638618b64", + "collateralIndex": 0, + "collateralAddress": "XuQBUqcfoj5sHnSPWrHYXMM8CLmEQjZMC1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526374, + "lastPaidHeight": 1721611, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XuBcGFGAnjv2miPda8PTopRRmTn7LaU1eR", + "votingAddress": "Xkc6ayieiLktqyVrvcZfXqtCL2tfcQnJAv", + "payoutAddress": "Xc9VQ9KmHj4fo2a1UedJBPjBe2x4i9aDaY", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "98a22082844afc8996c44205a1280c6e9c37ded0bd29b8682b482907b55ef1fd", + "collateralHash": "7c19bcf7db9db2009040c1b5141495d1b96f37b21e614563051dd8b1e6b03d89", + "collateralIndex": 0, + "collateralAddress": "XqwCyJeVcoBBEEBKuahAmXhADYtfd2MUtY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526374, + "lastPaidHeight": 1721614, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724580, + "revocationReason": 0, + "ownerAddress": "XvMEQ2v64RRbWQXdzLTZHgxQDvpvc8aJpk", + "votingAddress": "Xn9jNMrL1vgj7XEM9Zn9WEFrQ5Lspt6w1N", + "payoutAddress": "XvDXuqsPCA8QMmYzD8HptfJURxCNouHLZQ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b2553b964c80d7af4f674aeb0955a1dca6ffa69d6bd3944f1b48a9a6ec88cf91", + "collateralHash": "cefa444a7e5c0ec050e7aa54e85fc84e238afc9cd4e3e02ff791583c1f0223d5", + "collateralIndex": 1, + "collateralAddress": "Xf4gQN7phq1jpnwCxWZT1SHqy8cd4y1EZp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526374, + "lastPaidHeight": 1721609, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725141, + "revocationReason": 0, + "ownerAddress": "XfPewhAYpTMLSAkkUZ3GzSnCwQU78aHAVF", + "votingAddress": "XfHKKHHJ7W1qcyLgf8MpHp4tDBMS8r3LFM", + "payoutAddress": "XxDLzFqaC44oQtR46DqEQoeZTPRQ59soea", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "24d9c815d4b81f692a06a3195f48333075f471b9f4047b6ec81c3a2669980a15", + "collateralHash": "f3e8cc6f37b88ca15a5e2645f7edcdc9693938cfa6c4c077e95e28e7e069a037", + "collateralIndex": 0, + "collateralAddress": "XkAa4jvf1FVsGZVYqRJSzFxSAyVXnbusRu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526374, + "lastPaidHeight": 1721607, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724652, + "revocationReason": 0, + "ownerAddress": "XrLpRdeWWKvsYaDqzkJ1aMt6gGoFvebL4b", + "votingAddress": "Xf6Nn5SdG3Jfe1yZYLhZgpi6RNumcokRqk", + "payoutAddress": "Xf22GaueAY4PoYZJmLscnhqhq88iwugKBi", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "d48a7dd52dd86a38152c8d7ddbe59c601a70b063c373c6b55cd0830d60ef86af", + "collateralHash": "a235ba8462992b793f598340dd3ac8396ecf7735389af5fa9b148adb8c6b6154", + "collateralIndex": 0, + "collateralAddress": "XqcrKv6ZuMtPKUrg6S1vULDc69H97LibHi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526374, + "lastPaidHeight": 1721610, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724987, + "revocationReason": 0, + "ownerAddress": "XccgcF1YBHhs1wakmgUy2tJnZB662pRL69", + "votingAddress": "Xz1hsgbdb9h4QyoXZ8tiqHF4dzUpyRWqLp", + "payoutAddress": "XeVEFEBsuWccugo9HcgzWyxsDWA8jLW2AV", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "664bbc97831bc2a2c2d9c47aab777335227d8546ace96958095a4791ec2e08b5", + "collateralHash": "c62a803423f16131205218e0d82b1bd0f210d60be69d7afc01b7261551fbe981", + "collateralIndex": 1, + "collateralAddress": "XxNT6MfHWhgPjL16Dt8zYBjkwD1bnacR48", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526375, + "lastPaidHeight": 1721616, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1725156, + "revocationReason": 0, + "ownerAddress": "XuMpFyyw4SFPpriT21Dd3dxpzC11DgKM6c", + "votingAddress": "XxkHE3k8SkdSgEUA1N8MH8RVwozaw4ifQt", + "payoutAddress": "XjqEGrECDPJdY4CBLhwdoC9UdP8XCPJF3h", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "f7a18a5ec28f85c96f0f4ff7976245c6f090c7851c45a774a2be0810cbc9a568", + "collateralHash": "16e8e7bf2af0116e7326e48adf8d0e0323159f3cafa540aaef72e1142037d546", + "collateralIndex": 0, + "collateralAddress": "XyrDH5nD2MKzPJ8CGbGUBSVx6eN7XWewUT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526375, + "lastPaidHeight": 1722332, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1625501, + "PoSeBanHeight": 1724565, + "revocationReason": 0, + "ownerAddress": "XsBrEMLt5Zwum5Xi5FS6i3QjYJggmJZWu8", + "votingAddress": "XnWUTofvH3PiKHWscKT2FZBqtuYwERdNGo", + "payoutAddress": "Xd2UyZ84cRkcPbGnG2oauheTn8uE6jfahj", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "021be59f248e59d479015bd7060611d4ec5113690e831b533903656aa4d44bce", + "collateralHash": "373d85d222bb865b715e4f2e34a5ac206dfcced31d3bbfc259f91fa5e68cbe63", + "collateralIndex": 0, + "collateralAddress": "Xo8SMGPGPBYTb1mrCTPALVFa4U6AXpTJog", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526375, + "lastPaidHeight": 1721627, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1724844, + "revocationReason": 0, + "ownerAddress": "XhPN2bBzoykp2CVowQLi3LHDgsrVErGPvG", + "votingAddress": "Xfyw3WCQUdFifpzSheW6UiViV8bv6rZhwd", + "payoutAddress": "XnzJ61Uz4wZ5izSEZYUcqZRku8jYS8dV6Z", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5d77cd2868b6a4ffaec76df41259278fcf983c993611a7350f505bab4257df1c", + "collateralHash": "1c6673803d536e757a452e07729f424ce2045c51d89901eb9bc88ff42ab91ca2", + "collateralIndex": 0, + "collateralAddress": "Xfc6iKbPASHEYz9K2xPaYEQsoPodbLUc4C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1526376, + "lastPaidHeight": 1725667, + "consecutivePayments": 0, + "PoSePenalty": 4454, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1726236, + "revocationReason": 0, + "ownerAddress": "XryoABeHX7ESAfYtHwCGfu4WnMJ8oBbvbZ", + "votingAddress": "Xwu5MtmzF2xSByvuKVyTtnGYvY8fCeqrUP", + "payoutAddress": "XsVUFnuuiAYW8bBXR2QQm5UFmATZdJH993", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "bd0742170f987cbafbca92bf02ec4c318f8ee24c73617f26fcdad6bbb2078c6a", + "collateralHash": "690e9e9e713ae7c24f58ab8c08a8a778217d46f5ba56a243d03b212fa458c52b", + "collateralIndex": 0, + "collateralAddress": "Xjz4zkB1Zhvtn6umJCcCi7H3N7jEANmeNK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "103.160.95.225:9999", + "registeredHeight": 1527243, + "lastPaidHeight": 2126929, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120884, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbNkDkipLRQhCuYqNa63EzSTHSetQPBFWM", + "votingAddress": "XiphzJA4zU7d4vgXhXt24nq8EqhA8nQ8XA", + "payoutAddress": "XftE4fL3EpwWhticQJaqUCcjq2WZebT5hc", + "pubKeyOperator": "8ed5c4bd85ac9faaa2b8a8f005c7182fd147456d00b32c72cf4de50cfc695beaeb02b07ffe8f82d07092a4cff13eacc2" + } + }, + { + "type": "Regular", + "proTxHash": "16d040557ad124f9d9c99ed664f668df2b1d9931432d8180d3459dbb2bf35d74", + "collateralHash": "0bb47f74492a1363149158881c12e468f55134aa8c49fa765311fc7fec20ba91", + "collateralIndex": 1, + "collateralAddress": "XydnGEEQs3pfCdREyjB8ZWWvQnaKoYeFHT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.106.73:9999", + "registeredHeight": 1527705, + "lastPaidHeight": 2125825, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvZ82zT78JLXvhz8co3Skm271ELkwJbxFL", + "votingAddress": "Xx1AtHAWGVev9z5DwBam3asemn1WksJkxi", + "payoutAddress": "XdDvK3HgcAPLHsB5tk9252NL8SPrxQPPbe", + "pubKeyOperator": "82a6d7f5810162b56f0f46e48615a7330a24ae2d68ab4d886062d915e0da5c165090da9a928f2b68f4e4620e1e055064" + } + }, + { + "type": "Regular", + "proTxHash": "17df4b74bd30621517993251ac7928e9973954763c2875d1f1100ba56c9700e6", + "collateralHash": "5f3baaff220a8945dbc67fef3c7fb320a6143811dd3a558d45cdefe1c9a8b34f", + "collateralIndex": 1, + "collateralAddress": "Xx8YeToip96nDtq6FWmszFamcZVUq9WvQa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.56.181:9999", + "registeredHeight": 1528570, + "lastPaidHeight": 2128533, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1883758, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsh1XzgyCA826R43LrHyrd9sUjsKSVSNUd", + "votingAddress": "Xsh1XzgyCA826R43LrHyrd9sUjsKSVSNUd", + "payoutAddress": "XjLFbH5CxtgVnEuWFP5ei8H773mj8FSz33", + "pubKeyOperator": "11c8147072418f7406cab944517233d6d7ae02f01775b0cd18af340f4c35a206d2e8cce23e6ccb00c0bb969760144a3b" + } + }, + { + "type": "Regular", + "proTxHash": "19faa586dee7a28f2cb35f679b41f4bf9e88f6496e07eb2ecbabff9ae1093856", + "collateralHash": "4ec668b298b513310ee819d361c7d408612e6db6022da9829334d8bce30167df", + "collateralIndex": 1, + "collateralAddress": "Xiy2ZVAjWvZ7RFDSaCr2dtB1nGFyhu4mDM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.147:9999", + "registeredHeight": 1528937, + "lastPaidHeight": 2125823, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2102851, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XckxBmQjLNEJZBrqDgZjcNLk4pRpTVx3JP", + "votingAddress": "XckxBmQjLNEJZBrqDgZjcNLk4pRpTVx3JP", + "payoutAddress": "Xiy2ZVAjWvZ7RFDSaCr2dtB1nGFyhu4mDM", + "pubKeyOperator": "16a5c6f69b8f1f6a6f5dd58b5e8d22de258b0822f85274c4fa965866cb5ae5efb270ae308dde556f34f0cbdd6ce9452e" + } + }, + { + "type": "Regular", + "proTxHash": "72efaa8a7bd3bd4c2a5a16d0425745fb5de8947af9f15947ac2cadf77a906261", + "collateralHash": "e955687796c5d9e7da3f204be23db6d515e303180260275e46da0f3dc1243b29", + "collateralIndex": 0, + "collateralAddress": "XbyFcVJVV1VthXNSmKtGZapkCprDN186PW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.68.149.239:9999", + "registeredHeight": 1530068, + "lastPaidHeight": 2128265, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976876, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XswDZppPPes3Ldeb7jsJNXrLuHzBJiVpQ2", + "votingAddress": "XuGR81JSSEW3hjmpK4FaQyNTVAbRQegnfc", + "payoutAddress": "XmzwRhFMnoENyYFphBFM8wvPCrQd8HTr26", + "pubKeyOperator": "1269474fefd10b055edc4d942be8e6541af6ba620481502d4c280859439f68067ffa9d4a00b3e66864d3507e6659f402" + } + }, + { + "type": "Regular", + "proTxHash": "7f23d5f1914822466bf28317fdf5baeacbc985d4400155b2a94fb46c87199c16", + "collateralHash": "2876fc6afa076534071e83d6afa513529caa6c259b21c52a51f92740edab58df", + "collateralIndex": 0, + "collateralAddress": "Xczph5bEYTTGXFceNiAF3Jqxkb3KCvNR9Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.22.95:9999", + "registeredHeight": 1530087, + "lastPaidHeight": 2127370, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyPPy7MRsMb65UdUN4eknJkFPYR2CtThFY", + "votingAddress": "XnxcCuvyvSWz2Fe7RRPuUMa9A4tP4n4zQR", + "payoutAddress": "XmzwRhFMnoENyYFphBFM8wvPCrQd8HTr26", + "pubKeyOperator": "0112e706a68f8eeb72617366b7ba7bf26bda65cde6c9ca7ff2a43a458e468a01a3cf86be865c74419f3b3d3253b78b37" + } + }, + { + "type": "Regular", + "proTxHash": "c661655f19ec698073bf489fcdefdf1cc32e3e78f134a0f584c487b309d7e367", + "collateralHash": "60aec69b39bddbdc0c3f20a2284774da755feb2fe925eaf7ebaf80073664b2a9", + "collateralIndex": 1, + "collateralAddress": "XxdCp2V2QzKTmWgKTQJEXoFbGL1R31soNF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.8.64:9999", + "registeredHeight": 1530574, + "lastPaidHeight": 2127595, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1935675, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuSz1K1zaeEpDNJC1nf7hRxV1C2gmqDEnJ", + "votingAddress": "XtCCUPxEqzHXKN6UGM5P1ZyoXyYmFRkTaX", + "payoutAddress": "Xk2MktFQN76mQBjXDX72G8Kx1j697N5SKt", + "pubKeyOperator": "85f31268e6b2667e36bf32dcdced8442288084b322fd690bc3b0b81b77268e190546cfe1664a12ccf29ce96dec34eff1" + } + }, + { + "type": "Regular", + "proTxHash": "16cd4d921f8b8363f5390fca8113c6dde2cd00a941242609ab196190afed652c", + "collateralHash": "f02fd51cfb0ee7e7e8745e470a28f8ea061fbea9101bc258abd9db161dfd13e2", + "collateralIndex": 1, + "collateralAddress": "XcpR6fy7AM8waGXGC3VD1zDEZWLQzcgxoE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.33.156:9999", + "registeredHeight": 1532275, + "lastPaidHeight": 1714539, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1715244, + "revocationReason": 0, + "ownerAddress": "Xr3cTo7FK93PxnCBs7FQ7ts4Y8DH2cvD4x", + "votingAddress": "XoiRtFs1SMvfjnrHjkxeNCPZnnFqmVhReq", + "payoutAddress": "XcpR6fy7AM8waGXGC3VD1zDEZWLQzcgxoE", + "pubKeyOperator": "975fab0ede49d9763ffee98b70c96bb99952c6d09a7eea9237b64b1b20cbf21d0f20bddcfd1bb4897504cc01c37533c3" + } + }, + { + "type": "Regular", + "proTxHash": "b129b62d5d03a8b11279ed89879ee2f4be33b4f90030f12c2bc8bfc5cd00d2a6", + "collateralHash": "dbb5f6fb7f7ec41082ff62c745165c210edc63b9db349ed4e622a7c6e5cb3b83", + "collateralIndex": 1, + "collateralAddress": "XeRCp839CaVZKj1C5wTVuEkJL6xXMXzWFU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.92.220.138:9999", + "registeredHeight": 1532275, + "lastPaidHeight": 1714540, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1715435, + "revocationReason": 0, + "ownerAddress": "XmkLkDDQgyztCvAjN2JHs3MPAJ9qPTdptE", + "votingAddress": "XbjqJSybowyk5hKfzYJEpaBMZzic9uDw2A", + "payoutAddress": "XeRCp839CaVZKj1C5wTVuEkJL6xXMXzWFU", + "pubKeyOperator": "02e3463c341e16bc8237e15889a3fc82b69118acf13e44f706ec909a177acea3199ccdce496fdced6a2e363d0267dc9e" + } + }, + { + "type": "Regular", + "proTxHash": "2b96ad72b883391103cc3a4a0a3e9b123cce69d497f6fa9b0ecda9c2abc50137", + "collateralHash": "29a6b99a9496a3604089c1b8f02a48178bed9de04777554284eac3e71ec47b2f", + "collateralIndex": 0, + "collateralAddress": "Xb1pZAn1R3KSCFjD5gGobdwEf8yL19dkZc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.87.194:9999", + "registeredHeight": 1534478, + "lastPaidHeight": 2127200, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsTjdQrtqhsE5v6PGK3efXg36enHRpYLwB", + "votingAddress": "XmpXzMaXDnXZ27fJBq3A3v3z8RXrAGEBGE", + "payoutAddress": "Xb1pZAn1R3KSCFjD5gGobdwEf8yL19dkZc", + "pubKeyOperator": "0f7077767b2cab9e436dca9c6e9ad8b4d5c5aeb24c0278d48fc2f0bb111115d0e5f4a3bee6322268aee7eaa47ab0044f" + } + }, + { + "type": "Regular", + "proTxHash": "867fca87b176b1a937566907fd048266f6e062a68765e3de89da0fe8b052a173", + "collateralHash": "25f0cd54a5e90cb04aaf1aa4c9f80e80ed924811f96ca48bd5eabfcc4fffbc5e", + "collateralIndex": 0, + "collateralAddress": "XdwbahWM5aj7uE5JqZJb5pgB9bdUC1PW33", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.65.155:9999", + "registeredHeight": 1536017, + "lastPaidHeight": 2128159, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876632, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XggrKZMSoB1uGMnkmkBzja8ZXRRYhWG7E5", + "votingAddress": "XwdWnCSsygDhFgvGis1gJBk4NkAjjoBDD4", + "payoutAddress": "XxC4GAazucjuKeT1qCMNdC4nP99imnBuW8", + "pubKeyOperator": "888fe3b956176c1299297a3ab11ffcb4dfa410b2f1b3e9a9317b3a8a287116e7ae1b952555d695c6f90b03926ea140fa" + } + }, + { + "type": "Regular", + "proTxHash": "71abeddcfe85a1879c393d0f3438250008bde1e7748cdb04580a3a913bab337f", + "collateralHash": "f0e16d97433bd584188592048349efc32e972b0a99df8294dc4bfcb6606e5193", + "collateralIndex": 1, + "collateralAddress": "XfcFLHLu4AYAEmyqFJbQJNt9Wrvqj4S1vB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.204:9999", + "registeredHeight": 1536399, + "lastPaidHeight": 2128705, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn4j32231MB2r73to1QgkCLXsyXyaBBAJ7", + "votingAddress": "XvoQfjHQT5ee4aUbMTcQc9WtTNAJgHbZno", + "payoutAddress": "XpaqEzSjafG7Yu77FzUKkCCz8cuBcJDtM2", + "pubKeyOperator": "89b1aab3b76ccda3df40b73c9cc911e8455679a0b613fd41f22675332439d9980ce0b867e91d2a040f293b147dc1b88f" + } + }, + { + "type": "Regular", + "proTxHash": "4251e194ea2d3f7e9b6fb9bb3d196d631d97ff945bff60c53c3d9d374ca37984", + "collateralHash": "3821bf65142581af6c049e32f47e64e4a81e62d68a238cf2983f921a74021c14", + "collateralIndex": 1, + "collateralAddress": "Xp3k9UFCaqUE3fR7477cP2T2Vq3ft1t8tu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.106.26:9999", + "registeredHeight": 1537194, + "lastPaidHeight": 1824818, + "consecutivePayments": 0, + "PoSePenalty": 4449, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1828554, + "revocationReason": 0, + "ownerAddress": "XyYwEz8C2eWrpxxZDERkVy85s5xNYLq6s7", + "votingAddress": "XyYwEz8C2eWrpxxZDERkVy85s5xNYLq6s7", + "payoutAddress": "XmrWXp2sk2JBsSxjNmvr5ULhtdLW4KfXzj", + "pubKeyOperator": "8e5c63f4eba8a05fe10c4fa383c2e9388091ecc16f3a228f7621b737b2bf9074d13b11127f69db5f018694427aa60675" + } + }, + { + "type": "Regular", + "proTxHash": "7d6f2c4fee74b350f906a822c88510375ea06f917445abe5ea8b7efb6907548a", + "collateralHash": "dd078c6c1e0b7ac34f342e33fa4bd9a72d917548232531379f1a32b609a394e5", + "collateralIndex": 0, + "collateralAddress": "XjSThvGuppfjdWFr2iHdFzdarsmqdnV94A", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.163.101:9999", + "registeredHeight": 1537795, + "lastPaidHeight": 2128824, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbnyvTrFv3Fk9CYSLwWpvNneY39n4CCLjf", + "votingAddress": "Xsm3VngZTHspwhsPdXdGd9e8hmcJ1Q3C1p", + "payoutAddress": "XjSThvGuppfjdWFr2iHdFzdarsmqdnV94A", + "pubKeyOperator": "0b14072c3a03543886de0b0c344669bce4c707c13e626b0de62f15b4aecf38fe91595be641f9c12df945483907904d2d" + } + }, + { + "type": "Regular", + "proTxHash": "4ad133a1b73271ff7ff2687891cecf7ab7c8e3a3deb32cd70b2f700104251ef7", + "collateralHash": "143fc85bac918e6b4d56063c69bba331df4e627f1ebcc696e50c6be48328c45e", + "collateralIndex": 0, + "collateralAddress": "XxEyJEMoKNYGJLhjFrd4FJE3PeMvZzX6HF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.216:9999", + "registeredHeight": 1539338, + "lastPaidHeight": 1757949, + "consecutivePayments": 0, + "PoSePenalty": 4448, + "PoSeRevivedHeight": 1783117, + "PoSeBanHeight": 1783914, + "revocationReason": 0, + "ownerAddress": "XeJvmucQHTvcz2sUBym4WgM7staS5GUeeh", + "votingAddress": "XugM8LNSvBsfTZnR4fkSpf5bfS6UmTRyez", + "payoutAddress": "XxEyJEMoKNYGJLhjFrd4FJE3PeMvZzX6HF", + "pubKeyOperator": "0fd996fd993eb06737bc7615e259be8af67499bed37b3b7a9c8d375f003201d624169aac89e5b4dfc43e370df0f2c898" + } + }, + { + "type": "Regular", + "proTxHash": "b01b0a491efae3408a21cc3f78c49f23f18f27fabea5a657dcde4fb5934ed50d", + "collateralHash": "d48936fd1d7c9f6bcb2219000d8fba4ef77b125012d35a1295f293727b002f1e", + "collateralIndex": 5, + "collateralAddress": "XwRDZs1qjhkkk5G5wDYFnTjRVpo588eM9g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.123.57.194:9999", + "registeredHeight": 1542493, + "lastPaidHeight": 1915038, + "consecutivePayments": 0, + "PoSePenalty": 4212, + "PoSeRevivedHeight": 1737522, + "PoSeBanHeight": 1915509, + "revocationReason": 0, + "ownerAddress": "XcL1AqdcGJBSFLWfDWYcz1QWAa4yETdpWj", + "votingAddress": "XtQymqMuBYZd2QoFrj57kZPmKLDnTrevuY", + "payoutAddress": "XwRDZs1qjhkkk5G5wDYFnTjRVpo588eM9g", + "pubKeyOperator": "04a5ff46aaf9a699d25ff3e76ba77fffd8bbef57edc5e4f92683c1185cd739e1ebe4d87b25789f5c8300ee91031e235c" + } + }, + { + "type": "Regular", + "proTxHash": "48a7769eaa1285be95f82df563dfae92f402328ff1d0f234c90114c05a7826da", + "collateralHash": "93d92f1b892af6035af3152bbb5745e44ba15b6f3e287f1d671cb4145650a1f2", + "collateralIndex": 1, + "collateralAddress": "XqV5aDW4WpoikM7UVDJRX2MgvBZAo8p6Ku", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.84.41:9999", + "registeredHeight": 1542715, + "lastPaidHeight": 2126626, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcxx8U7ntoYXmnXaKMYjrkVfQFmDkLbB7s", + "votingAddress": "XyfAhRxhcLqFhYXPDoTfSyGQHwVfLcXx14", + "payoutAddress": "XqV5aDW4WpoikM7UVDJRX2MgvBZAo8p6Ku", + "pubKeyOperator": "842f68bacea08f9534d06747402cac9a1bb8cb184619dda260a274631974ce51b0cebdd0bb83f0376770e0735221c87e" + } + }, + { + "type": "Regular", + "proTxHash": "c62dcd8f7b9c7e0334d7c13706d37098ad552d934687f21d57c47071c5c6c45c", + "collateralHash": "beb178d0491822f974fbc59bea5d635b0f42990709cac781aaaffbf32aa49120", + "collateralIndex": 1, + "collateralAddress": "Xea4nqNbRtpCtYuCPrG3nMmyowQyLNkTWq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.175.70:9999", + "registeredHeight": 1544883, + "lastPaidHeight": 2127549, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876069, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XojSuhShLTiG1WAnL2TchRxViGJZTMbSu5", + "votingAddress": "XyvmdYV1WzURfik55vrBSxac4BPWTJ6QsL", + "payoutAddress": "XcttHUDqKATLz498iFino1cDAVrsysrdG5", + "pubKeyOperator": "093b5f909582eb062f44d2402a8465aab545d2fb36adfac3c18be7c67f885d9d1f017544d26cfcb18354d74282a8581f" + } + }, + { + "type": "Regular", + "proTxHash": "1e129fe3478430242a3f77be2f9c945aedaa330b7663ce8c6bf019827c87b8a5", + "collateralHash": "1256b5964a6ee39c4368ee2d0d1c3f1159fa09a2bfefb9bac722591ee5f98fb1", + "collateralIndex": 1, + "collateralAddress": "Xmad1DdHDKCg4KoSEbQZCJmRFafLpVPeSP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.16:9999", + "registeredHeight": 1545478, + "lastPaidHeight": 2128645, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx8Wk8X6sP1NVnZY3pZJFtacojrqBLVnev", + "votingAddress": "XvQEV48J2sNEFRXSVFsDTcEeJ5iWkdLhhr", + "payoutAddress": "Xd4xwbq2xAFtEngoqjiJtLkwSAqEiZDkBB", + "pubKeyOperator": "854d74a6ad83619af4a82f9ad811ae7af16e0920dd0b9ef278df3d448dd39a79e93fc7f1b75557c68fd8953a884b183a" + } + }, + { + "type": "Regular", + "proTxHash": "ed5d3ce381b74aac2015b752fc6e8e166836e1f37a93a5460449648c57e44dbb", + "collateralHash": "08ca598f8c6a1f973fbc6cd0dfc94f61027facd20f331974ec41797d3738228d", + "collateralIndex": 1, + "collateralAddress": "XubpVBXbCBA9n5Yvc9dxBnkzxo6EAb8Y4k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "18.211.210.20:9999", + "registeredHeight": 1546976, + "lastPaidHeight": 1986191, + "consecutivePayments": 0, + "PoSePenalty": 3975, + "PoSeRevivedHeight": 1687371, + "PoSeBanHeight": 1988949, + "revocationReason": 0, + "ownerAddress": "XosjroFUs1kQunUgWbRyRLE8yCNZPuRm8z", + "votingAddress": "XhDwSSSXTvobRvDaSrxQwcnvx4u6yUwbwU", + "payoutAddress": "Xws7w2rAViyu66xLVWjfcPiQa9uuHtfU4r", + "pubKeyOperator": "0247de6ccbf1e0827bfda892cd248434cb47a20c9378e5b93df2d038dc381826ad2078a222735b03003cf5e470c2c7ad" + } + }, + { + "type": "Regular", + "proTxHash": "31a47b4f1eb898333a84f9b6bc1121017e72970ad32d3881849a5ec5b8b8e38f", + "collateralHash": "cb845cb6e7b7b8280e5bc7096861eced335d0cae68e2f84ff618a341ef9b9760", + "collateralIndex": 1, + "collateralAddress": "XitvZnsZ4Ne7JdQfFCYug1yz74jCnNiCKV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "208.87.98.21:9999", + "registeredHeight": 1547612, + "lastPaidHeight": 2128251, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2108859, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdA9qHmTwiiVgKJ9mDzwLMPqqGxQqcTVi2", + "votingAddress": "XdA9qHmTwiiVgKJ9mDzwLMPqqGxQqcTVi2", + "payoutAddress": "XqviAfTnshDoFBuvcyohpEGLTFGfoNRLgX", + "pubKeyOperator": "8e3111abfab23379dce77250e97ccd912f35a00cc190c52e6c383b48f14a5085a79dd54e567eb64d0a7f3f4725fd2485" + } + }, + { + "type": "Regular", + "proTxHash": "ccec6335aa29d4511b34b12631a82cf09f93762894cc5eab0edfbea2760ac128", + "collateralHash": "5c5ec519b94d90cef19626a3adbf44e5a7a50f6d8ad6953d17af12189e29584a", + "collateralIndex": 1, + "collateralAddress": "Xj8EKX2hsGuiK4XhUBitE1BDMxzeiyggox", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.80.227:9999", + "registeredHeight": 1549045, + "lastPaidHeight": 2128884, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1718486, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqthMJiu94Wa8JTiXtomEcumM2Cvo5tf24", + "votingAddress": "XwwFBEwANTSNiDBhLhKTJiTkZTWXbj8raY", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "87b288fb9276d9ee276bc088d96a9b1e59917eaf74338472124dbaff2e0949667c8302933a11b00fffba399c738ebaf1" + } + }, + { + "type": "Regular", + "proTxHash": "f73c6eb09203aff628549d23d9f82e842a57c08048cf77cc56d450ca216d5b2b", + "collateralHash": "b84531964700a80b140696d77177d8327433ce9a8079935363fb7f92aede9e7c", + "collateralIndex": 1, + "collateralAddress": "Xmp4rQNfYjEBpRSzsCWJHNYxAb81nLsEsf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.135:9999", + "registeredHeight": 1550083, + "lastPaidHeight": 2128650, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrpwqv1SNX9tRciMsH6AU8y65ZaBBxW3so", + "votingAddress": "Xfd8SLWMBmTNcXZkj7Lj3XU7xEykewEbZD", + "payoutAddress": "XcW321LYrpbUzMbitB7NDNmYDgZVfofHFa", + "pubKeyOperator": "903196d8d39ca96cad943b2a043031585dcbf746735b2db116620c112e2149dd309d299c6595ddc04c760157df0804ce" + } + }, + { + "type": "Regular", + "proTxHash": "c5d3848a66392f8c1b0c369f565562cb6d2adcb2cd232db7ffb9c2a7602e9ae0", + "collateralHash": "5cdd4161254b3dd5395bf95089510e7db176cffce7052c759c3c6fe45e1a4909", + "collateralIndex": 1, + "collateralAddress": "Xn3B3BS67C8kJG6SPca5nhJvmh14mxg5x8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "42.194.133.119:9999", + "registeredHeight": 1550591, + "lastPaidHeight": 1733490, + "consecutivePayments": 0, + "PoSePenalty": 4465, + "PoSeRevivedHeight": 1590041, + "PoSeBanHeight": 1734780, + "revocationReason": 0, + "ownerAddress": "Xqri3Jk4BdQg3DWSjW3q1VqnAEopDH1TRi", + "votingAddress": "Xyf7QubmHYvXB7Tu1sF2zYaPG57c7dP6uv", + "payoutAddress": "Xn3B3BS67C8kJG6SPca5nhJvmh14mxg5x8", + "pubKeyOperator": "041ed7aa6667ff44539bd796c8728da0cf7d1d2b32d193dc4b72013a29c0a8b4c0c2545b853e76105b269ff43f98a5de" + } + }, + { + "type": "Regular", + "proTxHash": "df3fb2ea0369f9fe2b66953a8506fd64c3e09b784465304c069bc96a89f93a6a", + "collateralHash": "8985c8e5346f75d2d4bc5e895b316f18a089770e707d23e1a1c4fec3c276b5bb", + "collateralIndex": 1, + "collateralAddress": "XgHwfr9UuVv7wLjtvtus81YFztEJSWicWn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "81.71.13.165:9999", + "registeredHeight": 1550594, + "lastPaidHeight": 1733291, + "consecutivePayments": 0, + "PoSePenalty": 4465, + "PoSeRevivedHeight": 1642066, + "PoSeBanHeight": 1734588, + "revocationReason": 0, + "ownerAddress": "XsoXca1QWtTnuTV2zCPeSCgA4jeojX5P85", + "votingAddress": "XyScFA7WssW99xJucNYen5JzR1V5mWLmST", + "payoutAddress": "XgHwfr9UuVv7wLjtvtus81YFztEJSWicWn", + "pubKeyOperator": "8cbd9f9bc445cb6ef8be1ca9840c9275313a518c0af852e4b7289aa7a03a681a7f50dd540f6f1501c3cf8134f0460461" + } + }, + { + "type": "Regular", + "proTxHash": "1e702840e3dd3104a96baeae306dc034530f06d809c5e3310ee74d1ba0feaf81", + "collateralHash": "873f08c8599a23b8dfce4c724785d2de987c73dd7355983a3a26386cca2e5d41", + "collateralIndex": 0, + "collateralAddress": "XfhxTFiGRiBCK3PSo5vJiiLtS8yXEDvX6R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "202.182.102.237:9999", + "registeredHeight": 1552700, + "lastPaidHeight": 1807087, + "consecutivePayments": 0, + "PoSePenalty": 4425, + "PoSeRevivedHeight": 1822223, + "PoSeBanHeight": 1822794, + "revocationReason": 0, + "ownerAddress": "XiVyfqpu1Uqofpw66KjN1eAmCNWtSJfcgR", + "votingAddress": "XvV1qhJhede1SBWUbCtCnyHvsqw8GLECVz", + "payoutAddress": "XoRokzYSYA7HYkQKcQJwPBatkoaoHeuVtp", + "pubKeyOperator": "8d7f760f2686e42d85d29b4a0b45da294beb0f52a2c6c93a717532515354fc846e3028642e02324750a5beceee6c685c" + } + }, + { + "type": "Regular", + "proTxHash": "b88e2759ade3a6bc6e982c72f016f005a38f0e4f90c5be1d89f3b2b2aac76233", + "collateralHash": "fa5f27c49e9f52ef199b23df3f025001e179ab6144d997b05693a41f1f56a0fe", + "collateralIndex": 1, + "collateralAddress": "XebHiES9XhYpeCqVfZcoYn1heGB5ETfjYe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.34.233.202:9999", + "registeredHeight": 1553162, + "lastPaidHeight": 2127217, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121081, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv2HRTxnxcv4WDF4wB6iDU38HGburaQXZ1", + "votingAddress": "XsgL9yMvBgEXbCwWDfga3SR7ojPeGDTK5b", + "payoutAddress": "Xn4zfY77optcYjFQ1NGfAvXo66ag2HN9pm", + "pubKeyOperator": "8318710d26fa031e5226c18a650760aaa8f845c00b0d027ea9c81d687bdb6573005cd2c9439746e834e3dd5220ab7652" + } + }, + { + "type": "Regular", + "proTxHash": "cc543fdc2cfa9439d5faba833c37375bd799f1d6fb074143e9bf2aa42c1d5542", + "collateralHash": "1b8b965b39da2240959fe2bcf43a4fb330cde5737fbc03343d7bbfa2dfcd22b4", + "collateralIndex": 1, + "collateralAddress": "XrmZbZwxR3aPBvHvCCjynfN1uEuNBMQnRp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.105:9999", + "registeredHeight": 1553494, + "lastPaidHeight": 2127626, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkx79HU8J12he3crjJw6xyMvdGTKbXpVMs", + "votingAddress": "Xit3ynPjuTG5UHPuaL8WAGo9mWgykedDw9", + "payoutAddress": "Xp3pXeZK1zgHudxHvXUVy9B7EXz34XqB4o", + "pubKeyOperator": "12585cfaac58c81f37ef716c449476f14e1f3c3a8a91a918bb15a72cc4ae957e8e7109af86f858ffe91899e1d29a1812" + } + }, + { + "type": "Regular", + "proTxHash": "96e449b66ae6822025c27c4d192433224a8704095f9f7113f6c1b85f3e74fbfc", + "collateralHash": "4dd3a53e1c66c2a8de6209e0aee535deeffbd596fdf9f131f64ef99660991799", + "collateralIndex": 0, + "collateralAddress": "XieAcWGsCTWVbQwB99RNCQgX12C7THwUdW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "84.103.169.136:9999", + "registeredHeight": 1553657, + "lastPaidHeight": 2127014, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1687382, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdgBgQRzCuikzkZNP8zCjhsBwqiV6BkV9t", + "votingAddress": "XyDJAwXWeu1VUK2eFiUz9ahTtWb1XVFvSF", + "payoutAddress": "XigRCZW5H4yDfm3U848Dm9w4Q6v4sgPurR", + "pubKeyOperator": "114cb1b02f8e636f75a1f3a1313dfddfaba9e11fcb91cad5fe30cecfb85f7e06f9dce0c49adb2700d696d1e4e19518cf" + } + }, + { + "type": "Regular", + "proTxHash": "cfbfb127849a9e931ed0d35a399b241c0332dd1a4bbaf530c362edff6f772ded", + "collateralHash": "62cba3fadee2b54d5188c4000a24b5220f2251bff52cf32913418c5626e05837", + "collateralIndex": 0, + "collateralAddress": "Xx6i2Bk2QhUqazspdWRDHEaAwKYfAptbki", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.20.115.163:9999", + "registeredHeight": 1553948, + "lastPaidHeight": 2127969, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmThLDvNDkvYaaLNVn4rWyVrb2h2XDpXuG", + "votingAddress": "XssyM5sSesvth17zfGnb7if8oncKAb6kne", + "payoutAddress": "XiC2JN7H5SYZetfGThG5ttnYtziYwfmdsg", + "pubKeyOperator": "14a2602eb1ab92786232cbec13c7aa73f8485d06b1907bad1f1a59fd98aad8ff6f66ab1ba767c5e75a5f99011ee87615" + } + }, + { + "type": "Regular", + "proTxHash": "3ef857e664aef540716524ca88ec816c43c059e09e71d8770dfb4efe06f741fd", + "collateralHash": "3197a666b65d1779f9a5dc62f1aced404fc9ac352c7e3d001ace47f2dfea846b", + "collateralIndex": 1, + "collateralAddress": "XrUqNSGsrBP8p4m5pCLLLbQt8XL2wqa6mr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "38.99.82.230:9999", + "registeredHeight": 1556954, + "lastPaidHeight": 2114007, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126065, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsLa8K7DJVnd7CxEpZJtdrC35h7HbEQTT7", + "votingAddress": "XsLa8K7DJVnd7CxEpZJtdrC35h7HbEQTT7", + "payoutAddress": "XrUqNSGsrBP8p4m5pCLLLbQt8XL2wqa6mr", + "pubKeyOperator": "0d21f5b8f44057b2d6e48d91a70232f255a004a1a3bfee81ce6e7ac4e22f127b95114f38953b36685c2a6b7fcb75569c" + } + }, + { + "type": "Regular", + "proTxHash": "01ab6185339d04b5d89dc51398427551be19af004dd3db8cfa78683581b9634f", + "collateralHash": "797285b2ca64e2ebf362213c3a63400f26a118a20efc59c87659b3000bc4a086", + "collateralIndex": 1, + "collateralAddress": "XiwpuXLqPQ6eijiDLw9nGEePJJk1oWwvbi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "92.255.78.94:9999", + "registeredHeight": 1558995, + "lastPaidHeight": 2128425, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfmXEeF1tLzZ3Eb4HnDiWLty3TvUEzrVod", + "votingAddress": "XitwSuc38T1T7JGLWzDiQtH5wDJ9ZKzSeM", + "payoutAddress": "Xv3xRcM8yWpuXNaHPRTNzxqKZMhYrkxniN", + "pubKeyOperator": "99110c031bb9e8fe28694bf8319b01ce3e76189a8f5ea6ad16d7c50b0bcc4da8e99f72a1044bb122ab3738044b6952c5" + } + }, + { + "type": "Regular", + "proTxHash": "d811aab2f427f36a73402c07221b65a6d9c5d4f27b5c7e5908e314b3db505b18", + "collateralHash": "29214cc6415dea6fae20a49a3e80a0708165548f97de382d94d83df9081d5274", + "collateralIndex": 0, + "collateralAddress": "Xw8kUKWJwFtdfWqtiwZDV15FhVJrcwPAEp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.19.65.66:9999", + "registeredHeight": 1559016, + "lastPaidHeight": 2128692, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1563909, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuYpEftpUwjX9YBtdi6obhSf2hnb6RYRsc", + "votingAddress": "XqvhH7BYYtPjKSRUmLAbJj9KGvoMPbXQga", + "payoutAddress": "XqLxd2jgexvhsEdZKxsf6ts1ictKDdtKLf", + "pubKeyOperator": "0be7cd290fbe9c2de8b9314c8a5bc1345816b20508e46026a512f77d00a914ac7e9f204ceed4002801bfde238a14e0f2" + } + }, + { + "type": "Regular", + "proTxHash": "3926da8fd5ac954ebb9c16013d6b9ec6956c32b3f5c19f6f25e6851acded89a3", + "collateralHash": "c125663ae5a9a7310ba9d2eb38ec5fd284c1909837a7df638c340b4b99b217e6", + "collateralIndex": 1, + "collateralAddress": "Xw9s6jgRvAnkr3rBvxgEa1qt5yc6eRkfme", + "operatorReward": 0, + "state": { + "version": 1, + "service": "217.25.89.203:9999", + "registeredHeight": 1559029, + "lastPaidHeight": 2126831, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1561491, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeN267sAt9BSQMEP6goeVzL2FPGzAK2zN9", + "votingAddress": "XjVsTZpP76S4rA6hLVC5MGuXkcb5v3Maq4", + "payoutAddress": "XvDUfMGA2rW6jXxTZE4zUYeh5R7S6gztuJ", + "pubKeyOperator": "023f5cbeeaf1cce563b864937c96d1109a086637106021d009aaa33aea1d8ee817055abd53213ab8700ae4c03c8234c6" + } + }, + { + "type": "Regular", + "proTxHash": "bcf5209ca5e2774853d6945cde0b96d4c7ad8663f196734639044fd658e38f5e", + "collateralHash": "b8dd6a90e0e4b04eac3bc61bd301c61a0111f173f7082247c241179db87165d3", + "collateralIndex": 1, + "collateralAddress": "XyvHDvrEf1qEYVdxjd1jUmrXKUdP5EyQ6H", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.90.185.169:9999", + "registeredHeight": 1559033, + "lastPaidHeight": 2126188, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2049107, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcFewoPt9zYi8ZnktJAj6Diyxu6XHMqUMW", + "votingAddress": "Xvj2G4w63VFEPgD5mUkbjFPDCFT7ZqGTyH", + "payoutAddress": "Xntiwi3XE92A7GvoWT5psvFCtR7tdaVauU", + "pubKeyOperator": "8f2d54ffb351acc9fb8ca90726b02320832dda589a83fae040611d96a0a6917a5fbac2841232e18312f675c6a5aee670" + } + }, + { + "type": "Regular", + "proTxHash": "4f8d301a6e0da0882c271b20b6ccbbe22905f4398ac0b4262f749ba5d570aae4", + "collateralHash": "b036761efecc0d91a418e73c2b027c121980083835a2489912086742ceea9585", + "collateralIndex": 1, + "collateralAddress": "XjDMSHHaAnFgpu6TmtJhfw2QvtUgxvxKKM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.17.200:9999", + "registeredHeight": 1559721, + "lastPaidHeight": 2128585, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007672, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw7ifgxvuh6fV62nd38ZLJzs9Dm8axNZtr", + "votingAddress": "Xw7ifgxvuh6fV62nd38ZLJzs9Dm8axNZtr", + "payoutAddress": "XjLFbH5CxtgVnEuWFP5ei8H773mj8FSz33", + "pubKeyOperator": "8422fa54f8839b8c3c38b8c2e0fe006d435eb7ef4724b414787f7eb448a7cde184e73c8e0dc74d3f75185cf5f769c3fe" + } + }, + { + "type": "Regular", + "proTxHash": "fcd379784d24cbcb09850379108868314a71c2800e1800157e1aa1eac3b64f55", + "collateralHash": "075270e5ff7d2c3f7accd44d01927493d4876067e3fad1cc2484566443c5fb22", + "collateralIndex": 1, + "collateralAddress": "XpNoPREEYvmjHh9nJm1dZp5mwW6TWHxkAJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.136.98:9999", + "registeredHeight": 1559757, + "lastPaidHeight": 2128587, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007674, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe39xC7u5rT9hb6hLFDFGSXZE5Yd6BWqYQ", + "votingAddress": "Xe39xC7u5rT9hb6hLFDFGSXZE5Yd6BWqYQ", + "payoutAddress": "XjLFbH5CxtgVnEuWFP5ei8H773mj8FSz33", + "pubKeyOperator": "14b0ced7bad21b25ef76fbb7dd656a35fa513a9cf1cb82aa1b04d8e22035ba8ce0961a8f671aceb0b0681395ff8732b2" + } + }, + { + "type": "Regular", + "proTxHash": "e5561bdef3fd46232c3b6570c1f9c06563c112158d72acef7f7e8b2cafb85ef0", + "collateralHash": "828691b81da244b264f112a15317c8a561f124a343cc1a147f8630577e184b51", + "collateralIndex": 1, + "collateralAddress": "XmmRkHDjKQhYNT4Voq2bXBceVVrYuMhPg3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "70.34.209.20:9999", + "registeredHeight": 1560810, + "lastPaidHeight": 2126288, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1734945, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwZpdGexFM8VVJcE3avDkUHQv15TS1qmiF", + "votingAddress": "XwabTxPxTnUMcko8ZTX18gewFSYauqEdfd", + "payoutAddress": "XeA3vYAM3ySXXaBNQepBiTE6mdZd2XHurD", + "pubKeyOperator": "155659aa39843240bd160421fc49bed1fd4dca35c21036a8db44088060cd5665db8bcd6bcfb983424e75e5578abcecfb" + } + }, + { + "type": "Regular", + "proTxHash": "9968dd7f3db24f65d0cb56b8c78281ea6eadf68c077e21fedb61974c6f8b8f7b", + "collateralHash": "8205368c0ef8018b8fdedf6f28b2ee0b4d065cb01ad77067a9271556cfc07472", + "collateralIndex": 1, + "collateralAddress": "Xx4WGs9GyKe2M1Pen3bNPwSprB3N9dGrxB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.139:9999", + "registeredHeight": 1563437, + "lastPaidHeight": 2128195, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsJiK4nQAi6UE8YYD3xswFfMq2wG3hg1Yn", + "votingAddress": "Xcnq4ABcpBEgRYb5QVw25oWmdpLYLsEcJm", + "payoutAddress": "XcttHUDqKATLz498iFino1cDAVrsysrdG5", + "pubKeyOperator": "0e646209a68a0fcce7741f0030b290cd47559ec757820c1e82f6baa62e28408ce38aff3c34de5f85ef84837bb1f67ba4" + } + }, + { + "type": "Regular", + "proTxHash": "fcde28ec31d86b57bd536c0ee818c27bb016b11f9408595c760912084473f993", + "collateralHash": "f2126dea2820fc7cfdbc74a99f5b1aa29529e1c7f9c4b93a7f23dd87a74b896a", + "collateralIndex": 0, + "collateralAddress": "XqLJPL2yeN78PxApctuzM9vsorpjqnWwp8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.202.230.83:9999", + "registeredHeight": 1563583, + "lastPaidHeight": 2128448, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoeHPJLmUPwBdEQWrHfjzWCSZvRbCV4fLZ", + "votingAddress": "Xtsrbj7CVDYoFGYbxVFFnsoh1nhw1ECHGi", + "payoutAddress": "XncHpA7hP5BmQcgaMVdV4cPW1u2xLahEAB", + "pubKeyOperator": "0d6f95b3f2e522a21badac5569b62a09fbe860d302cd7389a35511c0211cdbdb0cb623c0dc40f8577fd172a62ec569ae" + } + }, + { + "type": "Regular", + "proTxHash": "94ec9cf9726317a29ee2e12bc84d8d374048083c9b5aec5e3636d9c7fd55a165", + "collateralHash": "6acc79e598d51e2deb5c7b86b816ff145c80af34bbf81ee1207a8731cee737e4", + "collateralIndex": 1, + "collateralAddress": "XoPvt4J6dGBuhezLa9JqQhr16Rr9TTd9Jw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.233:9999", + "registeredHeight": 1567884, + "lastPaidHeight": 2128103, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbK3UspSu5ZFyyMyqMQ93YZNdcGiBZpyxQ", + "votingAddress": "XeCsFi9EihRM8oggHafq9VMCu4FFhrNmdw", + "payoutAddress": "XoPvt4J6dGBuhezLa9JqQhr16Rr9TTd9Jw", + "pubKeyOperator": "105fa81b3df254a135b3d5a03476e5129cf5aa032e3a2aefda9920deed648a5ccd96999c270edabda333d5f4a98f0e29" + } + }, + { + "type": "Regular", + "proTxHash": "19109d253c15e6aac3da35d2a3523a03a3417892decf1091eab57ee7677b1636", + "collateralHash": "d8a377af0138d8cc816109d12f78873131a607cd45b351b4e94301d16cd9aa3a", + "collateralIndex": 0, + "collateralAddress": "XgmvvXvijnfjaiGNQmYxzzVfbtRFpKNtgs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.0.167:9999", + "registeredHeight": 1567998, + "lastPaidHeight": 2128244, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb43K43KrkVwDosvJEFTsHwg3g3cfEivJ1", + "votingAddress": "XrQeLvcF7x4xzDmYAsCovVazpNABV6a47S", + "payoutAddress": "XgmvvXvijnfjaiGNQmYxzzVfbtRFpKNtgs", + "pubKeyOperator": "81fc5bd96b82e81bbba5e4f4fb24450cb8a101271114294a817e35b38091095962a4527e2ae53a06587a4e1b6bdd9511" + } + }, + { + "type": "Regular", + "proTxHash": "637df4b65988e80364bd0f19d9186d0587069086ecdfae0735981c2ce8ec6360", + "collateralHash": "7eeca6292099bed23751deb03ff88032a511285e716d7e4e8708c92b3759d0cb", + "collateralIndex": 1, + "collateralAddress": "XoFVDz8xTPHyTDLd86saEhn3ziPLABFZ27", + "operatorReward": 5, + "state": { + "version": 1, + "service": "45.77.169.207:9999", + "registeredHeight": 1569506, + "lastPaidHeight": 2126215, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuyvYsHmj4VsDBdaRWohN519YWN6uXabWG", + "votingAddress": "XyTT8tj7a9Cn513nKS7YpsJXmPELRqe3Z3", + "payoutAddress": "Xn3q31Vfk1XCo8WUsRE5gUuKSDgzPAuZRK", + "pubKeyOperator": "170551fc9efdab34d3133855294d4cb0c0225cc128651e24697d2e149ec6f988c0bffa078209d8d9d2902aae3dc58037", + "operatorPayoutAddress": "XumqYJJKyRKYgow5g7uHJkFAqcxL9v5e3k" + } + }, + { + "type": "Regular", + "proTxHash": "d7fdb52d9df50d9401239fbdc1a2865d3a587f70791c5edbd9a025267c42dfe6", + "collateralHash": "389776d9021bd509ba1e783e35e7470e66e1249e99b3906201f555d41acf1baf", + "collateralIndex": 1, + "collateralAddress": "XqQtoA7ff3KMm2Yk2TF9CG49eEZHSA945L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.127.230.40:9999", + "registeredHeight": 1573819, + "lastPaidHeight": 2113041, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 1991132, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "Xw6CswEXn8baES5abL3PpB7D5kHJms4e8d", + "votingAddress": "XoATfJgQ86YWC3ShTqaSMNjRkPTqx4XS2u", + "payoutAddress": "XqQtoA7ff3KMm2Yk2TF9CG49eEZHSA945L", + "pubKeyOperator": "9958dc78de85c9d511fde3184cfa664623ef78c52367e29fb88ab40e83ee8dc843947ef51e1d0c32d1b4b2cebe4a74c3" + } + }, + { + "type": "Regular", + "proTxHash": "1de6e6e776cdbbd61b64bc73146fa78985b31bc253490390911624ca0365ccd7", + "collateralHash": "db6f2f2a443302ef8a3e9be7d3f6ace0952aa5f6b5008af07e4dc9eeedb286e2", + "collateralIndex": 1, + "collateralAddress": "Xs8AtmUeT5ZwcvRbLCpwGcyfe71Y6WvXo2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.9.237.33:9999", + "registeredHeight": 1576621, + "lastPaidHeight": 2127968, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvBgLraDWr9sJ1MqNTBRPmFNeCi2x5DTn8", + "votingAddress": "XtW9Yuy5h8pidvg4a1c4SBs7LAjAfLWgzv", + "payoutAddress": "Xs8AtmUeT5ZwcvRbLCpwGcyfe71Y6WvXo2", + "pubKeyOperator": "874a4030ed11f5b0e8da01c74828befef03fe961c7141e2de5ae1d76a7199571eefd7935201b17bed667a88b3e107da3" + } + }, + { + "type": "Regular", + "proTxHash": "7fecde2f19db241e15d862fb557004f687e1a91b54b369a0ddcf1d3efff5880e", + "collateralHash": "c69921cc360261aadcf2c307df14f7908fc5ce3bf18d5642a9693a33aefab735", + "collateralIndex": 0, + "collateralAddress": "XcCvMEsN5n48Smkj4HvYajNtDgMNGmfEwk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.236:9999", + "registeredHeight": 1577096, + "lastPaidHeight": 2128439, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcexTThgasZqPQXaiXDFqFTSitu6TzeAa3", + "votingAddress": "XfB8PEkW9jo15wCyGUqpNs2Tt9W9kzZR6a", + "payoutAddress": "XyVGNsmXftkn6fU3eLzy88f45g2LFTW8hW", + "pubKeyOperator": "0629e1d0da6f4763583b18a0c18ba75cad207b83df86e3cd3fc92ffb57ded80bb65967ff3ed686b19a1f4cee5cd170fb" + } + }, + { + "type": "Regular", + "proTxHash": "d48265eccb1c8f7b2dcbc203e9350f12cfd00e526541c5ec97d992d7987a8ec4", + "collateralHash": "ea548be4431d1719822892880500e9587da3c51f1c522d3aa5bfa31834f79f3b", + "collateralIndex": 1, + "collateralAddress": "XipvyGN4iR77mhUU7gDXCgfmNkg1zpdyAV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.96:9999", + "registeredHeight": 1578409, + "lastPaidHeight": 2126200, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgVgmohf7ksRJVF2C4ediKGXUHXG6UCs6E", + "votingAddress": "XsE2FgCutcz1oEFQgomEpXD3rkMzLuu2Zi", + "payoutAddress": "XyVGNsmXftkn6fU3eLzy88f45g2LFTW8hW", + "pubKeyOperator": "999d132539c6918859ad505969ee740a268ee42008bfeccc441c41f06f384880dbc0992739ea7cb71d56b233790aedd7" + } + }, + { + "type": "Regular", + "proTxHash": "7c36131c1d034cc1344481b1a8ee246040259b22ba73c1da759bfc63e3f065b3", + "collateralHash": "c8481c3c21cbff633374215e3a824eb091fc6fb6381a8da6b2e7517f0fd285fb", + "collateralIndex": 0, + "collateralAddress": "XpgR8JLiz3Hoh3BNhjScSBxzAKjgoAmcDw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.138.11.164:9999", + "registeredHeight": 1578625, + "lastPaidHeight": 2126286, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxXh2LTXZ6xmWrC9bU4RT1vAjSpSNddyZb", + "votingAddress": "Xpc5CNdKCkn66ydgi4Sc7zSRXXLjfXZPNX", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "8604ef894df6ab2663104682381f04212eba519872d098906e33b247d67ff2d5e4e029a3203a9980ee00d4fd8c21b296" + } + }, + { + "type": "Regular", + "proTxHash": "2846bca0f1b919cd984e74fbf2137a3e90351fa48ff96bf8e3659458567cd97c", + "collateralHash": "c0f567e1d1d4db841229cbedf581067c67e87a7de7849c971e251f2f2b9fefce", + "collateralIndex": 1, + "collateralAddress": "XiNzFSr23uCtEYZ6eAa4XkRMJJz64Nz1WD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.133:9999", + "registeredHeight": 1579288, + "lastPaidHeight": 2126731, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi97Cjbcuuxxqd4i2mx7eg9FbKgWpMkiKk", + "votingAddress": "Xnk6FVsYA6krcsvpUGuzdKMNWXTx6iSvk7", + "payoutAddress": "XpgMBq8ypbKSfWMugZPV3Gj8uWjyHjiDXE", + "pubKeyOperator": "0e6723c137cbe0de445df186ac3955adad08977f45a2f0a660d3a12226f7b5a43ae727607f1ac072d0c80a58ca6a39b7" + } + }, + { + "type": "Regular", + "proTxHash": "851871f2df90c6127535fda2ae07cdbac6ac8c632288a627fee28d5f4356c2ae", + "collateralHash": "2745390001427597bec49ddbc9237456d350b15daf3d5736936152fc9d6f5ce7", + "collateralIndex": 1, + "collateralAddress": "XdD8QhC6eTbenuabT67xPXuMzB1sgUHHHe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.2:9999", + "registeredHeight": 1580569, + "lastPaidHeight": 2127623, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx1YbUHJoFhoiWn2gLs2QZeyTRU7Y5fqGy", + "votingAddress": "XtYuWhc6ZPwYU4ZrMfCVck5Mxbvwm1V7QK", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "04a019f629360436dcdf88117b9d636b1494bc4b20e9aac77f6f62eb2f99c06bd18b713d23e005e405bbaff26bc34022" + } + }, + { + "type": "Regular", + "proTxHash": "c3ea85026d5b223de4bd74eb9ea1da81862d791d8d85af088b767cff6277ad3e", + "collateralHash": "d3a28884b2ebdedf56204fa45bb3a613196fd7cf71a7392d4b11d02d0b8153ed", + "collateralIndex": 0, + "collateralAddress": "Xif4ZNsaB3ogaqhxdm5WN7a4kBgYui8uNi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.13:9999", + "registeredHeight": 1582044, + "lastPaidHeight": 2128883, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjMKbLzoKKjaqATexWVcG8bQpUbvRyq72v", + "votingAddress": "Xsc7JTNwSbwcNW33D6bBq5H3igRpYkXRRR", + "payoutAddress": "Xdjs9UtZt8nCg9EZUYCT1K38SB6yoPdmnx", + "pubKeyOperator": "0a5769895f3e51b37567be9cf22f8ea076aa51a9eca878a385d3721ef72804b4472a5e9808f274bded67c4d5ddc6c8f1" + } + }, + { + "type": "Regular", + "proTxHash": "ee67bbcca623db6f3ecf4c2a8067fde7fc7e38b4380583aeef76ed90594ecbe8", + "collateralHash": "3ace59d0512d5393173fce59947f7faec6512a95a4775a6028c06a3b86dfb743", + "collateralIndex": 0, + "collateralAddress": "XghUuoqomMPnHHFb2tRAnHB7bPB8B2j6bo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.189.12:9999", + "registeredHeight": 1583338, + "lastPaidHeight": 2126503, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqQnvpxYg3v2x9M6JTvGskQ9X5sXqjD9uE", + "votingAddress": "XgrFjnX8LCF2guQTWVF1TM2vayejgft8LS", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "95325ca37c3faedbc11f2bfd772069e2a757f5e45dcd376a187cb461ce4609c5545253df78bf033c908c80f650594ea0" + } + }, + { + "type": "Regular", + "proTxHash": "a75c65443807b24a4bf2bead6deb42e32527b1593956847fdee18042ec4fa6ba", + "collateralHash": "a23737def734414b207686a38b3d2415985a3ec786294912cf7f7b611e3cf5f5", + "collateralIndex": 1, + "collateralAddress": "XnnV74pzaX8AbkHWYfwtbo9m29ZniRegtF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.226.149:9999", + "registeredHeight": 1585072, + "lastPaidHeight": 2127135, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1949956, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk1TaMvjC3FN41u5N7XQg5J4DAouJQjqts", + "votingAddress": "Xk1TaMvjC3FN41u5N7XQg5J4DAouJQjqts", + "payoutAddress": "XeQZmijVwfL52zJL5qxv8NHJ8UMLrJ5AFL", + "pubKeyOperator": "8aeea29ce50d5a5612ebb89bbe631387412cf8a4ea06a4d3583aed8893eb56f53f3939da688fb251733b8655df653b18" + } + }, + { + "type": "Regular", + "proTxHash": "a476da5c9ea334a6cbdc78d6c1e2e61a90cd94c55d3fb7d2b951d90fc416d1c6", + "collateralHash": "a34256a0f07521b9125365f603afdf1ce2c462abda8496cf184e456cca138e83", + "collateralIndex": 0, + "collateralAddress": "Xso1x1Yx73sFyXnuuDkYAi1kWoCvPcNQQ9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "77.232.129.13:9999", + "registeredHeight": 1585831, + "lastPaidHeight": 2127011, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2073650, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfVptrx7Gn3vpAZRHCYaiSURAZFZ42zTvP", + "votingAddress": "Xw3BSHbyN8hgF9jWAzPgotSCEnxotwzZGK", + "payoutAddress": "Xs3xVBLNUhfx3WM7wQibFqrRPivLwAyxfM", + "pubKeyOperator": "006c904a63593b64a548a67ddb6ca82a746e07319b135fedab88fcbf416ffc02fb84600513d76534d76bf5819ceb35e8" + } + }, + { + "type": "Regular", + "proTxHash": "82388b53ce47135eedfe2f89aac07fbd9fa0b1f50a19507b27ec8b56618aa26d", + "collateralHash": "9448015cbd36a10dfabef8e05457026f1b55632ad43b0b59043c58352e165cb7", + "collateralIndex": 1, + "collateralAddress": "XvR9npHdCkBpf1L3BpTDCYKHKd9ka38aoj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.110.191.13:9999", + "registeredHeight": 1586177, + "lastPaidHeight": 2128588, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007675, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqSPLQWLCUvvuPuMx3JQadzGpwxy3HpQbY", + "votingAddress": "XqSPLQWLCUvvuPuMx3JQadzGpwxy3HpQbY", + "payoutAddress": "XjLFbH5CxtgVnEuWFP5ei8H773mj8FSz33", + "pubKeyOperator": "9029f581eb30513f6df061b721a47f51976ff4f620294bf32f968aef2ac61af8c8cfda5d126db097e3a275cfda5e26be" + } + }, + { + "type": "Regular", + "proTxHash": "7ed3a05d17c50a8fef717c4fa21b3c4aa5b61b42d7ee9fce45363ffc4a007df8", + "collateralHash": "95c845c2d625d94a5f42a980715de9a1d63be2e7207bf47d0277741f6cccf593", + "collateralIndex": 1, + "collateralAddress": "XapCUPSPANgL5A27RoFxv6rNJuMo6ffpWu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.153.70.237:9999", + "registeredHeight": 1586357, + "lastPaidHeight": 2128869, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdPKL1sJwMNoRHcbqELkXRiXS9hxgQpxeh", + "votingAddress": "XfFYq4cFzPaGaSzgp6XBgnrx1b3U4b9VWh", + "payoutAddress": "Xik9nmQdEEaFpkqrCjFTEiXJ6kudgyG1eC", + "pubKeyOperator": "0274f1eba753b1c32773fc56e626658c3ad0565ab4a35ca667cb9a455b7d758225e21baac003fec28cf75ecb56738d60" + } + }, + { + "type": "Regular", + "proTxHash": "d78030040e0da53e6866eb004082570679917dcb2101f46053dcb8869f99d957", + "collateralHash": "dc3af9cdb204166272951947f9de5b11892987ac1529cc24693b5db2a5d5d8b2", + "collateralIndex": 1, + "collateralAddress": "XhyVwYLCrN8hRXLhGj7eikuKuDLkwqtoZb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.13.239:9999", + "registeredHeight": 1587396, + "lastPaidHeight": 2126290, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xho7caSzLF7JuZxbaQJCeS33HwXQrnidqb", + "votingAddress": "Xho7caSzLF7JuZxbaQJCeS33HwXQrnidqb", + "payoutAddress": "XxX1UxidopSUGd5M62KNNWTqG62pSnJLUL", + "pubKeyOperator": "098278320a3d3eaa665a35511e23138a03466a40e59108dea02b350cf84578582e04a278c7843f4fece154a9fe11c585" + } + }, + { + "type": "Regular", + "proTxHash": "242939f5b5efacd2396553e5ab0b834e519fefa3bb00286280bc99ad39e50ff6", + "collateralHash": "c642c8fe6e3482f25fa6fe9382d4c28dca472c3e617ee4e76521cd647f5ee7ec", + "collateralIndex": 1, + "collateralAddress": "XoKMo6ZPnE78P6c2Foi6MCZdwdMHQtYVBv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.80.33:9999", + "registeredHeight": 1589785, + "lastPaidHeight": 2127860, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2054102, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxs6whPKE8eiQYRv1YV7qqsum1jiNt4q35", + "votingAddress": "XihpSpvomekJNV7Ty5ZNuJUjLgSMwVs9zh", + "payoutAddress": "Xrrz8dfLZzRoQBcnQ3i1DRmHPYxrYmx7Zx", + "pubKeyOperator": "034c0aac6724aee5fc45b5d89c1f6e434814f78249374d7f71a7587ad952b830e9aa7f2fc4c26e7a8cf2bc2d06761ecc" + } + }, + { + "type": "Regular", + "proTxHash": "62e7eb2755e0ec6622cd32c231a0947434fa2e296c5424bc54ee4add00afded0", + "collateralHash": "37278a265fd0dd3de54605cd3c7e84c265775bf69c406245dffe4e778e6b47b7", + "collateralIndex": 1, + "collateralAddress": "XtQB6zKm77bCFJchk3DuT2DyWYDuUmhX2j", + "operatorReward": 0, + "state": { + "version": 1, + "service": "92.51.39.230:9999", + "registeredHeight": 1591218, + "lastPaidHeight": 2125883, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb6JWfF4p4PERVvFX7LArhgPveEreu3cVY", + "votingAddress": "XhRBAWEV6A7PnffKHGQjSzDWGyoRzgqRD1", + "payoutAddress": "XrxwWgHimBn51AUfPi8dPRSBhmjSzYeEMv", + "pubKeyOperator": "0b8e0f9fb4e37f04475f36fa62a3082ee5dd4e80c29d8a4ace110d44e43221fce353412210f58a91d3be8f2b9bbc72be" + } + }, + { + "type": "Regular", + "proTxHash": "ae6a8702632bb3c6a4f2c9ca89bd713bbb25babaaa1f8aaf808c02ea8006e3f8", + "collateralHash": "1e8d4e34e905e06f0c77061edb747d91676842d1e50af4668f1bed5929ca5606", + "collateralIndex": 1, + "collateralAddress": "XunfdZZi38t9TzGRjVy7Tu9WEkFZJCiW79", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.42.42:9999", + "registeredHeight": 1592477, + "lastPaidHeight": 2128696, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1718313, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbnZT3LZXZubBaou3ZJ7PKgi6XU7EKGLAJ", + "votingAddress": "Xudco5u7ucgtavFUaLfoAaxQRZdyCmTHRW", + "payoutAddress": "Xrws6tZ4yk4LDLoWAmu3Tz95aSAPbT2pLm", + "pubKeyOperator": "93d3ad755e1e56d8168f988ba61e2d034a8b746685a9286e1e2b6ccf5124c6c3812a98d06b49f1835f41a2a35018861f" + } + }, + { + "type": "Regular", + "proTxHash": "8bf38c234264d6e89a5f9121de2d765acf8075862ab42c2c0026f531242087c3", + "collateralHash": "fb3eb811c1aa140191ccbe5dfb7a559fd443c6f94575d0d40d3e6fb8818146a4", + "collateralIndex": 1, + "collateralAddress": "Xgje4u5zjHreV2ThdHr2qMUCM5J8uoDMFL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.195.230:9999", + "registeredHeight": 1592537, + "lastPaidHeight": 2126766, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoNTNjWEV9AwnvnbTUnTSyPuSuFEKhmZb1", + "votingAddress": "XhzRERqHq8nJ2MWC1UBknyEx5Ci9PvsKLQ", + "payoutAddress": "XtnPpKmCdg45onukSdLUL9FfMWgZ6FaboJ", + "pubKeyOperator": "0af741440fbb7382b47b31433be23a911b41afe40a1fb8c9ebe22c6946b370d351e5cfa1db891a8a9f749e675c56f61e" + } + }, + { + "type": "Regular", + "proTxHash": "ecfd7f8b774855f1604c9b946cee860cc40ae606adc27f7341a87bbf11f40e21", + "collateralHash": "bd0b6d88d6a746a1a5f3fc3e6d4c33bc6378a5724d39a8ac3b9915c3d45c99c8", + "collateralIndex": 1, + "collateralAddress": "Xh8d23oYkMqZQciqkEcFiTg8KuqVGw8MN8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.75.5:9999", + "registeredHeight": 1592641, + "lastPaidHeight": 2126821, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuyodNJfPo5KatiJfF7AA7AV8rcG48gFR1", + "votingAddress": "Xuo3Lxvwki9i1v9Pf2e82QotQP3rXkHyWq", + "payoutAddress": "XsWyGCbn9dogxWmoEjQycWHtrPDn6bUH9v", + "pubKeyOperator": "81bf34de9c88dadfbc1410c4186bc4ff82bc81989f4e0b974858ff047f9b026794bddd535c1b1ce87185ae67d2b9ff78" + } + }, + { + "type": "Regular", + "proTxHash": "ea7d7c591a65f2db220fca82ccda55b28cf17554aa298e7f2611d0684cb16c00", + "collateralHash": "d91c4ecb80a2c266a9c3a8bad2926c05c91c4d084e148d1a9d311e399a9c0d70", + "collateralIndex": 1, + "collateralAddress": "Xc2XeXMGY5shdAsuCp8PZNfPTksZbs1MR8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "77.232.129.99:9999", + "registeredHeight": 1592817, + "lastPaidHeight": 2128148, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1857944, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe1pphM4acfgaU4Tna4LTmRMNZ45KRsKxz", + "votingAddress": "XgRG8UfmMjqTBz3k9dkVNUomjxNkFUjpMo", + "payoutAddress": "XdL2PYvB43nVVbMQzNsZWxFYovpY3mGk7P", + "pubKeyOperator": "0812499df5a01647ab95b13d3495e3fa60125a68e435e7b3ef8c2edd11172d768bd331d4b64101dc9b37a03b30b73431" + } + }, + { + "type": "Regular", + "proTxHash": "78621c5604a57175796c322d58b3616f6412018964e56273ac05317bee6c4ff5", + "collateralHash": "580cebec439d48405f2fed18ba4d5f87b5009163013e8883fc98ae98aa587629", + "collateralIndex": 1, + "collateralAddress": "XrXLW6KHTbvMijsWJ3CTFWFFX5yWmFBbGZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "83.147.244.46:9999", + "registeredHeight": 1593507, + "lastPaidHeight": 2127463, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbrg7qyGTpuXN2vJsWAvYhwwkmanT69VK3", + "votingAddress": "Xd9LzKtR8qvHx9Ydsa8QyaQpbT8mgBwSYX", + "payoutAddress": "XjdLSr6CQST6YJfQkfKd6BoryWxUrn1Uoy", + "pubKeyOperator": "041e82a4c3541cde0a7ee58cc97f644e2f2806e6443b11b26ab9e5de35e2279e723fc8c4439a93a053cd49ecab43f4a9" + } + }, + { + "type": "Regular", + "proTxHash": "d50871f27e7110af34a20687e73a6dc44cec39734e908aeaf9a75cebe76fe2f9", + "collateralHash": "2b7e968a4a26a79ed2f42358d79026124574e9d42806d6e97bcb66811cdd50c1", + "collateralIndex": 1, + "collateralAddress": "XoWkC2igCCnGZmk1AoqvzZxzG5ywTJXqaW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.228.114.56:9999", + "registeredHeight": 1594079, + "lastPaidHeight": 2127940, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhjv26FRAAUozZ5DSJoDjTR76YgqiHNjTd", + "votingAddress": "XfR8DgWGjQxb1YzcGxMVdS4Rs5W1do8218", + "payoutAddress": "XofuxJ11tNxEjHran9UoUMTD2M5joU7CMS", + "pubKeyOperator": "846f6438be8b64563d8b87ce73497143c10b1c6e248296b408d2c54f1e1a9085ae7181b7f659e19498b96b15059b52d8" + } + }, + { + "type": "Regular", + "proTxHash": "797eca1df452270e9de965b010a1ac25c2421c46a0aea56fa55efb1e98668aca", + "collateralHash": "25897b8f1225c8b16d01c7fc8e29deca61e32fb65cfe712a99c00bc4a2a4890b", + "collateralIndex": 1, + "collateralAddress": "XuXeLZoKUJ8ZSu4ewk43fMESYfxUqbGjYH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.31:9999", + "registeredHeight": 1594090, + "lastPaidHeight": 2127955, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyzwGKo3aFY5qby1CPp6CR7aGHgjK94SRB", + "votingAddress": "XyqUUevPHUhRBH5ExT4x5STqjWSYBNbLsC", + "payoutAddress": "XpyUXEDs7ChdACp8YnaT4gABhMMM2acRzi", + "pubKeyOperator": "92058ad273ac46e18e4f43a20b5bcfbabdcded712d80387eeabaf190d4351f45749db9a9d1bf4e13e4ae946a03ed4015" + } + }, + { + "type": "Regular", + "proTxHash": "c63a1caa6e08b9658f960542f525d15fbab5304f11c96a501dd8c512926f5cd3", + "collateralHash": "a5c83cd7c707cdac9277f363c8e42c2a2007755504913be195d77d32648ff7f8", + "collateralIndex": 1, + "collateralAddress": "XbUGh89aHauobMfaSWt86kPgx8Tdqu69gg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.34.233.203:9999", + "registeredHeight": 1594440, + "lastPaidHeight": 2127224, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121081, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt2KJpzJUM93TzwRF45Ez6NTtgYknDhFfr", + "votingAddress": "XbaZMBjskQQNaMshExy3eaHnJJb3bk7S8v", + "payoutAddress": "XromNYK81cS4WZRME2tep7bqPotZgyi6zt", + "pubKeyOperator": "88b4342a1c9996f56589cf46fdb7372b37a0dcb56252acca3c56e17b87eb21d6d2bffb3a27fc641bc98f2574762f6bf4" + } + }, + { + "type": "Regular", + "proTxHash": "476fa7729c39bb2202e1eaa3df224502d3ceb17dfc2af1989c5621e1dbb3aa61", + "collateralHash": "e80a8ba15dfea05843ede209e588b412f69dfe650ddd717093f04a819931416a", + "collateralIndex": 1, + "collateralAddress": "Xux5hoDLT8JymoAhQeT5cz3c4X5ZYyTarC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.153.70.6:9999", + "registeredHeight": 1595156, + "lastPaidHeight": 2126074, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122924, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XidJz8phJHX7N3CbaSBEgTz3eEviKvpQ4U", + "votingAddress": "XygQEQF97zi55WEaV4DKbajjzZhKuweR3e", + "payoutAddress": "Xf9365gs5smhe7vu4kMZazFRZmCeK6ZBwe", + "pubKeyOperator": "13127d14f1d8416f3bbf8776d53f6f15a2e4a7a723c52ced623cd117b87f1038d4d11dd7fb887bd1ec85561aede3bce8" + } + }, + { + "type": "Regular", + "proTxHash": "821eb332f3d3f81fd9dbbadea70c081135cec9a57288163883edde8902cde837", + "collateralHash": "dcbd6d9aa761e844276b866c7f590f5e691af548811290ec08ee650ec0eaf211", + "collateralIndex": 0, + "collateralAddress": "XwhRpF17bcRGqvSFeZTd5Wt8KEfpXXKj8R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "103.160.95.219:9999", + "registeredHeight": 1595622, + "lastPaidHeight": 2126932, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120886, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvaNQjpQdmqcfNLQTRRpTjWTGCFnDGR3C7", + "votingAddress": "XoU6hjPQ38LzQ4tuBQ73DTfzvXVLqpCvv2", + "payoutAddress": "XcK1f6ahJuKmN6jpEF7QmzjRXq5cCpHbrs", + "pubKeyOperator": "9568d0e92c50e6071312d8b415fdb2d53113cf17820ccf91d7c6cb181061ba461ddac2af6ada58d7fa27454c90101879" + } + }, + { + "type": "Regular", + "proTxHash": "e842125cbcb76977fbeeac961ab8ed90e230e6cf5e144103d28f956370a01bb5", + "collateralHash": "a56375b5ceccfba2f398b958b6e324fdfb92cd6e95eed5b31c98dc6368705052", + "collateralIndex": 1, + "collateralAddress": "Xx11EsMAaeiWqwof5QccZe6WkrJyHiVppY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "173.212.198.217:9999", + "registeredHeight": 1596028, + "lastPaidHeight": 2126031, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2028737, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XamEV3eBBcUfhCWDqzaL3YPtMUemJ33W1v", + "votingAddress": "XamEV3eBBcUfhCWDqzaL3YPtMUemJ33W1v", + "payoutAddress": "XoLYi6RHPMBpFUFqjH95JAb73uzUCfnKbj", + "pubKeyOperator": "12ab20fdca6e15fe2141b81e5dc4c6d70195a8e69ba0ee72e13b9a0750457e2b920d8ec676f5f112bbf4e0c87b0abca8" + } + }, + { + "type": "Regular", + "proTxHash": "f1c86f973a31dd58069d83c9770829377f9794a6118b562b530a2882f8312227", + "collateralHash": "01d9d710f54778628d3c5dd559dbd3708cc9f794eb2ec522ee4ee668956aabbe", + "collateralIndex": 1, + "collateralAddress": "XcB9EP9ZBDg4dCFZEQMB9pq3s655i4neFx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.35.150.124:9999", + "registeredHeight": 1596246, + "lastPaidHeight": 2126350, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfogy4eYzvoZAJohgTE7usphKhB9jBPNZw", + "votingAddress": "Xi7Sswx8qusG63mfb2JtvvBgU6BgBYkt1v", + "payoutAddress": "Xh55Tx9cQiFrethrcN6VpALqkw131LNR15", + "pubKeyOperator": "85a14150f54d08bf8c1c6c6cc418f5b652351e50f2bb00af02dd7bb98043f81ce9e5abc38db952af25b6d656f5d4ff2f" + } + }, + { + "type": "Regular", + "proTxHash": "c94165785c79e736bd151f213306c662930007269268d183c9692e5a94a2b8b7", + "collateralHash": "f52d4a63282a2f6a349a231dbc4341c9eafeb626170f0713a21067ae890636ff", + "collateralIndex": 1, + "collateralAddress": "XsmwLURNcnfP3dN73dCDmbfah6AiPVXsNt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.219:9999", + "registeredHeight": 1597358, + "lastPaidHeight": 2127043, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq9BPAyPNaWPdWt3au3pEMc5CVEnfS4zzg", + "votingAddress": "Xf1kwpG3fvJGzQMek7ipMENbUBhJTxRJcd", + "payoutAddress": "XsmwLURNcnfP3dN73dCDmbfah6AiPVXsNt", + "pubKeyOperator": "06c91d5b8eab7539e726d6745ecfdf69b250d299173a6d3f946b1a145454946993e3f0a62767c914264a5265876242c1" + } + }, + { + "type": "Regular", + "proTxHash": "726317ab324617913198eb59f3661891dda5bfa8eb992e751d70a750437b7721", + "collateralHash": "8b2b54f08bd3668578d0524f87d03ecead31c10900b0f82e1aa17264b3445483", + "collateralIndex": 0, + "collateralAddress": "Xf8NqaACTrHFR2yvCwEjE8AaJPrXibYyxi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.63.58:9999", + "registeredHeight": 1597767, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4605, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1598315, + "revocationReason": 0, + "ownerAddress": "XjqT5AYcqPEYmPQcmeXJajmwgYswkAo6qt", + "votingAddress": "XcqXdS3RJ7ExzWU7mBRKDHZt7Eg5wq1TPU", + "payoutAddress": "Xf8NqaACTrHFR2yvCwEjE8AaJPrXibYyxi", + "pubKeyOperator": "194d16858f84ac09bfe6c66f37ca42d5ceaa25b24b9938cbbeafa96e5799336ccc5011f7a2279345e75a974a6b9e27a8" + } + }, + { + "type": "Regular", + "proTxHash": "d4e91062e17b12cd111e61b6368f1b09db3d0292d3c51696eaf05c945985e607", + "collateralHash": "59509f487e490516855314a6867448d096ff0878df0a9f9e75eadb2545051b4d", + "collateralIndex": 1, + "collateralAddress": "XphGLYS7F65UzHzhGp9j2ePooopsWK1rmb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "81.200.144.67:9999", + "registeredHeight": 1599353, + "lastPaidHeight": 2128678, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn1VhPz4TjMQ4igQPzr7aAa3dveHVkf3bL", + "votingAddress": "XgQDsdjQQo6bR5gWitM1QFQMfNT56HfNwy", + "payoutAddress": "XwCdhUi4RQ7eodCMMq7NE14vUzadmrQwQ8", + "pubKeyOperator": "18d3c143ff890572b1daf50d57a1fb763255a5fec0e8b654897a474c7028a0508744b2eb3fd885d79d9445eb8711a1fb" + } + }, + { + "type": "Regular", + "proTxHash": "92c9037270fc16e54f62e5502f72c6f429e0f2249dbb16a85c727e01b185002c", + "collateralHash": "0980256fd94ca4c88febdae6cb279eb2ed73460331a1851b09be8e94a1703e45", + "collateralIndex": 1, + "collateralAddress": "XgZWBnyys6K8isedfqkcT3CbMDzxmQZ1eL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.234.143:9999", + "registeredHeight": 1602459, + "lastPaidHeight": 2126591, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2079929, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm3VL9vWS2kTZpn6QTiJLWDAyWE8VY3JjM", + "votingAddress": "XeAPNo26nV5yFV23UBgCkNRsXvJbxThzh7", + "payoutAddress": "XxZVpsz9iAUMTU3uRpHYpFufyi3WFKLRU5", + "pubKeyOperator": "098b2c2f1ad59ed60b2c25e648fc4e50898143cbb1afe80f140f21d69a5739e41c3356d47bf9c9da89c3c434133e6d78" + } + }, + { + "type": "Regular", + "proTxHash": "58a2806455c5c1a2114d49c601f89fbf89dc6ddf17c10f8c45775f9bd1ca18f4", + "collateralHash": "ce730a7f94d598d73a052ae62a701747dbbd1e70b8262f852fd6eaf1db9d0c11", + "collateralIndex": 0, + "collateralAddress": "XvrTwVVdYqP6C7ckPZfJxEKVXsPACgK7xS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "106.52.121.218:9999", + "registeredHeight": 1602587, + "lastPaidHeight": 1732211, + "consecutivePayments": 0, + "PoSePenalty": 4464, + "PoSeRevivedHeight": 1666424, + "PoSeBanHeight": 1733004, + "revocationReason": 0, + "ownerAddress": "XtXEP7cgfC3NF7SugrraVUnMuhRTcSPxGA", + "votingAddress": "Xn4eyfProy3V8TQHHUduZSjyosXqXscthQ", + "payoutAddress": "XvrTwVVdYqP6C7ckPZfJxEKVXsPACgK7xS", + "pubKeyOperator": "035e208fa98d424dfd8f86b5151a74c57981478341f7e66b69b21416f09e010d3448aecd4a51a2a055cd978383b4e098" + } + }, + { + "type": "Regular", + "proTxHash": "2b6aaddc8b3c59ed813bdec5943130957399df163eb4b4aa685e05b3a08b3cac", + "collateralHash": "146d993bbf2f5b3cfb97fecd261c56f18d73e4a280a7fc0c3fbcd6d2597d51d4", + "collateralIndex": 1, + "collateralAddress": "Xy31q3YKhAryad1TmfZWgwHWvkQRSvtMPQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.2:9999", + "registeredHeight": 1610068, + "lastPaidHeight": 2126755, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmzxkQ8hcN1Mqt4TKX4Cb4YZnYN7UVM3Un", + "votingAddress": "XdEx9PwVKicJivVR9QJWM3rQZUWyaj55Ad", + "payoutAddress": "XqR8BV2DwUK7CrTDUbcTHg3W6TUH5yQna1", + "pubKeyOperator": "14cccc0d63a1cb8b5e434442cd1983d8a19d31ca5bb0e32d1401e4fab9b6919363dc7674faf5a854b92a60c1a615471a" + } + }, + { + "type": "Regular", + "proTxHash": "eae5b1c863af17227ee1673d483963d42b2b8e4f6d600223f19ce75fbf95f823", + "collateralHash": "22c9d8df7300bc5b9c42adf12061e8d77889a1632a841ab24da5783546a41bb6", + "collateralIndex": 1, + "collateralAddress": "XvbDVqfLsn4A41FWWoCqRvBupscQhwooev", + "operatorReward": 0, + "state": { + "version": 1, + "service": "38.99.82.21:9999", + "registeredHeight": 1611022, + "lastPaidHeight": 2128660, + "consecutivePayments": 0, + "PoSePenalty": 2192, + "PoSeRevivedHeight": 2125489, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmnNaNyagdMBsXRm8xBMRZMbuo9354tTB2", + "votingAddress": "XmnNaNyagdMBsXRm8xBMRZMbuo9354tTB2", + "payoutAddress": "XvbDVqfLsn4A41FWWoCqRvBupscQhwooev", + "pubKeyOperator": "901e88ee4dae968aae87fa1fb6155eab7c579ee044aac262932bbda42359ae40ec6b521f07b5d0ca728e89bd1198178c" + } + }, + { + "type": "Regular", + "proTxHash": "51786cccad68c8a330960e133dee17b79b8de9856444b6cd1248d285251282e9", + "collateralHash": "4907bf810fe8a97287db61760e6e4ecbadb76942d130f0bda1c6e6e320f58451", + "collateralIndex": 1, + "collateralAddress": "XyzEnrAawE7wFYYVhcwauvZS9U5T54juoA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.195:9999", + "registeredHeight": 1611722, + "lastPaidHeight": 2127976, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwwHgiuEqmaEw5Lgrhb9Xs2fFbuvkBxWVa", + "votingAddress": "XwwHgiuEqmaEw5Lgrhb9Xs2fFbuvkBxWVa", + "payoutAddress": "XkBShWazeh1tFiqiCoMjpyJ73pJt44DqMK", + "pubKeyOperator": "97172eb4f02800554682ef87d7d02cf882c37e6a7630b1ff03f5ff7cc38d9296f4bc74a5f5743275653c0335ea17103c" + } + }, + { + "type": "Regular", + "proTxHash": "b7abbc1aa1eab53ac35a7cfeffc67c10df4a7374e02c4c20662c0e88b31ae717", + "collateralHash": "e2421b5e4308c261d750a60ca5f8c90a5b6710765e0d001fe7c3c5cfc3136d8a", + "collateralIndex": 1, + "collateralAddress": "XmqpweWDrkPx5Ri93SYvykkU48tCuoX1sC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.194:9999", + "registeredHeight": 1611725, + "lastPaidHeight": 2127282, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986419, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmWHL2mk9phVwiSeGE3LK3LaPhDVf345PC", + "votingAddress": "XmWHL2mk9phVwiSeGE3LK3LaPhDVf345PC", + "payoutAddress": "XjQGUeNqSxiExeT7SyaapEuCj5XaYzQJae", + "pubKeyOperator": "118b2bf21cffff4781a54b5e9f3661d47a87927618de7444fefc9ad9890e28f48ce3e428e7ef06895aa7eef63ce657d3" + } + }, + { + "type": "Regular", + "proTxHash": "9940e671555c9c98e5785bcf602a70c9d7b2dd4c5431e02d42a82d0ead8c7060", + "collateralHash": "af0de332f513802029cc82a97f3dc311e4962f626ddbd88f8345d6fc427d05c8", + "collateralIndex": 1, + "collateralAddress": "Xc1bXkAwXG72TdKZNkgtnNP4xDnrprjHKJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.193:9999", + "registeredHeight": 1611725, + "lastPaidHeight": 2127977, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbEshZUVHH9YRZsNNQPA2vy1Exe5tRhbyh", + "votingAddress": "XbEshZUVHH9YRZsNNQPA2vy1Exe5tRhbyh", + "payoutAddress": "XdRWPGy7MGSgtNtp9ttPT1r1eyZoZhCkMe", + "pubKeyOperator": "8e7b5534ce6613403233070c0fcbd57143dfaf3c24df08306c02356bc227072208a58309e68b520321953540e89dab10" + } + }, + { + "type": "Regular", + "proTxHash": "04a63ccb2112395a9974e39577f6c5125b519be96f15d16779d10359775e6db5", + "collateralHash": "0ff57bde8a5129be46b025e7ff1d9622723ed05adaea4bb1a83bb3b8d2d83fe2", + "collateralIndex": 1, + "collateralAddress": "XoJuEJRjEuxv97iT825TtDBqpmPiuAnCsm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.196:9999", + "registeredHeight": 1611725, + "lastPaidHeight": 2127978, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeF4FHhrvX3B3MwjbsioyewE8XiNmA54aq", + "votingAddress": "XeF4FHhrvX3B3MwjbsioyewE8XiNmA54aq", + "payoutAddress": "Xc4XTrDu6gtXkasATeAHx58Q8Eydc3tsKu", + "pubKeyOperator": "945f6ded4626c20a8afd236ee0f205c3b88f4547f10579b13e22bbf691871327807a1871e450e5188672b98d4f06b24f" + } + }, + { + "type": "Regular", + "proTxHash": "12a4774757e6fea44d937f5e4daabaa34cf47aeab62ae6056387447db678bdc6", + "collateralHash": "3fa8931c96c5fb7993b389982e6157a1541cffe3182c9631a2b1bff1af3992ff", + "collateralIndex": 1, + "collateralAddress": "Xp6XmRdVnPmPfA6og7V1dzKek7hCLG1KQ5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.206:9999", + "registeredHeight": 1611726, + "lastPaidHeight": 2127979, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjnQbHR7yogo1BX9UxfHDPb4D74ezg15Vz", + "votingAddress": "XjnQbHR7yogo1BX9UxfHDPb4D74ezg15Vz", + "payoutAddress": "XxPUS2D7Dp3nvD9suHpAW3dCMmk7jR73K2", + "pubKeyOperator": "824f2cd76c3bcde385910d875f2965ddbe6f9f2271771d61ab2a51001d82da7835d4e5dce177ed24257789c08e91640c" + } + }, + { + "type": "Regular", + "proTxHash": "88011a1d0f18baa81f10c80b679886386c0219fee6dd2749c8f591d69e9be1e2", + "collateralHash": "1633efd3b8d484d1b82e78d2d62a2709d5d7b51ae04e5c1bd4be4549011622e5", + "collateralIndex": 0, + "collateralAddress": "XgFTnWhQvmytsjdeGh7bvQnQrmYajqaUxg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.205:9999", + "registeredHeight": 1611726, + "lastPaidHeight": 2127309, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761534, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtRfFFrhDRDo2Yh2XMbEga8qzRr56Bbbnh", + "votingAddress": "XtRfFFrhDRDo2Yh2XMbEga8qzRr56Bbbnh", + "payoutAddress": "XpFqTNbBTWbUfVtkk7CDgZodg7tq3MYi81", + "pubKeyOperator": "0d073450ae604f003f17e182d7653bf90da453744839bb123990f1abfeaa07b021438d460e8eaac144fe98994b7af432" + } + }, + { + "type": "Regular", + "proTxHash": "209ab67cfd5f757e47cc26034d0bb2e46884636f853b35a7ee92c776c1237684", + "collateralHash": "80471125c4b6a8d12199a03aa1fdfa9594f16d351f7bb965c2a1082e450cee7e", + "collateralIndex": 1, + "collateralAddress": "XuWnD18fKMnozJ9Zi8nFaBtQQXBnXHats5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.34.233.204:9999", + "registeredHeight": 1611726, + "lastPaidHeight": 2127218, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121081, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw3EEU4ESna3bd9CokLvu42MtwzZR6M88X", + "votingAddress": "XxejaoxfKR7ZpVFTbVxM3LWKf16v1Uwke7", + "payoutAddress": "XsBn8BjYC8CXtyQsw5JtBjYY4HbqtaWCjm", + "pubKeyOperator": "80f1158da31f8c805f6249486d0dc1b57b1bac6e1d9f9f0faba6c2cedd974e20d4c5335bd991d0fb9c7df862d1edbc01" + } + }, + { + "type": "Regular", + "proTxHash": "80b4892bf01e19ef12a11e87b1b595e3003d13f2a30dd4a9e4ee14525acee24e", + "collateralHash": "1c9d225ff34c81ca5d0519371aab357292a1a30a8d5d4cdc6c6ebb224864cb72", + "collateralIndex": 1, + "collateralAddress": "XvBCUVFFhZCmhTRboixfT6WcYWLn3vaL98", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.227.165.75:9999", + "registeredHeight": 1614612, + "lastPaidHeight": 2126901, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqJdwwXVhqKaA8dfPw8KRRqdrBezjAjrrb", + "votingAddress": "XbS5qku53g76AE6sj98dCXvHgaYboEQoN4", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "14a25d333ceca6a28752e60ee2e862c7b4fed111074d1c73ccdfe7dc22f999536c6f8b59080dd1c1d397fbd5aa200954" + } + }, + { + "type": "Regular", + "proTxHash": "83680aaafe08e21cb545f658b7f4d81414e3a3e710e36baa49ed325a37b1880e", + "collateralHash": "ee701f6763078b0cbf28e310f207452d6acde698f3532a3fb00236343827ebab", + "collateralIndex": 1, + "collateralAddress": "Xod14Ltur7aKrLtovxTVjvoSgcn4Z63ZkE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.203.47.250:9999", + "registeredHeight": 1614618, + "lastPaidHeight": 2126906, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxH9HkyCbQ5w6zkzy4gXkB4XeiWWL7kQCK", + "votingAddress": "Xg6mThgRpw7RHihRsBKtobi9sDk76grAqp", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "95467379b1e5474254884d990765dce13f7d9cbc9d439fbff77db113542bc4cfdaf3142e364f394ed05a1c46d2e04ddd" + } + }, + { + "type": "Regular", + "proTxHash": "8dd17b0ad8de171518bcec04461809d3c6404a9173b46aa3ea92d4e75c750f43", + "collateralHash": "78aa59c2bcf2d73f44b74aae9ede7e6a860ce3aa365c0409516e9cdb3c61dccd", + "collateralIndex": 1, + "collateralAddress": "XeFnws8kRveRxzthuZGxKgbS8prJyAQ6Ce", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.68.160.163:9999", + "registeredHeight": 1614621, + "lastPaidHeight": 2126908, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeVqt8x9r9nawNvmBZWFVvNaPjMpnwuUb3", + "votingAddress": "XqwbBbAi7DRgbsqeRhAYWHMsvqCdBc6MZb", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "08e8249d271621ebf0b38c83285e519bd73e417f61f4e059eecd6410d1f001ed07862749f6c7fe2d91afe2c94cc024f9" + } + }, + { + "type": "Regular", + "proTxHash": "7a169a665418adce927a071c0fa21050abadfde068a2d053f06f0da723ea1d48", + "collateralHash": "b4719e9cde486eecb6f0acb2e446f2ae140557fa474919097569886ebfe90acf", + "collateralIndex": 1, + "collateralAddress": "Xdw6tVaVfuyAnX6RxKmKdCmAzjDSWV8ppn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.223.60.202:9999", + "registeredHeight": 1614651, + "lastPaidHeight": 2126927, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpdWpJ4E6STQ4jxZwap5AJd8fdJKLumLf9", + "votingAddress": "XxyazGEHKrNUsLMP9HBG21ceESV2KpSTzf", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "027207eef74d579a943a5c606c445d1616e80a46b3d0cdbe73142b4aa60c878ec8c9a940cec3fca6118a35503c3b3164" + } + }, + { + "type": "Regular", + "proTxHash": "8791812c27fd9e3fe3fe5ba400c9d709ee09b2c3399a53d32d55e0ef70182c51", + "collateralHash": "0088320a45337f55477ff30863063b452473c4a8ef98efbca04eac509f677e42", + "collateralIndex": 1, + "collateralAddress": "XsGqxobngqu8PUjkdazJaFe8PRAtLd9DXA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.231.57:9999", + "registeredHeight": 1615160, + "lastPaidHeight": 2127332, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuiMt81AyinNcPMBpn4Mn4eTabWhP1Q3Jw", + "votingAddress": "Xbtn2EC5P7ifZWuEHbX6goahobc62eQP6H", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "14ef57b0e1c761b0fe0add1d6b761d0775d979b9f5c84faa95f82cd7d169f2d9130995df5135275706a81426819cc849" + } + }, + { + "type": "Regular", + "proTxHash": "633047eea0093b67ac89302434e1d6531da35dc2714fe9f5cf5e32a90289ec95", + "collateralHash": "31b46ff7ca55a3aaf14c1c5baaee1f3e39916ab35248274b7e676dc2a06b5c6e", + "collateralIndex": 1, + "collateralAddress": "XfM2Lc9gZ8eZkrDXVaVFFhMQDW8ERmrpAX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.248.194.72:9999", + "registeredHeight": 1615615, + "lastPaidHeight": 2128128, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876599, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhLUJXg8qrVeHiafFoRJCTHQ8gDPAum5fF", + "votingAddress": "XavV4xfonRqK35jPfivTn5fhrFFXnQhP1Z", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "11e57eaab33b0fc9c10ecc23159274b26f4610dfaf30ad7a1ffb23e664eadad377151a82d5ad3a493c5031c36f8ae830" + } + }, + { + "type": "Regular", + "proTxHash": "f46ee77c0098acfc0b2734936cdf2ce036aa52a0edebd9770a6f157c09d80c6a", + "collateralHash": "194ae4acc8de3eb8265a339f66abd8587fc24ee4baa5aa8280cb4428e25772d3", + "collateralIndex": 1, + "collateralAddress": "XkVqQxypLAiB6qi3YM1uq5LaZa9QVof9uB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.206.41:9999", + "registeredHeight": 1616288, + "lastPaidHeight": 2128589, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007678, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq4swHbfUZo6X8VdAUdZS1ti317iBjjLiG", + "votingAddress": "Xq4swHbfUZo6X8VdAUdZS1ti317iBjjLiG", + "payoutAddress": "XjLFbH5CxtgVnEuWFP5ei8H773mj8FSz33", + "pubKeyOperator": "986dd89ef653717cac967efd74380fc593f6d6f28cf4386a778e5e0991a398a2e2fe15fde624fce157c551f400402b70" + } + }, + { + "type": "Regular", + "proTxHash": "67d73dd3a9462d426b8dc9d8e792a5227d6702ce76b101540312ecbc63e03d2c", + "collateralHash": "10f335c75981551d171e05d6dee5ae5dabd4649e95b84eeace2c0522a6428b92", + "collateralIndex": 1, + "collateralAddress": "XqS3G8qjJwsntySTxp5tK5v4Sq9ur87jhz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.184.233:9999", + "registeredHeight": 1616359, + "lastPaidHeight": 2127946, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876406, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiVejdLUhkJ8BBVam4Udqam226yS3dsSXz", + "votingAddress": "XhRfduTVzk3W7QsYrqh7T3EiAPq5dNVPgb", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "8360606734511b836679cb34f6f166c707db3c76e88968edc7d95e66ec233560d6fe916a49764ec56965618f6b19cef9" + } + }, + { + "type": "Regular", + "proTxHash": "c2a1621c37eefebf77cbddb4d6bb0eaf03d4037a3936aea7291859648996a4a1", + "collateralHash": "c4d03b4882ae47aaaf6d70b9194ba5ff146fe772590f3bfd8a1a82b2b86565e8", + "collateralIndex": 1, + "collateralAddress": "Xpzq9E2bbUjETQxB7dAt9YMTFtSTMUftAC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.110.242.218:9999", + "registeredHeight": 1616726, + "lastPaidHeight": 2128570, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbdLq8tb5BRo7f9gksVbPjd2yMRGXtjpNo", + "votingAddress": "XciYf9QwvfKGQnBACh5eHvq5b4pgKY479k", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "912498832a2fa34467b226770de76509bef6737ac3a0b13e77e03848bb4f7c8918c7683f5eaaa62369b88c1f5ab17e64" + } + }, + { + "type": "Regular", + "proTxHash": "d0066cab07fe8de2d0af2389f2c37aa6332951bb8e253e544c32fcfb94429e91", + "collateralHash": "b901284d9b5a3d4f1befa7de1cd30878c8b660fbf3bba8c2c1b1aca24d2d2c4c", + "collateralIndex": 1, + "collateralAddress": "Xb1pYQ5pFyg44qKFXfyimfmBCL4wgu7TSA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.131.18:9999", + "registeredHeight": 1617056, + "lastPaidHeight": 2128879, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiVNojUczeU65RPdqN1qWptonVcZFXqwJR", + "votingAddress": "XwE9bdxQ1rXu9igJQm9vJc5Pqo4NpVGoeE", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "8856299908dd3c820fb18a051e32f1a6f3bcab996413b6d91c9078ec12b79979539007433d5119bfe9074dc14718ee53" + } + }, + { + "type": "Regular", + "proTxHash": "360186441914d7aee8d160fd5f1538e6a81c738d34439e4b92218189f4db05a0", + "collateralHash": "4c6c0b4a5a8df162eca5d5c7f98bde4d1fc823bb15ae2b970794e1816f2971eb", + "collateralIndex": 1, + "collateralAddress": "Xqo59DNZ8ZLWqvka4X8nBgbuhoy6JbhWYg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.110.128:9999", + "registeredHeight": 1617173, + "lastPaidHeight": 2125739, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuXpBwauDqscgxmB465jaqyeobnRxgPJeP", + "votingAddress": "Xk7c4qDNj4VnGU5byDkZ6rGadzVutVEa8B", + "payoutAddress": "XjStpG37QsMCU2nw9d2RXBwzAuaR5pi4L9", + "pubKeyOperator": "138e5f79e82fdebbb194bf87a43093330f628beb4211d35d217e2f745df3c33b9684bca2374b8a16b7cb963827841fbb" + } + }, + { + "type": "Regular", + "proTxHash": "793d8e852b1731563911bd6cd665332303f2759d74ae4d41648cd6c3bc34b1f6", + "collateralHash": "39252fb1aaa6516e3525fc0f1500402ef8098a0cf505107ec1b472c02f04dd0c", + "collateralIndex": 1, + "collateralAddress": "XcW7B1btmZZgWt2RVPLpi9Bz27K9oab7LW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.198.43.168:9999", + "registeredHeight": 1617254, + "lastPaidHeight": 2125763, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtK8GrxDZQPzSToTU9NJDQbtzRqQFa54zW", + "votingAddress": "XfVrpNcQvNqyQJWJSjBVZRo1G8aJPKB5Lm", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "8474139725c4627f2f0c47e20af6d8926216a21da0d4d9c7e898665d5e378e86b215284de9c9d25d98845131668c810a" + } + }, + { + "type": "Regular", + "proTxHash": "b385ad38ac251a732e38e066f49b9c442f625cef784fec86673de7d53c0fa4a0", + "collateralHash": "0ec26164559086ac324505e2b25d99504246f8d81097bef3456a53af4f1d64dc", + "collateralIndex": 1, + "collateralAddress": "XnABk8wHbcHtvp5jnQZMpCocA3VkbQzb92", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.182.47:9999", + "registeredHeight": 1617269, + "lastPaidHeight": 2125788, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XijQDtHJdSf7haSWV8ELtZGNfCXXQGzBBA", + "votingAddress": "XjJCvm8Pjf6YE8YVhF8Ma3hpbP5iyCxG25", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "1608402a6abb96704f6dbe808448e9d89ece60c8dd6794bd790840f119e6b15bce54f6c4a75f5c7aaada35ce53778897" + } + }, + { + "type": "Regular", + "proTxHash": "b4073b8eb46369de8361e50ae829c24f7aae5b4c6d9a60853a022a7698acb88b", + "collateralHash": "95d5fc49fb425b3c58581fba9d09c4dbcdd5d43dcb76ca9c260b17311cc8e97e", + "collateralIndex": 1, + "collateralAddress": "XpJjpjVoANGBmdAWQaiSRVvosqnSVvFbQH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.139.23:9999", + "registeredHeight": 1617366, + "lastPaidHeight": 2125836, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwgM4rC8QRosN4KYv39W3tV85x1k2c2etD", + "votingAddress": "XqJx5XtVwZJMEfg4tfTizDhpMujU7uB2iu", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "8b7bbdf6e8b375d798e14cfc1f72fe5064bf8f618fb4163fc71f30dfee2d7c9e27275aa416141468ef412c567c41cd1d" + } + }, + { + "type": "Regular", + "proTxHash": "12dd85ca6a817a8929979c5586f61654c9ade206c1efdae7f863f157ebe422be", + "collateralHash": "8ceb1bdbfab5bf82f5171f62698c049ca18317b3ef894a563edd85d790c91a94", + "collateralIndex": 1, + "collateralAddress": "XhxuCv992UP7PRapSZDULZw1Z7YSq4aLKC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.134.57:9999", + "registeredHeight": 1617551, + "lastPaidHeight": 2125959, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XniY4qyAynm2UykGzZXUu9tg5LcuFjGJJh", + "votingAddress": "XyPJDGRaMQny29aN9WKFUkiWZApysfoMtX", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "84a526b91dcdbfbdc5ec380a6cbf16ada7dae75c4719f492cfed0706d2be53aa7a5261feb87376d752ad48551fc80006" + } + }, + { + "type": "Regular", + "proTxHash": "3d20bb558e424c6352e4678b0c55759bed15adf5e1f7c5fd6bf88ac0e7fb7cd3", + "collateralHash": "a02fffeb2c6a27feb07e7d58e749e9b7903221db7703c1a86927c1c06832f7a7", + "collateralIndex": 1, + "collateralAddress": "Xo7JtP2By5p3w6455Jri4UhYYJQWCWq3UP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.158.232:9999", + "registeredHeight": 1617563, + "lastPaidHeight": 2127859, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1696454, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xz1ao8gMrUxDAegfBbAipsYwByGFXZPYUs", + "votingAddress": "XfKrEKFHf34d6xJvjrxEsKtqDqk6oMDX7o", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "953ecd21728bc274870260f4276bbbe4ed0ff3cd3f7708ea9560680bd618f9bb14b2482f77170fb634bd64dd997cf2bf" + } + }, + { + "type": "Regular", + "proTxHash": "b76603556d6872b9cb85b56dcffaa75e202dcc969509a5bdfb6dc07eb9e1112b", + "collateralHash": "40cd50054c6c931c0e414e676963f50bc5c9ff55f3662e96c374fb98f1b52fe4", + "collateralIndex": 1, + "collateralAddress": "Xz1QHYW9dmmkPrreC2vFk9uDc5qc6AEYst", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.69.249:9999", + "registeredHeight": 1617579, + "lastPaidHeight": 2125972, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnxczyip67YYoeSKiNnPoAKseqPvioXUp9", + "votingAddress": "XwemxqDWHBmZpc973GiAW1Pgz9ppXX3kbG", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "8285cdc93e77a1267f24839dd08e177860268583167290bf60fcb3b92913fc1d37bdeafe42cace0a0c754fe5d4fa6370" + } + }, + { + "type": "Regular", + "proTxHash": "0f338ef2f198a3f2166a7c6a537e7f31bb9e2a5588d719ba81781d3e02d270ba", + "collateralHash": "9043446cd66c70fa7bfe2d65e299c74907f3fa3d73521c2502ef75a2beb53f1c", + "collateralIndex": 1, + "collateralAddress": "Xh7suujtCML1AjXofU671i9kuA71CcQEkN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.197.161.208:9999", + "registeredHeight": 1617580, + "lastPaidHeight": 2128048, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1850155, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfLS4JBuWaS7rKu6VJTvh5mWd9wRxfzygu", + "votingAddress": "XyKtZ3fayNPbbxBhj24d65rk5rRisUiNjY", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "0bd3a0ddf2d6ac04ba5ad0a39cd857d322400d7d3a5661bace08bd41afb14c256d18c6f6643d22a46eab81903d601f8e" + } + }, + { + "type": "Regular", + "proTxHash": "9db07647ecebfd67b71a6d015ef373353641ed189b1157420ed9a4f1559b7c7a", + "collateralHash": "d3ee99a1b2298ca3da4d0289ee4de459ef1b6b17e46a30b96c9c32378270f7ed", + "collateralIndex": 1, + "collateralAddress": "Xfw65pEhzW3YcsTXRdjq3imw2emJxisqHe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.222.239.115:9999", + "registeredHeight": 1617597, + "lastPaidHeight": 2125983, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuC2Mpt5XqVBBy4KYsmCu1GCqAYyB9T4ZH", + "votingAddress": "XnzuoCyA9KibnkNR2Fbno8MkVrx5ZBTPxx", + "payoutAddress": "XkA3HayJ9wk9Wg6i9eRmSBQP28g6eFsStY", + "pubKeyOperator": "90b0d61808377eac02d62986d8a384729d23ea23afb9b241875bc7aaa7119668d459c559726b902f057dd65ba685c42d" + } + }, + { + "type": "Regular", + "proTxHash": "de67171e5d781f5018267f196bd62e4efc36f6d7d9356e3732322194555be799", + "collateralHash": "0d55747bad107c59fc636ff8449c95d33479e1945494a834a8873bf9559f50fa", + "collateralIndex": 1, + "collateralAddress": "XsqCvfiKhXYjrhd7ug4V6hRvmJQc88zenL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.254.215:9999", + "registeredHeight": 1617597, + "lastPaidHeight": 2125984, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbzdfzFALQydbbXhTWEqSBRY7zAxgb8M4H", + "votingAddress": "Xia2ZwaPrLe2gikG8dnwpJi68q88EUgB75", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "0c00e62866ee89a0484b5cb405c94396e564abd1d17658418251e765dad9a6771e882cbcdfd80d1a10f1085ef11a9c24" + } + }, + { + "type": "Regular", + "proTxHash": "1736153caee0ea7c2d0fabdf073df839f3f43a33cc1849b838239f819c06854e", + "collateralHash": "405203a947625df68e1e03de7bd65664984e5abc2f5e7f0c734d4c3d1796e359", + "collateralIndex": 1, + "collateralAddress": "Xs4PK8hD1GwkM9dQLwwvJo93ZgjevEipm5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.38.4:9999", + "registeredHeight": 1617598, + "lastPaidHeight": 2127854, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1857491, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvEWiqQEqRPhmRH1urRHUZP7nc5hRSQWDs", + "votingAddress": "XjjZWr53mRDqU4znmuU9wh8X39FmaGkqeU", + "payoutAddress": "Xpj3bBKTKDK2FXwhBQXBreqDBKkbk7kvYc", + "pubKeyOperator": "88784ac62ed07a457d0cc4ebc7359365442321e5fad0d124cfff4539a13f6f3d571fd57345202714b968dfb00ce3a8cb" + } + }, + { + "type": "Regular", + "proTxHash": "c577a10dbb543660001fed181e79d52e6c6fe9af18bf51d54fa0228cf711bd87", + "collateralHash": "a9ff19029d83a946ae10f801fd3543df75d58d0e449b91d7b7c316428ee6eb56", + "collateralIndex": 0, + "collateralAddress": "XwD6yYuSauTS9R3rL2AF7T21Ug9G4yUv1m", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.87.254:9999", + "registeredHeight": 1617598, + "lastPaidHeight": 2125986, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgHpYt8Q8TmnmLE9TUVbQp2iPseM84EHW5", + "votingAddress": "XtdDbw5oF3ikBaUXjhpzDdy4bU4H8BJRZt", + "payoutAddress": "XjxZEPBZ8Vby4amE2uvqmewvsaN5vx3uMp", + "pubKeyOperator": "8a6fd134debae8b191837067f8913891e13c45dabd3ac3db92a52586ccee40c8ffbf20ee8370945f47260a42a285effa" + } + }, + { + "type": "Regular", + "proTxHash": "369d281ceb4c4a25332c7741397aa7d815f210d6e379a155bc72387c41f52b61", + "collateralHash": "4b18bdcf2d7cd3fc999bfcd0748623ffb12505d431a1847fa4da4a0419aac5de", + "collateralIndex": 1, + "collateralAddress": "Xu42AVr2KUHGbbAC3YoFR958PsVQJqq7z4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.222.239.126:9999", + "registeredHeight": 1617598, + "lastPaidHeight": 2125985, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwUi2JF9ALiUX9w5LGq7bEBpc3VSSX7Lm9", + "votingAddress": "Xe4JLGnLtkg6bTHMVmHK92dF78SzpFC1xd", + "payoutAddress": "Xqp3Qdiw3fuhBCX9M1kb9ukC1JnBJwpmt6", + "pubKeyOperator": "899b91f07736c40773089a0a93673e7d7ba4fc1f39f0596f32bde17d6ef982ced5706c0b9941de787bdd93a8e64d814f" + } + }, + { + "type": "Regular", + "proTxHash": "ffa516477af8d6a3cea068a625401415934585f71e6fad72c880ed157da95f92", + "collateralHash": "bbc119c1263e9640d24e47d9a2cbf0d7435c56e1ed013a3f7cb51921f8c2262c", + "collateralIndex": 1, + "collateralAddress": "XtFvYwFS14DbpXVStbP498LKUhoSnbCJrf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "77.232.134.121:9999", + "registeredHeight": 1617598, + "lastPaidHeight": 2126323, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1956419, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcPGAXWJXgeR2wM1ETVK1zonLZcNXMWkkG", + "votingAddress": "XxZ1LGgNecnrMMoup426h1YST7FfkmPb83", + "payoutAddress": "XewzWFoc9LU8oohhZtevCWYtresMRTzPm2", + "pubKeyOperator": "05ed616c3b2a4efb56f998c8c692e6345bd3287fefcf083989452f5269a34dc38ce2e97ebe3090c6822817055b3ef10b" + } + }, + { + "type": "Regular", + "proTxHash": "28e24a013ea100fa96da70719a94080ad12a33a93c5d2197bb0a369338b9129d", + "collateralHash": "b1f9ba92c3c3d76e77c7c30bd6079aec651520cb515e287864cc9f03500c548a", + "collateralIndex": 0, + "collateralAddress": "XphDHe8WJUbXht44Z1BhcYz9K8oPCJkFGe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "91.222.239.69:9999", + "registeredHeight": 1617618, + "lastPaidHeight": 2126002, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbpvh1uCpxhSo7ATdqtwHyzpvDsguWq7kU", + "votingAddress": "XdQtVN9fWC68w6fzTxT9yEpZjgdZYw2UED", + "payoutAddress": "XriWpvRBt29aXFkB2ErgAet8vWJcX5M1fF", + "pubKeyOperator": "82b4b2e1a673d3403511898dfdf66d0b00e275194d6ac15ba09fc0468bb63050fe97948a9440d4a5ac82c16f1435910a" + } + }, + { + "type": "Regular", + "proTxHash": "d8d6aa0fd3f639299e2d673c6d3332d32d765bc3830415f7e7749e38f4e9a7e5", + "collateralHash": "a25108b18d6b49ec375df686462df2f90ea3cf3f1efa50e045b75a5ffae89ee2", + "collateralIndex": 1, + "collateralAddress": "XgxSKJzAgVG4Rtv35N9aJ49BqyvkE2F4bC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.17.55:9999", + "registeredHeight": 1617801, + "lastPaidHeight": 2127559, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876080, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgt2X48rwdHtodmBK2SGfwVRc1mxWAAqYF", + "votingAddress": "Xe4QnnzKQdfhDD5AWUqhKJ11xCJzFM6K8p", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "8939f949047e3fdebda01fdf0c6b16b4b616e86ca9af56e208018da8a9916744fea13dca548e6e38f5f284af0d3a1cf8" + } + }, + { + "type": "Regular", + "proTxHash": "49f18efbf5d19809e697d4c726d56b1a5a4568f6ec073168eb05a1407919c613", + "collateralHash": "730f9503b5458989b54ed76baa7683cfc8bb296d7b823defdbdbac0819731066", + "collateralIndex": 1, + "collateralAddress": "XcbQjZ91R1NRjpsH1dKF48C1K1LhxPEaPb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.151.61:9999", + "registeredHeight": 1617819, + "lastPaidHeight": 2126203, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XygoMA75gW8Ayy34L1p8YDSqC88oap44mW", + "votingAddress": "XoBB4QD4BSSJ3XMZ5a68f3YMoS633nrscK", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "922f51fea28c9c398704200edc44166fae040ceb21b4de1b57f28f52b879de44fccab9055bd68bd74c18af6165f8978f" + } + }, + { + "type": "Regular", + "proTxHash": "1b42af375a0c3f260c1ace1f658ea209d4b333f3c214ff79270f568fd19bb811", + "collateralHash": "854df9d9888f2b3616eefc9c66a47c930d287b1d15364cd0b856057ac775e328", + "collateralIndex": 1, + "collateralAddress": "XtjdtWxCh666RWvCpXUoE5MVvVeYHb8ETi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.255:9999", + "registeredHeight": 1618401, + "lastPaidHeight": 2126534, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbKBCh8PQPTyCV4PCtJo9EbCP7Zz2UoHSe", + "votingAddress": "XstBJQaQM3PW1BGriKp6KRNjyXmtD3bCZE", + "payoutAddress": "XtjdtWxCh666RWvCpXUoE5MVvVeYHb8ETi", + "pubKeyOperator": "11190a114c1a71448556f9c2729d9516b6a4a6c91d8e4cba6faa3ab8c6a8ad28081f555e87b14d3e19e329e62712fe2d" + } + }, + { + "type": "Regular", + "proTxHash": "a29b36a4fcc2611ecc3aeab51abe52684a3fe5cfda3db429101c61bc333a94fe", + "collateralHash": "261e24319edde6f53f7903192e7765af7d56ceaa84a5d08d5f38de6fc69f63f5", + "collateralIndex": 0, + "collateralAddress": "XrXTdxT5RjkkTtMYGdCU7cFM5fCYS1mPys", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.199:9999", + "registeredHeight": 1618625, + "lastPaidHeight": 2126698, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc3PPbw9J7B6oUnUUCbvksseqAboaRVWCT", + "votingAddress": "XiPPN5dNiRb9aukckTto4KGLoaj4itc7Kk", + "payoutAddress": "Xetd9yBEp2Xa7Ypv7XrSST1qKGv587h5f6", + "pubKeyOperator": "13274c2e22e9e9881fd5132ebd22d59dd02959707553975e6ff602b2422f37675c0aa54de399aa92e24da378fcd1c5f7" + } + }, + { + "type": "Regular", + "proTxHash": "9390c31dcabb3210715503d1ce36aedc8a74607abf7fe877330d12d254a85547", + "collateralHash": "42dc9db3d199140ecc9558adc0b4a7092994a0acf3a94c9994c936628271c389", + "collateralIndex": 1, + "collateralAddress": "XuRzNckh23UHmHvEym8kz6aY9rpEmnapWV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.21.220:9999", + "registeredHeight": 1618813, + "lastPaidHeight": 2126842, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1764852, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjhtzYge8fWjqyKc4bq1c668WS78BwmjzK", + "votingAddress": "Xfvkbp3fQpMhWExVQn3mRrbQzfXG8eWorB", + "payoutAddress": "XkLJRGGYpDu1xp4pMFhdxyUx3JHcTJ68ER", + "pubKeyOperator": "0008b41272e26df09f1949cab4ccb1612d4c2cf4b3a31a1c84eac68e7092583726bab4a3a96e5482ef79bbb74dfbfc9e" + } + }, + { + "type": "Regular", + "proTxHash": "27d302288df88b929cd95d9609111641fab19c017de0c793d0be9318162b442b", + "collateralHash": "cda816ea7578f561d31ce3d311ae7db926675620cf400996e46943082a410056", + "collateralIndex": 1, + "collateralAddress": "XvGvdi3dMRo6D8LQWkp2pBF1P3wSatN854", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.169.30:9999", + "registeredHeight": 1618821, + "lastPaidHeight": 2125812, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1843534, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xef3NaLyVMzK6r7sdj8cxFtWr9TX4AFQdK", + "votingAddress": "XxY1D8jcdXSYae3grD2hdpgjEuPqdH1vnN", + "payoutAddress": "XfTBeeSU6uYwMsHjPYgKEHFcgqkp6R419Z", + "pubKeyOperator": "8e0239e05f012639f6cb37dd2c4cb8527ef94def158b67b43eeb01d0cf570dd77db67b66f0cd47502df50ce0c270b885" + } + }, + { + "type": "Regular", + "proTxHash": "24956d9a8ae6726bea900c738ff6c564039a054b90aaac9a793248c08ceb8f25", + "collateralHash": "bf28302683aa02dbb97a4b0ac6aaf39b4eeae3364a18b3197bebad169a8a8422", + "collateralIndex": 1, + "collateralAddress": "Xt6h3Y6aLgLA9kMypZrwmZZU7cCM2AJeSt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.21.189:9999", + "registeredHeight": 1618822, + "lastPaidHeight": 2126773, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoGNoZLyQGxSW2uRA87CFyFwihrtC6oc58", + "votingAddress": "XeznjiJWT5RV5F5rQGPTyKEbAUj3SGSmPh", + "payoutAddress": "XfTBeeSU6uYwMsHjPYgKEHFcgqkp6R419Z", + "pubKeyOperator": "16439399b3f2d66fe071ecf6f1f4b2026908abb197f25025252b1609df48b6f37879926d78e2e807cc30df617711c1f7" + } + }, + { + "type": "Regular", + "proTxHash": "6220c40004546db10362c389754225eadd434f709d42fa964302d9bfacfd7c95", + "collateralHash": "f16db15ef7c7955aa019792e212d34a102f76a7aa7ecfb7c7e64386f0e8df0bb", + "collateralIndex": 1, + "collateralAddress": "Xshy2m3qc5icPf7Qaz3pv3mJg3zRntF8zs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.223.61.242:9999", + "registeredHeight": 1618822, + "lastPaidHeight": 2126774, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvPK5gzSGbuELVCwXyPY5sRj6yxC279XHo", + "votingAddress": "XoTjyo6C2vD7nEi8vtq6GuauZmi5Zs1Gbo", + "payoutAddress": "XfTBeeSU6uYwMsHjPYgKEHFcgqkp6R419Z", + "pubKeyOperator": "095dabbe6572c5b3b4d5d595506afd871647c6410db9c6259f931f86c0f247cf6ac1552f8626ce6f8f1e30b58c61f731" + } + }, + { + "type": "Regular", + "proTxHash": "6d5fd520ebf4db38e2e2112a96b04d85bcc154fa389eee2698f0d3b9db08c6f4", + "collateralHash": "73568ebf7a589c0ec7ad89411497b8ae2c20391bcbfcdbbbb30515d3442e5a69", + "collateralIndex": 1, + "collateralAddress": "Xtd5ZcWQuVtWKJwRbadYqdq1utZCZQ15SN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.172.95:9999", + "registeredHeight": 1618825, + "lastPaidHeight": 2126776, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnrfC6svcAGdt6tDwCFSsvjvcns7QJmPn5", + "votingAddress": "XfoGfERBX7jjVkCMMcmhq96JRwADxaLAJg", + "payoutAddress": "XfTBeeSU6uYwMsHjPYgKEHFcgqkp6R419Z", + "pubKeyOperator": "1720d8f48359ebc536fcc3be90e1de4f39c1dc111f718dbef77cf60a351978274ed98c8c966dbbf89bb0281528d7946f" + } + }, + { + "type": "Regular", + "proTxHash": "f3fa4f1146151a704f8ff7270f3428750cd22d68a2bcb7deb284058191f0b67a", + "collateralHash": "d53375fe838bc2800573e3b4309a59e06164de0fe432cca569ccb1b51969a417", + "collateralIndex": 1, + "collateralAddress": "XnHaXCSe2LESPXRtZZFQdonLiiC78F41hT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.52.92:9999", + "registeredHeight": 1618856, + "lastPaidHeight": 2128184, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876653, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjiRXdjDqPSyiyDPdMiEF66RCbmwHyo3VV", + "votingAddress": "XiYedWiaZCTMsKzohbxsbJUVWCyk2cemVF", + "payoutAddress": "XfTBeeSU6uYwMsHjPYgKEHFcgqkp6R419Z", + "pubKeyOperator": "07864345d950dc891a4364acbfe98651ec66843146453f26e181bbb612af170197cf9f72daac2a65ff46707ea01ac734" + } + }, + { + "type": "Regular", + "proTxHash": "8dd770ec3b319c24fe7796e3785b9186fdbaf3daabe1c60c17ad13342f11cfd5", + "collateralHash": "976d1342797e5eb69d63f59e43b61a979708b4a5b2b508a7ebb827384a1205ab", + "collateralIndex": 1, + "collateralAddress": "Xy5RkRZsqA7guKymtUBkBW7BGgd5goff5D", + "operatorReward": 0, + "state": { + "version": 1, + "service": "157.230.36.4:9999", + "registeredHeight": 1618970, + "lastPaidHeight": 2128220, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876694, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfC1TXJjgp44mzcmauZ3bYGWv5DasVfytu", + "votingAddress": "XwWnTdQ12nS5h61gB6nH3fhG9cz3j3qRZf", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "1720d92f31c9001ceaaa7132d7a7a1031cfd4b38bacba9b2a448f214104d5433ebe317a30658738fe774a14d4b62299c" + } + }, + { + "type": "Regular", + "proTxHash": "d6d0f543773830b56bc591b226d3638ac530be778741f19e29a0bf111687ed36", + "collateralHash": "9bf99353fa7f7575851715f8fcde358ee238a1ff0749017634d61db2dd2a0209", + "collateralIndex": 1, + "collateralAddress": "XxJg7XxMZvuTQw4W5MnTtKiWyeTfxjTzcG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.110.189.48:9999", + "registeredHeight": 1619247, + "lastPaidHeight": 2126704, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1757174, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnf5NVL1DAL2EHLoxC2KtX8nnW5Vb6jkVW", + "votingAddress": "Xxms3QTK3fBLBK533mv95UE8tBvKKpdfk6", + "payoutAddress": "XcxpRXvPLdjxmBi9gsiDeYw25bz8E3odV2", + "pubKeyOperator": "0090963a2121a507bd1a886689e294494b66723a695816e00d65887f7055fb055fd0ba7379588c88fe3f42d92ce9144d" + } + }, + { + "type": "Regular", + "proTxHash": "8297e9ec9c1e8283f9f6fd3b7e36e41928f7231df971fd7884a3e4dd90604477", + "collateralHash": "bae1d4cfeefa6d17a94ee2c441e6354d59f5de2347eb9ee50d8462d8225fa75c", + "collateralIndex": 1, + "collateralAddress": "Xpgo5ehbb6gG49zftbNLTYPgYHXxKkxn87", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.178.147:9999", + "registeredHeight": 1619248, + "lastPaidHeight": 2126705, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1757174, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XciUUnKJmvSiePDX9Jy4xNpFBiUrFNW1N4", + "votingAddress": "XbvVpVN7sESwBMUJvWtj71gaAcETgiHRCG", + "payoutAddress": "XuTLWBVyDjhS9uVSvw8hi4JepFufQdtESY", + "pubKeyOperator": "09e70f206e2d6b25e9ecc4f4c54f0d7d2656aeea0cf2d78e18aba78ebe950da87dcee01652440b045b2ad4e00ccafc14" + } + }, + { + "type": "Regular", + "proTxHash": "844f2130dbf3fe06e4faa8c976005ab8e74478b6284973ad14a1634211c96565", + "collateralHash": "847c96626c5ecd9372f0959145e91098452a0b92af5164efce03e43e56ee3866", + "collateralIndex": 1, + "collateralAddress": "XpxmgXGvjZE4oyAetm6Wy7qwG1ZHjr9tzi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.28.109:9999", + "registeredHeight": 1619478, + "lastPaidHeight": 2127315, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwh6FRMrDUqyNz9sWR5eURBEvHCQM5zSpW", + "votingAddress": "XjCXjPwPDSgFz6qcs6s1GYTyy9bJkrA2Sx", + "payoutAddress": "XpxmgXGvjZE4oyAetm6Wy7qwG1ZHjr9tzi", + "pubKeyOperator": "99197e05673f1d21dbb09c5db0fbd44988a7c567beb8350f6461d3c3027368a00a2cefcc74005f37d4fb8e0ab7284a30" + } + }, + { + "type": "Regular", + "proTxHash": "4e63dacc6937d8d0409a5aa342a9cf681854ce495cc1dd37c309c29a11f86647", + "collateralHash": "a1259c48c7884b21bed2da6806a2e742d0ca71b407509cbbd53f7b5553f591b0", + "collateralIndex": 1, + "collateralAddress": "Xye3Vhm3oWCEUB27EFNsrMfVkUrdMEP78N", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.107.166:9999", + "registeredHeight": 1619496, + "lastPaidHeight": 2127319, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoSG6XTuA2K3ECkCwvufMnRfQCHCGU1vHj", + "votingAddress": "XyiPhgshcr4Z1eKyRUE4ST1SZ1UaZhbWRv", + "payoutAddress": "Xye3Vhm3oWCEUB27EFNsrMfVkUrdMEP78N", + "pubKeyOperator": "08ff9920aa7391cf47e0a1a816ab4c67e037a5d448d2cf28b4d8c7c4008c459eadbe5134f7176804046521ec0b49341e" + } + }, + { + "type": "Regular", + "proTxHash": "d8af561a15d6569ec3c84ff86b1a2b2cf5f8a73e71356aa90df8ad9044034fc5", + "collateralHash": "1fa60881f34bb04e365686ed8b12766d92b2f2397e2854320d7ea2ea20a271dc", + "collateralIndex": 0, + "collateralAddress": "Xe2yyohVSsmyDGcvpfje1hMcmWByuHrnGV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.4:9999", + "registeredHeight": 1619593, + "lastPaidHeight": 2127395, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqbVFzdfZyumXzKkwN4NH7trm2NZ1Ron2m", + "votingAddress": "XfatsaMpH1AQJtsXZhB2tsRvsECpWPjJfp", + "payoutAddress": "XnbwVAVMPhqWVBtTJq5GnSVgi4nPND7YWr", + "pubKeyOperator": "94f79f0167e904ef130639e793ad191bffff79f410f89a8fc65c141a9a16f5e48314fdf1e10ab76979d79f8a5203abfd" + } + }, + { + "type": "Regular", + "proTxHash": "890c9ee2e41f914b29290cd906c3e437d81edf50b339e49a821428560216b63b", + "collateralHash": "ab2f1220cda64ded90d89aab8af57234290c91edbb26b52c719be641e22b95c8", + "collateralIndex": 1, + "collateralAddress": "XcYZa1LNSZmVbd1aNojmr4EXaRiULiadY1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.249:9999", + "registeredHeight": 1620320, + "lastPaidHeight": 2127961, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvngSsXPKhs5bXVSq87XGpUftvamMuu2bu", + "votingAddress": "XwLHjXK5UREuQ91ZXBzGvvzf9WDoyJx9LZ", + "payoutAddress": "XcYZa1LNSZmVbd1aNojmr4EXaRiULiadY1", + "pubKeyOperator": "19f17cb890786576a7e25a930289f1c71c2560490c6bf24faa2a234cf634ceef4c823145fe13712e18543b4dd9c5526a" + } + }, + { + "type": "Regular", + "proTxHash": "e826a20acf15c6ead96c6c36be8b69c6bb663540e6647622ad10b19cac03f253", + "collateralHash": "993069bb8a78f2ee714de2d8100ec5e9898c59a9f7c5dc58d0b40ad0d048dc6a", + "collateralIndex": 1, + "collateralAddress": "XcVNzv75NpE3RCPTpr55YXZa5LFc4SK2a4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.207.128:9999", + "registeredHeight": 1622016, + "lastPaidHeight": 2128158, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876632, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuhcC3H3Bgtn59DLvHWGt3sAfaNfGeC3rq", + "votingAddress": "XwGqtt3RgrQiWxgZWJzQmAuVNFWhEmnKw8", + "payoutAddress": "XcVNzv75NpE3RCPTpr55YXZa5LFc4SK2a4", + "pubKeyOperator": "0aad1c7f45985e73450171a37dbb7a1e19e8dd39e81609878bd0c10712a8a8f95e354bde780c73da3923cfb3fc6a28ce" + } + }, + { + "type": "Regular", + "proTxHash": "6c08c964bd41005e75fc2bfe589d3b938445cdb986309ea361d413aacb7c1fab", + "collateralHash": "677f848f8e31ee52b2e8848281a1a86cf0eaa7769cc45220955b3126a70ee574", + "collateralIndex": 1, + "collateralAddress": "XsKPNUKT7gvE6GsZ4SFuErVxRPEDQUowBy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.200:9999", + "registeredHeight": 1622145, + "lastPaidHeight": 2126197, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmbe5WJdecXBzzSZ7uh9sXf4whgKJAf99E", + "votingAddress": "XdhfQkMsYEUTr5E3ncrJe7cMTgc9hkPB7T", + "payoutAddress": "Xf2r6xY75WhQ2VTj68unqxTokj4rjZKeei", + "pubKeyOperator": "10375da59be88b6faea37e77238a1c83d0ce1275612e0999088a1a9070d12bc9db9893f104571410b5e240538b69d88e" + } + }, + { + "type": "Regular", + "proTxHash": "a1a5f31da90a76d93b7af2be5b821783e459c80f91788130854817fce5159800", + "collateralHash": "6403466602accf199f16e61c6ff3289c3f38e8126a596e5cea8cf3395d2e82ab", + "collateralIndex": 1, + "collateralAddress": "XfqTA7RjCYDYxWWdxDuMzigiapXnYgDsm8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.71.158.58:9999", + "registeredHeight": 1623435, + "lastPaidHeight": 2127971, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124799, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XktWWe3GVR8sdgsydYbNsNNRN2UspDskRS", + "votingAddress": "XktWWe3GVR8sdgsydYbNsNNRN2UspDskRS", + "payoutAddress": "XmJt8JSyzgGFwpMdhBDUS8zzqq3y7AQnbB", + "pubKeyOperator": "1335e1ec72de4cb59ae213dc0977d62dddf0bcae1674ef71a60c8f5b1516055673e9e294b88faaeff4a01c485ad56a85" + } + }, + { + "type": "Regular", + "proTxHash": "59c588d510591e75066731b4f5e425620c5ec6b13068cd5961a0f37edcb59235", + "collateralHash": "159304138e20fb8ac14e3fe8af1d92e48a7552d82fcd132a4cf66e2382369bba", + "collateralIndex": 1, + "collateralAddress": "Xq9gHyNoKj7grf4ssWE77B4zmwj1WcJwEz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.24:9999", + "registeredHeight": 1623551, + "lastPaidHeight": 2127037, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo7bEgsqYoLNSxpbykjE545xUeqetJkrdU", + "votingAddress": "Xknz4vTnVN6TchUmBySBMEz8APFTNeZbJz", + "payoutAddress": "XtuQhazyXcNx9U3p289U8TkSdyUkxDezxg", + "pubKeyOperator": "9603f5ba6cd2d13ca3d031c93f3b8dbcdbe4003c7c9d553ea6fa58b92b8bf1630f6d7d6e956a59f58951f0e887c8a71a" + } + }, + { + "type": "Regular", + "proTxHash": "a1c2cb5e077bbe87573061aea0f5f13bd046699bda99ca7732347f010c613314", + "collateralHash": "a7dc252fb14c2c39f715194a7691bc0ca274581769ffa21ad153775ea1c3d82c", + "collateralIndex": 1, + "collateralAddress": "Xh6KjJP5aFStsutT5oJY6aAPyjm9WbPjGY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.26:9999", + "registeredHeight": 1624818, + "lastPaidHeight": 2128003, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1811989, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqJm1zPB5kGTrYCBmCTFhoLsLKmRM3fCEB", + "votingAddress": "XfyAVLLZSKd27RdRoaEEoCncDQRmmGXmtd", + "payoutAddress": "XgER529bP1gCCdx8kxuNR8JZ3ku2q7Bz1B", + "pubKeyOperator": "0f632192b8c313743474a20ba23c22d4b93c69b38090bf43ba1571651f4ab5eb0842341ae14a33aed5a66814863ee725" + } + }, + { + "type": "Regular", + "proTxHash": "d91fb1eb92da94094eb6ed73418e7436d0908e684b5329dee02dbfed02f8c481", + "collateralHash": "5dc95291c68fdccb1de52ba2eeb02f6356a52d59d0f40ea56dfa8d908ce4bcbf", + "collateralIndex": 1, + "collateralAddress": "XtRLresyKtncCRiyo7RWMaw9fmyLHmMmP8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.208:9999", + "registeredHeight": 1626106, + "lastPaidHeight": 2125860, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxoK9FnsyMe4wXHWpg7nB5FKfwpiqPkwLC", + "votingAddress": "XnxjJAJxExP7TRoe17WNzy6PS7eaqTSDWg", + "payoutAddress": "Xsnbq1XW4sD8NZSAXFRjRc1hN4tAAxWVPD", + "pubKeyOperator": "01f444a45f32c21ae048627996cad12b9a7b327d2d52652b0107391d008261ff58bd632c794bcd5aeadcf09a81542482" + } + }, + { + "type": "Regular", + "proTxHash": "a04b68f20480d8d66efeec22c357ba77f115793ada782e20d5c33fb33c32d7f6", + "collateralHash": "1a5129398dcb79f5a73184dcadd045565028b3786348bcfe732119bcffd3c0e9", + "collateralIndex": 1, + "collateralAddress": "XtaMw77WY7XpXfcnYbf6kHq5XbAyvQnK18", + "operatorReward": 0, + "state": { + "version": 1, + "service": "164.132.55.103:9999", + "registeredHeight": 1626418, + "lastPaidHeight": 2126060, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmTbZX1wcQyJRiWCHLhC3GsZYaLCCw1tDf", + "votingAddress": "XmTbZX1wcQyJRiWCHLhC3GsZYaLCCw1tDf", + "payoutAddress": "XsipyQ1NnzR3Czv5MT5bvASUqu7QymUaYB", + "pubKeyOperator": "1335202b451a6175d33ec5c647e5c8b820fb89cdd56ab18aeab9061850db7dc398b3d51b135fa2cfdc9e6edc502b0f1c" + } + }, + { + "type": "Regular", + "proTxHash": "8b9132cc1b8631e95caffe5e46facc07425c74b77e74cb5dfa6978107f6fe60e", + "collateralHash": "b731699e1ffeceb7989b90dfc4d5304ed30e6275fe8c8fd26572ab293110eb75", + "collateralIndex": 1, + "collateralAddress": "XviZW7GmWzburrnYBwuaYgQqX11CXQcDFs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.137:9999", + "registeredHeight": 1626594, + "lastPaidHeight": 2126221, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdjndkgW87vBeWwcetnXdfdp4MYoWq9uCv", + "votingAddress": "XfbADxNgiemqzP4i4E5eywdgQc4e7vj77T", + "payoutAddress": "XviZW7GmWzburrnYBwuaYgQqX11CXQcDFs", + "pubKeyOperator": "02c02a53cb66b84e8da1a1d134a4c7ab92e5eb93d0db3a9efb9dd54f6d875428fac15c44a2f189461f00ed67bb41459a" + } + }, + { + "type": "Regular", + "proTxHash": "1e1c5f9d893dc132e648dc99edca7ed1692d18d0c0045d6534a5c48f7fbee63f", + "collateralHash": "1af04de890b2cd2fc0c58fd766f523edb67bfc3fe01828d34883f4e5c634c3d9", + "collateralIndex": 1, + "collateralAddress": "XtbNwpvFBreXpoZUcvs5uXB1capKVi4kMB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.23.148.205:9999", + "registeredHeight": 1627948, + "lastPaidHeight": 2127047, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhPzJjZDs68jdiNdhJTfF8XZLRHZLYrmJ2", + "votingAddress": "XhPzJjZDs68jdiNdhJTfF8XZLRHZLYrmJ2", + "payoutAddress": "XpxUDc4sUF6ZxRViJh3jNqq8yPfvn1Brkc", + "pubKeyOperator": "8f0f2886fcb55d4dfe40bd5f7e4e2b9d0993faae20b4dc4a7f18452e94f03b5eff80ad2035f929c32d0f0c3dc9865eae" + } + }, + { + "type": "Regular", + "proTxHash": "c2da6e0f0b6deb5c6eb2664d33a8b5c89d5195671b64b4fdb5997e50f2f657cc", + "collateralHash": "835ebbfe1eaf93142a0a20e675dd45d9d70f9b3cd03dfeadb3ba95db536d9ae4", + "collateralIndex": 1, + "collateralAddress": "XfKghmF33sxupfPPuCSKzhDA4MqKCPCRtd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.48.40:9999", + "registeredHeight": 1629331, + "lastPaidHeight": 2128046, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgJujvsiMoigbWR7zE84m5qJkD2cCWn6sU", + "votingAddress": "XcjHUsLh8tTAB85QQcf7Ay3WTzSYEhqH2Q", + "payoutAddress": "XymZqNBbWgmdndSo1o6GfmvZuRfuzB35iv", + "pubKeyOperator": "139ea5b4b383aa96aaa50979e864d5e7e7718be81952e3187788b48fe0ca7bd9fb3eb0ec52057381111bd7c6cb5437ee" + } + }, + { + "type": "Regular", + "proTxHash": "528142667a3a6a62096b58ed43b137548421421501985cdb31a7d11c8bb05e91", + "collateralHash": "7b7ee0f7d0a2c2095e75a58322ec837d0429dfa38aea3bd5ab772d86a8dbd6d9", + "collateralIndex": 1, + "collateralAddress": "Xmgmon8W16L8UV2ok4XjBmQ5JFnkSTJRJg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "137.74.231.172:9999", + "registeredHeight": 1633450, + "lastPaidHeight": 2127974, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtXFjPHPDrWCuHbuGv9G1fUjtFEYM7gbvW", + "votingAddress": "XtXFjPHPDrWCuHbuGv9G1fUjtFEYM7gbvW", + "payoutAddress": "XndNhkgAcg5ztGuzzUq8aeDF8osSkxCN8x", + "pubKeyOperator": "88972c91feb8db66a6c32da61fd1986a37939469841a20b88be44ba6695cec48db26c0da2c8ce62063f3fadd001b3ff6" + } + }, + { + "type": "Regular", + "proTxHash": "6cd07585b6d1f0e208f2fa40302a6dfec36e176cd555ee960c4e2c90e959bf77", + "collateralHash": "2302db8c8f92e8b8a645d4ca3359ff30fa0e2dbcc800bf2bc12c2320062b4e2f", + "collateralIndex": 0, + "collateralAddress": "XmoEGKmcqvo5qyW1aQBGXzUimg4t3BH1FC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.156.166:9999", + "registeredHeight": 1635189, + "lastPaidHeight": 2127099, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjbJswDvRVNbhtNFcZQd7i9feGVJ99in7w", + "votingAddress": "Xo2byrbqeSjdGUfRkzgSJeKvXCcfZXLCRu", + "payoutAddress": "XmoEGKmcqvo5qyW1aQBGXzUimg4t3BH1FC", + "pubKeyOperator": "11bcb3266c44d3dc0b3e2f0e4a684f07b27e53dea63959b437bb56f6b13e7dba9a8d9c1481cb0d48b72a65f1488df4a9" + } + }, + { + "type": "Regular", + "proTxHash": "b83852cc3c717e18d3b2f74673cf3b7eb36688ed2918785f323b3720f2d28b80", + "collateralHash": "f1760ab39bb9761bd4b70a3ac1888bdf913c40b6003a61d1e0a74fd97c0d11be", + "collateralIndex": 0, + "collateralAddress": "XdNEvNuYVsqJi2G82sJRFCrxmzd7hwVRs9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.118.113:9999", + "registeredHeight": 1635201, + "lastPaidHeight": 2127100, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbF6RC2ULPBGaeWb8fKxNkrjkUpiLkAoSQ", + "votingAddress": "XpbgcWtYn1XnjycwYR1PHZDszXxFa98vWQ", + "payoutAddress": "XdNEvNuYVsqJi2G82sJRFCrxmzd7hwVRs9", + "pubKeyOperator": "92737a064249d3e8cdebdab8babe58a5d9b4d9bddf312b6d0295ae3841a36589e8ba22ea911b749790a5aae1f13bf985" + } + }, + { + "type": "Regular", + "proTxHash": "7a09ed228766fba1d0bad010cf6d5749dc6d09d98783fd69aa3227aec8440be9", + "collateralHash": "40894009cde3b1847ae22ee2173b5f410c92c0a54b9cc1a156683e8562fead33", + "collateralIndex": 0, + "collateralAddress": "XiqZPHXYQNCXdXnDepyTLcbMmg6mLkUC8Q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.73.213:9999", + "registeredHeight": 1635201, + "lastPaidHeight": 2127109, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121032, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs2DKeESh7GPASz69K2jQjJ1y7uPryWA7W", + "votingAddress": "XakkmCgmGVKEpfgBLKT65fWJBhYjfbpxeD", + "payoutAddress": "XiqZPHXYQNCXdXnDepyTLcbMmg6mLkUC8Q", + "pubKeyOperator": "03b810b5fe540ac892498eee075e3e36467322999175ae81ccf7c863f90310ea3a1bd4f5fcf0536aca87f03f5335c66f" + } + }, + { + "type": "Regular", + "proTxHash": "1b4f75790aa4bc6867a3306f4e7407e342055a08767b5e0e321cfc54d6461e86", + "collateralHash": "db903d4adc83d6da91a86b16462a1c5f7dea20310ac82610f0a3d9d05a49c0e8", + "collateralIndex": 1, + "collateralAddress": "XkdBga97444HT4qZgeNpjQtN2An1Qn18yr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.166.229:9999", + "registeredHeight": 1635651, + "lastPaidHeight": 1825432, + "consecutivePayments": 0, + "PoSePenalty": 4447, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1829219, + "revocationReason": 0, + "ownerAddress": "Xn8N6DJ9K9vZ48ZLwK4gegTqGaBBr9mcU2", + "votingAddress": "Xn8N6DJ9K9vZ48ZLwK4gegTqGaBBr9mcU2", + "payoutAddress": "XuhWKth8LeigeuMJDs7kPwLFWym4Pj8XQ7", + "pubKeyOperator": "9961a2df5a2a1a79fb810f748961c4970a5220dd0f3e7246f55d5eece6249f67758066087b17f837e365310ea80acf02" + } + }, + { + "type": "Regular", + "proTxHash": "035b9cbe7f9fd2c4674b34008200927a331abbfa89c3371a4c21e4f3c7a7a6f8", + "collateralHash": "3c48a3e7b701c7b8e1af0f1b75ada0d5242ea0d8aede4aa5f60cbbfa12433078", + "collateralIndex": 1, + "collateralAddress": "XiJbHzi8yewumvCNkQvfE67Ub96XuhJGYF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.71.158.54:9999", + "registeredHeight": 1636050, + "lastPaidHeight": 2127975, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124800, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbsJXzQ2hAjdDwZ7xnTgWJJ41YMyXomNuC", + "votingAddress": "XbsJXzQ2hAjdDwZ7xnTgWJJ41YMyXomNuC", + "payoutAddress": "Xr37Ma1zyqhPmP9Sbo3ADJ7mz6DMYkZrZX", + "pubKeyOperator": "88258d708024ef91d4f8e43a9f1a43c46efa5e49834eec4ed43f041c7bbcb3c1467c4398cb58ed4801a166b98f10c8c2" + } + }, + { + "type": "Regular", + "proTxHash": "8284ca5217c4cdc9f1c055bab3b089b6a8400f59ea81001d676034b243636674", + "collateralHash": "d4287ac8c083c75578266cbe932755260b9c2d5500a0b922f929e27c22ff37fc", + "collateralIndex": 1, + "collateralAddress": "Xi93uk9MDuZSRXsba51cADjfW4Q57JLPKV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.71.158.63:9999", + "registeredHeight": 1636056, + "lastPaidHeight": 2117733, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2125850, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoTHR2uMYg29x8Hwi5Lq8cNLkpRYMn6ruH", + "votingAddress": "XoTHR2uMYg29x8Hwi5Lq8cNLkpRYMn6ruH", + "payoutAddress": "Xr37Ma1zyqhPmP9Sbo3ADJ7mz6DMYkZrZX", + "pubKeyOperator": "96ab699e6e9d4664cb77a22230aa308ea6d468920b23431e07626a6e017ea252f51e33c73fd08fa132ad96d2a7882fb5" + } + }, + { + "type": "Regular", + "proTxHash": "cd1d11b4c20bb7c861f1df84a39b6d5970bb8a05f771991baa3b115944cbbe0d", + "collateralHash": "6019856434e89c42755ea061793c7e49ee0bdf9a2cf1256a68b36c8a24cd0891", + "collateralIndex": 1, + "collateralAddress": "Xbrv6BwNLzDwHGBofSTPwB3dLYRbZsPo49", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.122.110.220:9999", + "registeredHeight": 1638088, + "lastPaidHeight": 2128194, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjphQoAzpbGbQRW5o12vM1XxXr95w1iq9D", + "votingAddress": "Xh7JWoqgCVNP1s3jgKeVkWnzHUX3Etfo33", + "payoutAddress": "XjdCHcJcszMFQrdUHdHFaMwSUAvDMBmsGs", + "pubKeyOperator": "0079209cbcf3d3b198263250078c15ad7e6a95bbd90b0c0e31d49e8e1aaa2fb0afab9ce6e92a83e6de31bfe98f15f7bf" + } + }, + { + "type": "Regular", + "proTxHash": "3dafdf7eb1f56dc7cf89b2ab05c4e1f9066e03d1894974678f7564dc0d17f421", + "collateralHash": "98ec25de1afeb9e8b85d139282149968faa480e5e317c68af17f70b1e00c5efb", + "collateralIndex": 1, + "collateralAddress": "XxbNFTmb8DXcacL1hyxHYDZ19WSAnyfehB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "87.98.253.86:9999", + "registeredHeight": 1638998, + "lastPaidHeight": 2125822, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbAswEXNSVhTkbsrVMvC3da1k8nTAe4QKw", + "votingAddress": "XbAswEXNSVhTkbsrVMvC3da1k8nTAe4QKw", + "payoutAddress": "XnZMpCSo9zvoa4dk8knXYBQ1ZjcfWCKFnG", + "pubKeyOperator": "03c8d2bd19af500faa7784e6ecad662b37c021d915da4cbdca48b2d8fe360604dc361262fac9f1c92e6e271d6f87d97d" + } + }, + { + "type": "Regular", + "proTxHash": "44f52e1a6ba950ea545043b2cd5c8ace009265fcd737e19a803f397c4ee99ff0", + "collateralHash": "15b8bd41a01d2a413476ee9a11a2acccbfe5a0131643e3011ed8cd5454c75209", + "collateralIndex": 1, + "collateralAddress": "Xm3rkDE8SViPf29uHfr7jaDQug2npikNAt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.23.171.243:9999", + "registeredHeight": 1642921, + "lastPaidHeight": 2128783, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XueC4LFcyG26zW6xLEXFPBSJGMKnNbPfpV", + "votingAddress": "XueC4LFcyG26zW6xLEXFPBSJGMKnNbPfpV", + "payoutAddress": "XuaiN6XYzeqgUBAPdjxAuYhSDHVGPYDdJR", + "pubKeyOperator": "9647f0e57f7f66bfa91bb8cdaf0a3ad65cbe5aaf98c1ab4b26d39f5340e7a7261ea189ddfb44fb01daa5490904988469" + } + }, + { + "type": "Regular", + "proTxHash": "4c75decaf4d0ccd5a0b823a650d9efee875636c52039c5d3d3d8ddb3b091d456", + "collateralHash": "ddc92cf2c31bb6a0b79e4ac1afce17df8fe7f94cab2d2c3612113a35bc25986b", + "collateralIndex": 1, + "collateralAddress": "XmXc4JjTMnPnz5FbFTxq5dwaXGVBt8A6iC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.59.153.204:9999", + "registeredHeight": 1643573, + "lastPaidHeight": 2125996, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw1xyCeZ9DDYo2vXuvJ3iVQfijqZoWuciD", + "votingAddress": "Xw1xyCeZ9DDYo2vXuvJ3iVQfijqZoWuciD", + "payoutAddress": "XcJB2nnFKbH5dmvXkZmU8fxWwcZPsSzg63", + "pubKeyOperator": "10694a217916dc239879d350ac433595248d8ffab0a98f105c79f1f9ef2d616096705a954b35b616c01d75fb4657154c" + } + }, + { + "type": "Regular", + "proTxHash": "d682be4c0a1e5ef524d6710ea23b44a6b71ceab4dd593500f5c9d0a7810d0472", + "collateralHash": "180ed7fc4e296efac027dfb838928b30bbbb9f10bf5e9bb8aff27fddc853f3dc", + "collateralIndex": 1, + "collateralAddress": "Xg33mRUg4oVhZeWwZrAbZFfxfTD1BPGpms", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.161.53:9999", + "registeredHeight": 1644000, + "lastPaidHeight": 2062159, + "consecutivePayments": 0, + "PoSePenalty": 3815, + "PoSeRevivedHeight": 2038595, + "PoSeBanHeight": 2063253, + "revocationReason": 0, + "ownerAddress": "XgyNgpurgwg1615WUq7QQx46ndzjAmqXZZ", + "votingAddress": "XwSvxd52U7jkuGmjRakhN4TWSia9fQDxdq", + "payoutAddress": "XhUfVwAayZtkpYZoCaNWno2aNhRpfGV3Gz", + "pubKeyOperator": "14767b1f7f31df252d31f6873c5f6fd0b6642068369b49644a9d239a28d4f1ef86f00ed252a2c44b405a5c79fa2d4dd8" + } + }, + { + "type": "Regular", + "proTxHash": "ed5bd241efff72d591eb8c84cac2a32b88abd1c99dacfbc3e7a7147ea628a9c6", + "collateralHash": "db6a14d251cf25b077222636b18e1d3e1701c970abcdfb63de0a0eba724e17f7", + "collateralIndex": 2, + "collateralAddress": "XyELDQ9GAEtshDpJiB8o6682axJEbyZuQV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "202.182.105.95:9999", + "registeredHeight": 1644764, + "lastPaidHeight": 1868886, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": 1865043, + "PoSeBanHeight": 1872330, + "revocationReason": 0, + "ownerAddress": "XtkUUNp9AK6yQW1U9RWF42N6Ym7Xjs1b9e", + "votingAddress": "XpcodnvjDE7MinQXXjoJVEY7kWgoYAHzkA", + "payoutAddress": "Xxnq5ftNUyYp9YVVkWtnpJPQBT9C2aEAE2", + "pubKeyOperator": "17ce83abd8254cc965a97aecfae7133dde5d5e7c51d7dca4094bc9f63b6dbce846e5b4c682ea6efecb235d623077db27" + } + }, + { + "type": "Regular", + "proTxHash": "2708e549e48306a34ce74c529d07a2ecc8f11e777d3fe023996c54891c780d2a", + "collateralHash": "ebd0ef5bf6c80c4769d269501b3dc735a6ae78e960fe8ec23536b9a021616faa", + "collateralIndex": 1, + "collateralAddress": "Xqq2YDpK3p8dP4DaqPAwPnwuPejJNXRvdw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "151.80.244.177:9999", + "registeredHeight": 1645079, + "lastPaidHeight": 2127026, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvHue5mudEF9aVxsCd53GT4r5GsXQntVwV", + "votingAddress": "XvHue5mudEF9aVxsCd53GT4r5GsXQntVwV", + "payoutAddress": "XqKyXVwLLr2k4FKE5ifPn42cWYQvCBGRj5", + "pubKeyOperator": "0cbe6802bcabf08a382901aa2cf58f017cb0bb865d23d98b511eba0206052c7dfd390128d052b6ad3c3071ef081871f0" + } + }, + { + "type": "Regular", + "proTxHash": "3569469fd805d104386c2f55e7c2c07aed9022937fe9c5c6e08f900d8533c50b", + "collateralHash": "4700fb72ffaa5e07d69279fda9d3ecff8b7f5d27e47cac7cf7bdd93afa04399e", + "collateralIndex": 1, + "collateralAddress": "Xd32PN2nF4Z5qu1MDN1CY2jrgoHQhXW2i2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "87.98.246.117:9999", + "registeredHeight": 1645511, + "lastPaidHeight": 2127372, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuPQ5HYfxQd1bs5dnUKCcdYxsUBz6maNnf", + "votingAddress": "XuPQ5HYfxQd1bs5dnUKCcdYxsUBz6maNnf", + "payoutAddress": "XmhVUYmJDX484tqCn6wf4SupQevKDnK8Af", + "pubKeyOperator": "8b1595e880dd49339dcdbbd32db7b47b78999f9d08043499ff4460d7f644c0f4a2b058bf2f6024e7f0e9d83790d72f8f" + } + }, + { + "type": "Regular", + "proTxHash": "a2eafcb12e78f91ff47ded232ad0e45af2db3f10b1f331e8f5f24785bf79899b", + "collateralHash": "59d61ea092b56c0db76623c74a714ade35e41d78e40b954fd4d5e4a59e0da4a0", + "collateralIndex": 1, + "collateralAddress": "XtrUFtExVNRwHTg9Z7CnFRBvxSGC2Aiyae", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.53:9999", + "registeredHeight": 1645838, + "lastPaidHeight": 2126881, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114553, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcd75L4fmCyNdj2HKqwsggobo5z2vW4hb1", + "votingAddress": "Xcd75L4fmCyNdj2HKqwsggobo5z2vW4hb1", + "payoutAddress": "XtrUFtExVNRwHTg9Z7CnFRBvxSGC2Aiyae", + "pubKeyOperator": "085c12a75ec818b23d38337f58a962a6c7145c537d8859e65561bd8ba92e81ef45e1cd2431408476b69512b6b72bf96c" + } + }, + { + "type": "Regular", + "proTxHash": "0e8a2ca4bcddab9cfb68015fb37864cb26346a2937302e092e147c0c615da98b", + "collateralHash": "029483cfca3ddb63944abdfff7f4aaadbd3b71338a82c76aba6a487364067ade", + "collateralIndex": 0, + "collateralAddress": "XjQxScWmXL7ZRzc9ztqQgx2b4fSM9i6DdD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "142.132.186.240:9999", + "registeredHeight": 1646349, + "lastPaidHeight": 2113197, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 1891271, + "PoSeBanHeight": 2116266, + "revocationReason": 0, + "ownerAddress": "XeVQSFR83mihFbKZ6hFaxbuGereQR2icmJ", + "votingAddress": "Xs5i4P7FA3td4P3JZndNrQiAW2R2GAUgkT", + "payoutAddress": "XjQxScWmXL7ZRzc9ztqQgx2b4fSM9i6DdD", + "pubKeyOperator": "0920e97811838905eeb7d7a448ca90cdc0e64316aafe584c71ae3b6d74dd0ad6e653a6e3c8b41bced546ad6933966d16" + } + }, + { + "type": "Regular", + "proTxHash": "68da16c36f7238a621fe8fdc097959a041ae5cf73cd5d4a1bce3b75d66506f74", + "collateralHash": "7f79a01c808a9cfb55a78a0950bb9e545ccc24bee648f05465d7ce816d4e795d", + "collateralIndex": 0, + "collateralAddress": "XcAFFSPpUeeM4TN4vv6jgQp4iJvRf3D4Rh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.208.230.134:9999", + "registeredHeight": 1648920, + "lastPaidHeight": 2126746, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn5SNWKUNWTc4gUxPh44Af5SYCRSxzafKz", + "votingAddress": "XpLsfD1ALYvHkxURQkUFnynijxQLyREM9X", + "payoutAddress": "Xom4fgQJEhoms5G5zyxFH1UG8fh6qF6b7a", + "pubKeyOperator": "1122e1e4d72e2547c928c772644cbc5eabc057d49f2b1a447971b6bd124e7e1b56e3483f2a26e227ed535bfc76a88298" + } + }, + { + "type": "Regular", + "proTxHash": "c8d7a31b10e009a9a35caf57d20bbd874870bfbfb850afb7380b9c48d9454002", + "collateralHash": "aa8b0417efa822c8bbd6940df8554877940273e6ea896d51b6780cfd15776714", + "collateralIndex": 0, + "collateralAddress": "XyzbJgRUdeFrqx39sJtRwSQ2Zf6oP4cNXf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.70.100:9999", + "registeredHeight": 1649983, + "lastPaidHeight": 2127499, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjYvZinp9nKjERauZLUYQitKpGLofNHxBT", + "votingAddress": "XnkPoFTDvoQv3R4QwhmahwvD4wZExPRTvG", + "payoutAddress": "Xwexyzjmg6UVfkiYkQ1n3fP5KEfSkBt5hR", + "pubKeyOperator": "8356748ac871602e89f16c58d862e32a194d499a355b43dcff378000a4c0cd091a3e4edecdb78711fc9e04b081033f38" + } + }, + { + "type": "Regular", + "proTxHash": "f0aa7bc9df9e9e855172ea47f199a0cce14facf9466c770c96d784a0e9fc1b76", + "collateralHash": "4614904409aeb50b1dc8cde8eaada331dac4710f2bbff71aed3726e1a3d4aef9", + "collateralIndex": 1, + "collateralAddress": "XwNqVuiGwXBmVftE3pvzSvyEamkkysActc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.133:9999", + "registeredHeight": 1650318, + "lastPaidHeight": 2127865, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbXz2kPnmHgq4QF1x9eUymP5Xq5oPg2VR9", + "votingAddress": "XeU3NtpYM7Gs8GEVR2bDvX5oJoD822pRTU", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "0c86cebef43bc0e93014ad2d38cda55085af4bbd5d7191e7728ec50733ae6a21a42e2d598abfd4e6298e4d263ecaed75" + } + }, + { + "type": "Regular", + "proTxHash": "1b48a3d93e3db04be83239c2be6689c6c926cf5bed7355ae2ed7fd6d6cec7246", + "collateralHash": "1159fdde3410c4a6f05611e2ef292c25424b1efc0baccc428198d7773f98a804", + "collateralIndex": 1, + "collateralAddress": "XdRsYoftmYjkvJpsDm4EPF6sD7gp1bXaYV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.58.70:9999", + "registeredHeight": 1652895, + "lastPaidHeight": 2126544, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjk976CLagkd9JmEtRdVRSyEpQMZSvCqcV", + "votingAddress": "Xta6V2x14pWM4zbq1c7QXqADZjjj26JVzt", + "payoutAddress": "XeHMTufLPoSt5MNmB3fiXnZVzqnaGWWMjP", + "pubKeyOperator": "8330cbceac6b4eee305dce288dc62e4699da2700a53588de85a8f0601f5fa76bf739e2cb28f0894ed1cd02e35341624f" + } + }, + { + "type": "Regular", + "proTxHash": "edbfd8a7ba045c7a3015fe3c98ac1750139e8f475aa20c2c3ea03d61b4c57fb3", + "collateralHash": "cb05512c92f1e3b23d0faa13c47ed8251d2f75378d0f9eb3aeaead849dcd23ec", + "collateralIndex": 1, + "collateralAddress": "XwU4Gocp6UysqytuBdoFhMQp8KXTbYEqJq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.75.224:9999", + "registeredHeight": 1653149, + "lastPaidHeight": 2126742, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtX3BPpjexBvjSBqmF7bXkho67VqZchSK9", + "votingAddress": "XxwyCL2hqtMGDnJdjC8WxyGHKQDtYiTWzf", + "payoutAddress": "XhbFB257XFmetd3v2wTdp2YMVMTv4MuLPs", + "pubKeyOperator": "15d1d295a04f7b8b66955d93c490105638418b6369e8f92fdd09fd4f96e18dcd794abaef343ebd010d746fc740993f8b" + } + }, + { + "type": "Regular", + "proTxHash": "26f37262d71255dde97a347001a898852c3e936ededd5d58c8d2d1a126b905d1", + "collateralHash": "1591496851373d749bad2de5960f1ccd222e21cd7b5104651c7c7fa9ff7770c1", + "collateralIndex": 1, + "collateralAddress": "XhptiB13S3BA2cQDQnc9Hp7hiRoWphmKEt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.84.153:9999", + "registeredHeight": 1653270, + "lastPaidHeight": 2126772, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnCE4QKa6wjyD8ZAv2jh1UthQDBBxoK3Yc", + "votingAddress": "XahKvBnYk3CT4dDgfHoDWQUeEQvMAQE3rN", + "payoutAddress": "XgbMeUX95HKnopzEC1kpQ5CHnrTbvV7MoT", + "pubKeyOperator": "8b817dcf0c4233d3c71ceae42db90a1b630f1f97285b4ffd265387a088a7d38400cd705ca090bd9c0f4619a225e16c73" + } + }, + { + "type": "Regular", + "proTxHash": "200ccffb2ef1da266efda63b35bc80bc8a547f29af3b8108f81ab222a1ceac35", + "collateralHash": "685d052066f93426888d921ef3379c55c567a16599dfea55a61e36c841ab8883", + "collateralIndex": 0, + "collateralAddress": "XkMnxVPmXcgbb2TkMwpKbxXCHZK5MXUW8f", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.178.172.166:9999", + "registeredHeight": 1653385, + "lastPaidHeight": 2126850, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmELPGHm4ryginLSvb462Q3hEpSrZaWVkG", + "votingAddress": "XmELPGHm4ryginLSvb462Q3hEpSrZaWVkG", + "payoutAddress": "XwK7WWvFSqzbh6WxU28NdNEJs8KiPHDrgn", + "pubKeyOperator": "00200857ea7c8e1e897697d338bcdc9213edf7c338ac8260807f3586bd949657f155f6b9bbd9710eb2a8285cac1f4396" + } + }, + { + "type": "Regular", + "proTxHash": "c227d53dd911cf01296a201afe3a2ff4983765b50610c20fe3173af6c73f3bfa", + "collateralHash": "071da0722b4f42b5ee8a01524415133ad21ed4364c9057e95a9753103ea7b81e", + "collateralIndex": 0, + "collateralAddress": "XihfmzZ32cHAAmpETyeD3oLnrzhRoQdonr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.135.51.72:9999", + "registeredHeight": 1654829, + "lastPaidHeight": 2127963, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrTHKoXSJWS34QBYzkcA4PaYfLQNcAuvS9", + "votingAddress": "XrTHKoXSJWS34QBYzkcA4PaYfLQNcAuvS9", + "payoutAddress": "XmXxqsXDhFVkTmbsk9wvnMzAfgUMUUd7vC", + "pubKeyOperator": "1072b0e75f13644d58714e04a7485620ea7855eef14a49901a7e0c90c47793b671ead02dfa11b3b6c06c3ac0cc9b2a99" + } + }, + { + "type": "Regular", + "proTxHash": "10289f2582f1b5d3a5fdfaf839925a36d45746fe5cfddc1072d759580792de3b", + "collateralHash": "66e01782cd886fea977f5f28b92c9102787c9f0f4dbaac4259a8e64d596cffac", + "collateralIndex": 1, + "collateralAddress": "Xp7M3jCHn7WwPRvjDVo9SkBcG3W45v2qSz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.100.225:9999", + "registeredHeight": 1655212, + "lastPaidHeight": 2128592, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007683, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvrsbKXbAs8hXMXJ5RSY7cL5BCgWBuYHHC", + "votingAddress": "XvrsbKXbAs8hXMXJ5RSY7cL5BCgWBuYHHC", + "payoutAddress": "Xsv6sv6TKvLX2NbrLxFb5efkp913xGKBxK", + "pubKeyOperator": "8eccbe7fdae5137565fccfcc85d24c8a8fe2d29bf364b1b4058feed5e4cecfa2adb0b53beaaac5fb1e8b44221390ff4d" + } + }, + { + "type": "Regular", + "proTxHash": "33f65e4de4f0859cf0d865374590889dbddfbaf3811a10c4635e9e0f80878f7b", + "collateralHash": "85e62804144729f53b3b8c5e6c6ed69296b008d8ab0955f17feb943567269d37", + "collateralIndex": 1, + "collateralAddress": "XvshF1khvrguMpd41BHDxpCRgHxiEB7noj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.175.69:9999", + "registeredHeight": 1658694, + "lastPaidHeight": 2127941, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1879659, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgtBJbfwaVjz8Z7hgx2oL92QxrSyY9xUNa", + "votingAddress": "XmJjX9dsFjcQAYWy7LNwjmSS7Q2aMV1bLq", + "payoutAddress": "XtjCGsqQXUQpn4yet64qdtRYPBPzeGvzLZ", + "pubKeyOperator": "157ce7a10d31e0941c2f01edc703a689aff04349378ce5872e1a4f92158a22e6b2945f2d0cfc6ebee171f2e9cd7c1c79" + } + }, + { + "type": "Regular", + "proTxHash": "65c26cb5ae42fe93f00c5340347fc8b70c9192dd52164d7d80e2226a9eed7f65", + "collateralHash": "74364e447f7dbe5c074d17c03dea5cc0cf393c4158d5e6eb194c8cf981e10ba2", + "collateralIndex": 0, + "collateralAddress": "XbiYojYogpfFauuyH82zJaJ1ZBMvm2JnRv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.114.153.110:9999", + "registeredHeight": 1660768, + "lastPaidHeight": 2127334, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1761571, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpZ2Mz8f7HPNv7GxAa6iSuNV6semb6hmUF", + "votingAddress": "XpZ2Mz8f7HPNv7GxAa6iSuNV6semb6hmUF", + "payoutAddress": "Xt9R6M5gRrDCvi4f7mJKLyAtSgs6QnWfew", + "pubKeyOperator": "0919ead5cd20ce4b0871533e72505d424ac4cb6aab22a61806cd4561deb1c6a26ebd2a823a12f5aa5942906549a1ca12" + } + }, + { + "type": "Regular", + "proTxHash": "c2b0580eb48013b92ba9bfd0bfe98d76e5490cb62d918a89cf82aa45d3ca9c63", + "collateralHash": "51bcb22f4225cc7fa7e1700861467a629ca65d1c36cf112215dca9ba5b871aa9", + "collateralIndex": 0, + "collateralAddress": "XfZLym5pxnaxA7k9zZFBhbjy72Gdzgjoor", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.56.159.141:9999", + "registeredHeight": 1661519, + "lastPaidHeight": 2125995, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1981509, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjDJq1DnPkwGWG6BEkNBre7FG8V9VYZtit", + "votingAddress": "XjDJq1DnPkwGWG6BEkNBre7FG8V9VYZtit", + "payoutAddress": "Xt7fYAGMZqzLPSPU1VFSRJthXpumweqLFo", + "pubKeyOperator": "952a80d650fd773d6b986bc17c29409468e46c3b05f1433e7ed9f0039346f648481c4117d3d5d141e30c7b669d4bb64f" + } + }, + { + "type": "Regular", + "proTxHash": "d0a6da19f6a801763c691ee72dadb1db1a1ff76e33b037c19c41076190a85c6b", + "collateralHash": "fb273eb3845d34a46c0de90117fee14b869ac91e568841f92a93df799226caf0", + "collateralIndex": 0, + "collateralAddress": "XwKyAGrmRvQNFqwJ6Zy9X7X78Dz7zcTto6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "15.235.61.196:9999", + "registeredHeight": 1664098, + "lastPaidHeight": 2127248, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1986388, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvocQzwDXRyf2prChwiwgbiWPwcmSfxiQ4", + "votingAddress": "XvocQzwDXRyf2prChwiwgbiWPwcmSfxiQ4", + "payoutAddress": "XvLj7LCj6QFkDmcY3THDY8kKCxvToUdypx", + "pubKeyOperator": "93a86e5817b5c38f880be037390261fa232c04594dd0343a78ae510b6cd9cf44e3ac6c94d82cf8cca989a3bbc50f742a" + } + }, + { + "type": "Regular", + "proTxHash": "89cde952d0fef3387df4860df2bf06f731410d3598ff7dc312c12a52e9b5ff89", + "collateralHash": "b54fad3d15720cbd9e0ca2553e5eeb99c073ea976ebce9d6278bab769c64e083", + "collateralIndex": 0, + "collateralAddress": "XwHPQK6YFERBypY3MQaYEX3T8DUocKE43Z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "15.235.72.248:9999", + "registeredHeight": 1664604, + "lastPaidHeight": 2125791, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrfr3GB7gNeNyyVsKi2cUuB8HeuWJVhxG4", + "votingAddress": "Xrfr3GB7gNeNyyVsKi2cUuB8HeuWJVhxG4", + "payoutAddress": "XyLyCWinE48kDcZiyvF48fPAtAX1TV8aE4", + "pubKeyOperator": "9696d7b4f3375e640a697d66e0920ef31b13bdb98856d819165c64cc9db917cb4022c34943da08984393a161075bb330" + } + }, + { + "type": "Regular", + "proTxHash": "4ea27896413c952cdef0df94f8875d870414a039b827ddacc60d703084cbe98b", + "collateralHash": "bd0b7013f4d86a657508d855d195c005dbdb0a1c742f282a8da30e5f5b3e8f30", + "collateralIndex": 0, + "collateralAddress": "XtfaPPVvUwjqzJSN3XUzQeH18HCjZzzEga", + "operatorReward": 0, + "state": { + "version": 1, + "service": "15.235.72.253:9999", + "registeredHeight": 1665201, + "lastPaidHeight": 2126220, + "consecutivePayments": 0, + "PoSePenalty": 831, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuMadZT7BySDQbcgrpF72Jwfd1XcVvhu8C", + "votingAddress": "XuMadZT7BySDQbcgrpF72Jwfd1XcVvhu8C", + "payoutAddress": "XtS4cuqgr2EH1V4v51rNsUEzL3dwLuR1N3", + "pubKeyOperator": "0435753cd32a916ad051451ecee454139ca16cd7ef40a16d1a45b8816c53f9a7082e613b17aeafd3f2f02f31dd5d7118" + } + }, + { + "type": "Regular", + "proTxHash": "638ff7161ade356206bb9a6136faf24ec1e9d6939a993fd9730668c4d0cb1fa3", + "collateralHash": "e988ddab295d5126a7f62355521d376b9fe24c65c341ceef9c9ab6e8a9150084", + "collateralIndex": 0, + "collateralAddress": "Xi11G9xsTVA21QRWbN3ohx9KhywTUFJetX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.139.146:9999", + "registeredHeight": 1665379, + "lastPaidHeight": 2126937, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114606, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyrsJFdayaFmugJwDJCqaEV9Pc1zASEk5g", + "votingAddress": "XkqsnfFZh8Bj2DX4NsAaBvkMgKcVdqUyD6", + "payoutAddress": "Xi11G9xsTVA21QRWbN3ohx9KhywTUFJetX", + "pubKeyOperator": "945a0cfcf67e868b4ba34c18943549472b17cdd60a2dc93739fb475fdd0e80d7b93cd148508a54f1e4f3802a1bf7c505" + } + }, + { + "type": "Regular", + "proTxHash": "be4af6fab2cd48941b4ba13110cd4843090999ed9a80bf5228c34143042927db", + "collateralHash": "be4af6fab2cd48941b4ba13110cd4843090999ed9a80bf5228c34143042927db", + "collateralIndex": 1, + "collateralAddress": "7k41CDEGdYR2onsY5ihZeSXniZna3vkvdf", + "operatorReward": 46, + "state": { + "version": 1, + "service": "85.209.241.102:9999", + "registeredHeight": 1665386, + "lastPaidHeight": 2126356, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtBkQjUT9bdMMfEbjwh9vFRgTTzKnFQ8dZ", + "votingAddress": "XnEoK8pdvt73WBUxRJWZMfMmgwtThdD3X1", + "payoutAddress": "XdMcnBWRZF7ujeFCAf3L4wdWn7hFwwPeer", + "pubKeyOperator": "8b87fb684d432b19f583f0a3c1f52fa5ecaefe4690190219eb44e2150fa1f9fce4ed0951ddb2b82d25a9116b0f792026", + "operatorPayoutAddress": "XpFjBanoQz5J812UwFe5GDixWSnhYGMQe6" + } + }, + { + "type": "Regular", + "proTxHash": "516c384e7544561a4e3277dc8888669ef9468af21b62d9be4d667376403c8b66", + "collateralHash": "517fe7816dda28fa473ea5efbd83825bb9e7d38a3bf238caac7cd8e2ceef4665", + "collateralIndex": 1, + "collateralAddress": "XmrhuXFzRawb7RdtG8Mpa4dpo1CBRt8Lps", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.71:9999", + "registeredHeight": 1665390, + "lastPaidHeight": 2126364, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrujfNYosmyVAbVwbXWhzsNN8EPwT6mH4k", + "votingAddress": "XwG3QKubvBjhXcMARLig7Kf9FEqdsHdwJa", + "payoutAddress": "Xqz2VdpNo8S2v6U4iSsANfD7X8n7JnjLgs", + "pubKeyOperator": "84b64ad2bf739f6ecfd9088d5616ae71ae96f3cda5f3a46f75b11afcb6f68c8f265b7fb83d52453af0c9eeb366139901" + } + }, + { + "type": "Regular", + "proTxHash": "afb19b622c454a662ecdcb3381911c091b7ec9034ca7bcf1e391c30e9d9afe61", + "collateralHash": "90cfae5634d9ea72bbbb08200ba727c7653f89c359daf40f8aa0f603335b3893", + "collateralIndex": 1, + "collateralAddress": "XmukVLcgjFBWY5rKmqUkQZpWGfMvFtdUT9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "164.92.193.218:9999", + "registeredHeight": 1665617, + "lastPaidHeight": 2126509, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjR5W7ZgG2Z2fpH7HHciYdZwLwHLq68hkN", + "votingAddress": "XfB5mwf8yv1eVCBwBP6RxSPbajtAa7SkrD", + "payoutAddress": "XdHHWaVG3o2WTGgSzDjq7SfrdosUknC1V3", + "pubKeyOperator": "9479c49a885d0dec2e28b96e3e25756bc5584cf7d218020df720b1cd927a6cdfe5c8387dfcf1502b046ed4bdbd50b7be" + } + }, + { + "type": "Regular", + "proTxHash": "b1dc1066b02823932fc19eb645aecab3151a817f8d9d54a5e636dd5f5f1293c3", + "collateralHash": "3e5bac6d7fcfb39e94fe90778697fa9410e8e93c9bdfe20018b161b69f549aea", + "collateralIndex": 0, + "collateralAddress": "XgpMq94Em5x8Z3dW8WfXNvq9rwcoi15JaS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "43.159.40.105:9999", + "registeredHeight": 1667818, + "lastPaidHeight": 2119992, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126979, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhLAEG2ueHrrghXfjXNyUTvopKTAu1tDQ2", + "votingAddress": "XgVG2QEAQB3VCr6npUf4eqRumBk3VDZMTf", + "payoutAddress": "XgpMq94Em5x8Z3dW8WfXNvq9rwcoi15JaS", + "pubKeyOperator": "141e23fd67b1ef003d01fdefbe67af0146739e3485f465f0b973088ce6cab08ea5b008d6ab9f0ad76514df46f7edbde1" + } + }, + { + "type": "Regular", + "proTxHash": "178d95904c685bb590d251281d2c285e9a5400026652c97e29ba07cbb78222e2", + "collateralHash": "167cbd072e6fa3cb2ce58d0900381136bb4d0b484a3e8b41ee0329d4580d3ef4", + "collateralIndex": 1, + "collateralAddress": "Xx9KoPfRnRKzzg6Gid6LDHXewV5gS8LnGD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "208.87.102.91:9999", + "registeredHeight": 1668000, + "lastPaidHeight": 2126386, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1878090, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoqdCUiFyGRNWd4XM674nKjAmGSxq5A3Wm", + "votingAddress": "XtRUVd2DvRD29ZFVnn7Bs5ezbBZhEMFqPQ", + "payoutAddress": "XqRKgfYFPFP1ctnQ8BTCdpxF8J1K7TncLS", + "pubKeyOperator": "95684d387c1c2d453ffb7b80fa4c6660f378a1d9aa43933819cd89c0061465f8ff4fff93bdc40c09c64eb42f5cc9ef38" + } + }, + { + "type": "Regular", + "proTxHash": "1a79ad1acaca9bfaef9e7dcd0cbd087d6839b930e3319f6b56e1add59109d4cf", + "collateralHash": "056186ac60d7c81aaef7d075e8d0b8ec069a8b88638584a056585a2487876202", + "collateralIndex": 0, + "collateralAddress": "Xfde2w2j2PEAduoYNgfLPkEEdTavvn24Jn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.59.45.235:9999", + "registeredHeight": 1668443, + "lastPaidHeight": 2128708, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq4e3jyhtmtFGiBNu1qbsEFeP4fuir7VPE", + "votingAddress": "Xq4e3jyhtmtFGiBNu1qbsEFeP4fuir7VPE", + "payoutAddress": "XfWPJqEvT7SFW7seoyzk2cDYmUegGswKCE", + "pubKeyOperator": "81166a917f9a6838fb25b79e396ba9bad521dc3bb2d3e5630fd0e01431a250e8a15a9117ba17476e023a02ab7503a767" + } + }, + { + "type": "Regular", + "proTxHash": "2e8a6833dfde976186f01bba4e2e3df2e0897c374b6b188c81e37ed26f6bd703", + "collateralHash": "3f588f5260ad1c6c3171cfa79f42c21c740c9a18b995284259be920e99aea679", + "collateralIndex": 0, + "collateralAddress": "Xf9JmxNERGFv9Bugq8RQtLDz7FB6zm8r7S", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1668531, + "lastPaidHeight": 1722549, + "consecutivePayments": 0, + "PoSePenalty": 4447, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1722838, + "revocationReason": 1, + "ownerAddress": "Xf2QTdfxbcfsXcKB5k2EBJK5vgzH9a3LUA", + "votingAddress": "Xs4FEFqxz5bXY4ZGRarQF5Cg5WxkkxUNLU", + "payoutAddress": "Xf9JmxNERGFv9Bugq8RQtLDz7FB6zm8r7S", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "efffdcf217ab8668fb575b4b68b9e555d0e2dc956714579cbc998030507410ec", + "collateralHash": "fc2b09a5765b534226cf0835b5dd2ca64c183c45006ff741fd7e3e42b75fc539", + "collateralIndex": 1, + "collateralAddress": "XhtcBafZRybiDiApYMC2etFLDjp4vztNP9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.59.131:9999", + "registeredHeight": 1669097, + "lastPaidHeight": 2126005, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdQp1QV27Ehep1un1tDXTp552eg6zy2TAP", + "votingAddress": "XqVFsJnTkjrcEfxArfV7M2anUYwFqfkcP1", + "payoutAddress": "XeGsys8j2T1n6eKsvHuxzNkJsij7RfTcv9", + "pubKeyOperator": "0bf4f5ff2c81fd949745ac6b7d3a4727266d2f72933c1ad936ad555df6f0bdd9cd7f206836a667c648981de212ffce97" + } + }, + { + "type": "Regular", + "proTxHash": "db6fbedc75d6acd52b505d9f553716255c8e25b434f8df211a190bc17dd7e4ff", + "collateralHash": "5ba1651c0dccc111d04549df57cfc371d2e2979fa7c304b7ff77b65bd78b8ab2", + "collateralIndex": 0, + "collateralAddress": "XvwJPsP5ppGjR8WRujYDDcYZfZ2qoFaAM4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.38.48.7:9999", + "registeredHeight": 1669536, + "lastPaidHeight": 2127493, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1983218, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcmPq1Zrizji3qLGmvDG9sJrwuj4g9mcWr", + "votingAddress": "XcmPq1Zrizji3qLGmvDG9sJrwuj4g9mcWr", + "payoutAddress": "XmjC9hAGtKJELSzvJHTba6drP8t5yEyFp8", + "pubKeyOperator": "073bfaf7732da66b89c1794590873d10bf85640b018e1ab43017fc5777f2c891cedf29584aaffa0b68568b256d49a8f9" + } + }, + { + "type": "Regular", + "proTxHash": "aadd2eac24d6cc9a0b439d3c9d5483b0ed64ebda21786760bb375efacd6e2a67", + "collateralHash": "994fb463bf64fcb89508771eaeaf5516d6c19676b0f69ef4387c6f27b3449975", + "collateralIndex": 1, + "collateralAddress": "Xcw8k6VgVakoMmXJaagxRcC1KY8SbyU3vo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.89.115.54:9999", + "registeredHeight": 1669655, + "lastPaidHeight": 2126427, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XypPeShrFFBBCSC6rowr5LwJFiyu1KNM7Q", + "votingAddress": "XuxL4rx5HVUhWp4VznweYxC8wdb33N97Kz", + "payoutAddress": "XdRhRQw9pJ7agxULSukCqAYEtimhyzXGbF", + "pubKeyOperator": "88995ec4d65e3ce501d80d992a9bf9b6c6578811d14a2af776bdcee17fbed7a6495f9de40f29ab5b4f40c841bef45cf2" + } + }, + { + "type": "Regular", + "proTxHash": "e8986f023edfb81278fcc306cb57c433372ef3fac1ff195738117d4def1c6691", + "collateralHash": "0a203b698c0e0f424ae32fe626c2cd8dfe70295701b33eb50fd5e14faf6736b0", + "collateralIndex": 1, + "collateralAddress": "Xgsmkp5P1w9SehPPEgHMW1rzxWHof43EMz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.150.248:9999", + "registeredHeight": 1670156, + "lastPaidHeight": 2126744, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfcWPKX4g5aXHveXQBAt5mEr7M3tm7jtYE", + "votingAddress": "XgxHagki6PbybTy1GuX47YgVUecwhAFCxs", + "payoutAddress": "XkZZr1KQUAbkkVcWaKGbLGjCKrbdWQVDiu", + "pubKeyOperator": "912d7fb96fd23512406e178e5ddbba9beddaa5ca3de925232ecf11af80db1fc85f513d21146f1e09a296c718d85e0261" + } + }, + { + "type": "Regular", + "proTxHash": "45527aa15ad7a3b2634146b40959920805179439f63fbc847a7fb5854d8cf6dc", + "collateralHash": "dc58c4203c436eaaa7c671b50c784e0755460df26e971cb7180eceb5056c8d80", + "collateralIndex": 0, + "collateralAddress": "XdbT3y8tL6hpkA1d7foa23AT7cBvm7fwFN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.38.153.77:9999", + "registeredHeight": 1671784, + "lastPaidHeight": 2127964, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpr8XHmnN25g1b8p8XXknV7v61BCo5PL3X", + "votingAddress": "Xpr8XHmnN25g1b8p8XXknV7v61BCo5PL3X", + "payoutAddress": "XhYach2aMPA2ciAm64vewvrNcwvuS5ND6w", + "pubKeyOperator": "847a1d139dc7806f209c87d56c345ee6d2e4a15d49c1edb45e3e1539d1c76fb702363844c4e3fc8ac86a5d0c912e3686" + } + }, + { + "type": "Regular", + "proTxHash": "39865264d3b66ca9d26bceef7d3fcd25c5872ad0f453ec8ae9f7026f48720901", + "collateralHash": "4232f6973f96a4c128d0e0013bd47971baa405939f18ed140ea9f9d45bbf4bbd", + "collateralIndex": 0, + "collateralAddress": "XhmMz6HDRNDNyasRUGrtCjk8mGZnLbeyjn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "145.239.20.176:9999", + "registeredHeight": 1673391, + "lastPaidHeight": 2126658, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978739, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxsRFcqLrfkT6Zo1m8umXJmRdM4jicK5ot", + "votingAddress": "XxsRFcqLrfkT6Zo1m8umXJmRdM4jicK5ot", + "payoutAddress": "XtpY2ruHeFbLfALL5sUjTsk7AHHfPQoXZN", + "pubKeyOperator": "1089ece5f54e1ea1eac7c293b54f92fd4f74f11f75af3d9eee16f52fcf3c7c05636de52b3b4d1a07fdc78cd76e419f1c" + } + }, + { + "type": "Regular", + "proTxHash": "56d3d205fe14631dba42666696f3e125206697bedc32cfeb1ca18daed44b12cb", + "collateralHash": "f067cd64bba919d38be2421d94db478455fd9af98c8b51d5fb601b2fa53da273", + "collateralIndex": 0, + "collateralAddress": "Xuz8SYEDuT9kuSBMd5HKZ8m8eUuTYzeb4D", + "operatorReward": 0, + "state": { + "version": 1, + "service": "145.239.237.77:9999", + "registeredHeight": 1675559, + "lastPaidHeight": 2126668, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985866, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcf9dMdua3yLbJtnnRvF5XGrPJWvKUQqN9", + "votingAddress": "Xcf9dMdua3yLbJtnnRvF5XGrPJWvKUQqN9", + "payoutAddress": "XmTbXULJ7BFX7pVXvDo9GzX3g4Tt2kbcRC", + "pubKeyOperator": "9135ea25c7e9c4e8651c856ef39c51390ec7f2d206e0cef29801d1eca7b5a10912d85ba9589553f870207c74edb769bf" + } + }, + { + "type": "Regular", + "proTxHash": "d33f508a3177d10617e79a4ace5c8d039592c1c68fa3c16b1493932f99a84fd8", + "collateralHash": "a1ae82467f01fbcb89174da147238b58bf141fcf8a62bcd22b44046ba289ac2a", + "collateralIndex": 0, + "collateralAddress": "XfEqkwkRtPYw2NLtzW4Mabxw8WXMUUzEV9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.195.47.118:9999", + "registeredHeight": 1676620, + "lastPaidHeight": 2126986, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1982678, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeeTr7MxPuuyzZ6dwAswsnXvncAL4h62a7", + "votingAddress": "XeeTr7MxPuuyzZ6dwAswsnXvncAL4h62a7", + "payoutAddress": "XpVQkWwZfkovQV31Pz5UhHwT81HwD2h8cX", + "pubKeyOperator": "91b405667b3d64c0f7075acf20e10d1f9363e8656d322e5636f5eda3624143beb59e0b9cd97b7bdc84ac24bd86815c77" + } + }, + { + "type": "Regular", + "proTxHash": "9af45707fb53927b2d251fda7e65fab3d68a4b54fd38251069d05821844c02b6", + "collateralHash": "98424d92143ac21a228d5a874cfea3c1ac50db03ca48014b5daa73d138be338a", + "collateralIndex": 0, + "collateralAddress": "XbXsAWVfyMs23D1cL1tyQsKZaWid3rkUAu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.194.157:9999", + "registeredHeight": 1676732, + "lastPaidHeight": 1733976, + "consecutivePayments": 0, + "PoSePenalty": 4467, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1735509, + "revocationReason": 0, + "ownerAddress": "Xb38u1Tf45AsHaYNo5VejG6576488USiDE", + "votingAddress": "Xg59cNkwqPuTckeGe8AGuAZTtQ7ynUbF55", + "payoutAddress": "XtLa9Y49eYuiEZdWDfpfRwGPZ8NdvTWHff", + "pubKeyOperator": "06f972ae1ad09d8b0594217ebaadbd2df561866ce90d2da26f18f678b40fe0f26b5061fe73824416c8f05081c1a962f1" + } + }, + { + "type": "Regular", + "proTxHash": "15adbf1d69693bc5917f816000f8902d8777ae78551908a0d47b63a7fb3585f2", + "collateralHash": "bfeda03e9f97b2e294fdbadc76dd5a64b189b3a6a226cb3051d7c8f2cc97462d", + "collateralIndex": 1, + "collateralAddress": "XjkEXmwN5J3isVcVDiBSpDhFoQs4dVqyLz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.190.24.98:9999", + "registeredHeight": 1677056, + "lastPaidHeight": 2128593, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2007684, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XapAvQD7bAdZJmx4BgQeyFvzLEDMTcmSj5", + "votingAddress": "XapAvQD7bAdZJmx4BgQeyFvzLEDMTcmSj5", + "payoutAddress": "XkRGMaAAsBtwNTzqvR1ZkADPinbgHZSxfy", + "pubKeyOperator": "0c6d6d9055847419cb118dfcb410602539e4ca252b2bc956244f55116a8a012b62ac9d01bf98febe031907b86b5e1183" + } + }, + { + "type": "Regular", + "proTxHash": "d0cb1e7b8a516e302affabeb234a3864890e4e22b39fc872d6861252d6f2ecd6", + "collateralHash": "5378fb5ec1b7abe68723cead25155c4bab9092939dce6466eb4ced32a528a232", + "collateralIndex": 1, + "collateralAddress": "XfLQ9PNfVBNEKuG4kBhtz1tobaTNSGt8Es", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.181:9999", + "registeredHeight": 1677395, + "lastPaidHeight": 2125937, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsRN3xU3f1F6AqRDMB9FhgBkfMyFkAMEtg", + "votingAddress": "XjAQtwZhqkQokkrEHgpXnNby7RABvNXWBD", + "payoutAddress": "XfLQ9PNfVBNEKuG4kBhtz1tobaTNSGt8Es", + "pubKeyOperator": "00394c1240672607984ca3eb991d456691122f6d7a416d97c6ff7776e4154cf56a002a795e0e179ef6df19785e596da0" + } + }, + { + "type": "Regular", + "proTxHash": "731d99bcd08780005e805657bbe5f6b7b3244fd82d2e46dd4108f35969e20709", + "collateralHash": "603709ed63fde8a3ff8a9d2fe9bbc8e395c4159bb6e28eea45e93f701fa487ca", + "collateralIndex": 1, + "collateralAddress": "XsddXAUyB9mtWNkj7fAewjKrfcNLeQ8dP3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.122.40.186:9999", + "registeredHeight": 1677663, + "lastPaidHeight": 2126186, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrNMwzNLGK3nDZhfjV9zHDzFFVuSJKCFxk", + "votingAddress": "XokAEu6663FnXHHF8oRZWgyfi79WutLhjG", + "payoutAddress": "Xg196GWNaPKAud3QktuWABTd7n4wLEK8Dw", + "pubKeyOperator": "8bbe3fcfc4a1d2cef01b05ab66aae131d000d0577cccd68452061ef24e143cfedcc033c2fc47d8f9a2fd60b07f0f135d" + } + }, + { + "type": "Regular", + "proTxHash": "77afacf1e55e721aac2a2e41a87700539fe1b175b1f1aa95351570b52d642b88", + "collateralHash": "e4d128ce7b2ff730d17c7598e70264d0dbac4d485f9ab1a0d478f19c0500556e", + "collateralIndex": 0, + "collateralAddress": "XyPUqr9tc69i6PmPJnhTudZNS8evg38Hxi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.36.238.247:9999", + "registeredHeight": 1677978, + "lastPaidHeight": 2126381, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbtGgRPdNBjHX2HMjdVtf2GYf4G5mU6zYL", + "votingAddress": "XbtGgRPdNBjHX2HMjdVtf2GYf4G5mU6zYL", + "payoutAddress": "Xxx4whopQAGyVaKCiCRPxdfktM4vb26bLb", + "pubKeyOperator": "054aefbf6622ed71ae2c86fa04dbaf2ba786c2b697a51cdd2aac8c14fd05e72fb47cd28c5f966d37a5254186b5c8dd32" + } + }, + { + "type": "Regular", + "proTxHash": "d88f4e3bd578aa8fd527078bb8a107f985d11de03079927b75ffabf093c2cbea", + "collateralHash": "0b9d18877566be35e6fcffaadf0adf09adbf9771505a95a9d750718e98557f39", + "collateralIndex": 0, + "collateralAddress": "XnbipfXVgjw3cf2aCbGJ1LveHyD5BRA1Nx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.110.47:9999", + "registeredHeight": 1678464, + "lastPaidHeight": 1731732, + "consecutivePayments": 0, + "PoSePenalty": 4467, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1735403, + "revocationReason": 0, + "ownerAddress": "XokMhinvKCnPxd5V6ckzufyzUx1iwFQ8iV", + "votingAddress": "XvjbANnrLusshxJ2JKGVLAUKWzjNCjWR74", + "payoutAddress": "XtLa9Y49eYuiEZdWDfpfRwGPZ8NdvTWHff", + "pubKeyOperator": "026d828e39ccb5d0ab5c374fe8753bdb11d183d63d56e6b5a9ab62d505e3fee87065b6c744df59b0cc7e9fcd2b2fe71d" + } + }, + { + "type": "Regular", + "proTxHash": "4f1af60cababec4e3d79557fc9371314eec11e41a171ee2d653912d1a5057be6", + "collateralHash": "508ba81d3200ac67b3f810463a50e5ccc07c1520199d245a6d5019a52e245aef", + "collateralIndex": 1, + "collateralAddress": "XgXwnNKxskPaoBthZNiv4rCLPeXriMWS7h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.101:9999", + "registeredHeight": 1679218, + "lastPaidHeight": 2127234, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsggYhdnSimJ1Cq3BZYLh3g77eS1TTYuec", + "votingAddress": "XrtZSvzJ34CpQNC2uo7hdi25GcshEPpDSU", + "payoutAddress": "Xv71QJocY7RMgQeyFax1bkwTkPYKodDRja", + "pubKeyOperator": "8c05c7233fc90fdd6897b3c1f166d1009b2b586057f8f84db2a47d7abc8cae9ff3212353a1a44ae3555903a275d5e96d" + } + }, + { + "type": "Regular", + "proTxHash": "53ac7a956450e59f169fa40249a101f2fabed1e0a8c35f439a1acc2456b0701c", + "collateralHash": "a4d7f3160b0884f4ba1c37cf49ce4ebff9fcd55ad7b7c74de6d46a7ab73bb9f7", + "collateralIndex": 0, + "collateralAddress": "Xy6546JoAjZZAgNhgpRjNkBitoh86ZEwRr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "162.19.134.119:9999", + "registeredHeight": 1679462, + "lastPaidHeight": 2127403, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeQfVXYAH2viXCUyC4v9dE9Mjuqb1gCLgg", + "votingAddress": "XeQfVXYAH2viXCUyC4v9dE9Mjuqb1gCLgg", + "payoutAddress": "Xfo6ZHaZoYRCrtXggvsLusQTWQzK1bcbF6", + "pubKeyOperator": "063a250826accf1807292d8285b29352b2bb72797d2e416bfa31f5195d0b2caac6e7c55406b8497ba2ed4f3aea7b288c" + } + }, + { + "type": "Regular", + "proTxHash": "b24fa9e8cfa845b2b7cc3e0fc8610b01abfd79ddad34a129b91b8d318d4da6f8", + "collateralHash": "f4a01325f96b52d04f07716745763171d3a650c5c23044412c028c9942531af6", + "collateralIndex": 0, + "collateralAddress": "XujcGtWanUBnVtumqgTX1L4czrTDPRB47t", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.100.84:9999", + "registeredHeight": 1679963, + "lastPaidHeight": 2127903, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrskXXVwf9VHtxsxN3G7ENE51Roc6uSwtH", + "votingAddress": "XyjZw1cnqou2eHBq4HZdB1NTTQQYncSxE3", + "payoutAddress": "XamykfgxJSWqPnxhdjUQxo4p1mgsfPsX1B", + "pubKeyOperator": "040ba3cb165c2444aad28904f3f1416798fa814c0c2a06764ebd5e0d0baa123e7725887be2d8af99fded5791470c77b6" + } + }, + { + "type": "Regular", + "proTxHash": "acc250e9c6aa14583b0ff5e330e763d5a36edde0f4f99f0b86ac63f8952fd3d0", + "collateralHash": "f78646a43c7cee5f24f096d2a406ae5d698c2d49f3032a1e40edc529ab7dd420", + "collateralIndex": 0, + "collateralAddress": "Xy4e4cpwnR5ivzvUNRcWRwwsYP8BzFNc2B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "141.95.91.228:9999", + "registeredHeight": 1680500, + "lastPaidHeight": 2126660, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978739, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqFTHVtMcvrcuuDFJ1XXj59gUj98pEr4kF", + "votingAddress": "XqFTHVtMcvrcuuDFJ1XXj59gUj98pEr4kF", + "payoutAddress": "XrLhsRYrafJTvKTiTR6eAafAhKMfykUwHo", + "pubKeyOperator": "95ebfa6401023810ad9db0689cf0681538229f9a16aefabd5a8d68eed34b1747d154afcec60cba853ab950a18f87fb5c" + } + }, + { + "type": "Regular", + "proTxHash": "c1bad00c50e8d7b0543e83f0600e312fe581cec36df2f1b03689c22b1c43d27b", + "collateralHash": "ed4eeba50b81e3bba1812daf461bca6e234cce50a6c758e493ca8d7f7918f391", + "collateralIndex": 0, + "collateralAddress": "XiyoQLznJatQueVTjJDBjq7K6bwYwSFppc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.89.94.254:9999", + "registeredHeight": 1680659, + "lastPaidHeight": 2128776, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1980950, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkirVzXBfCdAyYuUecRAhg7TSJyRjZTTrN", + "votingAddress": "XkirVzXBfCdAyYuUecRAhg7TSJyRjZTTrN", + "payoutAddress": "XkBiSUpjqxmjn5hDeQorTducQSdGqxrXm9", + "pubKeyOperator": "1048309853f42927428042dbe14dd973d2e78e18afa830d64e60258dafd460b318ce0b610e6b731b0077cb8440aac5f8" + } + }, + { + "type": "Regular", + "proTxHash": "6ad8f93cdf437ffa66d8f5425a5f37e11f6a2b7a09fe29ab9e5eff4e929e5e31", + "collateralHash": "a25d2cca9e811f360205089493020c6e82c3512334a9a26aea14038ca74fdef2", + "collateralIndex": 1, + "collateralAddress": "XoXSUqFBBG5Kwog1fh2SdGyigxuqwy8sMy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "43.128.109.250:9999", + "registeredHeight": 1680946, + "lastPaidHeight": 2117760, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127634, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeMjTbQCNjpKMEqF3U3GbJLouvn3EvzLZX", + "votingAddress": "XywU1LfdLULLKPRqv979xx3VjnhnwJu7Fn", + "payoutAddress": "XoXSUqFBBG5Kwog1fh2SdGyigxuqwy8sMy", + "pubKeyOperator": "91d1be870ed2b60fe5ef61752a1c54299a2d5f3485d81d80b05913c774bf83c9c4bb4980da5e88de4d091bc52e4d433c" + } + }, + { + "type": "Regular", + "proTxHash": "82acb850f60678b0aba281c57b0189caff10d9c52c8a13a3b216fd6a794b7465", + "collateralHash": "468be7f81ba57a424899591db07214b24003093a5d6374ec36863d508cec0fc9", + "collateralIndex": 1, + "collateralAddress": "XbjQA4sJxiSb4rRaLf5MAYMoZAYd4JKJrC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.15.233:9999", + "registeredHeight": 1681565, + "lastPaidHeight": 2125912, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyoNBmSbJRsgJcsefB9tFi5sUbcqurMj4b", + "votingAddress": "XgLuYs641XwQ8uzNb4nbnLp4nPxw8iHMx1", + "payoutAddress": "XynqTPPfgvfoqt1ckccc2EuzvrNQHyHR4A", + "pubKeyOperator": "141bb94ce6a696e88d709006a651476299eec65948b5237f03dbccf26f4fcd94d73fb98cc950f5a0695afc1ba81f4d7e" + } + }, + { + "type": "Regular", + "proTxHash": "191bfab0a0dbaabd77855a7638aad22574a825936c8793deab47113869874284", + "collateralHash": "8fcd5443db50c1a916967494ecfc90f78b19ec078ec5ef1b92542a8ad7e07b47", + "collateralIndex": 0, + "collateralAddress": "XkzLw3umqANAPoRM5CZcS457UcS5VWP5Y6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.195:9999", + "registeredHeight": 1683452, + "lastPaidHeight": 2126075, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1760201, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwdGho6XjjZ3fsKccEA5ErrfAVAJu33hCQ", + "votingAddress": "XyLGEudi3bUHPmaM9g7MfR34Bfqv5KLXKL", + "payoutAddress": "XkzLw3umqANAPoRM5CZcS457UcS5VWP5Y6", + "pubKeyOperator": "04030d614315516dcfcf2a0be426603c4e08bf33574ae3afbc3f9a0a90f2cb4bc6735b0430a5d084175c261efb0f4544" + } + }, + { + "type": "Regular", + "proTxHash": "5451bc97eca61f9bd705109d54b7d0247de1a916849b6244c8a42e8708778c62", + "collateralHash": "17253246acf3e7490f92e2a069a2054564f48cbe8686abe6cd0cbb63d7ff696b", + "collateralIndex": 0, + "collateralAddress": "Xoy9rPTNPnbZH4YYMMQv7mr55be2Rdk6Eh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.227.38.243:9999", + "registeredHeight": 1684178, + "lastPaidHeight": 2125851, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1836045, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe9qs8nA8pytVnWnUWB1xGJ5drfHA47jZQ", + "votingAddress": "XfoDfBHQ1gqM5hwYCzwbGmxtz1dkqsdqDw", + "payoutAddress": "XpoVxvcJWMKCgFqntbhgjX1g8bxWjnHyQn", + "pubKeyOperator": "0d85498c66f70f541f1b248146efed7691234acec6b942cf5e83a1c4c2479031b57a520f309e3327777cc1630b2c903d" + } + }, + { + "type": "Regular", + "proTxHash": "a9357e703917e431ccc0ab9d6de8f18bc7b29d6ba738419e1da30d0304b89045", + "collateralHash": "78ca74b266ca25f02a88fd8d6d3cea04ad7702f245a298d9ae22816b2d3afac9", + "collateralIndex": 1, + "collateralAddress": "Xty7u7dXKk6Nxr4RUT2EKvFawYpEaE5MKG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.72.63:9999", + "registeredHeight": 1684285, + "lastPaidHeight": 2127935, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhJASw779h7zu6tVvTL5XTE9GvX7EX2Yxw", + "votingAddress": "XfH83Agz7XwfmPPNrmkDYJZnS3wAuUga2N", + "payoutAddress": "XqFUJEowM5dxaqbPV4AjhK7fHfR68fR2ue", + "pubKeyOperator": "074f109089daa0b2d90ce44ea34142a346bf8021511b1a2ade5375a129033fe0a63afa04b8add17e63447c6207bbe7e0" + } + }, + { + "type": "Regular", + "proTxHash": "680b9bc91bce520f53d159b1620bd9bb2ffeadf217f22a93ce2699ce35cf716a", + "collateralHash": "496efa6895886821d8537e7adf0983b159fcf05e822664f42a124afbbfadf060", + "collateralIndex": 0, + "collateralAddress": "XeSiPbeJcF4NojVN2hbdanv8kao2R2zFbT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.118:9999", + "registeredHeight": 1684300, + "lastPaidHeight": 2128435, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1759101, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwMnZrdFnK3gQK5fRFBdBoR8Xi7dqygQZN", + "votingAddress": "Xvnva2AbUkLuG21tu5JxddSwwCWSCb22fb", + "payoutAddress": "XeSiPbeJcF4NojVN2hbdanv8kao2R2zFbT", + "pubKeyOperator": "994c10c2b3fe48e78426d11fd7e03162e7d69a55a2e09c28350b0f2c54c4719eca03cb0f761f96aea67ef7e20308d9ef" + } + }, + { + "type": "Regular", + "proTxHash": "195b6c16d5789e68be357c43ef2a69b2c9c3a98ae5c46e02b9e4a31ac1a1da23", + "collateralHash": "e5be81e50701e5819942313fdeb6167a7b859a024398cfde47cef0163723162e", + "collateralIndex": 1, + "collateralAddress": "Xw7xEz2Y8VkkriZJErDzh1CYkUM56gj5zr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.69:9999", + "registeredHeight": 1684648, + "lastPaidHeight": 2128067, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqT6BQfJJJGXEefGHDj1JjejqTQVybn7Gd", + "votingAddress": "XeiXaG41zDHJ1AxzgCKdvRwcKQBDrwBLE4", + "payoutAddress": "XrErgbEfJfU61i9cCsPPpUKfSfp3Wmkri1", + "pubKeyOperator": "11bed9c2c16b0ea08dd385976e6522ebca5e946cfa7824a7c8bad20a3f63a4f1eb40ae7d1b85f8b3585e1211fedc0d6b" + } + }, + { + "type": "Regular", + "proTxHash": "a37020753d7f2bb7028d82fc366b7774702bba2f65a153f95e4ebc3e110ae3f0", + "collateralHash": "3beb26e1554d352ff809ceb20f7bfd6e6b86f03a134f81ec91701597ed016b4c", + "collateralIndex": 1, + "collateralAddress": "Xdu2PKdTst5efpLxuoXn5Sot5Z6B87XYP6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.52:9999", + "registeredHeight": 1685019, + "lastPaidHeight": 2128521, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvrtUAEm5wahQwQCtZcrDD4tk6SBacHjPK", + "votingAddress": "XvrtUAEm5wahQwQCtZcrDD4tk6SBacHjPK", + "payoutAddress": "Xdu2PKdTst5efpLxuoXn5Sot5Z6B87XYP6", + "pubKeyOperator": "1652ef22c52f2bda1cce5275b72a75ddbdbfb05ddd4308bc79ac5862e8e8f495236ab2c59ed88b08f746702730a68807" + } + }, + { + "type": "Regular", + "proTxHash": "54022c3696d84dcee3685d5858b001330e6ad7e4c8babe0c645059e521d06d51", + "collateralHash": "941fc3a0ed9732a7b1c2e8e282b53f2e58d5c65032a75f88a52efee3d61211ea", + "collateralIndex": 1, + "collateralAddress": "XwdxteAGwahpS1ic3hzq4gJsv3epzbBp1X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.148:9999", + "registeredHeight": 1685051, + "lastPaidHeight": 2125817, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2102843, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuEHaKHgWLW6HSNhdztVAFxo5bJXWWJfLu", + "votingAddress": "XuEHaKHgWLW6HSNhdztVAFxo5bJXWWJfLu", + "payoutAddress": "XwdxteAGwahpS1ic3hzq4gJsv3epzbBp1X", + "pubKeyOperator": "08873848ec595afc2f468792fdc757a299efd8158697a39740486cde19f6a893c4ec7096f43927349ffb22a5e75855b7" + } + }, + { + "type": "Regular", + "proTxHash": "4c681bcdbf40fe443ee7b9cd2bb420cc94b40347eb578518667512d928b1e81d", + "collateralHash": "92c39d9a82703e7d8142746478a9c5f57052cc497094ca20a86ea2de5f5dda0a", + "collateralIndex": 1, + "collateralAddress": "XmaPu4pe52TZGyHJEfrRHb829Nm8jM2o9C", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.158.111:9999", + "registeredHeight": 1685479, + "lastPaidHeight": 2125737, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsiq2CZX5YRCCWDuezmnawJERK9pkjwapL", + "votingAddress": "Xc3VCUpKevsJd5afMqNMDJtN6vfEcj7UEK", + "payoutAddress": "XdE4XpGBDYJpLmfQRdP58V7RdFsbBALp1U", + "pubKeyOperator": "96b7e4f9ca9af7d1b881447ab40b81d1204226db7942f9ecd8631429b232f2c362817a55e691968a5ad13f5c827891b2" + } + }, + { + "type": "Regular", + "proTxHash": "51ccbcd029613c166ee37f9a5c5485a78524e3c4160f9c4957551f905e1d1a32", + "collateralHash": "ee7c864821eae88bff881a42f825acb6847c05cfbab758c05a8be7399a4beb3f", + "collateralIndex": 1, + "collateralAddress": "Xm3obRjydMPaU4DXbYj3GwCDPXV1aezHqB", + "operatorReward": 65, + "state": { + "version": 1, + "service": "49.13.209.157:9999", + "registeredHeight": 1685982, + "lastPaidHeight": 2127379, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118178, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrgjB5yxzLZnVYK1iziz4TKNs8gFpY2XFW", + "votingAddress": "XchsKkAhLCkGXc4tKghXitBJGhzj86mFSd", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "1112026674ac425ad312b368903b1bc60101928719b4e51bd821746c5dc1094e6e0cb057b4a5e17578fd278d94780248", + "operatorPayoutAddress": "Xy1amte6e6YqXnLjaRjudxojo4h9kBcwz1" + } + }, + { + "type": "Regular", + "proTxHash": "68b87ed8e158d358873307470e5f5ebd77df1998fd18e942e1555a500a093da0", + "collateralHash": "279580faf0956c6e973b1407d7d0eea3addced7af8f2923f55954a5e0827fc79", + "collateralIndex": 1, + "collateralAddress": "XszEeSRANvUEm6kqJzmhpXM1Jiy8gxRpxE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.254.204:9999", + "registeredHeight": 1686513, + "lastPaidHeight": 2126464, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoHwQWEBPumhY3w845gXavMHC8mH5VUVBp", + "votingAddress": "XrnYymE1ajMvfh5eZbVrwG4khtj99yC91L", + "payoutAddress": "XmEShGnUjX15ctpde2nizQ8MicT9rAL3wq", + "pubKeyOperator": "835b5a112c0132431aab447edaed938c6224e6895d0b57ff847c86d602ef0752c62b1179e586670684eacf6ec420d858" + } + }, + { + "type": "Regular", + "proTxHash": "5acdf4ec4fa90a6d3cc301ac584bb29ea1c8ec8bf9dd6f1ee030cd76c187a6c3", + "collateralHash": "38aa049dae750adb7ef58ca3b9a1eedd0203468cb5a33c174adae2e31b8e0fc3", + "collateralIndex": 1, + "collateralAddress": "XuQBGQRiY3iujpgLMxUtkgaFNi3wkepVnb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.153.207.47:9999", + "registeredHeight": 1686704, + "lastPaidHeight": 2128837, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2102663, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuKrcRs6GKfCMevFk17soSoktivbuwHHg7", + "votingAddress": "XuKrcRs6GKfCMevFk17soSoktivbuwHHg7", + "payoutAddress": "XukCxQKsMr8MKWmW6HthvRC8BRuA8qSJ5t", + "pubKeyOperator": "0f9336c7a3e6318c2476a86903025e399cf0420a6e9aa9d1aa03b311cc343b01d51dcaa940205db81229f8fd272d4d73" + } + }, + { + "type": "Regular", + "proTxHash": "7f6873ffaa7d28aefde1223b4ce01d804735da54d4de6a7f00482abcbe94e358", + "collateralHash": "b53bde80519c044dc8c0a5835b49b7dc420f0f5dd44eb72584e54491c152eaab", + "collateralIndex": 1, + "collateralAddress": "XtgyYMP1YaqpFzEwULCyX5rfLYEYFK3ARm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "116.203.244.222:9999", + "registeredHeight": 1686757, + "lastPaidHeight": 2126463, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2096812, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt2sHybVtK2TW9jErxSD1QhGuceLrTstyN", + "votingAddress": "Xxi8zwJNcvdGmiDaMjne1frVY8bwDZ9tY3", + "payoutAddress": "Xm1zvo6Z7VNrxK8SVQbJFX5rSJM7Y97yzv", + "pubKeyOperator": "81b447e421c7d3c785432a253849a15baec78246a53bc89c1bf0526a89d8b4cb0470f5954b979ecd5c52c0366127371e" + } + }, + { + "type": "Regular", + "proTxHash": "e8abdea010d2ea7a042e37e487dc6048ad1d9907ecc64203253904bb30fa6ecb", + "collateralHash": "1e5be6c8ea694d0c623efa14c1cc773da63bc84cf3d6373395c2e69092a10be9", + "collateralIndex": 1, + "collateralAddress": "XkUnyNf4yciQKEfVZdC3Zjm8DRXmU4FjSr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.56.61:9999", + "registeredHeight": 1687011, + "lastPaidHeight": 2126752, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg5wYVWBRFLBMjD2o4KEimqdLub9PZcXLD", + "votingAddress": "Xfux1niXHcopYyqn4rPXtsdsfdTioGCmon", + "payoutAddress": "Xx2ffFD6BTRL1zr75MpENdLLv3UieRoWn7", + "pubKeyOperator": "8f02fff5a80e2175d528c6cc97ee90e1d41f23f3e54398031d4db68ee6819413bc525522360f4095d862dc6850b246e2" + } + }, + { + "type": "Regular", + "proTxHash": "3a91192ba54e4e43f93eba00e864791f89786747c999a872e2b07b672a2ff188", + "collateralHash": "37dec67ff0d3f16440e22b58ce9719031ca49887eee1f03711e0bf99fa82b6ff", + "collateralIndex": 1, + "collateralAddress": "Xyi5wKxqTB9t31TeZx4qiR2PQXFrohmwS8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.198.41.70:9999", + "registeredHeight": 1687020, + "lastPaidHeight": 2126758, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqBWcuQLEV1AjjKQfPip6DBmJduiH4eatW", + "votingAddress": "XuScj7pwz6nR3RGE1Ba7xM5wfjwYxS3Co9", + "payoutAddress": "XbzXRJBFB3aiN2b1GRkC4RHjTKhYrdYFqs", + "pubKeyOperator": "10085cd6070ba1324e6864a32d2ab940278a3731411f9f11b0d02da64292f734bf6b18411353f82a8e8542fb2a9d872d" + } + }, + { + "type": "Regular", + "proTxHash": "a5c050a6b74be5f1dd41e76f740b7bc8043c556b3935fbc14eaded662a187f50", + "collateralHash": "08d406ea88db1977c1f73b96530151786fb45ba1ebbdde8c30e116322422094d", + "collateralIndex": 1, + "collateralAddress": "XmeEZxQmpsGNTk9VAhe2tRy7hAioPKrdwv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.73:9999", + "registeredHeight": 1687845, + "lastPaidHeight": 2127397, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgCZHZkt4GHBasuM6WH7TPnTgcx5V5ytRz", + "votingAddress": "Xbhrpn4AxxrkCVBSr9nVx7Wntc5xrgi1eE", + "payoutAddress": "XnhUFHjBiKbotyvoFpncPvz2Rpf3hnLJku", + "pubKeyOperator": "8af95a884355ebd1b0d603de448db546e5d2411f2f725742fcaecf0e155c7efb31dbb44452cb2e19e3f76793baf0b70e" + } + }, + { + "type": "Regular", + "proTxHash": "dbc9c5c53e80c200c51b14efa75bbf9200b25cbbda2e24e4afade26117aa8aca", + "collateralHash": "a6b3e5ec697ab4baa34f4fa42bc3a9419d32b8153734e1438433dd0aad644a1f", + "collateralIndex": 1, + "collateralAddress": "XutHSRwVDjxGMnTMAPPpCMiHta3DXhyCxW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.217.126.229:9999", + "registeredHeight": 1688200, + "lastPaidHeight": 2126619, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2059687, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwWbcbn9wkufDtYjFX4YXyShYR3Ctk2HhF", + "votingAddress": "XjJVyN1RYGMMeoZJQhmCzwHgvSbBq2PpPJ", + "payoutAddress": "Xctas1KiBHxR56dePjDqhGVYqMhZGsqBjg", + "pubKeyOperator": "85f651895ad58017a0a555c48fafa9c08abfa2bd4ccf45af8e7e9c180194e2d22677ebc1af602fa6b9f148a3398a6bd4" + } + }, + { + "type": "Regular", + "proTxHash": "25da1991bb9d488698dd15a005536df573f2597a78ed0b5f6f443070f73f3e72", + "collateralHash": "705c608fedb111eb0fc44f4d8b8eea7d69db4db7bdd52cbe510cb4cff3c4a023", + "collateralIndex": 1, + "collateralAddress": "Xtc9Mw5FUZtKrcUzxdW23rZGhQXT6atrDz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.208.51.189:9999", + "registeredHeight": 1688208, + "lastPaidHeight": 2127762, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb2QfjP7ckwbS7ryW1Pk1cF58EAB2EUzKt", + "votingAddress": "Xjyx55a3aFkSBWTubCzpasgimEXCZ4nuJX", + "payoutAddress": "XwZBzHMb2MugML7i3ZYJra78MjyyU8M5A1", + "pubKeyOperator": "190cbbb53cbfd66c04f337dcaf1bc09aa122626fcdaa07253eee7273194e681132497917072f0a81682e0e19fad946f2" + } + }, + { + "type": "Regular", + "proTxHash": "1ad069965f261a004999989b21713f1b154a328caf5142ef8292a46119ba838a", + "collateralHash": "163b2b82cb63c3a5e178e97a69c461b62102ddac584e53d8981ac60e39a026c3", + "collateralIndex": 0, + "collateralAddress": "XyGEC4gNqJRM9DeoxpVhG2UTdwrURW2mh8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "35.170.112.109:9999", + "registeredHeight": 1689060, + "lastPaidHeight": 1984145, + "consecutivePayments": 0, + "PoSePenalty": 3975, + "PoSeRevivedHeight": 1986173, + "PoSeBanHeight": 1988394, + "revocationReason": 0, + "ownerAddress": "XpH3bBmUvR8h68zDPXycMaXUFRYYG9n3AW", + "votingAddress": "XtqiiWDXqGio21QjTUK8fFv9vUDdACpaA4", + "payoutAddress": "XgBfi2nUcW7iByUyKwtJ9UGzg2NNneEQBj", + "pubKeyOperator": "8c3b085660be8ddb3bb1b6589399291d13c28a87079eef10f0969b17f5b0c2ac3052768514473ed9b708beaa99aac79b" + } + }, + { + "type": "Regular", + "proTxHash": "4c84f01e1a07d0b91bfdfebcce89e1a06b48673723615134c034dd2d9bf00853", + "collateralHash": "bdd0d8e4edced247e2a6b90a089f8aa847a5d216dd42802b4a2aacca83a3717b", + "collateralIndex": 0, + "collateralAddress": "XvVX47vYbeBYypg8gJm8FLF3f52TjZggQM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.244.131.179:9999", + "registeredHeight": 1690833, + "lastPaidHeight": 2126198, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1847831, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtoYpGAPfYoYkBX5G88USu23VWbptW4BJV", + "votingAddress": "Xt2KJef3of2onyY8FTTe1cqq2HFt2GtQ21", + "payoutAddress": "XvDMjtRBEmMzYnTYFbCS46WSQpt2RdCExd", + "pubKeyOperator": "82b54467c7da75ad857d04a9ee6a7d1a9a1850dcc5138c53ce86fad4a3d4826d6f3be73f5033b21bd1f0929ec038bdb2" + } + }, + { + "type": "Regular", + "proTxHash": "ead7e991f7117afd265c6ea18229dca5877412181ad73ad8a0a027fbae5a605c", + "collateralHash": "cb70bac49f4fc6aed10faf709643cfd8e00481f58f4bc171c87181284695ac50", + "collateralIndex": 1, + "collateralAddress": "XgiossjHj3AGVaNKADkssjGPKatbkGfMUX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.101.37.234:9999", + "registeredHeight": 1690839, + "lastPaidHeight": 2126661, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeZPkCB5EpApWaqQCMJvhbuKxyRJym7PFe", + "votingAddress": "XjrpEiwe4LFkdP5Ukky1bXaMPrhgcGNMFm", + "payoutAddress": "XgwLv3Kqj6MaEyUBTDZwppRzNv7Xj1RqYc", + "pubKeyOperator": "991edfec8cc1b6c732eb67959d17c493497be581402ef2d8168fa3dab96e711a37af1cd15125c3fdf951ad495d58b5a7" + } + }, + { + "type": "Regular", + "proTxHash": "72b0847688c3a6b1da36927f8cc1d07c43d3f5a9e4c5e9648745b2629127608a", + "collateralHash": "acdb8ea3a2bfe1455a6a1fa87d9ae21767962ca446bf1e9782dad44d5aec6bd3", + "collateralIndex": 1, + "collateralAddress": "Xy5BBeVRqwcwoP5t4nr6HHWfg2dGby9jeX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.199.30:9999", + "registeredHeight": 1691208, + "lastPaidHeight": 2128307, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2125131, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xirki8FKsVxTZ8fUv8w49aExC4W13q2qh5", + "votingAddress": "Xirki8FKsVxTZ8fUv8w49aExC4W13q2qh5", + "payoutAddress": "XuACAfC1czdervZAzL76UuYAVE23taQzzz", + "pubKeyOperator": "19703377a21f82ab91afb0d0ef77ebffca765704eb31e3df0b23f9bbc3f75b1edd2e88deb9f40d394cfa6472a3180830" + } + }, + { + "type": "Regular", + "proTxHash": "fc9630c1a23f70c94b19ffbcb1889eca8870d7c1f65a232f7ac28a9557b651a1", + "collateralHash": "bda3899f55ed4a476e91d61defa03cf7bafd51b6727d6ffd245c06230726169f", + "collateralIndex": 1, + "collateralAddress": "Xipt4X3fedk4YDqJ6sjhkbzSQeGhhDaSxh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.203:9999", + "registeredHeight": 1693152, + "lastPaidHeight": 2125934, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820968, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjLEd5jcZ1GmqYVYqvPKj8sFRhez7yBeAY", + "votingAddress": "XjLEd5jcZ1GmqYVYqvPKj8sFRhez7yBeAY", + "payoutAddress": "XnVqjKBgRDPgFUF2APeTodwmHRJaqokVWL", + "pubKeyOperator": "19cf33257deb1470a58f294123788239b97d46456db54f61a437a2236646ff75192f8b84cd0a69c17d9e203dd008eaa3" + } + }, + { + "type": "Regular", + "proTxHash": "28e7a809285a690c2f2cba0f1369000cb984774ab78c0c683fe5babb1beb2fb7", + "collateralHash": "3009fd00626ddbe74bc52493d964c85de99c34f0cd0a96b9d925cd72b75cd8d4", + "collateralIndex": 1, + "collateralAddress": "XprGBx1pvjaENyiJY1EvqiwVM4JPrSeXNZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.202:9999", + "registeredHeight": 1693152, + "lastPaidHeight": 2125948, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820979, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwfwvAEGRowufKN4HKcw5rwXdQ79d2xG1A", + "votingAddress": "XwfwvAEGRowufKN4HKcw5rwXdQ79d2xG1A", + "payoutAddress": "XsPrfoqzfXARPjQbGA4ebvY1CW7kZu4ECs", + "pubKeyOperator": "188650a881fc99dec27ef70308774dd7abf6a580f42c1c05732b2cc145bf33918fa95f72e8dab7b88c36bf85ea322fa2" + } + }, + { + "type": "Regular", + "proTxHash": "29be36ec41b8e39391d76390c69273c51322ce51b6ea907af11c8fa443813b49", + "collateralHash": "01fff59c94cbf03a3b0d8169c1c850bf1f258bbeb36ef1b224db6b80595b0481", + "collateralIndex": 1, + "collateralAddress": "XuxHcdg56fDMMW8unaEDajxccu5imYxkBg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.201:9999", + "registeredHeight": 1693152, + "lastPaidHeight": 2125933, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820968, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxzMdMSGkbYJXuc9Ccbojpe1wrM4sTJiSk", + "votingAddress": "XxzMdMSGkbYJXuc9Ccbojpe1wrM4sTJiSk", + "payoutAddress": "XfXCvqbRjLfS4ZDgz5Hmch8JveApH4oXi2", + "pubKeyOperator": "8b63f059b1e8dcd492a86f9512af2208fde1c99f4c13007f2a6a358f5d5ba2c2090ba19621825144367e23ddc10bc6de" + } + }, + { + "type": "Regular", + "proTxHash": "bc8c58c5c2fb325345321d5c4a984bb30d13b794a23515cf34ed24a940286902", + "collateralHash": "d172c43344710842707b05adc93a21790ae16671c06f13a885281607d345f3ee", + "collateralIndex": 0, + "collateralAddress": "Xdb6mXpfKwG71McmSVM8RBBrcMTqKwbP2L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.206:9999", + "registeredHeight": 1693152, + "lastPaidHeight": 2125945, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820979, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtNobd48oe8Q9EK6E7ukvMSE7ojV8SF8oT", + "votingAddress": "XtNobd48oe8Q9EK6E7ukvMSE7ojV8SF8oT", + "payoutAddress": "XndWYBQV6KB6Ccztj5bTVdzyNGT6Wudyr6", + "pubKeyOperator": "8669034d1d188d96eaaa33affdc2983890a33e4f07dd3fe02ca837c2feb2d53b73ec5378dfa6edf180dbe2117591c8f4" + } + }, + { + "type": "Regular", + "proTxHash": "6bac5a5fbfe5e6430b6eb78f947acb3dfecdaa347a56d8a883284a666b75a807", + "collateralHash": "b26aa1d8d34f02fba3a129f3e045bb18e3c5381b7c51e514bc03ce2f69ce38c7", + "collateralIndex": 0, + "collateralAddress": "XeJLRo1yjzNX1Gtp9ZXqRMdg7LXMzS5b89", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.204:9999", + "registeredHeight": 1693152, + "lastPaidHeight": 2128450, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdKTKSZy2p7Xgrwak869DVXZEjrrxJxVUT", + "votingAddress": "XdKTKSZy2p7Xgrwak869DVXZEjrrxJxVUT", + "payoutAddress": "XpNj2oKmJZeZLtryDqquMbNykHK9wrrrTH", + "pubKeyOperator": "8e5dd8d75927752b6aea7ee31c98819cfc5526a6e3ba84ce88c07982b8111c0129cf2f0e95a09d02146fc888a4ca1d79" + } + }, + { + "type": "Regular", + "proTxHash": "eaacbf8944cd96f2e273f74444f72025dcf56472726ef420fc39263f379088ae", + "collateralHash": "d7779e133301617465608c9646be1cdf5d717098c192811a4a7658f604d2b08d", + "collateralIndex": 0, + "collateralAddress": "XfHy7VH4jiSwiY8W5ig9xd9rdSGaqh4SYj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.205:9999", + "registeredHeight": 1693152, + "lastPaidHeight": 2125947, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820979, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnWG8S6D4ybfse39pvpqGkg9eXxQyKpmSr", + "votingAddress": "XnWG8S6D4ybfse39pvpqGkg9eXxQyKpmSr", + "payoutAddress": "Xj35S6egA8qDMKH94XZA5Gg5FxEwUNbK6T", + "pubKeyOperator": "07c5655490e676566d7024cc967a0c9de1a74ed0eb23d09735f3c6084ca45e89de36ab916be5b45276b178b77de17c39" + } + }, + { + "type": "Regular", + "proTxHash": "620419714bc9f15815639e61078cadaf497a68583c4a9d2eecffe50ea7d04a07", + "collateralHash": "f9756371c13c019f4c9e702514b2bead8e8273a5aea0d263f03f6c099fec7df1", + "collateralIndex": 0, + "collateralAddress": "XmPwTF8ptpL1FdxhkTFdz64ZM9KCccBHGi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.207:9999", + "registeredHeight": 1693154, + "lastPaidHeight": 2128453, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoZoVXHA1ZkEgA1mPtpoK3b7syvx4mNxzv", + "votingAddress": "XoZoVXHA1ZkEgA1mPtpoK3b7syvx4mNxzv", + "payoutAddress": "Xbhb8N15PnKTmxEJidZJeNiUY6hRTZ7gyj", + "pubKeyOperator": "14ac9897775ce9f14e1c791d22114d527d8909f26c053fbdab39d91d035601c2e4be0e4daf7d6550155d9735a7fb4719" + } + }, + { + "type": "Regular", + "proTxHash": "9bb2df68fc180fd68338f32f4d6faccc8e94ffc9e8be9236e80c80d4d419cd64", + "collateralHash": "76efa8d4d666282a8f3c066190980a69ed8fff3e85062be201ea6484b39acdd9", + "collateralIndex": 0, + "collateralAddress": "Xc3DjXvXYFRsUhJyQ6ZGWg5FMy45f8tLaV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.211:9999", + "registeredHeight": 1693155, + "lastPaidHeight": 2127025, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1695523, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk1U6GqHUrLjAHSR41eHNw8YnAaFiuEaUu", + "votingAddress": "Xk1U6GqHUrLjAHSR41eHNw8YnAaFiuEaUu", + "payoutAddress": "XqZ7yBNEZbQFnp3E3SpKtBKuS3xQ5aYEBT", + "pubKeyOperator": "0ec3cc07abc9478105452505767dd850dae2328e43130985d5e1051fcafa9641ed27c1b3093aee1dee39ab36eb6789d9" + } + }, + { + "type": "Regular", + "proTxHash": "2591acb50280534f948b23228e363a74c7672882005e7ad8afb28e13339b932d", + "collateralHash": "e625d9024384b6699511534228fb0e2a6550a3944cc4ad60d56208610b6104b4", + "collateralIndex": 1, + "collateralAddress": "XsqRq2ezNeRFJSmC3EoiZAp1buHdQAtoQn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.209:9999", + "registeredHeight": 1693155, + "lastPaidHeight": 2128659, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2011158, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqjEceF1LNBL45hQzYQtqPNjF1ZM3JeCRt", + "votingAddress": "XqjEceF1LNBL45hQzYQtqPNjF1ZM3JeCRt", + "payoutAddress": "XuS5DvzEd7rCfgr9HuEdRDazKLG11eZtbB", + "pubKeyOperator": "04c122ca613caa9b37e75cf2eb58d35eabb623537412ac3500070595911b9184cfff5bb59fae19953516ee018a2bfe62" + } + }, + { + "type": "Regular", + "proTxHash": "e46b5899a99800ca675a1a2e039c298418586eb0d2b38eba7be4f874d2d7c445", + "collateralHash": "3f972109bd95bab87c37a98d8d7089941a3e83ba0415aeb4efda71e13add4168", + "collateralIndex": 1, + "collateralAddress": "XxgsqXtZfYzhaUeYmquxNwQkoAC5X2Nww8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.210:9999", + "registeredHeight": 1693155, + "lastPaidHeight": 2128455, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhqZ2FB4WxoDHKs2jBnXpnpPKw9LUPhaGq", + "votingAddress": "XhqZ2FB4WxoDHKs2jBnXpnpPKw9LUPhaGq", + "payoutAddress": "Xmct5eSz37dAQvN8mxtDTxvcHYCgffsuvS", + "pubKeyOperator": "92918cd9276bc709337022f262a45feb93750793f78d292fe51774672bca81cf9c092c35d9800278b4ca249a685bb617" + } + }, + { + "type": "Regular", + "proTxHash": "6d5b2711a032820005bf8a631d445dfea69ce458ddbc6c954e6567ab02b9974b", + "collateralHash": "c00d700e2ef22ee7914f20eacca6ef50af344ca36332faf855ea7c36dd8467c6", + "collateralIndex": 0, + "collateralAddress": "Xf2MRBqpy1iXVfN8xX4ZfSZedPc6eoPjLf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.208:9999", + "registeredHeight": 1693155, + "lastPaidHeight": 2125949, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820981, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwtJv6t478wx8AGzZZ7d5dWWd1oaGfGPL1", + "votingAddress": "XwtJv6t478wx8AGzZZ7d5dWWd1oaGfGPL1", + "payoutAddress": "XjGkY5ebwqaSXKN1iwrsw6J1qtSvTR91ne", + "pubKeyOperator": "10068f152fbb1cce0092ea35083e27ceedc5a25c3a0095a9bd279e3b396bc1df9323a45fef2c08a34a6a9ffa9b4a160d" + } + }, + { + "type": "Regular", + "proTxHash": "110d16a7e4f4eddb9097cd8071455e96a3143293e6734227184e97895ebf98d6", + "collateralHash": "0bcb97f77a57d59fab7edf65b4d3821ea025eb866adf4d1a27f3771215a7d7d1", + "collateralIndex": 0, + "collateralAddress": "XhMQRRp5aUgoDV9SAAiDp64gwcLDioygus", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.212:9999", + "registeredHeight": 1693156, + "lastPaidHeight": 2125957, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1820989, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqcdPwBarTqporZGCQXbwQPLQfqCfNwo2p", + "votingAddress": "XqcdPwBarTqporZGCQXbwQPLQfqCfNwo2p", + "payoutAddress": "XpKQssVTFusg3H2YHajNkv9smQMwrYrY72", + "pubKeyOperator": "18ae95b135aa06e06975923b1225b05379f951ecc8ce587d3684b5594c9466ff5d072263d233620790b4be9259373809" + } + }, + { + "type": "Regular", + "proTxHash": "730dc9367c4418c1884ba078a58a6ce7fad6384f9b4cc4f76375c4ed462ae978", + "collateralHash": "030eec1ead7cf708b8b55372e3331173a22ce47910045bae89128a429d718746", + "collateralIndex": 1, + "collateralAddress": "XuDggzyhJUwEU1URBWAwWuwNM6isy4XUBj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.213:9999", + "registeredHeight": 1693156, + "lastPaidHeight": 2128456, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkNLoc2PheqpzKCokp4hJ1YWAtD1ydSoDC", + "votingAddress": "XkNLoc2PheqpzKCokp4hJ1YWAtD1ydSoDC", + "payoutAddress": "XsFFtmBo9QSFKTmoqBH85xE5XMYk4jPf6C", + "pubKeyOperator": "09ba528c79d06a9eb2adbd40a993315c3defcb11984ed6e2b880f4059f7704d21db555679eb7a7205662bddc0f2316e8" + } + }, + { + "type": "Regular", + "proTxHash": "0afa3cc579687af98dc92244f1df15b55d78d2963979fdafb1b063b7ca13a9b6", + "collateralHash": "ae4e923264568ddb1c537ffb41d4120e37df39d5e17f7bc293abdea31e6a0d4c", + "collateralIndex": 1, + "collateralAddress": "Xhffufo7wcFvr5tF4DCMbovz9cAqp9KBX1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "82.211.25.214:9999", + "registeredHeight": 1693156, + "lastPaidHeight": 2128458, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjSRjz2Hq3c5ZAd3ukBA2MaiqCYSu8kecc", + "votingAddress": "XjSRjz2Hq3c5ZAd3ukBA2MaiqCYSu8kecc", + "payoutAddress": "XikwSjJbFugyE97jRxgDafgtLwc3pYB5nz", + "pubKeyOperator": "02da0211ee786876d97b0aa7815e12311fc3d3aaab535e1b2201e178d389ef854a9262ebc58d4e88a334af53f5ceee64" + } + }, + { + "type": "Regular", + "proTxHash": "f893d22d88a64e17124f9802028a454fa7546d45b61ee3e06e51a85c7cac2dff", + "collateralHash": "1ed667fabf9fd387ab7c7efc6dc3f98d413f4a6ad4b9367044418d4c6c01e8f8", + "collateralIndex": 1, + "collateralAddress": "Xir5Hru8sAyGajrn9zbwXdg99jRrK9NDrn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.215:9999", + "registeredHeight": 1693168, + "lastPaidHeight": 2128473, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhz99cN2qxQFqhcqSkB7jUAjRerkB5R4Qq", + "votingAddress": "XpRTnzW4gfSfcU184vikDXBf5TLsGTuWnp", + "payoutAddress": "XfML7tvZrKK2Nd95HsR9ncev9h5UwhJkfA", + "pubKeyOperator": "89a733a3be676b9da9784fe1f34037b9f5905b19090f9ac27aae8b3557219961a0f54f4a5749bc6f0bbea628a28e71f4" + } + }, + { + "type": "Regular", + "proTxHash": "1e773aabfd85d0738b17768e46c642779e7f833adb413433a2ea437a085ea9e0", + "collateralHash": "50f0e27b6199470c64eada611ce257e7c1ca33ef98300c1efd80b432651f0003", + "collateralIndex": 1, + "collateralAddress": "XmimwX75NgtL6wGJ79QmAUYqyfGjZnwa3s", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.67:9999", + "registeredHeight": 1693261, + "lastPaidHeight": 2127275, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1979323, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmifng63sJXuUgsJStQpTSwJ8VDY8KRAoD", + "votingAddress": "XmTQLNTcMT7XxsTqMvoAnXt7WfakCtdpa6", + "payoutAddress": "Xof5AYsyeeuSRx3HmHhN6NisdhX87CjMT5", + "pubKeyOperator": "85aaa1b03e2cfc46924d6ebf492af8ed1c05c619149980b61569f579961e1e070b71b272e7b63db5a7a162b0bd36f0f0" + } + }, + { + "type": "Regular", + "proTxHash": "c38f64477f03f4c17957da50f9297aa15053ee22e721171987fed3aa1ffe76bf", + "collateralHash": "0e679133dd7c950cd49b95ca299d7b6ff67cba9afba7bed1d062661b53f3775d", + "collateralIndex": 1, + "collateralAddress": "Xi8JeaKxHmF8E8AcMybnY6XWd6YN35xANi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.251:9999", + "registeredHeight": 1693272, + "lastPaidHeight": 2127273, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1979323, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfNcgAZeNJMLRLcGwaz2LNo6uuM4UDdnnx", + "votingAddress": "XgXqns6oTYRzCcKEXv8nrGSS4c5sNMaJks", + "payoutAddress": "Xp9hhPTMCF2ZXhJWv7gXAqZtRQytkgTtts", + "pubKeyOperator": "00b8c8c70ff46e0a33ce7c9054cd4d00b56bed0081c02b44c2d9406feedf577288cb19034099fe6bdb50a11ced1123c6" + } + }, + { + "type": "Regular", + "proTxHash": "4166d3060dcfb9df66de266b395d3d00a10a56ee7e20b1605c3c069e96860216", + "collateralHash": "eaad3556e4f4bcdb9deeb82f58ad0482fa11c38b531ef83b59ad0c8e3f2d10a7", + "collateralIndex": 1, + "collateralAddress": "XhJ4QGyzZ9jm3fkY4WZ53WXJkDT8F4KGdR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.213.24.34:9999", + "registeredHeight": 1694346, + "lastPaidHeight": 2127544, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115201, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo2ayB6gzLYS31V4dgd1JZ8tJxR16UU3tq", + "votingAddress": "Xo2ayB6gzLYS31V4dgd1JZ8tJxR16UU3tq", + "payoutAddress": "XnVBWX42z6YTz44DhtweK58Mb5tfQgWnXJ", + "pubKeyOperator": "0a5fe8f7f28eb4d8ed9290b7280810953d1548d19277b24bd63a4f6e945e909638b3bc6f2cc0075496edd18718c0f3a1" + } + }, + { + "type": "Regular", + "proTxHash": "1fa146dd609f7d1f4a46b85b5fc5047213f722539d9ec8f51a99fa64460dc409", + "collateralHash": "043c22143a63180f39c81ab903c4a915be335ea4bbf24990df7448cfa298ee75", + "collateralIndex": 1, + "collateralAddress": "XpafDLzRjyjNU86KGp1ox4ah6CFt6Qan9n", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.54.104:9999", + "registeredHeight": 1694909, + "lastPaidHeight": 2128470, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2109096, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xik8e1pPXPPxaDysYYXfeAxMBQXVKn51ze", + "votingAddress": "XhkQcFsYMaxHHVQJWvLekE2H14SPJYeVX8", + "payoutAddress": "XomYHMMAgYCLsKqocLWeRmi6sw6cFVW9Hf", + "pubKeyOperator": "824fb68c3d8268c335884368934dfef6969f79ee93bbf7d575a37812c9e5a014f02513f9e9bbae3fee5283e9363d0e38" + } + }, + { + "type": "Regular", + "proTxHash": "200a4c237150cb06a3e55af689bdf13cc1f2be2fe5873b0a62b9b970fa4f6996", + "collateralHash": "4fb061bc73a28e6561bf6fa532430f500146e1fda1c8976035cfdddd594ed581", + "collateralIndex": 0, + "collateralAddress": "XoYSbNR55pvsruVWzNWdDB4oDrjHKJ5R6B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.155.148:9999", + "registeredHeight": 1695488, + "lastPaidHeight": 2127155, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xktdden2pkjrK8QB2UeaoC6oPMUVesHVzF", + "votingAddress": "Xp7sk9eN7fn8qNCMyTzV69kRs9f7LPtK9i", + "payoutAddress": "XoYSbNR55pvsruVWzNWdDB4oDrjHKJ5R6B", + "pubKeyOperator": "11d7824e73537c60562754312232d19c98a0a9a593e541388ebc0b3b58cde406edb77dd333b8f15330dee009f3270ff1" + } + }, + { + "type": "Regular", + "proTxHash": "1535d7b317c8b15874152756b644ad4df3128cb44290b2a782c37daf22776f29", + "collateralHash": "a06868360522f449027468f619b8480904b2bc706e49291af7b8d33db2f8fa81", + "collateralIndex": 0, + "collateralAddress": "Xez4QFhVfEcR9YvVAVD5neh3LgLkCFQh6L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.115.236:9999", + "registeredHeight": 1695488, + "lastPaidHeight": 2128796, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyTJVi3pSVQjopAYRMT4MJvzZaGQ8sLXsC", + "votingAddress": "XbwF4EGS7v6RSe9ErsX7bMmR4J4u2WPLj4", + "payoutAddress": "Xez4QFhVfEcR9YvVAVD5neh3LgLkCFQh6L", + "pubKeyOperator": "9799709b1f7d39da3b24df0190ed9a49b17d6d26210508c2cfd1a4a19b7a7776e5ecb71c8f909d06fa596696513fc9d7" + } + }, + { + "type": "Regular", + "proTxHash": "61b9b95e33a0b69cfccf82f6f32f3c914f98c41da83b224fc89bd8b3752b0387", + "collateralHash": "cfc65821b2cdd1d63010733f27dde7e273b6e1db467e337bac51aa76ffa8ee87", + "collateralIndex": 0, + "collateralAddress": "XnevQAAwQYx7FHTCsAUfat9QgHjyDbgZ6g", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.43.103:9999", + "registeredHeight": 1695489, + "lastPaidHeight": 2128823, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr6GXwe955qX33NiiQfx79mHg89Yv6F1Qw", + "votingAddress": "XbN35wRnwnB9w2hVmTgtdeAhuAz2SQ7GLf", + "payoutAddress": "XnevQAAwQYx7FHTCsAUfat9QgHjyDbgZ6g", + "pubKeyOperator": "9412f798bca41e20b91e27292cdeeb36e27a0097f37fe53fe27a0d7ee443fa4fd0ac1b0957f3e021b78220a6dc4fcdff" + } + }, + { + "type": "Regular", + "proTxHash": "d7893c90e604574d6364fe5abfe783d37bfe41e55895feb9fa0810d36fbf4bd9", + "collateralHash": "ebcf2f3deda0acb5725ea9d9e83b480d587119bf922590e530e077f9e7bdf684", + "collateralIndex": 0, + "collateralAddress": "XggN7WywB7ztCg95ffSCWCAM4rYThb9JXx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.157.129:9999", + "registeredHeight": 1695493, + "lastPaidHeight": 2127168, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxJ56qqU7zGNbyBXjHSNE91ZJ3sZFXQ6cB", + "votingAddress": "XqrffgJHpwuJszML4g8Pz9u7hXud6gMW3P", + "payoutAddress": "XggN7WywB7ztCg95ffSCWCAM4rYThb9JXx", + "pubKeyOperator": "087f4df82477c4ae9fa7992bfb1cc713895f03b4f0fe8d658a6184778f41420035111dfd2efa282b93a9aaef28a35cc9" + } + }, + { + "type": "Regular", + "proTxHash": "6f8fb2171d074cfbaadf7c9e1aa98045cb23e88b689a37c93705c8df5656f9bd", + "collateralHash": "d1fa453de9c7daa6c70438e7cb62b3aabf6d90945dd89d246430aa88929626fe", + "collateralIndex": 0, + "collateralAddress": "Xk1kNZP9Eqg8vhWFSmG1Bd7fKYNNNhpHBF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.68.32:9999", + "registeredHeight": 1695493, + "lastPaidHeight": 2126588, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvoYxTLtaLUUdUj2GCcAXnnzYMvn1Zrzyd", + "votingAddress": "XkoECQachXwV77LkdijuUpJdPeeTBTXi6d", + "payoutAddress": "Xk1kNZP9Eqg8vhWFSmG1Bd7fKYNNNhpHBF", + "pubKeyOperator": "0b8fa237857f6c5972c6312c2c7472dfa9aa2d289ea9aca623a80476c6f15fa84c6f9b8d736be8ac7ab06a008d496b37" + } + }, + { + "type": "Regular", + "proTxHash": "9f195b87da7880f5a68e9015aa274dc9800dedf5438a06ac15f822435147b0cb", + "collateralHash": "b868c19e18619f88402a60e8ee3b13a0adddfbbe66a3df44f6dcd03b7bf1d101", + "collateralIndex": 0, + "collateralAddress": "Xm2wVaEaNciVFodZznv8AjgnjT8YfGUvBS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.170.108:9999", + "registeredHeight": 1695493, + "lastPaidHeight": 2125759, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2078934, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XidgntSrSTDvfRaES48YJrsUgbKTTVSxLM", + "votingAddress": "Xq9qkZY7oMp63oEzor7Kke9TWaxWv4ph2G", + "payoutAddress": "Xm2wVaEaNciVFodZznv8AjgnjT8YfGUvBS", + "pubKeyOperator": "0d1ee01d8a3f1c4e3e18b1c7e6e9f4161e245bdf3178d09742e81e6113d67ac173edd7dce17c0828fad95568cd565c6f" + } + }, + { + "type": "Regular", + "proTxHash": "1948f3beda90d4aac1ab6bff3c04bf83d5a3862ea7dafc3403152fba90742d83", + "collateralHash": "504dfca756ba73ca67381e279d8d6d6a3761b3e70557b8b49fff3552d9fb9ecb", + "collateralIndex": 0, + "collateralAddress": "XiAJeVSYFq47iNqGgk7YUp8PZhze3KLWNF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.158.128:9999", + "registeredHeight": 1695493, + "lastPaidHeight": 2127152, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvVcFXVfX1xMpLWUuNC9b3eRbNe89XU7jW", + "votingAddress": "XcGhrHTzgjkNmZEguBCK3NBQUqQ6C9vqq7", + "payoutAddress": "XiAJeVSYFq47iNqGgk7YUp8PZhze3KLWNF", + "pubKeyOperator": "84e3c51e50a0e2f36871b43a61fe594450b5f59053093058cc063adb71d04c12fc40400203ec0735733d768ae50ae059" + } + }, + { + "type": "Regular", + "proTxHash": "0927256960d4e34b1fd00ef8d9a5914ee041bf67989ad266015ed7c9887d8dad", + "collateralHash": "7dafb9c7637a4271410b13162d56130b60c3b92d615f9a9689b76b6ac2893847", + "collateralIndex": 0, + "collateralAddress": "Xjsb37bF3fq4gvFo8iumyTxHtkJyWm6MND", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.152.191:9999", + "registeredHeight": 1695493, + "lastPaidHeight": 2127161, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkFW5TtCFKvnmyb5wFPRe1beN12VtQXZkY", + "votingAddress": "XrXVf3vXikcgjr5iA9Syda2NtZmVBqsqgW", + "payoutAddress": "Xjsb37bF3fq4gvFo8iumyTxHtkJyWm6MND", + "pubKeyOperator": "966373ca8bc9de6528cc9e45431f6d3806f6d352913d3a2fdd12e2962a08de74869f03e6e8d7396e8ca349227f3a0340" + } + }, + { + "type": "Regular", + "proTxHash": "180b9e2017d5a33086d02c4cdff0fa8d2814003dfb4046d639c873ca6d5f95d4", + "collateralHash": "6688f62a2b1f2975fbfddfe929bb5cee517f96284d4ed46628c7561eef614076", + "collateralIndex": 0, + "collateralAddress": "XbqmcAMLpZJ6sQ41uJnZqSzynwiYoZ7axE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.126.128:9999", + "registeredHeight": 1695494, + "lastPaidHeight": 2127166, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk3BqRx1goi1bGfqNDDBgMbTPKRcizH6s3", + "votingAddress": "XrU3vasVVW5SYK4dXxLSThtZR5PMwab2Jo", + "payoutAddress": "XbqmcAMLpZJ6sQ41uJnZqSzynwiYoZ7axE", + "pubKeyOperator": "10d4a334b9f032f196660052f911cbbf6a847744df83481ccd833b0e40e55ab4f86be22979ef4f69541d45a8719e27e1" + } + }, + { + "type": "Regular", + "proTxHash": "90f884c76dc5961f02617a23a2ce6183bf94c749a2ab256a644bd513dabb7df0", + "collateralHash": "3e5bac6d7fcfb39e94fe90778697fa9410e8e93c9bdfe20018b161b69f549aea", + "collateralIndex": 2, + "collateralAddress": "Xqai293hTwbQ4ninqXKTRN2BHWgnKtmMyJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "43.153.210.252:9999", + "registeredHeight": 1696009, + "lastPaidHeight": 2118202, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127633, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwdR5FLdQdBFe7TozQs5f4ccvmdTFQN57i", + "votingAddress": "XwNmG9bR1FxyeDwmiUkPS8X3bA7oph3NFj", + "payoutAddress": "Xqai293hTwbQ4ninqXKTRN2BHWgnKtmMyJ", + "pubKeyOperator": "0390bea817577ff49f6b0524aa344130e3645e319507b40173485bdc2ecc58faf091a2508e53fd346bd02ed590883ad9" + } + }, + { + "type": "Regular", + "proTxHash": "d5b1bc864f4980642b0ad75c48ff2382d31d4e0ea188b663c91721969c6ba1b8", + "collateralHash": "dfd14d070a3a321f3c23ad881a9f136d97581ed12c05bb406859e67e323aa765", + "collateralIndex": 1, + "collateralAddress": "XiXATEN5DC4MBtsgaAMrSisPabPXyLJrHE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.239.39:9999", + "registeredHeight": 1697261, + "lastPaidHeight": 2128440, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeT4RdXcyFvzi4RRV6A8EyWNPQGNu8k6YC", + "votingAddress": "XquF4zgS7Jgtn5GRJVeL27d1KFgE5dbPmW", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "030fa94967533bb1dd6d143b8d7505e187a783d25e0a40ea167309d269ac47f02c66f095bbc6c9d60e9828b5f1427414" + } + }, + { + "type": "Regular", + "proTxHash": "63f6a153ea24962ca403988fb71fc820c881246c1b74f08b8b49004a0a5d8903", + "collateralHash": "a6f82b4a8f18542a59d8e2f4905854fd8a282d29291d3226e676c159fa6395dd", + "collateralIndex": 1, + "collateralAddress": "XbH2zYxxzhshjXu4P5br4zC7uKxBLTkdhm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.65:9999", + "registeredHeight": 1697262, + "lastPaidHeight": 2128441, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnKk22LrUAZrxLwFuyU3eb73qbWhgy3ZuX", + "votingAddress": "Xcfyvhr3cjmGcxobnF2M3ccdWQDKLEyiHx", + "payoutAddress": "Xfj9fRUYYoccLJamuLDvdiZN2H6WXngqia", + "pubKeyOperator": "1352dc502f30a76e8975fb779a58b0587229befaf5dee6d3943d2840288b286fed33ceb79871ed3490c1731f129252c9" + } + }, + { + "type": "Regular", + "proTxHash": "5bf280655cca677f2f91ee8af4a19d1f63378cca1e413c9b3a5d7b229d8887a2", + "collateralHash": "fe7ee3d93373f7c8ff775440f6d23ac43354c58fc8320fad23019369a8645b65", + "collateralIndex": 1, + "collateralAddress": "XvQdfzFnKg9s5zBK5EP6kSnCJDJtnM9Afb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.206:9999", + "registeredHeight": 1697609, + "lastPaidHeight": 2128693, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkH6987MsFNVKRi2oiBroje5gKJXgLHDBq", + "votingAddress": "XeJstVFgs42YDbzK8vWU2vRg7dsEK56pda", + "payoutAddress": "XgBTg29BK2RsM7i42x5f6Xp4F78bs4TzXs", + "pubKeyOperator": "10e16be447ee472c60d1b8b885a6efb8131471fae250c7fc581fb537fdb7e6353dfa901dc92befeeec420cf4ce936df5" + } + }, + { + "type": "Regular", + "proTxHash": "0d2656bf77e57b9de67025328fde969b66f5e92cc0eea7b7c9b6ca88f5675089", + "collateralHash": "d396be27ded7cffc465ff8d7cbdc172175225587d4e97f33d2d03324835d750b", + "collateralIndex": 1, + "collateralAddress": "Xc6GxC3PmYry4auupNLsWyeUq1qVuugo41", + "operatorReward": 0, + "state": { + "version": 1, + "service": "209.250.249.75:9999", + "registeredHeight": 1697744, + "lastPaidHeight": 2126737, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120685, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkgRyy2XSaE4SytNZEdmfHFn5CxdJfFJtR", + "votingAddress": "XhcAm1mCxieSYmCMtvUB7LUPWs4Pamq9ks", + "payoutAddress": "Xo1kpg8WE7s4wEvHF7quuPdJXPi9cbXNJJ", + "pubKeyOperator": "0a1a88512a3c41e57ad762f3ef20337d40b8d2b91b0b4e48910a2ffc799523120998be35fa7877f8b0a4353acb342c56" + } + }, + { + "type": "Regular", + "proTxHash": "59c1b4e2ccf90a6d8b282748bd198e9180840937caf17765cec3e490455d71ae", + "collateralHash": "3010b57c854728d708be92ec7194160de14f285b0b242d9ebf5ec00eb66f0f02", + "collateralIndex": 1, + "collateralAddress": "XsacRnwKHm5YiJcgazGwgxfd7xu3MsN7dA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.245.95:9999", + "registeredHeight": 1697930, + "lastPaidHeight": 2125758, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhQK3gqd3NLPBeE6iEBvNgSg2i3o5qqWY8", + "votingAddress": "Xazt8pwjb6tJYWhQXc3aw3xRF8PK2sQKW9", + "payoutAddress": "Xc464h8KhvHjSDFWqTcFDdKJnsV3sKsKtJ", + "pubKeyOperator": "97c5728c37f74e27b0164244b6fbf9291029477286e1885e4ae37dcda9176587697dc1d7cdd8f1191602fc5b53d56af3" + } + }, + { + "type": "Regular", + "proTxHash": "f10b640b494b5be544f3af48b72021279e4100bbce3cbf3b42364032b67ec481", + "collateralHash": "9b6e6930426254def6ddd6cbc23680096b9354d2a6d3865234d682faeafc56fa", + "collateralIndex": 1, + "collateralAddress": "XdSehUwDc1vLdcFFMTZ6boQ9UkRcWp6md7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.223.26:9999", + "registeredHeight": 1698614, + "lastPaidHeight": 2126344, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnoUq3ABGGNuSJ5usBrxXSozB8gVE8fjLy", + "votingAddress": "XdSbLRJTyJvijNUsWWNE5JNkUwdHgTt5TL", + "payoutAddress": "XqZJwGTfEU3mXTmpBWfDyY4YFqLMvGxHik", + "pubKeyOperator": "153ebb7ddcd0bc70cda811cdc5fb7c4039b8f60fc9924844d8ec33db42a43223c320e9ef1cae1d53079f21ae7a29246b" + } + }, + { + "type": "Regular", + "proTxHash": "6ae15ced830710a6df17da5e857fe2061169198504699e395388fda30cf30a48", + "collateralHash": "0c32d3c78fc63ef5412d52c9767a35f73d124c9b29fcef03ea0b2cbb0febd2ab", + "collateralIndex": 1, + "collateralAddress": "XefoBVPppZAFj2q5fSgRnzv5U2Hrs7ePyp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.138.27.74:9999", + "registeredHeight": 1698620, + "lastPaidHeight": 2126351, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyMjVQ4m71y4CEWQQa9UXcLGdSJ2zuwvrF", + "votingAddress": "XiaNGXCGiwoMLXPtF7GxvtUWwGookGLHNB", + "payoutAddress": "XsopyDDbYuMacHayaHVa8Esn5yeHYTe5aV", + "pubKeyOperator": "0ed31d4ac649a2ce7ecc893217ac29f0b882458fce3c8501ff7cbe0602325bddd102cce8c17e02fff6f818d81649ffdf" + } + }, + { + "type": "Regular", + "proTxHash": "6a19aeb470921a85b70539f9b58dd2f9d523778bbea1dacbc22443b0af3f855a", + "collateralHash": "9ab1019e9553f419acd89178b10cd4d41e1514cf95710d184eebb2f6f690a8e5", + "collateralIndex": 1, + "collateralAddress": "XgEnH1nWuSZqevj8GxBGdAoz5bpgBNYdwU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.91.147:9999", + "registeredHeight": 1699860, + "lastPaidHeight": 2127134, + "consecutivePayments": 0, + "PoSePenalty": 522, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc9iPemY8XJAiuGpdAW5k4VMj5NHDC8JFV", + "votingAddress": "XmWHLvcgTUg1iBfg1zaFQYFrUxNYYYUheh", + "payoutAddress": "Xi9VF3rj4HEZw2W1TKVUSGaQW7GsRPKZ8K", + "pubKeyOperator": "04a7b96075c675eda9595dc7d0243da8797e1b3948d396b04863cd03394fcc3aae73c956bdda3658a594f46f317794cb" + } + }, + { + "type": "Regular", + "proTxHash": "d46f75a83c75924d61e281492aade860e9577010123bb047994f77d8888ac2b5", + "collateralHash": "03ac2ece73a07760f89b41d54234dc91ae64a6d25106d3f3d2392a0dfe4f2cc6", + "collateralIndex": 1, + "collateralAddress": "XjXiW9E3deAK7zaa8gfk5pgbVXj9CrKvPj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.197.170.80:9999", + "registeredHeight": 1699872, + "lastPaidHeight": 2127197, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqaVn7sDjwtStJiEPFwEhruFS5zuwc6o5E", + "votingAddress": "XpBftkhttjiS7gfBwx4eTLdQaKrBRvpkKJ", + "payoutAddress": "XjJcyb55TnmJuPWunpnuzDi1DZyjzdj5Qi", + "pubKeyOperator": "1289d52d5f8ef304c05286114a3d54f14aceb45c5449edab613fd4a0fe1d44d265f12f18840fb15465c7359b90dc0a18" + } + }, + { + "type": "Regular", + "proTxHash": "c12129bdd5d78740de3a407fc1a57f322835e062d850781d4a42ff7c795eb257", + "collateralHash": "6ac56788cc8890d5ec6f6fe763536825a3cc640d8843b79b0edb3f796a6044b9", + "collateralIndex": 0, + "collateralAddress": "XmJNJzx28nhCpzHKEcvbFYjqk2rScJAGVW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.180.252.62:9999", + "registeredHeight": 1703310, + "lastPaidHeight": 2126743, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv9zMXnNh6r8FtFBxYtGVGLwA5gKUp1nhY", + "votingAddress": "XipSZHkecjXkgU2ts5sx8Mw7hrPsvbyZHd", + "payoutAddress": "XpdiYq4qE8u5uQR5ctbgdNG8kAGgajfoWr", + "pubKeyOperator": "997568ae59a6446cc5eba7a8066253e7738da12b1c6c99cff13b3143d1863de3ecd6e9c295e1c365073b143f5e74c978" + } + }, + { + "type": "Regular", + "proTxHash": "f87e72ae20c3fdf2708f76903323994d86a4e0292c6825fb51e263fc553ed2f8", + "collateralHash": "6a82ed1eb9a25bbfdbb22d5ffc310434b013eadb473ffdc0014650f8609e6aa7", + "collateralIndex": 1, + "collateralAddress": "XiDeEdahfVEhNb4CFxtjud7icnFuu1WuVT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.202.98:9999", + "registeredHeight": 1703452, + "lastPaidHeight": 2127844, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876262, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XejMNvEUxM9xufZTiWS5dXWxDBXKx4bRzy", + "votingAddress": "XeizVB25ukg8h49agYFnEQE31YbSkgXzqN", + "payoutAddress": "XmW7dQbXVFW91ZoKbVs367UZJygQSLyA2u", + "pubKeyOperator": "17370dd45ca5cba60cdfde187fb4ce37dd19c5acb9d2d7cfb9fe9997476eb503a10165f6fa8f72d866f4a0a1102d5658" + } + }, + { + "type": "Regular", + "proTxHash": "b0219f34cc8fccaf88796889a8cd034eac82415cd7f7f3baae950c841857f85c", + "collateralHash": "67161fc631e60f28104f2a4f9aca622cf355da2a26d8afa66c3ef67d645047e6", + "collateralIndex": 1, + "collateralAddress": "XgYwGW8uFoetJ5oNqEkb1qv5Sui4v9Ab7o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.98.124:9999", + "registeredHeight": 1703465, + "lastPaidHeight": 2128005, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121740, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr34STX5BJFhuyKykUAiKDcA1S5JSAnnDY", + "votingAddress": "XhgyJDKttprg94MzMbkfDpYgrHbzyhuQdJ", + "payoutAddress": "XmW7dQbXVFW91ZoKbVs367UZJygQSLyA2u", + "pubKeyOperator": "974b0b9c7cefd7da6c3ea08085c70c35af190d9b923181aa22707fe9245454c8eb9b50036ba21220379963f4ec758f82" + } + }, + { + "type": "Regular", + "proTxHash": "3b2c432a3e1f896d88e1468a1e8a9707f2bcae308ce937a1048b87fb0540b321", + "collateralHash": "67818e7319d2b785fbb6c6b25a7c7262e98b5ee15805ef213a6d4979b1920d48", + "collateralIndex": 1, + "collateralAddress": "Xkhe2xysemCNgWEqz76qvLSQd2j39bBBW4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.46.33:9999", + "registeredHeight": 1703547, + "lastPaidHeight": 2126878, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtJHCA832CE9g2nahYSC6LhoqiftymLqNt", + "votingAddress": "XpaKD6cRyKyEDMkARLkFxiWbrkNf6XGfwd", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "11d46b200414caa15a92df34febdfe0fb4b924ed61bba6cb759023ad2a902cc3b5baff3e056d5bef2805fe40826d15a9" + } + }, + { + "type": "Regular", + "proTxHash": "712355089a257f3ed2fc1b0351e1af60f17e352d0ff88b201bf06e8ebffe64b4", + "collateralHash": "20cf54901ff714ca2ffca43a3c252db7d89d21a7820af38fb0a74cd115405a04", + "collateralIndex": 0, + "collateralAddress": "Xx9nyLVbvSyHg3bCARucuCepATQUthko8J", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.111.245.30:9999", + "registeredHeight": 1703707, + "lastPaidHeight": 2126330, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2113886, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw3BfVhbLa1X8DRZJLTziqTyq6QdstPTQ2", + "votingAddress": "XumSAXVo1UKqyssQZ9g29wXXgAKuCwJhGi", + "payoutAddress": "XdMibVUYEBYvXnVtgFSPU3o7RPsDWKEkC4", + "pubKeyOperator": "8963dc9920ca57fde67ddb71f6496a76c5c02f1737282ab57a0a5acaa76d2eca962c5ff64c23233f3502b5b7c9d3e60c" + } + }, + { + "type": "Regular", + "proTxHash": "018b0376636fdecfab62a02c23d703ee4f4a30cb31542c91e9b372f7a9f100c8", + "collateralHash": "c5d27a55180b88d988ef299166f6d600f5bc197d6be43d9feb606e197b90abfd", + "collateralIndex": 1, + "collateralAddress": "XoMdo4xCYsn7WySfjRrGS76gSyXtinS12c", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.59.244:9999", + "registeredHeight": 1708001, + "lastPaidHeight": 2127045, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcU2QAgX44AQpQ11yZ8PmcSk7khfi7upKJ", + "votingAddress": "XtNa3hc66Rd3ojfoJj7XVNzpeRgx7GkgGG", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "94540e1aeccb7d7a7fef992e73935baf67a0f7c32bf9b7cdcca9d26b3a8e65cec1c8fd9ded6e7273280d7e9d8f06ee9a" + } + }, + { + "type": "Regular", + "proTxHash": "d8cca070f42af9b252d59ded6a588c22ea2ab7840e33635047ddcebb207b0c72", + "collateralHash": "eed540831b4491b052d973943a5ed297c2647712678fb84023b669cc61001a02", + "collateralIndex": 0, + "collateralAddress": "Xdwb9yDq65pkgMwEWz1XDfawakt2kathYT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.198:9999", + "registeredHeight": 1709738, + "lastPaidHeight": 2128484, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbbf3GZCTukQagtM1VkEWiYds9rqWDJUXa", + "votingAddress": "XnYjDYFEQK6UAm7daPz4e9bpHNc9qwMmRg", + "payoutAddress": "Xidy4qemgkx3L648qZHWBCzNJ7BAaQ6FX7", + "pubKeyOperator": "0e062962a5c47095b11224f1c88269937832e2660f3d165d216ab03ba6442e92fd60a4eae834a2de05c45a40f06e5d4f" + } + }, + { + "type": "Regular", + "proTxHash": "86922fb9c8130b4834d021a24efd8e1c2126be6921670bfd7b55dc587fa97f7b", + "collateralHash": "edfc316b9120b83e2aa228768b6782ba6d1367897afc610784afe62468ecd8dd", + "collateralIndex": 1, + "collateralAddress": "XtydPsm3q7s6daBmG1KbwQfgVRptAgQhxX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.125.100:9999", + "registeredHeight": 1709788, + "lastPaidHeight": 2128500, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyuvtZx21Z8w12MkfYNDuJabo645vRn4am", + "votingAddress": "XkdZhtmkQdXQfp7Ux7YtqZCBAjiu3mZpNx", + "payoutAddress": "Xrj93xoFGzrXEBMBHhSvhQp9yqtujakz49", + "pubKeyOperator": "0fc0abc65510e6c1b17b06f3ccec240889cfbbcc0c96e1136f8ed42c4e9f8a28fc09f5671425d66efde55d4260f37bde" + } + }, + { + "type": "Regular", + "proTxHash": "3681187d4209f47c6e430a60866fb1e7dc5e1d59432844541a22b4d1ade91bb0", + "collateralHash": "855b186a00089eca745f9d35d25d67d254b23c59214a4b2076b55506ee78e10e", + "collateralIndex": 1, + "collateralAddress": "XpW3Z1J6A26Lr7uTCoxV3QfPEtD3Z1Ked9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.121:9999", + "registeredHeight": 1711275, + "lastPaidHeight": 2128436, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1759101, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiBTw9Rj1NGgE5aQGsnmNc9DnWgV5shgGG", + "votingAddress": "XsJGuwyxVb1mqmF99kwNfThCgx8tsprFXK", + "payoutAddress": "XpW3Z1J6A26Lr7uTCoxV3QfPEtD3Z1Ked9", + "pubKeyOperator": "0b6b0ee296a3785d5374bbcd830dbb0285ea6eaacaf859b42468d358d427e1a48cb00e2be3e3c6c8a0f41958491ccd5a" + } + }, + { + "type": "Regular", + "proTxHash": "87b0764ed73d2af3b2ef16d147b5eede36bfb82ee61e99dfaf890bb25594ed13", + "collateralHash": "03c9292df50869fc30eb0b97bee9a4c7c9594d4e7b9fe32ff0379f971f4bdf18", + "collateralIndex": 0, + "collateralAddress": "XbLzmvJMGexgAoRVhTAQA6b7wSXMYgj7Zd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.181.133:9999", + "registeredHeight": 1713099, + "lastPaidHeight": 2127911, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XykbUwriTm5Vy92SKtMnmKn3NR7RNC5fMx", + "votingAddress": "XoLsKPmR7ozzeykrBBJzh948w7HgocUS6r", + "payoutAddress": "XbLzmvJMGexgAoRVhTAQA6b7wSXMYgj7Zd", + "pubKeyOperator": "924f4bf8a3ac575c77ed08a0737cf81d3ab36d263158b252dc58ed3b4bb3ac34f1185e501245b87bbbf4a69433e35509" + } + }, + { + "type": "Regular", + "proTxHash": "d73353f3ad3ae5300056d52e0fc4b56afacbe9711161cad612a5710be6b76d99", + "collateralHash": "c49c1e90c49698915875dbd0c9083fe994d7dfe47c553a547890caf3f4e9e233", + "collateralIndex": 0, + "collateralAddress": "XoUgJN12yZtsawTPipEHnxh4CBkKzd3iz3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.111:9999", + "registeredHeight": 1713686, + "lastPaidHeight": 2128217, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XowiE6fHmV9fNA8ZbkZZdPXh8Sz5pBRrue", + "votingAddress": "XvDXYwUU66fSnutkAdfokqzgMSjsQtvydB", + "payoutAddress": "XtRy4wxh4u2wCCmioEyXe9LeG47uQvYsuz", + "pubKeyOperator": "8fa4fac376405404d3e673d2770d6829b87c5fea976a6d40d9e03bce9d6c4bedba3ebf4bf9e719c3cc46bd378e2bfb06" + } + }, + { + "type": "Regular", + "proTxHash": "656c1745f2c4906c784c49e922816099303d706b54946d2822c5bd671f12d0be", + "collateralHash": "f3f08a07e033010e142c6283da043f43fe61b36c3d909e6f9e09e978a96c7c2b", + "collateralIndex": 0, + "collateralAddress": "Xhw3WovAJZsN5jESyeykbguEk4CRXAYJ8W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.5:9999", + "registeredHeight": 1713750, + "lastPaidHeight": 2127757, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976302, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrTtBmTybJeVZisJgAvM8TGKkSrpLGDH1U", + "votingAddress": "XjiR1i1GuWdcL5ce4Y8TrMWXGiQY3cpsBL", + "payoutAddress": "XgWxnqMA7YpPzfJqgC8Gy1GJihhMsk4VeS", + "pubKeyOperator": "09f8a0fa4d99f0370e57996c722a499d1eda917b74655ffdf6507af5fd5ae9f42659ca35d5b6748c8d05b7be56237f22" + } + }, + { + "type": "Regular", + "proTxHash": "57145b85b062eed0ed474268b27dfb76e0d1655616f3208b7bd85a71571034d6", + "collateralHash": "14f628d4bccae964250963c7d44177bc98ac7cba009e439f50b4e2247218fb13", + "collateralIndex": 0, + "collateralAddress": "XghYUtwJ3E9fF5kbTuSETQWEoRVptv9SRm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.228:9999", + "registeredHeight": 1713779, + "lastPaidHeight": 2128405, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfQKkPV9SMgUrnPoccd4ceLv59q1Xvnrn7", + "votingAddress": "Xf5FLctVDkYvdcFJ8zjPp4hVU8CwgySuqX", + "payoutAddress": "XnREJKuiuKyiCtCYgH4N1UuaCt7C69Bf5P", + "pubKeyOperator": "874514e51f7bd2b198968b768ea71128e5be6a2c3b721affd477ef7e387faef4e1713fe1e2180f3f4a0910f4a6532875" + } + }, + { + "type": "Regular", + "proTxHash": "480d9f43cc80f2ca606910cdc77bdb2eeb043f7800f57b4b2087b109a267a32c", + "collateralHash": "19623bf688aac94f011429d92d2f1f360199d3a7404cb68c2c20bee9c7273374", + "collateralIndex": 0, + "collateralAddress": "XqoNpBw5T2uSAj3WSxuJg82ArHmSUPSvxd", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.227:9999", + "registeredHeight": 1713804, + "lastPaidHeight": 2128414, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvmT36Wz4eDrTKBgzvikNjbfdV9vFJw3TZ", + "votingAddress": "XyQqTDKAA8fTJt3P81EaGx7JokBctAdBYf", + "payoutAddress": "XnREJKuiuKyiCtCYgH4N1UuaCt7C69Bf5P", + "pubKeyOperator": "0ff76c386f174097287e7de5181d894ec60fc2fce77b64cb17923285044b0ea71a336e28800660cced6e0fa848291670" + } + }, + { + "type": "Regular", + "proTxHash": "752df201f51fcc4a4c124287f81cb97ad1dfb0f320f7172b73c5e75d3813c671", + "collateralHash": "45a7be22a7679901ab55614da1190ca7c4955463ed584cbd9718c3c3ca809005", + "collateralIndex": 0, + "collateralAddress": "Xqhfx6T4XsTUURL5w7eTbY3aQtj2TKx1TS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.232:9999", + "registeredHeight": 1713828, + "lastPaidHeight": 2126439, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1738696, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XntaYwHkFk5WEDac7VPoKMwCy3F55HrFFY", + "votingAddress": "XmirYLFaGydDoHdJHiUrNDpP3a1cnbATep", + "payoutAddress": "XnREJKuiuKyiCtCYgH4N1UuaCt7C69Bf5P", + "pubKeyOperator": "9948c49f3c5357252c0fa5355deaea37fbd1465c90f67b06108eb3db3049419b7d031d3aa0eb895b6db0762a2d39aad2" + } + }, + { + "type": "Regular", + "proTxHash": "3a754b31d456b9cad9c78258fcc6a0bd75ff7d208f340cabb3415e5fdfb00319", + "collateralHash": "3795c0b5601c99cdc334f9c72a30fa6de45d92a7f804af8f01e0534aafd55b28", + "collateralIndex": 0, + "collateralAddress": "XrJidr7fmy8BK375Ngcg1mYv8kXQz5dwSe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.25:9999", + "registeredHeight": 1714183, + "lastPaidHeight": 2128183, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876653, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvsDim49PZvTZ8GARJfWDy5e4H8uuLSocd", + "votingAddress": "XbSbpcaE2EUXPhhN8yuZQviHiyi6C5ofdC", + "payoutAddress": "XtRy4wxh4u2wCCmioEyXe9LeG47uQvYsuz", + "pubKeyOperator": "8c3ef6a93e63e18de055f68b92f3db88e290c90bde9732b7f1dc5b187b5b788f0d430c6d848e5331595393fae53397df" + } + }, + { + "type": "Regular", + "proTxHash": "c7c1b2701986dff19395a53763123bab0521198a2bcdeaa31e57541bc30a460a", + "collateralHash": "5330eff20cab7f8f0dc24426fdc0f2e53190677514cc903caf801dab20fa8036", + "collateralIndex": 0, + "collateralAddress": "XhbNRwX7AYqNzvd6VkwKpFuLAAzsJGfk73", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.137:9999", + "registeredHeight": 1714204, + "lastPaidHeight": 2128704, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuvZknpq6G4fStbBier3Qwg6jzrePqaCXg", + "votingAddress": "XkKdjbd4GmPSodrhYJDNMokHAVY9Hdd4aH", + "payoutAddress": "XmhKUpRnUS5P5QBZZg2D6ywuWLiDpDRcMF", + "pubKeyOperator": "11f539666e7544218b33fc866bdb1ee13d2ab8c179b2be25ef6f0005d9d59852a69d8942ba67a76dae78827f18912941" + } + }, + { + "type": "Regular", + "proTxHash": "5948f76d923fffd2320ec4ddb108293d8d504be84ac4c6ae4b17736c28340945", + "collateralHash": "fff908c203cbcf1e6ac80a9737cc75d6af49807bb4cf067cd53432da0f3b288c", + "collateralIndex": 1, + "collateralAddress": "Xq5M1gzAP8dvw9pUdK2WSXX4YcRqmsmjw6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "54.37.199.237:9999", + "registeredHeight": 1714237, + "lastPaidHeight": 2127923, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2003621, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcoE6foLVsdXTkARMz4MdEeTgd5exGNfBP", + "votingAddress": "XcoE6foLVsdXTkARMz4MdEeTgd5exGNfBP", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "86e7781eb401f76e9184f5ed6ba0718700fa7e6ce84bb7dbe58d870af4559ec7fd3ec4bf85514e24177766d2c10247a5" + } + }, + { + "type": "Regular", + "proTxHash": "7809806921bd837b9f1540aa1aa7efbb1a0572c784f4d97e1dccd4d14c33b018", + "collateralHash": "f2038fcac9f7261dee51689d68298edc2d6c5a8ebb888653ea721ec64dee1b10", + "collateralIndex": 0, + "collateralAddress": "XqbRBkJGpmi7RK23okuLS5uXpYJrb9ZjVn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.17:9999", + "registeredHeight": 1715207, + "lastPaidHeight": 2126379, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu9dba5gUL2f1erYcXkF6JC1r4vu9JeUft", + "votingAddress": "XvGogFQwb9ibjgrFd7q22dCeFLWKT5bCt4", + "payoutAddress": "XnREJKuiuKyiCtCYgH4N1UuaCt7C69Bf5P", + "pubKeyOperator": "13d525fcbcd03d6f8cba238ec5874f40671afd2741f9ed151fafcdb5275de937bd2b1d769465c73fe4bcd10b58e5b19a" + } + }, + { + "type": "Regular", + "proTxHash": "3b3401b097d7b1fa49e0e508f8082dcdba2302a0427fdb8fb8355fbfa2866612", + "collateralHash": "e817960aee108df908ccdf563c8588fa2ad7c0e4747f569f0b2e93821bb58d32", + "collateralIndex": 1, + "collateralAddress": "XtRGixzqmH3idJiTpetLMwv2GNBNnTzhA6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.166.44.211:9999", + "registeredHeight": 1716399, + "lastPaidHeight": 2128406, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876789, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpPYYjTXadsf8hciutZrXGVh36RHq26Hdk", + "votingAddress": "XeMGuAx7iqSUJ6dzz6CbMVsNoCAZR2H71j", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "076f7d1ce45ce82200acfaa2ba45297ec22ecb2c784ea8b2b0e85ebcd3d60c30bfed5661c2d5069ea0cc839a167870fb" + } + }, + { + "type": "Regular", + "proTxHash": "d1bc15478d0b5b9b2f95ab858460bab84476c1cdf4010cbb3e365208289b7850", + "collateralHash": "4c748801fef3aab01836a513b28433c0247de9d2dc5c57ac9bcde9d0f7cae795", + "collateralIndex": 0, + "collateralAddress": "XfYyS78GZ4UZgcFHYStZEQu97GjgDQ4gGt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.23:9999", + "registeredHeight": 1716431, + "lastPaidHeight": 2127175, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XofBHqZiPxx8qMxaLQiTbMDfcMqDeDZ3Xi", + "votingAddress": "Xhbt5FnFizsGZ7rfLzxVzjayniApLPBmJB", + "payoutAddress": "XnREJKuiuKyiCtCYgH4N1UuaCt7C69Bf5P", + "pubKeyOperator": "86b1366ad8e29883a76591b6cad43e3c6448645c485f499405dd8d908cbdded4e0b73fc3a85f8f8de3a2ba418c87aee0" + } + }, + { + "type": "Regular", + "proTxHash": "81ef8269e056cb08de7983185a37afbe1514eedfb6752163186e7c41e2c8157e", + "collateralHash": "eb4af2a5711995d991bd4d573cc1de72dbc61c3338250c903669b42a53b19dca", + "collateralIndex": 0, + "collateralAddress": "Xx4iP9sTf52zZGkwekKHGPCJiVfGsEKPFP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "108.61.117.249:9999", + "registeredHeight": 1717460, + "lastPaidHeight": 1819588, + "consecutivePayments": 0, + "PoSePenalty": 4424, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1822980, + "revocationReason": 0, + "ownerAddress": "XqWD2y84YDBfkfLwtwLEp6QJHQYizkZ4yB", + "votingAddress": "XdCoWG9RfpYqB4ZgqNBwR9LddRJgkZCktk", + "payoutAddress": "Xh9QnkNRwYJXzkZ2MscUarF1V8TW9RQXXy", + "pubKeyOperator": "137ca75d4e22a6b7d7b7a965a5df5861c1f1265f2b3136d9dba34cdaa982f30039ac7103f48da9e713943a3996f1b2c2" + } + }, + { + "type": "Regular", + "proTxHash": "15f1987af214e2d148af903057548d6d4e983e0784346b3ee9f8856a9fb69abf", + "collateralHash": "dca4e71b4e9066214675705da0d1b6c831fe2a2bf12a708edb4d6e9621bcc7da", + "collateralIndex": 1, + "collateralAddress": "XrhgJ8wJPvBxECJNKM1xZmwDKpKqAiwuwP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.62.196.119:9999", + "registeredHeight": 1718367, + "lastPaidHeight": 2128784, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiPsjyKEw1j6zMMaADE16WWXgDYVpKFQCV", + "votingAddress": "XhUNMZi3dGooAnX998ALVmK263qrYZjKAK", + "payoutAddress": "XrhgJ8wJPvBxECJNKM1xZmwDKpKqAiwuwP", + "pubKeyOperator": "07e8332894a61db65efd48f3e9f4400f14b0e904e9f55c13d7ea45275cc4ecb25627a3a5b33b0ff851d65fd20c6440d6" + } + }, + { + "type": "Regular", + "proTxHash": "1794dc9eacd7e5c35abb72f56df1672ecd4f6986745e92463f958cc9732f4a2c", + "collateralHash": "193258d5e43613fe1df30966d24e1ec939e87eb4b566dd531661e56dac8ed3d5", + "collateralIndex": 0, + "collateralAddress": "Xx2sJvZ32SbZ4oKGbyxxBMbnykQYm9pwE9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.108.150.87:9999", + "registeredHeight": 1719020, + "lastPaidHeight": 2128555, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2116090, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs7zqdbtPsGLF72KzVGqgMtQEZVn1vDfpT", + "votingAddress": "XsihgDs2W22UbrE6DY58YnRPxxcg3NAChz", + "payoutAddress": "XfEoiYYYeRi9zF3BDf7c37uhT9TstPr4RW", + "pubKeyOperator": "846b1ef76fbabf5448e4fe86c7cafbeaf5b1951e586dfcf0d8d2e3e27e375a92a80da82c8790c0a40d03960e36b7f85b" + } + }, + { + "type": "Regular", + "proTxHash": "4f69de48c2f509611265603514da270bbf8b581b3d4733982b32a76c24a19444", + "collateralHash": "b94b0d7a8ae04269c7bf09a74b16a660241bca6bbfdc58e5815cf4cb04d53f3d", + "collateralIndex": 0, + "collateralAddress": "Xs4bpUBR77vHwjPMsSJE9rPkrNGV33eqHD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.254.34:9999", + "registeredHeight": 1719648, + "lastPaidHeight": 2127143, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgxiFV7yMwHf8xw84rRJgwkARxd3RoYU8D", + "votingAddress": "XdRMF3TjxDxuaTaX5Xw9KAG4dxQpcuLyNM", + "payoutAddress": "Xs4bpUBR77vHwjPMsSJE9rPkrNGV33eqHD", + "pubKeyOperator": "12d204cac127c64988bdd46ea845a61751ac79d5afe61e2f0baf08b79a73c09c3a84fe6683be69c32235e186f339177c" + } + }, + { + "type": "Regular", + "proTxHash": "080b38002f7e178bb9ba795a1852c4641ff1e98467bc6e526d8614f9fd8b1538", + "collateralHash": "e1e7e2741093030d2ff765442eead1283581c17ce508e7e23677cc03470047ba", + "collateralIndex": 0, + "collateralAddress": "XtEWmhMPjxLmmxyiJc6mvFzym61oo5w7C9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.144.6:9999", + "registeredHeight": 1719651, + "lastPaidHeight": 2127139, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuKTe8uqAAydqk1MTFvxEmpKvuPtRiSiuV", + "votingAddress": "XgcitM5xZo9gYunfwRdQRBmwV4bZMJBwci", + "payoutAddress": "XtEWmhMPjxLmmxyiJc6mvFzym61oo5w7C9", + "pubKeyOperator": "14b568d3c0441cec9907bc9612fcef99108470e99c901f8f04051aca12ebc2a08596b7561d83154f6fe582794c284fb2" + } + }, + { + "type": "Regular", + "proTxHash": "806f277741d096ef7d1883278606d205a603ea89b89871910e9e16042042ae86", + "collateralHash": "c82e29c1e7b7fc1482b595a441b0e9cdabb05938f4a4a5dc63337cf50ee51972", + "collateralIndex": 0, + "collateralAddress": "Xdk2pZomLGripBbMmubLb2aG7niMwPT2Pt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.77.76:9999", + "registeredHeight": 1719651, + "lastPaidHeight": 2128822, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnoXLdNxUMQ2QJXRHqeT5m6h7xFmCk1nnf", + "votingAddress": "XyM6CqB1wK3YdYY78ohuugpH5j6cmtf5zt", + "payoutAddress": "Xdk2pZomLGripBbMmubLb2aG7niMwPT2Pt", + "pubKeyOperator": "0d578c6cfeeae596ccce10d2093820d8270eff64c093fd92c0fe832fbf9f08f765ba64cf97c18405deb9b6e4e7828fad" + } + }, + { + "type": "Regular", + "proTxHash": "0ae5804e7ce572b46769724e13e840d7e60cd2cd2860a19bdfecfef52f74c0d7", + "collateralHash": "08edfaba3797388dedccf93a47a191b4b4f7d08d91ffe5aecbd9093038bf86e5", + "collateralIndex": 0, + "collateralAddress": "XiZ4gaeWr3dg5DNuEJE3R3Lxj89FJC52Ce", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.123.92:9999", + "registeredHeight": 1719651, + "lastPaidHeight": 2125760, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2078935, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgcqUxk7tLsZKmcfkCLMYjy8HBHwDiQuy4", + "votingAddress": "Xn3szDLc5b1SyvEb16qEpG3LnwNn1bWu5k", + "payoutAddress": "XiZ4gaeWr3dg5DNuEJE3R3Lxj89FJC52Ce", + "pubKeyOperator": "980d9cbfe63468e27b06bb20224f9f5a443a3a8d31fd4e7d52412121c5b7b2f6036089eae3dbbf36a1a7fa2fc1de654c" + } + }, + { + "type": "Regular", + "proTxHash": "2c493638dc58d5e1d14d79832d25b8a92536098db4bfb83619b0127af0a94551", + "collateralHash": "34a0dd241eca8af50d49c638b7047a856ac2b3c2ac997fea276ce9d8939cec3f", + "collateralIndex": 0, + "collateralAddress": "Xt7WVH2HPLDq2php55VYvtvjUzWEkp3Zwo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.131.231:9999", + "registeredHeight": 1719653, + "lastPaidHeight": 2128810, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcEBt7BCfK1J5D8AtYtHUqxotqme6QpCpi", + "votingAddress": "Xk2YJmQv5QzUVRYSWBrCVfead4zTMWThP8", + "payoutAddress": "Xt7WVH2HPLDq2php55VYvtvjUzWEkp3Zwo", + "pubKeyOperator": "93963f48e49e92d2fefeb56dba1b1655021d7c093c47cd2de9f06affe6069d17e2d41e5bc700467ea34ff78c36197af0" + } + }, + { + "type": "Regular", + "proTxHash": "de4888a7ee3b1fe154a70f46115a9b7c061ed0e326131d86f654b86052229930", + "collateralHash": "1c244b87f6eeb51127e990d03a15c518da43c83ae25a443e0f6ebb0b3ecb3631", + "collateralIndex": 0, + "collateralAddress": "XwDQgfknzhgY5nyHaPshacijvrRb9V1Ah5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.123.168:9999", + "registeredHeight": 1719655, + "lastPaidHeight": 2126584, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtCMSL5P1m9u6V1BLCm46wWP2Kk4kFWKYh", + "votingAddress": "XiwSHsy2Y4mCkR3nASFse5zpennVvq3qTX", + "payoutAddress": "XwDQgfknzhgY5nyHaPshacijvrRb9V1Ah5", + "pubKeyOperator": "8526ae55259f588847f8c2fc4c793a74571e801fea690ce467b2e355a88c9d25cea289a0ae724b5af1f075b3f4085391" + } + }, + { + "type": "Regular", + "proTxHash": "3ea2422b2d86f9abeaa4e340338eae7f2daec577f40028f4f28af4fdc4f9c798", + "collateralHash": "309e1682d56977c2e05f4853e410dcde67d39a193359655acb10f9d35cbf3589", + "collateralIndex": 1, + "collateralAddress": "XeYtKpmz2fcTAcqvdm49Ror3i1eav53KuW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.197.128.77:9999", + "registeredHeight": 1722277, + "lastPaidHeight": 2128591, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfWfVqZL45tjfa7kBcPkDQuuk2hu7E1xp7", + "votingAddress": "XwiWULmEPC6Pg9diMFxk6dF8bFNh2LcFf3", + "payoutAddress": "XeYtKpmz2fcTAcqvdm49Ror3i1eav53KuW", + "pubKeyOperator": "96f63f2ab3c0ea487282e37b7a31ad46b047566932d7d920a981d738616518ecc63d81bbed100f49642eb7a3f7bf6342" + } + }, + { + "type": "Regular", + "proTxHash": "9978a995672fb6397df7eb97b0e24d0ba7aa489d3dad7edebd98bbf70824f941", + "collateralHash": "dd3cef0eabb8bb7e53fce50e5832f0e3c8b02dde16ba73e2619d8a53e4c440c4", + "collateralIndex": 1, + "collateralAddress": "XqBvWXXmwNskJyPcMK5TaJzG77LADJRWKT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.115:9999", + "registeredHeight": 1723404, + "lastPaidHeight": 2126329, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvudjxS4jG34mjYbyYQEL8GPmHstLdzYSj", + "votingAddress": "XhpAkaWBuBaV5GrnJ9m5ZFEYdob94qkD27", + "payoutAddress": "XqBvWXXmwNskJyPcMK5TaJzG77LADJRWKT", + "pubKeyOperator": "0869d8fedf9732a7c72548b6598e4c0b12c9403b7a149ec062ccbd2256bed946c6195a80f2df71144545eebb07ee6491" + } + }, + { + "type": "Regular", + "proTxHash": "f9d8fbb02e8f909b7922cc34b8259ea6b73dab88738c2af2e02e1ac929ccdd5e", + "collateralHash": "792a9f61479f785be0bae9a65eca24da4b51c5919ebe8e4154d142476cdb0bfa", + "collateralIndex": 0, + "collateralAddress": "XpFu3KFRe9NQwxqonEjqvWzxSmbDU1R8Ut", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.130:9999", + "registeredHeight": 1724950, + "lastPaidHeight": 2127400, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtzAfoEVdM9Z6kFzSq1xkKkEBE4dtCriyf", + "votingAddress": "XvwdQi5NgiVbbfx8XmHMf3UnkF4X8VsYES", + "payoutAddress": "XatXVTo3w1q8QwiJ1Z89UkJERGd3z8iS8z", + "pubKeyOperator": "09c6ec183d9464e2d78ca7e33c0c9891b500b9f06b473e3d3b26584819dd58e8fc091371a076afe08ba0ebe900f3a317" + } + }, + { + "type": "Regular", + "proTxHash": "be740e438347006aa3b68c8961be73ca7f5f90cd7af98787854050befa3cf6bc", + "collateralHash": "52cbb49369c98c951413e08b60b1b31fd8014b339119bc2acc3024fa5a0daa44", + "collateralIndex": 1, + "collateralAddress": "Xt56DXBwqk9XxnYZ4HBfQaAcvuVrPZJrZ2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.41:9999", + "registeredHeight": 1725217, + "lastPaidHeight": 2127602, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnZSMz9YAwUPTtEAAwyngFkeMuxTqMd6DL", + "votingAddress": "XhXaVKWMKX91feHCkfEvzcqbGfRXYZ5omY", + "payoutAddress": "XrzkHxLb1xwyFrw9ZNzhLhj4Scv3U3nKSp", + "pubKeyOperator": "191a2e7e564fe218dc410a01581d0a8ce057da5e0e6ccde7e5c52c46b8951c557a68661d5eac7b5f384c3c96ab369a49" + } + }, + { + "type": "Regular", + "proTxHash": "a8ae7439851693326fe88f80426fe350384fd89287c522089977758e0ea3af0e", + "collateralHash": "22310ba63710741ea469d2f6444c558351d2cd4ff182336cb79376e7a77fe521", + "collateralIndex": 1, + "collateralAddress": "XsF6ThDxyoHDiQNtAG2CU2FstLFtJ3P5HK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "38.91.101.92:9999", + "registeredHeight": 1725641, + "lastPaidHeight": 2117227, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126070, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuS3P1TcvCmiMaJrNkcZZ3zCsxYK5FtTKR", + "votingAddress": "XuS3P1TcvCmiMaJrNkcZZ3zCsxYK5FtTKR", + "payoutAddress": "XsF6ThDxyoHDiQNtAG2CU2FstLFtJ3P5HK", + "pubKeyOperator": "98e400fc2430edf8724a1c4c23ea1d20187ecdaa27d32f41ee51c74151da7c1ca9b95e05c8bae79f1ce6fa6404b5916a" + } + }, + { + "type": "Regular", + "proTxHash": "5eeaa47168de6773f951ec22830c3adf9b583a720fe6ff11332f9ffd60fb2ad7", + "collateralHash": "c116ef9566d84e5968aeb8f7629de07e2b3660b50955f46d098e1c1ae04778c7", + "collateralIndex": 0, + "collateralAddress": "XhWstkA9J56v9p3Xm7b8QFxR9NkzsT1CzM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.21:9999", + "registeredHeight": 1725675, + "lastPaidHeight": 2127989, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhkiHRRogDn19TJ5fnBLPtR2tQua5dr8iv", + "votingAddress": "Xh6E5vNwwnBpGDvLdtbULtFSzNtB5hv1Vf", + "payoutAddress": "XcS5SbV3VtMWtrVJKATEoA4QVeJQCo9x7R", + "pubKeyOperator": "0e10de0ae11b77f8efcb08db3c241b01cde3e3b01366fa6acbdc9192898e5be952a636b0ae3db2dedf8d51347465f4c2" + } + }, + { + "type": "Regular", + "proTxHash": "cf5649c6ba139efc231ab20acb1c13eec508898dd4c3c2e9c0772e2f4a5ac443", + "collateralHash": "3c305633a899035df58931d0bcba15820d777514bbf2b4eada757724f11a120a", + "collateralIndex": 1, + "collateralAddress": "XvyeFB3dxRmnhP7P2w3F186JrfYn1HpdTu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "43.134.180.113:9999", + "registeredHeight": 1725950, + "lastPaidHeight": 2128471, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876879, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdT5sVmBMNv7hJ1Tcmy55t7by4ASc4WRC6", + "votingAddress": "XyWYYf5cFdQzEfoumcAbFpXy7D2vCv2CvV", + "payoutAddress": "Xr4vJHK2rz6CAuTimve8UW6XGfPuFVmPcn", + "pubKeyOperator": "93d686e450dbf1fc6ce876043651ba7bf07e5baa337b25ab650017efbf7f1dce3d2f8e952905e6e0dae75d4d70093ff2" + } + }, + { + "type": "Regular", + "proTxHash": "d36a0ec9b6d7eb2bf41946ed27ca29617708144f89cd8fe9b50e24a6a1eb56fd", + "collateralHash": "d37eeea145bfb2486b95400320b2d0c50099cb91bd43dcbd123ba3918fdea9f7", + "collateralIndex": 1, + "collateralAddress": "Xk4EG8cqAuZgFLdWbuQrH7sdqDDXz1LtxD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.176.236.93:9999", + "registeredHeight": 1727625, + "lastPaidHeight": 2126475, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XshAoNitaSCWwRBRnoj514hWvDTMRREUr4", + "votingAddress": "XoL6qMYr1g1M3Y2C7f5mAoCERiskyqg27F", + "payoutAddress": "XgWzp5LirZrwHu9f5WGtEd27gyuaThstb7", + "pubKeyOperator": "0eace8a0201ea79ac2cd7d654afaf5ee02d49394d416f1cd9fd0b935cf0dd9da2b375e744c38bfaa42ffe9e47353db7a" + } + }, + { + "type": "Regular", + "proTxHash": "26c3b778040df0b5d2c407ba46a4113604cca6503150fc8c09f13318a620c9f5", + "collateralHash": "908678e7d8f42f4170260cbcf57e93aab3d3e144dde76973db5750d379cdc17c", + "collateralIndex": 1, + "collateralAddress": "Xp5EkNNNbT3AfYoW6fY5RYc1JA4oQwbvX5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.92.66:9999", + "registeredHeight": 1727630, + "lastPaidHeight": 2126482, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XksFryeU4WQBjr83rTmpLVTGVSmh3muNJC", + "votingAddress": "XtpcizXJRy2xrQ5HwCbZdDzxZQvP2dRxwJ", + "payoutAddress": "XtGeRYhVYQVqZk1MqsV3WNamHfcxxTwENE", + "pubKeyOperator": "0dd178dc2bcd994f11e29a7d23a7d4e9b6bb852517a316e37a3e5187f8b58784db5c2a68219598054da5c0b3ae8d5337" + } + }, + { + "type": "Regular", + "proTxHash": "9fdb9dc9fd5b5103fd9961484310a27590d15d94ee4bff67f5b2dfcefbbb7436", + "collateralHash": "62b44e19d38540abff6d467a66cde9377285cca1704bd298fc9aaf5f511d5b18", + "collateralIndex": 1, + "collateralAddress": "Xq8seqLt61qwpHvHjRk8ee513bvid4NJNx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "94.176.235.197:9999", + "registeredHeight": 1727633, + "lastPaidHeight": 2126429, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2066256, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjCwRukKyo8T88Zu4aPmSMqquGExsKSbF7", + "votingAddress": "XwCeq8qLHXage5fXsFx7qrUiYbRsDafe9o", + "payoutAddress": "XqWdzfbLfPSTLdGj1qk3CZuoR9pezXDTuU", + "pubKeyOperator": "9337bb13f2aabc53e50f054f4cc6abd7ba5923903eb47b49ff29ce6a1b90a917d172fd8e31b20f479b309cfaecd5f139" + } + }, + { + "type": "Regular", + "proTxHash": "00e7abe1d2a98c50a924385da4382e0017e40f9834bf0a4e4af44b6c97163aca", + "collateralHash": "6d0c42d7a7e049831c4596d7c69c8a6a2dc13509e3ae06038aa1a0bc10bcfac3", + "collateralIndex": 1, + "collateralAddress": "XgEq6W6wiDPajwgVs2Suikam3Pg1yKxpwK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.223.141.147:9999", + "registeredHeight": 1727642, + "lastPaidHeight": 2126489, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt1dGPmRsBdDc1RD95483nuoJupxRuhETG", + "votingAddress": "XqEez46uWCzcX53MjdKqqSogDCNbwcUr28", + "payoutAddress": "Xb3bKQpCGe6JCvRYjMKHMJ1hkm8asYVqmp", + "pubKeyOperator": "0ae6ca9e838f8b55b9d1c1d3cda0ad0fe0413673eef0d0829ad1425d463632e8da59aba6e389c6b68e163c39156bebd4" + } + }, + { + "type": "Regular", + "proTxHash": "aa9a2528ed43845bd1ff2911b97bc0761313b884bc7d8b4821b4e91ffda81e07", + "collateralHash": "de5a36fdb534c1fc95398b2333c02ea9c401d51bafd2145edcca8220e80bdc72", + "collateralIndex": 1, + "collateralAddress": "XsBC5sPmQTmFz3Qku1yi6ufJ6UCisbeMJh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.223.143.167:9999", + "registeredHeight": 1727655, + "lastPaidHeight": 2126496, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnzHBjnRNRBrwNNUjcj6v2BTdYgeZtr2T8", + "votingAddress": "XrNWFmqNrg8JqVqB82iLodXYQqVDZYXtT5", + "payoutAddress": "XgyhGEEKuTKomTxpePX7GBWyoWJteSGXn1", + "pubKeyOperator": "0efaa416b97d55c0dfb1361d378e6797c75f932722729e702706d1e1226f3ab53b3c05d13c36e972cb043dc6be36280d" + } + }, + { + "type": "Regular", + "proTxHash": "7855dfe920ebd5e23371a1cdcaf211219b69a6aca4edfa97d17647af6b71fee6", + "collateralHash": "4bf66a5e8b2f40f51b5b98be208d05624f0f13078b04695f5dab8f2a29ac1331", + "collateralIndex": 0, + "collateralAddress": "XfqnviLpxKkFhPY3yEM536YnF7TUVuTioS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.47.161.15:9999", + "registeredHeight": 1727670, + "lastPaidHeight": 2126510, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn2sfaGWTbj9wE5LhdxZXvYS9WaZcZFotW", + "votingAddress": "XwgvoDUqmEungbuHFmzCfto8QaRi6XC48G", + "payoutAddress": "XjE4y97PKUgcQFbpg28MUms5ojUUTNiuFn", + "pubKeyOperator": "9728366710f2a3c9e93dce594fee43182fbddd7006438860f333a17d814c65ef43691d02183efc8c1205b789ddbc708b" + } + }, + { + "type": "Regular", + "proTxHash": "592740873eb20908a14b68ba297e68e0ab9565d3801aa52314930828bb6a5062", + "collateralHash": "6430afbbc546f6c75fec568123491a5bd6384019e906f4515055e7b6e6c4ab48", + "collateralIndex": 1, + "collateralAddress": "XcVD2fSHeKqn1cNntU5gkwPhbVYsNcuHb8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "109.235.69.170:9999", + "registeredHeight": 1728190, + "lastPaidHeight": 2126915, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiXv7CkEcWkPymmSV8YUwzCiEatbH8ZKxY", + "votingAddress": "XnqttBbAos3u2RXsY9z5zYLFityr2eMdjW", + "payoutAddress": "XbkpMjNWJ2MdUVKqLdQdv5qCHc7UfmuPuo", + "pubKeyOperator": "00fd436c07c921e463447b1671c72f2cf0e087c255a66dd9f20ebebcc381f2d593ef069c50b7e817dda34d39842279d8" + } + }, + { + "type": "Regular", + "proTxHash": "bc02134a856c3a13033567c5783a3f76c535bb05dc538478825c9a6e2fc61973", + "collateralHash": "03a8d0b745b3eaf377b0685447a3e9cc382e70fe4452d177c10e80393dd71def", + "collateralIndex": 1, + "collateralAddress": "Xh6HBMdT3NnC9PH5NPuWYcB5Hd5f1THUQx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.229:9999", + "registeredHeight": 1728940, + "lastPaidHeight": 2127496, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtrWDGqPwXgLjrk1Gh9sGjL1X17tcKn5Wb", + "votingAddress": "XqkTDwsfyqyp1EThBf1qANAuZdsjxcCsB7", + "payoutAddress": "Xg1fWiHnXmQTBKiYna7mmdQt26226AtZ97", + "pubKeyOperator": "9251e04a08caefb48c1139482a2e5f0beb695b2b2d0b2250f05af240106fe368b28e96f86a2831858626605856acc1f9" + } + }, + { + "type": "Regular", + "proTxHash": "9d4aed34ff2c5cac11933609a79b35891104695f1debfc0227c0571d1c9a0041", + "collateralHash": "38ed8be00dd77bace3bf5fd42c73cfa66c2d3271ead861680995f5437c0f5859", + "collateralIndex": 1, + "collateralAddress": "XinbCJBCeKRiEfNeuBrHonyf2tJBSsGfZ3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.216:9999", + "registeredHeight": 1729507, + "lastPaidHeight": 2127980, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhWWAAgLs3wno2E9dM82yRf4FLQRHeufHY", + "votingAddress": "XpkMHC3tjBfpCfsTtpaGaWi739Cy9fh7La", + "payoutAddress": "XinbCJBCeKRiEfNeuBrHonyf2tJBSsGfZ3", + "pubKeyOperator": "19464f857c07c15bcf36e89130580ae44a5519fab05a031c73a11846f2809387f5ead76f4ad88c3df0928f49bec53416" + } + }, + { + "type": "Regular", + "proTxHash": "ad73ff40a23aebb20563f0d598a406e294b3f15a2332f3faebdcab126aa0bfdb", + "collateralHash": "edba4cf6a1ba2832943f8b7db252afb018502901494c56b96adbb0bc1ef67f17", + "collateralIndex": 1, + "collateralAddress": "Xp1u8fr4jXeddNrsMkjgA9TNVDZhBB6RLy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.194:9999", + "registeredHeight": 1730004, + "lastPaidHeight": 2126794, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1848716, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcAzLxp4yH192H5nfwKhknVb2q1tucZPYD", + "votingAddress": "XoUJJhe422UoiQn6NJK5XafdndA3K2Ustm", + "payoutAddress": "Xwm4nYnp8hxDcB5Aq9F3NdvN6jJwQWd3uR", + "pubKeyOperator": "8c8b20f919482cf576c172d33fcafefce72314df252ae9fc2487104c35ac5f89b8d1e390d239b478ba3b859046274833" + } + }, + { + "type": "Regular", + "proTxHash": "e681288f030775baaf3514b8eef0fe235fe235aaeecde01c32b742e6cb79b442", + "collateralHash": "77e46edab217b8172a5d5a781c7f7b4094162579bad74247eea272e162e82617", + "collateralIndex": 1, + "collateralAddress": "XfdjdPoiiYprrkwGS6mn55MqZ2i5Y2eNgv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.134:9999", + "registeredHeight": 1730007, + "lastPaidHeight": 2128482, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqcAFLkmyTasb1tncWet8FQh4Q2rqnv1vi", + "votingAddress": "XsX6cPBvMJLkkv8Cuz2oMepqCxRHS4CAcy", + "payoutAddress": "XpSUXuNF8q272Z73G5SyUHCFncyGaSfu8C", + "pubKeyOperator": "00ca402515cc7cc8ae8e69c8f5ac398da686cefeff5ed78556cfe0ab6bc91a67164da7d1a75be2c7f1af24bcf34ce10d" + } + }, + { + "type": "Regular", + "proTxHash": "7bec5ce500d80cfba0ad5e1c2ac54bba349b4242fa2f9188d824b0084291885c", + "collateralHash": "23bd29e5e4cb550b53160f7f201ebb3b38fad0f17769a6f1b3c90455a95b6fc5", + "collateralIndex": 1, + "collateralAddress": "XkZcJ8Dt1WkCqSqEzYXABd36Mwc93LKS5n", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.223.60.121:9999", + "registeredHeight": 1730649, + "lastPaidHeight": 2125790, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw1sYqotv3VcwJ9DRj3j71c7GAtDkxDgov", + "votingAddress": "Ximh44hoAhuN7yXeAUgXTnSXkEubh6muTh", + "payoutAddress": "Xcc3wR7JtNU1UtUwaMjWro86WfCv7dvg7z", + "pubKeyOperator": "906fbe029aca39fc2b529db0e6adfa53ec82c82bf9a627b457f4ee2d5fd104f293e1aa1334c74ae47a7925b230a4847b" + } + }, + { + "type": "Regular", + "proTxHash": "48b5d23f56a7f64a5a7f704ef490b345fbcc498cd970e8884e08f06c8db022ed", + "collateralHash": "57dc0837aa758898f715498fb8e9b72ee45f1be133a71addb09f93b7bf8661ee", + "collateralIndex": 1, + "collateralAddress": "Xobs8QhU5ZcZzduR5NAjfakg6a4CNRZbHU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.156.141:9999", + "registeredHeight": 1730776, + "lastPaidHeight": 2125876, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtkYWuHLxEx3DgU8aEXhzFENT8GUantSJz", + "votingAddress": "Xr5cR3CwiVirw9LBvjiRdZ4pcdX7urbBes", + "payoutAddress": "XmopTkbDuK5HzgistYg1sBCvfgVS7uXs1j", + "pubKeyOperator": "162eeda188efe32e6da82da383602c0f34c0f002e52aa8ee21413e6cb564dc6d8b0b13465c5c0e23e257bdf3f9dd0858" + } + }, + { + "type": "Regular", + "proTxHash": "fc2d4cf3afe935da68a322e2eaf85bff401949b3182c274fed5560201c6905ad", + "collateralHash": "45e1ba626b6995f66dca70d218311efb4ce28a21bba9a74849f27f26f2254a9b", + "collateralIndex": 1, + "collateralAddress": "XqNjagGBt96chCSFLfQZCkqgKsqfzc9ZrY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.8:9999", + "registeredHeight": 1730907, + "lastPaidHeight": 2127925, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876364, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpwR5ruRU9M6Ea551eDurVt81W3Z2iABPV", + "votingAddress": "XdxYiRGVFWufzy8Y8jjpRorVETBCmdEsYr", + "payoutAddress": "XwNFk4Q3HEE4Y91iCEyFj9mTuFwFMP9Dxc", + "pubKeyOperator": "19fd0bd11d717857e9f1abd50dbaf3d54000b9fff555c8135dcf77e6026a8262265020df8c0baa03a83c0ae32fd56416" + } + }, + { + "type": "Regular", + "proTxHash": "0e300b22894ada6393fc7b1c8cea896f17afd398864fd2d0302661b532186683", + "collateralHash": "e65e3da022b3760de0029e434e8d5681a05b654a8fcfff18c475d457dc2aaf3b", + "collateralIndex": 1, + "collateralAddress": "XtSV3D7PnAE5bjDiS2uA7L1q8EQdL3MqvG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.198:9999", + "registeredHeight": 1731991, + "lastPaidHeight": 2127927, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1754893, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnMqwLKaDkcLNngd7omd1jv3qohZiTohDA", + "votingAddress": "XsGgvNJD1BRU6efR21ffYaBKeGPUEr66Da", + "payoutAddress": "XtfwtRNQ9fk4QT9TMf5RnjTBx7nrmmSm81", + "pubKeyOperator": "847c21638356ce9eda48508363a2341105e052c0b8b8d90e574761cc0d83474680e2483230594ffcdf423a044fc382aa" + } + }, + { + "type": "Regular", + "proTxHash": "62d9bc7564f15c172ca8aabce2578ea84869e48f5bf859093ce5cf4ea2f0ca6a", + "collateralHash": "17fdc11a1006817786b18606b4126d61d09f829c07cd01f1e3266bfcb77ab283", + "collateralIndex": 1, + "collateralAddress": "Xib5yuD2K1dArnJ4W2LaQPL3y1MqiJAwEh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.54.96:9999", + "registeredHeight": 1732088, + "lastPaidHeight": 2126955, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgargPqADLxTnHYb4JgdKbUGAVBKVnVK8h", + "votingAddress": "Xd6vxaxb4bVVc2mtdfg1pFKwV3DyTEix6v", + "payoutAddress": "XkJxsiUPsqCSat6ZZwcAN2jBP9wqbeghUY", + "pubKeyOperator": "19e73d954d34567950b5d35f3e28f52a395d69dd34cbfaa9c0d8d51f6c2a749bba5597b9bb6b9c40291b6394578f6636" + } + }, + { + "type": "Regular", + "proTxHash": "f82323a4690736ac63da7040224db731e2fe52d19cb4ff0829620d9e79a3c11a", + "collateralHash": "5465a9ef41e96c95df471f55909d1a553cb8a38bd46821e19f58cb7c412dc184", + "collateralIndex": 1, + "collateralAddress": "XfehswjSfD2AYDAoFCZQiZpUMgixpjpGRW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.196:9999", + "registeredHeight": 1732827, + "lastPaidHeight": 2127560, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqYPG5747iJApqZoK3mcTwJoNL63wrUe4N", + "votingAddress": "XrTkKuqv8iYbxPPeffZNRHoYQ4P7vpxRUU", + "payoutAddress": "XyN7uVPBRVjc6bJhaoEeWcXjeScSA5Yb4K", + "pubKeyOperator": "0c106348d6b3000c8d41d80f2a3ceecb5ef1791fa4b490d439737baec101ca11baf3ab53c27503b808f367f9988c9ff2" + } + }, + { + "type": "Regular", + "proTxHash": "70e4f40bb888326ab3f77d1364ec4fbdfda3a3edca2e43974b51ebc4a24adee8", + "collateralHash": "6b349f26493fb62571ad249f513147437b0fdc4f8a7f8db5340a89c4778bac38", + "collateralIndex": 1, + "collateralAddress": "XrqRuj7gpzqTnL2WjoXx3P52FygwXBcnbo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.91.94.217:9999", + "registeredHeight": 1733490, + "lastPaidHeight": 2127458, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1900282, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcy2cXooVrd5KeM2Lc1KyY2DpRHdgfsiJV", + "votingAddress": "Xcy2cXooVrd5KeM2Lc1KyY2DpRHdgfsiJV", + "payoutAddress": "Xhe3R4VfgvRjZzHH2VKpS8zqHKKzBCFH3k", + "pubKeyOperator": "80ba0b03133ddad81e91ae6866b8f352f82d03351179322b3934e9897e2356ed8a05467e18654fce4ca2649f7874d60f" + } + }, + { + "type": "Regular", + "proTxHash": "24a36a43646b1358258000de2023b864b45e6d6c5c5b30b4a000ef3ef5134fa1", + "collateralHash": "7e775900fef8feada496653faa5a0471c0d482a13bec2f455c4a009d2671adbb", + "collateralIndex": 1, + "collateralAddress": "Xyja3e8v4qhbqKcdWbnc6PUZmyisHV7e4e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "70.34.198.26:9999", + "registeredHeight": 1733650, + "lastPaidHeight": 2128611, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119335, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu8YnV6JvVwdomwP6NqVDeohps3MPHL7US", + "votingAddress": "Xy8kh9f5krruuJAWSQ7SPWrJnWBz3VTfFb", + "payoutAddress": "XstrDN4MSQnoYKpDSqEnVppQ4vPJpiPrbk", + "pubKeyOperator": "88224ae1a2a6ed639730e76969d8ca970cbb28e257f1b9e59f8b3c6d9f10e11184036e77bb3b017cafb0c9dda6c0c4e1" + } + }, + { + "type": "Regular", + "proTxHash": "4047e86455a99b077db85231ee2bdfc83ea3df4d1f5c9673765095b379d28f6c", + "collateralHash": "cabd486adc66b55397a90a0711d95e18285607d9cba23d95d6f3b57298ae127b", + "collateralIndex": 1, + "collateralAddress": "Xb95EDPvc3kSGa4WdJzYg8RRgSBL4Dt8fh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.195.116.35:9999", + "registeredHeight": 1735114, + "lastPaidHeight": 2127392, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2046951, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo5k2VsmQPUipYxFhyYJP8MvSW96jFzppP", + "votingAddress": "Xo5k2VsmQPUipYxFhyYJP8MvSW96jFzppP", + "payoutAddress": "XkRGMaAAsBtwNTzqvR1ZkADPinbgHZSxfy", + "pubKeyOperator": "08ad73bdf32eee8335d0e960e68c924a14c04cd13a07f61f8fd878d4b0c87bc560a239af342c50416d1e0bded2eff300" + } + }, + { + "type": "Regular", + "proTxHash": "4618d59354ca53946b1f20f41857e012e9819ce7e42c689daf6c72868b8d9fef", + "collateralHash": "1876964c1bfda20eeb381bf54c75a6d4b870b284ecd3edf4bf117473e4cc3ea1", + "collateralIndex": 1, + "collateralAddress": "XnABKSqCKgUZgUE49HSNMC3dxPvUZcwq5i", + "operatorReward": 2, + "state": { + "version": 1, + "service": "147.182.191.182:9999", + "registeredHeight": 1735711, + "lastPaidHeight": 2126458, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114054, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xms1gTzb8xAfX24VL7BXma2oKKFigujMLK", + "votingAddress": "XcHxTpXbhUSKGw1gyMDAVAjKRq79vsTTpt", + "payoutAddress": "Xj48ZS5jRAjvxPgSK2to1R6UVLmDQU3YGm", + "pubKeyOperator": "064451f17b5898826ba2357f3428ac823a3afc065bce3852ed5a3da151aa35838ddd55993ccaccdeee1bd84c8fe2d66c", + "operatorPayoutAddress": "XwsYT7CZD366XGH9wVwDVzgpHwEqTuiv8s" + } + }, + { + "type": "Regular", + "proTxHash": "6f58d3df274246328dc22a55c6352bc399e7650cd1ab14c349de7300966788db", + "collateralHash": "9ae474751165bbb20c6229932927e3f406b75ac2ada9b8d8ad3950a9412560ef", + "collateralIndex": 1, + "collateralAddress": "Xqn7TGyLJ2z3tBvDZNAKkMcK6LJqsnttyZ", + "operatorReward": 2, + "state": { + "version": 1, + "service": "147.182.210.97:9999", + "registeredHeight": 1735712, + "lastPaidHeight": 2125843, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119776, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvdsLQboLoSu93vKJamEQxku8fCPT9d5Sq", + "votingAddress": "XePbcQRagL1mPvXtmcsgvjiBR5PKYRM61J", + "payoutAddress": "XdL6p5Wzpqq2W4SKZFV7aqarFJJYCkQS1V", + "pubKeyOperator": "894131ba8b284fb90ead5db09ac48f412ee4ac5120c77f84241960861bcb7bb2a457af4d6bdc94b4a6b4ce868f8194d3", + "operatorPayoutAddress": "Xy2Ri1DhE7ZSJarGgp6bgaoQdafUmJVDCM" + } + }, + { + "type": "Regular", + "proTxHash": "34f3652d00b037affa47d1e79ebc0cfde37f1d6dfd2967daef829a15f3752038", + "collateralHash": "52e0e9716e8f208a68e9ba3b002df302b58872203cda21c47db999d3339d308d", + "collateralIndex": 1, + "collateralAddress": "Xid4HhrSJLh8UtCE1zRKc857xKPAHRU1St", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.132:9999", + "registeredHeight": 1735906, + "lastPaidHeight": 2127046, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnKwhJjnuZ1i3yfyHEnhtJWEmzxD7n7gAM", + "votingAddress": "XcASM4kHamdT8a9ZsBbEFF6HV9QLR1G7d2", + "payoutAddress": "Xy9jpJ5aHWCsWzhDzecHHUg8jxcPHo27yk", + "pubKeyOperator": "1999fca81b0b7d831db434b9ecab31a7f0dfab37050af79d8aa93464e1a3f6946bf0c4f36a0dbd506d6ae65036741c3d" + } + }, + { + "type": "Regular", + "proTxHash": "c12b9cadd461e1e501280b9f513be09f2a0993684b19b77211809a4c8d309ee1", + "collateralHash": "bed4451e311d4ec04ad2cccb5fadb4d46aea7af8a348a94df4b0a845be082fc1", + "collateralIndex": 0, + "collateralAddress": "XgNBP552cFnaN4x3GnCJqmi4wLGAPTJeQa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.21.48:9999", + "registeredHeight": 1736372, + "lastPaidHeight": 2127472, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu2nLLB3egMb9aZFugCj7bdJa7ZXWFJKca", + "votingAddress": "Xczj7552vHciqvTP7LDjET7BY8T4hMkCUq", + "payoutAddress": "XoupEkBM717wLAMcZVieTv5eeg2epv6Yf3", + "pubKeyOperator": "11cdc4aab0fb071345a2f0cc16d3421be26fdcfa1272dc4e3134a651de646952eaf2ce6a60f23f1264382bf981641d28" + } + }, + { + "type": "Regular", + "proTxHash": "45e0d7bbb4aa053152f46640a8095e46049493659deef7efb85927537cf18aae", + "collateralHash": "0d352c34ac238bc4ab97bcb01c840338a42cefc7e4d08f0c0254731fc0f1c130", + "collateralIndex": 0, + "collateralAddress": "XgpHeetxdch51W8tQFt2HqCg7ZGc5GK9f7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "165.22.236.90:9999", + "registeredHeight": 1736386, + "lastPaidHeight": 2127491, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkhv83M6w2zBwVEr7vyhqw4sFk1zBeuSZU", + "votingAddress": "Xk76dWoym9AUTh6CuC3iA1rV53XascF6Pa", + "payoutAddress": "XoupEkBM717wLAMcZVieTv5eeg2epv6Yf3", + "pubKeyOperator": "8eedd2c3ba53f0cf6ad4e2a4bdf5d1b85fba8288ff16d146cc1a1c256f39b1d51dda3f758079814f4686c941bec99a20" + } + }, + { + "type": "Regular", + "proTxHash": "b0af8c4ba35d62dd056311fa0c0e0695d295b6896a18cb7f2839670203f4fb52", + "collateralHash": "482eb7b0826225e34874c57e19a619fa514941d2e64c5a372a3c70600c294142", + "collateralIndex": 1, + "collateralAddress": "Xc9jEcv8TZcnzCh9gfCk5QVe4j5DTUYwpb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.128.243.194:9999", + "registeredHeight": 1736452, + "lastPaidHeight": 2127524, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124357, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd3ZkAJ8Ut3ztXR73DBCLrcgvydQZuTt9u", + "votingAddress": "Xd3ZkAJ8Ut3ztXR73DBCLrcgvydQZuTt9u", + "payoutAddress": "XfUXdmrY87e728By3AqnQN7ysK3tkHRJoH", + "pubKeyOperator": "0081e4ac02e777fb31465936e39f1257187e266a16ed0a670ee1dcd4239ae345d581fe06cf2e87a233b054907529ba9f" + } + }, + { + "type": "Regular", + "proTxHash": "c0849d285b5809803d13992edec8119e703e73bff98f417da317155a61a48100", + "collateralHash": "99784f6e1f89eda12c708ac048bd2ed38c8cf0cae1e09ac9329bd630aca1d32a", + "collateralIndex": 1, + "collateralAddress": "Xr65mGdi5bWaEBhxvfTJo98nfAwnvEiT6X", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.127:9999", + "registeredHeight": 1736470, + "lastPaidHeight": 2127563, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsHE7DRdJjEDLSmLRsEharEKtev5pEiUFs", + "votingAddress": "XtdL3dNN8fuPF7J5ppanjS9vgYGZVBuT8V", + "payoutAddress": "XydofwbfiEHs12yJQ38XopGtQ9jrczGAJ6", + "pubKeyOperator": "8e8e11b85e39a3bae5f7ead09f7b5578e7eb6d9a2c23524b2768351698008bcef29e93123f8fd4e03e638fbbd16e7339" + } + }, + { + "type": "Regular", + "proTxHash": "5c237996a54b18ea998167dab89698c047510456e000a2223a4d644e4d08226c", + "collateralHash": "ab4938b652e876f7965d1e2ecdc12baaad4bde9c88990732d7102a5ff9ea3e3a", + "collateralIndex": 1, + "collateralAddress": "XgYPkp6UeMTEtUtaM1cEgW2GdJreFGEBRA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "164.92.249.64:9999", + "registeredHeight": 1738732, + "lastPaidHeight": 2126467, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg1HSNVQTPg6oGf3ghG9ED2uRx4pnxmqdj", + "votingAddress": "XmXihnQaMrZHhQBK243djnwrQj3LikkYeR", + "payoutAddress": "XmC7grcEWKdVtcNSsPc65gFeobHZg6YRkR", + "pubKeyOperator": "88738969075cb51b6cd31d5ca494f62f0cdeb5e2473a60b54101fc24a72b4f3fcce8f4edced23841ebb342187c8bab0c" + } + }, + { + "type": "Regular", + "proTxHash": "650220452554bb099afc6875e855a2d3a13c653d7f42ef61c15391059b4ee4b4", + "collateralHash": "9c2d14a8978d4875cdfda8f0e1638d3be59d9ae70355d58e0868a5d89baa4558", + "collateralIndex": 1, + "collateralAddress": "Xm2qdENHBpmgos79stX3f8FesCTkK3a9jm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.152.242:9999", + "registeredHeight": 1739232, + "lastPaidHeight": 2126935, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123773, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbrdJViKcCBym2aiYY6De4DrF1HAbKuYjR", + "votingAddress": "Xp4FaUcMxzkEYws7q4eZdJ7pV7apnQMBjE", + "payoutAddress": "XumNzpm748TtdZE1AubwLm2K5FexUZMpvJ", + "pubKeyOperator": "0b8d1d3355a0f37a365d9e0e42410ebe6442e36a0f1ea3c74467d68145870b2c68177867bdbe11b138303482da470e7d" + } + }, + { + "type": "Regular", + "proTxHash": "043905d429eabc849fec92708a7337aed4b18f7fb5fba48cbb0a015d913fc893", + "collateralHash": "70a136b7274c5ee77b367673899c4f492e9e1f7f3484fa9eebce00cf2510c766", + "collateralIndex": 0, + "collateralAddress": "XoWeFvKDA77nkKt7KWQkvWaJe3FiLLcpz7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.248.169.180:9999", + "registeredHeight": 1739236, + "lastPaidHeight": 2127646, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124477, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdxRNP8C98JdsS9aJJRvJCjAP2V7MQrrdK", + "votingAddress": "Xgzw5YUJcQpcjYMnqUWZQpkuqoTqF6pDC7", + "payoutAddress": "XbvH73QXNmrVD58rhSrtFsvJzTk15jsExo", + "pubKeyOperator": "82d34a72d41d963d6b6a98aa09080a8f98ed2cc0acfb7b7d4204de14cf89f120f6f144f3fc30c415a375d79bd40b9fc5" + } + }, + { + "type": "Regular", + "proTxHash": "e473c79726c18cb3f7e0865a2705a91e0993dcd2904b1e088b333a6bd7698bf5", + "collateralHash": "0696f0605dc10dac45eb308105bd9f58422d3cb98da9f048059670de5441d9eb", + "collateralIndex": 1, + "collateralAddress": "XpcwMSPVerzyqaEVRmP2WBK8xeUpr5mdVY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.110:9999", + "registeredHeight": 1739742, + "lastPaidHeight": 2127335, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkLZ2tJEBeN1jJBmTMzUKhSYDcwA9krt6H", + "votingAddress": "XdZS2be7h1NxtLQGLR1JJ6YczUKP5MUfmH", + "payoutAddress": "XpcwMSPVerzyqaEVRmP2WBK8xeUpr5mdVY", + "pubKeyOperator": "978b896ec439635e856aa2ff258af1af52d08c6f3b41db7bc2f097d01624fad691a4f5e5aabf8bd4b8fbda0a3ae42be6" + } + }, + { + "type": "Regular", + "proTxHash": "93b040be3a56605fd1ab32f58f58677585dda482de626c6fd2d71e95d7b3ad06", + "collateralHash": "a590190e3a5b0e663b4a388fd782f2659a3ff2bc72266d70078e3d85e5b542c7", + "collateralIndex": 1, + "collateralAddress": "XwK1Tss4qbCWx3TLMgAtwtQE7ttvEybX6G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.112:9999", + "registeredHeight": 1740237, + "lastPaidHeight": 2127858, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfQuQLs36ZonZtCVtDfobUU6X82VnVYczc", + "votingAddress": "XnEF6cYrXkkCWXYwXTgWiKgaML6R4Zzce8", + "payoutAddress": "XwK1Tss4qbCWx3TLMgAtwtQE7ttvEybX6G", + "pubKeyOperator": "135f473c23f97d9b930f6e257a1602105c4ad4cf5a9f81a8f875777462cee36e3a3ed1eb6082d1c4c1a41165b67878d1" + } + }, + { + "type": "Regular", + "proTxHash": "44f6dde7fcc32a6c2bc83a6845cb0f4074c44fc35ef3605a523632c4a14c028f", + "collateralHash": "1b4f646ed95e6a04c92f67a6236ddc138a16dacaa9fe668e9a303684ece2d36c", + "collateralIndex": 1, + "collateralAddress": "XmvZfTE6RrQobx5a8S4KvrfXFczATA5BXz", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.86.40:9999", + "registeredHeight": 1740755, + "lastPaidHeight": 2128207, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdXmbcnpxHNBLRuTJ5aVaiiqu3K7B8wkNi", + "votingAddress": "XtngPVc1jpTDiQZaYewMSH3WLjMmENiMWL", + "payoutAddress": "XmvZfTE6RrQobx5a8S4KvrfXFczATA5BXz", + "pubKeyOperator": "147060478ba25f392f2274aad80178a64fe5fa038bf4ebfc4af1ecb119ffb9de236b25ccf8e472197c2a0495e6c285ce" + } + }, + { + "type": "Regular", + "proTxHash": "1c458c0b0d51bb1b6be7282ddfc6b7b6e173f4b7cb291f446eba0a67e059fac1", + "collateralHash": "ebcdfc5a5ee9f80883a38825ebb10e758511a9f032471cc0b9f19eb152d81025", + "collateralIndex": 1, + "collateralAddress": "XxWfRfXqRx9f51NTn5gFi2kW63dnyU94DX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.36.40.242:9999", + "registeredHeight": 1740926, + "lastPaidHeight": 2128430, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122133, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnWzpzFUm6Fdw719wZ1vptrpmods2Cbde3", + "votingAddress": "Xru2J3o5YPUyy2z8gpzuuwGkiv2Z4GNfU3", + "payoutAddress": "XxWfRfXqRx9f51NTn5gFi2kW63dnyU94DX", + "pubKeyOperator": "8d90fb5d80d4ce47fa3d46f4eb69c516d7ffce5974938cda8a0055d4e1e4f445251c86b75327e5d776618e29b9c26ddb" + } + }, + { + "type": "Regular", + "proTxHash": "de39d1980a7e9f5c86775f0e0767ac67f8113b74441a635d442f6d09050c11ed", + "collateralHash": "e829aea823d8063d2bcfd742c11d9c8a02f2cfffb8f4cec723c7ad97614d3a8f", + "collateralIndex": 1, + "collateralAddress": "XbJgMoHvwhr6RYdGVXW28qniJ1US2Y31Ez", + "operatorReward": 0, + "state": { + "version": 1, + "service": "70.34.210.105:9999", + "registeredHeight": 1741300, + "lastPaidHeight": 2125813, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119744, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvzrQqTGp6j8EKrhkitDoctiEKMdcRgTay", + "votingAddress": "XqJPFWVGhkyF9cTWrjU2fXeNMYjoPEUJga", + "payoutAddress": "XbJgMoHvwhr6RYdGVXW28qniJ1US2Y31Ez", + "pubKeyOperator": "13d0fbbe1a6812c94aefc2e34d517652115a09de4695deac39a7d34b34f1de302414456352f589de243544bf54adfbca" + } + }, + { + "type": "Regular", + "proTxHash": "eb63f6a09dcc969de242a18dd7fddf8d494dee7fb6c9c841f4a47a52c9923d5f", + "collateralHash": "74e94d67503407b0207a579e8c5597a84f49f63b6e65b5c61c474d2acc48c9bb", + "collateralIndex": 1, + "collateralAddress": "XnhALun5NxMudmkM8wD5aBwFc9TC5TnJEa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.125:9999", + "registeredHeight": 1742043, + "lastPaidHeight": 2126226, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdwrnpzS4hUFoujP3fxBNfoSCPVi2aZriB", + "votingAddress": "XrRcC7L89TjECfkP3hDTu9Jyo9whis9dGb", + "payoutAddress": "XnhALun5NxMudmkM8wD5aBwFc9TC5TnJEa", + "pubKeyOperator": "8c46ad5720fd370f39f126838c0986ad9f1178188a4fb16d9738494dc1c5730da7d36458acee3ffd620bfe392e361b0d" + } + }, + { + "type": "Regular", + "proTxHash": "84623586ec667faaed53174e1252ab26c5283e768cda0d0f9c06a63997b7aaee", + "collateralHash": "3c93786123b908ec05a7e1447cabf07d1b48185fbb4b85e470e83644aabd55ea", + "collateralIndex": 0, + "collateralAddress": "XyPaTtSpWefYJ2YfgofBwhYRHJy1ekQmKx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.122:9999", + "registeredHeight": 1742047, + "lastPaidHeight": 2126231, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfxgVC4phy3ccdzCfpW1RLE9cGgzrMjXrN", + "votingAddress": "XhwBf8srRDf22hthKWBQPDGe3k4Sq7oKpx", + "payoutAddress": "XyPaTtSpWefYJ2YfgofBwhYRHJy1ekQmKx", + "pubKeyOperator": "890ff1f431f2b4d3d6b77872fe40a13ba7bee65956a8c509534b7c1d101d937d45afd7646cb75735a39a533581182e56" + } + }, + { + "type": "Regular", + "proTxHash": "4d9e7cec54885592f2324c3e96fd2ed3a4647fe4ec25ca38652aad12ed241e63", + "collateralHash": "70641aaab979aa26f25d0899814d05d0f2c824d2f8035062dd1d7524c501c04f", + "collateralIndex": 1, + "collateralAddress": "XrFXGkKJear78Xm47TsS1Msb6paP4PR9ZQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.6:9999", + "registeredHeight": 1742708, + "lastPaidHeight": 2126050, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1956141, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xobg7a9xG2KYYFguUbAGNdA6bLRpEpV9Gc", + "votingAddress": "Xj9XEShSWxeP19khxTg85LcDt7NG5AZbo1", + "payoutAddress": "XrFXGkKJear78Xm47TsS1Msb6paP4PR9ZQ", + "pubKeyOperator": "06461cd1cad6b0659bc9b2e066e550bc04a940dab682e3159262c6788e23b5d7636e7bbc8dba16f4d0835d598c6db2b7" + } + }, + { + "type": "Regular", + "proTxHash": "9878f0e05a8fad988295a2fa2a4baf6ddfd8623e7c4e5ca2daf33ee387d37876", + "collateralHash": "9bc19f37b87140d8b8b6f65ff3dfc68f71a02c77e239044b2cc8d7be8f562017", + "collateralIndex": 1, + "collateralAddress": "XsdLrQzYjY6WFM6xjTgGstySBDnQoheMqr", + "operatorReward": 0, + "state": { + "version": 2, + "service": "70.34.204.189:9999", + "registeredHeight": 1743709, + "lastPaidHeight": 2125982, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985053, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqVp4xRXcCSFm3VJE6smBHUxs8sFxipsS3", + "votingAddress": "Xgfb3HsYgAGg3SmudUSiG2CWMwPGco9eCT", + "payoutAddress": "XwyDK7VvCyic74Zp8Ub6XsU3X9QhZzvzqz", + "pubKeyOperator": "b22f7e89ce5875f11f824957e5fc4513be38037de94de3d11020b3201d09a209210230d4b9bec6d8205258d1f2db4070" + } + }, + { + "type": "Regular", + "proTxHash": "8e5edd7e2efca9e276aa0bbcb9f5bd6193de0c91aecca9d668cfb9218a0eb339", + "collateralHash": "6d4700a2146cae7700252351d7d5b7e49ce29282ef8972db99e38f39217ab0ed", + "collateralIndex": 1, + "collateralAddress": "XeYLCr3VVYoB5WJhWFuYEYkccZhi4jLFhi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.120:9999", + "registeredHeight": 1744270, + "lastPaidHeight": 2127399, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1765464, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XucRAbWMJitUxEnQKkjDfZDWmDFdqKSLff", + "votingAddress": "XhvPbo8Cvhw8B9bHZ2rotWQBuxMLMKqjPh", + "payoutAddress": "XeYLCr3VVYoB5WJhWFuYEYkccZhi4jLFhi", + "pubKeyOperator": "02fce0055e7809d2a23f9533d5966f23306582ec8e845467ab2b51a0c4d1ad023d1fac365b5f672a267b5d797176dc67" + } + }, + { + "type": "Regular", + "proTxHash": "c5bed38fd315533dcad0b112a3a6e3bcf9a2e388a8bb8691d2832ef44ffc4ba3", + "collateralHash": "c8d9bd034e82d320c88d64bc340cbc2d2d1cde754173ea4bf749c6862678ec95", + "collateralIndex": 1, + "collateralAddress": "XtdpHKWgDiEspT3uPaVnwHkkrjRfJJEgnw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.123:9999", + "registeredHeight": 1744290, + "lastPaidHeight": 2128130, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdx9tVBtgoNaHHjjH37wdaukeXcRd9xYQL", + "votingAddress": "Xkioc4BXAdwxBS7oAPcv5pmNsZAKg5J17n", + "payoutAddress": "XtdpHKWgDiEspT3uPaVnwHkkrjRfJJEgnw", + "pubKeyOperator": "10eaeaefefc70f275896756f8dbf8df5205118ea03265aa4a31236c5d4825f6d7fe6a29ca6606158df096f9f8b6a36fe" + } + }, + { + "type": "Regular", + "proTxHash": "f5d8254fd33c06cb67299ca013de93f287d8ad922fd40c24b4b4d0abccb69cd8", + "collateralHash": "96477ecc20be124c0151176939a063386f7e90e6c2c860b8bbbd8435808f54e5", + "collateralIndex": 1, + "collateralAddress": "XhfK9pDNX47NV5AbghCmS1mXKofBeEtZkc", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.90.185.139:9999", + "registeredHeight": 1744579, + "lastPaidHeight": 2128487, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xai4D8hSYNaQ1EexJ3KbhGDoonTPp8HBKv", + "votingAddress": "Xq5mnvcb4n7kssxQ2CdD83BVAw6e8vwdFe", + "payoutAddress": "Xqg3BvtT5s8SpL7NhtSGsC6tjH8xKgPmKg", + "pubKeyOperator": "030f383beef3c5cf77f34f77db500c055575e59955a6b6f57c1b791d8d96fb2e67e1af5f45351ab7c09ce616f7addb97" + } + }, + { + "type": "Regular", + "proTxHash": "f7c25adbbbc69d4fae2c5deab142e494f90ac557b908178de830f5788ba8c81f", + "collateralHash": "7c76f049efe9bbdf04bfd789c62ee55594cb66e58ea23b5aa7133a4a64dce949", + "collateralIndex": 1, + "collateralAddress": "XejBiJ3AXnYsrUzuBsdgj7hDTjiApMn7Pm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.122:9999", + "registeredHeight": 1744909, + "lastPaidHeight": 2128744, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuVYDuDuzNYS3a1nTFfvBCkUahCk5P3aPk", + "votingAddress": "XrQXWAfV6CjmMtwHSQCvUu7DneBxfp1xKv", + "payoutAddress": "Xxy5wBdRRtsWeoqiPSwbSv4EQvLnmi8VpX", + "pubKeyOperator": "132619e2a85f960c4d643cdc1d8433d0469a2b17931a117da3f1a33b38d8d307cbc21b9439dd43f14ed6113b05ebe8d0" + } + }, + { + "type": "Regular", + "proTxHash": "5189175aac8cb983ca656fb032c35bee0a4e18147f9580d14925b079d9b1a4f6", + "collateralHash": "e37d139d6f0c1be4cc9a9388a942d5a8195f3c9f8d0e9bef9ea415a7ea169724", + "collateralIndex": 0, + "collateralAddress": "XjzRuF46aCMzbEiPnRiYPCi9Zh3ERsVGDX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.15.254.224:9999", + "registeredHeight": 1745080, + "lastPaidHeight": 1870286, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1870890, + "revocationReason": 0, + "ownerAddress": "XfcjwpL7cpsixXXdiMPAN6i1NpQtKGjRAG", + "votingAddress": "XrDFL1pNoEhysN1EDXURMPjFxSkFBBSjqQ", + "payoutAddress": "XjzRuF46aCMzbEiPnRiYPCi9Zh3ERsVGDX", + "pubKeyOperator": "073c7b9f6d5a5c120e1b4e041fd891ccff9ff48feefedea76b35be6e2c59ed8daaa1eae813af20322f13717f144e5646" + } + }, + { + "type": "Regular", + "proTxHash": "24a19a58c286eee86660e759edb046ad152f23f9d493de16a33f0e9571ed70ae", + "collateralHash": "cc7b3031256a75fa91f06d72def7c3c6b87dc9684579884164f31938176cb25e", + "collateralIndex": 1, + "collateralAddress": "XynLBCKxKYWSBWNnLEXpYP5vbUZ2zr4oyh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.64:9999", + "registeredHeight": 1745527, + "lastPaidHeight": 2126033, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfVsUDxoHNHuCEGGGiXucqbPso87Hd5kJJ", + "votingAddress": "XeCjwkaaZBRscYh8YH539oG96nETx4m4qu", + "payoutAddress": "XePcGP2KTMXjvAPo3s6zZDazTgPXzmEZL6", + "pubKeyOperator": "86df3cb8be2dd8ffb766330099593c5e271cee4960aa029d4d984a4dd394918348e8912e6765cdb87bd8a3ed476be8b4" + } + }, + { + "type": "Regular", + "proTxHash": "61686948244f19b81bb199ccd09e7023240663345146a81613a881519bbb5fbd", + "collateralHash": "a479bb1ea2ccd7c7d6927717371d14671f74adb5a4347d072eb95913f683fc0c", + "collateralIndex": 1, + "collateralAddress": "XerXozwpmAyZ6pMvo3BNzS2nteuLjnGAZ5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.113:9999", + "registeredHeight": 1748021, + "lastPaidHeight": 2128221, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoxLxuG6QDozm4Fm99A94r2Yuwr9inqird", + "votingAddress": "XrbUDq2iN6fdGMcsw32N5WKdDH9k1HxaEe", + "payoutAddress": "XdRoUGbyypRizQytJq6VuSWzGDxmUSZkuN", + "pubKeyOperator": "00503498fbe6c47a3ef63c885e2b91679194b389e423a1f061f2a5304fce52765cbc93fda64d6950a27fb83e862e42ee" + } + }, + { + "type": "Regular", + "proTxHash": "f6c6fe7db623427dc3a0fb6d991369d00c89a05f29f46b9ed7ba7fdef3ba3230", + "collateralHash": "eab5d93d112c92bff7c0e6efef0f5ce15c6b78bf81633e305cc46a5da2760731", + "collateralIndex": 1, + "collateralAddress": "XazPtDaPmD69FpY9vdgTC7ymGaNHtYjKGx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.71.158.108:9999", + "registeredHeight": 1748806, + "lastPaidHeight": 2128535, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2125360, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiXKp4pQVk1QhVw8rthkuUyFFTBh2Vdyx5", + "votingAddress": "XiXKp4pQVk1QhVw8rthkuUyFFTBh2Vdyx5", + "payoutAddress": "Xx5Awmc2LGcL7nKN7MRW2eYJmPT7ffiL6c", + "pubKeyOperator": "82c7cde4248c81060606a2d1f4863e26f4709d5ad4f81a054c17af63560905f2d0870d249d51b818bd38b0497d4ef583" + } + }, + { + "type": "Regular", + "proTxHash": "39903a0d576f05bcd9d53be0620dbea4dcfde37dc98984652ec8f06e1cf004b0", + "collateralHash": "bac0c1c5a15d284c7aaf7881f9e1900b46001b86e285d531039f49de9150ee36", + "collateralIndex": 1, + "collateralAddress": "XydE3LaKWMGt9Nk7256SNuh59PtyaKSQSa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "52.207.162.14:9999", + "registeredHeight": 1749847, + "lastPaidHeight": 1950811, + "consecutivePayments": 0, + "PoSePenalty": 4165, + "PoSeRevivedHeight": 1796570, + "PoSeBanHeight": 1954122, + "revocationReason": 0, + "ownerAddress": "XsZfuEenvHUPmSBa62SEEBVn8AGMycxYwF", + "votingAddress": "XnYSvfjGKwC4cTCoCFncKfQKNWrumauYzC", + "payoutAddress": "XfmUd3ehuE3oYXTpTzf5GghD1yyCUrZ2HZ", + "pubKeyOperator": "8afbd1b3bb2e5f53552699c0302e08efd8a9aecd566a94651810595e527691a789c7c8b8301b082579ec1d6b6d0d9aca" + } + }, + { + "type": "Regular", + "proTxHash": "caf370f972954d872776738bafaf2265bcf4a7b3797bc7bb39b690c6fa621b3a", + "collateralHash": "8ed4a10b6a194be29c580040c38bb484f3b80b6cb27a9bf6759c081138a70500", + "collateralIndex": 1, + "collateralAddress": "XbpYfZqS4kvJooGm8JKJkVr2ffGSSAidHW", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.140.19.201:9999", + "registeredHeight": 1750132, + "lastPaidHeight": 2115611, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": 2074586, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XxpeY2Wnfb41WK68FyJ2AKGN9f5N5Sre55", + "votingAddress": "XvubSmQgeKwivwBFb6t7jxDwyQrNrEYPNJ", + "payoutAddress": "XhNaNdJrHs2j3FpFnWux1sPm2FVzbFBmqm", + "pubKeyOperator": "068622696e97ebbfbb14f8e644d160084865bddbe0aeaeb70cd7e834e46de57aaf2c2fcf1ce56f8bbf502456df6423ae" + } + }, + { + "type": "Regular", + "proTxHash": "0e9728412b7431b360799b1178514f167591c8044ae0fec2aa6f95e25a5134b6", + "collateralHash": "7c7873c9e190cb5a9699ca18ea10393a4e8f5846678934517ecc09121f6d0637", + "collateralIndex": 1, + "collateralAddress": "Xu8uEWdiWUuzSVnh4GCioUjCXzAGapya1q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "31.148.99.104:9999", + "registeredHeight": 1750156, + "lastPaidHeight": 2115966, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": 2014283, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XyLKkarYQyc8bJSpfmWcnoRJrDVSUz23iF", + "votingAddress": "XeSK51MBvG9YX6AFw2wrg82kh4L4AFPZo7", + "payoutAddress": "XwyHaBFgSLRcNoV5oUQKu4e8YWGFaHdTKN", + "pubKeyOperator": "8660eac51fc395c803388273a6f65a90ce2e06160893cac61e325c7bc3e279f32d1b2bb3655aa1e667b2e4a81083b460" + } + }, + { + "type": "Regular", + "proTxHash": "4b803da2f9fd9b01f18b931a6f3470adcf348ecfac71bdf0817251511db3947b", + "collateralHash": "87da16a94d2f40fa3d2831e15104c2d6cc86955c9b08985d92a600109f4cc014", + "collateralIndex": 1, + "collateralAddress": "XfMixgiBhtafv7vCqzTYkdNEbqGe7GDt1M", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.126:9999", + "registeredHeight": 1753494, + "lastPaidHeight": 2126694, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrYeJ59u5du8PanoeE283oVJu6ujUfRH2T", + "votingAddress": "XetPoF2jGxEhQ7rt6P2dMRwCu6i7zJHFA6", + "payoutAddress": "XsMWr3FpAUVFirpWX8FnDEb63Xd6WnxDyM", + "pubKeyOperator": "86ff372694b3421196c066b8c14d292d208e2379d0044a6d274eac5ab11fd12de7b1531ee1a6e92931145c9a77879b59" + } + }, + { + "type": "Regular", + "proTxHash": "f8f1f4968231434417ef6c5cf3ab9e4916407ba2d798dbc87a1e2bc9f88f6ac2", + "collateralHash": "faf036e73537e8c76443b85034596393968c31c877b96c9bb8ce6791dfff5b2f", + "collateralIndex": 1, + "collateralAddress": "XiBgtXyz2YTrkFEhC1QYTqNfVvZoNALGzd", + "operatorReward": 10, + "state": { + "version": 1, + "service": "194.135.84.96:9999", + "registeredHeight": 1754731, + "lastPaidHeight": 2127853, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsajuYDbsWV2za7GuxhcpqJwPXumkcMTwy", + "votingAddress": "Xp97KREKtzNFPhYqyKDNNd2o5Dzrurgo6Q", + "payoutAddress": "XbR1nKmR2zxaiEJ6tRk2XCB952MoqTugx1", + "pubKeyOperator": "892444eae6d068c6dd098cba2b9942edb321bda68d96b9079b1a7b5decb1f130befc8ce261bb3ef6fe526cd2e93c09e4", + "operatorPayoutAddress": "XorJDsCNofsrBAFJszuthpAbpEucL3eDrr" + } + }, + { + "type": "Regular", + "proTxHash": "bdf8eb6498cf70e88471b593e430b7c6cb208a9f1579d9a2e020816cb36cd05f", + "collateralHash": "bdf8eb6498cf70e88471b593e430b7c6cb208a9f1579d9a2e020816cb36cd05f", + "collateralIndex": 1, + "collateralAddress": "XqLfwbBdTdvH5z86enRXW2mA1KvssEUG4Q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.34.233.205:9999", + "registeredHeight": 1756410, + "lastPaidHeight": 2127213, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121078, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqa8mANJVhPQy72smHsLNTy9fMze43kLmx", + "votingAddress": "Xy8r3CF7ze9Bjksqgo1buujuVQZ6511yDc", + "payoutAddress": "Xt1pwGbfbmTDsnF24iccJheXfqE1rZb9yg", + "pubKeyOperator": "91fa29c961a28f46d7c0ef9ee0e079521f2659de7da34823441565f10f7a9f44fe104d32418cc98612f5daf0413b0af1" + } + }, + { + "type": "Regular", + "proTxHash": "cfcc0eaeb015205c668ceace1f2092051e64ef60b0b1f4e384bae6cfee308e59", + "collateralHash": "32667376e6b201b024b0758a7fd60079b68632d9eb8b60c07d9298a2a3157a1e", + "collateralIndex": 1, + "collateralAddress": "XrxEEz949RrpMrQodVGvyXAerWZ6gEtFLn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "18.213.197.116:9999", + "registeredHeight": 1756414, + "lastPaidHeight": 1985367, + "consecutivePayments": 0, + "PoSePenalty": 3981, + "PoSeRevivedHeight": 1986173, + "PoSeBanHeight": 1987530, + "revocationReason": 0, + "ownerAddress": "Xjufe1aN3TfhGdjLQ8PwS5tTGL92s5LEMB", + "votingAddress": "XhQQn3kFSRCb1yBmaRJwBtCVSv3N41z3ci", + "payoutAddress": "XqayMsJqpQcmLcm9gkkgZt5EwhCbdGKC1U", + "pubKeyOperator": "95243cdcedf347dd77946115e77bc1250d4fabbb1a41be6ea8365b96d567c75a9f56f9ae98b4535fda8eeae405acf8a5" + } + }, + { + "type": "Regular", + "proTxHash": "2908936ffbf1294fe729ccdfdb5100715bd63eb4804b1f032d728ee9de4a9c35", + "collateralHash": "ba0fdaec06dcf9e4582cfd07ea337471458c3cd0095c345f0ce48c116a8b1847", + "collateralIndex": 0, + "collateralAddress": "XhVoUfm6sGF77ZBWKz88aoiNMFurzHCqxY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "88.99.11.8:9999", + "registeredHeight": 1756935, + "lastPaidHeight": 2126526, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcqSgBwzDFDTxzJaFXYbj3yJnaFq88deLg", + "votingAddress": "XdJncS7h44d65Q68cU1WBjd7YAeVw61NoV", + "payoutAddress": "XjyUwAUUPMuBtvuXVxcdNzLxjg6osdevib", + "pubKeyOperator": "125bd865ac3ae84bb91f31d2c6ca6feb6514c4bd48fe8becde6ba582bc1b3e1891f1016015e73002ce43ab54e67631a0" + } + }, + { + "type": "Regular", + "proTxHash": "70e1c86cb5afd02ea3892f93f7a5d1bd9cd77634f1cb42015a192253c29f7ae7", + "collateralHash": "a9b6e9727ab6882e9822a6bca230f2c6453036e8f3852dae1b46bbf2dd3f4580", + "collateralIndex": 0, + "collateralAddress": "XfVXHvmJGi1bGojfG22VnKbnXARUFgDUUF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.5.55.191:9999", + "registeredHeight": 1757205, + "lastPaidHeight": 2126745, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdMToG94aAtzkZ9QbfXKwgD34uEDeVmNoD", + "votingAddress": "XcDCKAAhDzn14wPfjGXrn7BZnC5KgpCBiQ", + "payoutAddress": "XeeD1tevMBXqR4KfuskuDpiVXT1L6f9obY", + "pubKeyOperator": "8c72bb52d2eb54a3aed9f3362cfd1094bfc2d667c31aa122ad5a5616afead18384a531cf2f1d9041332b52ae4527914c" + } + }, + { + "type": "Regular", + "proTxHash": "630207b9bb7cd379dee63f05b85349068ea95c0910e4545f05e4bcaa16dd5ef7", + "collateralHash": "b5aa953b474737ba198f1135d6e62757615b9db0dfba9998b2a7ccb2c2002809", + "collateralIndex": 1, + "collateralAddress": "XpYKu4HKwxDbYSKieFY9zEj8rqCRceVB7L", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.237.129.144:9999", + "registeredHeight": 1761211, + "lastPaidHeight": 2126252, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120186, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtLMoii8Nw2mEEts5kqZggRK4qpUao781J", + "votingAddress": "XtLMoii8Nw2mEEts5kqZggRK4qpUao781J", + "payoutAddress": "XwmssLzJDAHanGVGUFJPPKqyWpcy4rfUFr", + "pubKeyOperator": "8e8339ab23dafcfc90ba0f2427b7c83b9b5e078031d203bd42584d3445861d0366636d75d0959df9cd85e83e1f10dc50" + } + }, + { + "type": "Regular", + "proTxHash": "73156aeb83a98e9dcd8e7bece4f42467a480bb0dccaed8e4598f42acf14cba34", + "collateralHash": "a7e5937635b0f19db9be14b18437da76e1148d8ec9f567de0f6f57d6d35676d6", + "collateralIndex": 1, + "collateralAddress": "XeeLrJk5dMZHpZre9ATZ3U98fyw6ETdVVu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.8:9999", + "registeredHeight": 1761215, + "lastPaidHeight": 2127407, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1872408, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xav4Qo8peLoFGtHCpL2v6g5DCUY7g9XTEC", + "votingAddress": "XpZp2dUhxiPz1KRZ4bPJWDL89UKHHdTNy5", + "payoutAddress": "XeeLrJk5dMZHpZre9ATZ3U98fyw6ETdVVu", + "pubKeyOperator": "8d48800c9b2a45a642b3ffd9a9601a6cf9958368596c2bb028a7f7580e2491a15a64f31c067656add32f2e5456ef4974" + } + }, + { + "type": "Regular", + "proTxHash": "f4077bc50fa94fc1f47a3f324a79a585c07518965039ca663e809ad942eef8bf", + "collateralHash": "bb4836588c28c44098e5d418ff86bd065e014c2cfdc95b2b09248d0a64209dd0", + "collateralIndex": 1, + "collateralAddress": "Xyu8JxPH8xS78A13C35TT2rFS6bQRjfKyq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.21.183.4:9999", + "registeredHeight": 1762547, + "lastPaidHeight": 2128134, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeTqgt4Zpq4hqsTtcSTz8dsfsGPNEz5oJx", + "votingAddress": "XckR7EgFDPCnK9EWV4JtUGRUDRnMbTzRkS", + "payoutAddress": "XeQi9CyKRXvXYV37dVtHob2TiL8LXpZijE", + "pubKeyOperator": "04550d2a0337b05f72e5cac9157d84ab1f9f7d852370982eebbb5db64eb1f9eb1aa7718c49824dd43cf071410f4c0529" + } + }, + { + "type": "Regular", + "proTxHash": "26547cb7f7f9a37a1d9240051101365d33d1714547c43b132adf862a20bfa9ef", + "collateralHash": "47c3991a6fc7efa8d4260dc42d8e96281282f05545819e7e7922e9dd4c2fe3df", + "collateralIndex": 1, + "collateralAddress": "Xhf86okHrFfNUKZ7F5wr6oy9H7tdvCU1q5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.39:9999", + "registeredHeight": 1762788, + "lastPaidHeight": 2128432, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbmcQBLWP14g5ipDg1P2fuJwq8S4vW8FSn", + "votingAddress": "XkWU28xBA6T6dXdioXhdDsjCXajJYRL9Qk", + "payoutAddress": "XozQ87uf1kacH1CaRCRjdeoQK1Jt5st1RT", + "pubKeyOperator": "1548eb293b1b278a37343fb6f771818e916b8ce4e0e1fbc910a398542eda2e8dafafb725e83b3f127faf279166087a15" + } + }, + { + "type": "Regular", + "proTxHash": "245618dacd729375017ade5563802639127f382aa58b9d224a01fe6716112e39", + "collateralHash": "0f175fbb048ffbe6a634c42f438c55802527b639cd928d2860d4c1ad69eb7e3d", + "collateralIndex": 1, + "collateralAddress": "XdQvHwfAJGpcpNZ589EgpZPDyQBRw6wDS3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.161.110.79:9999", + "registeredHeight": 1763038, + "lastPaidHeight": 2128596, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvFbonfGn5hSKoZh1cEAsH4UN2PDtLdHBD", + "votingAddress": "XcUzyvoNni8iWNShriX9yayK2UVotcYEtq", + "payoutAddress": "XoVodFx5ZbzZ6qSTyxWQrdgNGqiRnxdo6R", + "pubKeyOperator": "8bc3e758d28c44c3610d800e8f400f3f11921cfb4bd2d49ea68c8a3b2e3eb1ee1228f273e4b72d3daebf9678bac28c92" + } + }, + { + "type": "Regular", + "proTxHash": "b5146ade3b6e1c4b7265ef2d2781a74ac8125d97f5d559c5b76f2292a5f06869", + "collateralHash": "642b300db8b8c9ef9616ab28a241715e7e69dfc2b34ce5740f21a4d1955bc5d6", + "collateralIndex": 0, + "collateralAddress": "Xw6ghy4U1a5XXLynDgDsyLk16eVGd9vv8r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.127.237.243:9999", + "registeredHeight": 1764640, + "lastPaidHeight": 2115459, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": 1996833, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XoZhjWL5jM6n1oUbiT5DLXrwqUjxPStbQZ", + "votingAddress": "XwoUywYdmQhTUCHFzd8FxAc9KzoML74jJz", + "payoutAddress": "Xw6ghy4U1a5XXLynDgDsyLk16eVGd9vv8r", + "pubKeyOperator": "0260dcb73135557becbbd7b42899c0d85060a883ed24004d4365424b0f7c859929f39d74cf397ca8c93964f8c229daf7" + } + }, + { + "type": "Regular", + "proTxHash": "f9532482e7801b464425e557e739c97766213e2f1344f65920f3a7757d8a8191", + "collateralHash": "8fbd18589702f390cda84460b472ca737f2010a6e2e4a9ea9a370137c81f19d8", + "collateralIndex": 0, + "collateralAddress": "XvTqcHFKsFRJiQDVNwF9TqRCBiP9c8QEBE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.223.137.129:9999", + "registeredHeight": 1769869, + "lastPaidHeight": 2127932, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwcDvJve1Y7nne3ebwEGQaZqRcJVnk31hg", + "votingAddress": "Xj9PJMePVncvx73gQohZMyChKSyRGUp7m7", + "payoutAddress": "XkZbWm9Pfp4RNJpUnCcXdjpZhGZLrSx1uj", + "pubKeyOperator": "19ba174ab6d09a8d882b09cd3b9d37a6783a96a8d57f3c4c3bd8a38288390c7f66015b33cbb15567154d9cc8f7736193" + } + }, + { + "type": "Regular", + "proTxHash": "b03483417f6ae162b17502414de14e004d1c1532d4b31ecf893bd9a9385e0c5f", + "collateralHash": "062d30d9a0934a78fa55fa21ae96d0a7f37511d7f5c35c7b39150e51e48d2ef4", + "collateralIndex": 0, + "collateralAddress": "XnraP7KnuJP1ajrjEB6HuhugwHus19idxy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.185.137:9999", + "registeredHeight": 1769990, + "lastPaidHeight": 2125735, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1884119, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfgHTwNGbFtX95xfJSxwAKokCtFnTwtoP1", + "votingAddress": "XfGqH23yMzgFh43NzV8RXhCnqyaGVjyLTg", + "payoutAddress": "XnraP7KnuJP1ajrjEB6HuhugwHus19idxy", + "pubKeyOperator": "98c9c678b0c8e6a665a69e3b9035d864a81377263e5ec7b0b10c351c43fd8d1413646c0d6a8fa6508d2cfe7f182da518" + } + }, + { + "type": "Regular", + "proTxHash": "bed8e001df4137ff55d8ff6cd76ac0ea065c11c8d1ffe76499cbfc9211e67910", + "collateralHash": "b1e43c2523d8528b984e99d9b0d6cb49dc5c86318744b99249bf7da80cb41fb6", + "collateralIndex": 0, + "collateralAddress": "XgnCAXsWTrsVgFKoxN2H2GFhyUmh9CSood", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.38:9999", + "registeredHeight": 1770356, + "lastPaidHeight": 2128403, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr9NHEhZ3bXJo1mELRsi6q2SL7R4571MQJ", + "votingAddress": "XiCJwVVM9Fu6xGbUTHyD4M7pxoEmyodQdy", + "payoutAddress": "XgnCAXsWTrsVgFKoxN2H2GFhyUmh9CSood", + "pubKeyOperator": "035c1c7b89f7b67233e0124a538cb61e8c6237b31f705713d01b957ac5a5162e97702a52f688626eefbdc7737ce436db" + } + }, + { + "type": "Regular", + "proTxHash": "660f203c6189a9e05d4d16b5a4df33943d3b14a5e366b61936de9e1e4161bd05", + "collateralHash": "a9950f0f50b702f05542d7b818a49f8fd2166d006303eb86cea1b18d7627b1e3", + "collateralIndex": 1, + "collateralAddress": "XtiGwjWMxRdKmPub7Z9ohWFMfeXGauX8Tc", + "operatorReward": 50, + "state": { + "version": 1, + "service": "95.183.53.44:9999", + "registeredHeight": 1772747, + "lastPaidHeight": 2127077, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsb8Y9ziiU2WFTGbCpfRQu6LfV3RLfJCr2", + "votingAddress": "XduCDLfubDVhAszRoQprNcA1zkbPT4DSWM", + "payoutAddress": "XgRszsSkzpqCscxUWP8jE8kg9aLoTuvDcr", + "pubKeyOperator": "187cbb120c1a104afe1ea464a65ca0717eeb5770887ef94fce97372d0ca4564288ec101e2ec87d365b8b0d1aee047115", + "operatorPayoutAddress": "XtAw1wTpAPcK3wxTud42xoZ6DXBKMmjfhG" + } + }, + { + "type": "Regular", + "proTxHash": "78bcafa99815cc9d0bbfaf1dd97056b3a55c70c75112d3aff6cfc00551c58130", + "collateralHash": "c9890c4e8363f826146f537f04d8306221a20e4493edb681c191e82b4bd3192e", + "collateralIndex": 1, + "collateralAddress": "XtSVGdfPFo1p9SJGjsYvhqdtXFG4uDmSsv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.190.254.227:9999", + "registeredHeight": 1773665, + "lastPaidHeight": 2126428, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2059477, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdqyScFS18Ue11CSYZG5mjKS6xDgpXeVMi", + "votingAddress": "Xij7kgu5uCjd15DmMjzYHjTu8qPNqgiUk1", + "payoutAddress": "Xg9WSevgrehcPHm5TvKXMPYCB9qBLFXthV", + "pubKeyOperator": "17e0dbc1ec02e89251a2e2dcfe068f21ce6db82ca6d5af45513bb45e6d9f589c3bb78f6424bd78598788be40d4f34525" + } + }, + { + "type": "Regular", + "proTxHash": "74f0be72ebd849742f39fd42cca9ef392a5da69778aee4ea8d2cbd3bf7168dcc", + "collateralHash": "f43521dd0e1849606bfd4e4d570c86b7aa61b69329a7df5d12b55b9dd431e4d5", + "collateralIndex": 0, + "collateralAddress": "XvpesXs2RKNU1dScmKkyMzDqyRfiMdZcn3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.84.100:9999", + "registeredHeight": 1774306, + "lastPaidHeight": 2127388, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1872356, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk1QGjwpEJiphjiXZXcgqmXP5fTywbgnSF", + "votingAddress": "XtBperQA9bsEBQ9tLYdzjAs6cYddaDmemE", + "payoutAddress": "XxXwSDqNVEEumJBgXSEfa7CVQcgXjUWEVs", + "pubKeyOperator": "82eee95b09b990ea37b2b03c7d960efe714ef14a113c78a6ac1eb7da2bb41f00e9a0c3a98d670485fdd32fce92d47a4f" + } + }, + { + "type": "Regular", + "proTxHash": "ef123c64acce15bd8871074d7b1912d427d713db0706825a533fd7a4829fc61c", + "collateralHash": "bc75e7f32b6706b5c6ba43b450e428635e3d994922a5303d4e0e96ed434dbc0e", + "collateralIndex": 1, + "collateralAddress": "XkAXByzaqoh4rLWQ9DQGbDSuvKuMS2q4eo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.69:9999", + "registeredHeight": 1775488, + "lastPaidHeight": 2126333, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuGt8bLW5Sh4TpZvqE2VET73JBAqbmLMGm", + "votingAddress": "XnCRETMZNyPz7wPtgHeEdBYP5w1UmpiEw7", + "payoutAddress": "XkAXByzaqoh4rLWQ9DQGbDSuvKuMS2q4eo", + "pubKeyOperator": "10942d8928b905b6fb3c4dbe3ea8f9773d6f9c782d23c95451b94906162507b074c0a3341bcfe9c24d488065acf4f2ee" + } + }, + { + "type": "Regular", + "proTxHash": "b79aac61ca0192f5411747d820e7ccb784d46b84ac91ebd81b578dcec05f201a", + "collateralHash": "a7e1c965fc7fda743452ddb032c8707f0ea36cc00408afcd471bd5d1180977e8", + "collateralIndex": 1, + "collateralAddress": "XdUd1aFzmJhoses6C4KYb4DH38wEh87xJi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.37:9999", + "registeredHeight": 1776922, + "lastPaidHeight": 2127486, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpQ61Ng4ohfMov9etKVdZ7ByCvmhZLEwPH", + "votingAddress": "XfEKL9GVR9rcdsudXwKLr71PSmuhxAX8Hk", + "payoutAddress": "Xc8fD4Suqmhoxfd6PNZ1KACTHk1ZzgjFFy", + "pubKeyOperator": "02aad965a6efa23a7f5955d725d744a8ddc9d23408bc593ca2f9fd4c4e5d05d001038886cdf6c9f2bb47af46c9f3e50a" + } + }, + { + "type": "Regular", + "proTxHash": "7a1218e508c1e6d029b8c48d2b203b83ab56078069dd839196cafb419d89add6", + "collateralHash": "e8f2c0c6e5b61f7fbbe3ff85f9a7b39b26e34e46e9fc2ec73d602fd608f707f5", + "collateralIndex": 0, + "collateralAddress": "XxP2MCA6ecAvMi9xGkCpzm3p5LJzAN14qY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.68.223.94:9999", + "registeredHeight": 1777156, + "lastPaidHeight": 2125852, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119784, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkM2N4rmeBuhvyBe54JkCDeK2aEhcSNDMk", + "votingAddress": "XrLKL91XdjYs3G3TNj2fRE88UDp65gTeCS", + "payoutAddress": "XvrpsUUvqScmCkrhKeq1DspuMx2xk9ERL5", + "pubKeyOperator": "026c9b3d5e494d948ee0503e81b19775c6482e0411fe8a9c4dfa55d8481802705f88e70790a6a7f542a3825048dc1381" + } + }, + { + "type": "Regular", + "proTxHash": "656baf01c5a3f63e6442a8986cdbd59e449884cbc4ebc8f2d57d3b84e1dd9564", + "collateralHash": "106f5e0872cd738a57899f6ce471d5f1d7e05fe64b18079db739ddf8ccceb4d2", + "collateralIndex": 0, + "collateralAddress": "Xgh4gC71ZzrSJh7maLerNm732ZMbsM9atM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "77.223.99.4:9999", + "registeredHeight": 1777217, + "lastPaidHeight": 2128868, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1891075, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhuxd5TYFTYAWwPvERfY1WrcTWeTAip1qU", + "votingAddress": "Xdntbfp7saZwSao1EEwz8ZSfVNQhe1Jc2W", + "payoutAddress": "XwXnXnj1h7bKD2jeMavcfskx3A5kqRtoVq", + "pubKeyOperator": "837524adb1b1407c69d2d95618c4f1213cbb45e4f9b3d91e0ca171c16444826563e9d540b22b64148cb4dea40bee3243" + } + }, + { + "type": "Regular", + "proTxHash": "056178378002cd44847b470d0c6409ef369354dbaca6cf7c0e763f5be287f459", + "collateralHash": "1009093311876d37543168f1870f75c2c4cf0f9e2fc8a3f637bd55c95afc5b68", + "collateralIndex": 0, + "collateralAddress": "XrCeaLPDyPzepAtpY65VHi4VJdBn5vYGKN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.53.124.120:9999", + "registeredHeight": 1777595, + "lastPaidHeight": 2125853, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119786, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xry8KU312DhrLJazjMm98mGg3R1tLsNZrM", + "votingAddress": "XocL1NNXkZoKfeGKY5ez84QHZtYyipnfkJ", + "payoutAddress": "XrECT8BiWTHZRbbbdeWzvJu6H5YbpD72es", + "pubKeyOperator": "8afd6df4c2b77962d0000ecdc535b617f855c7e2a2604c7d9125c6749060829dac2c2e13b58cc72ced7892b0370c77ec" + } + }, + { + "type": "Regular", + "proTxHash": "8b4483e06e341f91489a2aeb54c47360d54c87de76ca78fe5534d495ce8440e6", + "collateralHash": "896986d8467004e5cb02f8cb7c38534fe7af3935c3e82a8bccf3d918b79697c9", + "collateralIndex": 0, + "collateralAddress": "XifzpbbYP4FLSyFGVDD4MxmFXDckaaJGMG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "103.160.95.249:9999", + "registeredHeight": 1777661, + "lastPaidHeight": 2126939, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120890, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoKmEAUpHkJiueBZB38PLDpCCPMoneNxxg", + "votingAddress": "Xw6DHLweNvMzet1QfyxgqCKWM6VELMk962", + "payoutAddress": "XioZgX2Q72G2FtXDtgLTjoyFZcRm1fPeDv", + "pubKeyOperator": "921614b92d21a2267f9bcfb936cdf4902734808ec7a37c53c075e63d436a03ab35b7af07c39d1772a8b512235b467fed" + } + }, + { + "type": "Regular", + "proTxHash": "7565c207732b8e08071fd3535c0138954043fa36527fe2742c54e3d33e6dbaa7", + "collateralHash": "e7494abf884dddfd7c7a83a1083104440624725d374d730d27527b61480254f9", + "collateralIndex": 0, + "collateralAddress": "Xjjhjbk2fW4SGhoZzFuzdxz69zwwPQ4Efg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.120.194:9999", + "registeredHeight": 1778284, + "lastPaidHeight": 2127158, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr72NxMvbzJwcZouP273QRSfrUg4BtikZk", + "votingAddress": "Xv2Z8KtKTXq4YXmX6fveBCw1ehHZ89MRW1", + "payoutAddress": "Xjjhjbk2fW4SGhoZzFuzdxz69zwwPQ4Efg", + "pubKeyOperator": "95f125c17a4f161e98b1d44956ada7b3ceff8e53b92bc43b7c892b815925921cdc6f673a8799ea14add3fc7ac301ec91" + } + }, + { + "type": "Regular", + "proTxHash": "fb1163008b6bdaac82fc6e3b9f14fb58fd235267369450d86dd234d05ac51204", + "collateralHash": "6a4d68e86e9c340147b0b463ff4af19b2e2ebdb0ba8e50e4548d1fe3e3beb888", + "collateralIndex": 0, + "collateralAddress": "XthoXafnHMh3xKiWMdnFwKux9y7WtHV3CN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.163.64:9999", + "registeredHeight": 1778286, + "lastPaidHeight": 2126583, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfwZ6wxVDZwFKfVt3n3rmPCgXmYu5zqaLM", + "votingAddress": "Xg8DCPGjFDDKmaTkzg5VcftozDruU8oUD1", + "payoutAddress": "XthoXafnHMh3xKiWMdnFwKux9y7WtHV3CN", + "pubKeyOperator": "17dcef805b49a1256488f710d72698df0e35d702f29e62f0de5999bf99ed7c68857b0664a7483b2eb2799b17de8c9e58" + } + }, + { + "type": "Regular", + "proTxHash": "7af5f57b1a86a263719c78eef03b6fa2f6a119aa0fc5dafa4460f3569bd9434e", + "collateralHash": "32d4ac82ef83994786dc89bb83ed2276eb07d5f8b89c4198860c71ddc1a4b6ed", + "collateralIndex": 0, + "collateralAddress": "XxE42Zv9erEqQH6sKiiNrVpWUtAbVAXGxo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.147.88:9999", + "registeredHeight": 1778286, + "lastPaidHeight": 2128560, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2017832, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiuN25qL5fa6RETebECkuSKRKie73wuA3d", + "votingAddress": "XooawJgpi49GYDWPt7LXC7cPBHcrJ9JsP6", + "payoutAddress": "XxE42Zv9erEqQH6sKiiNrVpWUtAbVAXGxo", + "pubKeyOperator": "1872bb73f8b2ce3469c4f60fcfdefc2b3d48cd2b1a3b89ec52463c1f44ba5d9a63baef76dfef8cfe6470e068ae94d0f3" + } + }, + { + "type": "Regular", + "proTxHash": "4233fd4ad7d70c0718fea402f6c5cf88efba3c2b7003e099417706cba50d9d4d", + "collateralHash": "1107a8a76656eb2c8d759b609060071e652afa57b94e27c2320ef070d0d97934", + "collateralIndex": 0, + "collateralAddress": "Xfc5pcrzqBL6rfB7SWPnyX3PZYXrpD3Ah1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.190.167:9999", + "registeredHeight": 1778288, + "lastPaidHeight": 2127144, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbtyrCJCGERwhi7eR7dmQcrMhRwAZ6413J", + "votingAddress": "XgLCTD8g4JUvuDeYc47eQUyYr27KbfB3gD", + "payoutAddress": "Xfc5pcrzqBL6rfB7SWPnyX3PZYXrpD3Ah1", + "pubKeyOperator": "8a4c1f3b1d4cbd0805a8e4e06783e2af99bf9af87a8d33dae310254637093a77e3123a86450d48214156caa72fd6e738" + } + }, + { + "type": "Regular", + "proTxHash": "cf04420d4660d9fb339e4414f9c067ef5159082a7174633a8bd22c1cbd2a90ab", + "collateralHash": "ea59f23e77580f240e52e4e9a6fe35855215ff53739cad575db7bb0e7b209e9b", + "collateralIndex": 0, + "collateralAddress": "Xg6T4ZAeS3TX5XhXy91cdsVCCHRD6Sqtk1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.50.185:9999", + "registeredHeight": 1778290, + "lastPaidHeight": 2127159, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsQeS6NSJx6DfczToYDRFydnJGo4wazePe", + "votingAddress": "XxrT85ndpYUEwTNXepbNC2bZhTwGjHDs6H", + "payoutAddress": "Xg6T4ZAeS3TX5XhXy91cdsVCCHRD6Sqtk1", + "pubKeyOperator": "8cde276631b3de42371e91d89266ab4003afc5f935be97ae0a07f0923012717d2eef352f50afa17d0a34de44b86fe37d" + } + }, + { + "type": "Regular", + "proTxHash": "c43abf1906ae0561434a93187ccca63cae4f9c1454c2eb04d43d0e7d94fe4aac", + "collateralHash": "90f39cac47d9bbe682c468ec2d734ea8f458c8ad59a82989a6923c61b0d8d967", + "collateralIndex": 0, + "collateralAddress": "XbDdDoRMAZJFzuubwGsxUyhvFSNoSfbRHZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.77.47.170:9999", + "registeredHeight": 1778292, + "lastPaidHeight": 2127160, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiSYMTQuogAiTP3N7FSG4Vh3pM7Xr8Eq8y", + "votingAddress": "XuFY6NRhkKcxc2cTAXW98UJ1Hx2MeaBGQR", + "payoutAddress": "XbDdDoRMAZJFzuubwGsxUyhvFSNoSfbRHZ", + "pubKeyOperator": "0a705536d45b9b1e481b42ffea51d9e0197a2084a7382ce7fae49ff0a1e92ca4f00c30ad0b91288055c824a33612d84e" + } + }, + { + "type": "Regular", + "proTxHash": "87e6720b76fb69fb627abcaf2e18c43fd1c55de59b4f2b3cf1b5be6dd8398e0c", + "collateralHash": "f436239746b94433bd195cfb57a4e0eb94327315a902f496a5b517774d53a1e9", + "collateralIndex": 0, + "collateralAddress": "XrEbMcNzKTLXwciQFGhULgfexSXa3ZTK7B", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.211.81:9999", + "registeredHeight": 1778293, + "lastPaidHeight": 2127137, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj7umGASWrggt1S7PQr8YgFA8LWkpJ6Hn2", + "votingAddress": "XmWcmqEtc3rxKPK3TPsaGWpiEGnhy8goiR", + "payoutAddress": "XrEbMcNzKTLXwciQFGhULgfexSXa3ZTK7B", + "pubKeyOperator": "107ea3c630712f65234b0085c5c63d99405b9503f5ef7ebe6486c338826060b31c6f9c0bfea6705b006a61211f349b50" + } + }, + { + "type": "Regular", + "proTxHash": "c28d28656401d582e168da08395a141517fbfa00506a798fe7618195aca7b842", + "collateralHash": "6ac818c21fe6cf1f8f8d49e0e739acce8d7978c568e95c6b782df2bbcf6be7c9", + "collateralIndex": 0, + "collateralAddress": "XjtE4PzsnSkTfJsCphPT3qDjkujQghKuiV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.121.69:9999", + "registeredHeight": 1778293, + "lastPaidHeight": 2127142, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtiM97LvrRfiUV7z7P7P1ye5CELabfKtBH", + "votingAddress": "XvCsgbtWAnk7RY826bST2pL3tiPbmbwP1d", + "payoutAddress": "XjtE4PzsnSkTfJsCphPT3qDjkujQghKuiV", + "pubKeyOperator": "1796aea205961adce1b04055fb822250ab1028505d76c4a7888673e48bd11c4497a66b9c2dd493fb000e263b414fcba8" + } + }, + { + "type": "Regular", + "proTxHash": "81c8b62528bce99fcb8355892d89e42dbca4016603a15932721b30c18aca8b5e", + "collateralHash": "2c02685c57ac0eb7a34d2b1b15a6271ca8a28848643143c9de6226e38c47151d", + "collateralIndex": 0, + "collateralAddress": "Xf4bWRQXWm1kmZ39SqHAtZACVDpMjTembx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.159.199:9999", + "registeredHeight": 1778294, + "lastPaidHeight": 2127149, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnEGi6V4bLYzxfULdLmZoGNRGutveDjGe5", + "votingAddress": "XgNDeGgAzQdifd9s2XgDJtq3fnm52G7TXg", + "payoutAddress": "Xf4bWRQXWm1kmZ39SqHAtZACVDpMjTembx", + "pubKeyOperator": "02f858c489a4d9e152f68c461fa234a70573cbe4f3e0835657e7470f1616d5c7aac3f7cb1e0df016475f2235aa363df9" + } + }, + { + "type": "Regular", + "proTxHash": "681781be1b2439575bd0df4c039dfb8efa7410f5a0d43ff5e936749f38883ec5", + "collateralHash": "98792e9012635d11d77cf704bd34ea2a6b1d3b7be9c38882727c689bb2e94d16", + "collateralIndex": 0, + "collateralAddress": "XuS5kLNvuA6F9vn4K6Xjvg1W29HHHDxA9F", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.147.65:9999", + "registeredHeight": 1778294, + "lastPaidHeight": 2127162, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrXUWE9zbujTKT7ZmQNnciFBJhrrEXJkXU", + "votingAddress": "Xt1E2qkPGXNHC5Khhhd4y1Q43193Tc6xgQ", + "payoutAddress": "XuS5kLNvuA6F9vn4K6Xjvg1W29HHHDxA9F", + "pubKeyOperator": "964d60c70009baa39725e80716a71860e243a1cdf47b0d62e5145eb7493de0453943220d572d52e372aede5d25e0ee99" + } + }, + { + "type": "Regular", + "proTxHash": "db709ae7b437aabbf153c3e9dcc8d68ba232138097136489b92a4b2dd9e377c5", + "collateralHash": "63e56bd2045fe86af858a6c19b0e06e0942d818e69c83a20debcd4cc9d08f0c1", + "collateralIndex": 0, + "collateralAddress": "XhVkDGUtY9WuptckKhdeXEgcNfHVXyz83Q", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.107.34:9999", + "registeredHeight": 1778294, + "lastPaidHeight": 2126589, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjP11XT95YzsdaJYhRmQafNxYPzEZTSdgH", + "votingAddress": "XbDaAz8kQD2uNPFJwFAwguuFaiSVMvVcdf", + "payoutAddress": "XhVkDGUtY9WuptckKhdeXEgcNfHVXyz83Q", + "pubKeyOperator": "9620ca9950e7f57137c7743d6fd295f33f829772ecf406ba30f4344fd175ba343187c7ca16ce513a3e30ece278c5a51e" + } + }, + { + "type": "Regular", + "proTxHash": "7ea81723964cb105af40609cce9ed3f943e4b3bd9eda924223eb94539335e7d1", + "collateralHash": "19776bac1f3d2d492c3ec05c7a84314b4ecd0a1c9872f737438ab0a1726b782d", + "collateralIndex": 0, + "collateralAddress": "Xq45uvePHpL5PQasJKD3VhRhtziSxARkfF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.137.115:9999", + "registeredHeight": 1778295, + "lastPaidHeight": 2127165, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg4sjXQWbNGdsyN7zCwvMYiZVfdmwnfpQJ", + "votingAddress": "XjVSJwjzNeSmtEULqWizRvZgYpH8FXN232", + "payoutAddress": "Xq45uvePHpL5PQasJKD3VhRhtziSxARkfF", + "pubKeyOperator": "0955e06535de3ea076e1d2724163cb874757ec691306e7a8f9cd025baecef7eccd9727af8d57d70f2a54fd8ce749f69e" + } + }, + { + "type": "Regular", + "proTxHash": "f15780c749558cc40e46c55c1b083f431e2f17f5cd194b07b0325723853b63de", + "collateralHash": "52ff079d8c433062806ac1c0580d23272162aa9c097da8e525c160f4fef86d8f", + "collateralIndex": 0, + "collateralAddress": "XiCXMmSkPc7c97S4MhrcEFEjf7Tmeivhtv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.158.112:9999", + "registeredHeight": 1778295, + "lastPaidHeight": 2127169, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp66CHmGU4c767TFqmCV724Y7aPEEyx3VP", + "votingAddress": "XdXTKR9TNbDQM7fZ2ayV8Nz2mZGkpvWFqq", + "payoutAddress": "XiCXMmSkPc7c97S4MhrcEFEjf7Tmeivhtv", + "pubKeyOperator": "8d0fa2d48c30cd4ffe962be1a6a5aac65496d2074a83dc9c76495bb250038ff3f2faa1c7c3e9296b580bdaad625b0bc8" + } + }, + { + "type": "Regular", + "proTxHash": "609ef9a5c1b77d6dfb13ed1b99def8ca84c0bc468fe58f2a108db807e5938efe", + "collateralHash": "05cc761c614bcdfe704a39a250e31e9a61490c7ad72b366ddd744dc76ca5270a", + "collateralIndex": 0, + "collateralAddress": "XjRBAvFeXpi4P1GFnpoAgsSwHK9i8AY955", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.208.173:9999", + "registeredHeight": 1778296, + "lastPaidHeight": 2127173, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfytLGkfsM8fMsmpomq5zs2367heVdWXzT", + "votingAddress": "XizZMHg1mLg4zXM8ja9rNJitPNg18apc8C", + "payoutAddress": "XjRBAvFeXpi4P1GFnpoAgsSwHK9i8AY955", + "pubKeyOperator": "12b08fd564a3692168e09588d4de5659bf403577a935aba8d0b9af3c1a6d2e93c4c9a8f55ef8abf99017e64c3a246aee" + } + }, + { + "type": "Regular", + "proTxHash": "25cf387b3e468fcaff3a2ef7332825291e79f20af0b571ef10ea11ef770cbb93", + "collateralHash": "377ba75d7f20eb8347b854fe9fa424ee01a6667862ed2b0f3bbb60880e509003", + "collateralIndex": 0, + "collateralAddress": "Xe16NB729Lxx1a5T2Ss9ipGJE8yaEzTpZM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.150.170:9999", + "registeredHeight": 1778715, + "lastPaidHeight": 2127154, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuhN34g3fAm82ChpFYYTXyCtv1hcWgdj3Z", + "votingAddress": "XxzoUnfwyUCapywUmxhqXv8w2fsL7zsdPK", + "payoutAddress": "Xe16NB729Lxx1a5T2Ss9ipGJE8yaEzTpZM", + "pubKeyOperator": "1621367dbfc7dc03ffa35d9baeb24f16eb50307aeebb8b81980c74c53c68804276e3b51a14df0eccca3025db2f0d8c95" + } + }, + { + "type": "Regular", + "proTxHash": "294a325bac5c9d58c280ff5405f8356a0d4787c9a2201401664d999123ca99e2", + "collateralHash": "a83e00a133d05b436699e78704901038b9cfb465eb11b74bd322740cfd3342be", + "collateralIndex": 1, + "collateralAddress": "Xt2FZL8o9qRVib9xZWV5Xv9nrr6HfXNfL6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "104.248.166.192:9999", + "registeredHeight": 1779174, + "lastPaidHeight": 2126242, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbhH6JWYvFMXQEKNZ1B8RDatUgHL5rFTam", + "votingAddress": "XtD6t9YLqY5vhEEMm55h8PAt99tX1zVfrA", + "payoutAddress": "XrFzZUjNaE6xdJESuPwFjao6t1WetAyv8r", + "pubKeyOperator": "11bae981d539da0ee9be60e272d53a578b193b3e3ea6deccae0a9d0c1732baba95d4c1581dcc202d33323d623b6c0ece" + } + }, + { + "type": "Regular", + "proTxHash": "168157f2d00ed21605b94456777e8c38a5f472c0120a5ff8a3a59d49b7b94600", + "collateralHash": "19f1007960b4f3b1bd2f8d853e9de7d571e7d9128198b4f13275b2b093a1fd73", + "collateralIndex": 0, + "collateralAddress": "XoUA3aWQwEPyE4zEjTGTtKcQ3Mwq5HAPYy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.8.250.154:9999", + "registeredHeight": 1779661, + "lastPaidHeight": 2126291, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117069, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeSvQHcsD7xWZUA6cn8kWKuWNCbfgSAhGA", + "votingAddress": "XvkMqWTg9kiAYF9azKG84tVtZqXMk8J8TN", + "payoutAddress": "XvEDt3wS3hx4LFiKgtMkpMFUd2XMBqPHiA", + "pubKeyOperator": "804dc6b5a5063bb5ab45ef44f58fa415ef00a79ac3096f4e4dcef5755450a7b86ccf6bf5d2660813f27809c9eb6882fb" + } + }, + { + "type": "Regular", + "proTxHash": "e6e2c5bb8056c3bd170b1c7801d590b1ef26d497fffbe103e6ee8136aece8873", + "collateralHash": "e5d457f2ce9140ebdb47cd6b66d11b8e0d08f8f3eac71b21126b4cd3dbb2c19e", + "collateralIndex": 0, + "collateralAddress": "Xse763QmASN775AztUwxNGVqKpeu9Hp3T2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.249.147.8:9999", + "registeredHeight": 1779673, + "lastPaidHeight": 2126265, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117054, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhLw5PhpeP62jFG57XLvgzxAbjWugzbD17", + "votingAddress": "XcTbAUJ2zE3dBbcWzwyPMHqE3QP8Nh6cGM", + "payoutAddress": "XcP9NBjr7N5JqjcEZZByFJhgoGPgk9211e", + "pubKeyOperator": "9482b8ae539bca1c611b64f62434d98aac768b53fd88929abf708719639b139bc3be9dde0d03b0ff1508c66a82508a90" + } + }, + { + "type": "Regular", + "proTxHash": "a690fa4bb26378bb4b1a929c1643b3a8b9f778ed8d25664cb081edc267ec5bf9", + "collateralHash": "9bf3f1e5d5c24295643b7bb7b9358747f8b8bb2a15a10cb0314706924ce5776c", + "collateralIndex": 0, + "collateralAddress": "XiLaTJ8rXgLj3UY1jXacXNWJBBLPgwNti7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.200:9999", + "registeredHeight": 1780384, + "lastPaidHeight": 2127172, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfu6L8GkqPAPMGevviuSRhWPU4oh3epMGj", + "votingAddress": "Xj4TFAXsqsX3mTgaj5iBp7n2iMgprtNUeR", + "payoutAddress": "XizdZZtJGa2i768wrLm7jYMf5iFAjTi2jE", + "pubKeyOperator": "95804cd054414e3f8a3577bcdc64430f7c5fb0b1c373188449c637945dc261f98370b346c964d412f799fe143b4781c6" + } + }, + { + "type": "Regular", + "proTxHash": "a604705dda2e4998448516af87bf35a44b363bd0797c02ff399a5dd8af7fde14", + "collateralHash": "0e8a9056619805bc00b8303c09e1bf2788beb5304c41c3c5f94d93077bbae18c", + "collateralIndex": 0, + "collateralAddress": "XquoATJYgVJuHSo1SqTgXypsP9Tnpy6qPh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.82:9999", + "registeredHeight": 1780390, + "lastPaidHeight": 2127195, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsq7BDZwyF4c2Fe18GdhRbgqSQFMCkaALc", + "votingAddress": "XmyCj8Qv2jKbq7xcvgmYgExdhR1nCewhds", + "payoutAddress": "XtDsjFCkDBFXjny8A4988yGGsPXWuysesY", + "pubKeyOperator": "87d26451e46cf2ab1088a2bab24dde16b8a883a01e0ce185022a7e62bca15cc8ac099fbe666981c5637996ec1498cd9b" + } + }, + { + "type": "Regular", + "proTxHash": "88ce9dd3bd53442fd8bf461638c2d7c60ce1156d73a4b8e3a3d06c9e6530a69d", + "collateralHash": "9b773ccdad84949881e5ddf52124c5c4c8471ca6c0ab72df8cb975784a53d286", + "collateralIndex": 0, + "collateralAddress": "XrZU7CJC3XndxNkqmoUoK9mp9DLB8Zy7q4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.80.8:9999", + "registeredHeight": 1781503, + "lastPaidHeight": 2128106, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn9kJtJqaNRg5q3N5cJgRVmwdbK7JuhZHF", + "votingAddress": "Xnp6BekQ6G1H7de2LFDAy2DLjFvPk4KpCB", + "payoutAddress": "Xmah8zbEr9o3wxN6UzHT1SCz5iAsFXS1iU", + "pubKeyOperator": "05bd379f37fb73c6d4375f895229ec927bfac6cd39bd77bdc42e5557dfbc5ad5806831747f0d7960bfba3496f544570b" + } + }, + { + "type": "Regular", + "proTxHash": "7b6c7c559704c8752eabae067f557653742bbe03607bef7a2116dbdfd746b347", + "collateralHash": "2896fce0509e30ad326fe609fb6c9560e9936cfcf16ffe30c1331f4727c926b9", + "collateralIndex": 1, + "collateralAddress": "XgQnz8SFYhvnYGCAjW8cH1FBob6Ufzbu81", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.52.0.210:9999", + "registeredHeight": 1781771, + "lastPaidHeight": 2127448, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1900276, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoocABiUs3ufo1QDNLD4NsEiSQmXJRX5ik", + "votingAddress": "XxTqbn3zNuiYXy19rv3K4XvC4odT1bVwLX", + "payoutAddress": "Xq3R6WNgmNqQYKZpVnyhskGjy61FJWHCMU", + "pubKeyOperator": "864388d88349c7db23e21fdeb21dbdc9076f2661b51a6c7c00c487cc76a716ac3ede05ad3056db52a29b5ca897ac8074" + } + }, + { + "type": "Regular", + "proTxHash": "880551e949445ed5429ab456318a8b729a0142303185552a9568e1643d3af89a", + "collateralHash": "3e265f5045e89851233a375fadfaa82464c1e36ecd60954fec745339aee56cd5", + "collateralIndex": 1, + "collateralAddress": "XjAhHsX8qFrcQ7YCpcH2JQzYRQDm3vLpF3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.230.103:9999", + "registeredHeight": 1783103, + "lastPaidHeight": 2126337, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpCsPz1zkAp55DJtBtiTNMdtnDqjTpRaCE", + "votingAddress": "XbtoWhAC96Q1jr5fMqrB1Dqa7ihkQBKiuh", + "payoutAddress": "XboPdzpmwMpVo6J9i6mTubWp7Ji23zqx7t", + "pubKeyOperator": "880868010cb24c669883758df832f7c3840ae912bb726ca7778b0109ab09c02c6d9e4bba5bbb6f39bfd91a0d44e5b93b" + } + }, + { + "type": "Regular", + "proTxHash": "25047cc2a049ba0b8669cf3df62dfecb7fb6d71b339b5fa36eb5ab3b2f0189fb", + "collateralHash": "d35dc5de837422042f7a50232360b5ddaa6a8f86747c5558c8e78e2afd684d34", + "collateralIndex": 1, + "collateralAddress": "XkT3cYhVniVvCT56BAgcUgDzfMD7TrxswV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.70:9999", + "registeredHeight": 1783547, + "lastPaidHeight": 2126641, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoiMDaMuUyGeujEgQ2LzAzd3LzeaEcVurR", + "votingAddress": "XqNV8DYwMotXHaxvruSmyDUgUusEbGbArr", + "payoutAddress": "Xu9MUEV4Tjf5GiMMJcTH6LyvtqLyHthP9y", + "pubKeyOperator": "0290dd9673f6a3287a1416e2333982bec2a1909ebda0165cdd665ec1b995bf1be4a53a0a0d5acdd56fd176536c56e107" + } + }, + { + "type": "Regular", + "proTxHash": "08e7ef5559ebd0765772f3c97b37ebb0a1bc1edbb6aab48c9dfb50ac5b97c8f7", + "collateralHash": "df45d84f0e491b45ac3d235c93e1ec83abb6f9d8d437b058f5ffc0e2dff753e8", + "collateralIndex": 0, + "collateralAddress": "XgvQPTe4H5PEbRD6Tem32niVG6NRq4zGjq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.249.144.187:9999", + "registeredHeight": 1783677, + "lastPaidHeight": 2126292, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117069, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxhKX3ubxJC8dEXkgF7vmvCrUXAWk2jJpc", + "votingAddress": "XbsqpdhQ1hExVDdTfStg2aTAdjF1meVxPS", + "payoutAddress": "XgxqxZW6z1kdaB4yHp5cs1XtzdeqCA475r", + "pubKeyOperator": "823c0acf3e7ca3969ab8e586b9e5f428b523a7e347101d0d6d62a5265f421563a7c9ac3ca52ce1b4399aec0ca42499fe" + } + }, + { + "type": "Regular", + "proTxHash": "3f892c559ddf354a7389e3652fa9a9ff72172c5cd31e40131a2c6faee3326203", + "collateralHash": "18681878ee855dacf3c1cc6af35b9397368f28b2660d283926a370160b9c67e7", + "collateralIndex": 0, + "collateralAddress": "XySGEA6xaujHfDXKefSZ7uDowf9ZK7UfAj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.8.248.145:9999", + "registeredHeight": 1785298, + "lastPaidHeight": 2126293, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117070, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcWR51rR4nef1b8ZAwPq8otXSBkAdNpTKi", + "votingAddress": "XxkNwEGRr85WfFpcowGbfmuXCE1fBEq4ZN", + "payoutAddress": "XaosotWGTQsbfHBw5mzyk7HhzsuDRGsWzP", + "pubKeyOperator": "8eff3348415a92643257881faa2ec61e225362a97bd20cc767067b8e553f111d4eb66990b2b23ee2ae620357c543bac8" + } + }, + { + "type": "Regular", + "proTxHash": "983adedb7c045b324bb8d69bc4826736ad86e76ce4bfc5d2b7e4dd69235c4616", + "collateralHash": "2e39e81f6aa44884af8d48279190cdb0cd101d5fc4928e0fbd353ada57f6a9d1", + "collateralIndex": 1, + "collateralAddress": "Xvwhyr758gc4UPZb554vF9G4sntHFyseMu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "83.239.99.40:9999", + "registeredHeight": 1789354, + "lastPaidHeight": 1984391, + "consecutivePayments": 0, + "PoSePenalty": 3994, + "PoSeRevivedHeight": 1890861, + "PoSeBanHeight": 1985226, + "revocationReason": 0, + "ownerAddress": "XrJ3rS7egMdo52tfG9T3PK4yCj2gQwwx2c", + "votingAddress": "XrJ3rS7egMdo52tfG9T3PK4yCj2gQwwx2c", + "payoutAddress": "XwAZcVd3gkYNFwCmMKG2gXKfgurS8NCXE4", + "pubKeyOperator": "92b085fd5595e59d133d343eae7f8eb34da2754fc3ef2a250fc8c317401d7163126e3fee33c58a5ac70b7e04a176fe66" + } + }, + { + "type": "Regular", + "proTxHash": "9fe424cf9269d647ecb4a65e191253f9fc44eed3ea1409c744b962d5ebc17efd", + "collateralHash": "46a3fa8a371e86a9db5735106f2e21f3ce2202eda01e1d5d66b26200ab3c7e35", + "collateralIndex": 1, + "collateralAddress": "XjDxFYgNmMm3YXACta6zNT6gB4uXQqcKQj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1791112, + "lastPaidHeight": 1859908, + "consecutivePayments": 0, + "PoSePenalty": 4421, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1861098, + "revocationReason": 1, + "ownerAddress": "Xh2AaX7PVjWE154fW4YexAfJHf6QHsfeAt", + "votingAddress": "XosnXZ7RSaLqgiuh1Pv7ZpXd9TFJyJGjZM", + "payoutAddress": "XjDxFYgNmMm3YXACta6zNT6gB4uXQqcKQj", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "b47e7267d411d39f066ca29b15ead6a3abd3cfe2f7ff65b51258bbf4b561186b", + "collateralHash": "5f476537c9b61efc4e92165f40e90560ba266ffee18e48d63cf832e0f4348ff4", + "collateralIndex": 1, + "collateralAddress": "XtAUu3Bxo11MW8HedfjFNgQiPZvYSv5psZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1791112, + "lastPaidHeight": 1859903, + "consecutivePayments": 0, + "PoSePenalty": 4420, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1861386, + "revocationReason": 1, + "ownerAddress": "Xj2FhePBEXcztjZPzak7AnBZ9Pa5E78h5s", + "votingAddress": "XuS8VkQdkyospoZibXH8ovf3C4j1bdBVsj", + "payoutAddress": "XtAUu3Bxo11MW8HedfjFNgQiPZvYSv5psZ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "c3a628d525f3de6e96c34cdbedfd94398674f3d105a7ea1473e676fbb43873d8", + "collateralHash": "7adfe021f6702bb0d913f0704ab57603a66537ee42e00af8fddcf2fd00c232f6", + "collateralIndex": 0, + "collateralAddress": "XrtSGDqNQBk7rSXE1jL6LeKbBtmiQEY1zQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.68.147.202:9999", + "registeredHeight": 1791112, + "lastPaidHeight": 1859906, + "consecutivePayments": 0, + "PoSePenalty": 4420, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1861211, + "revocationReason": 0, + "ownerAddress": "XwrsTp9H7EbGafm2T9wzft9z3cEu8GbDmb", + "votingAddress": "Xdpstqw5a5ZrcdZ2hw1aBT5p4t1F8b3pUF", + "payoutAddress": "XrtSGDqNQBk7rSXE1jL6LeKbBtmiQEY1zQ", + "pubKeyOperator": "829841bd088418fdecdeeec7420b30f66e2021f9d4c889d66437506c0ded6ff6285eb2c5728048e6cb1ae80963ba8272" + } + }, + { + "type": "Regular", + "proTxHash": "c7b1cfeca9341f0d5d77ff24cea6566302ec22825b46a87cf0adfb443cae47b1", + "collateralHash": "a3cf655f5a867ae065dbb2fc12f88daa5c94c9df68b4fd07641c01fee18f59ba", + "collateralIndex": 1, + "collateralAddress": "XryL68FBZHZa9tDkvYCxzc3vcB2GNf6TFB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1791112, + "lastPaidHeight": 1859905, + "consecutivePayments": 0, + "PoSePenalty": 4418, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1861955, + "revocationReason": 1, + "ownerAddress": "XkHaSb1WtLYBgAtuTXCurJLtVKY1MWoct1", + "votingAddress": "XxiUgYt1fgz4fGmFgLsK3t9tnuWoNf6LH9", + "payoutAddress": "XryL68FBZHZa9tDkvYCxzc3vcB2GNf6TFB", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "6d60cb8dbec6a73f85edab6b7193b420dd4d9d6e3f573881aeda38ec7e71c44d", + "collateralHash": "a1a25ca1cd9833ab4df102cea37c42bfa6f73f255768957566c2dcd7e7ced126", + "collateralIndex": 0, + "collateralAddress": "XpQu57Mo9rD4XrBXofh4B7R6riw1zuSGdL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.208.178:9999", + "registeredHeight": 1793504, + "lastPaidHeight": 2127145, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi8oqTEb6mL5tPrSeYkW8LDyVKVcwq1WWt", + "votingAddress": "XwaGVDDoabGLnhTkNWqsrgvQtu3dfvNwCr", + "payoutAddress": "XpQu57Mo9rD4XrBXofh4B7R6riw1zuSGdL", + "pubKeyOperator": "0ec35c4b88e8501e21f46347a1910db9d6fe0a2452415a986ca009bc0a175bc2d6afad05c502cab3d1eee30ebd6489d1" + } + }, + { + "type": "Regular", + "proTxHash": "687711b0f8514f5a269dbc0cff1a86de49474581d13a1a293e9976d8a947f7a7", + "collateralHash": "43ee19a7d26ae1bd114a691f9c125e5d22b7561e23cac26de7a282103e8afcbe", + "collateralIndex": 0, + "collateralAddress": "XfkJDzSB2Zm2HAuJXTJcDqSuNNQxMngF1k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.147.231:9999", + "registeredHeight": 1793506, + "lastPaidHeight": 2128561, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2017832, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnfoJSgrFWWdEArKSiDB671qJjecfyi68q", + "votingAddress": "Xh8jeKFH3noMr43gtCMdVSQjDC8LgrrhWF", + "payoutAddress": "XfkJDzSB2Zm2HAuJXTJcDqSuNNQxMngF1k", + "pubKeyOperator": "8c7a46a89878b6a2b4d575ad31256f93db08cbecebf0be4d2b66cd47d49e5f4d33cf0bc2142a88bae2f10e6ff06785cf" + } + }, + { + "type": "Regular", + "proTxHash": "c8b72cdb034ebb8328044e1bad6aa796c1387cf5036714ff764027f3c9a2983c", + "collateralHash": "6fa1aca7cd9b648fe4fca2a8c11d5ba5fe3d3ded18ccbd59b8493734c87a9d5c", + "collateralIndex": 0, + "collateralAddress": "XgVMUj8mMcxXQjExomg1fkekxTzQidjrEg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.119.93:9999", + "registeredHeight": 1793507, + "lastPaidHeight": 2127140, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkVetxDZ8FbxHHMaifP9Yh52cH8gTyg3z9", + "votingAddress": "XnjRwee7jKbHwVHjXY8CJdM8pcimE5WpEC", + "payoutAddress": "XgVMUj8mMcxXQjExomg1fkekxTzQidjrEg", + "pubKeyOperator": "97f07b28b066304e19d89d3cf97dd03768f2e848eca12ea140cf08307a46e733b1d5ce0e837bdf87e057b931fc1e8a28" + } + }, + { + "type": "Regular", + "proTxHash": "a59a5a495e70796fc143fcdd9b7f1da1ac375e5e82d9c45687de269db375d296", + "collateralHash": "07b42131adab8f3062dd8541a04659a211541f4b17a672b9ef453e7a6e1677af", + "collateralIndex": 0, + "collateralAddress": "XrSujns8A7zxqXAerFNnji9zuW6pwJnKbq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.176.80.228:9999", + "registeredHeight": 1793507, + "lastPaidHeight": 2127156, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkMn2gFYDfKnKUEG5T3GNvdosXo2maxsdJ", + "votingAddress": "XsB8E4Rfn2pnqYwExx3aEFS5qWksyszQgN", + "payoutAddress": "XrSujns8A7zxqXAerFNnji9zuW6pwJnKbq", + "pubKeyOperator": "06f14499577feede9ecb06ea26f789dfbb347c9295f7ecd051febce948ae33b80307586cc530ec59ecd794d71e0c509a" + } + }, + { + "type": "Regular", + "proTxHash": "218cadd3dd270da240176578cf6c337a529dae97a4a894c80ea384a25bc01683", + "collateralHash": "b4d70868d952a3a1eeb069699035a48d1907df9e9472584040af7ee9bc36246d", + "collateralIndex": 0, + "collateralAddress": "XsXGV9k8dXnUTCdiykSJgEmDQGDM7jU6Aw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.211.103:9999", + "registeredHeight": 1793508, + "lastPaidHeight": 2127151, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv6Uyhq36MtzsUBCBCdqvnGvhuGSfg4i29", + "votingAddress": "XsMc3VRRKXRFsvQ9FDrXBy3x9N9tgcgyjb", + "payoutAddress": "XsXGV9k8dXnUTCdiykSJgEmDQGDM7jU6Aw", + "pubKeyOperator": "858d18297caf36a02dd068ee811448b11aaddc29070fe109350e14f270acc84e6f21ce4e76ad685dbfe1f75f12b123ee" + } + }, + { + "type": "Regular", + "proTxHash": "52cb57b41d2dcc2131401217f557880132da1dba3829eaf5124d22d0d2f93030", + "collateralHash": "4f40766fe68d921c17be94041343a956cb535289f9330eb4712638d9bf29f661", + "collateralIndex": 0, + "collateralAddress": "XqiMzhi7iVeNznBVY3XY6Ft7vgaY5XL9Ao", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.153.42:9999", + "registeredHeight": 1793510, + "lastPaidHeight": 2127138, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkWXbqbqd7Fbvuw5gBCKuzGP9Tq4sj654o", + "votingAddress": "XuAUvmDARXokJwfEoK8hBifKhCSNvp8W48", + "payoutAddress": "XqiMzhi7iVeNznBVY3XY6Ft7vgaY5XL9Ao", + "pubKeyOperator": "09af1cfa3af55bc3b888127d1450e89bae70c825cfcc73bf7dbe80e2a68bd63cda3a2533c18c33dad6a41035815e5a77" + } + }, + { + "type": "Regular", + "proTxHash": "aa70f7098016af6a516ed98b5e2fa383212fbdbc5da888d620e6ca85eaf8a7ff", + "collateralHash": "212e3e7460e6121b002ffd98f42ac39277c8c632108a01a82ed22a6d56bf0893", + "collateralIndex": 0, + "collateralAddress": "Xs44jBedRLMXNFFr2F6NqizNfB5BE68GG3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.58.154:9999", + "registeredHeight": 1793511, + "lastPaidHeight": 2127174, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuzhMzJNTNpQHQJ5pNZ2kkcNjZg5vZmdJm", + "votingAddress": "Xd3FZKHTuDYvN4PMTYosQfriZLM1LJ1xa9", + "payoutAddress": "Xs44jBedRLMXNFFr2F6NqizNfB5BE68GG3", + "pubKeyOperator": "931a0e4d04b1140627656d788f4fb2f0b08beb238b1048edfe0dea0b1043e096687e9df4d806f3098aba28134c3c5c38" + } + }, + { + "type": "Regular", + "proTxHash": "71908afba08b4f5512b4fe9f9a492188bf2d08ce37c97d8ed9d35aa4e601a8b2", + "collateralHash": "03e9ae4c2a8e38a8c17b68d3aaa5e10f03be6fa1347a8edd9f83d6890e5332a9", + "collateralIndex": 1, + "collateralAddress": "XwDEndek9aMQ2FwYi99aGyxFzVQj4aMY6W", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.163.168.244:9999", + "registeredHeight": 1794709, + "lastPaidHeight": 2127539, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1989890, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyhUvuYCzY6xEMoBckxQ9oaZUdzHuL5H6W", + "votingAddress": "XyhUvuYCzY6xEMoBckxQ9oaZUdzHuL5H6W", + "payoutAddress": "Xy5141GjYYPPGDDMnepx5jteoMBU6cwdcR", + "pubKeyOperator": "07f8ff7f4ffd06f9f33585d479c672de62e202125729b0d77d2a2d318a6a847b970cfb97da6b7c2a4ccc99f765547006" + } + }, + { + "type": "Regular", + "proTxHash": "ce1736ddffa708dcc8d9ec7aa1f7dc1136c45ce5038c6b5c5487870c59b3eb86", + "collateralHash": "706cb3ce8306737060f82846b694ae9c09c2ebe412c44435c57379fbc9ba57f3", + "collateralIndex": 1, + "collateralAddress": "XjYQF8eqRgDhQjVvdiwLTVEvCoZ6hBEWb1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.250.97.52:9999", + "registeredHeight": 1796077, + "lastPaidHeight": 2126199, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120136, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcWFxYXjm6gWA1bBbzQZVsfmPA5HvRuLJe", + "votingAddress": "XcWFxYXjm6gWA1bBbzQZVsfmPA5HvRuLJe", + "payoutAddress": "Xc3vnqgx2MiWqQzizLtzbXkGz4Q3sP1mPF", + "pubKeyOperator": "1645fb6c0c86d5d2de26afa3c78acc6101d0950fc4f29f313fded488928af1aad37e8755d3850d8912059954999456cb" + } + }, + { + "type": "Regular", + "proTxHash": "0420e415b742f2705f64082f54254a01e10d1f4352b886cc4cb215c912250a59", + "collateralHash": "502d444fb1500b7557b0b7402299fbcd8ff02923e4d61782b9dfc0f6c499d056", + "collateralIndex": 0, + "collateralAddress": "XvxhC53yeL6EfNRyGK2kAoTJmf344KtbAL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.158.125:9999", + "registeredHeight": 1797351, + "lastPaidHeight": 2127148, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkD4nEaHYMhjZeEEb6ZtbX5yJUhTh71BHA", + "votingAddress": "XhooyMu3xQNcwnna5KzKBLD6bnwR943fd4", + "payoutAddress": "XvxhC53yeL6EfNRyGK2kAoTJmf344KtbAL", + "pubKeyOperator": "19f5ef4c57feae98906913360da7d15f1ae2c84bec8bd3a2f520aea2987de4ca64460177067ce6092d5bd38931f8f1e6" + } + }, + { + "type": "Regular", + "proTxHash": "32596393f2ea654daecfa8775b32c206074ef6538d3cb066b8099f067d91829d", + "collateralHash": "e69920a838b36f21d55d1a5ff7909de0e1f5f651bd74046e5991a646b7c3d122", + "collateralIndex": 0, + "collateralAddress": "XiTYFDxrpjqAiQM3p6ujKQLCLGmeC7i5MC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.144.6:9999", + "registeredHeight": 1797351, + "lastPaidHeight": 2127157, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XusKm7GjkXjLjaU8KuCk7B47QAMBRpwGAT", + "votingAddress": "XkfgEUgYpA26bsjHegByxkpbUsUCeLDmL8", + "payoutAddress": "XiTYFDxrpjqAiQM3p6ujKQLCLGmeC7i5MC", + "pubKeyOperator": "81ff33cc0a512265dc78b3b629db019c386e04a6734bcc6969649e7184654ba04d6ebeba85ee9311f63ceae78117fc46" + } + }, + { + "type": "Regular", + "proTxHash": "4112d78386ac5f78666ff63c5bde0b01237289a0eb30958e344390be18154475", + "collateralHash": "daaa0d2b3db4a454ddfe464f46a8d6558117233bbcd0b3f4ca943934d87f634a", + "collateralIndex": 1, + "collateralAddress": "Xb2t6PibPdHfAZNNRiFeUeruG8wcxwguNJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.255.106.192:9999", + "registeredHeight": 1798943, + "lastPaidHeight": 2127058, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2100898, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxVaexiEnYCeR9PNndDj85HY9SCRwk8M8W", + "votingAddress": "XxizPCYic1RRKTjqV59ybeppQ6JSGtEdig", + "payoutAddress": "XyuUYPWBAHPhgSVbccf3XQ9P5N1FMa5uDu", + "pubKeyOperator": "12954e602b3f82a33cf7ee3c4b2267fc37f1681ff855e7cc3e9977a64ab74f3a9ede5644d6581e1f9af07d1adfa8c8f8" + } + }, + { + "type": "Regular", + "proTxHash": "5705b98a9e4aaf21722c59e538c3572f39c7123e2b2c6e851bff89f43c560129", + "collateralHash": "3d2deb45f8c7e39c9ef43cd83ce668c1f48a426ab351e8925e4406c78c9648d5", + "collateralIndex": 3, + "collateralAddress": "XvEC2BYE9u9Dift5jHhJyKbVcNWVfxY18a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1800162, + "lastPaidHeight": 2060774, + "consecutivePayments": 0, + "PoSePenalty": 1956, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2062950, + "revocationReason": 1, + "ownerAddress": "XhP1ZCyL6hEuBEv7N67CrRAoCnTsN7Ycct", + "votingAddress": "XbzHCnFiPnVNvqXfTy9id9A6r8eUUEzHyV", + "payoutAddress": "XvEC2BYE9u9Dift5jHhJyKbVcNWVfxY18a", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "5543a38d0d24a7df97c10f979e93bbcc4879e167e1871c6e0118fb2e2221067e", + "collateralHash": "a9b8500bd781379a42ab39793c4686c752755cbc22e5141edce7577b168e06b5", + "collateralIndex": 1, + "collateralAddress": "Xbk7Lsk1q7NGJhNMYpJUGUr6eg93AbXcjv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "195.98.95.210:9999", + "registeredHeight": 1801395, + "lastPaidHeight": 2127252, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121110, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xei9ArTNwzRHv3qBASfPiWAQUmuiEdrvnm", + "votingAddress": "XhzVD5o2zrp18u7acBMrEqj9EZrNiZ1peu", + "payoutAddress": "XeV5WGdH6ztS66CCz1qiVNjdZXrJx7KPGY", + "pubKeyOperator": "019a66139c4052009b8615c73dda4740357bbb8120603d641de76911bcbf4ed747c2c5a1b88069a5395a442dc1cd880d" + } + }, + { + "type": "Regular", + "proTxHash": "280705af7ab4a5b00e0c4cef3339afb62eb17bb09859b91a38e1b35b7b0aa132", + "collateralHash": "bc930fc88b08131d76859f3c001bb08f26514eac600a594124c87b42cb0b8ba8", + "collateralIndex": 0, + "collateralAddress": "Xx3cCZ1MKVrwcTLJe5hw3fTbrjPjjeNzBe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.143.208:9999", + "registeredHeight": 1801791, + "lastPaidHeight": 2125814, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1843534, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv5GtWtD1K3SFpPCv4f6Pb7UrcwThJ6Siv", + "votingAddress": "Xeo4HvftMDv9cu63MpDdME3cCvgmD2dWnz", + "payoutAddress": "Xw7tErwUc5kLtPBZvgQiPkRcoL1Y1ANLDR", + "pubKeyOperator": "066777c651ef622876753ee878e4b0d77755ed6aca97f793add7225a4658c4ee912403ead16950f7dc67b941959f569d" + } + }, + { + "type": "Regular", + "proTxHash": "9eb193e12eb19d6097caccff7dfa2ccc12da9e9a7a653153a344f8cfa0cc40e5", + "collateralHash": "0ddf6fbd117cfd6217600ea40057c07e95cf2b0c7522dd1d73cfcac8a7d1e438", + "collateralIndex": 0, + "collateralAddress": "XwYGYTNaCTkwszFKjG7uEYEXKS8PxoymCX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.88.22.66:9999", + "registeredHeight": 1802185, + "lastPaidHeight": 2126250, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpjRFzNvNvzaN3K9BhsGEF2VTtJp26Pkaj", + "votingAddress": "XhrUfzgxCadmHYBPVFA3MkrGrnZMdTqvce", + "payoutAddress": "XwYGYTNaCTkwszFKjG7uEYEXKS8PxoymCX", + "pubKeyOperator": "8a2b8298b1727fc348ba4b34417d6d901bd23b10c6440dcde0a01163c1b7f5a2624432731c1b0f5bbea57f97166a3592" + } + }, + { + "type": "Regular", + "proTxHash": "e4fd444819ffa2fc55ffdfd9c3620d131b49a52a1467eaf19a945caea588e11b", + "collateralHash": "6e8629b94882b6639a52ff1e98817b3d4704aac33c4fafe31fa54ba66f74f42f", + "collateralIndex": 1, + "collateralAddress": "Xscie7yHGAnNurPDCwRcsjSyUsdTdni2kU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.204:9999", + "registeredHeight": 1802431, + "lastPaidHeight": 2126400, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XepD4vSo1i4ta4R73w4kRKMcnWPouQeuY5", + "votingAddress": "XdXXxc3KCxmfPfwPKw7mHNpitFFL6ba4RJ", + "payoutAddress": "XdkghZQzJFCrpC8vKX2Wxe9mt36dnv257g", + "pubKeyOperator": "0d8001a321a8639db539d44cb5590660ca272d2bc32df131c3f31ecd2978784ec90f0ac9ebb57f92987c45c58bcd7739" + } + }, + { + "type": "Regular", + "proTxHash": "57da1145a70518412703581308eb1069ef3cbdf996b17171a194d9b76f2b7507", + "collateralHash": "db4ee5406bc0b4f38cb40e9a43081fa27decc50f5c05fd60b5314c263daf5a3e", + "collateralIndex": 1, + "collateralAddress": "XwMfVe1t5qzEsENFvXCki57jMJeJT2KTCg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.197:9999", + "registeredHeight": 1802438, + "lastPaidHeight": 2126406, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhcKgm2hE4Y2JrZYNBrXouhK8TCLhWHPZ7", + "votingAddress": "XqskDuSF4jtjW89X832S3p8wf8GP19HcB3", + "payoutAddress": "XwMfVe1t5qzEsENFvXCki57jMJeJT2KTCg", + "pubKeyOperator": "8d98ee46188be48a1cdac2b5257d6f90f5bab21d02d7eb03c540ae38b85f6f6f6bca52dc92320eb7a34d8736ed078bcb" + } + }, + { + "type": "Regular", + "proTxHash": "d35bf81e3fd0e70f9db6e7f228fe6becdcf3fb0eadf407dfcc7eb2307d51cd2c", + "collateralHash": "b7ce7685c5bf8ecffb1247455166874719e1e01dccf4c16db521abc36e7a520b", + "collateralIndex": 1, + "collateralAddress": "XnDtKmBdocsHU1X9891v5T6ecrU5j23umP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.99.199.59:9999", + "registeredHeight": 1802956, + "lastPaidHeight": 2127523, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": 2124357, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkWqQSS63buwEDTtisaxjCbqdoTPDoHaoW", + "votingAddress": "XkWqQSS63buwEDTtisaxjCbqdoTPDoHaoW", + "payoutAddress": "XfUXdmrY87e728By3AqnQN7ysK3tkHRJoH", + "pubKeyOperator": "91b34ea0026f3db528c47d189e2f37039604ce5338924beec47af59caf16b209d7772f854e725b4c1af92412d4237396" + } + }, + { + "type": "Regular", + "proTxHash": "ed27be244d17bb1739491e8295027c489d2f662f87d20783e21648247e422cd5", + "collateralHash": "ed27be244d17bb1739491e8295027c489d2f662f87d20783e21648247e422cd5", + "collateralIndex": 1, + "collateralAddress": "7kpCbhxwxv1ihPuymeN8LnknTNTsk7NyJC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.24.104.60:9999", + "registeredHeight": 1803153, + "lastPaidHeight": 2128229, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976857, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfefyzTHKN1soC2ZW68vhzKC85BgZjcUZQ", + "votingAddress": "XynDiG1U7iU9E452vXVHV8Tby9stNCKq4D", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "96aeb4f84b2858f3b5be23522db5d41e3a0e4217546fefc1c7766f86b1ca7f3bae071c67421c689bf164270322f97be1" + } + }, + { + "type": "Regular", + "proTxHash": "e72c3dba5424a6ca76310a3f95f0c4fdf82d33e08fa5de74e13f85e263242ace", + "collateralHash": "a9330c45a195fcd9724bbb49f97e9f31be024dddb50269582402a84bab42f1e7", + "collateralIndex": 0, + "collateralAddress": "XyZTGVAj1a2DfieMm7bGohr6dANwDZsvs9", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.155.99.34:9999", + "registeredHeight": 1805062, + "lastPaidHeight": 2113118, + "consecutivePayments": 0, + "PoSePenalty": 3727, + "PoSeRevivedHeight": 2127448, + "PoSeBanHeight": 2128074, + "revocationReason": 0, + "ownerAddress": "XuPZUXVVu9HdcVb3zZHofXwKuCcoFLcUmL", + "votingAddress": "Xq8k8cRQkutyzLecAmUW4nvBErujR2zEKy", + "payoutAddress": "XwAMocyFyJoTuNkeBoJxm2sdvcsfXrgSYt", + "pubKeyOperator": "17e069a11672cd900cf521cf25c52264b54c36e9e5df3b819bfbb2ed998dacb2cedb5e26b54687d78a05796991c3e434" + } + }, + { + "type": "Regular", + "proTxHash": "85e58aac069f5d3422705e482ef80401ee56b1324eb6fa6e0a610e57febd4e98", + "collateralHash": "682b515c0359596ff8aab11baa0e4f197c22670bff1d84cb9f64526f379d5d5f", + "collateralIndex": 1, + "collateralAddress": "Xqkhxb3HCwaHd1QePgSW7mjjfYHywfYGzT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.52.140:9999", + "registeredHeight": 1807196, + "lastPaidHeight": 2127405, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1872407, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpUakzsJkoHJu5SrkRm19jHh66dxFTCgA2", + "votingAddress": "XkYBYzvhEFkiAgq2uXi5R96XhMvk984rT6", + "payoutAddress": "Xqkhxb3HCwaHd1QePgSW7mjjfYHywfYGzT", + "pubKeyOperator": "80f999d42bfcb08a28390021155840d5a9464ce67ce209eca98da4bf6e80637b6a058204377654f98674fcce41044095" + } + }, + { + "type": "Regular", + "proTxHash": "2ed7b3471b988297cbe6a5d1367209522927a03dc814e2128c66e3827e130ccb", + "collateralHash": "16cf688282315a63e8021a841b5c04882d4bab9d79c5c4cdbdec36025ad9d0e0", + "collateralIndex": 1, + "collateralAddress": "XnjD1jrLnF52AofUUZFLWSvK8tPk3uyQci", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.87.128:9999", + "registeredHeight": 1810140, + "lastPaidHeight": 2126481, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbTgv6f5isEKSgfmRgqyZNipyQr5yVuM1r", + "votingAddress": "XmzMH427rwyH8WgqSDC6RgCJuV32haXRj1", + "payoutAddress": "XyVGNsmXftkn6fU3eLzy88f45g2LFTW8hW", + "pubKeyOperator": "18051a2d947fc1772edc420e4478f7b0e440f70cc0dd14f3e5248ba81719e45fb16a5d15e82d4f11218fdedd2e35fa24" + } + }, + { + "type": "Regular", + "proTxHash": "cb314ca77f490f31a6c404c7de766f663927ebfe05d44361087edbee7b890c34", + "collateralHash": "d625f8f52c79b6e988b8df4b9abe03e88e5d1fab7357ce07ec2f85223cf4a9a5", + "collateralIndex": 1, + "collateralAddress": "XfRMTNNU8j2J9YEJvy49HVbW5K17icRQyg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "68.183.208.90:9999", + "registeredHeight": 1813221, + "lastPaidHeight": 2126498, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1967721, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaorbKjaYiriQkMHrJiGmRFEHS9b4L8zbr", + "votingAddress": "XoLr5MWMhXaPz9E9D9Xu9NpsCnMyy2Jre3", + "payoutAddress": "XfEBpXC1iMdfKKUhivGKntQ3TSGxUBYyzh", + "pubKeyOperator": "9744dc7804c97a442697fd8130fc9e39d48abf929f3d7c62536d91ed4f735150fe1a52bf1fbea7f37e657d50684d317c" + } + }, + { + "type": "Regular", + "proTxHash": "4cb8fc33832d1b88975345b31055506cf9668e9306d9cf647cb6d1ebbdd7ebfe", + "collateralHash": "fcd51e01672f2e1907a50cf9bcc52b254c2e73a6e9feae190556ed1c8e383469", + "collateralIndex": 1, + "collateralAddress": "XxnJKpxgHUv4KB5LqLqXq6pNANABsM7RAv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.88.22.64:9999", + "registeredHeight": 1814899, + "lastPaidHeight": 2127257, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj9cohukviMYQjxMwAE1g4ZLBU5awGWEzP", + "votingAddress": "XeuwaSVXcvfMbTFQwmi9YS7KRESkRfHxPN", + "payoutAddress": "XxnJKpxgHUv4KB5LqLqXq6pNANABsM7RAv", + "pubKeyOperator": "08dd3064f9b96ddb5e0362a1c56c8d758e333afd37bc4d8fd7aa4ca906c1d89114ac59e4706665c4abe9bccd0e608ff0" + } + }, + { + "type": "Regular", + "proTxHash": "13b694fd6b0bb45c89a5ecaa10a010284323c5258ff734a4a6b13a6b210bb823", + "collateralHash": "e11cf3f9aba00f8d2c7965bbf287e7c990b5e8a13c7486b5a24ba61cb0d3b31c", + "collateralIndex": 0, + "collateralAddress": "XokTW3FocfpekepuuecHNjx3rPqAmJ98TK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.135.88.227:9999", + "registeredHeight": 1816163, + "lastPaidHeight": 2128385, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs2GmBnWdgTz2Hd4i9HprQ9ZHvtEBgc24W", + "votingAddress": "XhcbU6yJ8czbch3DvWpBnyFJtCJd5zvEpG", + "payoutAddress": "XdDgdMqGG7Lop8XAbiN6VXUJXzhrtMY2zt", + "pubKeyOperator": "0e5802f41430ae7cb59a51c32e7d6acb0ee81df686bacc7c96ac2ffd3a91cedc5c002538bdbbb6d802655ad92b70b5e1" + } + }, + { + "type": "Regular", + "proTxHash": "384808300a9d977463352d92aa51e70c1e806a3e6c311075b7fd28ea83ee154c", + "collateralHash": "1a0bfe5c57b8d3e1be5d6fb962360acfa85315bc621e5313c20b41a995383790", + "collateralIndex": 1, + "collateralAddress": "Xdr2amVc4UUBNu6fMJvR5AnwtEPj59gDPv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.48:9999", + "registeredHeight": 1816464, + "lastPaidHeight": 2128234, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976861, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmj1aMxcnpJE3EyEvceh5KWMG3hsHC1799", + "votingAddress": "XuiBJx8YXnAz58JdeQWqPT8KCbBknH5FLu", + "payoutAddress": "Xdr2amVc4UUBNu6fMJvR5AnwtEPj59gDPv", + "pubKeyOperator": "0b673d2950ac3d1d264f7b86fec5f6db9432bef6eac90556ace3f4ad26a04feb978fd7ff3c2ca119dcec44a8fcc04dbc" + } + }, + { + "type": "Regular", + "proTxHash": "2e52e4f272c24a101b7bae01d3ceefa2894a3644c9dbc3b5d8cef753d803327c", + "collateralHash": "7979105ee3f761755275924acf4b462744b1549e8b82c86a9a5cf5138d7998e0", + "collateralIndex": 1, + "collateralAddress": "XnEegkosmUtkbdyvNQSBmckCCiXDCxq8pu", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.185.40.115:9999", + "registeredHeight": 1818924, + "lastPaidHeight": 2127561, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2037045, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfkQQCCfVShWiz1jFMZ4hUxHxoBLnz6ymk", + "votingAddress": "XfkQQCCfVShWiz1jFMZ4hUxHxoBLnz6ymk", + "payoutAddress": "XurnYU6h4mPTCHee4V5Ty5pVSSW5n9KBD6", + "pubKeyOperator": "059006d7ff4e224adef379706a464ac79259ac859f40390106482e306527092125cb8aeeb30de2ff55a5bb1bf166d3c2" + } + }, + { + "type": "Regular", + "proTxHash": "94a02bd4ea7208534ef41d9900b19946832fb47faf8728918ae4e603e99e3597", + "collateralHash": "8e4fb52bd45883f750d091448fa0a262b6bee28497aaa2cc4e1f61e20c24d5ec", + "collateralIndex": 1, + "collateralAddress": "XixXNENUTghdekJKQW2JqnBf5xo74B5aYi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.205:9999", + "registeredHeight": 1821091, + "lastPaidHeight": 2126029, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvR3huxrdYbZJ7YKyuEfyHU4VSCo7yX9FQ", + "votingAddress": "XtjAxAsh9Ksi7UxWjoBoj4V41ioZquChiU", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "19829e821d704f2c5c5b056e234c441b843fceaefcfd9f02d2162e0b279b5f25065e161241fcd23f07c2bfb666d0d9d1" + } + }, + { + "type": "Regular", + "proTxHash": "b24d8a7a4bafa63704990560c163b65b284a8c6a9b44495452e9ae4539df8378", + "collateralHash": "bcfe64417ebb8e1e9480e314c74b88b28771245ec2f00deb1a123d04b6f1b32d", + "collateralIndex": 1, + "collateralAddress": "XrrYiYSBwCsKSJMFacvzi41ukm7oAJZ9MB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.142.37:9999", + "registeredHeight": 1821099, + "lastPaidHeight": 2126035, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbtT8FyKTkDVGkUrYdRg2xVgWA7omY6Gnv", + "votingAddress": "Xr7C9VCS5CuQk7VjBJH64hCCsi4BxtmyKU", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "0e36726ebf0d8dd454c3da4aea3564b1bc31e65bed170a8a345704982d26b29da7a79378a28b9cb1c9e61b6da3470f76" + } + }, + { + "type": "Regular", + "proTxHash": "111bc0f0402a2dfb26091099669543e7f9c3cdb66f69bd01b3a25662905ba4aa", + "collateralHash": "37198e5efd8d76fdd3e7c110b87748adc3188709adf6f423add13a76824b0a76", + "collateralIndex": 1, + "collateralAddress": "XjMCUv41HCv8iiWFs3c4bPnAuZ1Rg2Xub2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.79.226:9999", + "registeredHeight": 1821101, + "lastPaidHeight": 2126300, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1828935, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgaak4KLVkbmRdDZEAz1ZjVPTQhhMyU5sD", + "votingAddress": "Xw6Lw1WypchnXHEQQGz42wLhjQQ5uYwg2r", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "196ed17dec32d451636c741b7c42e40d04a0849c1c8c99664a5b0a01da6b2bafce9b214d407a757b2fc6146c1cb7a1c9" + } + }, + { + "type": "Regular", + "proTxHash": "3588ccaffdd398a02337f25b8493d9f366ae141afa705ecc2e1994911d76686e", + "collateralHash": "3030345f1378930ba746330597695fef3d1fd3e91624c21ff5d2aac1c1d694d1", + "collateralIndex": 1, + "collateralAddress": "XffX76M9GhQxURT5dmQXAT655sYjCJGEVS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.212:9999", + "registeredHeight": 1821104, + "lastPaidHeight": 2126039, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo3mLUp8x6dcLk2yJY9kJKsYhDhHkzRhaH", + "votingAddress": "XsiPCXt7SoettE97WQ5YUBYjT44Xdwmtnc", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "0533ce07d027a7d5d5924a1a050e051a39514ceb58de62ac10075a3aca3d6434f41b5e17e82162494364704433e1e1c3" + } + }, + { + "type": "Regular", + "proTxHash": "502c2eb07cc483a7770f6bfb7fe89509e3d41d001ea755cdb384ac9279ca3db8", + "collateralHash": "663496e681033f1385cb06b64fe7e8d919bb4949f4edf27df55886133fd99287", + "collateralIndex": 1, + "collateralAddress": "XtRznm9Ef3htAj7qxWRLVLuVWssMaSn5ZM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.222:9999", + "registeredHeight": 1821107, + "lastPaidHeight": 2126040, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhYVvZkLDwkTGGese7QZv6b2QCkburnKbe", + "votingAddress": "XcoCXQwHjkMwFm3kTWqiQMMxaYEKsLQx6M", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "86b6f6ebfb00d34a10f765caa1dbf096cb32275a56443b99d35e895a7f8c468ceccd77eb1caa89098bdc6a945dc518b4" + } + }, + { + "type": "Regular", + "proTxHash": "0eba73fdb5dc4ba8d652d2d063b33f8e0304e0b85884842e05a3e5da06db8128", + "collateralHash": "9a54ded9b0639031dd5a55a5c513e557ef39f7b60895df10c02da6ad7e27ee3a", + "collateralIndex": 1, + "collateralAddress": "XqqerAWnXvZuZfTFiZ1rjseVPdgewa7ozE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.50.33:9999", + "registeredHeight": 1821110, + "lastPaidHeight": 2126041, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrbZdH3psa4UbrHSPPmXinhfRfdFpzS6Ub", + "votingAddress": "XgFXe9ZF4MjjraSbki9Re8LUPsrapMTaCe", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "891cb3ef97b128cdc6158ae8949ebe7d3d473441cca9699abe9017033c7776814c4a50f50b6b24b397f5780f2b881500" + } + }, + { + "type": "Regular", + "proTxHash": "2eee5b0d827572026c8fa66ed1c24d55a1c2821f2fec1aa8afd400ddf3fd2543", + "collateralHash": "d235bf05b487bf2803b4a55a35855abd90570941ba3480211b13532f34801d80", + "collateralIndex": 1, + "collateralAddress": "Xsx62LX9VAMPRApAi9YAdbVZLoYVuNz285", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.230.96:9999", + "registeredHeight": 1821116, + "lastPaidHeight": 2126047, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgKQ2ms1N2L9jTzsXxRjf6cJyZmKexePZM", + "votingAddress": "XrK7dKotZd1Vorq1WqtpZcB6KfUQGn6r7f", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "0ed860a0bbdf9007769b3b60cddd1f791089d7f6c24ba1711f84c860462edc60d2a3c6404f4515e3a356ebb2bf806628" + } + }, + { + "type": "Regular", + "proTxHash": "ebeed09fdfdba3d626366ad2729c8e7754a664413f3939e573d29e63b12314ed", + "collateralHash": "040fd69dcc3ce5b1249a92546ad5235b4b54679351ab75a6589150788f916a86", + "collateralIndex": 1, + "collateralAddress": "XoZmLVg98GRdz9Tdjna89mFeHmsMHGmeXJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.103:9999", + "registeredHeight": 1821120, + "lastPaidHeight": 2128258, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876718, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xtn3TCqEvc5A9q3yLebEsVx6fpdLkK71NL", + "votingAddress": "XnhUGScCiokUvJ6DXBJykByStx8Dk3g94n", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "03abf258b397a0f9b9cace91eb369a22b28c9f9ba3a071df68858611ca0904d3ad677da8dbd988f62f3525c1ab22363c" + } + }, + { + "type": "Regular", + "proTxHash": "fd0897136e8df3f84c63b67ca6b9dc1923c753ea8b5ee452d1d38e35e1422217", + "collateralHash": "044ed2af6bd081a9d6075c799dad9ffc599219b30380a927816f2971a219b28b", + "collateralIndex": 1, + "collateralAddress": "Xs6vBy92juYtUphNgDgwz2raor6iB2DAet", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.231.24:9999", + "registeredHeight": 1821122, + "lastPaidHeight": 2128182, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876653, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtrxRgLdQtEw6PCaCcp9mbKJjznzUKQ1vE", + "votingAddress": "XyHizL2ik6M7yv8FimACkTRZNY4LqTg56u", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "954fab6114b6e9c6a626ef6c82efea965c24f937fc46a56ca98daaf3685d556f07c2649e9c3d636cd29d41dd9f7af640" + } + }, + { + "type": "Regular", + "proTxHash": "96e8173b44c8ef1593d9f8e121ba6e77c962d3ba8232b441dc1b87d07d50f3b0", + "collateralHash": "7f48d656e75b3c1410a2d878361de2ebe543631779adeb0f5565404aace0ef0d", + "collateralIndex": 1, + "collateralAddress": "XiNCgy9T56z6RxXcghAqHQxYAJQzaGuFQE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.193:9999", + "registeredHeight": 1821123, + "lastPaidHeight": 2126107, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwKTUXQqKkqperv6DRdB1ZAXwZPudgCBDE", + "votingAddress": "XyygPGouMZ247uxAKPbxCd8NiLVWPVhk7T", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "191b0f9f3481afd2575d55788bea49836a7288832b42924c60d0ccf6444dd4240a3630d98ae033924d18b550e385f3cf" + } + }, + { + "type": "Regular", + "proTxHash": "7544ca3b9824d54cab2053d999caf770486db4fea1f2a4dc95bb84ccd417f542", + "collateralHash": "8c1c61fae3a82a195a8c4ca4d4a5727504eaf9db4aaf841b2f4c0014429f4c3a", + "collateralIndex": 1, + "collateralAddress": "XscNVxLXcKGK6YW6Gf3RUX5miEAt3SWuR6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.214:9999", + "registeredHeight": 1821125, + "lastPaidHeight": 2126120, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw9sEB9YzWneD1JjUW47A7JHijwkU1u4ce", + "votingAddress": "Xe4BKYPatrfhjDgQ1EPrBYHQUJBmR8zvci", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "86c41c5b30e1f33a5bb3469bc98ca32f6c450851d567c731b423c977011b659087c074ee163f70191170214e6db295cd" + } + }, + { + "type": "Regular", + "proTxHash": "31ef84ee0614a38a21d836392b1db22c999b6ccc3854789662aa12796fccfe3c", + "collateralHash": "53e8c5c143753aff2c564b92d2c33a9b72292c0094b4f2266296bf7ca22b32a9", + "collateralIndex": 1, + "collateralAddress": "Xia2NCvYeMR1eeNBTX6haW6wo31GUmiZK7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.121.131:9999", + "registeredHeight": 1821528, + "lastPaidHeight": 2126416, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdyqwpEtmQD6mLjZzpC9fhMc39HGFpG93R", + "votingAddress": "XmKtiz3ShxiQjC1R3sYWBPic2QxXU4Tdt2", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "9188e1d70c404f31d3918eb03622d9909a13411159aa5e7d620cdb9035fabb3d8d96d0dc0893390d6c7b36051b3b3775" + } + }, + { + "type": "Regular", + "proTxHash": "56b257caab48f1c6a4c88dd1c86e38a2e52ee028ff45deb55efc82fa5e3b458e", + "collateralHash": "29ca8d4c5a08e35bddd876c0962b4966abf6a17b0f73a1629a3d6a21bd94ec56", + "collateralIndex": 1, + "collateralAddress": "XuZiRBuvkRLzRYSg42PCgrzwcdZPkQ8Ykg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.175.72:9999", + "registeredHeight": 1821530, + "lastPaidHeight": 2126418, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhu2RdkUD3CJY1RxaVfycSBVWPWtGrV7C2", + "votingAddress": "XbHfMqZ2nwhkJc8GqqY1CEBgSLVU77zWLi", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "838d8fa80eedf154877df254427ab23c9377b3553b21c0c8ebbd882f870b3e2e14297a4e337ec5aae3e05c710a2e664e" + } + }, + { + "type": "Regular", + "proTxHash": "da9e4354c7e2708c8bb3b0fc7e566d428c19dc3c6532914b82e3acea76fbb2d4", + "collateralHash": "7a1b76894aa1a59ad41f90f766e720718294df1d8deb8134f9221a5bb9d6e761", + "collateralIndex": 1, + "collateralAddress": "XwXMetU8Py95Kbsmr3v9YaGTy9keoQa62h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.134:9999", + "registeredHeight": 1821530, + "lastPaidHeight": 2126419, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xtn6ywRHLDYbRvtKqfEBQXsCaxjnytMRPm", + "votingAddress": "XbFiZL3tbbWoLvoZQojhpdhPqcvfnQL9zM", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "06301a86ac33fe0ec430c3b947c40a3f465a6b9d4b97587b7f54ca07ebe34fc0dec8b2b6690e10abdf201df79ca4d985" + } + }, + { + "type": "Regular", + "proTxHash": "2fe1dcac2f4b742f1f1526d269c00412cbe660d9137512698962e0641a94b33c", + "collateralHash": "1a27c5b796eac7f00c699517ad77dad313fc9c6e426dc32ca09e509366762fe3", + "collateralIndex": 1, + "collateralAddress": "XayoZkQ5pGVnTj6tW8reNTenvpmLYT6ByG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.36:9999", + "registeredHeight": 1821817, + "lastPaidHeight": 2126634, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrd2ATxSt49xz32CzdTJSipD8tRW9iyZAM", + "votingAddress": "XnkUweSiWQsmKcdCaNp8n2Q7k7E8zfsS9n", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "127e9f16a74ddd9b6247e2ea0c8f45b8fecfbe8608c923b2a4c6214caba3d24817264d06d7bf7a0de649c29c0e259b97" + } + }, + { + "type": "Regular", + "proTxHash": "54a0e55725a32c0e34f977d2af7172baa8274bcd9c7fc30ac5b543cfba6bfe94", + "collateralHash": "2e312b792e01786378e609a9a920badd5579be8d9afce6474cf8bf122ef3522c", + "collateralIndex": 1, + "collateralAddress": "XfsbRoJATrZpFy4CBsjcwoT3boZZje9zNg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.255.76:9999", + "registeredHeight": 1821817, + "lastPaidHeight": 2127755, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976302, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtNXqGaCiFYV68cJXMxMBSqck1ZXP9JDpQ", + "votingAddress": "Xeyh1rmmM2cPaYJ7SeMFqkbQuP6JLUc5xr", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "1536dd75a491252feab620f662e53f50ebca0a096b83051ab03ef1ecf8c22469410679f2c0252f1c61bd06a474d81b7d" + } + }, + { + "type": "Regular", + "proTxHash": "b884a876b845e787cdc08191bfb6820b9c4f47000eddf7d4879b292dd31df1c4", + "collateralHash": "e67e3a602808354e5f69c7f62d61c9c8032e0c2fa767f42eebc4c6426284f056", + "collateralIndex": 1, + "collateralAddress": "Xmte5EcvCpuPYxey4WokCRajR2auVfSCno", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.230.98:9999", + "registeredHeight": 1821817, + "lastPaidHeight": 2126636, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhzkN2AQcxmXpcLN8ZQpQyp2H1RVGWbiT3", + "votingAddress": "XyCTXMCANP2t4rcZBTE3J6CdjnY2en8w5E", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "912944b0623a11da91bf03bf71ee5ec647b49c81034effd7ca2e9b2fdb0bb30780d909a286ac9b2bae1bd9dd783593c1" + } + }, + { + "type": "Regular", + "proTxHash": "e7c5e345e8af1e7cc29a0a32fa40c09f7a691ffacd7c084b7bf9571d47c1d240", + "collateralHash": "50f9e8de586f16dec8550befcbe174c06e574ef4719645043366f57c0c84eb0e", + "collateralIndex": 1, + "collateralAddress": "XfNEWRLMNxguB2tJCNjAQdFLtg4am8zqEQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.230.99:9999", + "registeredHeight": 1821821, + "lastPaidHeight": 2127751, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976302, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpyuyinEEKz6LBuHrBtVZSm2kGHy8t6Wcw", + "votingAddress": "XrNHWrzSX6Uue9RmxCiPrNLRpdxhjgHGVR", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8cba87d2cc96739a43b063ceed9dc6a9a0f1a4aff48e38c20c501db498d58eb46284a398e112dc28d62ca1db51cb6ba5" + } + }, + { + "type": "Regular", + "proTxHash": "6431fd5421f73facf0d6b810679132d2300c30f3cbad3d2dfa2a5e684a4bb12a", + "collateralHash": "da9f140977a8bb8f499bd379da58288e10fa6066e66786950303c762e8a5e0e5", + "collateralIndex": 1, + "collateralAddress": "Xpg44ue1BsCvmCw4nMWW5yn2r9Z67o5rQJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.48.98:9999", + "registeredHeight": 1821826, + "lastPaidHeight": 2126638, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgrNpLvp6kFw8bEHUHTMU2wkdSja3pvfAf", + "votingAddress": "XuoVmRJAJrbSm7qDsSJmKjknQromYXMdjg", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "923cd738250f706432353fa96cda97cc6e576714b53a1711d33a75e2899d37198faa68ca1b93d72a5a41ee7671f1e993" + } + }, + { + "type": "Regular", + "proTxHash": "fe967b77a8cb3d79ec1d6c0873665f6b1e16030460b0326efe977b2c4b9a30fe", + "collateralHash": "b56d7dec3e562bf7e7955de18908eb291cb3662ee8cda9419bec97bcc90db16f", + "collateralIndex": 1, + "collateralAddress": "XhacCdo5b7NnS9H7Kg5vedvJPxUKQsJjBG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.101:9999", + "registeredHeight": 1821826, + "lastPaidHeight": 2126640, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbubAmiav9LVXzRNRsuLAqMPQcKosRb58Q", + "votingAddress": "XpXuKFneeiVa2QZMfoav92SPdi53kjbtUf", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "0053a37f51ad40dda964a5ba5865c109aa5d1a71c59bec14c66cc40d2b2348a03031034be5cb3536b4bd8c603b78d18e" + } + }, + { + "type": "Regular", + "proTxHash": "6f17c87b5a515038ec5d3f412500b298013841fcd300e91414fe7c68803ad154", + "collateralHash": "baebb38daa8301fb6cccd64ecfb3de649d20b27fe644e1f6ad39cf785e505cf0", + "collateralIndex": 1, + "collateralAddress": "XngM9L66YAJPp3yhbeaNU7nKn5f7HS1xkT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.203:9999", + "registeredHeight": 1821826, + "lastPaidHeight": 2126639, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx5wBG3BktHjx1M8gR6nbPa8Cs25NKnFas", + "votingAddress": "Xnay7g3Arw8crVhjdirSqJ1ip1Brf7J97R", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "06ca5885128152a0eb2f2ed064d642c9cdcdbf0a94ceae07820f40b6e1796add459cdc0cdcb46c0bf7e1921a50c682e7" + } + }, + { + "type": "Regular", + "proTxHash": "033be55c8a3338a2e4c6c71be11170fcba88ba83b23f2c2976a2deeaac7856e4", + "collateralHash": "bd322439e0a5c39dd7d0efa9dbefb50c811e37446c8897e591d1c225f43dce63", + "collateralIndex": 0, + "collateralAddress": "XfLEdSUnQfTERdeFMDQg68V6yYunTukPWv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.248:9999", + "registeredHeight": 1821827, + "lastPaidHeight": 2128185, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876653, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtofAMA8rWo6KRmZezGqhD8iTQAvjHWkbd", + "votingAddress": "Xq6yxUJ138VP9hLH74JZfvPEEuchktbdxU", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "140a8215a5ebaeade9dd9aa57053fe020a26230de4681523e24cfcb885f9f603102f6c50f259fbb0c3e1f163c2f404d7" + } + }, + { + "type": "Regular", + "proTxHash": "e7f99188f76ef9ed0529632e7840ac6adb746b20fb6e78a88a85943efa3f803b", + "collateralHash": "2411f8f063216ddfbd72b8b1b75ff61b2c8cc0e6e909c017bf4ec5d206456099", + "collateralIndex": 1, + "collateralAddress": "XimS8R6sdpyYvhefvhrBPBF7TZeVwWnMgK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.230.104:9999", + "registeredHeight": 1821836, + "lastPaidHeight": 2126655, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyVC1xGqYdxwCeKL2gwrCQ58RUzvZXaajf", + "votingAddress": "XcAjUYjsEZ6TpYxhPXfQnKix6YFZVz3BbV", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "0b6a013f29291cceb2130a0a65b39d5c62a78e5208ce6ea289de20d4701d25c73cab7390f3d254766f7ee3a277b8897f" + } + }, + { + "type": "Regular", + "proTxHash": "1364d12920ea44df0e8e4f26a5d58fdaf60d8c34bfd5f35701620e3eeef56cca", + "collateralHash": "a498234143c79e9d8aaa74660718d75a281ef9ec79c389c20461565dd53c0c01", + "collateralIndex": 1, + "collateralAddress": "XxGZWcxYFstYKKF3gVPQAvsRsY2U264QBi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.108:9999", + "registeredHeight": 1821836, + "lastPaidHeight": 2126656, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjCvYAzhUTsXRdwDi4UTUuiYrDUuhdb32u", + "votingAddress": "Xk6BDgdgwQ718uKZv7XNky1Wo5jTRzCHuE", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "162f48be26dd637b2ed3740aeafc8453aa7dfc720d5093bde2a0287ea5706a90f7ae99d2d26a425340e82c6ccc789aab" + } + }, + { + "type": "Regular", + "proTxHash": "77b4c5a7d5da5aec1b19ca50260b3d6f73b0780b66867db45aa91b87d97d0781", + "collateralHash": "51b34d92841feeef790045683a661e4843988a270f8d47472e7b1bc609d133a0", + "collateralIndex": 1, + "collateralAddress": "XykstwZuthq32StLhNQQSSNHxoDt1GFPB5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.202:9999", + "registeredHeight": 1821837, + "lastPaidHeight": 2127052, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1979160, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy7vtUDu79PAVb6XmVgoeb8DRJRJqYWrXW", + "votingAddress": "XhzKytMXoxKjatqSaMQpTKxRC9t7fSbCQj", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8d387c910cdce5ac6cb36e49db3a320873243c7e1374f95fde77996a061110b73296d24047b42b7da0ee7e91a5ffd202" + } + }, + { + "type": "Regular", + "proTxHash": "f11306c779ec635da5b5ea97d27acf161106d8bb1e4225642e552c6e7d36c1ac", + "collateralHash": "11ac8b6863dabcbde067b115d21ff5a50220dd06337a2fc696a0acd8d5a49537", + "collateralIndex": 0, + "collateralAddress": "Xgf64rxrQ1av1cJUpRsuo6nFXp7KwVnrUv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.238:9999", + "registeredHeight": 1821843, + "lastPaidHeight": 2126664, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrbU3kJdMTtm83ZLvo8H2PZWJapKoucDvZ", + "votingAddress": "XyM8PUJTANjq93gjnZQvqSasHrvUoDdmGp", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "110025c7814269844900a2a1e3a36e835efd98887f6481d863e267445a87adfd152ccc6212baab1ace5540fd86604564" + } + }, + { + "type": "Regular", + "proTxHash": "e6da04aa5bf8f1dddee6a2ec3599b7a927e52c4f9be06a48d34145f3aed7398c", + "collateralHash": "f2207ededb04cf7b4393af7e984f37b879dee36204a369fec8d3aba2fa5db7d1", + "collateralIndex": 0, + "collateralAddress": "Xv5TTCyH4vYB5ttV32wtpHiDuPo4faVM4S", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.115.131:9999", + "registeredHeight": 1821845, + "lastPaidHeight": 2126665, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xoo1Wxqbmax72ux5gNG6UrYzDV2r6WaJhx", + "votingAddress": "Xd4MRzTomj2PidzSxuYsYA7ph8BGqyLJi3", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "92fd14452b614a98d7457e231dc3a90bf6ca8354ecf2c73569a1b79d9c3d8bcc4e94537e2ba74cb146cdfea7b5fe3f9f" + } + }, + { + "type": "Regular", + "proTxHash": "ff93208c66329768323a47711f7e8c211c8b42dd38b8a2dc36118d1d70fe673e", + "collateralHash": "12e39de740b25dee3e6d0f95a191aa1248195afd6753ba6a2fd7e4e762ce00db", + "collateralIndex": 0, + "collateralAddress": "XjNeHYVW6dQzVh11pGdwAnJERvgFCmYTfo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.106.35:9999", + "registeredHeight": 1824265, + "lastPaidHeight": 2128798, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhCSPiDjdv2tBoRMBAGWtuDrnNNBjMVbhv", + "votingAddress": "XisU2fHxxPUZZBgq9wWLVDbdNEWBoZEU4x", + "payoutAddress": "XjNeHYVW6dQzVh11pGdwAnJERvgFCmYTfo", + "pubKeyOperator": "1776617d2590cb377fe8fd55dab9ba9a2d61299b59aad11d97d2f9505f4b31dcbe10a7f43dbb49061b79da300e8f4dc5" + } + }, + { + "type": "Regular", + "proTxHash": "d6c57cade9810b0d417c500fd77a9965069a0f481967804bf7395c6dafb6e6d7", + "collateralHash": "426d3a586cf4d931c928d1021833a327c5ac87d4f0c522d3261023d9c81c6224", + "collateralIndex": 0, + "collateralAddress": "XxUjdKziWhn8qfrG7WpbE7o3NEfLwUFgBn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.60.131:9999", + "registeredHeight": 1824265, + "lastPaidHeight": 2127167, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeX6U9dxgeKxW8rCC4yE8JDYA26EfsFNqV", + "votingAddress": "XwVxc6Fza2Kmye7Nb77QFnw3naHxNXmYxU", + "payoutAddress": "XxUjdKziWhn8qfrG7WpbE7o3NEfLwUFgBn", + "pubKeyOperator": "09e24950eebe2b8835fc340ec6bd6362ac6eacfe231cf67119bd370a7cc4138d205255db47ea6be572f94481fe1004e3" + } + }, + { + "type": "Regular", + "proTxHash": "f71752563bc099d62793804e476ce225a6875fc0cea8b84cabcf027472000c6a", + "collateralHash": "f2ee5dfa81e50b4c848f2b5443972219dc70ab2a3b33878767555382c1b8819b", + "collateralIndex": 0, + "collateralAddress": "XckwPCJVmgzVfQtSPNFF7MhxVMfmz6gv8G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.160.165:9999", + "registeredHeight": 1824267, + "lastPaidHeight": 2128819, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcPjHGhdJm6APMdtHcsSLeiixwmuwgcQPD", + "votingAddress": "XkuwfcHfckVkYwJpSApGUGrZ8WFTE5W4b4", + "payoutAddress": "XckwPCJVmgzVfQtSPNFF7MhxVMfmz6gv8G", + "pubKeyOperator": "8cc0f9f7cfc044474e4ab8e182736c44c9305fc86448685390715a9076331a7198e0a4c9d2d06fa260683b076184c0cb" + } + }, + { + "type": "Regular", + "proTxHash": "9f88f12d2bd5778de3e85ef78c51d4bddb565359904b02cacad58bd6e2ec23ed", + "collateralHash": "70370c56f464b4d9bb388f66d6fd26e3a797629306cec4783b8fb2482d67c787", + "collateralIndex": 0, + "collateralAddress": "XbVcfAg53QQRTrtxCVydkAAYFdhk3qrnyM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.61.119:9999", + "registeredHeight": 1824267, + "lastPaidHeight": 2127170, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xob3WC8hiaX5nEcVmCX1hxX2G1tzdA217H", + "votingAddress": "XwVnH5d2LZ1k2wPqUBnjw66k2nMsFB2rCc", + "payoutAddress": "XbVcfAg53QQRTrtxCVydkAAYFdhk3qrnyM", + "pubKeyOperator": "067dff8921d762fd4689062e4776663e394db26ccb59c330602c84da1486cd89c5c00d3984165547476b24da9c8c6c1c" + } + }, + { + "type": "Regular", + "proTxHash": "98822caf82e1b2231b92437dc934b62cee404cd2746c1589438a43b1c0bac0f1", + "collateralHash": "29dc3e8dd25280042344dc88dddaf040f1c0b14970a1f64cffcdcbda66ed02d5", + "collateralIndex": 0, + "collateralAddress": "XxQXNA5yKu9vJBYhbhW7ZfoQ8XmtCEbp5i", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.185.169:9999", + "registeredHeight": 1824267, + "lastPaidHeight": 2127171, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkBMLtMxmpcfAcVmJJ8vpmtiAkUKkKPMbX", + "votingAddress": "XpFHJv3CswbezfycTqndzHVYFnX82VcZjb", + "payoutAddress": "XxQXNA5yKu9vJBYhbhW7ZfoQ8XmtCEbp5i", + "pubKeyOperator": "1106c3b30e79f4a48142161ba3851fedb93267639286d7a216d3526e7d15859934441d13b9235ac0f62a8be088673613" + } + }, + { + "type": "Regular", + "proTxHash": "dcca047cbe1850f71bd31c84b25831a263957ad10470cb2a22b3cacaf19761fb", + "collateralHash": "cc8558a66c458404855e163d73bc52b8a53cb9bf749821778205d928249b6156", + "collateralIndex": 0, + "collateralAddress": "Xx4WdGEpN1GQU8w1EVpkFtH3A9A8DKhYcR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "66.42.51.106:9999", + "registeredHeight": 1824267, + "lastPaidHeight": 2126592, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985796, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn6rutVVSzSBnZHHfi6GgaSbZzKzjpUQXE", + "votingAddress": "XfciNUvMvuGHuKsZX6tG9LHiFNkGy6Wpnm", + "payoutAddress": "Xx4WdGEpN1GQU8w1EVpkFtH3A9A8DKhYcR", + "pubKeyOperator": "8510ad5a1b94e6db07f73568bcefab1cb3d5cda6ed6c7e5f67fa2f6306c718d5a1906e90d1bb650d40f51a49043ffbe4" + } + }, + { + "type": "Regular", + "proTxHash": "c55d8786adab9a39aa2597925bc97dd10606596856a171c52cb27ebca48db753", + "collateralHash": "bb18b2e0c3a546764799c9da4a4e5c98212b75bd0a99f2db659709897be21442", + "collateralIndex": 0, + "collateralAddress": "XqH1h6HsMKaX723GYWaCGbhAHXRFoXoRrM", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.64.151:9999", + "registeredHeight": 1824268, + "lastPaidHeight": 2127147, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiQd84bmSdFUaYPGCCeFHo2joyt4CHyqvN", + "votingAddress": "XeqnK5Yqq17ki7RdAAeVk5JJdfoFuG4qkr", + "payoutAddress": "XqH1h6HsMKaX723GYWaCGbhAHXRFoXoRrM", + "pubKeyOperator": "1512bb597d5b058638b2fe16c2a585fce26c7374145ee46796525af43e8ee0d3b421a0f5c3eef53161d3a78fc1ce27ca" + } + }, + { + "type": "Regular", + "proTxHash": "7d23bb8dfca0a0f92e49264d4603b693887361e2d0c06b875e21ea0d37104b2d", + "collateralHash": "0114024f8f41cb663c06c79a02d4fa7d2449f0211f4b411188320d35c8a6a504", + "collateralIndex": 0, + "collateralAddress": "XoJGBfbf8BmduYZMjcXHpn6Rf4gM9jr8vj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "207.148.116.104:9999", + "registeredHeight": 1824269, + "lastPaidHeight": 2128797, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkW5z66MEPz2s6FNUdCDCY64t1uArKcVBX", + "votingAddress": "XmoS8apDsBQ6oP55boYT6ZyxTHs54yGGFY", + "payoutAddress": "XoJGBfbf8BmduYZMjcXHpn6Rf4gM9jr8vj", + "pubKeyOperator": "8de514e4f6a964630d239487527fc3a190758d15dba299e342516cb32942a6bf8ca9c7218fd2daf4810e4006b123d825" + } + }, + { + "type": "Regular", + "proTxHash": "12e46bce64971700da615da8c988a3e9fa887172900ffb35f267ab9273e31e6b", + "collateralHash": "c5befa90c0a5144ea72fa7516b56ff1198a8636f61085ca0050a231c8e0f1364", + "collateralIndex": 0, + "collateralAddress": "XfVA658S5cwmcXHZXcZacNRPxAfuntwa8M", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.28.154.79:9999", + "registeredHeight": 1824269, + "lastPaidHeight": 2128820, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XboRyfmeam5VrwPLaTkQJLLkGqnhcPNNcw", + "votingAddress": "Xxpo9P1FP99farEyKWTLh2xsxgEmf3F4ju", + "payoutAddress": "XfVA658S5cwmcXHZXcZacNRPxAfuntwa8M", + "pubKeyOperator": "104eec66980b46a1f288db5c75cb0c785e577aae128fb860d89725e738411d579743a3949551b2885118e8e8532f5be9" + } + }, + { + "type": "Regular", + "proTxHash": "89f8b6395a38c4808206da31334a95c7e15fafafd6ea91974bef9989fd6e9886", + "collateralHash": "08759978eee21ebfd36c1fb87261828f75c6960e75c388643cb20618965ea54c", + "collateralIndex": 0, + "collateralAddress": "XicjjLFdgHJgYhGs85K7JSUVvamvDJNC4a", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.190.31:9999", + "registeredHeight": 1824270, + "lastPaidHeight": 2127153, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjmeaF28suwDqdCQD5JKNoMzzg5car9XvQ", + "votingAddress": "XeZnVRTTeZyAT174x2eie5zScbTBoK1CGA", + "payoutAddress": "XicjjLFdgHJgYhGs85K7JSUVvamvDJNC4a", + "pubKeyOperator": "13bd53d61cfe03d46d7131182413620901e575b1082fe5f19a96379742d0cdd6f619f86edc5d4b50774938d4f1a6bbe1" + } + }, + { + "type": "Regular", + "proTxHash": "c160cdf965d6f510d41277e3a47d3c8c79482c0fa12d354c77d9a42770db26b9", + "collateralHash": "c7eebc2c0b233f493eba68ad0335baf82fe4e0a0067cd60dfc33ba6bbba2eac0", + "collateralIndex": 0, + "collateralAddress": "Xw3rdyXVNG7cPL5inFTgfHHuyv1frVEYrL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.32.116.224:9999", + "registeredHeight": 1824271, + "lastPaidHeight": 2126938, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114606, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsnBTdnX5fKA9Fku2ZhQ781JaPFJ2VhSNW", + "votingAddress": "Xv3DV58zdfDcD1A2snQHDJrzqx7tAiZQir", + "payoutAddress": "Xw3rdyXVNG7cPL5inFTgfHHuyv1frVEYrL", + "pubKeyOperator": "8480119bd9ecb7167c84847b3ef45f284f730fe15f3a8ca3ea2ddf4dd19ff2b9d8f57e07c7420c61dde3283d5afd5c37" + } + }, + { + "type": "Regular", + "proTxHash": "82a75dadca666a5499b655a0d1613736f0f6e47eb9139b8eec286b7cff453fd2", + "collateralHash": "74861c46da974b7682fe12320e517073f4884293e9de419b37c2d6d972f8577c", + "collateralIndex": 0, + "collateralAddress": "Xocs1gJUzhgLg4UURcrcFb36qxYhdY5qKt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.180.144.223:9999", + "registeredHeight": 1824271, + "lastPaidHeight": 2128827, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1936986, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnDvvRQKxBqsmFHi6FQm5okZMEv6iY6UyU", + "votingAddress": "XfqoQJWZbJbVUxVvk2CwfiqodCPLGUVBsw", + "payoutAddress": "Xocs1gJUzhgLg4UURcrcFb36qxYhdY5qKt", + "pubKeyOperator": "8e872574dcf9bb53abc6b2323d2d3d0fe22d61a3396829b014b05e902e76dc0543cb094f6966e8818800ed9b8af15c04" + } + }, + { + "type": "Regular", + "proTxHash": "85237145429f7a234a6572848d01a65fb216e423b6a9cbcaba8c5b09a6ca30a2", + "collateralHash": "d9f692311a079f78f07f2ed34b5775bb073bba339ed8aea9d1b471ae51bd1116", + "collateralIndex": 1, + "collateralAddress": "XmfSEmf4YWDBwTebrd6byRibF5tnaPR4Qa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "65.109.93.110:9999", + "registeredHeight": 1824695, + "lastPaidHeight": 2125873, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyRPfuNFMq6pypzMFu98Mz78Qfe6Jvv1FR", + "votingAddress": "XhnWqsdghRnFST9qd5KS2whyhUhik8Kcds", + "payoutAddress": "XysBEn2FgRtVR4knUVSM3despzeuj2eNEV", + "pubKeyOperator": "913b4c7a648d641638c96df72ff5b1fec0f17d605ce2890dcdc4cf67017d7a098571c020a9916a8c994a5110bc08841d" + } + }, + { + "type": "Regular", + "proTxHash": "deadac5e0d1bea2bfc8aca4a18d8ad7e404d5b82ecf39daf69e180276a6328df", + "collateralHash": "96aa850f768e9e0a46e9bfd75cec72bc26b5b2782b12a47d5377f714d3cd5702", + "collateralIndex": 0, + "collateralAddress": "XwBLYMLdSsdBi7sDf9VrMYJLPRvuD7Zoas", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.200:9999", + "registeredHeight": 1825238, + "lastPaidHeight": 2126363, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx5NLxrr8skwepULxAA4LAkRQDhqDybXrP", + "votingAddress": "Xf24gBSwhukSkmNEsBXs5V6jihTFS84muM", + "payoutAddress": "XntdJy5NdcG2d1LjzKLihWobCYGg8GfsBy", + "pubKeyOperator": "8e75193279e07615842eefedc094e1cb2d3b8768f67c47acfd479e914eae5b9e6ec4546154b7b3eab05791caa213efdc" + } + }, + { + "type": "Regular", + "proTxHash": "75a261807aba6b9ffe985ad383e2fb319b00e55b6fbda0b7d88699d3db4dc189", + "collateralHash": "cff4c5225711903373f09844dba36b2a49480f7201f9d74d4fcc348f939f684a", + "collateralIndex": 1, + "collateralAddress": "XtecW5t916sWDcexruUxeMaLb7MtqbLTic", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.49.236:9999", + "registeredHeight": 1826733, + "lastPaidHeight": 2127590, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XajuJQoa4oCxgvpnDonmLnDGaP6rGMMAoC", + "votingAddress": "XcvE3Ws8NsWeFNv13AvAcVkkanbwDp9aJH", + "payoutAddress": "XdWnvxR4shXr1fLFwpZU4FC14aaf6tfAbN", + "pubKeyOperator": "01ae3e001a68c330d6ad69172d5855764e1a5b566b12859b5a509695cb909566c417c85282d8e50aaaecbe3f46eeb86f" + } + }, + { + "type": "Regular", + "proTxHash": "114335549418eb61993e1a89a8432151bb2a42a2539992d9c459a8ec9b17e610", + "collateralHash": "76d5d30cadd8ff04c16d09655ec7f3202083c4621537bf763890f3fa1840702a", + "collateralIndex": 1, + "collateralAddress": "XoMacEkTdJUYwgYG7RfwmhAPAghfqcNKN8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.73:9999", + "registeredHeight": 1827886, + "lastPaidHeight": 2128641, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeJD5Eu9SWEDJN6JGPNQpzEdKENiSFbYum", + "votingAddress": "XvXC1ZjLzN3mNAyYi4r88rjwrZLdW1QkKL", + "payoutAddress": "XoMacEkTdJUYwgYG7RfwmhAPAghfqcNKN8", + "pubKeyOperator": "0c4a920f75c4f071c8babc2edaa20a895f330601b134a248d5ee0611da6f76f4291c841b8bd0c80113377286c86f2c68" + } + }, + { + "type": "Regular", + "proTxHash": "8ca4618f0e08108acb1cf7eeee71b9ddb15d3db3a758bb3f3ef1e7af9b2bb76b", + "collateralHash": "6d9b1e73a4e001b5a592c44ffe2fc7577b69e01728edcc7f5caad8fa17fe1fcb", + "collateralIndex": 1, + "collateralAddress": "XtUknodwGxWa3Z254oGtzr53jjJLzEVBhA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "31.220.72.125:9999", + "registeredHeight": 1828519, + "lastPaidHeight": 2122710, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126970, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcVgfV8p6vgAfqMAtLbr5KGr5ASt5sWKsB", + "votingAddress": "XwFPsLyM7kafR5n9uhYgDpxvnUsRjdypQj", + "payoutAddress": "XpVBMwdU9XVjXF9XqQpeesNJRnTLjdmZ8y", + "pubKeyOperator": "09b2bd564b62a0c53663d6452a8df738da74b7682a18872fb76e3e273f23efda864732ba1f316e86a7b6848dbeaf2de3" + } + }, + { + "type": "Regular", + "proTxHash": "ecb64f2789df128fb318661a90fb05594362e1d561c2b12f8c041705aee90c04", + "collateralHash": "cdca732c2a37c89e49af92a3f6f1b87317551082c753cbdc1768d934b155a9e7", + "collateralIndex": 1, + "collateralAddress": "Xv1jGixpw5M91sWPCJ9i8tnjQ6orEEbH1k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "20.25.147.8:9999", + "registeredHeight": 1829431, + "lastPaidHeight": 1871512, + "consecutivePayments": 0, + "PoSePenalty": 4400, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1874058, + "revocationReason": 0, + "ownerAddress": "Xvj9V7qtoUmMXdb4kgHv17t6WFPz79NbpC", + "votingAddress": "XmsfJ1SHfgfJr9hz4BcSnzVxzQxX5J6dMg", + "payoutAddress": "XySW1Z3opDCmXaFvRS4RCSN5KWD2wXLbVo", + "pubKeyOperator": "8d1a064bb3fd391ff2d73197d8dc854b1763d03b6a0d61619a8146db22005bdecb74696077f807d09f71ce92b7913753" + } + }, + { + "type": "Regular", + "proTxHash": "80b6a0c2bd98a49ac548feed07e9b0b9160e5aa4d5739f2134a9704b4fe6f5bf", + "collateralHash": "be9c394a508ffaa813969f6ac5da3f92277af12fa0715303bc8bca949e7833c8", + "collateralIndex": 1, + "collateralAddress": "XbUMRghCvRt3zEYf2X1xZf9QMbuUhJ7o9w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.206:9999", + "registeredHeight": 1829710, + "lastPaidHeight": 2126820, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxusoGt71j2e1vRbsnt3n4WySQXeUGa7F4", + "votingAddress": "XxCsB2X49D9ACHDqXFZt1SgHT1bbovrpx1", + "payoutAddress": "XtpyRaa3zzYyFzz6ZotcGyTTntNm5Fe9aB", + "pubKeyOperator": "10ce3bbc05853cbe3e748da8659c5d740c1eea1f88ad3a227938cc91c316083f9894869b58acd74a1430dbfea6395aa2" + } + }, + { + "type": "Regular", + "proTxHash": "957df0188188cecd1d1f6c880d4a599554e97deb9df50ea2eac81fb277faa712", + "collateralHash": "abe1bee6038c6cd9cfb0c76cb626d5fb22e32318be6443a2ff8cf104bf41daac", + "collateralIndex": 1, + "collateralAddress": "XdpQLJFGkpkrexW9LQ5PWQDNKCM2KLkMTX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "134.209.158.119:9999", + "registeredHeight": 1830375, + "lastPaidHeight": 2127427, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsG7YtoF4tMHNYU6aBfQDMdPtov4fnYCwA", + "votingAddress": "Xe1H8siL85tVNb3vB1nCZDfEWJp5GXUBxK", + "payoutAddress": "Xodt5GW3r5jWupMRbowHPbthkdRkpcePv9", + "pubKeyOperator": "03b44a0e2aebb51194d28d1d74b2235fbc8cc94a2bda6172a479664ac07e8b362b685242e85f0931f5d9f1f11fe38817" + } + }, + { + "type": "Regular", + "proTxHash": "2625baa64de9e7aa9ae5001a714990a30a490287dc05316d5d1380b5c6d2af54", + "collateralHash": "4f8d5e7d75d080d0ce4b3bbd639ece2936ce0c18ed05e82b58f0e6243c51be77", + "collateralIndex": 0, + "collateralAddress": "XvtRo2PfY1upiDetPuhUCsxoKeE1p4YVDJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.131:9999", + "registeredHeight": 1830671, + "lastPaidHeight": 2127775, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcekXHEDfC7SL2jsX5tUSTDTVG5Bt2dMsC", + "votingAddress": "Xx1jKara8fARp5bbuSD8K1cqyxJHGXiQGC", + "payoutAddress": "XvtRo2PfY1upiDetPuhUCsxoKeE1p4YVDJ", + "pubKeyOperator": "92b5b6ace64c3c3032d3b4e8faf18c087a6ccc2684d81a70f585c6cb7bff70989f11675e1670330daedd315cb3a3318e" + } + }, + { + "type": "Regular", + "proTxHash": "70b7ec3b79e8696fbcaac96df3451a23876878ff5efa9880fb9a9aa6eb4c3be0", + "collateralHash": "847c4a47309b306e71e3e428580108c45f99d5bafc18c9753fa455b5f497302f", + "collateralIndex": 0, + "collateralAddress": "XpNiGjmjTXRqATtKkzUwpAnnubrpejpPyk", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.48.100:9999", + "registeredHeight": 1830673, + "lastPaidHeight": 2127777, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsGdhBYEvEqhJuXyAHFdehxG2awqK2jrPV", + "votingAddress": "XyLsx49nTePxGhTJG2LiVUfoSwY5NoXBhx", + "payoutAddress": "XpNiGjmjTXRqATtKkzUwpAnnubrpejpPyk", + "pubKeyOperator": "0ddc0a32035b05f3ccaebb381d2871bf9a5e599a472dbab858ae25a86e7316392ce34836a1f1689d18ccd74e0b46d687" + } + }, + { + "type": "Regular", + "proTxHash": "3a83f18afd41ac2620d9ffb3f6432929b07fc49679046dcdabcafb1c41578d7e", + "collateralHash": "54bb8d91f681fe245a14efefdc3de07978e9765589cfeacb0721440aaa792a16", + "collateralIndex": 0, + "collateralAddress": "XpjoSvx97rGXh1zoZtCSgka1MgjVh66wP6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.115:9999", + "registeredHeight": 1830675, + "lastPaidHeight": 2127781, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xiu2nQLbHLdcEedA9rLHoibveMwiQwndg8", + "votingAddress": "XhJc5mCua2CRGH4TzkL83YNqa4zL4mEq7k", + "payoutAddress": "XpjoSvx97rGXh1zoZtCSgka1MgjVh66wP6", + "pubKeyOperator": "80d2af15a72417be8746de1afaf90f3d4eb836e0e3235ee85fe24662f1b27b7f8504ca9cb2235ac4a44514396f2250b2" + } + }, + { + "type": "Regular", + "proTxHash": "5f7e649dc00d0b067db9e7f054c56b0f9d2b057e28699be6e554d447dcaf6feb", + "collateralHash": "84cbd30d4fe63e2714aa5480459bcfaa3e97e9a57a2671ce7db29bd85ed1f1f4", + "collateralIndex": 0, + "collateralAddress": "XmfjVycG2Z6RrcvCvcuLJwvySPuktP8jUG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.134:9999", + "registeredHeight": 1830676, + "lastPaidHeight": 2127782, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoMCX474A9sffkUEbZchmr6xss8z7C2djk", + "votingAddress": "Xggh9JSj2Hrstz1rVhZpTG8kYbSBcrWhxH", + "payoutAddress": "XmfjVycG2Z6RrcvCvcuLJwvySPuktP8jUG", + "pubKeyOperator": "86eae2e5fa1fd14f4223335c3d6918ede1b8fa1b9b541544ccfefe8ae43ff7297c6fab3a121f8d28cb4eaf36a7b52812" + } + }, + { + "type": "Regular", + "proTxHash": "c64786f53d6171ef5d0412d239251a9746f452e7935019c1fec5af05b98fd7e5", + "collateralHash": "92c59bbdf7d173ccab9ab8c13b486de1f73249a93da314cd5245f01003c2984b", + "collateralIndex": 1, + "collateralAddress": "Xh5nLdYEksRrApNTiw4Md9YUNP7TgDdfRr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.221:9999", + "registeredHeight": 1831883, + "lastPaidHeight": 2128778, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xokd5aLu8sN3s7Jv8jrmxtLhjJ4VbRKUj3", + "votingAddress": "XfbpVtaq7sAQQQsu8NBnPEuspLzfv9jpaD", + "payoutAddress": "Xh5nLdYEksRrApNTiw4Md9YUNP7TgDdfRr", + "pubKeyOperator": "8374dd614661209acc6ade7bad0d5291ed81f41416dec5f87dbfe580169796da471910ca7ef57bfaf5b2bd46169105fe" + } + }, + { + "type": "Regular", + "proTxHash": "b9b002693a41b32ae55be408392699520353db54b48f5fe29233e8b35492dbc7", + "collateralHash": "6bddc96cdd666bac13283335a1e8b5a3bc1a81b922a7784dec5227cfca5f6c2d", + "collateralIndex": 0, + "collateralAddress": "XpjpCp7rh7GvZ63JezwvWjo1juedCFKLzy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.108:9999", + "registeredHeight": 1836437, + "lastPaidHeight": 2126230, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkXYPKP1rbW2xgwjbvA67ak3CrBMMZHfYP", + "votingAddress": "Xs4V6G4vKr3q8ovB7V9TcssjAwZ7L16bLc", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "9565560b866cf3af4b3e46069b0e535463710d2b705eae5fd45543168918b9b6773c1029068c9596e13c34f3a26a3a46" + } + }, + { + "type": "Regular", + "proTxHash": "b7a0542418989eb2ce6dbfa58fcc94cd3880b8026564fd37d478854a73333aaa", + "collateralHash": "5243ea986b175f15dd8026cf55e9a14fbd73d5631b8b1dea860f23e70db41556", + "collateralIndex": 0, + "collateralAddress": "XovVKf9xGw4tYdRemjcBAkserkrwbVwyHa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.129:9999", + "registeredHeight": 1836440, + "lastPaidHeight": 2126233, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsR2vEqBDEQ4s8eQ6Rh1yF8aSLQYN7pUpQ", + "votingAddress": "XczJyyQHrzbBWQxXrmSfAKJFtskGQTEKZr", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8737d1f7b6f4d22a3ed996d3cafbb2b95f5209a434b35d92ff04a33ab007c723f1e7f0fc6978981c3fee371c5825925a" + } + }, + { + "type": "Regular", + "proTxHash": "c2690e15104cd0d17df48317af7324de02f187c0805348718a00ac807f2a0ad5", + "collateralHash": "e69230b3c7948d9a32a8218a95081f25e9327fba8253072645ee3deee68894ca", + "collateralIndex": 0, + "collateralAddress": "Xxm9QTjjP2GNb9extAL1REhA5Jsmb1kbSH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.120:9999", + "registeredHeight": 1836441, + "lastPaidHeight": 2126234, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnFSGPsrcWhWNEGZs1WzxR98AdZrfGkxVc", + "votingAddress": "Xidsa3yATXHYtohjRNZG8h2d4Q1oKgjiZd", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "013ccc6e5419130ef168e023fd6d17399ddcd0612f1aeccb9f72aa1711a349b1c51e49398111a298e5679fc90d93aac8" + } + }, + { + "type": "Regular", + "proTxHash": "7cf1f341487e3173dd1b43af326e58cad617a6f4e6a0ac771870865d447876da", + "collateralHash": "fc1ea2e621283f3391e84260e57490c6ef11abf74222b19f9a4936b3b7752b4a", + "collateralIndex": 0, + "collateralAddress": "XtqrNCjtBAtumQ1fxo7tjY1mPBGJSu3XMs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.205.6:9999", + "registeredHeight": 1836441, + "lastPaidHeight": 2126235, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp4Z6A4tHjjozrvJGMCtHMmsR3F61GcmgT", + "votingAddress": "Xik6nKnE5JhV5pmzSQpdN64XCSyu7WYDon", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8f23834ceceb0e5043f616754028fef566b583f6b5fd754003dc8592cf40db505438290c768db0d066b4e61e568dcadb" + } + }, + { + "type": "Regular", + "proTxHash": "b61e02cc18da85a1fe78d13788377ab7e4493dc279f0119ec554abec506650dc", + "collateralHash": "9a576d572990de22704f3875a238088add5f68c0b9572f854be3f6f4297c328c", + "collateralIndex": 0, + "collateralAddress": "Xqfbc71bAvjCpB5fMaqWm1ojCeJUqRtbzG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.230.102:9999", + "registeredHeight": 1836441, + "lastPaidHeight": 2126241, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrHquCLQzmL7xp7svjE1J5X6PzGU5Mt9gG", + "votingAddress": "XmSKfxL83haHXTVDqvXE7TYkqad2CSHsFw", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8d6df513159f26a3a63712f70abc38b97f3fa0af297845e74e2dbd6be7711ed04ea3f7798d1b967ecf906073c83840ca" + } + }, + { + "type": "Regular", + "proTxHash": "fb214e914de22c716c8bbe724236e3f3dfa437edf4bd644fbbdefb35ca415add", + "collateralHash": "0f72c541f62bc83172ccdcf02a3ec933b9721b3563e60a38440b9d85f3bad3f2", + "collateralIndex": 0, + "collateralAddress": "Xmko7C7FGu8gHXYfCnBfzsuwX4enPxiLMX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.232:9999", + "registeredHeight": 1836442, + "lastPaidHeight": 2126244, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnBNcD63VBK2uW1jD1hRxErn3W8KjBMw23", + "votingAddress": "Xqd5aBnnR2NTNWZWDxztaQtyGKjw4MzPnv", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "84dd55f332701884f811460fbc40056aec09c5bf1e5ed11485c439b8ac12b7e524359c8982dbf5414708aa18d47b980d" + } + }, + { + "type": "Regular", + "proTxHash": "81dbd7d6543a002ab33225f8ec597cfba0d17b3d5226122ba9ca2b8afb2b0a2c", + "collateralHash": "d64777fa0cc1545d65107d9b35eada9f7ade1b71510b2f8ecfbfbec771efd018", + "collateralIndex": 0, + "collateralAddress": "XdHNG2meGH4FCxq8mxfVutZ2dcgvvwSkdH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.76.128.61:9999", + "registeredHeight": 1837348, + "lastPaidHeight": 2126907, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1960811, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqvhzN3vDqNGh9Pw9BpUwAhofvAjfLz9Fk", + "votingAddress": "Xe5zh1Gs657twpBrNJwbNDQP17LxzSn51d", + "payoutAddress": "XjiCE6VMp8XRPP9YgFjP6c3T145FfRK9zg", + "pubKeyOperator": "143de01e9690228288e8ae2d465fca4a164ef8bf3c2eea2d18dda2972ce7d637014c8db285259fa3b19c94b54e0bf645" + } + }, + { + "type": "Regular", + "proTxHash": "849bdfd2fe1b32fcf9ae83b6b4440e9700916a928a192a20fb5402dcda988a0b", + "collateralHash": "06e011e71209266c4a1098e94248220569e90da61220fd99863d0d43db8a5bb5", + "collateralIndex": 1, + "collateralAddress": "XtSqG8E8ptAHEwXBHDWh8Vmsf1wsPDfchb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "193.31.30.55:9999", + "registeredHeight": 1837494, + "lastPaidHeight": 2127033, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdkdkYKZ5VXD94uM6KfgsbgFYG9RZnVo7Q", + "votingAddress": "XdkdkYKZ5VXD94uM6KfgsbgFYG9RZnVo7Q", + "payoutAddress": "XrULGF3ZSpufhf8shvrLjvGDbcLEoB9Wpe", + "pubKeyOperator": "0cfba11a26e06981a88790d1139611ff3ab3592f98ee467b7419dbdaacd1e176bc18ec75906b5c34d2191ea5386f243c" + } + }, + { + "type": "Regular", + "proTxHash": "f5ebad648498e8953fdbc14771ced083abf29fcd018d3258e1bd3565337b0c2c", + "collateralHash": "2d0c4a688d645e71f477f02416e54c42965e6a15f336a0b65bc26410adfbf4b1", + "collateralIndex": 1, + "collateralAddress": "XyfCKxLkaMokWJPGDFPUQAwk4YNHHVfYpR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.49:9999", + "registeredHeight": 1839561, + "lastPaidHeight": 2125731, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf6eycDajZUmjqAAdU4cmM5Rw9nN7jRQq8", + "votingAddress": "XfRskGuBY1j9bfa3XcRVf96MuoBEr9Jwqw", + "payoutAddress": "XeveFqVC7HhCpSA7KtLZis64TwUquVjbe1", + "pubKeyOperator": "894013f551142e0357ce063ca8ecdf54641ada1845fb1fe1384161a3141a51a174ffc00855ea3a664cd0dd4f4bd1be2e" + } + }, + { + "type": "Regular", + "proTxHash": "8a31cbc2d4ba083fad0c6cfd38b885581a821194b2bec20b80e07cef32c949e9", + "collateralHash": "9ff21c8938b4899a5b35c3f1657e466c8a1569e79e6c741832c35b14bfc688f6", + "collateralIndex": 0, + "collateralAddress": "XfxWQaDqpAiaXSpspXDV3RMTZi6M3K2vL2", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.113:9999", + "registeredHeight": 1840115, + "lastPaidHeight": 2128186, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876653, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XshkqJ8PvuUzrsACMDbgHiCappYMubRapf", + "votingAddress": "Xp6KE3u6Fy6SocPRiGxmyGrHECy88ykes3", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8cf17887349e616c96dae8c74c8d281f4fe7324f0ea229e0c107edbc31c2413564dfeb49237e1bd3e08b57857646fea7" + } + }, + { + "type": "Regular", + "proTxHash": "0563c2057d4fe4b29119ae13d45164a20172fd1bbc2a5832ab1bb649fd250f03", + "collateralHash": "42f43961da9d797f1972bd5a9a1a69bf43664dd864dc85f64b8738c2fecfc748", + "collateralIndex": 1, + "collateralAddress": "Xrr1Lai2BEoG2vgiWQ7C5sH4p5rx7jVdMB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.228:9999", + "registeredHeight": 1840876, + "lastPaidHeight": 2126672, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcLKs6jusLQGQikkTyV79C9UyeByNaf2hS", + "votingAddress": "XhrvPPWjDPrbXCee2RimCvP6wLvvCfhhn1", + "payoutAddress": "Xrr1Lai2BEoG2vgiWQ7C5sH4p5rx7jVdMB", + "pubKeyOperator": "8c86d4948e039be1842b9a6a165670bc872428b606246257f27b98923216980c72dc8429277490cf209d4ca59a564ada" + } + }, + { + "type": "Regular", + "proTxHash": "cd7ddfcf2a14181c21027e61c9d0143ea6bd73db2c9ade17d803163187840c08", + "collateralHash": "b1e9c68cb3fd4dc08b71c9f5f4be63eea71af72de2288a2e2cea43bebfa102fa", + "collateralIndex": 1, + "collateralAddress": "XpQhfUpkw1HbdGE1yaGrQnWgMoUuruSWo3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.218:9999", + "registeredHeight": 1840876, + "lastPaidHeight": 2126673, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtE9VmtbfaTeeua5dr2nZApPYtCDcXdk47", + "votingAddress": "XsHPMTi3PMakJXzaNYyvm6cjc9SzumLDFj", + "payoutAddress": "XpQhfUpkw1HbdGE1yaGrQnWgMoUuruSWo3", + "pubKeyOperator": "13eaa96bf6e245c6625cc86bb1f243bb570aa76a30c17a4879e642b4e7de05b8cda042a416b8e85e5e580965b4f8f8d6" + } + }, + { + "type": "Regular", + "proTxHash": "64f3b1aa839287b5b7a5a72af03d697be8d7f5968a169770c63df7ac65bba472", + "collateralHash": "d6f9f47d6e83b6af149a8dd307d2f8dfd5ae23e673bbf03d37ca2fd9cd4abd0f", + "collateralIndex": 0, + "collateralAddress": "XjzfZn9LidDjMxVjiiHgK3P9WJgj6FqLLF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.175.65:9999", + "registeredHeight": 1840876, + "lastPaidHeight": 2126677, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxZuC585Bb5ryh3ZV4bUT3MQQWScSoHek2", + "votingAddress": "XbX9iD1JnRcnoRVknrUhP3DrQFiWaaWamF", + "payoutAddress": "XjzfZn9LidDjMxVjiiHgK3P9WJgj6FqLLF", + "pubKeyOperator": "8d57ea2cfda3be34b068acdb5f40bc50887dcb78e06c44eea7521c7ddbfba1b22ad458dcf1bb1b735f088a5d230e4e2d" + } + }, + { + "type": "Regular", + "proTxHash": "f0e09b61276a0eb1ed49851d46c6d3f0a9a5e14a1f009a47a72f1ac42cd31817", + "collateralHash": "bd7b7253e90351a20f0ff47d0bb7a3c0c206f2316f9c20747749a4f48ae54d3a", + "collateralIndex": 0, + "collateralAddress": "XsRaPzU4ksebknimu4zmo86BmWuVp98473", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.230:9999", + "registeredHeight": 1840876, + "lastPaidHeight": 2126675, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwLvzjLpppA4gSHNnzZHCU6xtmvLnUJucV", + "votingAddress": "Xtu1pyAqz9ZZirZjp96KwtNuFDzAfQYRTT", + "payoutAddress": "XsRaPzU4ksebknimu4zmo86BmWuVp98473", + "pubKeyOperator": "8cad1e665815f39255a6f206c086a6e2bf6f6261441844611ec8777aea8a8b1f25e35cd98775ef9d16225de3636cacdb" + } + }, + { + "type": "Regular", + "proTxHash": "ea1a360b0d91190aa57070a9348def86197c35652f623c70304bdd38a72b7a63", + "collateralHash": "c85fc7536b6252b6287d2779dc7c0f97f26ef9449044be96aca0a3d75f69b8dc", + "collateralIndex": 0, + "collateralAddress": "XuvsBn986PuqC12V1XgqJK4g3u8hahYUFJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.225:9999", + "registeredHeight": 1840889, + "lastPaidHeight": 2126695, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyMYQyTqqNSJeCPaepLg1hjzH7f6eYfkJf", + "votingAddress": "XiXurTtw1MctGd3uTkbC961GwLTXTTs8jy", + "payoutAddress": "XuvsBn986PuqC12V1XgqJK4g3u8hahYUFJ", + "pubKeyOperator": "97c716196b925303446f86950d97a48c9640df1e6fec3a9b1b1abf2b730d13de42c5c7fc3bacf6fb0cbd182584ddbcda" + } + }, + { + "type": "Regular", + "proTxHash": "b72241cd8b8c19faa1e4ba51a433a087e7d5271454815a15142d45a7a583c966", + "collateralHash": "247fa6778518bf64e4b0ef9a7f1b0abeb0d01305d0db0c262907b942c29a85be", + "collateralIndex": 0, + "collateralAddress": "XdvsGDkKG5YDsDzxQz4VdEZiBQT8sBZ2MX", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.226.81.185:9999", + "registeredHeight": 1840964, + "lastPaidHeight": 2126751, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XydbYVdAUP5FuKgXuxEbTgAX45E53UEAuR", + "votingAddress": "XivgEMzTpxAYUor7UoGsoDaWMUKTJz3ZRH", + "payoutAddress": "Xr61LugpKXKSJVFfUL3GLf9rBnPp6Z5PyQ", + "pubKeyOperator": "81da562b49c92ae29dd9fb72e3d2838fb82eb31b7de9ab1b319218aa2db1b83cd7fe627541a784dde59a6ab56e522cfc" + } + }, + { + "type": "Regular", + "proTxHash": "bf8e3ace3639e4b77a6597cda0cc221e4cfbb5db382005c1b27b986f386bf90b", + "collateralHash": "fc9cdf277db5c63d5a5b1cf909e8b8e250b44cabb355b2819c6dabd619031a7a", + "collateralIndex": 1, + "collateralAddress": "XunCmXrxbcntEFzZYxH8aEYp4Ge1T3NhYr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.202:9999", + "registeredHeight": 1841273, + "lastPaidHeight": 2126834, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1899692, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvEVP4aa5bjQ7PTELzSkYbQTeVFf8etZmp", + "votingAddress": "Xhc4qzmJEZYzdc5NQ55TQbduigJx2UehuW", + "payoutAddress": "XunCmXrxbcntEFzZYxH8aEYp4Ge1T3NhYr", + "pubKeyOperator": "807cd5e6b2eef967d3a23625ce0bda83061680c655d9244874a9c42800c9bed8ae7b89ebd7194ecbddb6c7668c3e9322" + } + }, + { + "type": "Regular", + "proTxHash": "f4e1a77592ce2328c8a02c0ed2135abc6c8063eeb359ea0708d7ad95801fa62c", + "collateralHash": "9fb719bb2f4f8ed6c40371b9a9610ae7a1543468e42022230a731da710a8d2dc", + "collateralIndex": 1, + "collateralAddress": "XsMij6eZyGLwap864JUMf6kUwBbzquLboi", + "operatorReward": 0, + "state": { + "version": 1, + "service": "194.26.138.21:9999", + "registeredHeight": 1841555, + "lastPaidHeight": 2127293, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpyxsQSxbBhqenWJqXZpMshSm6LEtVdpER", + "votingAddress": "XviHtGFnmVG9KDmGY3Mp2zTfbmVpfvgCDZ", + "payoutAddress": "XwM2wnEw3hkp4vBU1BScxbDnpiYWEShadX", + "pubKeyOperator": "86992436d9de68ff7b32915091f5e167f425ffa485529c5b7dc9e62abf659646d169909790a542a8f18b88d0ff51763c" + } + }, + { + "type": "Regular", + "proTxHash": "cdc4b51ae8b17a54aa276b9eed27190f69699db30c782fef2bbe36823ec4d3ae", + "collateralHash": "5c98f9edda7ca70a4e50fa55e2a82b7432a0a6d68657fe5d8dd103a20d48eb98", + "collateralIndex": 1, + "collateralAddress": "XmHjAmJxHNjTJuqLcNcYbzSs6FfeGZX3Wt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "83.147.244.148:9999", + "registeredHeight": 1841555, + "lastPaidHeight": 2127296, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdMkgAjwcUfMcGmJMRzHTvCEkmpTNW1Bgb", + "votingAddress": "XnMK58K2XFXPFsZdsBr9zbdGEj7A4R3QEa", + "payoutAddress": "XwEvXZXaRzGhf76HXvpBkSD9JB13zi2w8e", + "pubKeyOperator": "903c88bbf847a4f5c29227824c6b43733ba44b621ff40279253eb58a8471f6bce886608d4f10619c7757db9e568fd885" + } + }, + { + "type": "Regular", + "proTxHash": "b104d3f51bf495e1920a82ffb6bafb8507053a36fc772b6b1b100f04488e3142", + "collateralHash": "3b4bf25da5206aa71dfac51759ae743d5c8e42edf6596013e26d618d6580450f", + "collateralIndex": 0, + "collateralAddress": "XcqeXCgyYNobukLQsdNYRzZswUjz5Ug5R7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.84.26:9999", + "registeredHeight": 1841690, + "lastPaidHeight": 2127402, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoNL3Py7cf8nkhNKUNkBViMunCQv9KQhgX", + "votingAddress": "Xu3PA3MXC6kQa1TWZsYqEyDrNd5LzUBHki", + "payoutAddress": "XcqeXCgyYNobukLQsdNYRzZswUjz5Ug5R7", + "pubKeyOperator": "8932029c108066f15621d9009f70e1bbacf3064eace9099ce923e85001893301b50f19e34842921d9936fcad462418c8" + } + }, + { + "type": "Regular", + "proTxHash": "b5d05872d0bb1d9d3888e566bffc70804658a2e4c80d3ed91b6d4b0de8f036d1", + "collateralHash": "d86b62f8e4b2a09d321581c1a02ac23a2707ecede671e4d1974bf9d60722a420", + "collateralIndex": 1, + "collateralAddress": "XxTH3hoDTjiDHNtps1HbcaS1VzcCMU3dz6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.137:9999", + "registeredHeight": 1842128, + "lastPaidHeight": 2127856, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1842132, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr3CLhYyGcNwojHDdZ1iG7RADvANRNPDa4", + "votingAddress": "XhioYTnTGwbaa78VQAKBfJ6cgYSMJPxHDo", + "payoutAddress": "XsSsqCJgVUSATCAR2rzJ9i7j3DwD52U2cd", + "pubKeyOperator": "933cf6828415bd9875a18629084c8e610adbed2a68ec87eaaf4cbb190e0b19f5207fa2b73fba3c4dcead5b79a5022e60" + } + }, + { + "type": "Regular", + "proTxHash": "45d0c1e98f6091512a7c064d53426ce0ff14aac6c2a32f1ad5362e89aa56b1ca", + "collateralHash": "31b52f30d5488df88f484c2bc3b862c16b74f59dae1dd23b73c8454fbceb1108", + "collateralIndex": 0, + "collateralAddress": "Xxi5ih6ptHbrS1Jd18u7VP1HaX3t2NruuG", + "operatorReward": 0, + "state": { + "version": 1, + "service": "34.244.130.174:9999", + "registeredHeight": 1842371, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4419, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1842954, + "revocationReason": 0, + "ownerAddress": "Xj7N73mSghFQHAgr2Cty9LsDcTyes8zvrw", + "votingAddress": "Xyj7UWSYhfd7kWXdyCTmSfhLTN9Nk6vrWc", + "payoutAddress": "Xxi5ih6ptHbrS1Jd18u7VP1HaX3t2NruuG", + "pubKeyOperator": "8b584dc227700c13ae95bf081f2c1708f50c226865d378556893f600a04ca8723cbf26d8f70afd9abc9905e2f9c988c8" + } + }, + { + "type": "Regular", + "proTxHash": "92f3812fd3013184cd5ac59bdebb4abbdd7084e2211e5c3da9fe011d82be5eac", + "collateralHash": "db2ebbee0a02f56307bc3a4e55ac886ec902e531ab7b2f38a6f574d3e1c0c972", + "collateralIndex": 0, + "collateralAddress": "XxXWtCCq8BjfSB1GYUT8PVoG3tvaoFrCJQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "176.9.210.15:9999", + "registeredHeight": 1843381, + "lastPaidHeight": 2128782, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1854765, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsmf6XcWco2xF7SuSW6BT6ButmM9rEr3Zk", + "votingAddress": "XeyR1EqNRfNZLMjx9STgpRjsMAMDWZr8FT", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8b990abfe12946a38ee44edec55cf9aa190d0c6a532a729a74bb1e881fb3d45ebd6460341f778c8e9fbb8aba0bffb07e" + } + }, + { + "type": "Regular", + "proTxHash": "d0de9450f5d99452c59c12135cc6373c7077255d9aec6e0fe6e4d9a12a5890bd", + "collateralHash": "16fa0e74b8aff31d2e8c2ac7d36a11d09effae864ad9c917d3ae5cdf23658ef5", + "collateralIndex": 0, + "collateralAddress": "Xeo9C8AWZxasmzeyrxZscHxrU65nHY5GEQ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.68:9999", + "registeredHeight": 1843431, + "lastPaidHeight": 2125743, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmAW9eu28xgt8aQVZMdJLomnSg1yYTxemW", + "votingAddress": "Xee72U43SwvGtKG2neYV2aqpQGD8TJgzhq", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "826a8b6000f758dd5d16eb5fd86f78fac2cc4b2119f2fe3dd7702dc714a43f888fd1dc7e9c5ba52260a8191d30bb4c5e" + } + }, + { + "type": "Regular", + "proTxHash": "0dc9b52ff9a692371f61958faa65ad9561853bdb02088ba8ca1fcb16a9e1528b", + "collateralHash": "7ee52f31d920ce31282b67469b8d5bcbb4bbc5232f896600a6d83c52733cc341", + "collateralIndex": 1, + "collateralAddress": "XkuxsYG6KMcDL7SCExPMBLgJLHxkVCkSXS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "161.35.207.170:9999", + "registeredHeight": 1844467, + "lastPaidHeight": 2126486, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcuYjXW6F75oGHfrSC3LtiCu7rfUjedqPg", + "votingAddress": "XhvG3vh84FpKUPFGHdkPFcYFseRZp21Xv2", + "payoutAddress": "XmNKHVxGQaWHpVEdm7q4XoXWBvDcXQNzLy", + "pubKeyOperator": "0685bbd73cee500698c31f79fe287be2b14def46499dd8edede28534b60a1b9b17578b13fca6bd51a76e0520b42b3c0e" + } + }, + { + "type": "Regular", + "proTxHash": "f4dfa237f6b65d747080c7b291f2d6df590bbffa99db4b19d63e1c1167ce25f4", + "collateralHash": "e9b01ecddce694dd74a82526ead476e9452d43aa1447b230785649a69c1686e4", + "collateralIndex": 1, + "collateralAddress": "XrbznfJEcZgVc6tCZrNy6HKRqHGEMPM4Z5", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.140.7.186:9999", + "registeredHeight": 1844773, + "lastPaidHeight": 2126657, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1902784, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvxdhNcsiCTa99aSjJLc5pkELcrbthKvWo", + "votingAddress": "XbekbSQFd4a1yMjS9dJaAnHJ5e9yzGMAWG", + "payoutAddress": "XoeLatnwakAKkyCWiDEqMXKGNymCxnNimj", + "pubKeyOperator": "86e3c6125b38e45ac439cb95c2045fbde0c42733f205f4925eb2ba9d23fad0ed856651f1378aeb364c480837de855c37" + } + }, + { + "type": "Regular", + "proTxHash": "d24c364d16915cfd46ad3adce7513ede5d9cea02f586b5f21c161acf58c57292", + "collateralHash": "374b405fc10b31477f6dcdfb9cdb13dc9ea659798b021be7a1d9f058c8a9127f", + "collateralIndex": 1, + "collateralAddress": "Xe1DBXi1ousLd7PssHTUVkoQFq2erQyw9e", + "operatorReward": 0, + "state": { + "version": 1, + "service": "195.201.35.7:9999", + "registeredHeight": 1844834, + "lastPaidHeight": 2126662, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1902789, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtfNWgggi8cHLhNgt7UJm1jsHxqKaufFT1", + "votingAddress": "XexsLZ4M7C7TTFw4mGfRZzqPWpvJhaNET9", + "payoutAddress": "XdcAGVdQxeZbGmknxUEXuXTH1vK6dvxeaj", + "pubKeyOperator": "98e79e2a81001122ff2f9c2e1e7ee4329ffd0df15d3bd43d1065a46bb0db27662a6de28b19218032b46acdf5c5c56c0e" + } + }, + { + "type": "Regular", + "proTxHash": "5543983a394d7238d3ff51526343892dc9463c9910dcd9112916265cb16b6008", + "collateralHash": "118f3c665fe9c0b43e4093f00f434e244e615ead9dc93f6e6f3ae205a0c0acb1", + "collateralIndex": 1, + "collateralAddress": "XfRYQkBFTiRG2McAPs3puy7n9usqHcNoJr", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.10.241.191:9999", + "registeredHeight": 1845139, + "lastPaidHeight": 2128309, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": 2119012, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjQN6e8PpJD4TckbSa4v3oCgAJqGRG4DC7", + "votingAddress": "XjQN6e8PpJD4TckbSa4v3oCgAJqGRG4DC7", + "payoutAddress": "XbUC8HXVTSTYciAw8R4FJakQygrq78srS3", + "pubKeyOperator": "82d60b38e24d7623ed6c7f5af41d967f18136c6b1b4c9ae2635c9a0e75c080f9c17bbd171f4457cdf3246ccf9852afc5" + } + }, + { + "type": "Regular", + "proTxHash": "b6ce1add2badf8bc9551cdb8120fdf01cd7483fcaffdf304764c10b129be0164", + "collateralHash": "e39ba9c7144cb6f8cf5bb7a36014dbc7282940a9a76cba99f47e1b51687b767e", + "collateralIndex": 1, + "collateralAddress": "Xgv83AXwxgQHGrbjQbDJYBffxeo2xnasxm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "83.147.244.129:9999", + "registeredHeight": 1845473, + "lastPaidHeight": 2127375, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw7frU2yRmNe3ddxWkMdVkkV2dByg6uWhe", + "votingAddress": "Xb7oHhKUjR5CVEqQX4GiNe9gQeqHMYBPN8", + "payoutAddress": "XuhKMNRyTZ7mJMJV4GBGFrVWZSo9htshed", + "pubKeyOperator": "19bd9c25a89fc4ae3cffdc117ed21e8b0926101e5c0f40d8c6a6d9bdfc96bd4af3ef873b434222a64882bba71795bff5" + } + }, + { + "type": "Regular", + "proTxHash": "8411efa9e286831d6d7b4fbb93d84830c64df9c11243dea4115b8c5f210c31d3", + "collateralHash": "a2f611128801060cb04d5d01473a130401791406a03384c60db6ba8e6276bf17", + "collateralIndex": 1, + "collateralAddress": "XwGKxPM1oWXMCqQCE3SN215C2wEo5JEKHa", + "operatorReward": 0, + "state": { + "version": 1, + "service": "143.110.182.63:9999", + "registeredHeight": 1845920, + "lastPaidHeight": 2127831, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuotRfwfFsVeVNgDyobYMGRPUFvSMVaxjw", + "votingAddress": "Xx5CG8aRgNT9NPvcjDsNzoMLwAbdeSZJ43", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "80ed1bf165e0f18589478a5df31c9d2d73c817b8e882a460456ebf920fb4b248d3a88d9ba6290a6fc10f87594593598c" + } + }, + { + "type": "Regular", + "proTxHash": "04a8dd62c3686b0d5c106a20190ff6f49c15b554546e17370fbdede760962a58", + "collateralHash": "907192235bbe3e1642cec18b5c1c95c00dc9e25d35a541587e45ae6bf2d30e1f", + "collateralIndex": 1, + "collateralAddress": "XvdAdGCL9gYAQW7iqQJJNTEq4Ek1oAaYQ2", + "operatorReward": 2.5, + "state": { + "version": 1, + "service": "46.30.189.251:9999", + "registeredHeight": 1848605, + "lastPaidHeight": 2127634, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121478, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgZC5ydJzWZpTh4mEpAwTKKzfMNuPV9qTZ", + "votingAddress": "XgZC5ydJzWZpTh4mEpAwTKKzfMNuPV9qTZ", + "payoutAddress": "XrS3uHCYh41Yma7sNbvTEqGvagrJ55aivh", + "pubKeyOperator": "11b96022504e08656113a7757c13727dcf2269fa3f8fefe9a665f56d76623fec8d13e522b441c02886f280a4c2cd726f", + "operatorPayoutAddress": "XuNsQvK88MhwQXkih7jvLnUjC2XZTxSVHN" + } + }, + { + "type": "Regular", + "proTxHash": "bda4d38656cf581ad35b9511364d10342699341d1ce80a70e289c8cbeeac33c0", + "collateralHash": "4f62483fd1a43255d660be6f8e236a93c946d1aa83b3d5e27d2b3c32ce4e3874", + "collateralIndex": 1, + "collateralAddress": "XsacYjnHk2KenF6ZeseQ3J1fheV3TTQY2b", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.147:9999", + "registeredHeight": 1848714, + "lastPaidHeight": 2126788, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoXWWHkonTwfTgtinix5prJ3NGGTdCGwmB", + "votingAddress": "XuzcEgZC6NAxaukB3F3bGmAXAqdqFwiFvT", + "payoutAddress": "XiP1gxzy2ioYEQ1MUvcCgsVvJWPPujQefY", + "pubKeyOperator": "947467e12c51e0dd596b1c54e368586f89580649b65850f76b60e351bd836d1294d35018fd4f8a14ae48f1f277753dc9" + } + }, + { + "type": "Regular", + "proTxHash": "fe31eb3f6e81b068a2f7b359f03894a8d1ec8d9af4bdb07e3e5c03507b05e8da", + "collateralHash": "4f4980b6893d6fa24e2a7ca7d99f53465246185b77cf6757a3d682827ddfcc85", + "collateralIndex": 1, + "collateralAddress": "XgMw7ZxaETCdY8FW31YkaC1AgfibNi7t4M", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.47.162.215:9999", + "registeredHeight": 1848714, + "lastPaidHeight": 2126789, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf7bf1AyCJpioJJ3cADT8duerunde2kJHR", + "votingAddress": "XpC5A6ST2Pq7BEskcg6SBwjbVAvyJaynFN", + "payoutAddress": "XiP1gxzy2ioYEQ1MUvcCgsVvJWPPujQefY", + "pubKeyOperator": "8df70018970325f062d6b00f35ecff0318e7ab357664100302abcea5e86b2f199525d54cec89da48e338ccfbff3131ec" + } + }, + { + "type": "Regular", + "proTxHash": "a2f154ddd969df645073f1fd04b3c26b91010cfcdbd5ce5aae11ae4c0a5442d2", + "collateralHash": "823717aa8bc2d73c93fb6a3f886dd4de9db62f59959577309eea18177e08db5f", + "collateralIndex": 1, + "collateralAddress": "Xmtd99CSPdChVvsCfKjc7FFysZunNtbu4G", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.153.70.128:9999", + "registeredHeight": 1851002, + "lastPaidHeight": 2128877, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XegwjxWCjULRMSXaTkzdY8PgbMwaYifj6D", + "votingAddress": "XsdbSaGXJpmKmbEU3qQ8GShwpyJpmmYacC", + "payoutAddress": "XtCFSiPKpezNFSMt4sVjVF47cK6oF3siWJ", + "pubKeyOperator": "8bda26ee0bb7df5927f056730c43175aef77dc80e2c48aca6a5fa0ddb5884195cfaaee0cc183b34e9afee1578d93f578" + } + }, + { + "type": "Regular", + "proTxHash": "e9e313b8c4bf5b38deaa842f7d1ec0ff84618b2399d113b9a1a61490eded5515", + "collateralHash": "2ec98f913bafc526e75aca1bdc8f108adf20cbeea33ddee0dc48ef1829322bd4", + "collateralIndex": 1, + "collateralAddress": "XqTyuLgmBmPYC1bLrhnZUxJYGYyJ3kN28d", + "operatorReward": 0, + "state": { + "version": 1, + "service": "87.249.53.31:9999", + "registeredHeight": 1851012, + "lastPaidHeight": 2128881, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw2j2QwuvPChTidMpUU7nhTwGoUW3xihGg", + "votingAddress": "XpXcDet87DuPyow5dCUvM55aqzzrAydhM3", + "payoutAddress": "Xy6csQXf5y9g6KLek2yGDoSmYNtgkF3PJR", + "pubKeyOperator": "0ee9b832d0b1867db21209fe5b151982d4fe1bb6bfcc01a3ea0c7525ab0d1f7f32a124c6f0e8ce2c656752f25a409c25" + } + }, + { + "type": "Regular", + "proTxHash": "0d90b3b37d00c242a43a61c5ef718e09d0823c958d11bf73256448acb357d425", + "collateralHash": "df0a13e0172de785e157501233eb2245d0e995f0201aba05782d894c69ea2f2e", + "collateralIndex": 1, + "collateralAddress": "Xx3Wsp1sYcGsP3B5qVMU5rRCgciqz784Ya", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.223.2.245:9999", + "registeredHeight": 1852378, + "lastPaidHeight": 2126676, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsV5CW6XL6dT2hkH1UNN9S1ztzm2SvFCfq", + "votingAddress": "XiDCzJSnGsxXMG26zk8bbaTEfZqdUb45X2", + "payoutAddress": "XjRAyvVk2YZGR7y1BvMyBwhRhYzq63PHY9", + "pubKeyOperator": "1972c3a450a9b85ad5e5f2f8f83e869b4ea05dd8ea0de5b61de0f38e1063f1612f830969c3e86ea3f2d3205a6272a2ce" + } + }, + { + "type": "Regular", + "proTxHash": "312960fd81f10d81ad04a9e687166a72215b7b68aa917648ac2504f22f593b24", + "collateralHash": "c04d008c741cc636f86d619de51e1a6ee17b2bc66cdc5ab8bf91ac3fd138263e", + "collateralIndex": 1, + "collateralAddress": "XpV1DK4XsEavf1QqQvYW9tZCz6F1zXN524", + "operatorReward": 0, + "state": { + "version": 1, + "service": "90.156.224.183:9999", + "registeredHeight": 1852652, + "lastPaidHeight": 2126896, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdUAYFvpkMbjvKaXAA8wuQj8nR16DrwEnZ", + "votingAddress": "XopMmzXbDEkpVQXki6tMSm19Xs5dNiGz22", + "payoutAddress": "XpwfaSy5AEMjLoeyqTBTYBA5QcuF3sp6Uj", + "pubKeyOperator": "08399da5c032edd233ec4eb1d14564a8af9f7f15d225bc11d2dfd6bbe2dbb1759e3fa982fde032a24f794c91e59a57c2" + } + }, + { + "type": "Regular", + "proTxHash": "4268bf176064b8152bae247daf1b1d0ec8338263946542b7a06a8dc9ff12f381", + "collateralHash": "eae080738251055b5c172b36d3a48797cddbadd1be365210a0743a17e1c80266", + "collateralIndex": 1, + "collateralAddress": "Xcxb7q4w526CtCQJijxEcJbvNzDAAuKMjm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "83.147.244.131:9999", + "registeredHeight": 1852673, + "lastPaidHeight": 2126910, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwvB12Kr6btzPeMJQrVrcVXVoH4APkHzrq", + "votingAddress": "XoKCtrxTq52pZ8YoH6V9tYvQcYtzHQCQZW", + "payoutAddress": "Xymr3PUBtxUYtMRj2U1LJsG6uZTKAhdm2P", + "pubKeyOperator": "86105db36bce1e67daae5f82388d8d46aebe4fe8c52e9d1068c7f1b73492b475a099e9a67b9cd909aee5bfa82def8464" + } + }, + { + "type": "Regular", + "proTxHash": "e2bd1b46ef27f60588f596abf4b18b8b7cd46a8ff5072f3b740a41541a1f221e", + "collateralHash": "e2bd1b46ef27f60588f596abf4b18b8b7cd46a8ff5072f3b740a41541a1f221e", + "collateralIndex": 1, + "collateralAddress": "7YeRpu8hkpSHRpmJ3jC1Z9bafQjdnxzRCA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "80.209.234.4:9999", + "registeredHeight": 1853903, + "lastPaidHeight": 2127970, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiZyGG951essA3KkkN5CWWpHGWAXyFP2gy", + "votingAddress": "XvLgmk4dB1yCD4WnonKqo96hFnM9zdMeHp", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "026524cf6dbd08727749b1452f0dc27eee8490ccf4dd9d07c6403ac3fc222924aa178a40aee96ac044dd3d34727e4080" + } + }, + { + "type": "Regular", + "proTxHash": "2320e263b65769d0238e5993336fbc3a6e6add332854a036c838c5ea634ce32a", + "collateralHash": "3e127030d9e2d42c8235e9c9816b018c79cfb489196a3018a0ba0e3c1f4f0a19", + "collateralIndex": 1, + "collateralAddress": "XkXxAY16f317bQ7BTNhkP4CeCgrVFCebM6", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.241.99:9999", + "registeredHeight": 1854330, + "lastPaidHeight": 2128422, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbhXBxkYf6sv6AkmL6YSwaiptws7aUsqFN", + "votingAddress": "Xsu5yn7ddozvayf6GfmRjNSE7bXLM8jj7N", + "payoutAddress": "XkXxAY16f317bQ7BTNhkP4CeCgrVFCebM6", + "pubKeyOperator": "8f77d978cf98d733ded65b1336f6fe857d6c42c1f6cf2643e65c5f241efe39f2d85dba35f2cea1929801ea2b26202ab1" + } + }, + { + "type": "Regular", + "proTxHash": "a367b847d8d9ebf08b3e031ab1c405d3e5a0dd2b6d4790aa4ee75ec46cdd4d08", + "collateralHash": "0de93ad18994545668655a9955a9c3b8760acc703d090a96a97c0286715647aa", + "collateralIndex": 1, + "collateralAddress": "XyqYvuWnLCYZ11rfVqZZPm93YNd1LBP9io", + "operatorReward": 0, + "state": { + "version": 1, + "service": "216.128.180.106:9999", + "registeredHeight": 1855379, + "lastPaidHeight": 2126403, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2113992, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XraE2j3Muy9ChXgQwDuMt3K2YJ5dwHJKfD", + "votingAddress": "Xp9az7t9YnNF7hmoxYi2wv1c5cNMiCofKc", + "payoutAddress": "XjWGFH2koCa1icuKkhcQ8NGB7wbABj2YAv", + "pubKeyOperator": "8ef9e71746ba14aef421321d7b6648f079c00d4810e840c0b171fcc9e093dceef5a817770165c9225e36a6b955b9acc7" + } + }, + { + "type": "Regular", + "proTxHash": "d07a7d89e087d101fa60bd269d14fc7dae9df3502640268919a7b8c61110dc6c", + "collateralHash": "54fc38608c6cf62785b336ffa5e3f79f71782f66257535fee3c638c3575f2488", + "collateralIndex": 0, + "collateralAddress": "XidCdpHsUzC83FzUdwCwxJ76Rh6HR3odFP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.245:9999", + "registeredHeight": 1855863, + "lastPaidHeight": 2126399, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrrk6PinaBZPGfeB3oHtbNmiApBJxDkzVR", + "votingAddress": "Xheu1JQzHkdErKRMiGYKS8kFP54ymMcjTq", + "payoutAddress": "XidCdpHsUzC83FzUdwCwxJ76Rh6HR3odFP", + "pubKeyOperator": "025dd209cc674c09162771d69b59c6196c674ef434d434bc0238262b345707d84f61fd9d02de0076a91ba6e4a9c1a984" + } + }, + { + "type": "Regular", + "proTxHash": "222abaf161a1698842b521056f950149c18fefe09f3bf71e1b230800b30b8974", + "collateralHash": "aa4c03a41db685c381672a19afacf3dc665d5ca6fc7841b0a27b09757f81daef", + "collateralIndex": 1, + "collateralAddress": "Xbo2dLBcLW2XB9gL1ZXScpBdZY47R89Trw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.150:9999", + "registeredHeight": 1855977, + "lastPaidHeight": 2125981, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2103068, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyqbLe6bNG64LAPcLBhbvDxvbdJAynt9Ah", + "votingAddress": "XyqbLe6bNG64LAPcLBhbvDxvbdJAynt9Ah", + "payoutAddress": "XdeXpjtyh7GTyuU4x6BK4gC42n2M5U9z8F", + "pubKeyOperator": "8bbccd10a37c4e365bfe1f3b44fcdca720933b336b2da5191b9c514b004c4e20c301462ae6841913a8ca5154342be511" + } + }, + { + "type": "Regular", + "proTxHash": "58a54272ab75d8f3bd8eef57e25a5bb1c4d954c03adcac0df9e71a8d771ed635", + "collateralHash": "0176e36997269f4ed89ad788089fc26aea884b7567e895de141534b9b5689392", + "collateralIndex": 0, + "collateralAddress": "XjMV37twCv6S8WkDkSLV2zdpi8gstw36Rn", + "operatorReward": 0, + "state": { + "version": 1, + "service": "38.242.228.65:9999", + "registeredHeight": 1860287, + "lastPaidHeight": 2127826, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876251, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XroKsGZ6Huow4Bo9F8ZnMuZnUsYwPTb1bp", + "votingAddress": "XtbUNkdj3no6JdxvVZgWS459gbotA8Z2yL", + "payoutAddress": "XyrCPeDcuLD8X4cESwRC258ZwYpRyarbMU", + "pubKeyOperator": "0bcbb7efb8b964e8a90954e99f36ef5c8155dbab4f3f05792ffe309f39123113481d3c8118034354d97cb4a2f2a44914" + } + }, + { + "type": "Regular", + "proTxHash": "50e484ea48a0b9b1a21977125fcc56a09c7f328558fc11e5d15009f2a4db63f0", + "collateralHash": "50e484ea48a0b9b1a21977125fcc56a09c7f328558fc11e5d15009f2a4db63f0", + "collateralIndex": 1, + "collateralAddress": "XxMbNv4iVm8EDBWgFfuDWaPxaLk6CcuMxJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.34.233.206:9999", + "registeredHeight": 1863196, + "lastPaidHeight": 2128369, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115906, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyoW8L72UhNFib7N6tKqa9NrRLUF2xkmgJ", + "votingAddress": "XrARRH3tbwRw6sXV3g5pW7EE63jSJuDVU5", + "payoutAddress": "XfSSzTychv9HyiGxA54QBMikZ1PTYdVi55", + "pubKeyOperator": "032beb39ba276fe99a9eb004b97eefe27fb3ed1c2741869fe821b8f25bc4502abaa4905bc52cf80d23896092a4bae77a" + } + }, + { + "type": "Regular", + "proTxHash": "cf75468bd031c4ef4f1c5b960984a65a03bc0ef953a5c0a213fc8d67ed1fed2c", + "collateralHash": "6105a637d118851c8ede9c7ddddd2ba09f7adec7c55377e4e12aa42f1fb4c8c7", + "collateralIndex": 0, + "collateralAddress": "XgYR4CR7DePnU9auYqVa7w4Qc5bX5vwhDB", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.35.107:9999", + "registeredHeight": 1863595, + "lastPaidHeight": 2126423, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsiwU3ycNmftqAJ2FRuYhZsbswXemgZ23b", + "votingAddress": "XxHmGN12FCkAqqCmB6q4zN9AzFhzAAY5JR", + "payoutAddress": "Xs8hq6mSqCPfAa35AtipKsvcHD6PEQ2wA9", + "pubKeyOperator": "880ac3698120d39035db1de0924026aec0e0c57978b4f1871f2b92e792c69c9db5552f3d365aec6a26a13ec96f3dde80" + } + }, + { + "type": "Regular", + "proTxHash": "8bbde268378e506231383529f0917b5114d0d0a8bfa5199607943c9c3940de31", + "collateralHash": "8bbde268378e506231383529f0917b5114d0d0a8bfa5199607943c9c3940de31", + "collateralIndex": 1, + "collateralAddress": "XeyenFK8vXxnC67p4EXPYEU9Gs7KA5ubsR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "174.34.233.207:9999", + "registeredHeight": 1863632, + "lastPaidHeight": 2127209, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121075, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdajrizTLgcCC7iEDCKM5VnvBu6wRNnPPY", + "votingAddress": "XmNWfhYkRhwY4kCEm6EBzwf5AcByLycGcE", + "payoutAddress": "XfvBxF3hsvNWGu27Uz668zr8R5zL2oXqwz", + "pubKeyOperator": "8894ccf8e3c9e31a62f4363bbe9ad6386ee065047ae24263f5374c236b069ec450b6863b9137b74db6ff1aa58f72e1e9" + } + }, + { + "type": "Regular", + "proTxHash": "e58773dde44ad891c2d667cf67265d96b344e7f143199756269bb8111c7d39cf", + "collateralHash": "7a82acb93285ebbb17ce8c16dab6465715a7bd4504ab4baafe42e59d0d2d60a7", + "collateralIndex": 0, + "collateralAddress": "XeRXmFndxbNHoeghRN8iaeG9rAnd9f584r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "212.113.123.107:9999", + "registeredHeight": 1863969, + "lastPaidHeight": 2126708, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwnTKCfSewSHXQLC55f6Gvgf5xJq6jHsA2", + "votingAddress": "Xwhduf1dt9AXewsNCp3qMYhYvsfZxNqo7w", + "payoutAddress": "XnKokopk51U7xwvbQDvWS7e2S3bmcphzBi", + "pubKeyOperator": "1479e69e24e17104bb36ba869e96916b2cfd2a4a8048b079f66971f158f96a7339f79e33233bd9b27c432b1603f722fb" + } + }, + { + "type": "Regular", + "proTxHash": "61b09312bcf78a0c373ae104567a557707ec6bc2fba3a0bb41ec1c6ee4b3736d", + "collateralHash": "0f4e2be262c4166ffb5fa8aba22a5908565186bf91fa9233215bc13b0fd84eba", + "collateralIndex": 1, + "collateralAddress": "Xwue5d9JppYPJq623xijuvCF4b1WuszobR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.233.187.132:9999", + "registeredHeight": 1863971, + "lastPaidHeight": 2126710, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvR6xmaTU8BmM4X7F6VeyzzNaZcGm9EPFb", + "votingAddress": "XuEKt4DPe4yxmCd8LPL5DbvJfCDLRkob1K", + "payoutAddress": "XrpYoJk8kGE1CNvPcSpzZHgTL7FwYUP4ca", + "pubKeyOperator": "0eeb91c7ecb66788d3bab1d4318c4cf1fd1ceb29a2cd0d873280b6334c266ad28409c856778e274a03756c5deb05533d" + } + }, + { + "type": "Regular", + "proTxHash": "8fe1154ab9324acc3c0d8b296502ac4f2b2ad6fda86692c7ecffc1287d2739e0", + "collateralHash": "8233de4a0b4ac93ded64b150da5b0385d402a27e1bbf189bcc2a4c24462e1787", + "collateralIndex": 1, + "collateralAddress": "XiJqCRXVXAKBzWjGAu8BxH34pAqwfxjvze", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.84.203:9999", + "registeredHeight": 1863972, + "lastPaidHeight": 2126721, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxqtRMq4PCcV3DzSbaxaBL9rwNhu5QRFoS", + "votingAddress": "XtGvvBv7uDXVN3DRSTn7fMHbwdojYATgrZ", + "payoutAddress": "XtmMCGPRdoMM7Rf1GCpbcWieTpXDn5DPgT", + "pubKeyOperator": "09772ed1230aa59ee2870ea699fb23ed5283d3d3d964393432020a6f77b7d484f55fd078f77a8df424cfb04a70b2956d" + } + }, + { + "type": "Regular", + "proTxHash": "b0cfe2f82907c5a9804bfc65bb98ba1c78951252bfed6ae0ddc0e35809b74b23", + "collateralHash": "705cfcc8cd67545e0a4eca0911f58e2de0d60722a0e14dfb529cfbb36ca2b734", + "collateralIndex": 1, + "collateralAddress": "XsTZdJez1atS2Vj5VcbxFypbde1vjS81Qs", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.225.84.3:9999", + "registeredHeight": 1863973, + "lastPaidHeight": 2126722, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbuxu7adGNji88Cf2Dre5xSaLYsRMaQCnw", + "votingAddress": "XpKZRGD2EQPf7XnyKCXJnANJVnZWbtYrwq", + "payoutAddress": "Xoy3cqnHfvfihe2TUGyt8uWyhPNyBeabP2", + "pubKeyOperator": "0a2fee62cd4f2eae4e19039dbc5d77126d50efca27d2596840aa51e40035ae1562c9a1227468f3d9b075b9aa83ae0bb6" + } + }, + { + "type": "Regular", + "proTxHash": "f73e7c0b47679cd2bcc67f8c7d7af629c4b4deda28bb5ad26d2b9afb7cf998b6", + "collateralHash": "9dc398fb50ccdd42345932c27a5ba4b6002fef83b3f465f7e9692363f7890f03", + "collateralIndex": 1, + "collateralAddress": "XgqQz7oasCVu7BMGgvMQx26XANrusFWPCD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.99:9999", + "registeredHeight": 1865136, + "lastPaidHeight": 2127821, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqQxWymCsBZqDAhn6y1cm4Y22BiSrgdnmG", + "votingAddress": "Xc9F6VzUjBR2LJYUAFdgehA19scUxVHpKa", + "payoutAddress": "XnbzasCtZCkWPoCjFf85JSjhtzSABJrNHp", + "pubKeyOperator": "05c03837fd8c08c9e1541bb689b1088e5b700c6c59a567e9bd4404a987784408425d5d00ee479fbdb9bf8d245cd614c0" + } + }, + { + "type": "Regular", + "proTxHash": "70dff49b0395eb2a62dd076b1580dfb2647fc3cd1aaa5bfaef73a31fcf3170e5", + "collateralHash": "317a3a082f4b413efe0dd900fa53efd1e884ca91e1dd8cec24985a4f4a70828b", + "collateralIndex": 1, + "collateralAddress": "XqsfgyH3wHDR3zUV9q6W2kVrkkmy4oMQMK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.198:9999", + "registeredHeight": 1865139, + "lastPaidHeight": 2127832, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuFFVSH8H7vJibrNj8UmE7doTPYS7WjJyG", + "votingAddress": "XvXPx1w5KWNa9nwFvxgQMtW4XAGxjsj5Ya", + "payoutAddress": "XnbzasCtZCkWPoCjFf85JSjhtzSABJrNHp", + "pubKeyOperator": "83eeba94ddea1bc4dd75c07e80da268be62150b3765858e9a66c1b21896f77e5a7803fa6fbdb16a4d4d09d8cbabae50f" + } + }, + { + "type": "Regular", + "proTxHash": "7a1e5cf10031f7b97926ff79da4004579b3e2bb48491529d6f050217c7177cd7", + "collateralHash": "f0b2740b05e10432f8576b273c8420ffbd7747ce8b2f93837fd12c0e9dc81220", + "collateralIndex": 3, + "collateralAddress": "XynAZNH1SuHRzg6fGDAdCFHUXNDz2eRH8y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.223:9999", + "registeredHeight": 1865142, + "lastPaidHeight": 2127835, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx7XgY15EzTGrcbm9FWYnFQYa4MhXxFzsK", + "votingAddress": "Xk1SLYmNm7TBe7gBVGt2S8zmjV1yEAFpN6", + "payoutAddress": "XnbzasCtZCkWPoCjFf85JSjhtzSABJrNHp", + "pubKeyOperator": "091b5e04c677b7d6d425e167d8e695e60ab6e2031c94f8b115e17b8fefff25b8d140444bf73b1564beafa1bad4420103" + } + }, + { + "type": "Regular", + "proTxHash": "81981dfc3daae32c18519a76dcd2da4272e779b48c2a6685501a22091133606c", + "collateralHash": "f0b2740b05e10432f8576b273c8420ffbd7747ce8b2f93837fd12c0e9dc81220", + "collateralIndex": 1, + "collateralAddress": "XhiRHmNAobLhiRz94amiuJLdPfd4hSuLw7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.226:9999", + "registeredHeight": 1865142, + "lastPaidHeight": 2127833, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx7gqyfCUcyn6AbCnQhMFKhYq6Z9DHqJRn", + "votingAddress": "XsiNneEEfrRFYVR8zEJs99bCNNdxkCqfHJ", + "payoutAddress": "XnbzasCtZCkWPoCjFf85JSjhtzSABJrNHp", + "pubKeyOperator": "13fa1982b40c4539d4c345dbff85eb62e60d0db856f78012e9cb58fea7ba3544023c5293e2bfc2c971c7bba21c892bfe" + } + }, + { + "type": "Regular", + "proTxHash": "3510b0f3f1635eb2568a56db642c9502b72bd78e3c89fbef098f159a139d9d6d", + "collateralHash": "f0b2740b05e10432f8576b273c8420ffbd7747ce8b2f93837fd12c0e9dc81220", + "collateralIndex": 2, + "collateralAddress": "Xr8WCTuMVi6sErXCvD7zeTVs3y7k8vtJ4h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.8.83:9999", + "registeredHeight": 1865143, + "lastPaidHeight": 2127839, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjwzr4cCcegZhZPckJQNWVYjDaiSZy9jdQ", + "votingAddress": "XgXkpbxZvLzDYMRUmGkz3QkpzAi23LsjxL", + "payoutAddress": "XnbzasCtZCkWPoCjFf85JSjhtzSABJrNHp", + "pubKeyOperator": "1615d592000e2c8e31b574e160e4f3ee32f272c8d9dd4ddf3e5df863f6499bbc06009ca98a902b976872cd9e585270ed" + } + }, + { + "type": "Regular", + "proTxHash": "85c1f20f85a2149ce9bf1532cc6dd6b82ffdb8043efc479efc06e5ff12f46785", + "collateralHash": "0ac0b8eff364a76235035663808ad3225740a32214b15106284658888a18e301", + "collateralIndex": 1, + "collateralAddress": "XgPfFxSWivz7an3AXpeQsE3WJ6BJQTorjt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.190.39:9999", + "registeredHeight": 1865680, + "lastPaidHeight": 2128199, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgaiMs3QHsuzfZt9kiKLhbWzQRdutM3Nx9", + "votingAddress": "XmBjssbKsgQqSUSjWPDkJmwSQkwdCxCPfN", + "payoutAddress": "Xi1v6RzpX87WVpGahrqxCFxwvT7uTVw19K", + "pubKeyOperator": "8e4aae6b0463afef74ba6504da63274e8fa5f85a2b111ab06ca080870e0bafb424df487bc340db8878ca2f5893cf636a" + } + }, + { + "type": "Regular", + "proTxHash": "81b7f30abb2fc8f2853369be30fe918dc6bbb42296a00291c72b74d2adb8e7ee", + "collateralHash": "74e00be0f876cf79dc07789c32f40de4799284f9060e0bd8463d2632732af1d4", + "collateralIndex": 1, + "collateralAddress": "XufpUDhpPR1wPTGxAQ5EdueorjBH5adB4R", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.79.224:9999", + "registeredHeight": 1867207, + "lastPaidHeight": 2126321, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxukziXZAZuNbt1xg4aGrgd5zksgXDehB5", + "votingAddress": "Xm3CefgproY1A8MhNA7rGGNiwCt9hnFEvC", + "payoutAddress": "XufpUDhpPR1wPTGxAQ5EdueorjBH5adB4R", + "pubKeyOperator": "11791f54606e15547880a8184366202f2edad3676022c0ace9eea5969dafce10ca79e53e61f71cb668bd43bad12c20ef" + } + }, + { + "type": "Regular", + "proTxHash": "47d8e41410e9f50938f6b277c64890a8ae8e8ba839fab8bdf085a2c1a02c3d19", + "collateralHash": "5f5641d14a94d474eca96af8236381fbb7854f50779e736d66b3f2d32d363f57", + "collateralIndex": 0, + "collateralAddress": "XjRDtdioAorGPM6fUkHY2siWKnt2VsrdfZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.17:9999", + "registeredHeight": 1867323, + "lastPaidHeight": 2126366, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XetqGjai9jBZfqqSq5ZncXJbRWY4cJGmcz", + "votingAddress": "XuiQHucQP3mxh46DvxqYcf5NJSU72zeDdH", + "payoutAddress": "XnvTsZKSNCiwcZznufnDvoqP9xDRYBzQKD", + "pubKeyOperator": "91619c6f13b38a3974f9ab92805d5b5ecba9a39941644b69c13c56b051b96bdb7d9ed6bfb1666186679e3976e91eaf02" + } + }, + { + "type": "Regular", + "proTxHash": "d68c509e60ca40ed9bac73c80714b711d49ead5f9a6ebf41d4be9f9cbfdcde3d", + "collateralHash": "59c25ca2701126852f834c49d59011b973c8eed825a8a52c7225fef69768cff7", + "collateralIndex": 1, + "collateralAddress": "XgoPDhMC1Qb7F2HqQSYGwB1dYVp6SwRurA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.163.14:9999", + "registeredHeight": 1867589, + "lastPaidHeight": 2126530, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwX7hXF5qPqH8GjNz5UDqfYusXMrXLm17g", + "votingAddress": "Xj9DcCfXnQNdbtvsdpiLFBMBzFeqVFQzVo", + "payoutAddress": "XgoPDhMC1Qb7F2HqQSYGwB1dYVp6SwRurA", + "pubKeyOperator": "0a3b15fdef76eed4093b5d1876bb7777afcf5063d26d82904899de92117da6188f10becbc18d29f7ae43f5a0454b553c" + } + }, + { + "type": "Regular", + "proTxHash": "981bb38bcab920beeafd2371ec4d8a3458d38fb3ca8a8c0890923f6e4f452f16", + "collateralHash": "c41cf91f2c92490424eb149d5a793dd0ce0af41d6ad54ce94f1debc70c0d236d", + "collateralIndex": 1, + "collateralAddress": "XsNAapCo9Ghr6uKK55NvaFkD1ZP7RKicBt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "138.68.184.108:9999", + "registeredHeight": 1867748, + "lastPaidHeight": 2126999, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2016332, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrth69bBLxThCsStWbH22A33ZrTY4c9EP2", + "votingAddress": "Xm35AZRdN7ejPu6uXDfwdRt1cTfqFQhZYJ", + "payoutAddress": "XeNG2rakAxQSBtudjdqccZE5g9oe1RVCor", + "pubKeyOperator": "0b6c462d4d4455dec217460e94155bbaa09e8cec2f26bec6a354d261d0f6e7f38f04b2c11ef1eff5772e939019270362" + } + }, + { + "type": "Regular", + "proTxHash": "f64f1a5c7a214df9d015b0016ad59922088423f124c70b47c8ac64c75124d1f4", + "collateralHash": "f64f1a5c7a214df9d015b0016ad59922088423f124c70b47c8ac64c75124d1f4", + "collateralIndex": 1, + "collateralAddress": "Xriu1kqvfQHcnZZt4iKWJeEzxmmvAQdKtk", + "operatorReward": 30, + "state": { + "version": 1, + "service": "3.128.38.105:9999", + "registeredHeight": 1868536, + "lastPaidHeight": 2127076, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121021, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjqzVpueHRwey8gajyk1SFwBjVnpE91yX4", + "votingAddress": "Xk835Ahr92QuHK9KcNELY6DXt9mVhVKauh", + "payoutAddress": "Xk3EDAuTSythMBAv36fDFmGZoXhLYK5svn", + "pubKeyOperator": "146e4539fd0ead3b9fe3382fdd646bc64f4ebeec92f84e55096b30d851c3e46b17341717fd794987c2458f6e84723698", + "operatorPayoutAddress": "Xjx8htnWsBqqJT2omcWeAbTfE85t81Bifc" + } + }, + { + "type": "Regular", + "proTxHash": "c275846e82b6839a398a97ec7802ac5e44b5990338bfdcea394e014295b962fd", + "collateralHash": "4e9ee84384eadf6d0208c0a615694e28de2a09fb60892e767d5fa19ddef750f1", + "collateralIndex": 0, + "collateralAddress": "XetVxwqSHKTfC5whAhtAhUtHE1E1RYHSvg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.86.70.251:9999", + "registeredHeight": 1872506, + "lastPaidHeight": 2128737, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2099074, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnDtNzxCJtgj6RuyMZM3bdLavUBEuk6g6c", + "votingAddress": "XoHSiXz242xXRJt9NfFSLq6p5gdjRJddsA", + "payoutAddress": "XtRc7RA6gYSZSxWWo4EacFqeBtg1wdtHX1", + "pubKeyOperator": "8db3b8e37486a26f1513ad22c7a0fc41ffce9a0022062da82fcbea0fe2c06569ee51336dbc954fa24ce2f2ecbc03f483" + } + }, + { + "type": "Regular", + "proTxHash": "e40fb7aa4e742b8ad1a1c3c8f9291486b8a11b9301b94dc4aef8e7111da68615", + "collateralHash": "4b0f2187b9abd6baf2c39f22f55abac8a3208639cdbb657dcc0eb8ced04b9cc6", + "collateralIndex": 1, + "collateralAddress": "XooX5L2VSjvRTkA7JPUwaQ5TznA5CguCRT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1872536, + "lastPaidHeight": 2108232, + "consecutivePayments": 0, + "PoSePenalty": 3842, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2108778, + "revocationReason": 1, + "ownerAddress": "XgfQ2kSUQwocKzoEkXs5rbL1Nqq6XTiua6", + "votingAddress": "XjNM7CF57izrUK6A8Fj2U5uGQdBx8xVYGY", + "payoutAddress": "XooX5L2VSjvRTkA7JPUwaQ5TznA5CguCRT", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Regular", + "proTxHash": "944f9d0eeaf4464f6c96cc4af6dbd877a011c80f00d22fc10ad05ba303ad4189", + "collateralHash": "48a1b4e14f90beb7262cfc6da00eb9020a60b60ccfa956de694bf324c7cd9530", + "collateralIndex": 1, + "collateralAddress": "Xoic1ctSJPYDzfZwheV997ZEE52jPaNVCV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.226:9999", + "registeredHeight": 1873648, + "lastPaidHeight": 2128541, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XunWwB4PXsobRx4983saeqVysTUY6gLmRZ", + "votingAddress": "Xwt7a6wtcq4RCzAdWrKTWRjSgXMtKkPNiJ", + "payoutAddress": "Xoic1ctSJPYDzfZwheV997ZEE52jPaNVCV", + "pubKeyOperator": "9560368d71dd848559099c419c5ecc70098d4e4877a490a5e3f2d8bf2e1e20d36636ec0444805a41e9b6cd2c3c01d20e" + } + }, + { + "type": "Regular", + "proTxHash": "778cc721843f820cc8ed258eea7a8a0f65c96315e41e8bf099a04f42d3c30523", + "collateralHash": "205801c49b8c7d80e93ea65a1986b51436ee49605d08172511ee0f2745f778f4", + "collateralIndex": 1, + "collateralAddress": "Xk1Xar6RBHGbDUnr7VjR4sdAhMGPy9ZRBC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.207:9999", + "registeredHeight": 1873863, + "lastPaidHeight": 2128835, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsb1176sB79NFqHP6hMKEXmhgfYehhbYor", + "votingAddress": "Xez6kM4bdxJgSpXhjfeLJUAZwnrFULEGG9", + "payoutAddress": "Xk1Xar6RBHGbDUnr7VjR4sdAhMGPy9ZRBC", + "pubKeyOperator": "89462a959678c13ac4538652a65ab3729ca4170b764a21b29ad14569b760f87a96c2551272e59bf1a5b7159a323dc0b8" + } + }, + { + "type": "Regular", + "proTxHash": "7aa96af2586ad5648da216613c993c546037044daaa508a2d9a5229d9f92d0fc", + "collateralHash": "aa53b58d0ae47e5ac34844485ab448fdc2db715088794ebd6cf5a559209ce17f", + "collateralIndex": 1, + "collateralAddress": "XrVyEdWT7CZZXf5ojeAgyfcA4n44F3nKYj", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.13.80:9999", + "registeredHeight": 1873908, + "lastPaidHeight": 2128870, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpWqQV4d4An6f2FSf5D8Ym36tA1zgzfvsN", + "votingAddress": "Xppk8eQ1f6yXAb1BonRztLeCWaqSEd5yZa", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "9483a65ca2b73a2052c75c6e2be644f5a534e6e163c5aafc056fe39a17cc26950014ad1bdbfd905e42069ca33fa2a9df" + } + }, + { + "type": "Regular", + "proTxHash": "fa9e2c144dad9461b24cabcc911bfc7251c8257be53da5ed014afd9caaa99cd5", + "collateralHash": "88782a3ef58614c55ffef441b9c465d7b174a0e3abc86d6f09daa3b147c49bd6", + "collateralIndex": 1, + "collateralAddress": "XxFww28SMwdnmF5yrMa1cRGjcAM6NR6QsE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.131:9999", + "registeredHeight": 1874526, + "lastPaidHeight": 2127552, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1876076, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg7SiuDeYK5J6Rqk2F3DpXLW2htep8JDFF", + "votingAddress": "XymPJ5BCTYPNi5DiK4VtRWDvtVeBctSQDm", + "payoutAddress": "XkhSS4CNQZyDReKU7DcrohZtd46jnBvjUu", + "pubKeyOperator": "01089bf54f2e7b80718efa546ce2d4f520a2c55d58574193b93b97c9b4c9f70d123febc8b7d23442bc3b0f4f48b7bc59" + } + }, + { + "type": "Regular", + "proTxHash": "6d21fbc09b430f2b18faef0920f16a293f42c5df9b2246287244251204f5b4b1", + "collateralHash": "032a2f084efff4a2151a1e30dae703957937abcc2be7952d6456ed2c86fc82c0", + "collateralIndex": 1, + "collateralAddress": "XoVHRkb33J4DBCDNK8dEuNkrQHUoBiF1CU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.199:9999", + "registeredHeight": 1875492, + "lastPaidHeight": 2126959, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm6TF8CN9pc7KMbyb2FyZFCVmPP6osHecC", + "votingAddress": "Xe4YCnrA3PN5Gx4Q5XkhKZCnJjiqfR4oni", + "payoutAddress": "XoVHRkb33J4DBCDNK8dEuNkrQHUoBiF1CU", + "pubKeyOperator": "8459e6248e2c40a7ddcdd416a66be93a14db9ef5a4b7d8d2977c9b52cbc162085805f23b1c481f554b255dd0a026c072" + } + }, + { + "type": "Regular", + "proTxHash": "6bc7044f49cb26dbeded20ab94e426a5c2b5afad8435bb7ae7cfbdf767a8993c", + "collateralHash": "b5392b9c754270c59c5a926f51a8ebe076cae9b0e529881f2bef747288ada84d", + "collateralIndex": 1, + "collateralAddress": "Xxv5FeoKi3khqzncEcm1ChvUG34BeKw6TF", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.192:9999", + "registeredHeight": 1875497, + "lastPaidHeight": 2128162, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1897479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XixVn4HwqeKDZ3itUwQMScDywPkwhdX5di", + "votingAddress": "XyvcaouoAcsm5pLus2P46jdsr8dwUvhdA8", + "payoutAddress": "Xxv5FeoKi3khqzncEcm1ChvUG34BeKw6TF", + "pubKeyOperator": "8a62c1db09ff7f2a8869959d21b3e333f8e777b6d00eeac4a0217faa19b528250aec4914d17f4092d23f4b93a8150a33" + } + }, + { + "type": "Regular", + "proTxHash": "99f3250a2c0a2d5d92a4ecd0feed0b6aefb52d2d50e42aad8b84b7666582c336", + "collateralHash": "47eea4aad66cf6957cd7bab59ad4870fb9b4671f959468d955e3422bcea1d601", + "collateralIndex": 1, + "collateralAddress": "XjfyG4TBcsa2Xt48Asf98BFHZmSPUxy487", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.16.188:9999", + "registeredHeight": 1875785, + "lastPaidHeight": 2127294, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XseXAq8716yEsF5CEXgkkGikzB1Fkm4D8V", + "votingAddress": "XnN5GJLX5u65kiy6UieYdMz3aDofhFaNdA", + "payoutAddress": "Xbz2gtGKwgBGVGXvgMJEY9R6guBXZQG55s", + "pubKeyOperator": "89489e1b43bae9cfa539e1be7e0ce324e1f46939963a1ad8ad1579e211f1115e680b73029598c8cb05d3e3427519cbc0" + } + }, + { + "type": "Regular", + "proTxHash": "53c902f600b06d3befbb7024b4bda8f4475f2803244f9ed23602e9a03ae97828", + "collateralHash": "cfe61bebfd78302ed2db23236083c6d3cf61bf4821462a299d6d2d941e529039", + "collateralIndex": 1, + "collateralAddress": "XpGKWGi9UtCDcJUE463D2q2C2gFjHD8yBK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "206.189.90.249:9999", + "registeredHeight": 1875811, + "lastPaidHeight": 2127310, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrzDQhunHnk8zhqomg9uzo7vu7WprafsQ8", + "votingAddress": "XfZWkim2vXiSYsPWhQoECkWVskeWvQAriw", + "payoutAddress": "Xbz2gtGKwgBGVGXvgMJEY9R6guBXZQG55s", + "pubKeyOperator": "914ce88cdc464ce0e31b928a2fedd30ad3bcdb6de80549b953a8d86263465974efeac4a4a1186b7dd041e04d4f9b9230" + } + }, + { + "type": "Regular", + "proTxHash": "341eca6bbef9ff7e137840a558d719fb74762c50e39cb28a93b4ec60cf55fa1d", + "collateralHash": "7ddb2b0d86781f5ae0ad358dc6cafecf6c417c36a3160ca524735917ec887013", + "collateralIndex": 1, + "collateralAddress": "XtbzHkicLPXqV7hxkKnxsddWj5FVcPo1vA", + "operatorReward": 0, + "state": { + "version": 1, + "service": "64.227.142.227:9999", + "registeredHeight": 1875813, + "lastPaidHeight": 2127313, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd29DFgKBe4VjbXAXCM8Yj6HPXbhNndwfT", + "votingAddress": "Xqmczd79K13uovjjqydRwGE74MCbHtyR2p", + "payoutAddress": "Xbz2gtGKwgBGVGXvgMJEY9R6guBXZQG55s", + "pubKeyOperator": "977c4dec53dfa4962d32042e1f37fa04a8bc123d6b88fdca8415958a0639470be830f8996c0fb2d1690040b80d9ce955" + } + }, + { + "type": "Regular", + "proTxHash": "ad954279f2e61d8c1207b85dc486e8b15c2c128084d2da4f66184b6c5f79b395", + "collateralHash": "7700ec3edc2da8779b320237793a85a6dfe51d1f0ef99ffeac31c337bd7bbfae", + "collateralIndex": 1, + "collateralAddress": "Xc3KLfajSw4NLZMurNsgpf3euiTq5RJUrx", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.223.213.29:9999", + "registeredHeight": 1875815, + "lastPaidHeight": 2127317, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrsbfAhfZSdq7nonp5YChknSyAKUqixSEN", + "votingAddress": "XitkrHWJU7rN6Djgz74QVcFy9TssDjrxP5", + "payoutAddress": "Xbz2gtGKwgBGVGXvgMJEY9R6guBXZQG55s", + "pubKeyOperator": "9479a7851a2092bf62df1176ce6381b4ad1a38c1a3e00394b011a012b9db8f270fdc824d020b72d0dc02a7a7078b1207" + } + }, + { + "type": "Regular", + "proTxHash": "b08b4b92ebd356f36e984bb305b1862be4088c16b230cf7445fdf265c2ca2c59", + "collateralHash": "e416b40aa62045285762e9ca787e75cd58ea8ee81037dd120d78d90b5c8e6645", + "collateralIndex": 1, + "collateralAddress": "Xf8yz8W8MSEgvMw5WPro4AkWytFziVAmek", + "operatorReward": 0, + "state": { + "version": 1, + "service": "164.92.216.171:9999", + "registeredHeight": 1875815, + "lastPaidHeight": 2127316, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xofh2dGGyj1ApQ2eFMhnZgynJAZ8JmjpqN", + "votingAddress": "XdSEjv6XbqsDG2soxfQRJFtatLbUNUXfo4", + "payoutAddress": "Xbz2gtGKwgBGVGXvgMJEY9R6guBXZQG55s", + "pubKeyOperator": "16215aac14c44cb77912df97eea8020574918619d3013dd01f82e7b18e911ba4257669db7e387a62dcef08b4bdbb6754" + } + }, + { + "type": "Regular", + "proTxHash": "317f1faf42decd1a59b31b191a6917579519656b694fe3d8fd7bf07c4fea4d85", + "collateralHash": "e1c17b4a895548710b2d8e59fac0412f2ce7082a9240c290c5dd2e9d5950ebc1", + "collateralIndex": 0, + "collateralAddress": "Xp7YUBaguq8wDgRGYY89nZSD9nGPq9TA6w", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.230:9999", + "registeredHeight": 1875866, + "lastPaidHeight": 2127383, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp5NsJTiswYN2C9e3XgLD2J29XJL3LDCSu", + "votingAddress": "Xws8QiLod5SUi2CBmHCTZ6z49kYtgrcNYe", + "payoutAddress": "Xp7YUBaguq8wDgRGYY89nZSD9nGPq9TA6w", + "pubKeyOperator": "878323657a873143953539c06e860f0400b81680663c0b0571071ab9911d54c33fef373064a9d4dcb4fc398df3b01ec6" + } + }, + { + "type": "Regular", + "proTxHash": "5608cf94101958f7a5c9b0d6a47b0eacf9055666348858e4b1819b2189c50c3b", + "collateralHash": "56175dcfe7234f534ac3300579c69a6c1658aed5704d6cabd3d75fd4570d62de", + "collateralIndex": 1, + "collateralAddress": "Xegn51KzoB76RLvKtiTZmTFYNynihhzNAU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.197:9999", + "registeredHeight": 1876218, + "lastPaidHeight": 2127783, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiK4PrGjC7w3KqacLx51pfJqZngrt5n7BQ", + "votingAddress": "XmFZ28ZFGsUNnnbrCv3WWeWC56qh7k5oD8", + "payoutAddress": "Xegn51KzoB76RLvKtiTZmTFYNynihhzNAU", + "pubKeyOperator": "992cafdd8189644f6412e9165161a6ba26df1073f2396fcdd6d2bca32a794047d2b8b6e0c4a417bca54e2d93dba5ae4d" + } + }, + { + "type": "Regular", + "proTxHash": "b65f51322fa70dcb949405be58be6bab0e8269ff967316314cb1a6caa2c75508", + "collateralHash": "6911f4095c15e69a20cbe5a2698afdfde4d5cca410d065c28ec0d414f0ae91a4", + "collateralIndex": 1, + "collateralAddress": "Xcth5onuDS8HQhvs38N4otoYker4VwzNCh", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.54.103:9999", + "registeredHeight": 1876231, + "lastPaidHeight": 2128084, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1897388, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgHqRXq9jRYZUW1kxQyDUFd6s4L3Gz2rPW", + "votingAddress": "Xtvmak3TK1Bs1y3iGDrqJbdia7QuaAMMjb", + "payoutAddress": "Xcth5onuDS8HQhvs38N4otoYker4VwzNCh", + "pubKeyOperator": "846144542e80ce13cbbeafa891c2593e6d8bc60dbfff8620ec4d3b4d7dece41f72cef3e3f2d96d4b91d010861fee3210" + } + }, + { + "type": "Regular", + "proTxHash": "d55fdbe997a33de3ce892de452e8c80657175923bfa7177ab9ab024852e99926", + "collateralHash": "87091f10b917183daafd6f365ab84ed3d55a0c79ca4e7d34b880007ae806c2c9", + "collateralIndex": 0, + "collateralAddress": "XbZbjTyU2XAiiYsewEeaMWbAWNuxNe3mjw", + "operatorReward": 0, + "state": { + "version": 1, + "service": "178.63.236.109:9999", + "registeredHeight": 1876373, + "lastPaidHeight": 2127928, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmv9tKoiZR3XJBQ4vAPfJayb9AWvDKbQ4c", + "votingAddress": "XiH4V6LwZGsGMbRdLsbmF481rZHZvv4nVJ", + "payoutAddress": "XbZbjTyU2XAiiYsewEeaMWbAWNuxNe3mjw", + "pubKeyOperator": "0213dba55c18cf5c5174d22246dc639db402620fe748b6f6a4750d3aed18cdb9519aad474ff77e919b224089c6337e69" + } + }, + { + "type": "Regular", + "proTxHash": "47cdf2afd4eaa7b0151ac48d74f0a23d05b31d730b70f2b7fa826900de0800f3", + "collateralHash": "c8afa6b832788ef89a8cc6b1d78f254e07967c6dcd8c3e26e35e98cfac75ae4b", + "collateralIndex": 1, + "collateralAddress": "XkytWzXs3JzqAbyKFxatr53dAPnriKFTWJ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "139.59.156.27:9999", + "registeredHeight": 1876458, + "lastPaidHeight": 2118889, + "consecutivePayments": 0, + "PoSePenalty": 3828, + "PoSeRevivedHeight": 2007233, + "PoSeBanHeight": 2121450, + "revocationReason": 0, + "ownerAddress": "XtY2mTQduD4GAkXcMZsp93xiZFx46AzYBU", + "votingAddress": "XoiTZUVa7ZTyP7yCaku2JSNhpiCu9g4hZo", + "payoutAddress": "XdTmXPQ7MsFwkFAVvL3gEs73x5azHaUyu2", + "pubKeyOperator": "810f9d8ab43d282ce3f7726c61212a6172e25e4461d56245649e7396a830bee375e9bc539f806ca81e01822861589346" + } + }, + { + "type": "Regular", + "proTxHash": "944cef7c21c3d6da86e0b627cc1ec1574dd8344549533cb410171d1db2a3f01e", + "collateralHash": "e8788bc6e3c43838ce883c2cb58a9f5e9cf359c5bcbec402f6107c5e54589c5c", + "collateralIndex": 0, + "collateralAddress": "Xc5qUaC1wA7aYKGzG7Pc9iR2cKGx1ZC9aq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "173.249.60.11:9999", + "registeredHeight": 1876602, + "lastPaidHeight": 2126046, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2079278, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiHiTu1azAoQ8csfiViUCSo1NVQcfnVgVV", + "votingAddress": "Xyce6XT6uJwfz76Lhp2dZnuzAPtJbzMEPR", + "payoutAddress": "Xvc1qH3cEkmMLRrCBxGtwJzPMwN3q1MB9t", + "pubKeyOperator": "a3151f69900ab81b68b2ba5bfb9a015ca9d05b6aaac3688f9094bd954e6400078d6880c6c33cd5693f43931a13d861a7" + } + }, + { + "type": "Regular", + "proTxHash": "61f94298a0182da6925d05f79a36f159ba0367c829ef3bbc04bfe74609ab01bd", + "collateralHash": "afc876ab6349ed809e0b5437fd12b4f3b17772e0357a8947a702f4ad15adcc13", + "collateralIndex": 1, + "collateralAddress": "XezQx682cVtpFg5UWxu1ViTdL8HpN7qRcN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.53.131:9999", + "registeredHeight": 1876807, + "lastPaidHeight": 2128420, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsH2DmNKRcQa6J822MD1fyFYpeJQWskQ6R", + "votingAddress": "XyZg7LMSuvyhTLiQDyyKLvjbxy2XxnkZqW", + "payoutAddress": "Xdm14Mc9ti3qvSWQ1Fqg9F5NKSqBSjcX6S", + "pubKeyOperator": "989176d23a1f98a64ebd0c83af2925cb51fff599eb3e6f024f589fdea0c06d421a07bc00aeb28675f006f088584a4b3b" + } + }, + { + "type": "Regular", + "proTxHash": "ce7da0137c15015753ef5d03d9a5f7e21d69938ad57bc11c9912ee46034bed24", + "collateralHash": "c37fec2a69893b418c2ff1e19156a780483720889bf8b4d248351b9db413b7ec", + "collateralIndex": 0, + "collateralAddress": "XxCXJ8FGAJ8cJViBN1Y14AZkaMiY6FQ6wf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "5.189.145.80:9999", + "registeredHeight": 1877403, + "lastPaidHeight": 2126531, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120477, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd3qsnmms6B8AsDTYej34eHzCcvNHMJpRq", + "votingAddress": "XsXyD1bLDUcdJciwA6j8mZ1xJXEV7Xga6G", + "payoutAddress": "XcZbn51pMGrKXZUU8HUZQCYtfmh8EnB4Bd", + "pubKeyOperator": "85d18638f086b04567c4602464a842c55e69b9a60202b17af953fe6dd0b1a05eeac6159c7c5a3c56927794df7f828b26" + } + }, + { + "type": "Regular", + "proTxHash": "d20bfd90360cc88cdabedb639618a9ce1afe2573de6f70c6cfd41521dfd3bab7", + "collateralHash": "a13e4ac9feefa10fb94f1d9991486a72da2eae17981c7d706336916202e05dbb", + "collateralIndex": 0, + "collateralAddress": "XvxPEty7SMjWK1MsmUZjodQn6p4JBHGCes", + "operatorReward": 0, + "state": { + "version": 1, + "service": "173.212.220.183:9999", + "registeredHeight": 1877411, + "lastPaidHeight": 2127962, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115528, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xht9M3AZf2FvPTCtWWYZhVRBud8V4TYVc7", + "votingAddress": "Xx5WcTQCQAoNHBuDxvLPfWcGgov1vePkFC", + "payoutAddress": "Xoqcrj3nKYVH1Mo51xJt8axiTf8de5anNs", + "pubKeyOperator": "91f2b69f3ed0a25958a881e84cbbe853a290688a35adccc83fe28adda66b3ad2e0748e11c2f0080d03eb281b61bea6a0" + } + }, + { + "type": "Regular", + "proTxHash": "711249399cbc59b314d2e7dd6b79695072e24cbf64a9514cd70a9feeb5dfe33e", + "collateralHash": "6f2e5cc821bbdc5e017034bf11793b4f278c9b489989845aef270318b425ba86", + "collateralIndex": 1, + "collateralAddress": "XfLkaUTtraDc9b3rhzxNKrPNECSYPoW8mH", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.182.193:9999", + "registeredHeight": 1878007, + "lastPaidHeight": 2126355, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvS7Xv7uLTYZZfTeomSKGThGjkUHL28SE2", + "votingAddress": "XqFVpUiFR9TBBUzB1LpYfbT8FupmohTctc", + "payoutAddress": "XqA3GnVnJKgSGSnBdKaBknUSTtayYc48XE", + "pubKeyOperator": "8b1390117b844b5196e1bacdc5069af97e18eca541f77a1f137ddb14635bc51272f74b02eb6210b85920272985341df2" + } + }, + { + "type": "Regular", + "proTxHash": "8c7b345379f7e55055e42615ce629ea1742728370a33c5309b46a6cd5a54146e", + "collateralHash": "b121dbe4cc56cfa12be8e8d92dba231249dc0d8ace8b7cad90514218d651071f", + "collateralIndex": 1, + "collateralAddress": "Xtkf6q3owBxJVtzrA3bgq6uVLCAYSetk8u", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.26:9999", + "registeredHeight": 1878597, + "lastPaidHeight": 2128300, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976882, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfkyTdriUTx7HLkWFJhvQdUfCqqGoXxYKc", + "votingAddress": "XnKXUBa1TF3ifH8fJpg1danZ1r2c6NSD9i", + "payoutAddress": "XdZ5LEZ8HzZX3uESLha1k8p7jUWSTwXBRT", + "pubKeyOperator": "016d9c711b54229dd1ba7355949b7d75b632d51bec52d928fcdc8275413e53a53db621ce4b2c413777ac999db82c0956" + } + }, + { + "type": "Regular", + "proTxHash": "98795876db7c10c89035684ccd65a6ac799f67b8924b9a81d82ac2e4ab775f86", + "collateralHash": "7ee81ea426ef096bdab3f0bf2c530a6912af8d21c756e8cfcc294f526c32d427", + "collateralIndex": 1, + "collateralAddress": "XxES6BhBgPnpxpSDPLwqhbe6u2Qxq7ExcE", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.210:9999", + "registeredHeight": 1878601, + "lastPaidHeight": 2126835, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqNAYUCErKK1xooChEwb86wV5ndJdtpT23", + "votingAddress": "XgYWigHdEw2g7NvDYBQ4i6nr4Auve5ST5F", + "payoutAddress": "XdZ5LEZ8HzZX3uESLha1k8p7jUWSTwXBRT", + "pubKeyOperator": "0f8881581814ff94049e57bd98b7cbe7e7f20b6a1bae97986de008078d2e5de989c9f839a3ada0bc4021c3fe667f0a5a" + } + }, + { + "type": "Regular", + "proTxHash": "df051c484707768c862e636e3427d2570d3323cba9a2936bdbea3080c4c12723", + "collateralHash": "1447873080de275a01532590ba80949c04907daa7a79470a692e2ff92f5e83d5", + "collateralIndex": 0, + "collateralAddress": "XsacJKKJ67mRk5Dr8cW5nWuy5AXTa6KdbR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "78.46.247.100:9999", + "registeredHeight": 1878694, + "lastPaidHeight": 2126923, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjX88zy98HYkicrBx84knbysHNWCC7vt2R", + "votingAddress": "XvWSb6ZR2ihpadtJL3kSVj3ShQ8g7z6fus", + "payoutAddress": "Xm4KHJXesEYH6BDBXo7SF363aNjtPJLY3T", + "pubKeyOperator": "99b06b0a2799d221af91863a4573c0c66c423f876446248cb0ba269dc90b88f84af584cb8a258b67b149e23ad54e9124" + } + }, + { + "type": "Regular", + "proTxHash": "101e80ac8dea6954bdd974e0266d5d08b2013de81989e4ca22f76c619ecf2234", + "collateralHash": "0307faaf64c9433653cc2c4f1538757d59099c27d56f21c6ead87b6295082915", + "collateralIndex": 1, + "collateralAddress": "XiLE1pFa1kBLANBm1bLkoEdW6XTarxwob4", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.222.137.152:9999", + "registeredHeight": 1879323, + "lastPaidHeight": 2096997, + "consecutivePayments": 0, + "PoSePenalty": 3826, + "PoSeRevivedHeight": 2049583, + "PoSeBanHeight": 2098698, + "revocationReason": 0, + "ownerAddress": "XdzfxMrKcjTTCMNDLbUGFRUtQyJ779AMqj", + "votingAddress": "XyBYKkSyjg5ThAdrmQg2g6mS441zxitSyX", + "payoutAddress": "XiLE1pFa1kBLANBm1bLkoEdW6XTarxwob4", + "pubKeyOperator": "8e1911bb8238ef0c610710e10e8b9aa76782192fa31dde86e65ec19b345a71500a30f30d29ffc76269d44653971cce1e" + } + }, + { + "type": "Regular", + "proTxHash": "bdd7de4b9bcfa4b869e6efa69ca8bb310f7d74f7b481d2b444a70fcf2ddf7986", + "collateralHash": "c07cae893fbec5bcfabca7d4106f3f2d302114eef6e3465128be7766b1add6af", + "collateralIndex": 1, + "collateralAddress": "Xx5DgiTRd39Cu6sw2zPznZJB1i9Vd9yDmC", + "operatorReward": 0, + "state": { + "version": 1, + "service": "51.68.137.42:9999", + "registeredHeight": 1879348, + "lastPaidHeight": 2079962, + "consecutivePayments": 0, + "PoSePenalty": 3817, + "PoSeRevivedHeight": 2049583, + "PoSeBanHeight": 2081706, + "revocationReason": 0, + "ownerAddress": "Xgg42Qz4Abr4DMJbvWnfhUMAzPhfhCXf99", + "votingAddress": "Xm8KqEbAjnxE9qdNB4fnDQ9QH5e7fSr9vd", + "payoutAddress": "Xx5DgiTRd39Cu6sw2zPznZJB1i9Vd9yDmC", + "pubKeyOperator": "89f9f2dfee4702525ec5a8ae4647aea700018523f70d42467837b08077d46764fed42128eeb050600012da5e773f7be4" + } + }, + { + "type": "Regular", + "proTxHash": "6c78cebe7df613bb689136221ba12aeac116744b44fd2d199ab394261dcc217d", + "collateralHash": "5b18d455d12644262345236b54397be5ca9a638b258cc8f0308ccbbbcbb744b7", + "collateralIndex": 0, + "collateralAddress": "XkETY13LYwaUReL71GCpE43o8CMsy6e4RP", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.165.171.117:9999", + "registeredHeight": 1879571, + "lastPaidHeight": 2127013, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1949801, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnmiE3ivNZqNoKRRuirLeyJtuTGuYyoCwg", + "votingAddress": "XjD9F5nXw1d856k4JqhMmcM26TLG9F24Ui", + "payoutAddress": "XtJz7xWdnGdT1Vs7rUvRcjZPB1UzZBL9Wh", + "pubKeyOperator": "1246f3d669e8e003114e172d6ac0dcc2e35a59797834907ccdbdb0f76e01c06766cc756e7d0a39b15961df18add026d4" + } + }, + { + "type": "Regular", + "proTxHash": "160dd00ef2d9eb37af7082f4b3e59ed8978072b03f3d10f0dfa8936e11e6c38d", + "collateralHash": "843881d60bd8ac9dac5d0e9857ed84b37221c5726ecdc68c4fc892168f2c8329", + "collateralIndex": 1, + "collateralAddress": "XvCzdjTkQDsuT3Jj2qyBv3Ks6FNCupfPGq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.243.86:9999", + "registeredHeight": 1880210, + "lastPaidHeight": 2128041, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2081273, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgVtQXzTJuUtDsNJUiATs2rfw5TzJcNzBL", + "votingAddress": "Xy1Eqwhg5ny5bRWH9RncWV1inbL1QdHVGX", + "payoutAddress": "XjufMQf7f36mijMLoVN8sjkGznDiJiWFL3", + "pubKeyOperator": "99529e47078ac79e1e4f592a9af4a924bbfd6dae34f4b405571e03cdfdf83038d4562cc260aa994a0557af9057ff96c8" + } + }, + { + "type": "Regular", + "proTxHash": "29b6d6b512a159179e161a27a0ebdf4099b9ad2ba4c1b2537e33cd162af5e835", + "collateralHash": "2cdbedb1f473ef39fd6e73ea0e2c142a333afe31cb8a2e5508bff91fbdb80423", + "collateralIndex": 1, + "collateralAddress": "XfeqvgrntMV25Db3CGN1bhVtKDoLsngY65", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.217.61:9999", + "registeredHeight": 1880339, + "lastPaidHeight": 2127521, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2020201, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhNPEwcgqyDuABwFKUtMFAYB6knVKoUBu3", + "votingAddress": "XsmjEF2EhtiPCWZP69KyPnmTnWpW3Gq39R", + "payoutAddress": "XfeqvgrntMV25Db3CGN1bhVtKDoLsngY65", + "pubKeyOperator": "165e914de321ebce43e7c051484fa5f71ba15e83fc79b5e43b2aee353c0797a6df9522e81defe30f8a58c96f7505036b" + } + }, + { + "type": "Regular", + "proTxHash": "f38e17609c1f3df9bee914f7f775c45e86f17623b01596c082ad1eb43aa47ec3", + "collateralHash": "098e38b52f26ab6f47f807475815c21e8c1e401c6f1f65f9bed044343b80da87", + "collateralIndex": 6, + "collateralAddress": "XqVaPjFbmKb748wsHk89nhvHQDRGLc16Jt", + "operatorReward": 0, + "state": { + "version": 1, + "service": "84.9.50.17:9999", + "registeredHeight": 1880450, + "lastPaidHeight": 2127607, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2060698, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpTbg2vV62yjarNFMed4f2LNfhEEGENPxF", + "votingAddress": "Xidz7VQ1NvJX3hs11cAtuo2Sb2ENz5CFrQ", + "payoutAddress": "XqVaPjFbmKb748wsHk89nhvHQDRGLc16Jt", + "pubKeyOperator": "85029f83f0a139af9bf2503df3a24a7ea084e3042850a75945a8c8981366fbbe77fd51cca793ca51cb221677aec0a009" + } + }, + { + "type": "Regular", + "proTxHash": "941aaac75af7f3562862a961eddfa747c2e39459744cb2bcee1723454c49b8f9", + "collateralHash": "f5b51f100d221cc1c1619ee559864bedc78bf588149c0fb37994075a00e2671e", + "collateralIndex": 1, + "collateralAddress": "XbwcqUg8himds9yTTvtxm23BRWmBMwv3Kv", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.83.4:9999", + "registeredHeight": 1880537, + "lastPaidHeight": 2128866, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpTVhGUeuV71qpPHKTL9xsrVi6T6jXWM3E", + "votingAddress": "Xi94U8aThegDMWCyZ2HQGys9pBqkMg5Meb", + "payoutAddress": "XkNTprWe4sRZifr3MFY49SARqcDJ4j2dNp", + "pubKeyOperator": "0ff6cad0f0fdd54bedebc2e2b7139e5a736478867fdb5e1a56380c10f62f03a93658776ca62a3931e5edf004f9f6446b" + } + }, + { + "type": "Regular", + "proTxHash": "4240cfd375e322ba6fa22f2a7ec03f7ce90ae12cf00da38a5e8e185d4daa4f56", + "collateralHash": "b42447d9566b4e17648ad30de2c057026260e5e84c46dddf255f6d908472a0f8", + "collateralIndex": 0, + "collateralAddress": "Xgosi6k4Mtux9eCDmPG1mtuEqBG3gPV5bN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "192.248.179.220:9999", + "registeredHeight": 1881051, + "lastPaidHeight": 2126276, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2086329, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbvVP76xwGsSRaQc4FYBxjtke2VBhLi4rw", + "votingAddress": "Xw42SDswaSP2FgwXtHtU7xErjDYBgyxof1", + "payoutAddress": "XdvmxbqVeshf8tYSvCivdKNcuzhecsutqE", + "pubKeyOperator": "9104badd41bc76d36b719f4cdc47529e5fdbcd041f78390677d978cd1fe40b4bd763d7fbdf51a3ec9a35f9bd45c4682d" + } + }, + { + "type": "Regular", + "proTxHash": "c1d8124606ba752d78731dc950f20db6fe96d1e511d462ffa51fd540bc729f42", + "collateralHash": "27b73d685fdc760537ab4beaa8c1d0b9eb62cf1bde871cfade590ed3907b1551", + "collateralIndex": 0, + "collateralAddress": "XkfQxHZxPt9hXdENHwJGp9Ek4djJQZEPG8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.180.136:9999", + "registeredHeight": 1881555, + "lastPaidHeight": 2126431, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnJ9RrgotFbowmLjanj8AEyQdYJsBpjeJ7", + "votingAddress": "XidpaUfPt7F1nNpH1LD8Wh4z2e43kULkJF", + "payoutAddress": "Xsg5md5HfzKaJpWC6kmoWtocMZ7bPKz9LR", + "pubKeyOperator": "855c5dd5e0c34310147017aac3f217b05c4f7c5baae6c20f2962d526278f587cf9dcaee729b80a42c8a323fa2d54b983" + } + }, + { + "type": "Regular", + "proTxHash": "5ba85ecf09bdd9c8028a08d49312232a8a6554b08d8f6f5a0c8ff479695c4203", + "collateralHash": "9a86ee585632671a73f9eaaa338e11df0440cf010bc4e73b9b9a3ac8598e75f2", + "collateralIndex": 1, + "collateralAddress": "XfLcYyp6bTKwg6PSVZNwZiTLJdMUEPUMpK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.240.114:9999", + "registeredHeight": 1881776, + "lastPaidHeight": 2128416, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2010891, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqrEqgidpba9M53yPiMgyAgJJ2ahFdWMro", + "votingAddress": "Xbrehe1YH5RXQSUntwTNiUfVHPoHcKJ4KT", + "payoutAddress": "XnfMa4SoLRqesGqRczFJLczzwuyWPcNKEG", + "pubKeyOperator": "8419b6bd508a383f10624d2227eb9c7517952bcbc4d52cae768766dd6fe0a8036facda48e899c4d08cf472136ccd652b" + } + }, + { + "type": "Regular", + "proTxHash": "3f02bc39838df0568de3c2645362062f88b69f52f4f5ad984c87108a0d216346", + "collateralHash": "1e52a290a826c66046e66ac8e480230d114ae9574777d3620996ee89b6a682f9", + "collateralIndex": 1, + "collateralAddress": "XfL3MgUFf2pH9xrJyT6PzJSnc3Ld5Qssbm", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.132:9999", + "registeredHeight": 1881927, + "lastPaidHeight": 2128404, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1883543, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsWw6QMKsc9HjVvdVfaxJ3gDASs6cCD9M1", + "votingAddress": "Xj1QxNxJdpcpB56iHGcbPSj8xGZUAmPig2", + "payoutAddress": "XsguouUKkdTMgAzioN7qudq8PaTHP54j9L", + "pubKeyOperator": "953b682bb62ea409d431d68a82530f5cf1c02e616044137d39cfbc21cf357e43077ccc431c89de19b7a3b280a2653c74" + } + }, + { + "type": "Regular", + "proTxHash": "54019f39ca8c364bf6c10d593360c28be1f6c83a9f596ed9c75b11a9f459f199", + "collateralHash": "af6f2c956452ebfb4a56a0d85e774023a3450577444b7691245dc4fb03197b83", + "collateralIndex": 0, + "collateralAddress": "XkFJgVUVLWcBLPZVaPJQdSqSY3dYDvag5s", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.251.223:9999", + "registeredHeight": 1882023, + "lastPaidHeight": 2126808, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtBKXybNeUpMUwahmDrNsUiYwEqWcnxdQ7", + "votingAddress": "XrWEuwiescYYRNyHR6n8WmLk8u89suUQou", + "payoutAddress": "XpdeDmK6cLqZtFFxNAK7E4QHiJ38uPjjQt", + "pubKeyOperator": "83e807a23c667797a5e6ee500dc7f38734b4b5c128c400c2649a36ae2c414a38b2882f71d230ce1a31bbfdaa2dd8a8fe" + } + }, + { + "type": "Regular", + "proTxHash": "d1aacb9efce3717e72f452a36ed6dc31a8e03c143fb811060d1329faa016f7f2", + "collateralHash": "9ca012daf8236175b3cdc5226f124c29df9b3495fc0365c61c071ed183384ed4", + "collateralIndex": 0, + "collateralAddress": "XkWYZZz7WDhBCmXNLiBpR7mtzLWJ9H95oN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.162.110:9999", + "registeredHeight": 1882026, + "lastPaidHeight": 2126817, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuT8fZYecwHHDkkauu5JyY6i46EpFsQajy", + "votingAddress": "XkQtHpPGgY14sZ1EDPGV3qHG4eL1sEfUBz", + "payoutAddress": "XgaB3z14pN7rq3LTmuwvbmcV35bftbX5Ca", + "pubKeyOperator": "0d661ee8fabb6f12b1e694a8d8972cf1b89d33b86ceadf482048d2b996d349838033b3706fad6cc1540fc725dc59a3bf" + } + }, + { + "type": "Regular", + "proTxHash": "080768ef7f9025cd14370f106df0686d0d0009c30b3905743fc11751acf66af0", + "collateralHash": "88cab7c93e59edcd4da60cd071036397ca26b884df6f7574f04cee2dae2eb7ac", + "collateralIndex": 0, + "collateralAddress": "XgxaDeazw8RkLRXGhsUTm7t8neip5ty6UT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.126.43:9999", + "registeredHeight": 1882632, + "lastPaidHeight": 2127442, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwbNrEYEpLhXjL56Ca6KyErLe6aZX5TDJG", + "votingAddress": "XtsfLe1qhQ3hLpawBjFxTtb9S7iP8EALk5", + "payoutAddress": "XgE1DXaqZho7bgNYqMbRmxfug6Eh75Egpn", + "pubKeyOperator": "9538251642d5ef04af30a51447f6658d868c2d37ea93100342bbd2c1f5c13edd24230b70d3d0ff00f2a59ccd2e5e6252" + } + }, + { + "type": "Regular", + "proTxHash": "e8ad81ef097c83cad432a22b1723580594968eeea18fd046898ede24c2fa5892", + "collateralHash": "506e6f6ca04b9c168644ca2d0245d9c7f8b097abd21a09adfd96b4cb890c41b8", + "collateralIndex": 1, + "collateralAddress": "XqZf34ZRMQV1pr2J1PLQT5S4BhUXMzWF3o", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.184.66:9999", + "registeredHeight": 1882632, + "lastPaidHeight": 2127441, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrZDH2rkPgv6JsTCXg1aXBaCdyFafjG9bs", + "votingAddress": "XpJLZ3aS9mNo1wyASnAcecXd1CgpseCMsu", + "payoutAddress": "XgE1DXaqZho7bgNYqMbRmxfug6Eh75Egpn", + "pubKeyOperator": "8b5c51e1868c29aeacd58e4d2045c30926c0efc5bb3630b926132cfb5b81ad5aeac99f29503562a6921e17a0641ddcf2" + } + }, + { + "type": "Regular", + "proTxHash": "55a5256f96d512bfd6a9ca7eda15d48924b4d7981022e37acbf0fd3e61112e6a", + "collateralHash": "df7a1d738f0d3dedd0db7d7d1ba4eca4c8e018cfc9b9a3c4945e9f656b3b9868", + "collateralIndex": 1, + "collateralAddress": "XmE4F69mZckP5GkqrrAeZeGiuozTMs76U1", + "operatorReward": 0, + "state": { + "version": 1, + "service": "135.181.52.156:9999", + "registeredHeight": 1882971, + "lastPaidHeight": 2127848, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgiWhs5BuDJYXVsuh25TPiy33QveBa7Ek1", + "votingAddress": "XewGz7kigoUpm4yEPde7r6jv5jdMmvHXB4", + "payoutAddress": "XgE1DXaqZho7bgNYqMbRmxfug6Eh75Egpn", + "pubKeyOperator": "80e54f456200507f91eb769bd6fe4d44d45c2c02a484b1ec7719f3b35670df0e4e044ed1ff8ffef9381ef8ec9bda048c" + } + }, + { + "type": "Regular", + "proTxHash": "040d36784771c05aaa6306ccfdc19e92d6ae3640a443c0e8ffe60f8c8e99bae3", + "collateralHash": "3ef8451f95b8f9aa1f6274e00bc68368c745821f753dd735c66d75f8e6f024ed", + "collateralIndex": 1, + "collateralAddress": "XvZgi1z93RG5W2QzKuJYeQAJthNEHxH59h", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.56.109.36:9999", + "registeredHeight": 1884021, + "lastPaidHeight": 2097000, + "consecutivePayments": 0, + "PoSePenalty": 3826, + "PoSeRevivedHeight": 2049583, + "PoSeBanHeight": 2098986, + "revocationReason": 0, + "ownerAddress": "Xq5zb4Am1hsjwgkkV5fER7v4VJasLxkJv4", + "votingAddress": "XcBRRxe5pwHVf1s8LDxgGG2rJpKDDCS6sk", + "payoutAddress": "XvZgi1z93RG5W2QzKuJYeQAJthNEHxH59h", + "pubKeyOperator": "95956820fb8e6ef882c21592cb6995be510a34de726a991f11670be997420302dae84af69e878bee0f40c60596135f40" + } + }, + { + "type": "Regular", + "proTxHash": "74fcea82a8f3a1a34f81d07492e4857d8d82c8eaf0cc41d86659bf0a299f8b88", + "collateralHash": "2d89a90120b9d1303e35e2955a87b5282ee0562dc5d2ba0c1ee3c1a38e70ae32", + "collateralIndex": 1, + "collateralAddress": "Xn4gZgjGCM8EfjM65Zusv9fyfYZixVLJvZ", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.142.212.144:9999", + "registeredHeight": 1885925, + "lastPaidHeight": 2127650, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxabbxZpvd2rMc6RunCchjtLxjVAH5GdoE", + "votingAddress": "XwFjgPSVoCCdrFctGfgDxRovAtV8z52Xwd", + "payoutAddress": "Xn4gZgjGCM8EfjM65Zusv9fyfYZixVLJvZ", + "pubKeyOperator": "93b95a1a6ad8aaaeba9aa8ea3a3e8f0448f271228ea931184480e21e74fd30bc23fb24c87ab35629509a5af7b625e5e9" + } + }, + { + "type": "Regular", + "proTxHash": "4b77e5deb602f51d76b4ddac346022a46604a5b496534d389b79e3cc5403d95d", + "collateralHash": "08287853add0a45120fa72085f76fbe36610fcfcb5e9ca55066ad0b1b23e5bee", + "collateralIndex": 1, + "collateralAddress": "XuWzWZPhjs5E9H4zS8iEWu5RK7xizSJXtR", + "operatorReward": 0, + "state": { + "version": 1, + "service": "3.99.171.245:9999", + "registeredHeight": 1886057, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4397, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1886730, + "revocationReason": 0, + "ownerAddress": "XhD9Efm3hLuutAMSS3D6PqHBLoTASUz7Co", + "votingAddress": "XerYjAiA1JN9hpqT8zWxjqxiXG4mFvH1Pn", + "payoutAddress": "XuWzWZPhjs5E9H4zS8iEWu5RK7xizSJXtR", + "pubKeyOperator": "82494d37c8582886a2a11292e0b8356705f96b9ef8cd12f3de766fa91384ccb4a469cb3ed079de3285762b55d5a28bb5" + } + }, + { + "type": "Regular", + "proTxHash": "77015d77377536300a022da207a4b068bd351e511ddccab20835220d0f5d17d4", + "collateralHash": "6d130587820538d30c1e292fffc8de415979251714a207a0da2e0258cafa96ae", + "collateralIndex": 0, + "collateralAddress": "XmXRiRvYHiF16NW36pDKY7pN5Wd4EY2zrK", + "operatorReward": 0, + "state": { + "version": 1, + "service": "141.164.46.215:9999", + "registeredHeight": 1886328, + "lastPaidHeight": 2128447, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119180, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XubHEtPEeBSgMKYWqiX1KhGr2GJKKRFjuP", + "votingAddress": "XoMcH9BYqVAqipPWdKGgxmMp2F29pYaN2d", + "payoutAddress": "Xbtm1kHqvgvYgxNEMcNjCPQvzsUxLWHm6x", + "pubKeyOperator": "18618a892f23ce2bb9a3f4b13eb15e5474a3926d7e0cba18ee511a0719da0ebd30fdc7452961cf3929a870fec672fc48" + } + }, + { + "type": "Regular", + "proTxHash": "6eab52a79affc0ee0ae2de8dc9d0d86d6ebbf30dde53f66a30904f2db5926762", + "collateralHash": "16771c2e44a72e440359a318d7b0a884fa446c6bebf52da7d29c4aa02511d49c", + "collateralIndex": 1, + "collateralAddress": "XwdxZfZf8eFv4VPG1YvARRbFpWEjT716ZS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "167.172.70.3:9999", + "registeredHeight": 1886604, + "lastPaidHeight": 2127930, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcZcck15G3yZnLwH1AYdUZw3fJDK8rVpXe", + "votingAddress": "XoVMN3tgo7jbVcMmqdaSTtbzFsEScRCHfq", + "payoutAddress": "XfWHvQWYFdtdJrmB17SHRQUt5Kqjdey4kx", + "pubKeyOperator": "980ad49a7ada5693aa6ae1e67ece0b57b29308dcaf43ad1801456bbc1a2da920a38ac0b23b60b897d0b1a024849075f8" + } + }, + { + "type": "Regular", + "proTxHash": "1d9442dc0a7d1ddc9e21c66ab25f6609bf435bc7e8ac84f41000e82cefc40bce", + "collateralHash": "258073cc48815174d13de89578797d7b99e30a619ffac9ba17c83b875b5fcc08", + "collateralIndex": 1, + "collateralAddress": "XeWD7wkHn2WEB829mtoLdfPFkW9TwJ8XEb", + "operatorReward": 0, + "state": { + "version": 1, + "service": "149.56.111.89:9999", + "registeredHeight": 1886932, + "lastPaidHeight": 2096999, + "consecutivePayments": 0, + "PoSePenalty": 3823, + "PoSeRevivedHeight": 2049583, + "PoSeBanHeight": 2098390, + "revocationReason": 0, + "ownerAddress": "XonhjE9kFFFwsNJrxXSCJnSMTYHPGZQDhs", + "votingAddress": "XxFdb5vxuJyB88JtZSbXQKab87RYz7hKnr", + "payoutAddress": "XeWD7wkHn2WEB829mtoLdfPFkW9TwJ8XEb", + "pubKeyOperator": "0e307dc311808cd7010df00de106b566209f937e3fa95b47a87cd7174a53f581539f8fe8371c99973b5267d9a9eef827" + } + }, + { + "type": "Regular", + "proTxHash": "b484b1c512124b1a38e35fe2a28b0dfa7031ad8e56fbba46c3282009d2e21f10", + "collateralHash": "874b778d4ea49a8bd9f5ce0363e03146203fa71bf3fe54c82efcf515406cdec9", + "collateralIndex": 1, + "collateralAddress": "XdH7MdZEdbFS9a8XfzafWn6pfoVkjgrYs7", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.179.213.67:9999", + "registeredHeight": 1886968, + "lastPaidHeight": 2125761, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2045245, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv99ybjAGZUbTkQ14iyjLZfjA7VhHACMVd", + "votingAddress": "XppPDJRcHfd7Pf9XxfJuKHckEoJUF3U55m", + "payoutAddress": "XdH7MdZEdbFS9a8XfzafWn6pfoVkjgrYs7", + "pubKeyOperator": "92ac6a46cffa0a2e14b8c05b3c0b7f1d2ef86ceac330aae9d2e24e8d9c224d301a6b0669dedfc67dd82f4d0c9b22fb9e" + } + }, + { + "type": "Regular", + "proTxHash": "89c22358f68e42fb8bc7f56cb8dd842b0921bb5b392a9d5698983bdca8644f1e", + "collateralHash": "53ca403100fb35eaa0ca26d785c08a1c122d5dbfd30be1d6b9fb636926cf6681", + "collateralIndex": 1, + "collateralAddress": "XmFhuq59bzhyWpK8FUZB2G7enckGXaCLkq", + "operatorReward": 0, + "state": { + "version": 1, + "service": "144.202.120.171:9999", + "registeredHeight": 1887252, + "lastPaidHeight": 2128526, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbLCbSog8okKZBbrDJefSmH7oVSEjYuTc3", + "votingAddress": "XipGkBN2jE4hziRrgpjMEXDRLZ4YLSikVo", + "payoutAddress": "XwWYdemBBXxXGCq6c2SAXi1Q65ocGiALZy", + "pubKeyOperator": "9921fac5d7ce43af610416e41a2fede183981e4990226855a9e9b1662e8ac00af8eec84b4ba1da6213ddcc70d48147a8" + } + }, + { + "type": "Regular", + "proTxHash": "83c629853f94c2e1c00221d88fde9f53dc86aefd9264cebc89e5062ccc5c3859", + "collateralHash": "62ccd943df2b7b59f06a020ddc8d1eb31767fb575b58d025610cf5211ffb0956", + "collateralIndex": 1, + "collateralAddress": "XejDGw8k26DbFUZgGRndsLbkHdZTK8LRtL", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.21.246:9999", + "registeredHeight": 1888080, + "lastPaidHeight": 2126159, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp8mVLYwVdmWHAZy3UVbyuh4Crod6uV7op", + "votingAddress": "XtxGKi4VTUs6vBhMyRUgW1XzDbzhr1eNBt", + "payoutAddress": "XmYxZsWN7Ps56VqsNkBLtBfvkNUPdfFm31", + "pubKeyOperator": "868ea7100d68899422738e5d7466792e8c176d8148f92053710cb52da4130db48cc23665f482dc9d2ab00aa63822575a" + } + }, + { + "type": "Regular", + "proTxHash": "bce2680a80746b7df509a720b64dbd4f6ac8ca0da53b340a3c7b953622f975cb", + "collateralHash": "14642695c488155bd0a2d3c40aa44c5260881661a4658b95a7e167465aba196e", + "collateralIndex": 1, + "collateralAddress": "XyZir4duGe3B46uaVFsQtsjzBrnetG4V2r", + "operatorReward": 0, + "state": { + "version": 1, + "service": "136.243.29.197:9999", + "registeredHeight": 1888429, + "lastPaidHeight": 2126362, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xenyo7qEd1Nk2BjSvKMFKZCKp4gK7eWqoJ", + "votingAddress": "XbCTpuBvRSpjsC9c1ba6s4iYLBAcLSMM4q", + "payoutAddress": "XyqrGzyoXztC5Z5FPoHaJYA4aYscq4JnGP", + "pubKeyOperator": "04796bd9e8cd143773bcf0dc201b1f540da3de69491014a901d3d2a1aa37d1b871030930cfb21d79c7a4b53022b6d960" + } + }, + { + "type": "Regular", + "proTxHash": "ac51259af5d8fcd5cb6bf46068fdbe127e1894d3d8d23407fad9191fea3c52af", + "collateralHash": "b429b57ffd01010765f621d925ac99d6b1ca8a9cda350fcf2c5ce5ece77e8488", + "collateralIndex": 1, + "collateralAddress": "Xiisbhx9Edhxumw2hhgo5tNrwQi7TALMur", + "operatorReward": 0, + "state": { + "version": 1, + "service": "23.88.22.67:9999", + "registeredHeight": 1888878, + "lastPaidHeight": 2126696, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt76GCPLyEGSyVkzzD4MP68sXzVgkiXnV3", + "votingAddress": "XkEoM3D9dtcfdCDWbd4xQKw27K3GXCe4CZ", + "payoutAddress": "Xiisbhx9Edhxumw2hhgo5tNrwQi7TALMur", + "pubKeyOperator": "08e9f771d5cfebcb32b2a2bb7704f91830f029ae4a0646c340c7fb884f62935f914934de456bb52a1a72ebcd304941e1" + } + }, + { + "type": "Regular", + "proTxHash": "043433308206c30216640ad5493e93fa92b33e9c8eb005456618352ce3bfe559", + "collateralHash": "edccab3ef51819cc5304a971848270be9328008ae744c4d1617b4ae0c830a51f", + "collateralIndex": 0, + "collateralAddress": "XofX3g3LJEERpBYn8qUebP6EhPm6GG9fhD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "142.93.38.4:9999", + "registeredHeight": 1889116, + "lastPaidHeight": 2127525, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124357, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcQszyB41w31SffMUkKL41NMDnMAKmqaJa", + "votingAddress": "XcQszyB41w31SffMUkKL41NMDnMAKmqaJa", + "payoutAddress": "XfUXdmrY87e728By3AqnQN7ysK3tkHRJoH", + "pubKeyOperator": "9083cca0cb273cc63527650e0608217ba2b5a52357051b27bf3907463765c42de5ec82b3d56e36a2f4b26d4c9b89e58e" + } + }, + { + "type": "Regular", + "proTxHash": "bebc1c815312527656cde25b6d919faae73fec45425c72a2637e3a3d095a17d0", + "collateralHash": "e82d1af4df673627d597086139dbe7815a4e17ea3812c5a71157e94ee1cb9c57", + "collateralIndex": 1, + "collateralAddress": "XrT2L6ibQbbPdLmyK9MjMs21Mae9eiKvso", + "operatorReward": 0, + "state": { + "version": 1, + "service": "46.4.217.234:9999", + "registeredHeight": 1889650, + "lastPaidHeight": 2127464, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwMm8jAUco3DsaAwQTb7MyEbJwcZCSgtND", + "votingAddress": "XbTW3B433YyXoBuTXz5dea4NQLhprFsPb9", + "payoutAddress": "XsEwzTQtZ6uvFW7MhfHiNB7NGG78ucUxCR", + "pubKeyOperator": "85416630bdd2841024be8794c5b2f07062d7c64a42439b5e72106ea1c44dc369397ec1858b836d05bfdb0703e211491a" + } + }, + { + "type": "Regular", + "proTxHash": "d3b356cf825601b9be5f004914e8b06c321e9dcff1194c6b0b4230e19ab4ccfc", + "collateralHash": "e4e2fe5dc3c54c34645fe31a581416a5da11e14c76995be9e0b1ef0f1ed2093a", + "collateralIndex": 0, + "collateralAddress": "Xmqx3Bp7qt86BXs8VCKqmoQijWnyzs5Lwe", + "operatorReward": 0, + "state": { + "version": 1, + "service": "35.174.217.98:9999", + "registeredHeight": 1890398, + "lastPaidHeight": 2128138, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124956, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjzTbkXZLzhbhRvF2UMPw5nKdhasxMnYJG", + "votingAddress": "XgrVSjTM1NaLEEKmJewsdE4naQEBAbjNCd", + "payoutAddress": "XnG7aUUun322qhpjCHs5W3GtkQfqruCEL1", + "pubKeyOperator": "19d9055944f06f6e3c12c9a7833bc2b22d6bdfb153f11c0554ec82e1c35cd1b5045d05b5819062e871d863038b502bfc" + } + }, + { + "type": "Regular", + "proTxHash": "9aa6c92a400314a33d26da3945ed54bf5ca4a7527c1eb79ed65a23fa3432632d", + "collateralHash": "b3b4905a4152946dea47325a01a259e5f321ca7ebf7e21a9862574d5d73d9f01", + "collateralIndex": 1, + "collateralAddress": "Xe8gvQHzw1EY62h3dpbrHb32FvprzmzABy", + "operatorReward": 0, + "state": { + "version": 1, + "service": "209.38.217.234:9999", + "registeredHeight": 1890518, + "lastPaidHeight": 2128343, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkQYLS6fomivgxEGbVj9S6jDKpjXiex7Kg", + "votingAddress": "XpKHafrFiWAqSChf5u3RN7myRfvqxgyF37", + "payoutAddress": "XxMzqkgWqCxMfsVU9gKwaCpXgRAstSStW2", + "pubKeyOperator": "8693fce2cceeb4c3e7e9c5c6e390d6dad63f4a644b5be522423dc5d800a9b1e75d84eae2f0a6e2899f82cc36d8be2e70" + } + }, + { + "type": "Regular", + "proTxHash": "a3328a794a062715547247f46b1a039251d5b13d0bece30cb04c99f2c9153a1b", + "collateralHash": "705651311ad5f9c7c1abcf8b23232adf621e1865d2592923d5f44675c8ef3255", + "collateralIndex": 1, + "collateralAddress": "XczswZV32kZGLufpnaf2eHnV44FL8RTFU8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "185.92.221.216:9999", + "registeredHeight": 1893541, + "lastPaidHeight": 1983593, + "consecutivePayments": 0, + "PoSePenalty": 3992, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1986090, + "revocationReason": 0, + "ownerAddress": "Xz1anqLC7jzpETzD3dL35hPfcxLub3tBYJ", + "votingAddress": "XjYswPWwyvbcwXDYw2LEnFor53UsTAMwsc", + "payoutAddress": "XasbmRGPT8jaXnxc98hh4geQiPGyXa9sWB", + "pubKeyOperator": "860a7040ea9119e45bc2d9072c47085d39d2fa406044de528ecc21704a4be6b9b4550317bb16617705749efa1922d836" + } + }, + { + "type": "Regular", + "proTxHash": "588ce8c03270caf7a7088bc95a191b3be39e0bd7af547ba1346c5b48557673dc", + "collateralHash": "757e0ce02f20aafb4a6a802e90b4dd2388e1fdb86bb2e386be99223714e2ce2c", + "collateralIndex": 1, + "collateralAddress": "Xks26gTX8YQ7vbgrYiujnUyRRvwjKwLQJp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "168.119.87.206:9999", + "registeredHeight": 1893695, + "lastPaidHeight": 2127960, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjx8BERcqL42yUAvQBuJWf2PAyRLAZW94Y", + "votingAddress": "Xmfj8F3WtMPecnBSjuZAiVYBvqKyRj7SBT", + "payoutAddress": "XdnmwQ4fUc8aaahNhe243DaconJUnacA6R", + "pubKeyOperator": "15d7b32643608e7457dcfd2274371b50b0b9cb57b75af3927916cc4c2d782db4de806bbceaaf7718ac22bb849a282c2e" + } + }, + { + "type": "Regular", + "proTxHash": "e4de55cb1b508f43c008fa7adfffcebc5aad277acd9e27d57e2cb989f9239f0d", + "collateralHash": "dec876ade0f71832db9d46f2906748366452f72040ba3a12d9826be62d8bba6d", + "collateralIndex": 2, + "collateralAddress": "XmATngLcyjPiZ1NjWf3aFMnAXTbcv47LtY", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.63.84.229:9999", + "registeredHeight": 1893939, + "lastPaidHeight": 2128172, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv77mQxpTyMVkFrbVK4WAqBxagAiBL3tvM", + "votingAddress": "XmXmQiQQPc9FFRNSWDE1W1Zp8ZfZzSxwoj", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "0462649f5166bf068582636f78eb922aa9397f0017b3325ae82383c843442cc5c16255c3b8f78dc4637d5ff37f6f92d9" + } + }, + { + "type": "Regular", + "proTxHash": "9cca656eeaf9e858333c6648f55fa3f70447c73a4c928f350f6e0a6dcdb4bfbb", + "collateralHash": "ca2cac19588df3eb92e9f30feaa8c3434354056f36f77ec2a5b19b0a4c7a7457", + "collateralIndex": 1, + "collateralAddress": "XdBfEEKfEaQmTJFJPYzxXcgBf7NewCpfTf", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.216.109.133:9999", + "registeredHeight": 1894380, + "lastPaidHeight": 2128590, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhDKhBoSzQjNHMMUgbXUVpP5dxTy6tKWbz", + "votingAddress": "XdL4a6uFUW6kre91EF8hXHq6CS3BVAuk3L", + "payoutAddress": "XrPs8o7i8rGaTnxh9Mr3EGwasUToFYCkjw", + "pubKeyOperator": "8811b735472d53bc54024c7d7e219375229d52eeac6868edcbaba7a2c885fee5eab0df75d45cac6543b491d47ae5a9ad" + } + }, + { + "type": "Regular", + "proTxHash": "87e886c82eef44464e60683bb1b611cb2952fb190988c942b41bf38b3e282edf", + "collateralHash": "d66a5ede8bfe65ce79720c3283fc1e9e8792895dbf8bc4495528bc447d513432", + "collateralIndex": 0, + "collateralAddress": "Xo7xA48LBDEGQf16zuS3CXD8QdL1Ye4Te8", + "operatorReward": 0, + "state": { + "version": 1, + "service": "188.40.178.71:9999", + "registeredHeight": 1895510, + "lastPaidHeight": 2126360, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnjVyGZQV8nGEF7hvDWUQ3BQwcPipEnnq5", + "votingAddress": "XpFyPViuDMkCQsBc4KVUGSdsN13W8pkKpU", + "payoutAddress": "Xo7xA48LBDEGQf16zuS3CXD8QdL1Ye4Te8", + "pubKeyOperator": "8619806d46b38e987c3604602d1058916c61b0feff3a79bf49e6f7887a910a6737f36dbaf479c8a3868d3f1dec1818de" + } + }, + { + "type": "Regular", + "proTxHash": "546c1c4eecef7321bfa0d52f583c682084e68274104827c5cc44a9635f40afd7", + "collateralHash": "c73fc6a2fae3e8efc0a22b995f055aa7412134928f22549c414c26fa0a1e8ce5", + "collateralIndex": 0, + "collateralAddress": "XerVrW7BNA4C7mYfk9eytiRfNVnFXKZziS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "95.217.71.199:9999", + "registeredHeight": 1895511, + "lastPaidHeight": 2126361, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyiDiDGbSGxUt5mBbpmbpLecTH5AuPg88s", + "votingAddress": "Xs5AqVnL4yTS6mnvSnZhgHL2iZnydj6ECE", + "payoutAddress": "XerVrW7BNA4C7mYfk9eytiRfNVnFXKZziS", + "pubKeyOperator": "8ea1e67a543d70938e6c439b8926ae3af4e53e30b09cfe7a044289a8ae070b3ff509fd2b7a72a714e4c8fbfb57492162" + } + }, + { + "type": "Regular", + "proTxHash": "f0104c2b12a959cefe467d9c86c0b46ab066ff8c95e3491b4e25a6c8e81d345a", + "collateralHash": "0a680ef2a5ace9d89b83cda9db6f2cb2c4e8e21d2ce682c55ef375906be41e9c", + "collateralIndex": 1, + "collateralAddress": "XwWNHP6fyUHDerMC6FEiwe4mtuAbMSYXz3", + "operatorReward": 0, + "state": { + "version": 1, + "service": "159.65.132.203:9999", + "registeredHeight": 1897848, + "lastPaidHeight": 2127752, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976302, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvQ2cqHmnxHPvUuGcRjtcoQCN9g1M4mYKf", + "votingAddress": "Xq5BaupiQzVAHHRoHjDNJHGJ8esc5jvVuZ", + "payoutAddress": "Xo3TPyrnMWMQYtrT3rv8ivrJU8oSyjnvib", + "pubKeyOperator": "8b192fdfd5ad09c01e98dae6e85cb4aa562765c0b30e058a140513c3a0e3ae34604c56fc3e27593f64b8a7cedc5cb1f8" + } + }, + { + "type": "Regular", + "proTxHash": "a13179cf741a1b08a5b154f1da09cba62b5d7c658f7de49f448492f000a9c941", + "collateralHash": "ec4324792777744b73e3b7e831b57e0714e22cb298d1e3739aa7b359a7e66381", + "collateralIndex": 1, + "collateralAddress": "XyxmbJaF3Qt3jqKYdU82JXokk72uXpMTGU", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.93:9999", + "registeredHeight": 1898288, + "lastPaidHeight": 2128799, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031600, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkcggK3vyMibuSeHQF56BwLziS8Fu3ytzh", + "votingAddress": "Xce7rgNGehc4knpgoDRumWBCUVWmgJcuQm", + "payoutAddress": "XguyGgVEBBvWeVRuWvuxqH7BypQ8ibrV3P", + "pubKeyOperator": "8271aeb8e231356fab3315fd7c8b56ae9e648d34c07658999f2b0f4d30c2c56e59fcb1a609ebb97b7a876d60debc4d0e" + } + }, + { + "type": "Regular", + "proTxHash": "2c251d609e2b32a23720d18527b351fe2d72c716a97d2934aac142a618f3dc30", + "collateralHash": "afc20c103b40620eb342251c93acdb6d0e0ea0d3828f8a309275da5e6f8dd5d5", + "collateralIndex": 1, + "collateralAddress": "XntXNQEsWAvzDYcevvre2suHqZGQXo7xjo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "85.209.241.230:9999", + "registeredHeight": 1898290, + "lastPaidHeight": 2125747, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpSmdvA1NQM5otdP4PbtiB2jS1eHs5Jw3Y", + "votingAddress": "XkQndjHGPmSBkkEkgd8auWQRbBGMzydWrJ", + "payoutAddress": "XbAkV47rPcMNm6kehWmTWUHwFK3ZqmJ6XH", + "pubKeyOperator": "0bf4e0f7bd77af2fa2e6d655e84726cf85169e21d67ca3292a8b8acb4654027e2ff4fe9fb34565b6b19f2c05d32336f7" + } + }, + { + "type": "Regular", + "proTxHash": "5e9d21e02262ed19c397937993c204a5af1bd705b0f4a1eca7a2828e89170b3e", + "collateralHash": "03481dd7554bd24f5035d63ebe1b3189e4010e3ceefe963387f73d0a884111e3", + "collateralIndex": 1, + "collateralAddress": "XiJzrXJabo3fxS54rsdacQMKAEGmwn7v16", + "operatorReward": 0, + "state": { + "version": 1, + "service": "128.199.42.44:9999", + "registeredHeight": 1898911, + "lastPaidHeight": 2126450, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1934398, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XucqD23Ju6Qug4b41S2PZps8rtvjJNh5J8", + "votingAddress": "XstyEadyiDRiwZSBj1HWDnvLaGv8zdwsmh", + "payoutAddress": "XxGWRYLhPHZLDFfNBw4HFo13QXSFdcoopq", + "pubKeyOperator": "88b2dde809267956d187237a5e41794918fdadf03f1f9b50184c1d1cc771404564dbdbbaef7573ea5559657fb769b1b2" + } + }, + { + "type": "Evo", + "proTxHash": "d353cdcae53071401345c38ab482935cb62442be2174a1d3210ca356c9017eff", + "collateralHash": "1bef898f3ca65a9dba18282b3efa8e0e6d8592a35a5ce1fb03f70c94de76ab08", + "collateralIndex": 1, + "collateralAddress": "XdywcjayNwJJY1koYWoqSqxqdpV9kT28rz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "114.132.172.215:9999", + "registeredHeight": 1899867, + "lastPaidHeight": 2127009, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtXnZFVYz7naGT1cdekwEQUjPAs81UmDRH", + "votingAddress": "XkaqdSmFeCySpQZd5B7HAoyVPSy9kF4pED", + "platformNodeID": "bb0f7022648eaaad15650a0c1a0114125b1b5b28", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xr4vJHK2rz6CAuTimve8UW6XGfPuFVmPcn", + "pubKeyOperator": "87ea31e0e46c5c74d3978bd4243229b9d003f56294459115e2abc01da6da1072459ce6ffba23d5d79f1852472dcb505b" + } + }, + { + "type": "Evo", + "proTxHash": "feeeba72d96bba076b65f350c48fa03484676e5e1ae3c5b0f2bfd869a690aa87", + "collateralHash": "8fb43a0c9f584b6485ecce16294cd029c0e3fab7c997f6f97af6a20f7e2d61a9", + "collateralIndex": 1, + "collateralAddress": "XqZNRxBfQg6XzfgigR1LKTnSJYTSoits3M", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.199.44.112:9999", + "registeredHeight": 1899935, + "lastPaidHeight": 2127800, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115374, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvWjr1tzhNnNezJSZM9qWFTiPqSqAL9WMN", + "votingAddress": "XdHRwZtpgMtnYy7EYDWBVAJptJvNXoQ2bY", + "platformNodeID": "be8ca0d8e02093a413e6b8e56b8009f319622032", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XhSjdxr3n3dXUipJHjLzhbaRZxAwfsYhFF", + "pubKeyOperator": "8283e55bfda843a22bf5622febdd284209812e014666a5de4d8f7da7526ee84dd5e4eec0c85a73a5d73888bc8ba27c6c" + } + }, + { + "type": "Regular", + "proTxHash": "ad4e38fc81da72d61b14238ee6e5b91915554e24d725718800692d3a863c910b", + "collateralHash": "28d32369d6f54898cd7ded1b3c87fc695828e251971c3b663a3d0d4511a0cf3a", + "collateralIndex": 0, + "collateralAddress": "Xr9au1iEVENELgDYfAWDcQpJtf1mukm74T", + "operatorReward": 0, + "state": { + "version": 2, + "service": "143.110.156.147:9999", + "registeredHeight": 1900038, + "lastPaidHeight": 2127207, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyQ5nt3suVKZ4qjhseh6NBicAY87caqeAM", + "votingAddress": "XuHF5mgGNky69FabNG2dMPWxRMAHZsGykM", + "payoutAddress": "Xr9au1iEVENELgDYfAWDcQpJtf1mukm74T", + "pubKeyOperator": "8aaa797063ae0cfbe47da3b4fe37a2527d65ecc26938d2e59290ee2488978fa7ec165280b9515cbf0e4b8a44eaf6a872" + } + }, + { + "type": "Regular", + "proTxHash": "be707842d4081c0b69bf1e2204adbd4a8274eecd26a94cd3de2c46e51f905521", + "collateralHash": "5392922aefaef48b509ebc184a6db1a49e68c4c56a3e8645aa174c15ee4aca8b", + "collateralIndex": 1, + "collateralAddress": "XgrPRh31te7rnxUNPiRGFEAoX4fJYqJGwT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.84.108:9999", + "registeredHeight": 1900283, + "lastPaidHeight": 2128031, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2081263, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdPELWmFjVKMDZXCipxnxMRpqErCUCj4Y2", + "votingAddress": "XdZEv8JCBDySGKuDhJLzRmZhHB7oPpg7oJ", + "payoutAddress": "XngqYdifAkTWn7zbY8ymmEa37HTryWKfvL", + "pubKeyOperator": "ae37001fd8396797c363a2c637baef49a80f2e22502491f81823fd7cfcb57ef15e50d27d55973e99166b03c81b6af1f7" + } + }, + { + "type": "Regular", + "proTxHash": "0505613f4db057b922a096c6b78f3fb001f5bb119646972e8d6850da569cfe2f", + "collateralHash": "d74442e1ae9662f2a8e9d78c4bd9a32e2c3378f769223c1cb6403245e4455701", + "collateralIndex": 1, + "collateralAddress": "XtY4oBjwxnuomwvnTTjgtUvg1dhCsq42FY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.156.167:9999", + "registeredHeight": 1900283, + "lastPaidHeight": 2126267, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2086329, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmwK3iZyncc1QUXwZfFT4gnG634MyKhV5F", + "votingAddress": "XhHVMMyYhB6AFwYSfgJ6dwvkEs564kveZz", + "payoutAddress": "XfSynchqdkZcy4xqL3V4fBUGfRf43t3opC", + "pubKeyOperator": "aedb5fa6621d56c5295e31e88ff1199c7d343d178b9783478ff980cc355bd36f114cb8ff93ed0349a3f5f8ad9e6796bc" + } + }, + { + "type": "Evo", + "proTxHash": "3e596421618da23ec6700771c2f4cf819fd9ddec753f7889c96f7d1ecb6f9c40", + "collateralHash": "ec38c44bff7518a7247a200c6555722fbb49cb7654e9c2a36ec410a2af6c5651", + "collateralIndex": 1, + "collateralAddress": "XrszAMsVKi6SF556sY3UXNBFtwA3vUXNGQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.241.190:9999", + "registeredHeight": 1900349, + "lastPaidHeight": 2127731, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115310, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhb9pn7SkGBFcLRcWTniCHGBpwfV6RD6Bn", + "votingAddress": "XgXvrB96ppgkJnDw6uVf4ugXJnJBUdMyg3", + "platformNodeID": "ee9ab93559e6e931d7dbcf269e1ea8446e7068e5", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xwk9zKCp7DmAiZA4jZUqekrFbB4jpGPZ7p", + "pubKeyOperator": "a18ab76ac05b494c300ba486a745cf6a34598d297f24a1db01750241630e9f04423a0b9f28d6557b87ee459e0759c29d" + } + }, + { + "type": "Regular", + "proTxHash": "54fc7a71b92139fff1f431143b901d40f861005edba3bd7405a3040469a3d554", + "collateralHash": "38018605e99db7c2ed33efa5d9f8304b122488ab6c1f16d5a1b53d2c74471b73", + "collateralIndex": 1, + "collateralAddress": "XyaugEQLacTwkvBHHdbhfH3oSwzG74itdj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.93.221:9999", + "registeredHeight": 1900467, + "lastPaidHeight": 2128032, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2081263, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmYMnm9ARXEUihhXbWH8zFSBqjbV9t2keJ", + "votingAddress": "XoLmdeKpK5N8S6FjSPATWbhtSD8SJxCwSL", + "payoutAddress": "XyaugEQLacTwkvBHHdbhfH3oSwzG74itdj", + "pubKeyOperator": "84ba1494ec55690ebe647e4dc46303a6880a4318d64dd59d4fc0b760c0c97359202ff492534670a44a8d796cf09825e3" + } + }, + { + "type": "Regular", + "proTxHash": "6b749d05a7ead7705338b01cbdbbf5c444b0bb69580b972ddca356bb76493f66", + "collateralHash": "f3c1254e5eaa1cc5557456666c6805e5d1f88b1ec33dfc0382cf50c619b8cc36", + "collateralIndex": 1, + "collateralAddress": "XqHYiAu4w9eYdcWNcY44Jh2vwbPo2vzzP2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.244.85.122:9999", + "registeredHeight": 1900467, + "lastPaidHeight": 2126281, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2086329, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvDUhpfcp8kEvKaESreGeQUYKhV3my199T", + "votingAddress": "XeT8L12dxPWK2AwKGXhyWDeEDMufyjVib5", + "payoutAddress": "XqHYiAu4w9eYdcWNcY44Jh2vwbPo2vzzP2", + "pubKeyOperator": "954ecf757c9bd81b67aa85e2ef4c27f5554d200ad443adf0d03c9d39e4491ece8e8c18c25b5fc1adc5c279ebe45047b5" + } + }, + { + "type": "Regular", + "proTxHash": "05f42dee064ef68181862138d1934536d231b2de31ac829ce4f1d62d74c0e596", + "collateralHash": "5ccf608c94e59aa0526f66da3cc4bdf6a3b88ba6f7fe9042c2d78600b5fcabd9", + "collateralIndex": 1, + "collateralAddress": "Xfnn4T5SiAYNE45ne8G51M9FKW9evBqdDo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 1900484, + "lastPaidHeight": 2108345, + "consecutivePayments": 0, + "PoSePenalty": 3849, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2109354, + "revocationReason": 1, + "ownerAddress": "XnJG9PpWBdBGPoNdaeynZk5M2rXBiqgBtn", + "votingAddress": "Xg15F8j71fwXsnDYhHS9L2Pt8NhZYVo4FB", + "payoutAddress": "XxSsG1HTFMA7mkcSDkFmLRQiSb6yBvGjrJ", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Evo", + "proTxHash": "79be053ec691833f2941b96eddf41c4092ffd1b3b48c4a72502a9ff40cab0eca", + "collateralHash": "f2f0bfde7c426bbd8a9f80414b80b4a3c5ec8b93f5d80ec3e61673f08bba5810", + "collateralIndex": 1, + "collateralAddress": "XkhQpWa4vDBHnXJrNPnF3PLPi1ixcjeYJq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "212.110.204.82:9999", + "registeredHeight": 1900521, + "lastPaidHeight": 2065003, + "consecutivePayments": 0, + "PoSePenalty": 3798, + "PoSeRevivedHeight": 2075134, + "PoSeBanHeight": 2075219, + "revocationReason": 0, + "ownerAddress": "Xb7LVBeSEV27rsKYvacsWdov8GV317vEqE", + "votingAddress": "XyMSDFtVS9JjLjnQBdPMDtVbUCqu4TNp98", + "platformNodeID": "4bfb390ab961f22221ebdd644abc654bdb54939c", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XurWtGRCECerJ1v5U97m3m6UGWa4KbAZUG", + "pubKeyOperator": "982c37443c6047bb83de3b81abd4c06ea94a9aed93798926a3f8d8cb73a1ab672ddc75055eb5fcfad134fbe93e84fba2" + } + }, + { + "type": "Regular", + "proTxHash": "d826bdf3cc6ad2aa653f6d442f55177bffe1a743cc843df1f398d9326dd96dd5", + "collateralHash": "dcd8685432cb7ac40891a2aa7a6aa0f84c8a7f86c2db4692d34e032740448312", + "collateralIndex": 1, + "collateralAddress": "XwyRysXMYbYNsabDSd7E6tW8cqawksNaNv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.86.98.251:9999", + "registeredHeight": 1900557, + "lastPaidHeight": 2121354, + "consecutivePayments": 0, + "PoSePenalty": 3815, + "PoSeRevivedHeight": 2126183, + "PoSeBanHeight": 2126613, + "revocationReason": 0, + "ownerAddress": "XgQdgKds8gJuVJN4pdSKHXDPHWy8ZBz61p", + "votingAddress": "XmFkXAGeGCKqmQgfKVYDwnZbTfnvu8za59", + "payoutAddress": "XwyRysXMYbYNsabDSd7E6tW8cqawksNaNv", + "pubKeyOperator": "a4fc1853e0d965ff9a02393a95dc63cd6bbcae1e6d83516243d0e1a925d0ffca10d3841f471f6dd1c1acd3dd77a39780" + } + }, + { + "type": "Regular", + "proTxHash": "433b9d720db2c219b772f2293a2ddd50ace2931d26779360aa189816a0d22c08", + "collateralHash": "789d3de64922b9d8c48324f9cc4e26751afcb9c466e69642eca55f3babb1c31c", + "collateralIndex": 0, + "collateralAddress": "XrgDbnV9syxUQ8q2wvxKMZEmcHY8Fso3oN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.115.135:9999", + "registeredHeight": 1900639, + "lastPaidHeight": 2127885, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrXJKGQTSTEPYCgtGz9qLPgLzGhyV7ydvQ", + "votingAddress": "XnBVK6vecdMZvujSh1eo1eKtFGdd31qiDk", + "payoutAddress": "Xasq9KiLvMenAqzS1tNqHUk3HBeTdhYeVq", + "pubKeyOperator": "84027c7a835f9a125d58f3e6cd3336d9740a37c21f098d1e463ad27bebb38e7a7ca45cb9d758fc90ed67aaff940fea7b" + } + }, + { + "type": "Regular", + "proTxHash": "44556882267a578a1b30b9939571beac9606dc74b474d35aed50bcf66c79990e", + "collateralHash": "e7f9b8e018cef2306bdfae0d8a3d989858705ef63c6aa2455016c2157029e605", + "collateralIndex": 1, + "collateralAddress": "Xx1SjFr1Ann1Stf6yXgQbaP96ik6W2QkLK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "66.42.34.43:9999", + "registeredHeight": 1900904, + "lastPaidHeight": 2128120, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbpiDGetSxGGuV7XVLcTPZ9VKTofNWrtJH", + "votingAddress": "XoM5jbv8AYcNpkvQri2aawSvG8jaWbshQ9", + "payoutAddress": "XnCaGFPSDk8tQy75mtMZz9vQL6eGPoedyi", + "pubKeyOperator": "aace0a17031c204156d87703b572a71625d6d56d2df4bfb31a74851d3d24de9a30391021a85e8283681c678048fffcc8" + } + }, + { + "type": "Evo", + "proTxHash": "ee22f5bce3b6f8734a664ba7be36b1bab218eda764136691e8b506003a7bb662", + "collateralHash": "10991567663a292e58f98a39d722ed718d8fc3a8be3642edfc2345eaa8055652", + "collateralIndex": 1, + "collateralAddress": "Xhb46W6A7jZqQ57guQunsLyyM7Vgt2xPRk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "52.33.9.172:9999", + "registeredHeight": 1901388, + "lastPaidHeight": 2127205, + "consecutivePayments": 0, + "PoSePenalty": 1730, + "PoSeRevivedHeight": 2006332, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xps9MKumnQXmgMXGeikkmH6PQBnT4WT4ur", + "votingAddress": "Xiq1bvjmeNRa3v8ApNACMtUnyL3ucDVWM8", + "platformNodeID": "8eb2614b645e686df7dab0171f81754398b33170", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xmsn78M3xhEHVmWvmVm2GQ5fFgc4i29vny", + "pubKeyOperator": "ab70f3e40ff0fed5b5eff3154155d82faa75c3fc44557c5819d0fe431b18f8711f9b954593262b0cd8421f811f19ea80" + } + }, + { + "type": "Evo", + "proTxHash": "876b7fdfc60b90fd2d549c55cf52df787b1bbd80c1932c886711609fbb3ba404", + "collateralHash": "f2744f5cf6d9204beb3b6049fdfbe0bfb2c2ecf9bf2759eaf896c709fb55ed1f", + "collateralIndex": 1, + "collateralAddress": "Xsc2BLbMSDP6qJvy3oyVBWNwUU2BPMSK9G", + "operatorReward": 0, + "state": { + "version": 2, + "service": "44.240.99.214:9999", + "registeredHeight": 1901479, + "lastPaidHeight": 2128389, + "consecutivePayments": 0, + "PoSePenalty": 2017, + "PoSeRevivedHeight": 1984081, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaijXj8mDKDdbzvA1beVDgh2jxKzrBXnEJ", + "votingAddress": "XgbHPNz6DSnSYNAt1xZTFqnMiPv6X4z9wj", + "platformNodeID": "e03427469bc980bddf2722ff8c637452091e942a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XyovTDNt8Abo3vPwwHPPmiRjdHfkv1JNaZ", + "pubKeyOperator": "b0cc62903cc03ce3b4676fb4deedc63fae87ac1963882707ffe236f2af6e99a87629cf0b8c7061067fa0a70abcb54a82" + } + }, + { + "type": "Evo", + "proTxHash": "aaa0dddee42cad41c5dbc71174ba93d1ac3aab8a46db047c2786310b3d06298b", + "collateralHash": "3db7fc59ebb7f5b57aee1a06d08709cc711b1fd0635d490d1e195a84511488ff", + "collateralIndex": 1, + "collateralAddress": "XiZvDDQXbMLskcsXwG5dJmNc7hrJLa5URT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.236.225:9999", + "registeredHeight": 1901537, + "lastPaidHeight": 2128304, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1980421, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdEE4ZMGjLKrzubU6EaKzXBdx5LaMeBYFC", + "votingAddress": "XdFT7icqVLy6mXTTkTXPGasXQmnCkD6Rjp", + "platformNodeID": "d39a5910da39049774bad4542bca59dcf53ced37", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbChW1i5LH2FAFKdqKDBSuKUNpNCHfbMtr", + "pubKeyOperator": "925b65f7e3324133766fa6e4a5a26e85faab67d5c0228b1e1119d9886e5adb3a945157b451a7efcae605c38a07e5fd52" + } + }, + { + "type": "Evo", + "proTxHash": "5c8b0881a67c1d164ed343095554c73b986d37004f941d476889f5a0c3c0e0a6", + "collateralHash": "466d1a84acb74dabda1a566d29449e87c9b3353ff6bd99a9e97c857cdbcb093a", + "collateralIndex": 1, + "collateralAddress": "Xturb3dgLHAACJ8W7zTgoDxwyxLgtiWJH2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.195.87.34:9999", + "registeredHeight": 1901537, + "lastPaidHeight": 2126342, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978341, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr5MdQN9dQDZ6hs68bT1PhGohbExWY2Zsx", + "votingAddress": "XvXBrPBBTNAokUAJYphbCEeDPKT1B1s4W2", + "platformNodeID": "f7d67ae968ac7bb19cb7146029bec18498f2941c", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xgvh7a88BxZCiZMUeSS2ktCBJkyXA2WTQo", + "pubKeyOperator": "b2d465c7e7a7de91440b656f45c74ccfaa93a7a93dd11ccd04207f6396342e49fccefba503f3bb843514239eb3e69434" + } + }, + { + "type": "Evo", + "proTxHash": "a116c0ec761f0542919fbf226b4c8d77a57ef064e09df201dfe9aacb0d9018b6", + "collateralHash": "4e99e7a8cb4e9d19d61f5ae46a372a264bebf42f644b32e0dcdeeef51c54953d", + "collateralIndex": 1, + "collateralAddress": "Xvu9JGxjq2CvQEUZTYrpE8if833b99Bbc4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.247.165:9999", + "registeredHeight": 1901564, + "lastPaidHeight": 2127363, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114991, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvRhh3LYzqrWHTrwsSfBJc1KFruF5PggRH", + "votingAddress": "XcVpv34NCqdCZXardbZnbCz9Wqt4nDcUat", + "platformNodeID": "7d2bc55516c3ff079a29f2c8dd42a13fe4b42f5e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xwk9zKCp7DmAiZA4jZUqekrFbB4jpGPZ7p", + "pubKeyOperator": "a1fd2633c2504c990c6715b22f0ccd2863d7827592de6e69ad5842135bcdd782383dc0163f21c5bbe76711b608412ee1" + } + }, + { + "type": "Regular", + "proTxHash": "244a01ac9d648b12be6c216ab748a5e609f7a609f4ca60258f34816dd472f125", + "collateralHash": "18eb93bf687e14d8b0f70a84b58ad14e53f8372ffabf2aca75efea83ff8e421d", + "collateralIndex": 1, + "collateralAddress": "XknXMR6KNjamrXgVN8hC2UT1qVSoQWsY7T", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.5.55.252:9999", + "registeredHeight": 1901691, + "lastPaidHeight": 2125740, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxZhbYAGBgZCKmjmMkAkYRFY4dD2CbNJWi", + "votingAddress": "Xwn48iiS1fprraX7rKWgfDc2cQcwckdTw8", + "payoutAddress": "XbHrXWd35Zm6Q4748RW3c1xiFPGt8dT7Dw", + "pubKeyOperator": "a9cf17ae0d7d1ac7cfbaf8fe1363bd94c4fe9e598fe40593510ab80fcb377fcb2b087ebe53880a6d3056fdab3ecc4b37" + } + }, + { + "type": "Evo", + "proTxHash": "9455cb290c9c1c53876b815485b359ccb94bf583169569e7eceda09d4af69c5c", + "collateralHash": "638c94eb67d80afbf0a2adc7d82f50d9f635e63b15be92672aff48f76396547d", + "collateralIndex": 1, + "collateralAddress": "XvbGpDoZCa3HzNrJELyc4CKdH5xuuU6D1U", + "operatorReward": 0, + "state": { + "version": 2, + "service": "91.23.167.158:9999", + "registeredHeight": 1901768, + "lastPaidHeight": 2115058, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128337, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdzdHo7n5WYjDabYGFwPrvKdGsXbqm298X", + "votingAddress": "Xe6SVbnvaMAahmvhjnRK5A2jNfpyyLb1pP", + "platformNodeID": "4841a4af5e3d82a612f48035e955c39c6c8499f4", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XurWtGRCECerJ1v5U97m3m6UGWa4KbAZUG", + "pubKeyOperator": "8ea417bd96affd29c19193ef166e0072d137158a6d2a1de6e51a90aa15b6a4518a9881741ef30474ca9e648c2c9e493d" + } + }, + { + "type": "Regular", + "proTxHash": "58265b9c9346ab99b3e57bf552d6bb57d7fac76b2f98a39d1172de1fb93ff17f", + "collateralHash": "0ec8cff11bbd5a0de0913ab6346a66eb2dc4a4da5e7b4cd7fb29552e1f906570", + "collateralIndex": 1, + "collateralAddress": "XrpJSh6uETvuCoQp1YAyXvw6ggdNqvYhsw", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.148.5.10:9999", + "registeredHeight": 1901954, + "lastPaidHeight": 2125913, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdnHKXQnjswrvMpnCuCLivRQthNCthExd2", + "votingAddress": "XnKUtWagdQiRUFbD5wH6hpYycSKLPhzg7J", + "payoutAddress": "Xwk9zKCp7DmAiZA4jZUqekrFbB4jpGPZ7p", + "pubKeyOperator": "b99595d56fc0332afa42b67d19baf9a7138cc814dc5d99a085f55c01aee0157fa1633dbf37433b093f9a907de9510ba7" + } + }, + { + "type": "Regular", + "proTxHash": "cfc8fb9b9a3ca23b53dc718bb7e365c27f097c633c16ff9c062cba8aca30e5c7", + "collateralHash": "5a4cd29c0685d678dceb6e2cc4777338572fba71209ea4e225c4c171b59acab5", + "collateralIndex": 1, + "collateralAddress": "XkLEGFEtdqRciYiFYtGWmYgrcAHBng8qGZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.156.237.196:9999", + "registeredHeight": 1901956, + "lastPaidHeight": 2127214, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2063651, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwcWGr5Sp5PdB5K4CCbFynyyZaas32wZVQ", + "votingAddress": "XcB8oHH1UuPkZQ9aAvi5oynSnhVjAJKEvC", + "payoutAddress": "Xwk9zKCp7DmAiZA4jZUqekrFbB4jpGPZ7p", + "pubKeyOperator": "9868bb818551ac190bfd846b7e06dda03aca2c60c8b53367ae26f4b26747bdbdf214d68a571ef8e88ac70a8f6916bc0c" + } + }, + { + "type": "Regular", + "proTxHash": "73f472209276a487519d5562d2ed857d7d88575d878219ee31d05acee08c3165", + "collateralHash": "4c596b1ba8c042162bb46598679f69255c0fb242051b727e2e09aa5a2f183852", + "collateralIndex": 1, + "collateralAddress": "Xtbdyyf4Zqo7jJkjUqtFuGvRd8BXJ6e6Wp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.64.32:9999", + "registeredHeight": 1902261, + "lastPaidHeight": 2126259, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhuN6b2o5qsEsLHH3rgU9mX3LaWhLjW3HV", + "votingAddress": "XevoJZX2YKdnTU1XG49Ymkn5BAXpvpLNNG", + "payoutAddress": "Xo3TPyrnMWMQYtrT3rv8ivrJU8oSyjnvib", + "pubKeyOperator": "99ecdc0c30f8ce4cfc12403f182d4eecfd0cdd7bc1c4bdde741601738bc084e7612ba82d909669df182b7bf83fcc92a3" + } + }, + { + "type": "Evo", + "proTxHash": "3ebb34aed273c071e94daa550afca608682c5694bbf43bafb3926ed7d5976061", + "collateralHash": "7d2b8bcb3d29d0be4f4480d1502c1613fa33235d04947955188e2ba23665e21d", + "collateralIndex": 1, + "collateralAddress": "XjqgPVFCc12SXMsoHmgDTkiPkAg6cqFLJu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "80.147.135.74:9999", + "registeredHeight": 1902891, + "lastPaidHeight": 2113922, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128845, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpuhYfeyVNvjXfdfVG5APoRuz7MvvPm9JX", + "votingAddress": "Xma3vgnTH3zcSskZ5EuuLG5XRYTGg4Vv8V", + "platformNodeID": "b286af9b51d117c77f740f310a58ec00c8e84730", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XurWtGRCECerJ1v5U97m3m6UGWa4KbAZUG", + "pubKeyOperator": "807e3a8a8e64fcc9e61ab14b3411fc4e502fe7f9f0ce3d2a44fe0f6ea2363f6b21e39dbdcdd820a5f3e445e139cd191a" + } + }, + { + "type": "Regular", + "proTxHash": "d3ed0776cb7498d8004cd541fb24a4d861eeee9a7a03650e1c986251341ad56f", + "collateralHash": "671b091ccd6d0ab9593a3e1594c8258682f7fde022c2fe53d0ef88a0e7b37100", + "collateralIndex": 0, + "collateralAddress": "XhQ63vGTGUb6XhomMFhVwXWDRfEAU26iwa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.29.192:9999", + "registeredHeight": 1903086, + "lastPaidHeight": 2126944, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmVFAj2oagnsbs1jQq4ErHCqUDPn7uhVCM", + "votingAddress": "XbFXCjBA8jvyeyEZeii8VtwuCNbbCJocSF", + "payoutAddress": "XhQ63vGTGUb6XhomMFhVwXWDRfEAU26iwa", + "pubKeyOperator": "af92fb8e9de43a02d9b4006facda38c462eca48a6312da40d884797c0432b968597322269d9488bc972fc726b53738ad" + } + }, + { + "type": "Regular", + "proTxHash": "3a86c362b46ceeee2cb137281fbe313f13c12673cb914505559b14fb8b54c642", + "collateralHash": "9f6789a2b61b19b5ed35be54cc4aa9fc9332a8bc4db67458b8e315bc5e275b46", + "collateralIndex": 0, + "collateralAddress": "Xein3CPjHFF3qE5JwYhAWvU724N1oMJELG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.251.194:9999", + "registeredHeight": 1903086, + "lastPaidHeight": 2126942, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnM9PuSDnFtVGxSf9j7TjRMHwQYeDFJe14", + "votingAddress": "XgEpE5ZDnbPEjThsLXH2iCtf2PpCQwfZvb", + "payoutAddress": "Xein3CPjHFF3qE5JwYhAWvU724N1oMJELG", + "pubKeyOperator": "adf5926c8944c3dda560eff8e8711fab2fc43dcf4e79b7c041acfd3f9d240aef93c8bacd93896c527aa3589e63aebb19" + } + }, + { + "type": "Evo", + "proTxHash": "8185dd58f231dd9e26491667f29b0438a94849f0883b88d518a7b00588312bac", + "collateralHash": "a9216ae1ad6adc40449e52f37fa8e61f31f0dbb465ef775b5777554f0fd83635", + "collateralIndex": 0, + "collateralAddress": "Xaq9VhmjNjck8mJyBKXpUTPy8QNwgFewtx", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.192.96.70:9999", + "registeredHeight": 1903377, + "lastPaidHeight": 2127223, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121081, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xd5pXy32i8qRXMrGppv3m4c3QtNbYryVPV", + "votingAddress": "XfyEwamEFzPqBeiJSQKcCcKxYEr3SfTapG", + "platformNodeID": "570d765b5e1197e04db99941a5e50b63b909e3fd", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsbNGyW8ViLJ41mDtNP8piBmfrdyuSV3Ey", + "pubKeyOperator": "86f925bb639e681242df5e77e11f0a95b3b5bc97b43434c455b9bbd343394816c5b7bf6016f170bc3558a84c7717021a" + } + }, + { + "type": "Evo", + "proTxHash": "9e3ff349fbe7944a99b77764f7d03a3d765ce669bc3c07637014c683ce324cc0", + "collateralHash": "568ff6d4aed1366672685845cb9a53a2cba530aa80c1be6b90e3cec513b0d6ab", + "collateralIndex": 0, + "collateralAddress": "XdmnGioewru7TG7ivhkbAjA7o1DxojjHwq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.255.182.186:9999", + "registeredHeight": 1903381, + "lastPaidHeight": 2122942, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126467, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcHEDkpYoZ58r5iinCv8VeXmCn7RkxZV1u", + "votingAddress": "XdPSbeWnUsFPK9qoDYcMmeMFffUShzYyR8", + "platformNodeID": "3ed7bb4f1ed2f19cacd33f44a68b95d3f24cf85d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xrm2iSzSjBVCJ8yPfDB5ojGj6ygHqj6Q1n", + "pubKeyOperator": "b3291ae3c6fd9be650a427c32f5c46396f2bf1bfd65834ff4cdcd79cafb6d560c8a2e3a365892dd5d6b24fe7cf92d234" + } + }, + { + "type": "Regular", + "proTxHash": "88a805acb081238f5d9b13d9d8c5f99cbe26e455b753f9a69c0a4f2e94aaa924", + "collateralHash": "eca55cd4251976d0451715d0bb901eac7a57cbee40a77f6b55ac78c1a8d2f2ca", + "collateralIndex": 0, + "collateralAddress": "XmYHatqqZ9wVStgk8xf8tEfXqcZTpwvE8o", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.180.134:9999", + "registeredHeight": 1903734, + "lastPaidHeight": 2127573, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xar9XW2mWtKxGLsWNdHbGp9GD6rM8Ds6Ff", + "votingAddress": "Xu22tenW62t2xTS6gSuPsTKkjnHgYPXH1X", + "payoutAddress": "XmYHatqqZ9wVStgk8xf8tEfXqcZTpwvE8o", + "pubKeyOperator": "84d1b5d52326d730fd60145752dd039a440292f9375bc96dcaecbee5eb21e8d89197391e1e96d9676ed1316d0239fac1" + } + }, + { + "type": "Regular", + "proTxHash": "8e3230fba8983730260cac09bc1e653fe4684637af7d86923b7110ef6c1ea390", + "collateralHash": "97087b34b196be91205574a8ade560f8190a725e2a8c6ce8452cbe595bbab907", + "collateralIndex": 0, + "collateralAddress": "Xnxg7qTJBRiC2wd1ogXGwBgwzsT1aptrG7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.227.33.218:9999", + "registeredHeight": 1903734, + "lastPaidHeight": 2127575, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfsYJiVytZE1xN4WSmY6JRznjK5wgJsLNz", + "votingAddress": "XregD1SyA6qQ4D2Wtbr3dTei7bCzyiXKkT", + "payoutAddress": "Xnxg7qTJBRiC2wd1ogXGwBgwzsT1aptrG7", + "pubKeyOperator": "8171ba1031155b9c25b156794c2aa5fa7716c754318f6bc500c7f59bea8a04f41326277c4469ef7d35c39007a53c227a" + } + }, + { + "type": "Regular", + "proTxHash": "b557ca607b69b89391063911b72006d448d73f019748a26c1db3acb637d7e858", + "collateralHash": "52c89992ada8108eab48c3241d1d7de9cd80adefe212bf19129df9b52d461d8c", + "collateralIndex": 1, + "collateralAddress": "XhHSotNHoXxUHgCH24JvtkBnYicVKEaZM6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "68.183.69.243:9999", + "registeredHeight": 1903734, + "lastPaidHeight": 2127574, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnXAiXkMeUbe9x1qDYMBz6v3NvUgytqVYp", + "votingAddress": "XbD4aHFHMBsJ2W2qRJXJZMomFV6qBch5ze", + "payoutAddress": "XhHSotNHoXxUHgCH24JvtkBnYicVKEaZM6", + "pubKeyOperator": "96fcfbe2b1516a2438d0dbd03c0cb3e75db7eb6b7317b692871a043217063e97ef6a769b2141cc5ff1b1b5c8613b4b0d" + } + }, + { + "type": "Regular", + "proTxHash": "dafd79e751f4071d1db3dcd1ae2d4f31441a49df2835c95d3fd3eb410dca19dc", + "collateralHash": "a5098d0762628c95e6b3c5260449913b3cca227068b4f13825dacc6db6f0dcbf", + "collateralIndex": 0, + "collateralAddress": "Xm7yBPPDxUvn75h3uQmmvcAsPFs73EuAuE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.65.140.155:9999", + "registeredHeight": 1903734, + "lastPaidHeight": 2127576, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdxaXksshH9FDVT2KRaiUYDrkvjRDixcHz", + "votingAddress": "XapTQyMHmkUh2tuqf7zBEz1ucpwnQhhPkW", + "payoutAddress": "Xm7yBPPDxUvn75h3uQmmvcAsPFs73EuAuE", + "pubKeyOperator": "8af7554d7bfbae333c973370d2d3bf93b8ee122b083a721fdb4fff11483f2ec22657bf88a02731daa697c6fb1ff48dbc" + } + }, + { + "type": "Regular", + "proTxHash": "525efb260f2a1f49fb74d41d5444ecea8f6d55a0ea2df3d625c965b0c2077352", + "collateralHash": "960798b5e717f0da7a4af335dc14b49726cc16690d5a830769233a251d86c756", + "collateralIndex": 0, + "collateralAddress": "XfQmDYLAa4HpPZPyJadjbcy5h4doMMPbsY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.193:9999", + "registeredHeight": 1903739, + "lastPaidHeight": 2127582, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu4CpSPNtxMz5rkeBF3HHFU71FWGdkkJVp", + "votingAddress": "XvWKWbbmZVoCLt5JpV3nAGyD7NFaCaTWnC", + "payoutAddress": "Xv9vuXRrQEybcqyzccCuVKta6sxxg9cyYf", + "pubKeyOperator": "836d1235afdd64db599ab40d62559c84a4951fc82ffe65d2ec21c2a4026edacd5033093febe3bc5dcc915a5791e9cbad" + } + }, + { + "type": "Regular", + "proTxHash": "02244e2360d915b7f162eef2944ba129cff32dc5d2d7f75ab3b13289ccbcfb33", + "collateralHash": "f5a9d6cf22265fc488f342f6d877ce37756a8ed59b9e710b2e43fd52360c473a", + "collateralIndex": 1, + "collateralAddress": "XtzuLcXribdwem92qydCjAhjFbZbo2pZH6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.79.109.243:9999", + "registeredHeight": 1903882, + "lastPaidHeight": 2115406, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XnMVFFqEi7tAwDWmqe1vF9g3TgXF7GVbeX", + "votingAddress": "XrLiXbUGkSFZG9n8ETnU3YaFKE4eud7gCP", + "payoutAddress": "XbsyF5Ga7geuLRqFGZ39194Ui1Sn1s1UoR", + "pubKeyOperator": "974483c3fdfe43b710b2da3f50c91c4d5b3c3d2af90d86b45b222673ca4a44a6963ed24001f6a70378fb45840c78c129" + } + }, + { + "type": "Regular", + "proTxHash": "abed77f325805906085a9d473910073a1e709708e9626a022aa8c82e52eb88d7", + "collateralHash": "c3a364f14d95401f66e056ef78b969db7b99d05638539784653112ac6a8fad60", + "collateralIndex": 0, + "collateralAddress": "Xofumsahi6Z3Nv1raeCuunZH7SywDZ81Za", + "operatorReward": 0, + "state": { + "version": 2, + "service": "77.20.177.153:9999", + "registeredHeight": 1903910, + "lastPaidHeight": 2088690, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128853, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfjqL2HiuVe97uRs1aqasCTvwpojTB3JpY", + "votingAddress": "XuGibyNWqhSK8dVCSUis3LYEaBotYzc5eC", + "payoutAddress": "XurWtGRCECerJ1v5U97m3m6UGWa4KbAZUG", + "pubKeyOperator": "a108718a7227f6927b6461de0add26437ae5545f7ac4e29246a637ea9c3fa07b4144100ae8ec6ce2ff66495907da66d3" + } + }, + { + "type": "Regular", + "proTxHash": "ab01c5d1d21833b12615f812bb6855174dbf4d2a94c7912dc400fdeb47930213", + "collateralHash": "7094c3f9266a45ad1257694ed44e7d92933bf2830687f9a77de574f2ab861ba5", + "collateralIndex": 1, + "collateralAddress": "Xpop546Mb4AjKCtopvRrusf6sWc5hAZwwp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.217.231:9999", + "registeredHeight": 1903923, + "lastPaidHeight": 2127866, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XentXF4Mc3gGbsCmBuqRAn4Bar55SsWrL7", + "votingAddress": "XqJun1hzCXLafNvjaCQebUC9vht9rzgwzB", + "payoutAddress": "XpQEFVY16WQoTM3aJr6ZmPUyQBRB87ZGMZ", + "pubKeyOperator": "b0c15db427879fa51546ecea8c7aeb81a719142ebe398736e63819776a93cbbd2eb5f822c096386b2af571ddf126eb75" + } + }, + { + "type": "Regular", + "proTxHash": "413fd6f9687eb43912b0fa1b091bf907e3103ca4b5e88c3b3b482704cc34d577", + "collateralHash": "81b517c7da2230353930be62f125a44de7c7c44421d8fbb9e42ee2dd5f212a0c", + "collateralIndex": 1, + "collateralAddress": "Xsz5j6KQoTRKvPK3MfjV81NrFCX4mZqHWR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.231.10:9999", + "registeredHeight": 1903966, + "lastPaidHeight": 2127915, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwfaWjdmrCEy5RjVDqm3x4sD8hY7SMkeDZ", + "votingAddress": "XcijRgdjtkyJiPLobcKemrzKsHwsQWdteu", + "payoutAddress": "Xqxk126WJSKfWd1Z4ppGjhLxxCupsGz9A6", + "pubKeyOperator": "aae4eaaefbdc5a515f17fed002a118f0eb847a7283e11f7fa6f91dd7d5892ecefa1e3fe6ee896d0a96ab3590ef6282ac" + } + }, + { + "type": "Regular", + "proTxHash": "bba653ce8594daad24fe386f605346724871e27b575e609fbce2a475839958b4", + "collateralHash": "ff99866cf8540332c213e42d85d14b5ca0b58cafed69f1a894dfa107d0a61735", + "collateralIndex": 1, + "collateralAddress": "XiZ6kGuwGianiKREihRSswnGHRyu2yVgyp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.211.196.32:9999", + "registeredHeight": 1904273, + "lastPaidHeight": 2091650, + "consecutivePayments": 0, + "PoSePenalty": 3822, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2093802, + "revocationReason": 0, + "ownerAddress": "XfYWmT7ZEQDRXDiwATskt6J3jB2LXHd7Cz", + "votingAddress": "XvQJoauzzJQKGCHRbSHApA8Yi85V6W7CzJ", + "payoutAddress": "XgaHvYiUMUpGScFjnGf99Z6gzhSFrFRuqa", + "pubKeyOperator": "b4b5ca9cd8f373b4a3ae1957933d8a4fd7a93972c310475743d3675af0e3f596a40a0fe1047e2e6ed765ea57b506fd3a" + } + }, + { + "type": "Regular", + "proTxHash": "987aec42ce040e81eab7684fd2dcd6abbcb421975a87471512b9d0b97a99e739", + "collateralHash": "a5e575a9405307d5e8d944e993815fb1b001fcbfdabd2cfd028c0313571dcc4a", + "collateralIndex": 1, + "collateralAddress": "XajoT1AmJVGYYtupSG78cpawEW4yAX5m7W", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.211.196.8:9999", + "registeredHeight": 1904273, + "lastPaidHeight": 2112272, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XwJEdYzoMmZzNncVg7FjqrbWN4yWZ2vKRi", + "votingAddress": "XgZP3C9UBuQNzVjpu2wpzANb4ZeTgjgLk3", + "payoutAddress": "XajoT1AmJVGYYtupSG78cpawEW4yAX5m7W", + "pubKeyOperator": "a12673aebfa0502e51f4080b8feeb26aee37b7252c3605c84a311ad974ed95fd0bfbb78db1554bca8f0bfa976816c6b5" + } + }, + { + "type": "Evo", + "proTxHash": "8ffc80302e1d26cb992a3979692e55caa704d2f0dd1a8dbf146b34ae225a3aae", + "collateralHash": "cd7b997decb2a62d170e127ecb087c4d0f77e4262e6e162e04f2dcf72d237a73", + "collateralIndex": 1, + "collateralAddress": "XyiN2iYFBU1YBCiKA9YGEvTJTpYnR28duB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.27.83.17:9999", + "registeredHeight": 1904874, + "lastPaidHeight": 2128853, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmK9ja5rsoJqRhpTA1fRt7Cq9sqwXJ2kAc", + "votingAddress": "Xr5e1RiWdA5rdcY4RAca6Ypoh17jqM9Pb2", + "platformNodeID": "6133bdbe3a422dfe9a4907f925344f2fb052f43e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xy7xS3ccLRHEqDutrY1siL7V6xmTu1p3tB", + "pubKeyOperator": "b3df20240962645497cb3f4243c09ab477b93d16a8cb16b999b28fef71f98a1fa1e16bd33ea6b4d0f4157f3e075d6b95" + } + }, + { + "type": "Evo", + "proTxHash": "79cccdfb7514e5f197541dc6662b29d122660e91a3059d13cf7b3e0c05550403", + "collateralHash": "67efe846f9429e4a0441b8fab6a5770d59ca4156bc4c804d52fec70673d9d352", + "collateralIndex": 1, + "collateralAddress": "XsXFjUqWTbod8PTRd1BSj8e7K8cayeg7v6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.146.13.7:9999", + "registeredHeight": 1905441, + "lastPaidHeight": 2128479, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2125304, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xij16Kei1wDzDdsr5zzmjAeApbWUtndKiL", + "votingAddress": "Xx1QDCbZYVEitjPv2NH4SBRP6VYr2y2Eg6", + "platformNodeID": "6b7dc37855715348a9b1cf300a25a78d5ffaa50b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XdnaKG1A5hhm69uRQ5iF4ffd5UrQXqpubC", + "pubKeyOperator": "a27f6c3eeb34b44c16ceefe4ec9387df02ca196887422494b21c37f6c3366c66596b572683f421b975b53b001be9b902" + } + }, + { + "type": "Evo", + "proTxHash": "4bee92fb0fd27a3b23b57f67052d18fd18c6e616935545a6d0e691663c836b9c", + "collateralHash": "a09a42eae1ad4292f2d3310a27f46e94344fa4dd6a64db31044865af05a1241a", + "collateralIndex": 1, + "collateralAddress": "XpfkVhH5VLmMnz4GSmABwN94XcAnUopK5C", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.199.35.18:9999", + "registeredHeight": 1905512, + "lastPaidHeight": 2126072, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978043, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjkYYc8mwbTR5N3L3EznegYfRakntjFHYa", + "votingAddress": "Xo8Ju7doCf6GLvaEGC3BxoZkSikZfnQMPr", + "platformNodeID": "163bf968457e33c5def35a4a912ddcba11b115d8", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8e502e00eecb236b6899dba6f5a868c3fca58c010724c8f51e60ab73fd3463d8b21169a4f0a8833f8c6e8db7ea44c575" + } + }, + { + "type": "Evo", + "proTxHash": "31ce7e11cbcaf8596dfb73a68dd7bed15dff54d513896ce5682faa7e991267cb", + "collateralHash": "9b439aeb8a25620c14d342a64ec15c995cafcc0cbe8e124ceac10a0ce1470441", + "collateralIndex": 1, + "collateralAddress": "XduW1amPxYWpzY5UcGidYaJD9V1Dso8aoS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.236.249:9999", + "registeredHeight": 1905529, + "lastPaidHeight": 2126097, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978048, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnrKJvy6WYSuq1ycvMhdL7nBapbTQ2xFKN", + "votingAddress": "XyNoNjmjKFH44WAv6Uw24R4ymiEhQukzfv", + "platformNodeID": "46d906f9f489418d20b00a090801fb3a0c68cb14", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a8fb2c743766d6404e192282aa73c5d1c947bb7bd03de5a9ddb02baa0ccc8e7549ebd682d07bfa1f91e5c754b1eab476" + } + }, + { + "type": "Regular", + "proTxHash": "1b712dbacff53a48856890ad118faefb52c80ef3b09e9726c9dbbdb72e6d6192", + "collateralHash": "3a9e4fc00e3dca2bf1baee0c882d2baf088e19ec056fac95bbe82e82e29c6f05", + "collateralIndex": 1, + "collateralAddress": "XmbHiEkCys6PNiTvmLb8JW8YqArTYJ4o1g", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.162.97:9999", + "registeredHeight": 1905773, + "lastPaidHeight": 2126376, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj92UB41Ht87mEFRRFBxX7KAwysPf6k1gh", + "votingAddress": "Xd1uXc2Kdk8LvC1LCSWXKtfZTFk762AyNa", + "payoutAddress": "Xc8fD4Suqmhoxfd6PNZ1KACTHk1ZzgjFFy", + "pubKeyOperator": "b81b7ddb96cf9b81a9360724f2d932c079baecb0cd6684fd703d26760ac73ebcd9c1aabf0030b73d59c62fa2783394b9" + } + }, + { + "type": "Evo", + "proTxHash": "093c7924743d735ba2f73d6c0dada30babadd8d083fd35106ab31561f850d31a", + "collateralHash": "7590a113bc78456fe3de585fcb13d9b93d5ca350dbbfbd770f53ca15215c84e9", + "collateralIndex": 1, + "collateralAddress": "XbyB5mYW8HZGDxXZUQ9Upmboe3XfHsq1MJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.245.90.255:9999", + "registeredHeight": 1905882, + "lastPaidHeight": 2126449, + "consecutivePayments": 0, + "PoSePenalty": 1920, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvtS3FNjr2hiybVXAPAvXRjt6Mw55u2QKc", + "votingAddress": "XmW5pDhifVQeZwYE1ePskwphejA9j32BS3", + "platformNodeID": "54f2dfed87b54c3ea79902912b74f4c7c3455b6b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsAJy1CN95jBm1gXE1gbY5xKZjZZvA3bYE", + "pubKeyOperator": "9323d954c8ce5744a030356fa68f7c89719fc117ba39859d6ef9335d1f26faf67a1bbbd6718a7004086eb3e3aee4c1e1" + } + }, + { + "type": "Regular", + "proTxHash": "f32b136fc9bdfbcb9bf501eddef7db63db0bc6bb03ebca6dad9652d919a1d474", + "collateralHash": "d45f7db25d4e115b0664fc085fb43d54d4742e0a8dfb7adcc352215afc8c0ab7", + "collateralIndex": 1, + "collateralAddress": "XmmGLAxqSBZD5eGNNf1vqL6FNsG2ezqkLx", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.1.49:9999", + "registeredHeight": 1905928, + "lastPaidHeight": 2120428, + "consecutivePayments": 0, + "PoSePenalty": 3831, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120874, + "revocationReason": 0, + "ownerAddress": "XuBxNCz74nXwE78n8Vn1VoH7HMjvnkju2w", + "votingAddress": "Xd2jzBm7d9it2rMxYFL8tFLEbVsXyQzh9S", + "payoutAddress": "Xg1nGWwKZ2RNmVDArXC3nyeAucEQvW3xz9", + "pubKeyOperator": "a5515462067e0b0e512e01ed060c9b0ec54da0275891d7339c5569d0bec5342a35acecbf854f4d1946260250d9fffc59" + } + }, + { + "type": "Evo", + "proTxHash": "9433001cb2722bf6620116044f319e7de70dad888a39368c2e0f9fcd317dbe1d", + "collateralHash": "97f380748f35bf0927517b3a4c2ef3e8ecbb2f52a2adba9aed8354399dcb5c04", + "collateralIndex": 1, + "collateralAddress": "XwamKvEztVNLQoaREhxkSJMpTMcttkbuuL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.236.247:9999", + "registeredHeight": 1905941, + "lastPaidHeight": 2128832, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2011377, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwg8ufigEHA3YuRmiCDFkk6genexyQ79Bu", + "votingAddress": "XbPKQCyyZqWHMDUhbwusGpNtPkJmudR5vx", + "platformNodeID": "4f82ff1d16e107d9ab2c67bdcff8c23e767f6b05", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b0f996ddfe46f96ac03ae667cd2a4ea41899a6c1387922833924c2246ffd034ead74f72b8e27220bde5d362951f21775" + } + }, + { + "type": "Evo", + "proTxHash": "e3b68ab54c808c5386e34babdc29dcf7a219a426c307eba15196228016e44862", + "collateralHash": "0ec078eb061ac0fb60e3ec37fc02f434ff0de005f7d66eaa611a2d91506eb674", + "collateralIndex": 1, + "collateralAddress": "Xiovjp5a6rty3RQam4AFb1ao4X6FXfSuQu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.236.212:9999", + "registeredHeight": 1905951, + "lastPaidHeight": 2126066, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978043, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpy6T4pWzdQ9DcBUgqRmAGxCABd5ngnWXE", + "votingAddress": "Xhm3r4xQRmfgti5WFeZkYs3katAg3odSeK", + "platformNodeID": "438bac9b94613f8eafc8a9d5b8dc73ea65afb658", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b0fa253349afdcf35890c8b60844e54619403399704e752dbd202d493fff69a5eb3c24f0ba55d3246d631517d8e4f6fd" + } + }, + { + "type": "Regular", + "proTxHash": "a3327c6f3a5df5eae1611e6ef1b79dcd3509ce6f2b896ef62efbfca9fe820c3a", + "collateralHash": "a3327c6f3a5df5eae1611e6ef1b79dcd3509ce6f2b896ef62efbfca9fe820c3a", + "collateralIndex": 1, + "collateralAddress": "7hoj1nFXVTiQr2CZfyGsWiNGzGc777K88o", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.40.6.80:9999", + "registeredHeight": 1906184, + "lastPaidHeight": 2126037, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2062389, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsvEh6jepMy6eXM45bCyervppxBeKrJEf3", + "votingAddress": "XhGfEXUJKaHeQcHn6vheh8bVyfubJjjwaX", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8945a9557c1777969c4b7b597eb420ae8257756daf072fb6fbcf1a1098593671b910d009750137ba27668b1c6c0cbde6" + } + }, + { + "type": "Regular", + "proTxHash": "f9ff55e218b94f4c9db04e2469731b6c100bc2262dfae5aaddc568cb872a14a1", + "collateralHash": "2d85e31c9b87ba3a46348de206e63167c853f24af73bb7c917f895cec9c12c71", + "collateralIndex": 1, + "collateralAddress": "Xi1m5LkxxMyZVyS9UoK9pv2KhAwrGWrBTm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.205.11:9999", + "registeredHeight": 1906300, + "lastPaidHeight": 2126827, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmAtr3JUxdBfAQ65sgPJaRKHSELEM8mSx4", + "votingAddress": "XiTerpYUbtsuT4CeicDu35TEuTrxjHTpjh", + "payoutAddress": "XmDcSqbyQuWMm39S1pbky9LcD1ngsjzx1a", + "pubKeyOperator": "83340fe8568931b1e51c992dd5b8dd737fc53eb2595519db0df7324cd8e4059d516facb1514ebbdb58067a6f5859780b" + } + }, + { + "type": "Evo", + "proTxHash": "7494ab33759421b6e04e52a664665c55d279a70a06b07b68a6356dda2ea54b81", + "collateralHash": "26884e91650f25d10ea5db7bfcaadbb3287b2c938bed161b1731a3aaf97cbbde", + "collateralIndex": 1, + "collateralAddress": "XwFmpCMWvJ1zmtKR3xSt47jVF3wEPdfVNa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.90.238.161:9999", + "registeredHeight": 1906532, + "lastPaidHeight": 2127042, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxkYcqLgVsoCBnAPhcgze9PnfVCdd2hVvE", + "votingAddress": "Xwb9AKN5rgCs3mnZ2SLuSB4e8wR3uNvVsF", + "platformNodeID": "157f4491a923c8ab3314adb195b3322331c43007", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XeEPRBYEoKMyuqSE3FirYtMtYVC6Eofqy9", + "pubKeyOperator": "9380fef0df25c5b6f1cf2970ce65123e5a60889e4c9779613e3311931458a6834c162e99e8fc49f31dfb93d19a2fc35b" + } + }, + { + "type": "Regular", + "proTxHash": "d2adc2ca369a84e6a9c6ba5da36e53ebbc7ed55954fda3cc9e584014debc55aa", + "collateralHash": "12bba8a6e13f0a960522ef8fab21a7671d5ff6cf6b38db541db44cb466530e82", + "collateralIndex": 1, + "collateralAddress": "XecAk31rYk2HwTYHYGHM5XDh8uBRbwM4iB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.236.39:9999", + "registeredHeight": 1907032, + "lastPaidHeight": 2128658, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2021361, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxWG3CLURZgWiTcEyqRrGsj1FHxtAumGTj", + "votingAddress": "XqmwMnxMfdnVTpin3xLF2xeWUZSL3qfHrx", + "payoutAddress": "Xwk9zKCp7DmAiZA4jZUqekrFbB4jpGPZ7p", + "pubKeyOperator": "86034c656a090d6d1dcd1dbf952eda8f6e52368ae8647ef624ab5e78b921de5ef580d2848ab727b117d3946eb6adca0b" + } + }, + { + "type": "Evo", + "proTxHash": "f1cc3940e4ed45d1ca63491008127a66749efe1be782586a039f36c6e2949c24", + "collateralHash": "1238cc465cd48ebae12a111bb9c45947f7da1660b8123db7f8569961043c9933", + "collateralIndex": 1, + "collateralAddress": "Xxsmdb66wgX3u31jG679cQn3Ceuu1dkYvJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.75.133.148:9999", + "registeredHeight": 1907468, + "lastPaidHeight": 2127985, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxTT7W1Hpm6hRa4gbL1eBpGuUTkH7nKRQA", + "votingAddress": "Xbnpi6E2vgvpmAq1Wq2kcPs8USa8xJ4Pax", + "platformNodeID": "ed91d591060eda45175256129df5a532ceb5bb2c", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xj4tPRr8eKpVyP3Ty4aCnPndDHxbn6ebN3", + "pubKeyOperator": "94d803e303f3f5afbe7bd7d4f76b9b3a400118d53e5dc2a782d80caa91b798cceafad647b3e29e0a56a93369e93ee1b1" + } + }, + { + "type": "Regular", + "proTxHash": "77ef39878f4a399dff2fd2f3e448b6151c7c75ca2e3818607a600409c01d882e", + "collateralHash": "2b3c500c5b248caae2787cde5de5842168bd8d1cb2285761a56a0796d69630c7", + "collateralIndex": 0, + "collateralAddress": "Xgnueis4npKgfDBF8dTCUT5KzuXJRF8oiM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.28.219:9999", + "registeredHeight": 1908056, + "lastPaidHeight": 2112644, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XhWGGZdqUHTvHbYMjizRpt9q4qJGZL2NnK", + "votingAddress": "XasyxHvBR8jUikx1eAzRZ3Njn988HYZzic", + "payoutAddress": "Xgnueis4npKgfDBF8dTCUT5KzuXJRF8oiM", + "pubKeyOperator": "92b00d30ff2b10d2be266de3f1ccefb7b026388979e72a0965bbccd123446d56759d93de207aa2631d6160f90c50da4c" + } + }, + { + "type": "Regular", + "proTxHash": "3939addcbe82e742d08c709869f1f0d1d51d68301947bff2ec83e3d51998e20f", + "collateralHash": "1b3a8c7104451ada22764ac95883ef1f01b64cf3ed898beb0d02caf48e71dc95", + "collateralIndex": 0, + "collateralAddress": "XuCJqhaFoVLXTNXRqEoAU6zEgccUNXpMHC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "192.241.192.52:9999", + "registeredHeight": 1908058, + "lastPaidHeight": 2112647, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XxLb2m1AKpTSTbZ688TL43EhAdekJ8VQAK", + "votingAddress": "Xy2WzbceYX5VSeogUXXYZt3qCaiPRAyCFG", + "payoutAddress": "XuCJqhaFoVLXTNXRqEoAU6zEgccUNXpMHC", + "pubKeyOperator": "90912265717e5f62fe4a98f52bbc9e13423a2a444c1635247126bdb42d020de5c684e69a3e28cd67efd1c074785306a4" + } + }, + { + "type": "Regular", + "proTxHash": "b68e61a0aafbb089a78fcf8c690e29d8359f9fb0bea14cf1103744fee786d265", + "collateralHash": "9279ca1cea10b188d599c2070b155cd4247153a18ed454a19e7f89eb0a2c4f72", + "collateralIndex": 0, + "collateralAddress": "XbJsggzXbzo2N9Q6MRF67wCh4dNaTt6Fts", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.65.104.239:9999", + "registeredHeight": 1908058, + "lastPaidHeight": 2112649, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XfvzyBzU2acLnUxxaNNuXQ9Cj5QjX9aUGC", + "votingAddress": "XiLMqd7x9pQH84SQsayPuKyULgmfxkjXhd", + "payoutAddress": "XbJsggzXbzo2N9Q6MRF67wCh4dNaTt6Fts", + "pubKeyOperator": "a23694275cb59a5f431def308191ea6d60825f2ad38e32f0f84298b26f44da75f79f5965efe01a9bf094cfbfb22b6ee7" + } + }, + { + "type": "Regular", + "proTxHash": "9f036e3425035010d323f0c9b862363b5c8cbb336e88241798b9f70077546dd5", + "collateralHash": "1ac646f0bc4791b415a8546dea7212df9957c0c2f7214e289727ee8d18bfcac9", + "collateralIndex": 0, + "collateralAddress": "XavYxPG1Ena4q6SyQ4e1VDe39iZy5UTemw", + "operatorReward": 0, + "state": { + "version": 2, + "service": "209.97.188.90:9999", + "registeredHeight": 1908058, + "lastPaidHeight": 2116087, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XcoVR61UeMgRgf5hTYU4L3orQhu3BfDzJb", + "votingAddress": "Xm55owx8ZgxEjnLaiSzpLMGXDUczcK1MTP", + "payoutAddress": "XavYxPG1Ena4q6SyQ4e1VDe39iZy5UTemw", + "pubKeyOperator": "866104df86b74e8fd9df99af74a73be2df238901120f23a9e514d2566bf98121027c25aa1e9be5855546517fc1eb0da5" + } + }, + { + "type": "Regular", + "proTxHash": "b3c122969132630ca8f48e8ca8fa7712983cfde1bac193f7297ba68539ba3a03", + "collateralHash": "9c6e63845df398f78b16157bc782558917daa4df0e494c756e9bbbb8af69534f", + "collateralIndex": 0, + "collateralAddress": "XgV6vkUa6jjRVUtr4pE1Q2UrZ7sRoBF6Ty", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.248.33.11:9999", + "registeredHeight": 1908059, + "lastPaidHeight": 2116088, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XwQWTa1sxwfMeeySVZrnpcuRzUA78YS9qo", + "votingAddress": "XpkQNdHvgKXo2nJvZJRogt4hv4H3666p6H", + "payoutAddress": "XgV6vkUa6jjRVUtr4pE1Q2UrZ7sRoBF6Ty", + "pubKeyOperator": "96018c4fb23430d6cff84335b7bdb6e210636062321e9ba483a020e762f53b3bf6a538049dce8f18cb77772818703ea4" + } + }, + { + "type": "Regular", + "proTxHash": "15760b8e62173e35e45d42e477ca73dbd3930e11a4100695bbb86396eb5d981a", + "collateralHash": "dd15124be22834df24ede6280c6a9eb66e7fba3dfc73ef07d14f9666c8e35d83", + "collateralIndex": 0, + "collateralAddress": "Xyi3mcPgSNpQtkEtyzefG3pexWBHrUYWbw", + "operatorReward": 0, + "state": { + "version": 2, + "service": "174.138.2.189:9999", + "registeredHeight": 1908059, + "lastPaidHeight": 2112668, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XesYUybg17tGmPjewbQG1Ao2GjevMassas", + "votingAddress": "Xhzt6TThwcum53QFoU7FR4BcVrAnq2qkPX", + "payoutAddress": "Xyi3mcPgSNpQtkEtyzefG3pexWBHrUYWbw", + "pubKeyOperator": "87e30e1c131b8dacca94b832314819e5a9b9d1a6c111990ae54d25f31de56772480d1ab546e50833b2ad690c52db9b29" + } + }, + { + "type": "Regular", + "proTxHash": "553c53d48b266f18415886198d2e0eee2caffa75625a7205840d84b74749fc0f", + "collateralHash": "7a69f54fae7c4db426221f6b8d797b576923c52d4de2f82f3ce131c26cbca25e", + "collateralIndex": 0, + "collateralAddress": "XejsMQLs9Kh5fVpiRctHdkq9JCtrVC1xeu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.22.72.58:9999", + "registeredHeight": 1908059, + "lastPaidHeight": 2112655, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "Xm9L3wRgnHUakhU3bgsinr6eCbSi2spwRQ", + "votingAddress": "XfZKk6eT1Ms8rWA5VaqrkEt3V8ySbXXpew", + "payoutAddress": "XejsMQLs9Kh5fVpiRctHdkq9JCtrVC1xeu", + "pubKeyOperator": "b486e1c6a06ba62cdfef6e709f95a050aed2e706dd0451c19f601d167c1bd240bb30a3586f89e90da74e9e69fb4a1080" + } + }, + { + "type": "Regular", + "proTxHash": "2dd77607bc89957ea7a7cc64b04cdab8e2120123869506d56740d0307696879d", + "collateralHash": "0a8ae36f176c727a4d995bc2371eaf4ef7cdb3c739bc5e627d4dd02d4429d48d", + "collateralIndex": 0, + "collateralAddress": "XvZDdFz9oceYVYnkzqedWBFSjWchQa2nBs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "192.241.160.74:9999", + "registeredHeight": 1908059, + "lastPaidHeight": 2112676, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "Xd5CLSs8zNXedNVMhUV8EQgGUEKmmdqbdW", + "votingAddress": "XiCYDaoXzDEXFUMYEhy7YPh6zwDxkpUz7u", + "payoutAddress": "XvZDdFz9oceYVYnkzqedWBFSjWchQa2nBs", + "pubKeyOperator": "a72d96bc091a457ce4761b54350d7c8cfdb6b2cfbf842e794c5bb53bbe89d06860ff63ab7b60f94e1b666b078435e9e2" + } + }, + { + "type": "Regular", + "proTxHash": "81b79ade9e289d79c577c8e23119cd56189cafdf91fe7800fb32f1dd026b57a2", + "collateralHash": "868036aeb110ca4af2af83f434d593fb8f9f08b6a18f3c3b8859c0c54ffc1c90", + "collateralIndex": 0, + "collateralAddress": "Xbh5Wu5CQVWBDN35HET4caAWT2Jtq4NDVK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.65.4.145:9999", + "registeredHeight": 1908059, + "lastPaidHeight": 2116108, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116842, + "revocationReason": 0, + "ownerAddress": "Xb2ZqxBz8CzA1Nq3oXneDUgD8SwNtq2mYo", + "votingAddress": "Xkks9PPzqP3W3tdZSf1dpz5L3UvQDWEA9E", + "payoutAddress": "Xbh5Wu5CQVWBDN35HET4caAWT2Jtq4NDVK", + "pubKeyOperator": "9795add5cfdab8e3133b235744357ffb21d3204b99d3e12006a1471718a70f7651e91f2199ce79a16aea9f3413aabebb" + } + }, + { + "type": "Regular", + "proTxHash": "48ca9205ebe4b15ecd379b713c5c069244d06d6b4299f5f49af50660d4423f04", + "collateralHash": "e101589f41287a1947fc2fb6ce7d77ad03fc88bf7c5b571fb9c40ab0955d383f", + "collateralIndex": 0, + "collateralAddress": "XyEJCuEjB8ebzY6bZq4FwqBSa36CgjAn5A", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.62.79:9999", + "registeredHeight": 1908060, + "lastPaidHeight": 2116109, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XdSJ6d3g9nGyJK3nwJiSCnCqq59oxxMsWp", + "votingAddress": "Xv36J5FX8TkuPNYPcYkuEgPUSuzpEnXquc", + "payoutAddress": "XyEJCuEjB8ebzY6bZq4FwqBSa36CgjAn5A", + "pubKeyOperator": "89c61b5f914fa96dfc8051944acc5524efb645202a2cca6f6820fbf678c0753359d763a63068b236e816c1b2194dde6d" + } + }, + { + "type": "Regular", + "proTxHash": "ef2aa80eeae239b6f5fb896627b5ceccaebfb56d338418ac32076dd138da5ffe", + "collateralHash": "d17567de4b1323e65c74d85970b3215751284b70c4f0ab4fdde1fdde78620b9b", + "collateralIndex": 0, + "collateralAddress": "XdyaE6JcegjTs2UsyDDNSjzABvoYLiep5h", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.116.77:9999", + "registeredHeight": 1908061, + "lastPaidHeight": 2112681, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XxXabu38xKUAaQUPhQhFCDYgkp2kT2xJUU", + "votingAddress": "XvoCVahdxKWPBgVE7WGAYegwC3ggD2h4Aw", + "payoutAddress": "XdyaE6JcegjTs2UsyDDNSjzABvoYLiep5h", + "pubKeyOperator": "a9db376208797037a715b1723c91422efcbee7d7621521b7ca1ce16b72d40913f07b4042ee11145a882999135701f664" + } + }, + { + "type": "Regular", + "proTxHash": "6fdb51c2b1a85e2767565e4b62120ed615681754f2cd31808e4d175be518936f", + "collateralHash": "8b82d5366f2d74aa98218d9a302bd9a5eb2f973460336fa34af57d8beb92dee6", + "collateralIndex": 0, + "collateralAddress": "XwedukWG1nP4pxtC9HNaNg8xbboZjzdTxV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.230.40.234:9999", + "registeredHeight": 1908064, + "lastPaidHeight": 2112685, + "consecutivePayments": 0, + "PoSePenalty": 3855, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "XvHTssnaptnBFy9kFcfhQtuZGjmN2ebU3f", + "votingAddress": "XdxSoZUwCwkV8dXa9b4AvqU9VBbLNSxkQk", + "payoutAddress": "XwedukWG1nP4pxtC9HNaNg8xbboZjzdTxV", + "pubKeyOperator": "91d1111d1ae522c7d45c88b016708188aed93e4642572025d27ad320c76d23dfb0af0b7999964ab761e3fb70fec5aa59" + } + }, + { + "type": "Regular", + "proTxHash": "3ab159b7c95dd0f0c8094b69aa1a1cda6113d052ed1cd6515ac90c4b838c79b9", + "collateralHash": "2a81d5ccaf386d87f60d5640e2713316a14638f52cb21a617c11b85c89df23f1", + "collateralIndex": 0, + "collateralAddress": "Xm8xNanxKoHvjYts1mog4NBkCN7A8KGZZG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.209.250.199:9999", + "registeredHeight": 1908065, + "lastPaidHeight": 2112687, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "Xr4Kae8nsTqg6wwaibLBWcqF7XuWrJMMtm", + "votingAddress": "XcJnrGQFbe2S7C6BqrNuYgTHsg2DfAmhNd", + "payoutAddress": "Xm8xNanxKoHvjYts1mog4NBkCN7A8KGZZG", + "pubKeyOperator": "a4db3213493ad207fa642992d2027a4393799d211f5965287dc14b645a37551815fd82b773c3308dd9a85cb482c1fa50" + } + }, + { + "type": "Regular", + "proTxHash": "977520b0b0ab77c33b4cfdff46b688cb6d199f965a25fddd63f77e59f82eb8f2", + "collateralHash": "1c181a63d7f7b9882a9b0bd7ede8681404e28e260cd3feb431c9e3f488cbdc01", + "collateralIndex": 0, + "collateralAddress": "Xrtr7AvYuN874BmPbANLw3xbs65Gy1matV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.106.231:9999", + "registeredHeight": 1908066, + "lastPaidHeight": 2112695, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XeEAo1sby9ZExnxEiiKdoH7cMJw8Q21i6h", + "votingAddress": "Xr59gVMZEbSWrv7GUoApFK5i5XjVKnYuZn", + "payoutAddress": "Xrtr7AvYuN874BmPbANLw3xbs65Gy1matV", + "pubKeyOperator": "b92c2cf8a08a527c1865882097b6d37dc4dff1f898ef9fabb11c87c5340df6e797c265add4ee2a82980b282d1d74ea1f" + } + }, + { + "type": "Regular", + "proTxHash": "dff6cdeebeb061e6a341c99dc57366f3910ec46685f9a84ccdc172391ca14561", + "collateralHash": "16803d4da753205541dda1752a6f7cf29e42a17f387a63e7c946964663bb3209", + "collateralIndex": 0, + "collateralAddress": "Xrv2jzJSa4yoi7RKj79F3M1B1BAnwei11N", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.101.117.46:9999", + "registeredHeight": 1908067, + "lastPaidHeight": 2112699, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "XxcfBjUCvqW65gXqUyQ8ZuxW3ZDPJSapgN", + "votingAddress": "XkWe7XuM15Q6Dw1c1yuqiP6hMou8Cv7rQU", + "payoutAddress": "Xrv2jzJSa4yoi7RKj79F3M1B1BAnwei11N", + "pubKeyOperator": "a480c0e83e3a5f32675064234d0d739bfca6f7bda70fc2c37d4cd7a9cc97e54a903a1eb5876e4c37f89ea4b993abcc58" + } + }, + { + "type": "Regular", + "proTxHash": "5a99f63c5f5c4009acec231ab2e97749091d3dc4c169687d8dc2441bd3cb665a", + "collateralHash": "f384899fe4fc5f3c40a7c2c34d11d9b7eb18aeb7ac13505c477eb0c6949a0e96", + "collateralIndex": 0, + "collateralAddress": "XxG5ud6J2FJnR4fncFdpRJxkZ14x39y1wE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.159.55:9999", + "registeredHeight": 1908069, + "lastPaidHeight": 2112701, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XbhZeGfJZSNvvbnK4SGePM5VfLDEtuuFJv", + "votingAddress": "Xmd3nGRwuatzgziruP4wXYcseZftCsshLJ", + "payoutAddress": "XxG5ud6J2FJnR4fncFdpRJxkZ14x39y1wE", + "pubKeyOperator": "882190cfc0f16242bd4afac5fc2fe2cf3147cda786f78c613994dea88d9daaeb27b09c4132c48b7658ccce16ceabaef2" + } + }, + { + "type": "Regular", + "proTxHash": "fe1c9c75dd7c080c7a7619ece0d1fb065b2e2448d57c82792c4f423660669878", + "collateralHash": "ce099b3633a873b2fffbbf6dc73b211967ba7a47e09fbfcdfb0dd90c237c0f43", + "collateralIndex": 0, + "collateralAddress": "XcXYgdXa2gp8XaMH8WkkcTWSN7575xpjna", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.158.8:9999", + "registeredHeight": 1908069, + "lastPaidHeight": 2112707, + "consecutivePayments": 0, + "PoSePenalty": 3855, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "XfTehPaoZQtxZwHv7hEiGRUJKPED2122nN", + "votingAddress": "XpHhDVzfVWkRTCNqmHGKya69UrJaKDAoUz", + "payoutAddress": "XcXYgdXa2gp8XaMH8WkkcTWSN7575xpjna", + "pubKeyOperator": "8a8dcf803dbe42047ec579110105050d1f4b84f72680727e87433273fbcb3b733bd1b89e3dd2461890ee6a8e9aa74c24" + } + }, + { + "type": "Regular", + "proTxHash": "c51ac2f87376419604dac9b66289e4a2d7b5ac37905167f4fe5d3a7a865d1de3", + "collateralHash": "6a5840bac242201039f7b534fc3bef9160ee8dff175ad4fcb37f273a66dda1dc", + "collateralIndex": 0, + "collateralAddress": "Xn9E1K74ddYmvRiFhgJ8DioLJxVbJocRcM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.139.15.111:9999", + "registeredHeight": 1908070, + "lastPaidHeight": 2112709, + "consecutivePayments": 0, + "PoSePenalty": 3855, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "Xy8Rkm7i5VP3SQFe6BSyReBRP1UNZDfBnA", + "votingAddress": "XxRtPhNELVi1F3B2FoEZpsACcNsEjYYUxu", + "payoutAddress": "Xn9E1K74ddYmvRiFhgJ8DioLJxVbJocRcM", + "pubKeyOperator": "a678cbebdf860ea5d51b53b0ef5f9d7f5a43b5a4e3abca91203042585380420dddba8f3dc3eb45e715327561fefcbaa5" + } + }, + { + "type": "Regular", + "proTxHash": "b78f34453e5c99482691566142aafafa13a82e447e32ebefc7ee8a842c5f407c", + "collateralHash": "11f83c84878036f373a80a33374ad25563401c51c00ebad8d14b4111924aca48", + "collateralIndex": 0, + "collateralAddress": "XjXkvNL8MZnRh9CYgmnwcvGn9av5VXv3sc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.59.253.22:9999", + "registeredHeight": 1908072, + "lastPaidHeight": 2112712, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XuLxbDbscVUX2baLF5yDPiUr3KeKFL7uzV", + "votingAddress": "Xv4GMnJYzaGbtUhFcRjjkLpgsWXrZsVsGU", + "payoutAddress": "XjXkvNL8MZnRh9CYgmnwcvGn9av5VXv3sc", + "pubKeyOperator": "b42e23691cd72043aec47d23af5b3d8ff7721278c5384404444fb20df020af5a5c7b57d5d00c14e26a70f93a870ffedc" + } + }, + { + "type": "Regular", + "proTxHash": "66cd6dc20e3f4b85faae07a290a2fa8cce599e5de4e5450e8d4366b5ca492028", + "collateralHash": "f17d1275b4959566aaadde009f3dc2f6d41f952a9e099719f0989207e5674c5b", + "collateralIndex": 0, + "collateralAddress": "XwcGEX5bRJAHcWahseTt6CZMLFsTvg3Qyq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.101.187.72:9999", + "registeredHeight": 1908075, + "lastPaidHeight": 2112714, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2114826, + "revocationReason": 0, + "ownerAddress": "Xd8bDysGYg6MtC1e1sGzzZc8vgACh8pZLj", + "votingAddress": "XgBLexcQcR4i4p2uBNRjV7uJWhnxi3HiTg", + "payoutAddress": "XwcGEX5bRJAHcWahseTt6CZMLFsTvg3Qyq", + "pubKeyOperator": "b879e97389b62a23cc7107bb78de4607b68651143d7998ab3627e4808b61c714b97bfc99f02652f3c95b6894256ac049" + } + }, + { + "type": "Regular", + "proTxHash": "229e38ba785b679e39c80af8787ca1c7efe0d9738322d72cbd4f09119cde069b", + "collateralHash": "f5943a1cd0f2a66b0477ad1c5c89e737b978cda9ae292446f171c0a8544ab4d5", + "collateralIndex": 0, + "collateralAddress": "XibiJY872ukZn1sATEY1pyJtTeqPkGNBqq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.154.254.43:9999", + "registeredHeight": 1908075, + "lastPaidHeight": 2112723, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "XjcjPd35Rposb7DJevX13JGWgeH44m1FrL", + "votingAddress": "XiuavtqbYwVzvTKXPYYnRyKkbGn4QWZxeW", + "payoutAddress": "XibiJY872ukZn1sATEY1pyJtTeqPkGNBqq", + "pubKeyOperator": "a9c506a6c2afd38a9d3ddd76d0419893327426dece9e246e1d22c4ed91f5c8b28e16f6fbdc5aed46083ea4a1f42f8350" + } + }, + { + "type": "Regular", + "proTxHash": "7058fdd8c004c30cd0fff7b2a75dd41c6f77fec5c5afa6f0a2fc4899321b664d", + "collateralHash": "5331982ce88c413339677a47b2de6d9d9d129fb75951bd71a1bbf21b1f54d02f", + "collateralIndex": 0, + "collateralAddress": "Xk7uGAF5YsiCMod98Bvu8ZEeh1CrhB3n4k", + "operatorReward": 0, + "state": { + "version": 2, + "service": "198.199.112.85:9999", + "registeredHeight": 1908075, + "lastPaidHeight": 2112721, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "Xuip971pVtHesSQPbc1Ktb3dxPQwP82K59", + "votingAddress": "XpQa4P4khrpGU24NVZuULkDD8oQUqkfBe9", + "payoutAddress": "Xk7uGAF5YsiCMod98Bvu8ZEeh1CrhB3n4k", + "pubKeyOperator": "a6955567e2a83aebb6b09f52d1996bfe8666051ce30638135afd7a0ab8bb6239e6e185ba8a654eb3cf4ede3ec7ce9509" + } + }, + { + "type": "Regular", + "proTxHash": "5bf21e88eaa67d87faef1bd516010844e500537112c03a381acdb4de0a4183fe", + "collateralHash": "d4f4ecd772f10039ef85d5a24499c36d01deff71cab7d1e09f42464e741c42de", + "collateralIndex": 0, + "collateralAddress": "Xgz5dtNCCDTUu1dzvgxQpzdg7ZRytEuzfT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.156.58:9999", + "registeredHeight": 1908075, + "lastPaidHeight": 2112726, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "Xtdv9sDfd196zLnyChVgWWWnmMA5J7dNDf", + "votingAddress": "XjVxAH1UHoyVGEddDsqTvdo7JDDnpV7xvC", + "payoutAddress": "Xgz5dtNCCDTUu1dzvgxQpzdg7ZRytEuzfT", + "pubKeyOperator": "adb8c74641aa647b56c828925faf306607b817f811f73f4cd8675066e2b6c2931cbf7d3f4b445c2bca20c7f0c7cd33d7" + } + }, + { + "type": "Regular", + "proTxHash": "70e6875cb94107e7956dcfa22cced6d93d8652b1b8ca5630747bfdf92f3c493c", + "collateralHash": "cde4da62e1690b6769198c6a9d4ee9ffc1a70f77da9c8cae79a3146231a18309", + "collateralIndex": 0, + "collateralAddress": "XtMmN12zEVgeaRYiJJC6dQEqbMmgPVUvAZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.139.18.180:9999", + "registeredHeight": 1908075, + "lastPaidHeight": 2112720, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XvoRdeuzwNzdUQ6KKhkz2WF4mN5Q2kMBkf", + "votingAddress": "Xs1thLtmW6RetS9SFJycPVTJK5KfUCQad3", + "payoutAddress": "XtMmN12zEVgeaRYiJJC6dQEqbMmgPVUvAZ", + "pubKeyOperator": "ad9dd9350bb5bd031c75d97457ddb185881c156a8f1674e29ec419dfb6f24d2cd1a18ffb82f1969f6b13db41f1041f07" + } + }, + { + "type": "Regular", + "proTxHash": "7c2fc2a772a666c38f69fb2ad01e091680fc5d6058799508c75f1d5d017a7fac", + "collateralHash": "d9138f7141e6fcf100e15f7550d213f94142a3324ad6f9d0bebcb07852094aba", + "collateralIndex": 0, + "collateralAddress": "XdW46DzBunXTix3Ng1jZ62JC9vTXg5FTZn", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.98.146:9999", + "registeredHeight": 1908075, + "lastPaidHeight": 2116134, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117130, + "revocationReason": 0, + "ownerAddress": "XvqGJfX8SCMmU4PssXGd7E4Sw5RLs6dKsn", + "votingAddress": "XiUF5ovwzGnBrtHsgPcbwafSatt1r9h1wN", + "payoutAddress": "XdW46DzBunXTix3Ng1jZ62JC9vTXg5FTZn", + "pubKeyOperator": "b1a23ef1992c6b96dcd19cd1f574221a1f9a42a3d393ed7c3fbec8b140546c72d595918d330fe79ec0c225975e6aa692" + } + }, + { + "type": "Regular", + "proTxHash": "60583d09d94eb33cc0482591cb461c1c5780d7c22c1906ad0b3ca50ef144aae5", + "collateralHash": "5c221cb7c785abbd1ed6274f0e9b6977690cb31efe83a1c4686896c511d0f72d", + "collateralIndex": 0, + "collateralAddress": "XkhfShv5rbrrRmca66Hxi64q9yxDjWzK58", + "operatorReward": 0, + "state": { + "version": 2, + "service": "162.243.4.195:9999", + "registeredHeight": 1908075, + "lastPaidHeight": 2112725, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XhWU1raYAJfSUqZCiWHyF5pK9Y6WLSpZoe", + "votingAddress": "XoNVXeLxqYiNXtQHXiA8d12hWm9KAXuBNX", + "payoutAddress": "XkhfShv5rbrrRmca66Hxi64q9yxDjWzK58", + "pubKeyOperator": "b40f0e7f829ade52cdad5191d9b56861f5b5a9d2cbf6f5f268e7bcc74d165f386cd4ab423506f46aa9da2168424638b7" + } + }, + { + "type": "Regular", + "proTxHash": "6148067761525cd59473a9e515eb2fa4eb3f68df949a537159ab0133eff087ee", + "collateralHash": "8f9263f770e4bd5d2a1efbe5a8e1af4a2677446c7818f75283433a3d100ffb8a", + "collateralIndex": 0, + "collateralAddress": "XqJBAkKP2wphJtkjAzbHe7uaeWLHeN6kA1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.236.218.48:9999", + "registeredHeight": 1908078, + "lastPaidHeight": 2112728, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xq9rTdNjVkKRJXH41EUTutnCDcHH5dxQj8", + "votingAddress": "XkFr3rsHCwEx1hhhygfymdNbnsZS5TQpDu", + "payoutAddress": "XqJBAkKP2wphJtkjAzbHe7uaeWLHeN6kA1", + "pubKeyOperator": "b3b1a5eb0d011aad1a0714c5c6957127bc53c7a9cee252a858afb5380fc08c27e76592fda216674f40e3acec8256dc93" + } + }, + { + "type": "Regular", + "proTxHash": "922d19605e79c514904d41e22d5b88a4dd7d5eed3b689735072c9b41feb359e5", + "collateralHash": "1870ef1fe08154d497b16cb0f0d55a0180598b5e5b7ba40ccd97a9efb636f280", + "collateralIndex": 0, + "collateralAddress": "Xd9G6Sd1q5tjTc1ZP28Haw6pi3kSjJhYFe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "107.170.248.57:9999", + "registeredHeight": 1908079, + "lastPaidHeight": 2112737, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xi7TiAriuCYgAZAyRaUPpG3cwQZiRSrao7", + "votingAddress": "XxmPURfea3Uwx7TUZkrTRbgwWNwDfXe42H", + "payoutAddress": "Xd9G6Sd1q5tjTc1ZP28Haw6pi3kSjJhYFe", + "pubKeyOperator": "a6a1161413692c2fb70839efe57862c5d3e7bc85694c1edbaab13779c5fc05204561473d916e50ba75a89b2093b49b4e" + } + }, + { + "type": "Regular", + "proTxHash": "4407087767e00039292fe6ecd4af66d94c4b8439a55682d11403b81615f3d818", + "collateralHash": "5737b1b98803252fdb0c1d82ad382dd7cd321440fc2f461477f92743da39f29a", + "collateralIndex": 0, + "collateralAddress": "Xo5Z7sT1u4EEDxPQaXQuco3FV1AX9DfhaP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.101.188.248:9999", + "registeredHeight": 1908079, + "lastPaidHeight": 2116136, + "consecutivePayments": 0, + "PoSePenalty": 3851, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117706, + "revocationReason": 0, + "ownerAddress": "XpY1LRzb2nhnMjnTiafagMFQdHMLrhgRsJ", + "votingAddress": "XhA6XS6S9QR6iz2j6vnEQFQ1ud7hjfa2v8", + "payoutAddress": "Xo5Z7sT1u4EEDxPQaXQuco3FV1AX9DfhaP", + "pubKeyOperator": "a92e073119bf7a23a7a5a77c74a441795735f2376c1b650fdc5ea87b31623561d918ab18371d1562ec809747a0313536" + } + }, + { + "type": "Regular", + "proTxHash": "707ef0fc0dc6136dd83444404199415410d9413d8e2db38b5a6b564ddcde7227", + "collateralHash": "ac89cfa0ec775efc855fb6f2251bf679dd7d8dd140535b5389fe72a595a7cb4b", + "collateralIndex": 0, + "collateralAddress": "XvJYyFXcvnJj4s9oJdexJwt1RhR21tMLtV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.190.73:9999", + "registeredHeight": 1908079, + "lastPaidHeight": 2112730, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XtEe1q8PuMoVukTnwqWD3XZhphnpPKakVu", + "votingAddress": "XoBYY3NtrLuqjy1HzUtNeCoshqWQfdYVbC", + "payoutAddress": "XvJYyFXcvnJj4s9oJdexJwt1RhR21tMLtV", + "pubKeyOperator": "b6de64a519aed356baf343ce4eb9bcabe71a480e5234a6289f351c53393975a19b204442d5ca9336683be9e215418cf9" + } + }, + { + "type": "Regular", + "proTxHash": "c26a52045b291ae3991bf08876706dac553abc4329db63cb519f5d8c6690ee83", + "collateralHash": "55a86172d9954fe3a91a10687ea7f61b45d8ebbab8373aa272741df32e076e9f", + "collateralIndex": 0, + "collateralAddress": "XkMDNbRNZysiYpHb7pFPUAgfqY6GZYYytb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.35.98:9999", + "registeredHeight": 1908079, + "lastPaidHeight": 2116139, + "consecutivePayments": 0, + "PoSePenalty": 3838, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2119146, + "revocationReason": 0, + "ownerAddress": "XrXAGJsoX6bcfiRF11iXbYb8dbyFATGsZV", + "votingAddress": "XpRAmxdA7ESRmybDhR3BQjMjpTCEffKMAf", + "payoutAddress": "XkMDNbRNZysiYpHb7pFPUAgfqY6GZYYytb", + "pubKeyOperator": "b0e97a583100f6613f5a21f72561c852b965586a6645d76a7b3d8582c914b7f061ddaaa0979889229b5166ce2bc224b8" + } + }, + { + "type": "Regular", + "proTxHash": "19e671ef2ddcb6f75181237ae9523663fd1685c33bfe41cf9e71400d29c00c6a", + "collateralHash": "4fd8b7b497fa122a1c9ace8b33db9fae6ffeda3b3fe5d28a9c26dafcf3c0ec2e", + "collateralIndex": 0, + "collateralAddress": "Xe7drEQ2LUbTwUv7S6n1b6jgWUo4RiZFbp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.209.199.26:9999", + "registeredHeight": 1908079, + "lastPaidHeight": 2112732, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XvpdjfBxynkf7q74WpFWM4hcQUJ6iGY7sH", + "votingAddress": "XxADKcKZd3ehuVFYxadW9jCDU1SW92brcu", + "payoutAddress": "Xe7drEQ2LUbTwUv7S6n1b6jgWUo4RiZFbp", + "pubKeyOperator": "a1ad85040e6e7ccd48a4d7d362864da3d97bca1d9e8d1561232adbe9f21d11c60be490d12560f289e86fc313175800c6" + } + }, + { + "type": "Regular", + "proTxHash": "df96b141140a4d0c26ceeba56696fc5cc2488ea159463955cfb9dad8c9c369a6", + "collateralHash": "5602132516b323e0aa5644cb9816f733938e4f50d017e8f633a7067d7456bfc2", + "collateralIndex": 0, + "collateralAddress": "XaqwPuYYpuNZYSigi8DWf9b1EAS2kFFKiV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.146.246:9999", + "registeredHeight": 1908079, + "lastPaidHeight": 2112735, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XdYwbgkqbRV4uAY1AchuDUaB5kG3w61TAY", + "votingAddress": "XgVeztsDd7DeQP7ceEisQRkTWzHETDNLT8", + "payoutAddress": "XaqwPuYYpuNZYSigi8DWf9b1EAS2kFFKiV", + "pubKeyOperator": "b97ea2d72c34cb18fff8bc909bbc8c0dfb3f6e0bf18a4765e4ebb75fbc28cc9cc8a69a4d7c8aac1b32cf229a80bd0359" + } + }, + { + "type": "Regular", + "proTxHash": "e218559740e70fe5b57ee9b3f33e8edb2b7c29a158bf61cd41cf0f446171b17d", + "collateralHash": "45132261a8d23be6ce78d5139919af8d4c1243e0a37e8dfc12a1c35d4b45bfe7", + "collateralIndex": 0, + "collateralAddress": "XpHyR3mtNTgALn6XBHE7A3vPhVAVkg1dcj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.68.160.102:9999", + "registeredHeight": 1908079, + "lastPaidHeight": 2116138, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "Xwdq2rwMy3QjqxjGgAzYdcjmeCWd6R7Qv3", + "votingAddress": "XqatCN9DnkvMqSE3xmebyHEt34DdPfNs4A", + "payoutAddress": "XpHyR3mtNTgALn6XBHE7A3vPhVAVkg1dcj", + "pubKeyOperator": "a71db11acdb90986a04c94b192178f8112c1eb4483677059cc5a6925e34e18869faa03e2667c6fb31e988854abe7dc45" + } + }, + { + "type": "Regular", + "proTxHash": "64a3dc3f65b3ca78fb8b4ec6c82cfd99ec520392248ad7200abf260b67923cc9", + "collateralHash": "96afadb2f6a1f63baa77f89736c87676754651b594051bc01155a60528c56a62", + "collateralIndex": 0, + "collateralAddress": "XbLQi4M11ASeCJaAmmHK324HKTHaF2yz1v", + "operatorReward": 0, + "state": { + "version": 2, + "service": "142.93.173.242:9999", + "registeredHeight": 1908080, + "lastPaidHeight": 2119320, + "consecutivePayments": 0, + "PoSePenalty": 3837, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2119722, + "revocationReason": 0, + "ownerAddress": "XmLFLfFn2aStw87K5FsnpdVAwkant32LMy", + "votingAddress": "XtXjj6Gg75iA42SKnW6aXi3qVT1o9cx3Y7", + "payoutAddress": "XbLQi4M11ASeCJaAmmHK324HKTHaF2yz1v", + "pubKeyOperator": "b4a877669021d2d4da0f930341691839d98db59e1ba5b038dcf461f441bec15aec99cff2c23a046185f0a720f2f4c571" + } + }, + { + "type": "Regular", + "proTxHash": "2eef564aaebf3e6aef42ab03b0190afdd0c3b5e68ce1db05837e290ba8235d3b", + "collateralHash": "71b27c59fe6c1ec49087a0442139667e3c8883590a6fb8d762fd4278b7dcdf27", + "collateralIndex": 0, + "collateralAddress": "XwdxdzxGZ9T3bZ8oVQj3AXVugvQnU7YHy4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.209.200.174:9999", + "registeredHeight": 1908080, + "lastPaidHeight": 2112739, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XttLbb8Ruv8MPCeVxfhdBRitJbbFcVmCeZ", + "votingAddress": "XosgcrzFiNYt2KJynkuCTssXSoB8Hdh3e1", + "payoutAddress": "XwdxdzxGZ9T3bZ8oVQj3AXVugvQnU7YHy4", + "pubKeyOperator": "a65210d5bbf4aa0f45415065d06ebaae89dfb6344867312bcc69679bf17a6038d7502287c91e2855cda868ce07142109" + } + }, + { + "type": "Regular", + "proTxHash": "279478340dc02beadec93a2c5da48e33ca3a2f5c14ae92ac8eb74216e02306f5", + "collateralHash": "06a896d37ed8775c354510747e4b9061189fddcb6e7aeea4381cf7dc726841d8", + "collateralIndex": 0, + "collateralAddress": "XaqZmz67BwrTTVuHdFeuf8rZYCmzSaYbAb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "198.211.127.203:9999", + "registeredHeight": 1908081, + "lastPaidHeight": 2112743, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XpcfdTTr7jVnR9AywAUJAxdzMcsrYUHUZP", + "votingAddress": "Xpch6ttRFH9togNeK6SF14tZnCivKWLKvm", + "payoutAddress": "XaqZmz67BwrTTVuHdFeuf8rZYCmzSaYbAb", + "pubKeyOperator": "ae715c945719baca4c7cad63124c05c639a9d2ed189d925ad76eae09111da6b9de7a3dfb9b36143304b1e251c18692f9" + } + }, + { + "type": "Regular", + "proTxHash": "c3f6ffedca62ea0f19c0c3331e6b9c3a2289e0fd8193d0900c6061565ad44ace", + "collateralHash": "bb22a0d3923cccbabb39faa556ad3f15254b239b524a2400d29a22a954047754", + "collateralIndex": 0, + "collateralAddress": "XsHfTAHgH63eyXizUrriQiathCL7EAMUSB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.230.118.132:9999", + "registeredHeight": 1908081, + "lastPaidHeight": 2112741, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XbRLS4kwWfKQGRsyNaBTmfmXqPBKzXVFJf", + "votingAddress": "Xd7Znjps4HiszZLeD7mjqnofszQH6v6R8q", + "payoutAddress": "XsHfTAHgH63eyXizUrriQiathCL7EAMUSB", + "pubKeyOperator": "a244d8da185a3aee08b65c59de0acb28b1e959229fb7500b41ee6bc4afb4d4d82807b04cf4f82ce35500509b7e2380d9" + } + }, + { + "type": "Regular", + "proTxHash": "e48bae7a29ccca2cca631206fe79dc083ac941d7030d16eea6c3dd4d030a0bb4", + "collateralHash": "b3c5cbbeb99d1c410638b0bc0a1e62dcef55acc4df4ce56678568277bca94f3c", + "collateralIndex": 0, + "collateralAddress": "XrLKEng13UBJE3Lk9CWPrCDL5G9CGmZCDq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.226.32:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112759, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "Xhj9qrdAijEiWNSmf665Ryj7D1zd1yCJMC", + "votingAddress": "XgwdrZT6pVBKhqntRfhp6dRMCTG6bCV8BB", + "payoutAddress": "XrLKEng13UBJE3Lk9CWPrCDL5G9CGmZCDq", + "pubKeyOperator": "b6716c4ac684a18868659c72d3824d938848115c1b9ed6aa1d3f3dc808c6de1460de5563320b331c6d2a2ed87d905f88" + } + }, + { + "type": "Regular", + "proTxHash": "aa91dbd15ea916223d3e3e8d149ab2526949121012771ef9db3e2aecf2591c6b", + "collateralHash": "7151a514a883b7dd3237be66c9dc1a4932fa424fefbee23c15c9a7fb2e16d0c1", + "collateralIndex": 0, + "collateralAddress": "XprHtobwRrJ8TbV1MSuoqedfokqNfoKxAu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "198.211.122.19:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112756, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XqV72u9WbPb6bff4p5RWDpryEoVtdxsevK", + "votingAddress": "XvT4Jhc52D6jHL9G1ktiavGFTV58cFR7kJ", + "payoutAddress": "XprHtobwRrJ8TbV1MSuoqedfokqNfoKxAu", + "pubKeyOperator": "aac6d5a609fc84a41fde1c18907b354d2ab740e6ce5998b93f5b1ad99a836edf6a31da3267025b2157de01b57a26965a" + } + }, + { + "type": "Regular", + "proTxHash": "5db21a305cdf8f5e9b6166360bedcbc56abdfd871a1c42cdbc4cf6f07499990b", + "collateralHash": "4e6b58a77936d526336f2437429f0c4538fcfa9687185da26302c703d3e75ebd", + "collateralIndex": 0, + "collateralAddress": "XdUWF5HnhgkVRzMEVuR8HEzaAcsJVqJYY3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.198.94:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2116144, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117418, + "revocationReason": 0, + "ownerAddress": "XuEdNirKXLngLfjayjnkEE96ryV3W73ojm", + "votingAddress": "XtW8NSSXN1NjH8xEGjVBRjue6HV6Nyj7Lm", + "payoutAddress": "XdUWF5HnhgkVRzMEVuR8HEzaAcsJVqJYY3", + "pubKeyOperator": "b0c5a0f5068a5b7d2abe9ebb09a814b7f380662d2d62dcb6c87bec70570188f55fa7b9d8ee938517532fa59e24b84dbf" + } + }, + { + "type": "Regular", + "proTxHash": "1550dae73a70147d55f9ff9c0bcfef60f3e84b1d0b5f81c348b97111704f00b9", + "collateralHash": "942a0a4b3cd5172ff6711d2c5e8c5b2a202a02c983e54a9bd1579017565d2a35", + "collateralIndex": 0, + "collateralAddress": "Xfu7ZEkhCVdU5JAFuGeYMZ6v9Z5wKfWYXp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.207.156:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112760, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XdV272igfWcgz86r4up5h7SWKFmBEA57E6", + "votingAddress": "XmknuWDx5q5dSbhNYM9KvYVc2jV7k5iy74", + "payoutAddress": "Xfu7ZEkhCVdU5JAFuGeYMZ6v9Z5wKfWYXp", + "pubKeyOperator": "ab8051ea0e483425397101c129a7caaab8ca713c0fb6928ac166243aa3f1aa09254aaeff2a04ebc83c64a8e6e5708709" + } + }, + { + "type": "Regular", + "proTxHash": "d89d0f172e185764175d43fee76284467aea868a8d0a0d056751e19950ae1b4b", + "collateralHash": "a9b487ec7cfd03a02bd75dbd4a7b4da8f47ba8f93c3fa9de0dfa0522b00ed4e2", + "collateralIndex": 0, + "collateralAddress": "XmDbBSjKzwRgPhexXQuJpLpi1L3ouiumcU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.161.236:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112754, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XqajK2YcE8NaGnTcwyp1jbPkYya7eUi2jZ", + "votingAddress": "XiMBZNi3FJ69BcjLULTm97FU99xx9pNBDn", + "payoutAddress": "XmDbBSjKzwRgPhexXQuJpLpi1L3ouiumcU", + "pubKeyOperator": "ac553d845b75f488204766164c2f1ac0e92d319956719942340d1a2d3343b44b957a12d717d16e171186910c09887ae2" + } + }, + { + "type": "Regular", + "proTxHash": "7d6eab097edba4e752fafc3714f220af02e811783ba7c450eed2aa10f92ccef0", + "collateralHash": "a433a88e8db7ac37d91bcc23bb08bd96426ecf141621636700a38d5d1da032b2", + "collateralIndex": 0, + "collateralAddress": "XxoHhU6JG3k4e7aSjXPts8GL76BTnkops3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.68.131.203:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112772, + "consecutivePayments": 0, + "PoSePenalty": 3855, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "XpBvmjdGpgiVw6MY3RCbWo5y2MCKBRMuFJ", + "votingAddress": "XfutoEEv7ufr5xhDGxoBWBX81KRykjdzMM", + "payoutAddress": "XxoHhU6JG3k4e7aSjXPts8GL76BTnkops3", + "pubKeyOperator": "b44e1cd8ea17b47137f94260f41dcc61a6b40028d0e7050830e430d4e3b3390ed2618587fcfeb130c2cc8e347b5bb8cc" + } + }, + { + "type": "Regular", + "proTxHash": "ef9d159c853509cc4e9961e0bceeb3b28518bf51d4d5b5c2c06695b434c2bd3f", + "collateralHash": "e57850a559f2a96c2753f2e5b93f69b5d9ccc5306e1aa95f2d03595e72c9c640", + "collateralIndex": 0, + "collateralAddress": "XiBt6zWxXYesS76exF6hhtCNquiQ6wf2xQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "198.199.104.246:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112751, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XmoioHknfyjdfMSe39cvviagwqUZTJWu3q", + "votingAddress": "XnTc3DUEsnU6uBwDQUQkYUzkvKbqWHujys", + "payoutAddress": "XiBt6zWxXYesS76exF6hhtCNquiQ6wf2xQ", + "pubKeyOperator": "b92a393f890ca1231283498d959e9a6a6525b2ce941bf511793466f3a3805d7a773390a23f64ce2fb6529ccbed0eb1d4" + } + }, + { + "type": "Regular", + "proTxHash": "ed0b7c27a24923b05f002f5fb6b299789dbe29794d3639ae3b3c74740bc214d4", + "collateralHash": "ce5950dc0a2bb301c223711805bf67586e977adc3bd721d4ce2c93a1d99f63f3", + "collateralIndex": 0, + "collateralAddress": "XkN2C5X8WeD8voHrJpL2TPQM8S2R6Btaqq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.211.171:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112766, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2114826, + "revocationReason": 0, + "ownerAddress": "XwdGqNBvx4fvydXwcvoqixfNyUGaJRnUw1", + "votingAddress": "Xvi94c6fufmHMFD5xv7SFp7Vf7uiCwfS2M", + "payoutAddress": "XkN2C5X8WeD8voHrJpL2TPQM8S2R6Btaqq", + "pubKeyOperator": "aaf99b4c7bb349ddaad19d12b71102f985526a48c4cbf51653f259355925813ba2d20cabf5e0b23063b86f484b21827d" + } + }, + { + "type": "Regular", + "proTxHash": "ecfcc1ffca0b366caa6d7bc6c43e3a980da303f2cc5f35ff80b862811e7366d5", + "collateralHash": "9f539c4b802d7ec7a49cd65da54e617eb37a73a258301ee44467eb16dcd37ef2", + "collateralIndex": 0, + "collateralAddress": "XvwD1uwvqN6oVGSV26iYA71nxrEcGadyab", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.29.238:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2116157, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "Xan6hCyGJ4ujJkznx5dygbD4hugb2Z12sw", + "votingAddress": "XrZzLUKGwgiSEH9e8qbko3SJF1dt2BXSJm", + "payoutAddress": "XvwD1uwvqN6oVGSV26iYA71nxrEcGadyab", + "pubKeyOperator": "b7124ee19a2f7e46ea82452d5b6acb83ba6058252b498c3d88da01a911ac6a27f5dfe95ac7295df71b3fcf718b12e5d6" + } + }, + { + "type": "Regular", + "proTxHash": "de9df1a71c951589c645b9697dc9635f075b96bba4d94f0a7b5b251bfda3ce74", + "collateralHash": "6f82a9ab0c2a72e159efb8d1bdf5de30ae1dfbe71eb652f45b99391539709ba5", + "collateralIndex": 0, + "collateralAddress": "Xim1Ddt99JqSzpcvza68K2Gz53LnSimuQV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.143.118:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2116151, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117130, + "revocationReason": 0, + "ownerAddress": "Xhx2LvHEmJsNR42QYUcGUPFrmW5NcyDhtz", + "votingAddress": "XeGN4MBa7R68PyttStjmHmk29KeG6k46cy", + "payoutAddress": "Xim1Ddt99JqSzpcvza68K2Gz53LnSimuQV", + "pubKeyOperator": "aecdd34f7bc28063f9769fcc5bcb1b817db01dfb4660abd0f8539b463623036b66c7eeeb10236b9847eda09e732cfa1e" + } + }, + { + "type": "Regular", + "proTxHash": "ea1cba31a4fc16cf2b3cd9293a25e5294c4a2a0b8228276b03587ffd85712f2d", + "collateralHash": "9e48fa490e934b5d2c976941d8ba4d5f9d8fca3dbf637007fd746f51ecd319a8", + "collateralIndex": 0, + "collateralAddress": "XxL2LDEpV8mS6W9XBBB3EUEG8iFJkm5NLd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.230.36.164:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112747, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "Xiyfu2bj9NB3pMezkwMs4KSRVtyJ4fCL1f", + "votingAddress": "XvH4d5TF56sGrHPr48cDdxddJfJbvMeCUC", + "payoutAddress": "XxL2LDEpV8mS6W9XBBB3EUEG8iFJkm5NLd", + "pubKeyOperator": "a0f6224216cd841b2e9d00fa7500a8b2117d16c605cae6c5b500019902928cdfb0c41032a6737dfe4a2a87f9e3cd48a2" + } + }, + { + "type": "Regular", + "proTxHash": "d399dfb7977073b566693787233205bf680708ea0b15721dadb065bf1b467a3c", + "collateralHash": "009f80415e567ddc577e95dd71a2e021ac97ff744d305b8defeb32905fa090bf", + "collateralIndex": 0, + "collateralAddress": "XraMui4tBaAwqva4wbouUeLiRyHZqFDp44", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.99.183.140:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112748, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XcuG8j9j5vL45sLg3VD6DJGfSvHjELq7R1", + "votingAddress": "XoFRVjhvoJ89dicvPAXRa47HmuKq9fzFfX", + "payoutAddress": "XraMui4tBaAwqva4wbouUeLiRyHZqFDp44", + "pubKeyOperator": "ab60a43c0e02e3a617e276d126bf574614342af4bbb173738a90d587eb27e824d252f03b4d85eb93f1dbdf01eaa8ad88" + } + }, + { + "type": "Regular", + "proTxHash": "b1252bfc1a4851bbd2694ce4e43a4eca65779949a2e8feb43d3b3042c85c51d2", + "collateralHash": "893dfbf8d7b7af06c7a528a2c8d22e124a9c23e26ffac294d95b1f96df7e8e0b", + "collateralIndex": 0, + "collateralAddress": "Xxz1qmeg6Re2u9UJjpysqBW9LpFivk9rEh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "162.243.136.143:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112764, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XjVLVUFHWkTPjMEq1PUPzNowJ9as7jYrrU", + "votingAddress": "XjvdRXT9WJKLLB7FuLhbNoTSDgsdg4GqNY", + "payoutAddress": "Xxz1qmeg6Re2u9UJjpysqBW9LpFivk9rEh", + "pubKeyOperator": "b704299760f1ad54605d643fcf8038b9eb4313314311aafe97338744050dd979d5999248f70b592905d2f243549ab1dd" + } + }, + { + "type": "Regular", + "proTxHash": "dfb6e609c42cf9f97a3b55d8b1569f6e7b93e8589b8c0ff571d8567a121ae943", + "collateralHash": "05e7c57079eb8aa3f18e88b2f6f761c53f8cec38bcc0a2987fefff22df5f803f", + "collateralIndex": 0, + "collateralAddress": "Xg3ZAGsmmhyUmoRC7KTXPaJbGZ2NjkVZ5c", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.180.40:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2112753, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "XnYmWauDcTmfMmH2BRMsWdzqfurWmULbDN", + "votingAddress": "XuJZZ9qjwMGdRUCe9ZwvARvVxJneHkfZYF", + "payoutAddress": "Xg3ZAGsmmhyUmoRC7KTXPaJbGZ2NjkVZ5c", + "pubKeyOperator": "b04609405d345733ac2881d35e4998b86584032758b713febb4e6810654dfc9f3dc520f99ff633009ef73700576f05d1" + } + }, + { + "type": "Regular", + "proTxHash": "f36f186d29f2a9a7f315e6916ce3ffb2d3dd4ebaed1a1cf243b31b7a95f7b4d1", + "collateralHash": "862dfedfb94e5619b5b58e45a83ed9e8a79f4f969bef5a5e0fad8db05b157fad", + "collateralIndex": 0, + "collateralAddress": "Xv5MS1fAJRT1NFTz8b2rBSk3LSxWr6d2rW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.199.158:9999", + "registeredHeight": 1908082, + "lastPaidHeight": 2116155, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116842, + "revocationReason": 0, + "ownerAddress": "XeCn2dCn3NT2SwuTGBfkgPQSgfjBnrJkeT", + "votingAddress": "XoVtubgpHQ9jpjVknBCW4MyWNi78Fymthu", + "payoutAddress": "Xv5MS1fAJRT1NFTz8b2rBSk3LSxWr6d2rW", + "pubKeyOperator": "b286f8be0f3fb57659c5e224a153a5e09f1a3eabcd7e06f553260b4ed2a3956ea4c1eafbe9b783fb5581e1b31b362c6a" + } + }, + { + "type": "Regular", + "proTxHash": "1c77732e531cec111819ea610ebad9a313c2b25c7ef8bcd8cad4c89c1a0cbc3e", + "collateralHash": "3ad07cff0eb7fdd33fd0bc957badae6d3cad90407cc49384a329d080d044a237", + "collateralIndex": 0, + "collateralAddress": "XfXYca7Qw6kT1LJmM6WpRY9zxracYosV8N", + "operatorReward": 0, + "state": { + "version": 2, + "service": "209.97.130.240:9999", + "registeredHeight": 1908083, + "lastPaidHeight": 2112774, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XbAWDisbaJgWmM1baELSDzWTSF1wzHnk6q", + "votingAddress": "XcZ7spciRaVk6vEcjAZVhY3pVEaVibW6km", + "payoutAddress": "XfXYca7Qw6kT1LJmM6WpRY9zxracYosV8N", + "pubKeyOperator": "b9986c3d813e8e0edb7bb8eba0b55434beed3a0999de420cd50d34debc3857ea07e2603afa76636028311e8922e8abe2" + } + }, + { + "type": "Regular", + "proTxHash": "19a0d3fa9f1d92d60a7c0986ce34c9e08d57c436001d05093f5885566b35335e", + "collateralHash": "b02cb705495d3d69d15d1bf80936c8d010857d189a8de16c1dfcf72d1a213ac9", + "collateralIndex": 0, + "collateralAddress": "XgwL4HxXS1LmoUyEoCgeDPBuMBbWrhW8W3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.209.111.113:9999", + "registeredHeight": 1908083, + "lastPaidHeight": 2112778, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XkMX5j1AnZdEqvaD51Riem5umeTQxWotYQ", + "votingAddress": "XciThfacVNRvfaG61yCMoihFPR1BukTjb2", + "payoutAddress": "XgwL4HxXS1LmoUyEoCgeDPBuMBbWrhW8W3", + "pubKeyOperator": "adaed8ecc8e4a40c69162eede5839ac7b2725bfcc697ccfc256583a510be4ebda5c7f55a5d3f00b4743941fe1d39875b" + } + }, + { + "type": "Regular", + "proTxHash": "d48b477723764c78545bf633e10c0122211c40508bbf8014355e40a8bb047e81", + "collateralHash": "4565d0f7e222cc8521eae5b2c39bb6c8cc60581089b469d6b5755b501cd4604b", + "collateralIndex": 0, + "collateralAddress": "XvCQEhg14nHrGSPMcjtQ12EZwWKmMmkpyg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.138.60:9999", + "registeredHeight": 1908083, + "lastPaidHeight": 2112779, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2114826, + "revocationReason": 0, + "ownerAddress": "Xm4qR1eMxmpw4RnaQDQmYNXDrmhJG5KtqT", + "votingAddress": "XqMKcYpLtdT3V6pHyA8heVpxMbCSe9zVDP", + "payoutAddress": "XvCQEhg14nHrGSPMcjtQ12EZwWKmMmkpyg", + "pubKeyOperator": "b9b44cc290d25a09a0c9e32df9a95c13f20ba05081e6db8c4b4d762392163c5438d1eabd32ae9abbdefa96eb87350203" + } + }, + { + "type": "Regular", + "proTxHash": "f8beb1dda276e38c7de2b92aafc5cf4ef2f2f36667fa5277d56a69c3abdc8959", + "collateralHash": "2009ca9ace47f75cd7d60b27f57c78bbf1b766a9d6191864a51735ee396c91c4", + "collateralIndex": 0, + "collateralAddress": "XbngipUhgsQS5qA2yxNHmtRHZxbQuqECSc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "198.199.113.45:9999", + "registeredHeight": 1908083, + "lastPaidHeight": 2116163, + "consecutivePayments": 0, + "PoSePenalty": 3851, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117706, + "revocationReason": 0, + "ownerAddress": "Xi5pMEzomqtWLKE677f8bC6PGZxCC5MHY5", + "votingAddress": "XwhmUfiHJLRaaJEWA56UbWivRPHX3P11KN", + "payoutAddress": "XbngipUhgsQS5qA2yxNHmtRHZxbQuqECSc", + "pubKeyOperator": "ac450f7a8427e230c5b88db979e40419ce8782e32ae9b9bb99584d109dce0486a9738518b5fed721f4a54ddf47cf64ba" + } + }, + { + "type": "Regular", + "proTxHash": "8b11dd4a15fd913a84be6858e046c6863f28138268de2cae0034231d21385228", + "collateralHash": "5d28e77787df0c744be3a696a9cfed92bfaa3d07e11f960a8d3ed578f38f0ebf", + "collateralIndex": 0, + "collateralAddress": "XampSarSf9Jp3Cab3NPX4pvD4HtCob6Lwo", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.139.6.108:9999", + "registeredHeight": 1908083, + "lastPaidHeight": 2116162, + "consecutivePayments": 0, + "PoSePenalty": 3828, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2118282, + "revocationReason": 0, + "ownerAddress": "XsGMn7Z7nKLdfjsiVqFb69sAxP8bnC1pjR", + "votingAddress": "XcGz9vBDQJrQRcB5Sd991rCtWLST4TrL3K", + "payoutAddress": "XampSarSf9Jp3Cab3NPX4pvD4HtCob6Lwo", + "pubKeyOperator": "a9e1d6352f7a764db55b02daac63c2858a7971038267e49d7f88597f28f5726ef6692ca15208674b2df6c1b0d99af743" + } + }, + { + "type": "Regular", + "proTxHash": "c094c53053c1a1ec575d39e18b4ad80141db50c7579aceb7731b164f010d068b", + "collateralHash": "2af69a447a76082b0ee8e7159c79d6733022bb5f11989b9d142b8180d8c7a857", + "collateralIndex": 0, + "collateralAddress": "XuZvpECbHk7AErEKJM7U9GyGnLdcdzS4P2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.89.236.186:9999", + "registeredHeight": 1908083, + "lastPaidHeight": 2112780, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "XyksFi8Fd7HtZvBb6ZVf9pf3Jcexopga4r", + "votingAddress": "Xmjrm97UCRqV2vpheR6MtaKDoGRHnFkxRL", + "payoutAddress": "XuZvpECbHk7AErEKJM7U9GyGnLdcdzS4P2", + "pubKeyOperator": "a38508d08621d3125583449e21b5ef614010434b2abf7236dab5934c6b9590892aaaea11076bcb13882c20ca6801f859" + } + }, + { + "type": "Regular", + "proTxHash": "2304f648ef4d7c4770e31ef3680d19ca7da3487215e129e063c5d0cb44be7c9a", + "collateralHash": "50b2eaabc52d84698b88362c829a28db874274ad2e1c37c194f1c543eb590086", + "collateralIndex": 0, + "collateralAddress": "XeXe4kGVCPTpqFGT8zGKpx4jXp1A88uJ63", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.227.28.93:9999", + "registeredHeight": 1908083, + "lastPaidHeight": 2116169, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "Xqvy8TRPPw7j9h9WxtieCEr73EuCzrier1", + "votingAddress": "Xn6mPWDEjTcWNe4mjFVDs9YZ2ykmeG999g", + "payoutAddress": "XeXe4kGVCPTpqFGT8zGKpx4jXp1A88uJ63", + "pubKeyOperator": "aadb77062d40711a98928ab876a167c40bdd70b97d6ab8b07e9cb6b917a1a95f33b3c648daf6999d2e8a4323411483f6" + } + }, + { + "type": "Evo", + "proTxHash": "12f35c3050a1e08b9a79002218a0f5f7b2e9709cf82cfdf9ab04c74dbd16cc5a", + "collateralHash": "9039ef7a74966c33fdf75df22368308a20d81dfa398ec81d2fce3d34a1ab9b14", + "collateralIndex": 1, + "collateralAddress": "XevbJqmBkWppB17ALvLy3LvFxXHnCPPxT4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.110.216:9999", + "registeredHeight": 1908173, + "lastPaidHeight": 2128702, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdADMTfykDECsZJ1GYwN5gyzVTVxbJrruW", + "votingAddress": "XxZyC2UmpgoHjMbayRyA2UbXhaRCpMK9hZ", + "platformNodeID": "bca99907b2697d25503089b139c45c07533006f0", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XeT7F5aqXdwaqr4jyAbrx812Xff2zvBezd", + "pubKeyOperator": "b5164436429e3439e883d80eb0e19de8e37d264b99067afefe1e61b07d288be9f5d6dbb96766830522c3cb6be741d5b5" + } + }, + { + "type": "Regular", + "proTxHash": "a7301ae34518dc78a583aad1748de02cb0bd91fe79d8c22f6422a2fa016fc723", + "collateralHash": "60f62121153426d91b7ae8baa5e7f229db7e86407a73eadb266c37da73aee60f", + "collateralIndex": 0, + "collateralAddress": "Xgy4b6QHrpMUd6jpTHsGcuoMkKqYsTbtAv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.159.121:9999", + "registeredHeight": 1908836, + "lastPaidHeight": 2113587, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "Xyh3wCX3BmUTHaNxi3NNxpwAF2MNdpFXA8", + "votingAddress": "Xt2ybqvHhMn8UhwNSLdHqxPcMtJzyAxQjP", + "payoutAddress": "Xgy4b6QHrpMUd6jpTHsGcuoMkKqYsTbtAv", + "pubKeyOperator": "aa6bf89f4dc35d0ae22f8c0270342a71447a23031ae7d3a16123573e4d07fa2007bfdcb50fd3d4316b60342cc52ec2b3" + } + }, + { + "type": "Regular", + "proTxHash": "b1e7d848bf9d0d252e8a2532ae58e425ff70cf57c2979c6561f08279507772a5", + "collateralHash": "4025f8f27e64a4bc78ae2c2e49d4ad465da3806a82d26c2f9f6e9739ac4b1ae1", + "collateralIndex": 0, + "collateralAddress": "XyZVV7Wg5rS5h7W3jr14ss9QUxSdAqoVzL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.89.28.205:9999", + "registeredHeight": 1908836, + "lastPaidHeight": 2113599, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XdzfoHLD1J41hc84NGVYHZPUAhqVb7z4fK", + "votingAddress": "XvAxdRXSEfkq2vQVbohQNXswVngXb1dins", + "payoutAddress": "XyZVV7Wg5rS5h7W3jr14ss9QUxSdAqoVzL", + "pubKeyOperator": "a5e6ac34bb6b68da7edf77d16046215835f71c0bf67e927c72d3c43441a4f09ecf127bd6b46bab80cce4725bfe008f26" + } + }, + { + "type": "Regular", + "proTxHash": "8376abf4e29c529b1cdbc9c4ea4f7d92015df1863c477bc1cac999d6d9412e2d", + "collateralHash": "032968f2df6b3ebe31a2fd1ac62ad5b94c52f956fced07243400f78abe34a72a", + "collateralIndex": 0, + "collateralAddress": "XhJZZS3o8vLjy7F9sk2B58DuEryrcAntNx", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.89.5.181:9999", + "registeredHeight": 1908836, + "lastPaidHeight": 2113589, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "XydLvRU13RZ8rjij2pVLmbZHCGM4aojdZB", + "votingAddress": "XfC2DgCbdTZZmVCxucPfLo7FoNam4Abeeh", + "payoutAddress": "XhJZZS3o8vLjy7F9sk2B58DuEryrcAntNx", + "pubKeyOperator": "b49b3d5e4b3ba9bf8e9d08ac5e7dec34c037eb23a08c3febde0af5830b762c8b75c1ba52043f27e9d5947019f1f62fea" + } + }, + { + "type": "Regular", + "proTxHash": "8da176a780a29994a3590c8e1618bd1c1136d48bc206eff35ef85b73e00a58a8", + "collateralHash": "9e2bc3bcf9b667e871163f636305027d190679fa7da246634e3fd66db82ab602", + "collateralIndex": 0, + "collateralAddress": "XeuhVChhVM5iyCVYc5BakwNDAnJF9LvLtA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.110.42:9999", + "registeredHeight": 1908836, + "lastPaidHeight": 2113603, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XrHUREApYY6nUQXmUHMvJyCV93fTnySJuX", + "votingAddress": "XwZaR6JJQuWecjLeA868Sj8jQwdJ6scxDp", + "payoutAddress": "XeuhVChhVM5iyCVYc5BakwNDAnJF9LvLtA", + "pubKeyOperator": "81024933306a3433b20f8a330e938a8b6404cda43af4a42352109637ac4cc189c5fd0e4d848d99f3163e3ffc5f716414" + } + }, + { + "type": "Regular", + "proTxHash": "ed2fbae578c55e26e9637ce988793160bfd46c2248da632573b1340ae510ca24", + "collateralHash": "2fdda6d7bad4c72c06cc8d95819702e62fe4f514a74904e606ad8f60c75547d5", + "collateralIndex": 0, + "collateralAddress": "Xi8i7xUvRp2u51XHX1cjX5QoCNv2JTHoHP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.200.253:9999", + "registeredHeight": 1908836, + "lastPaidHeight": 2113588, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "Xd2trzEDynt8jCo2ZyL9payfc4p7LSQRBE", + "votingAddress": "XqSLRv4x364CKJCK6cyjvFXRJW6MwWUwzK", + "payoutAddress": "Xi8i7xUvRp2u51XHX1cjX5QoCNv2JTHoHP", + "pubKeyOperator": "87fb1680fc227c76ae06b3262b7eebfdecaeaedfb1ee5235423ee8138952c7d3a8341603b6fa8a152d31ae0efbb682e1" + } + }, + { + "type": "Regular", + "proTxHash": "020ff723205798c70acd53e0ca943459215a6cc86130120ab2f94505b70cadf0", + "collateralHash": "0d615e45fa388a4a501f0f11e9ee9447f21cc70b0c0d17462e5955878c4b5576", + "collateralIndex": 0, + "collateralAddress": "Xm6CXB3GmThvFTQfFAauBE2A2VEhPC2RBo", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.158.232:9999", + "registeredHeight": 1908836, + "lastPaidHeight": 2113609, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "XnTgvfWpFBMcqPatM95amivc9kUAHEqiAM", + "votingAddress": "Xrzt2kwpJdNKbVhNr2AZ6SYo6ZD9jBvnR1", + "payoutAddress": "Xm6CXB3GmThvFTQfFAauBE2A2VEhPC2RBo", + "pubKeyOperator": "b73b267e1061df403efeb7f3da9e34b3e7c1c24b4843eca377720e4973461fed9418d370b74a58110c818a391ecd1809" + } + }, + { + "type": "Regular", + "proTxHash": "f41ec4ac23a6dd7d1633c814814a5d7deb3d8706b6bbb9c6681edadb6928dd1e", + "collateralHash": "b1a64fba04182adaddc6fd38afdbe3004ce9c1cf69893aa36e028152d7e93527", + "collateralIndex": 0, + "collateralAddress": "Xi7FeRQNvyiwgLSzn41GUWucsrykh9AYPK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.227.146.10:9999", + "registeredHeight": 1908838, + "lastPaidHeight": 2113614, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "Xbv4tac6jeeAseos5dh3WM2bcjJ9DFPYXd", + "votingAddress": "XgauLcU2Cg8CEsJcARY9yw5Uz3rhQ27ZT7", + "payoutAddress": "Xi7FeRQNvyiwgLSzn41GUWucsrykh9AYPK", + "pubKeyOperator": "b3da55040cfb7c77bee5d4ff34d0f1bf70a2f3f24ec3463eb2f58206c06d672b6c6b3d5058f8ef7c753d4e3a87985abf" + } + }, + { + "type": "Regular", + "proTxHash": "4a312ca9a025bb355a4f16aca245e2d5a2f5a185357cd719eaf05f8b60512548", + "collateralHash": "c7d2dc0b63f626700e1dcd2b17e12526a7d52274fa259fdf626c93a08a980a45", + "collateralIndex": 0, + "collateralAddress": "Xx57aRcKoLC4yGTzv7vbjLn8gs6WsCudd6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.139.26.84:9999", + "registeredHeight": 1908839, + "lastPaidHeight": 2113616, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "Xji7dU64Eyuf4uVyh2WdQHwZmJYU6K8GdB", + "votingAddress": "Xu1YjVirkXZGakJkYc6QXtMefe32qE95Jx", + "payoutAddress": "Xx57aRcKoLC4yGTzv7vbjLn8gs6WsCudd6", + "pubKeyOperator": "863bb6e224a32f09cbdda07b526a43f9ee27461271681ec86bf79fa95d8935fd8d0db0bb3c2f542da7ea83bb23b094b2" + } + }, + { + "type": "Regular", + "proTxHash": "eafd31abf7a40a71bf8cb6ba894f08e374e272480e1e7e3e2ed5ddaba3121ba5", + "collateralHash": "71c0437286135ba29d393079bade8d8f7238865d5431eb7de607f7e40222b257", + "collateralIndex": 0, + "collateralAddress": "Xh1aFpFsQ7iDBBJ5wB7gRGjCfthxeW6VPd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.226.182.152:9999", + "registeredHeight": 1908839, + "lastPaidHeight": 2113620, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "XwxXFDGHDtt5ryPcB5hRh6g291UATspjSN", + "votingAddress": "XjbbdRHGF8ivENoxxXGPzqquoJ97aHtR1R", + "payoutAddress": "Xh1aFpFsQ7iDBBJ5wB7gRGjCfthxeW6VPd", + "pubKeyOperator": "a481a153eb9c0f6a52c65c95e9f347e912ce029b56cbd3feb770fbbb6a255923451bb6d9ff48f2f3cb4413a854cb460f" + } + }, + { + "type": "Regular", + "proTxHash": "779915d10863c7c40887b44fd26084ef6b28b560cf0cca1af0d6132b29bb0e94", + "collateralHash": "84968cd46d259468aca3a64418b6235ee6a6a39b8e81d56ce48f584a8e9ee578", + "collateralIndex": 0, + "collateralAddress": "Xcf91eN3ttu77iPyDTnwY8KJ2txaCucez1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.117.239:9999", + "registeredHeight": 1908839, + "lastPaidHeight": 2113617, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XpBmw9xBCAK7DyE24GarspwiK58BrcPjSx", + "votingAddress": "XbWTQGefmQDji8Z17ASnGkEqwseKLeqaK5", + "payoutAddress": "Xcf91eN3ttu77iPyDTnwY8KJ2txaCucez1", + "pubKeyOperator": "9656f57492b1d2c1f35b17ffcdc1ef37707cb5a21f1b6f8815599c568c5298f73fb52e3aa9a231808a7179a193eb7a89" + } + }, + { + "type": "Regular", + "proTxHash": "8b001f1b1b510da41eeca2a3cb24d808fbefec91c9b3d94cfc4892988057dc55", + "collateralHash": "7e048b46ed199c1241a7a5ec989235a036e452b728e272034934ded9bf638c04", + "collateralIndex": 0, + "collateralAddress": "XtCUqWCdFo3cWJU5gQtDoeaTfBNuiiG6y4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.175.112:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2113627, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XjLuMnMRWmfVd1wqf1zUiSKqagFxp28Afd", + "votingAddress": "XvoPMDNTzgpCVieA5gWHWq1Twrrmb4NBmU", + "payoutAddress": "XtCUqWCdFo3cWJU5gQtDoeaTfBNuiiG6y4", + "pubKeyOperator": "a04380e0256b1a8e4a3d0da8e6ea37ee508081f15eaae57c274f3d19c0734336c984afcdfc047b222b64f305bade1898" + } + }, + { + "type": "Regular", + "proTxHash": "420811d1d907002ecb053ea421e419e39be6594417f782532f34c70510fb140e", + "collateralHash": "de361d1c8f6f054b5296e250a6eb1a8b50ddcec2b23bf17eb71d281574fc0b00", + "collateralIndex": 0, + "collateralAddress": "XqANwENBSiwvyss9kLPYggHxucteXRH7mp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.59.254.15:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2113622, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "Xvf6NvY9AXrXL6D7XR6vNCwCNd6aarTmzo", + "votingAddress": "XymbvjtaBhJf3g3pACTujm6xQ6JhB63bzb", + "payoutAddress": "XqANwENBSiwvyss9kLPYggHxucteXRH7mp", + "pubKeyOperator": "8544e6f1e582202b5a11e2af3d59e326830bdc0836817a1edeb71de6f5dff02da411c9b819488fbeaf17276652760502" + } + }, + { + "type": "Regular", + "proTxHash": "a7dc3d7cd73b37cdc4d41c26b1080bc3b210912ed50755992803dac363f73c3a", + "collateralHash": "d58596c2f41a23cdec7df314d5156dd39cf8013afb9ee94a64bc75f5e311c733", + "collateralIndex": 0, + "collateralAddress": "XeLwF8mP1Y4JYhc1wLdyaVrwH18CsUQbya", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.132.146:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2113625, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XijZwgnEiCe4FunBQSQs8zjxwSQGobs8AX", + "votingAddress": "XmsDh3wRMExTALCeKbC1PcSmUT4HxPkoHQ", + "payoutAddress": "XeLwF8mP1Y4JYhc1wLdyaVrwH18CsUQbya", + "pubKeyOperator": "a04cbde98d429e6c4cb1e1748b6350691543fca26d16c211889beb51b48a6d32af77d7967e6c4c98b0e062cf9e7f6440" + } + }, + { + "type": "Regular", + "proTxHash": "585d5c3ba12ace52c58322419c4cb7b3b35e47a4f08a8725246e048bf9b47422", + "collateralHash": "75338eab5205b48f406fe4125ec247077d9c18e3084e7d89a5c68d1d868cda2a", + "collateralIndex": 0, + "collateralAddress": "Xxvpbs7esa39ueETfREgZ67TS7BUBx6dRH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "206.189.32.97:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2113623, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xyo4kHVUy1GJVAhdHAfiH2xhduKcp8GVSK", + "votingAddress": "XfVFCM1FDs4ncKMQiegEPqoEVEPqsn5fiT", + "payoutAddress": "Xxvpbs7esa39ueETfREgZ67TS7BUBx6dRH", + "pubKeyOperator": "b5a5e00847669a4dde96f3bbe4373a4451706a2743f0dbe18a4687c2595891fb01c50b08d2d4233203a025b6dbfffcc0" + } + }, + { + "type": "Regular", + "proTxHash": "fd71b15fb134d9e2b4a7a058fc7809744bc28c420d379bafd59d8b002b806bc5", + "collateralHash": "c0c1cef04edaeaf485c93ef70506d8b20d5c3b3a2b4c3d2f7349fad24e70b6cc", + "collateralIndex": 0, + "collateralAddress": "XyqqcWYaX9wGu3C1vDAvqn4yT1pFsbBBRv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.241.193:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2113635, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116842, + "revocationReason": 0, + "ownerAddress": "XrHuQSAR5PViexGEsE7siHUAqqUEKenqyD", + "votingAddress": "Xc7Ss3nggY1KzuLsL5WEPdrT8Xn9JAhwcH", + "payoutAddress": "XyqqcWYaX9wGu3C1vDAvqn4yT1pFsbBBRv", + "pubKeyOperator": "b9d1d254f84ec7ca0c5169d7d0ad2bb84a366ca0ddf38664e950b1c4667f92f985cc6fa85f56c1b9269989652d89368c" + } + }, + { + "type": "Regular", + "proTxHash": "d475f2868a74b0d1500619e14484dd7b70dc07a27f5483756c2084855681fcba", + "collateralHash": "55fa4214fcbfe39f4cd9c08ff9d5feee53b4110148ccd31b36bf86a975d87f57", + "collateralIndex": 0, + "collateralAddress": "XheojXC2pqUGJ5JGYPLpkbJsJMiM28CndU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "162.243.221.80:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2116905, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117418, + "revocationReason": 0, + "ownerAddress": "Xm3SpbcWZ1AL8DmQfV76HGMZ6uv8BtBsNE", + "votingAddress": "XqhWisn6pPq6DL68qjbE9vZYoRUg15RKaA", + "payoutAddress": "XheojXC2pqUGJ5JGYPLpkbJsJMiM28CndU", + "pubKeyOperator": "917db295c96957c691f66d43754d09b3aa5411b7879949ee52be2c8d2cf92578f96acf0b56c004ebd09884b1e36c5744" + } + }, + { + "type": "Regular", + "proTxHash": "104fb5144ca258694425aa7f98002f312e9e7d0daf833b967a93fbca656f05b5", + "collateralHash": "e4ee551e9184c0a35cf0767a1ca503b23efcd8bd19b1c3656b7fe29b954fb959", + "collateralIndex": 0, + "collateralAddress": "XqRzLbGZcAQRM82pfQ9AmT4rgs77Niuh6w", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.44.216:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2113632, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XgVLPnUJZhyhkZsgcMd4HRUEfguUvk6MoL", + "votingAddress": "XfBqEUBBHzE4wEup476dxKZfsufzzuta1f", + "payoutAddress": "XqRzLbGZcAQRM82pfQ9AmT4rgs77Niuh6w", + "pubKeyOperator": "80c99f7ebb9acb5eb4d30d6ed5515bb0660994c130f8bee6f70f180e2f3c71198fc7e180167c2d811c4f0c3d2370ee31" + } + }, + { + "type": "Regular", + "proTxHash": "ab97d70106946bd84a8b41b8849895e9f370dbce54dfc998a85399fa65786cb3", + "collateralHash": "c8c120d32dd242bca95e3755227d7d8a55d3ac301d954201e890f94a56881669", + "collateralIndex": 0, + "collateralAddress": "XjWAHyUzpEaWLy8dLnG7hXvomi3QLvM4dM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.141.242:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2116904, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117418, + "revocationReason": 0, + "ownerAddress": "XtevEGVCmyq9y1Wym73FNoU4CaXsShukm4", + "votingAddress": "Xk5EtAuyZZrgSCHCRwjz5xP1UxtzMWZ25c", + "payoutAddress": "XjWAHyUzpEaWLy8dLnG7hXvomi3QLvM4dM", + "pubKeyOperator": "99e4b3b5514033c270af532180a261be57c77e5ce8e1b87e9fe9b6d7e83ed2879f3059d30b822f3cfa03929c19229fa8" + } + }, + { + "type": "Regular", + "proTxHash": "2388a0a2f81634b02346c22f2101c78e597893e24b71c89d7d7677bd4bf74956", + "collateralHash": "d0a15f54115fb479a8cf0c7ad8cdb7103980edfde6be0ff15c4c0c032573d095", + "collateralIndex": 0, + "collateralAddress": "Xgvz4PQmghs66FHdQ3PS8ftkPnXn5LoeuD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.131.134.183:9999", + "registeredHeight": 1908840, + "lastPaidHeight": 2113628, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XsGAeZkZcDm1BE86kR1tijL2zUDdERV7Y6", + "votingAddress": "Xh8FG98rY8L8Ur4uN5brwjfYcc2xZGuWqZ", + "payoutAddress": "Xgvz4PQmghs66FHdQ3PS8ftkPnXn5LoeuD", + "pubKeyOperator": "ab87e8cbcefe0b5ca633bde11f0c0d7cd2215321758cf43595feb529428489eda20bf804a40bb2dfda82abe654d936b4" + } + }, + { + "type": "Regular", + "proTxHash": "419d89e03144801e48565828520324457e0bc466686fc9a9d730d4f8b07ca8eb", + "collateralHash": "306aef3d474904c5665fa5d2c761f63a722fed17741ae8823534ef1a0c64092b", + "collateralIndex": 0, + "collateralAddress": "XnKckrUgzqciwhzGESCs2hvrNv7Va1sZ11", + "operatorReward": 0, + "state": { + "version": 2, + "service": "192.241.231.189:9999", + "registeredHeight": 1908844, + "lastPaidHeight": 2113637, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xxyh6niMCmdbpXKjkMu7hbGC78K2jgZFVq", + "votingAddress": "Xgft13oSSdzJh7cLjoUnVsiKVeAAWpDwHT", + "payoutAddress": "XnKckrUgzqciwhzGESCs2hvrNv7Va1sZ11", + "pubKeyOperator": "8d90b0f80f7cc0616b52b6d5d2c234a65604670be7ce1999f8b05bed981eecf7117b8b7e82592486ecd99ad34628686e" + } + }, + { + "type": "Regular", + "proTxHash": "c5ee6df867689b263ff035777f2ca19a7d77c9c1adb05c7131e5a635154f1931", + "collateralHash": "5c602d00d625e66c4d855f0d20890b92d54f19adc5a31918d4f810226b7b959b", + "collateralIndex": 0, + "collateralAddress": "XtxqeertFYyXrYtBvbDsaUdKVpiz84Vf4V", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.169.122:9999", + "registeredHeight": 1908845, + "lastPaidHeight": 2113642, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "XyfJ59yTxb6M9Qnon3GPj6RieTPaMYwVGY", + "votingAddress": "XoS9Fb46MftZ1g8BBE5RXU3fgoprRXm5ZE", + "payoutAddress": "XtxqeertFYyXrYtBvbDsaUdKVpiz84Vf4V", + "pubKeyOperator": "82d11ada1803674d9415f68884ee2969739659447fc771dba83c27b89ab392d3954e9ff1b51b45558c16389f9162c8db" + } + }, + { + "type": "Regular", + "proTxHash": "2f38c46af03695990201ed26d3169b37f3f9cc4d5ae47dcf41096b64eb5a2bf3", + "collateralHash": "018588494654583beb5b3e9f4b34d77cc17cd479695b95616aedd94cc0a8f966", + "collateralIndex": 0, + "collateralAddress": "XhZFC3jfcNqf3kPUxLLuWXfHWgbE5Uf74U", + "operatorReward": 0, + "state": { + "version": 2, + "service": "82.196.9.192:9999", + "registeredHeight": 1908846, + "lastPaidHeight": 2113661, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XhQGaWFE3bbdneoJNPznkXosRzQfXFgbke", + "votingAddress": "XjT2hARcggaZ6CcyaLJniumyzuzRVHCPji", + "payoutAddress": "XhZFC3jfcNqf3kPUxLLuWXfHWgbE5Uf74U", + "pubKeyOperator": "952cc646adddc2738425c874c5b1ca14698b0a0ef853d4e1e4066ab6302bd04bbdf97e9a2ea45d2a03572a811fbc0502" + } + }, + { + "type": "Regular", + "proTxHash": "d6e1b6a1d0c1a34032b1c67d02c418d338118d5cc96b97fcb500bc7d72595e51", + "collateralHash": "0b400a3aa2ad827e00e4a512874c0209a13649dde7944052cb3f0a52e4d62254", + "collateralIndex": 0, + "collateralAddress": "XvEqMtW3iGdp4CdFzR9dZ4XswhozuEShen", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.23.232:9999", + "registeredHeight": 1908846, + "lastPaidHeight": 2113652, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XcaNzXuWQM5EM598GibEM2nv1XPmsHQYa8", + "votingAddress": "XfBAuwME2azfpxVjSoiP6QbK7A9ys1VEJo", + "payoutAddress": "XvEqMtW3iGdp4CdFzR9dZ4XswhozuEShen", + "pubKeyOperator": "974e88cc4eddbaa443d79899745fd170a36ee62e1d5578f2c83b22a3ef0c4c02062f6af7fa87dc81eb7077c01aefa4f7" + } + }, + { + "type": "Regular", + "proTxHash": "dcc3393128d65791ca21a8bfb8dfc3820e2a97118d56222b785af7c20741a78f", + "collateralHash": "7f9d4a85d905416173a955a6e734d7d79fc0c68001a0c55976d0e576717da240", + "collateralIndex": 0, + "collateralAddress": "Xetw8iBCrZGUMXV2kpmsC4618R6q7r6vED", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.126.198:9999", + "registeredHeight": 1908846, + "lastPaidHeight": 2113656, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "Xas1EyrSn2cU5Dc2Px5P8B7AKjPnRTvVqX", + "votingAddress": "XjJgNZaRDwfDQwsy2XgNGcADQvcEdqEQ4k", + "payoutAddress": "Xetw8iBCrZGUMXV2kpmsC4618R6q7r6vED", + "pubKeyOperator": "899c611e04e001984c2132cbb6acacfba256bc78b568ba6ee14b807e10e2dd37cd945823d00f59d8055ae61cf451a69c" + } + }, + { + "type": "Regular", + "proTxHash": "5f239b6dfe40a46de67e155b91fa873ddce8fe1490804e1a3174b1fa2ec98fb9", + "collateralHash": "b0635de4c7e2de0c229927897df2b33aba5232a5b26cc750a82fc2893026252f", + "collateralIndex": 0, + "collateralAddress": "Xe8AE7okTQy3P8K3sP16SHHzY98mDUbSWJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "192.241.217.168:9999", + "registeredHeight": 1908847, + "lastPaidHeight": 2113669, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XwqWbiGYQu7hKe2zGKRmM5n7gM7v8k9DYE", + "votingAddress": "XyBmW8xEHbidHe9Bd3RBBf2xKcGLhB4cE7", + "payoutAddress": "Xe8AE7okTQy3P8K3sP16SHHzY98mDUbSWJ", + "pubKeyOperator": "8bd25dffe1dab97be16a88f784e14fabc907194a84e63032d5fbb7959c341cf65da7a0329e54b66d0a6b1bc6fc352805" + } + }, + { + "type": "Regular", + "proTxHash": "3928871744ef9f65a33992207e83b82c84e45dc0eebf6314d8138c17f4f908a6", + "collateralHash": "063954203bc3c7bd1656acf1a8954809c058dc62c76d4888bb12b0e3099469b1", + "collateralIndex": 0, + "collateralAddress": "XwVVEH28W6TPvkpgTUYn2Z4oGHusx4hnPZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.85.11.74:9999", + "registeredHeight": 1908847, + "lastPaidHeight": 2113668, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XxspDssKaCD79JJHfyAhLk42j4LaYLAxUz", + "votingAddress": "Xmimj7tBhTps4hM6pkJ4y4rio3QHuX2Lyq", + "payoutAddress": "XwVVEH28W6TPvkpgTUYn2Z4oGHusx4hnPZ", + "pubKeyOperator": "a0661216b0120709bf19382e8f2b55218fa5765eea8fd1137550f734a3de5f463db353c5d392cd809c60396b958a29c5" + } + }, + { + "type": "Regular", + "proTxHash": "72f897341c8ecd90c5e511fdc7fc8e9674705392008c99f61575ccff3b1a6c41", + "collateralHash": "d175923f2d3ed8058b5c1da9659ab357c6a575a6661cbaabd11326abea6469c5", + "collateralIndex": 0, + "collateralAddress": "XtVzUjjhNCevXzbqZow5HmiMCCu6UXARbc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.227.47.52:9999", + "registeredHeight": 1908849, + "lastPaidHeight": 2113670, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116266, + "revocationReason": 0, + "ownerAddress": "XdQ3qmcieGTtbjNHd4q3FZpRXkYSs1zdWy", + "votingAddress": "XcJHhT37Thhgr1QsBxEmAS5ZP4xBDW9Bgj", + "payoutAddress": "XtVzUjjhNCevXzbqZow5HmiMCCu6UXARbc", + "pubKeyOperator": "a5c63d769a07dcf9a3e91116f3964f5d286c5628e26ac16e7ed20cb9701f41de37e9ca96b7e12c8263c13cbfb7ee6e2d" + } + }, + { + "type": "Regular", + "proTxHash": "79fe10b7e2b0109945cc59295085221341e5704fa7a9a8d81b28683663b089b9", + "collateralHash": "4be5d280d328e673c7646acd413f2f99e4d45de01b6a92b0ad66e548349b4d47", + "collateralIndex": 0, + "collateralAddress": "XjvqQxAWa8LYa3GfTGVSRrDymfYkmJqU1c", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.101.243.24:9999", + "registeredHeight": 1908852, + "lastPaidHeight": 2116939, + "consecutivePayments": 0, + "PoSePenalty": 3851, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117994, + "revocationReason": 0, + "ownerAddress": "XemhXRJQNdDcMDdfBGF6p6d7BoxigCG59U", + "votingAddress": "XwgS2x9SbLtVhaXb2BBxT9xCT1qF4gSrbT", + "payoutAddress": "XjvqQxAWa8LYa3GfTGVSRrDymfYkmJqU1c", + "pubKeyOperator": "a4b25cbb4ae60529d394892c919afbd4038e699d4ff3d33ee415f9543d4da860f5cc036728f93ccd662554dd80221e91" + } + }, + { + "type": "Regular", + "proTxHash": "602596d1532d604c25d901d91cece402a1dceaf89874613fae9004fd4b594053", + "collateralHash": "f6f66e7b3db1882fd47f738720b05773d9f11d8aac981100680c9fceaf41af51", + "collateralIndex": 0, + "collateralAddress": "XtXGbw8y1wQyRASepoG7yTMNisMuFH4RZF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.161.165:9999", + "registeredHeight": 1908852, + "lastPaidHeight": 2116938, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117130, + "revocationReason": 0, + "ownerAddress": "XtuMvLVvoiVNn3XAPHvPrvp4M6g9MPyy2o", + "votingAddress": "Xi2CQ9kPAFPCveZfkRVTYzWD2vo6NnfFEA", + "payoutAddress": "XtXGbw8y1wQyRASepoG7yTMNisMuFH4RZF", + "pubKeyOperator": "a4e27615b26e52706358a79add5f0bc5ae8befe23b07b39bef8e13c46bc292e62090d62eb051e6921da72ee61a2feeac" + } + }, + { + "type": "Regular", + "proTxHash": "0d6748530fe0dde8aca18c17fdfd926e4351a35f0bc8b97c075c306adf620561", + "collateralHash": "a481b94291934f6df5b77f4fe653ad72861975e72856aff8a92213b91a78e448", + "collateralIndex": 0, + "collateralAddress": "XospWTzKCn1vn741eu9nzfmL5wKPs3rbko", + "operatorReward": 0, + "state": { + "version": 2, + "service": "107.170.219.53:9999", + "registeredHeight": 1908852, + "lastPaidHeight": 2113676, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xccn6jB8iGZy5gxb8GV5Pn6SxFUkjaJeJU", + "votingAddress": "XovP7iGHw8QMeLbDQ6ZgdUUNWtj4gn6PEh", + "payoutAddress": "XospWTzKCn1vn741eu9nzfmL5wKPs3rbko", + "pubKeyOperator": "a2685afb6b382480ce1b7dd23b755a848dc917aa5169372dfce7b94243ba3f59f6a54cf84088022884601cf515e5c4f8" + } + }, + { + "type": "Regular", + "proTxHash": "4c6784fdd49fff3d5f8cfbec8c292484f56d65302bdb91732a097af008f5a28f", + "collateralHash": "cb029b56e5c49f698e32c00f2f71a0f7404e1c7586bdb05ec1bb0486d0c42cb2", + "collateralIndex": 0, + "collateralAddress": "Xb4ruwyZxFHredHebZaX67KX6Xg6THh7AX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.89.13.24:9999", + "registeredHeight": 1908857, + "lastPaidHeight": 2116945, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117130, + "revocationReason": 0, + "ownerAddress": "XpS4Su2K715TNShGGJieZ8P1UG1N2yNupD", + "votingAddress": "XrRo9yvJBk3z39KJZGsxmNVs46RompViBc", + "payoutAddress": "Xb4ruwyZxFHredHebZaX67KX6Xg6THh7AX", + "pubKeyOperator": "8b0b2cb8233aee4d5f13a38bafe8b797bfb3c0718612645a804a181d2ad44cffb1ef552e37fb490c1965b2060e6d05c9" + } + }, + { + "type": "Regular", + "proTxHash": "faddd7c99be74c8756affa3d07ee4aa37427038bd2504515da935a95fb4a83b6", + "collateralHash": "7ded0b4cff6b1a1065b83d964fe415efc33a27df914ddf0c2888f6a59441da20", + "collateralIndex": 0, + "collateralAddress": "XrxLXh7wjoXUQrfgsiioSHCnGnkVxYmPWD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.72.136:9999", + "registeredHeight": 1908857, + "lastPaidHeight": 2113689, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XoeUvr2NgjTZFu6bdLz1nfth3zT78Eupve", + "votingAddress": "XiU5XEBjDV6cpfFtzZw5fezQfpGL36ZYWV", + "payoutAddress": "XrxLXh7wjoXUQrfgsiioSHCnGnkVxYmPWD", + "pubKeyOperator": "b4742eb0be26d81f2716bd80c62cac939f52d3a20c4273144cd9c9d54a0635f13ab569b023b8a94f01e1ea605f39e22b" + } + }, + { + "type": "Regular", + "proTxHash": "0d8327f4022119b5e83bebfc7f4e2b0b3b2040c5fa252cfb0edcb86f944278c2", + "collateralHash": "bf3a1d8a496bfef0edf364b3c8559624edb17151ab6460cbb10904e53b922bef", + "collateralIndex": 0, + "collateralAddress": "Xh3PkndRDrombJVQ8WFgwtzpbn8uEZSiqW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.139.21.77:9999", + "registeredHeight": 1908858, + "lastPaidHeight": 2113703, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116266, + "revocationReason": 0, + "ownerAddress": "XmXQcnGt1DvVmxhZyBpUH2mmePHPXEGpAN", + "votingAddress": "XnWrsm19n2cxbtjamBYrRf3F5twvf7gi3N", + "payoutAddress": "Xh3PkndRDrombJVQ8WFgwtzpbn8uEZSiqW", + "pubKeyOperator": "b5da3bde922de304b2d2fe042f9babb0833fe79795720a70b469b1cff47aa97d4c297270383f90ac0323a489c05ce262" + } + }, + { + "type": "Regular", + "proTxHash": "0efa048192b6d4ae473087761d5ab7b46adae6b34bbb8bbc62b7a7da1e79b780", + "collateralHash": "23814eb5db61ad2160803d9f79a74d328455442c55ff3445b57ceeaef1952bfe", + "collateralIndex": 0, + "collateralAddress": "XkRug6W7GroCWDE4AJNKEmrxXeJAbYKskG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.89.124.102:9999", + "registeredHeight": 1908858, + "lastPaidHeight": 2113690, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XpLVQeDmC8NnkHESvDePvAr8uD4PvS6oLR", + "votingAddress": "XyxeTJmp4dhjZ6dzuteH1C4ZWvstVtJ7jc", + "payoutAddress": "XkRug6W7GroCWDE4AJNKEmrxXeJAbYKskG", + "pubKeyOperator": "898f8c798448f5deb7f14f2da41bf4ffba681155d14d106f7498f1aa44e85004645e475aa0d922ed7ca02995092209eb" + } + }, + { + "type": "Regular", + "proTxHash": "7238d1c4d38e558556e8a902fb3ff02746fede935de5840fde8a2ccaef98c6c9", + "collateralHash": "dc140a485a909cecbe3c9cbd3177aed09640fb65ef4d6d00e1810a18c7222ba5", + "collateralIndex": 0, + "collateralAddress": "XeJ5UChgBEKkQVPzcjRrxwY6LW1AieVgKL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.40.172:9999", + "registeredHeight": 1908858, + "lastPaidHeight": 2113704, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115402, + "revocationReason": 0, + "ownerAddress": "XniuUrw8AS3h7B1bybHT9pBG6HeTK5omi7", + "votingAddress": "XouRowULZn53wvvDX1HewddxNHW3MCsMzu", + "payoutAddress": "XeJ5UChgBEKkQVPzcjRrxwY6LW1AieVgKL", + "pubKeyOperator": "821428461f758ac7574e6d9dc071981526b8641e07b4c91df1676de8d0ce151682ed822ad3287755d6eb9dbdc311c11c" + } + }, + { + "type": "Regular", + "proTxHash": "62c86102eb734be6bccc8fcc7ecf7c234944f1e90d47b888e9407b034ef24cbe", + "collateralHash": "a64f3f6ed4cbdc605bf3e19f583b0b4d03f3acf356578047dcdd94f231213d44", + "collateralIndex": 0, + "collateralAddress": "XtaQ6nGAuEVMJ5JehL58DtJPLaaoiCFECW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "192.241.185.75:9999", + "registeredHeight": 1908860, + "lastPaidHeight": 2113707, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XijFwGiPBubqMoAxr8qHqnbojpx91R9be3", + "votingAddress": "XuKuokAsG7VwmXzWFRkc4uVVfCnPZ6R9ga", + "payoutAddress": "XtaQ6nGAuEVMJ5JehL58DtJPLaaoiCFECW", + "pubKeyOperator": "975324b0ef4aaeec611af7992794ae20b233f558db08b8de28df4eb73f9ee98b5478d1f041cdfafa258650ecd8f762ee" + } + }, + { + "type": "Regular", + "proTxHash": "a5b46322a08ca2d487e2f3f1429d197161c2e09b001948c314ce529b43cb57ff", + "collateralHash": "a85fbed4f464c05b11c14d1ac0c85d1c5d593ea86a98f132f8ad377e460ac6a2", + "collateralIndex": 0, + "collateralAddress": "Xu22xyYy8PLkfr2M3AdAhW43Au2tiFc3nG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.22.22.156:9999", + "registeredHeight": 1908861, + "lastPaidHeight": 2113709, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xhi4SSwjTknqTEJb9nbbmdJUEa2K7LtJBo", + "votingAddress": "XoTjq8WMUARNGHtL3cMAznkAPJZ1JKemav", + "payoutAddress": "Xu22xyYy8PLkfr2M3AdAhW43Au2tiFc3nG", + "pubKeyOperator": "ab3435c4974cffa8cf6e9a11d9a263c7efad367c4b22fcc75507c565027b51ecb1ba2a1602d9337eb3edb037d7c03b49" + } + }, + { + "type": "Regular", + "proTxHash": "88ec88ceb95d93c56aa38a51391c1ed66a496427fd0f2d35107d90f87df04080", + "collateralHash": "0611286c7b6bdd046c08bf292b03115228375d6518d09a4d0283c61709cda780", + "collateralIndex": 0, + "collateralAddress": "XbaZUgkDsDhzSrSFoePpTEHrZkeprghPJG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.62.235.117:9999", + "registeredHeight": 1908863, + "lastPaidHeight": 2116964, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117131, + "revocationReason": 0, + "ownerAddress": "Xcs18mtE1JAhTq8GiLTDcJGX3S8ib5Zs4h", + "votingAddress": "Xn1qCZtofbestSXt3SsH8D66dpKZu2brpn", + "payoutAddress": "XbaZUgkDsDhzSrSFoePpTEHrZkeprghPJG", + "pubKeyOperator": "812af1bdeff0497cfc6d4c6af2229cc1c4da2c7893fe43d48c48775ffb72c846ee4ec9ca93e1d1006d6df873947eb098" + } + }, + { + "type": "Regular", + "proTxHash": "bc3dc21a25d7064e8e612b29bdd71d10d447ac5b65e4d2bf1fd6773a7657d6da", + "collateralHash": "2d2171330e8b48edbfe342d36db904124d6cb25afd72d3ffa4d6e8dd18f1d860", + "collateralIndex": 0, + "collateralAddress": "XhJkmN6Fcjektprzz1omnGihSwnoAkAx5P", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.0.191:9999", + "registeredHeight": 1908863, + "lastPaidHeight": 2113714, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116266, + "revocationReason": 0, + "ownerAddress": "Xud4MesL6QHkoYxoa29RQVzZ4ZPWJ8CaMD", + "votingAddress": "XsQ1Z259Qqk9FVTJ5aa2TPmkDSbEbUVubU", + "payoutAddress": "XhJkmN6Fcjektprzz1omnGihSwnoAkAx5P", + "pubKeyOperator": "869c5f62dab2aace00b082c833a6c22bf3a645af28924c4ebf3694de7bf0c1117e673514b918d5778356b2498a2ada9d" + } + }, + { + "type": "Regular", + "proTxHash": "15d687e8af3de748db72a01631dc99e69425b32fb279f09c180e4a05a1d05aa9", + "collateralHash": "227c2376a724e0efc80bcaf404e3e91253f6db9c798bf086f7ac91b93501a990", + "collateralIndex": 0, + "collateralAddress": "XiDsPpbuddVJHD2VYPx9hkntMPjeyS1WbE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.99.176.226:9999", + "registeredHeight": 1908863, + "lastPaidHeight": 2113713, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XkR1a8C7wHBSU6r5THzQtKi7ES8ptdyhDj", + "votingAddress": "XmmSCQzGY1a45pwFczcJaVEusphBPQi6NP", + "payoutAddress": "XiDsPpbuddVJHD2VYPx9hkntMPjeyS1WbE", + "pubKeyOperator": "b5c4dbc9fd502d8cbbd54a899cb87f4c31da1dc4ff36ad222618050064ee17f0eeedcbaa5fc19d8dc39e34dd126c415f" + } + }, + { + "type": "Regular", + "proTxHash": "d189b3d396a67d1ef0f771ec55dd193f2b6b92be3a97c4bb8abcb5fa6e04f4a0", + "collateralHash": "d8ebd8f1a506d98915eb8eeebcfa7d9b752e003845ce47aa17e47c779114763a", + "collateralIndex": 0, + "collateralAddress": "XhaMkMQ6SLau1onw124zqy4SR2UokEv5hw", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.181.159:9999", + "registeredHeight": 1908866, + "lastPaidHeight": 2113721, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XwKvcQJYsdFwAE19tviHscobsZTMKf21uF", + "votingAddress": "Xnzdv439sMHRUpqVXMMkUWvzH9fiDVq3N2", + "payoutAddress": "XhaMkMQ6SLau1onw124zqy4SR2UokEv5hw", + "pubKeyOperator": "8b687e6ebffab388cc246217d5ad0554c9d59e1351ebaa49761fdf804b91466bcb78e778f5536d1f91304a31a28e9cce" + } + }, + { + "type": "Regular", + "proTxHash": "6df84952acd453b26b5a2ced60154e624939fba4bc36efca832a15ffa2554b65", + "collateralHash": "92e2479f887692de86b61c305c8f3aa9e3e28e6b8cbe63561a3417904d89e54a", + "collateralIndex": 0, + "collateralAddress": "XsuXiYQZBJrQpiubnH1RRhYrZU1n8FJBX1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.131.9.215:9999", + "registeredHeight": 1908866, + "lastPaidHeight": 2116966, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117130, + "revocationReason": 0, + "ownerAddress": "XgXu46GBkQkj97UsmJgb9oLRPH1u6hj4Wa", + "votingAddress": "Xr7xHWBVhKvFdCTSnU6jXhZEeE4vNumvur", + "payoutAddress": "XsuXiYQZBJrQpiubnH1RRhYrZU1n8FJBX1", + "pubKeyOperator": "94a18b2cbc6dcf41374ebad86db721b9868338003f4cc35abbef9e8485c57ebb06ee43253eb12035aa8fe9626f805d07" + } + }, + { + "type": "Regular", + "proTxHash": "6bf5bc3ca3019104c2f3bdbec47a4e72a5605ede0787e7d4bd00b78e1a29358e", + "collateralHash": "055456e7e8cfd347ec62ed27717b7fcd15465f2899fc8e035bbf6de88d68bf54", + "collateralIndex": 0, + "collateralAddress": "XqRMxnH9hdegRuBy5n2qQ9biBTmEUbQZdH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.105.223:9999", + "registeredHeight": 1908866, + "lastPaidHeight": 2113720, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XpA1SSFJ621Bev39L7QvKUAzsqT2EfwTdA", + "votingAddress": "XeibeCS9m56bLf6va5wPJSXstKc45P9Lr1", + "payoutAddress": "XqRMxnH9hdegRuBy5n2qQ9biBTmEUbQZdH", + "pubKeyOperator": "9515dc7241e05a5a06a43175b73e823c54258bbec5675eef08ed5b244137d2d17e079fe17a29f9e704e039274976dbd0" + } + }, + { + "type": "Regular", + "proTxHash": "fdb30975621e83940437dafa9bffe42e40a37603d63fba5f0ae4f5b43aed1d4c", + "collateralHash": "1cd811473d868a7ce756bd9300ef69dd55dad9762f6a3a91403c3e4d2f7a2ad7", + "collateralIndex": 0, + "collateralAddress": "Xu3EMrfyXdWidfscv1KGVASTrkecbNSSk1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.154.254.193:9999", + "registeredHeight": 1908866, + "lastPaidHeight": 2113717, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XoiE2ux3Uz3EDcXmAq9aPoriCL9RYmKHqG", + "votingAddress": "XpJcFKF4MNCZSiH5SMn2FTLfLu14E8Vfqv", + "payoutAddress": "Xu3EMrfyXdWidfscv1KGVASTrkecbNSSk1", + "pubKeyOperator": "897791c87e59ce043e2878672d97310370b23491827fc1453895818911fa76ae8195bc457ec85475cc8a6d7c5aab4845" + } + }, + { + "type": "Regular", + "proTxHash": "d9b78d8aa71ebef69246a31f53fca847f397df43fb2daa03027a3dcadbd05dd8", + "collateralHash": "3625084e15011c86fe95ed57ec0a6215039ce20ea3754e7bf66d691aa72bb9bf", + "collateralIndex": 0, + "collateralAddress": "Xm1D43jUvxAEkMSxVQuMfiUGB2epGR8M2A", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.68.172.5:9999", + "registeredHeight": 1908866, + "lastPaidHeight": 2116968, + "consecutivePayments": 0, + "PoSePenalty": 3851, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117706, + "revocationReason": 0, + "ownerAddress": "XnNr5eSY6F9vftrKFQEs3c4FysndsRAnRZ", + "votingAddress": "XffbDwWxMvJeFihigaj3CKHC74aeaCtMNF", + "payoutAddress": "Xm1D43jUvxAEkMSxVQuMfiUGB2epGR8M2A", + "pubKeyOperator": "a17fc6dd4190a9128b095d304931f4a369e7216e5ec4bf2c8ed8792315293b27d9d6997af367c766f5453d1434851053" + } + }, + { + "type": "Regular", + "proTxHash": "c581ac7c383adcad0c67b67c4c0f4d1f815fb37962a15b6fd13e8513959f5a4a", + "collateralHash": "120b2cf7639e16d9151cb51f5777642f3b02dfe37e20fc2d4159d71a3cd0b76c", + "collateralIndex": 0, + "collateralAddress": "XcYpTdS23viVwA99L4CdbDFAu5LQRT5gpS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.246.17:9999", + "registeredHeight": 1908866, + "lastPaidHeight": 2113716, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XpiUrBEQgN5RQgHLUkE8HWcLG2uEHJK4ax", + "votingAddress": "XvLS462PQVwdqFcN248G9mnHTyqiBMCAEp", + "payoutAddress": "XcYpTdS23viVwA99L4CdbDFAu5LQRT5gpS", + "pubKeyOperator": "98589cef9a55b6461a03eae573870c8ba8fc34985a2adca79ab19f068035b56d9ec970b128e14abe80f2c61bf5e20491" + } + }, + { + "type": "Regular", + "proTxHash": "49aa5bc398943d547b4538277cd86a3503313835752a66071aba933fa8e71083", + "collateralHash": "c2f6b0a8cb73b451a6f9f36ba3c963e515f1d485385de991beb02b2eb7408919", + "collateralIndex": 0, + "collateralAddress": "Xm7mCCZS9ZCGUScMbCzvyjjbaK6YxTFUBt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.133.78:9999", + "registeredHeight": 1908866, + "lastPaidHeight": 2113719, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116842, + "revocationReason": 0, + "ownerAddress": "Xf9cPwvAguW7QPVVvCgQ8YVVeTxJypYGKc", + "votingAddress": "Xmr7AL8HL7SuPCn94ysec5N8di33pYMdsR", + "payoutAddress": "Xm7mCCZS9ZCGUScMbCzvyjjbaK6YxTFUBt", + "pubKeyOperator": "8ab0af44c72b0d62d62adb18bd4c7d23205b26b1a2ce525354f70ac07b28e0c1768765d853a48a51be10ee6099f1aea2" + } + }, + { + "type": "Regular", + "proTxHash": "bc5677f5e799b572b32ecb2f5d26a5ce59ccc7081f04b970c17e7c580725079b", + "collateralHash": "f5db01b5de10cf973d10402a2185db795c6b36ae252cf14e11a46e3eda6adb85", + "collateralIndex": 0, + "collateralAddress": "XtjtZtuvYEF9KS9Ca3KybGagYQ54QsJ8Li", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.85.39.108:9999", + "registeredHeight": 1908867, + "lastPaidHeight": 2113724, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XsrTU1wZMn3oqCjgr2x4gTkggAbS9wBkZv", + "votingAddress": "Xb7xQLMereMhb9buJCzBnxGcNEJJfMe4gJ", + "payoutAddress": "XtjtZtuvYEF9KS9Ca3KybGagYQ54QsJ8Li", + "pubKeyOperator": "953da1ebf655fec1c17b6f0618e61050fb3e00d41c044f4ffca707efbe87d023fec6dbee6f187eccf72035332ccd3562" + } + }, + { + "type": "Regular", + "proTxHash": "4751df16672c92c84e0979707c9acccccf84088829edbc618def4e60bb79c8e8", + "collateralHash": "b025fcfb1f4fb232694e2e0a88baf0e0cea37277d191c37cc209c2cc7294cd80", + "collateralIndex": 1, + "collateralAddress": "Xg3jdKULqwhywsckJDVoKdSGLeP4bJCg7o", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.185.40.167:9999", + "registeredHeight": 1908876, + "lastPaidHeight": 2126190, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbx6oGb1Ve51XtCPVzrHW5qn8vWYGUXxAV", + "votingAddress": "Xbx6oGb1Ve51XtCPVzrHW5qn8vWYGUXxAV", + "payoutAddress": "XeqpPseczQ1SC3STMMobMnUCHS7ZTCMGGq", + "pubKeyOperator": "a8d60ef843f4330c9887a7391341aa9aa77c153f0b113d7c5b5345523edafcfcc4aabfe2544fd9f376f05e925908a6a7" + } + }, + { + "type": "Regular", + "proTxHash": "e63b12aae434a5d82e0609253b36cc0a131654d0bebfe40819eb9bde01185d74", + "collateralHash": "1e4ac48f3a3d5df7a58a20efe43b349a41ea2f4ac84dae0ebfbae3a96b3c10fb", + "collateralIndex": 1, + "collateralAddress": "XqYorVAjFgPgnymhA7YFjFcB4HnV77GAJL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.83.1:9999", + "registeredHeight": 1909219, + "lastPaidHeight": 2126395, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkiVGU6kdMHe2ygKeKQcu73aPH1fQxT7sF", + "votingAddress": "XctoFTbKd3zF12NsF7egb5YH4CNnfJi1U1", + "payoutAddress": "XqYorVAjFgPgnymhA7YFjFcB4HnV77GAJL", + "pubKeyOperator": "86a50ed34514c605b1fa1ac354d922f159402fa724a37488128d4b27e8afad3c1d35e1ab9387d09877f82be2f12677cf" + } + }, + { + "type": "Regular", + "proTxHash": "ab37b78429a041438bd48365256cdc818b7594b7b5bcb574491e6130e472e81a", + "collateralHash": "6f8e2c485f8be9c2af08adab45a39648c129dcf3df3f3bf8090b1d9014ebc175", + "collateralIndex": 1, + "collateralAddress": "XsMDFjATakq1BUour4BQXmvHi3SLv1cYvc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.9.210.7:9999", + "registeredHeight": 1909313, + "lastPaidHeight": 2127027, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1909926, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe7YBb4PjAe4MZ4aR9HtPTGV2BoNPHzt74", + "votingAddress": "XxP1oQo8AoN5GiALbSZHvkCjinRB664yM3", + "payoutAddress": "XsMDFjATakq1BUour4BQXmvHi3SLv1cYvc", + "pubKeyOperator": "b934ff533b2a012b9fa7662162603d9018ea2879a62378a409df7bccc380c90850705872fd9391c3c59b27610660034e" + } + }, + { + "type": "Regular", + "proTxHash": "d0f9dcd818bb7600d6474dd42237039b070d55ad09942b4a807f4ffc75fbf945", + "collateralHash": "f961d49b6b8753cb8454a53975519e70bc4793c6e331a35bc65a57025f60c0c5", + "collateralIndex": 1, + "collateralAddress": "XjxCPRBZgAoXci6bdeZbAi1xRmusubHLX4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.142.34:9999", + "registeredHeight": 1909321, + "lastPaidHeight": 2127449, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1910347, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkXtQH3zz8omPSRUHJeVkjvFcQVkZTNsfE", + "votingAddress": "XnZX5JEKmfveS1UsMUVxbCQfAoTFh5hupK", + "payoutAddress": "XjxCPRBZgAoXci6bdeZbAi1xRmusubHLX4", + "pubKeyOperator": "a878c37a43fc11b42ebbe89a3cc81ca36961424ce39d980c06821860cf193d76edc38a8c10e50ca39a3777da02cf2a21" + } + }, + { + "type": "Regular", + "proTxHash": "1c4dfd1578b8baaeb0fca6aa037bc417c71e293465deb428bb4465e96e1ef66c", + "collateralHash": "ccdc20bbe4d224b99722c20b74429b048144bda7b53ae98da670d25a36a728a2", + "collateralIndex": 0, + "collateralAddress": "Xdo6XWxG3sKLBVV8nyZKLPJFUKmcn65gGT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.83.5:9999", + "registeredHeight": 1909382, + "lastPaidHeight": 2126515, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkx7y4qktGpnVHCyZEWGkhSw1APzAoB5u9", + "votingAddress": "XiqesTYicoLQqTXYFgwPyn8PuPJTk4CeS6", + "payoutAddress": "Xdo6XWxG3sKLBVV8nyZKLPJFUKmcn65gGT", + "pubKeyOperator": "87a42c2f0c116342555b7e2c45d1db50f08dddb6df6066784fa9007f147dd80bf791752c084df8907f7095276ef2545d" + } + }, + { + "type": "Evo", + "proTxHash": "0e9a4f75c4bb0ceea1eec28e2b730d81c192a5c386c46886ec48bdceaa8d3ff2", + "collateralHash": "bc4881c6a5fdf834fbeec5b6951fd48a4ab96a9a3232b640deed93c78a7cc8ec", + "collateralIndex": 1, + "collateralAddress": "Xy5dLxXd8B5e3covRLS9wj2XXV9sEeupF6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.193.251:9999", + "registeredHeight": 1909770, + "lastPaidHeight": 2126870, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfYHCyK6KMRcKebKgZ3CFwwGz3wgYnDqMW", + "votingAddress": "XdoMYEK9RYBo6XWeNqkjpRhmxcq9dFLgaA", + "platformNodeID": "c8df58d1e3cc66201cd019986de7c4a242bb4628", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XuvNfaKa9ZfR8qGAwd812ajCwxgbQAUoyx", + "pubKeyOperator": "a3b27b11ad87a91698358165599d7a1110e2e1b711476570f04b73c18479ebbbe512db2a2272b2d2516d32af7eecc583" + } + }, + { + "type": "Regular", + "proTxHash": "407a7629d0fb2279aeb991bc99a4fb9d503597e90be08a4b494635227f8d3029", + "collateralHash": "3f7318dce79b5c3fd3fc79c5d49d79c9b50012dc2085cb1a862cd2658c2c110f", + "collateralIndex": 0, + "collateralAddress": "XyPnZG5RjApRuhXkhhDp6iMrQ7wiqdgUHq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.6.57:9999", + "registeredHeight": 1909843, + "lastPaidHeight": 2114614, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XxBdr2uPQ2BkmTz78owxqSxfywu8vKxjay", + "votingAddress": "Xuo1owGEfTMjW7g1f2QQnxKKBnMD7vZSNt", + "payoutAddress": "XyPnZG5RjApRuhXkhhDp6iMrQ7wiqdgUHq", + "pubKeyOperator": "af71727676093337beddaa311d585e23f6ebe766360065d1d4b9960b49211f78d6d44ae8b04055e909a7941429de3b22" + } + }, + { + "type": "Regular", + "proTxHash": "a11848fca1e9edc73703731166b278e1bad8bd1aa2cf5dbd03e3d0eb104ed749", + "collateralHash": "0a53060eda1152ff24bfd07cd22872ff47d797682718269648ddb9f57eb67d0e", + "collateralIndex": 1, + "collateralAddress": "Xkai7xMYyatkUyayCWf282WjGyomY3ozou", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.48.97:9999", + "registeredHeight": 1909906, + "lastPaidHeight": 2127005, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnAxNs7miyYNHnXw3CczRsFaiHgTPzRu5g", + "votingAddress": "XiocaQ3urNADQY12to4KaRigCqL726FfLN", + "payoutAddress": "Xkai7xMYyatkUyayCWf282WjGyomY3ozou", + "pubKeyOperator": "984c35151b39db415fa20fe89a0bb6b7c8b56647dc0759838d3fab24a14382e23d802350c6ac5ef2bf3249fd0e399c09" + } + }, + { + "type": "Regular", + "proTxHash": "02a1268116bde0a980168f608ced34f4dcc05c759dbd4c9e54f04f2c7d14863b", + "collateralHash": "654b1febc8b94b9e0330a0d82aff2da43f4a51b708d68361f268d71ef05d0940", + "collateralIndex": 1, + "collateralAddress": "XrqzrvgRsxtRDkt4oMuMqaCtQP6RRk4ciC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.180.135:9999", + "registeredHeight": 1909913, + "lastPaidHeight": 2127015, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuPSXuFEzFrasfUWD5uhNARzSSUovnaekd", + "votingAddress": "XixWvTjVgNkzxazCpecMx3NeUCTAS9WZ99", + "payoutAddress": "XrqzrvgRsxtRDkt4oMuMqaCtQP6RRk4ciC", + "pubKeyOperator": "a5cc12a7791f529e354c93087f10c826ad2c465c0f65a650d1a08cddcf15e177b7a293103c2fd93508e4be3c39fe54e6" + } + }, + { + "type": "Evo", + "proTxHash": "a3212bb52d08b098aa4a65b0cd502fc2c87a8e78f987b3e98c16b769c72c1b08", + "collateralHash": "86a7307b42bb6a9710bd942a5c562c1135ea1cbb3e17b447b6be09fce68d0e59", + "collateralIndex": 1, + "collateralAddress": "XhLHCdjTs7hfxGtXdKQsBZcYBapZJz6sZx", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.195.91.7:9999", + "registeredHeight": 1909980, + "lastPaidHeight": 2127066, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu6KxN94dyAX8UQVwi8VgMsWGTAeExujQ2", + "votingAddress": "XwKv3bJobng47phFwtJEu2cHvQcTirooh4", + "platformNodeID": "38717918e719702f18e8f6369e279a6baba94f1d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xb44xgUgWS7FJ3a6MHZ2V42eCV8pg4mdrn", + "pubKeyOperator": "812d74415ec6f9aa56d3cc66009c7aa7c7057e969e03a537a3c9638d99acc89427523865b0468a12b50a572fd5165409" + } + }, + { + "type": "Evo", + "proTxHash": "ffa4a74c58aa0002696df1a7d2562b5a36f5116581a0df1a91500a9664985f52", + "collateralHash": "92e7ffd907074a121090aea9fc0146c5539bdd529d1eb5ad443be9cc29251d7d", + "collateralIndex": 1, + "collateralAddress": "Xc21zf72YYbUjcCzfSXqQ9fufi6X2shSk5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.236.161:9999", + "registeredHeight": 1910384, + "lastPaidHeight": 2126081, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978048, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhmZkhCH5AG82Auss21XfUGHGxCNWc3CFV", + "votingAddress": "Xkop1SSVpMoH3zMPwjndDBn3wdfysGA7Ch", + "platformNodeID": "08d0e40a4784fa85d619906cef437b2f108f41e1", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "872d9d5f9a7fa1a24501dadd35537c53224582815894947265d0c8e93a02eabd62224c80805f37a80748ee8c6aa662ea" + } + }, + { + "type": "Evo", + "proTxHash": "0d04d0b12b9c2d3cdffc3e4a59b8ef0e1cc5b165e51c1ad44ee8afed418573e6", + "collateralHash": "e81805cfe6337205f43f727680a6286471d1624eee356c86c777dc456f78c1be", + "collateralIndex": 1, + "collateralAddress": "XxfS3fXsi265hEvBP2VwZE4fPSUTYzRgZm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.244.220:9999", + "registeredHeight": 1910395, + "lastPaidHeight": 2126138, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2032208, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtnHZR5XpVk5ADEk1TDiPbE9LRkQqqaRds", + "votingAddress": "XbTPeDXBAyD9vnzz5prgwHWyDtRAXEFCrN", + "platformNodeID": "c0631ae5cb9c12bcfecb94dafefa59803eb5169b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "91dab350a9f7195f274564b94448f9aec0677bf66d5a0af1e3ceed42deb2081861097468c51b611f868fe510dcb7f55e" + } + }, + { + "type": "Evo", + "proTxHash": "9669de13a19f9b17e505c7220ea91bba016a39f836d0b74dae97be2f1a52a1ec", + "collateralHash": "e83fda6e510d8df249c030a13744299898fde7fde936d57b4fb7f8f6072c6f23", + "collateralIndex": 1, + "collateralAddress": "Xb9cRFxXnW5J5abGvtqhBEbjwukziF6jGF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.198.234.25:9999", + "registeredHeight": 1910400, + "lastPaidHeight": 2127543, + "consecutivePayments": 0, + "PoSePenalty": 465, + "PoSeRevivedHeight": 2121388, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XghRWfkewNVq5FW66xqgxyQpXViRKdwGoA", + "votingAddress": "XhQNwBEdk6Y2mKyXJmxjZT5bpSMmFpfs4W", + "platformNodeID": "7172633faa7bdf288c4b31e804c80f7c04670387", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XvHFwbr6y8BQNvLH5bZQnLNTW6TWTCAeSm", + "pubKeyOperator": "abc9ec46770277b0b9c695b134ea634c499b8f763b9dfc103bb2bbaa2a2f028e40d5ba73f68c442588ea942614af2586" + } + }, + { + "type": "Evo", + "proTxHash": "f185950e61fe261ac02c02efcc3f3851300c81cac64621edfc8726d5a0f1a310", + "collateralHash": "fbd44dc30f463c26be5270f98a9f33516cbb944ca21e41998ed1c35e6fc1e084", + "collateralIndex": 1, + "collateralAddress": "Xj2wQX3ThzRVcrMB8SNfbg2qU9Uz48JCV2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "31.220.88.116:9999", + "registeredHeight": 1910402, + "lastPaidHeight": 2126057, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978041, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbYfMkB1iM6w1SxS6NTbM97sc6QrTH3RbE", + "votingAddress": "Xm5ph7hcrAQ5YWALRqDum6gkU6AuMUHU9L", + "platformNodeID": "8abf395fff534f9f952082e4aca81a9b6df8a963", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a852a752566705f6fc0a279adf349d4c9840bc47ff8df369f90e5a045b858e31824e657a9a942206cf0a2cc6a658b1ef" + } + }, + { + "type": "Evo", + "proTxHash": "1dbcaa3b1cf12c0dfcdb3cd28e50af4f231ca94d7d98e5eaf2e730cd357a7d05", + "collateralHash": "d6c2c5ea972f123023174834dc324c5d3f1569bcfb298a336af20bed1666d60e", + "collateralIndex": 1, + "collateralAddress": "XerSEW2b21PBmowuzc8fUK5kKh2H5Xn2Se", + "operatorReward": 0, + "state": { + "version": 2, + "service": "2.58.14.149:9999", + "registeredHeight": 1910579, + "lastPaidHeight": 2109269, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128844, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XidGGpYLiqxUFufDXDwzwaDQjKCABitSJF", + "votingAddress": "XfpyyvrLLC727k9xbHhG13Lkz8KbnMQkvc", + "platformNodeID": "b2924bb0962e92f2fb6a60d24425949e8afb4274", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XurWtGRCECerJ1v5U97m3m6UGWa4KbAZUG", + "pubKeyOperator": "ae7b44202f315a3e97dddbd8d7dbdf3d21e56fd8611d697368fec95696c0ed70d715744f13012c1ea659ee53b8c78208" + } + }, + { + "type": "Evo", + "proTxHash": "114edaf079b652b35d82ec35180ff8145834c36e1b7e49ca307613fc994ff750", + "collateralHash": "a811b26c0f2af1aacaa19ed44dfebb9466bf24c540632c4086216d94a26ce1ba", + "collateralIndex": 1, + "collateralAddress": "XxC3hcVWat7YqvtUyAE7MaHcAgb88shU7F", + "operatorReward": 0, + "state": { + "version": 2, + "service": "31.220.85.180:9999", + "registeredHeight": 1910896, + "lastPaidHeight": 2128000, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxuJpHwHXhCUjAoqQynn8nYz6CqC3eUXTL", + "votingAddress": "XsSBk9awgaZJXdsLVMq8mbPybzFrKDq3R1", + "platformNodeID": "9f188bb055fb5dc017c8c25142e4916f9d86ac2c", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "81e86bab82624819f245d20ec055a4d048d1d217d824e871687499120e2846fe4f206000b7b1625f547934f1f636f09b" + } + }, + { + "type": "Evo", + "proTxHash": "74a08086d3bf920c0e56748bf2d0cfed1419f251d598fdcfad1213391d23db09", + "collateralHash": "85d5fab9fe36caa31da3cd949a24422cab6aa902532e64b86e81bc686203ad48", + "collateralIndex": 1, + "collateralAddress": "XiZuR6bh86fuCQfmzWgctsVivPkzo1FAVs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "173.249.53.139:9999", + "registeredHeight": 1910906, + "lastPaidHeight": 2128023, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw3J3DMpqS4qKBumrPdUcsLWAE9xcnzGNh", + "votingAddress": "Xj3JwUJ3LsYxStsUpGwPZjvWse419P91vU", + "platformNodeID": "f0775fc0b031166b708620fec1535b7f13a2e1d4", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b6c673df3de1344b10160ce05099b1d477c40bcadb444a10c86c205bf0b4470874e64e8b92591f582577e1f207ee2b1e" + } + }, + { + "type": "Evo", + "proTxHash": "4b9e75808b451aa192e1bd448971192bd5ab9f8ec1790b6535d845aef57e4b22", + "collateralHash": "f405c9616914837eff4d95f312d7ec33efa8429bce430bc4aa97c6840b976bbc", + "collateralIndex": 1, + "collateralAddress": "Xidj1p6PutXBsqGnVNLiknZNi4KwFZmRsh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.198.234.17:9999", + "registeredHeight": 1910920, + "lastPaidHeight": 2127353, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121202, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvuwaegmnwYvXpQvVfyTwkd2bpdx8ySzDX", + "votingAddress": "XbMG517bk8pKKXtea4BFvSTPsMuqZeb7t7", + "platformNodeID": "2d482f769f0261cdb669356a478c9991b04392a7", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XkLHPiXd6Matkd1EfU7QCEETz7r5ignGoR", + "pubKeyOperator": "88263dcc3fa8f26a26c757691abbc8f45bce9286a59304090cb1ebb24eac5645bc7e56950111e9bac9e8187ac32d458a" + } + }, + { + "type": "Evo", + "proTxHash": "06a9ee248111bf6d6d5b123cc40b3a9c9c9c3c84a58e5a2ed9df97ad7c4e7289", + "collateralHash": "c3f094fc0d05abb4d5aafe7961e1d517f8af44199e8dfc85e81e7c9e0ee3e740", + "collateralIndex": 1, + "collateralAddress": "Xuj2VkV3Gi8d6Cn1EU6n5QotHpZGcCjvHv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.189.186.78:9999", + "registeredHeight": 1910920, + "lastPaidHeight": 2127359, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1979393, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoBGUqdNneLNCbPWnYhmxgB4pPys3dADQb", + "votingAddress": "XdPYT1KCFQdP27tpseVGse8grGZ9XwpkhD", + "platformNodeID": "7764cb891526567c8035fd99c9e04c7265b83386", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8873348f84327aabe2920d571f51d4a39da2c8c5ac1315c9d0776f3e8af256504d5b52472c2e24bfe1aeba3572f230f4" + } + }, + { + "type": "Regular", + "proTxHash": "fa9b777b31b784e71a51e00a19e5e4974200f914b42a21a1a789b551aaa914ad", + "collateralHash": "3c5ca587dc473fd29f3a75ab757fec253b0cb80d533f95d8d472a8f825aef65c", + "collateralIndex": 0, + "collateralAddress": "XsDhJuLdmCEbkGz7AcUJBgBWB8f3Ai1Lph", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.201.8.193:9999", + "registeredHeight": 1911116, + "lastPaidHeight": 1983972, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "XekgjHga7tA1tYoPqGpti3sndyXmy4yMy5", + "votingAddress": "XxPm8HKUNSbzGj9SHi9ySW8fcY8tHBQkbr", + "payoutAddress": "Xea26emtVx9aZM3jzvLyfRDmcG6pTF2mcU", + "pubKeyOperator": "aa31acf577e9e25981523098d845377a51c339511c3af7624aeca1a4e09a00e0bbdc2e17a49596e7030104b4feb2365e" + } + }, + { + "type": "Evo", + "proTxHash": "6534b58e8a1c39b3d56a6af2fea0781ab48b2076febc6ccba6efaad6ee46b268", + "collateralHash": "f65898f6758e4945381fdc9a608a51af3bc4d22d8dd80df15b6aee98e816a41c", + "collateralIndex": 1, + "collateralAddress": "XmsnbEnfDEW1gDDBLprsFaHD2gY873T9FY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.77.194.69:9999", + "registeredHeight": 1911368, + "lastPaidHeight": 2126888, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": 2029730, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbVUzLk7K3Qpykwaqn7XgNeZTEbdTfwczz", + "votingAddress": "XhaB1fTHag4PWQVJW7JKHggwGkU2YXjaqk", + "platformNodeID": "f6b7ef5f0d757ef8495a5661e7f3cc7e42e38c64", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xf9o8jWbuEaG7dozRhvKbY4vUNZBwiSkV6", + "pubKeyOperator": "b499a1e66a27405b5bb7ea019e01826474ac0c71fcc0d55625e7fc2c4526cdb2b361aad6a1644522700d66c70b3e037d" + } + }, + { + "type": "Evo", + "proTxHash": "fc08e30e64483af9fb1190ad17386dbccaf378daf9f4accbf26bef12d0d55508", + "collateralHash": "7fcd7b655bf19249e5fcefdd6c00bc4b9d49ad048a51dee93e8830d5c0fc05f7", + "collateralIndex": 1, + "collateralAddress": "Xkx6WkNUoTVxmbn9QwCUP6bPm7BeCPCUYE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.255.182.185:9999", + "registeredHeight": 1911387, + "lastPaidHeight": 2128716, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031515, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhvJht2eMs5WZfuUjKC9KHPxQcASF3Y5Pm", + "votingAddress": "XiGiV45hZGsRFABvFnYnRkWoujhLiaayW1", + "platformNodeID": "ce7cd7d6f3710f36c37f94869d5930829c3c28c2", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XpbUxZyv815YsgdPfF96a6Vd2d31FLTvAy", + "pubKeyOperator": "aea508184a7140d9fac8dafb92e14b5a207cb28530a78aa7cc9088a4c0bfbc167679274222fcf759e63d202ba45682dd" + } + }, + { + "type": "Evo", + "proTxHash": "e5d857b3d1cfa3728be68f34f7592cb1f4318367b4549affaf2cd0cb3e47e516", + "collateralHash": "0eae0e1408432bd1400420cbeaa2850ddcdda9c1124fa1d5897f34bd55b158fe", + "collateralIndex": 1, + "collateralAddress": "XkEtGixsbgy9g8feLAfVcFWR4qDDscuwws", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.89.216.210:9999", + "registeredHeight": 1911632, + "lastPaidHeight": 2128691, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcVCQCq9raMAX3YZavtbEVprtXLpx1bqn3", + "votingAddress": "XgWL7Vo8HbZHZfRrGREFfLfpHAmJ2hpe1Q", + "platformNodeID": "8c29089f6db3715944e0d81ecff8106015b22496", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XrTmjsbMnaWQXUbugAaorQ7P4nbEZMcz6i", + "pubKeyOperator": "b4f4915d9596f2fb65958f9d5cef6c5df215b7e2ad27ceb352fba38331d8bfa9faee1e9e982404d807a98f19e87bbf65" + } + }, + { + "type": "Evo", + "proTxHash": "aa1d7efb277b44348b44d967beee3064c55c4f2deb8a35799fe823f8eee4bece", + "collateralHash": "7521bdd5eb3041907ff779bbd5a65d476872a51c66029e35a29608a062595d31", + "collateralIndex": 1, + "collateralAddress": "XxtQvN7isodoJmiybUApkG7ALgunPKV7fE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.99.172.5:9999", + "registeredHeight": 1912149, + "lastPaidHeight": 2125911, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xso9tyuko7Td8fsEpmwpjMkmB4qUKqwkB8", + "votingAddress": "XmNJF8Dp6FWHBv26kf7faFyA7RSaCMy1sL", + "platformNodeID": "bf125712d80761374f6fa6191f3c805a1923fca7", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XuZPBnjbjLh77e3KdWS8r1gTRxrBksvpML", + "pubKeyOperator": "a83d2ac03722920d1e3280a921fa3db6579e7d9827a52ae451adcab997e3f63195534a92300b712a12bd6f3a8a284ec4" + } + }, + { + "type": "Regular", + "proTxHash": "68f509167fed4aaa486d3bb113dba62164a6952b486d208aa351ee42b70d984d", + "collateralHash": "d6abdea230fce3abb12fdaf899baede2d6133b547de310c3b62e5132902d7300", + "collateralIndex": 1, + "collateralAddress": "XwxRmv74SFTnnukpMb8LferG64ZZWK2ve8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.115.136:9999", + "registeredHeight": 1912164, + "lastPaidHeight": 2125936, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqAkGA9yTqG4odbh9Ux5PvcWQAQ9zozRVP", + "votingAddress": "XdhRcjEYBVLse2HAaiRVJ7SQsyFXNBL8f4", + "payoutAddress": "Xt7P5HhgiLFhbDcKSpxJeqPxs3qa4yPaJb", + "pubKeyOperator": "b8f54195aac46a78e37ca417f08ed6915d22aa902c7bf6dc11eceeb9401a63d09a441a92e28319cff284c9d62a353f7b" + } + }, + { + "type": "Evo", + "proTxHash": "bf86442200d72693d7f1e6bf5fac0325d45fc652bbdbc3be66da142164eecc5f", + "collateralHash": "eae9254cb029f19d090b46067395abd1c1ee8c42426c9596667495a269847846", + "collateralIndex": 1, + "collateralAddress": "XjxFj4nL5Je4dTQur88ALz7SEoK2vZ4UPA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.83.70.84:9999", + "registeredHeight": 1912205, + "lastPaidHeight": 2125979, + "consecutivePayments": 0, + "PoSePenalty": 1927, + "PoSeRevivedHeight": 2128352, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtHWhJaG6Niqp9523PYZESrbKwkhZiUqSo", + "votingAddress": "Xo215AbskpmxGCrguPktSgR6zkUUrV7Pea", + "platformNodeID": "0b99d86c0383a9aae6f68293b48f4ea73246ccbb", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XqgW9JNrfkHjq9W1NHr45DbdKKDhExK369", + "pubKeyOperator": "ab452fcc169f203b1cdc0ada5657ecc9df93e6dcfe91a3a5b7ee2065ff10d1f533f967b9415133bf81dbcd024926c5e6" + } + }, + { + "type": "Evo", + "proTxHash": "101301a6b8fe9474c7647f51509f0bd90b3ba3d6022cf7c09cb9bccc3ecdae02", + "collateralHash": "ad68ef15b3958de3fe5434b9a6fa9a3efa46794f1a9cce17e160d9ce7a338870", + "collateralIndex": 1, + "collateralAddress": "Xgeo85PbJzsHbymhHKm1NYbwj3Uoso1gSC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.195.91.9:9999", + "registeredHeight": 1913007, + "lastPaidHeight": 2126614, + "consecutivePayments": 0, + "PoSePenalty": 1691, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjY9tyfa7mafUrAP9FLdQycCPTZHpVTKdW", + "votingAddress": "Xh5fiT61bfWyMjn6kjce9g8yMVQGuYGxdi", + "platformNodeID": "5b263589cf996af20ff58570142864041a986e33", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xgboq97YmCgcKWzKKKQHCPdF4945BS9uS4", + "pubKeyOperator": "aecec472675f3dde140d1b4dca73cd3c9bc509001f922b7abbc63fd5d4e5d26500018bd26f76135c5db024241de7d6c8" + } + }, + { + "type": "Evo", + "proTxHash": "13f27e0eb9125fae027ec5d3ffbca00ee7ab1abfc778d13891c1595ea0db6542", + "collateralHash": "53899fa2bdbec45a792b782efbc7d0f4c53d7b8adbd7ad8d84e816a0a6b13f3b", + "collateralIndex": 1, + "collateralAddress": "XfuRDqaBpmJnyNvCczk4q78UGqz96V85jF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.68.47.136:9999", + "registeredHeight": 1913747, + "lastPaidHeight": 2128633, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2011125, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvJ11tjXGpAd2DsuAhVGpDoNAnjcBhdBQn", + "votingAddress": "XmoQcJn5qQkKBWLkyrU8PLvTuXEmWsi4Kf", + "platformNodeID": "5d2ec3f62d98bb0d6e3a8d7c9076d7e9bd45774f", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsfQbjdVqn4BSLfHQEvVAe9heDGFPEkJGA", + "pubKeyOperator": "85c0d783f24910c41e2e08d9cf5b5ed399a91020293b01e2be7502b518415dc9f5026b7d01f6d60c6f278ffad23eb1d1" + } + }, + { + "type": "Evo", + "proTxHash": "0c0702ee0b2c1095645fc3acc5de92bcdfdbbf6c9e906a1d0e8985a14ac0438d", + "collateralHash": "f0303e1bba8fa6247a7dec325b2b7647e3aa9d9838d7eb5c351ecfb77bfecb5f", + "collateralIndex": 1, + "collateralAddress": "XbZcExZC2DUKxZ3nCwidC2GKFcTpv3CPwJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.99.173.66:9999", + "registeredHeight": 1913790, + "lastPaidHeight": 2125229, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128175, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu54Cv6b4zZf5pWV7f5m1swaXrV13PzUy4", + "votingAddress": "Xww9KkVXcVCToNbjqihSFWhQ9MycvYtNvp", + "platformNodeID": "a1332f0e07d66f60b93558a8cfe778205d24d451", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XejSWb5Nd4jG2ynfZCAkzuF9oxpTxp33sH", + "pubKeyOperator": "85a5848a13b4cf30093432e0b4d07243156a69f8d3bb4bd635be49d36fd98e8de3a65391e8f57bd534be801ce43b7cc4" + } + }, + { + "type": "Regular", + "proTxHash": "b069fde95c0db96e70a3271f69948952de55c0f6e53a14a1ab4a04340e3de0f8", + "collateralHash": "c277c945743fa5f73efdd45c9d9be62838b2891618541f9efc72ee06199f6719", + "collateralIndex": 0, + "collateralAddress": "Xh2EmZJhChKSkcMJkUAovJEdEaZyfwGG7B", + "operatorReward": 0, + "state": { + "version": 2, + "service": "174.138.5.116:9999", + "registeredHeight": 1913824, + "lastPaidHeight": 2115040, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XwbGB1b4hwuMmyp82sDZgrPvsqkDjjsj8i", + "votingAddress": "XkYKz4gbewmBKYabjAjSNpzMXU14APDFpA", + "payoutAddress": "Xh2EmZJhChKSkcMJkUAovJEdEaZyfwGG7B", + "pubKeyOperator": "86eb15e55e63f68f4056290095836c4ccfe435a69159c81393d64675c600faa98fbae5ea031c454e907e80c6926c5435" + } + }, + { + "type": "Evo", + "proTxHash": "3abc901c870c1b808fe672ff3aaecf282c0f2b2a41ec40fc991cb93bc19ae8a4", + "collateralHash": "6cb728f6ae0c52f1805e571e456e0b5f088fa81711da0a7767759fcc1d3f33be", + "collateralIndex": 1, + "collateralAddress": "Xp6SJ15SzjkWpGoyUrpk79VdfPDMeHFML7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.195.118.43:9999", + "registeredHeight": 1913858, + "lastPaidHeight": 2127439, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128377, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdEZXi2ThywUbiXGSkaje6KmJfg9tTi393", + "votingAddress": "Xg1vFSrWSWuzDv4XHFxaS6bo4knRXKZZYr", + "platformNodeID": "1da35899a34a86efc74ce21df967a1d462f22534", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XmTQNdw3wyR3Mh848B2LznCey7AkMfV7Hn", + "pubKeyOperator": "a1cacd45c162fd7e67d22b838d24955c56fb9db75c28a1d05ca7789c0798a9e7983460eaf64878fe6f8c302d704a831b" + } + }, + { + "type": "Evo", + "proTxHash": "a4313722c75f52e1b2666c099060be756c024c0b237f22b2153f46703515ec5f", + "collateralHash": "451b121d1fb2bf6a6bfd2806bc6841b96a3ba92adcbd7f0fda8ad0187f6d5a63", + "collateralIndex": 1, + "collateralAddress": "XkicnU4W2TpZZFJzRYAr2mtq9WB42D1DCV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.215.166.126:9999", + "registeredHeight": 1915063, + "lastPaidHeight": 2128750, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031542, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb9SqRW6uRjZbStGj56pD41V9mbrpAnkGE", + "votingAddress": "Xy7dMV9Ezw6ndU93mjH2jvFYXyZPAMNhS2", + "platformNodeID": "23afef249f2159296f3b07db9a478b935392d96d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XqKZg9jwCUdU5zbsusqTbTyg5TapQDgCst", + "pubKeyOperator": "a389c9c2e27ebc42869e985c8399359804e8fa29705ba5003067d61bfa2389829873330ace603f8fbe50cf46b901e1b2" + } + }, + { + "type": "Evo", + "proTxHash": "a3a4a419c66b1ee40ee3409ad8b9296b038755ebcc0781f3b8ed63de2c25745d", + "collateralHash": "5e63f8063cbde99b5bf5bb3b654cde0c488d6afee53b3a6b7b13ff587257f9ea", + "collateralIndex": 1, + "collateralAddress": "Xn8o721S6aomdXErP9k6ECwqSBhQYWcKf8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.199.35.6:9999", + "registeredHeight": 1915303, + "lastPaidHeight": 2128735, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031517, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj3RmkYSsiqULttjsUYyapBhswDHDmP7md", + "votingAddress": "Xfzz4phYdnVV6Acac3ChD7SX1zsiLMTJpA", + "platformNodeID": "c7d91fa57444d0c1e0f69a36483eddb4579c8506", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XnCcUSM4GKrfPbs4ZtwyDTeDb2bxd7nYjn", + "pubKeyOperator": "af5199e7a2627ae33ae62a353b99f5fa6d12073b640efd4213298d2726597f6582d06eba1fa435ce265598f0d8404107" + } + }, + { + "type": "Regular", + "proTxHash": "1d027604b1a3eef32924551637832460afa0b2c48554f8689c12e5896026709e", + "collateralHash": "5a151517e21130cdbc6dc334daff81d15c093de6b090c227ffb7a84b7f364cb1", + "collateralIndex": 1, + "collateralAddress": "XmJAYJcjgAPpEdn4jFVuGhriWkJyLPwyEH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "158.247.201.226:9999", + "registeredHeight": 1915335, + "lastPaidHeight": 2117184, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2125877, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe76LdMaMHweCVCCkd3KB4d5XpMyXd1Vwi", + "votingAddress": "XvaWRNSVS31qiBR7aBwzyd5mive1QUwXPw", + "payoutAddress": "Xyn2eLsaQ3vpi1Nkr2HHBPfRVJrWWA3ZeZ", + "pubKeyOperator": "98aa8585782a3ba999dcdc92a40f8ec8947d2e386ee6ac099bb958fbc7b79bb49724b4a9e5b47efa617536abafb23085" + } + }, + { + "type": "Regular", + "proTxHash": "af9a34fda3f9567e5defbe2791d414418fd6d709839e9948f242586aa7eb11df", + "collateralHash": "c9d13bee2ba683f4761dbcca3ebb2de5a4e3e7650d80220767cc1376b68bcd38", + "collateralIndex": 0, + "collateralAddress": "XkHCSLAhAwQJTBnrbzP2EGrUYq13Khyr7L", + "operatorReward": 0, + "state": { + "version": 2, + "service": "206.189.134.126:9999", + "registeredHeight": 1917053, + "lastPaidHeight": 2127044, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XonnY6xjbF5zpvFBavMwihoDcpAyAyvSHK", + "votingAddress": "XfnqjELTyXYK5PN7FqvvC4wVriJekt32NB", + "payoutAddress": "XscUuc59vgBZ6Zx7gqdoQkiPCo2cQPTqns", + "pubKeyOperator": "9432a93e7ff09ce69d4db695f29243d8c9f0cf29793b36843bedbcf7e1194fadab503b96499f4d50a0cd428e8a16e71f" + } + }, + { + "type": "Regular", + "proTxHash": "30df31a5d13235d2d4a9c527545abadd8dc2152d3e908d13e1d2e5788c9d257e", + "collateralHash": "b83fd2a216c2ac9b808e74e993e522dc54e17ab736cfc1108c74f46da93807c1", + "collateralIndex": 0, + "collateralAddress": "XfPyHQyRjSeKHgyizkXxgFQxcQRcqzaPEB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.190.32:9999", + "registeredHeight": 1917202, + "lastPaidHeight": 2127242, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkoeVkEqHn25Kw1RLZFxE3WH3tatNhkGq7", + "votingAddress": "XrotQt6nMTCURR2qWX6n9av5sjyWm3hbJ2", + "payoutAddress": "XfPyHQyRjSeKHgyizkXxgFQxcQRcqzaPEB", + "pubKeyOperator": "8b1ea83c5a9a101e25edb436d42926e75d3a4f194031ead7373cd94876a5d975be702555791c01fded04559b37c914a9" + } + }, + { + "type": "Regular", + "proTxHash": "b4ae0b5e0861335e1ef9f7ef298d3d8132647d51b985de2442338326729577cc", + "collateralHash": "9ec4e0696ab4707f57a95e97d056f7e27aaf5138b48ab14d1eec399e7ef8c5c3", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.199.254:9999", + "registeredHeight": 1917386, + "lastPaidHeight": 1992978, + "consecutivePayments": 0, + "PoSePenalty": 3972, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1994154, + "revocationReason": 0, + "ownerAddress": "XrrbvodmxhRgdtwX84uaVToCswC4BWKkJU", + "votingAddress": "XrrbvodmxhRgdtwX84uaVToCswC4BWKkJU", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "9624194bf12971b9c1b6da274fe4c0f5d1f28cd644e2e730202329afae7119d302c5f81719801b788db6b09d3e5ea8e0" + } + }, + { + "type": "Regular", + "proTxHash": "9906892db58dcd170b163b4341a2040d990e4878d613e5a2c0290d0821c2386d", + "collateralHash": "701ce947e1d5787f0f0660279dd1a95c26e1907d1479bfc6bea9c8b0684352f8", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.96.222.176:9999", + "registeredHeight": 1917477, + "lastPaidHeight": 1921019, + "consecutivePayments": 0, + "PoSePenalty": 4213, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1922730, + "revocationReason": 0, + "ownerAddress": "Xajkqa4MaaKDH8Lk3wtQqCHn8wQSMuS2nm", + "votingAddress": "Xajkqa4MaaKDH8Lk3wtQqCHn8wQSMuS2nm", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "af2b443543438c78696b9bcdc8e681cf8cc879f61ea9c28381eba2498233f1fdcf0b70ef21e45f37543da0d0a7853612" + } + }, + { + "type": "Regular", + "proTxHash": "12e1b1b88a3c0d3e88f8ef6145b55e490c3b8b5de777fa4424b80b0dc5a2a43e", + "collateralHash": "fb30119a0082f21ecbadc6322374d02e401792dd32ba8e8864746a3fbcb9eeb6", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "8.136.251.60:9999", + "registeredHeight": 1917505, + "lastPaidHeight": 2063941, + "consecutivePayments": 0, + "PoSePenalty": 3809, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2066421, + "revocationReason": 0, + "ownerAddress": "Xj56rhbxPxK39D4hjyaGgQqWLcXaGeo9Zd", + "votingAddress": "Xj56rhbxPxK39D4hjyaGgQqWLcXaGeo9Zd", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "b84fb1b2a6bca8b0a94ee07f6be2fc9750bc84df540bf6b1bdeaaeaa86bf08f8724df4306972a22783cfe9d6b240ab2f" + } + }, + { + "type": "Regular", + "proTxHash": "83f09131cd091b515c619c484f1b75f12479407a4519db47ff45f158505ab846", + "collateralHash": "c530b465500e045d44f2306cf128e79ca13afe5b0312073fdca2e47d9327b8b7", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.4.109:9999", + "registeredHeight": 1917765, + "lastPaidHeight": 1986895, + "consecutivePayments": 0, + "PoSePenalty": 3985, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1987530, + "revocationReason": 0, + "ownerAddress": "XgA6GTxj67twNJ9yKwSVLvfHTuEMsdzhRj", + "votingAddress": "XgA6GTxj67twNJ9yKwSVLvfHTuEMsdzhRj", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "82c59782dcd56885d040c61acc35f262f50e2c783b9860087843df941e9847514d52474a6b1a92c671673f6338fccce5" + } + }, + { + "type": "Regular", + "proTxHash": "9e7ac760bd32ac8b6415f88731b8faf7921ddb159d7200b475452d1bee3e14fd", + "collateralHash": "8403d9a1f909a4bb391bb6461442118f536781041de6356c42ca64e70ae70ecf", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "121.40.212.107:9999", + "registeredHeight": 1917782, + "lastPaidHeight": 1990116, + "consecutivePayments": 0, + "PoSePenalty": 3970, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1993002, + "revocationReason": 0, + "ownerAddress": "XqgXjZfRYM3ftfhskMoyKTVaU1jNJUKSoY", + "votingAddress": "XqgXjZfRYM3ftfhskMoyKTVaU1jNJUKSoY", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "a5d0e1363af4dbeda689fa93f9ca84dd119f9b96917986c90cdc9e403132dac6f4fd363b23ff2ef266ad112e215fb783" + } + }, + { + "type": "Regular", + "proTxHash": "432dd1a064d4a57edccedb675322199514b28a165341bf29e8646951bc313968", + "collateralHash": "456c215f4020d92c1604788a59ba7888035cb2203069e18676599ca5ae0dfdbe", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.118.40.206:9999", + "registeredHeight": 1917802, + "lastPaidHeight": 2006904, + "consecutivePayments": 0, + "PoSePenalty": 3930, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2009685, + "revocationReason": 0, + "ownerAddress": "Xsd7Yz9rvJ3oodTyMjHjtKqBsvjibhEmcH", + "votingAddress": "Xsd7Yz9rvJ3oodTyMjHjtKqBsvjibhEmcH", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "af1a0d61ab5a06534c16898dee5f49b8201f3e50dc0ccb13cb76e8d23836ff5101788f5607c69dfcd3b8f8029d4b1b0f" + } + }, + { + "type": "Regular", + "proTxHash": "931a1cae13eb6550375b1153defb0055b8561d9b8d05d54e72e886ba6b5ddd91", + "collateralHash": "94afb8bb1cd4feb41a183fa085d2f2b4004601d0ce340b73d058c95987b02015", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "8.136.240.152:9999", + "registeredHeight": 1917855, + "lastPaidHeight": 1990160, + "consecutivePayments": 0, + "PoSePenalty": 3968, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1991274, + "revocationReason": 0, + "ownerAddress": "Xt2s7fQqzYFG1e1aCR6p3rdETFLnJHFrCu", + "votingAddress": "Xt2s7fQqzYFG1e1aCR6p3rdETFLnJHFrCu", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "b9833cd3a791283bd647daa471483facf80a0dca506a8e85a55370d6aaae87a88ac44144519c12f4c475473bf0ead1f1" + } + }, + { + "type": "Regular", + "proTxHash": "96015c281ba71430081e8e0cb7ed872e3b12e291344bc67d78f9bef8dff7ef68", + "collateralHash": "91346bc7586a217b10f0edcf269983079fbed123f4598791bdb24d6132a0cfac", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "112.124.4.113:9999", + "registeredHeight": 1917875, + "lastPaidHeight": 1990171, + "consecutivePayments": 0, + "PoSePenalty": 3970, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1993002, + "revocationReason": 0, + "ownerAddress": "Xqqdy3g5pWbUbbEkdY2YQ4KMT3DRsEMZtL", + "votingAddress": "Xqqdy3g5pWbUbbEkdY2YQ4KMT3DRsEMZtL", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "b4a10342048a8853aad0f2f81f837079aa8c49cd2e2c93e46d6f12578448a4ae65c4f71e0e657c1acedcb71f0d47e8c3" + } + }, + { + "type": "Regular", + "proTxHash": "0625db5c1bfa232baf1b44d94edfb116f2558fb14a78b11b4ca443a5b4422c49", + "collateralHash": "a97b81dee63008e0527569642cb147007af7ee43130361c5ae8594baaef95c3f", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.199.2:9999", + "registeredHeight": 1917897, + "lastPaidHeight": 1986992, + "consecutivePayments": 0, + "PoSePenalty": 3986, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1987242, + "revocationReason": 0, + "ownerAddress": "Xfih9hvsHFpQwmS8uyXHqHCMM5XTRbvviS", + "votingAddress": "Xfih9hvsHFpQwmS8uyXHqHCMM5XTRbvviS", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "b3c8ab110be46cfaace8a28537e9d8c9c75d5506ddaa1ffcd802104dcc4082cc6fa529da917e7dfd7c7c6572c4dc7b78" + } + }, + { + "type": "Regular", + "proTxHash": "80cfea8b77e44f03be5b108d591bcd983567230e9e5cf430a8b28bcc0aaa2689", + "collateralHash": "ae6134a4ee8e577cd2735167b584fd4e25c4ee95ba9e4c92b284e70735f91d92", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.165.177:9999", + "registeredHeight": 1917931, + "lastPaidHeight": 1990224, + "consecutivePayments": 0, + "PoSePenalty": 3970, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1993002, + "revocationReason": 0, + "ownerAddress": "XprV8Lm2Twc6KscJMdY3fpmdq6uVxTbcBi", + "votingAddress": "XprV8Lm2Twc6KscJMdY3fpmdq6uVxTbcBi", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "a9c78feb61388ef6532f393f66eab5a0639e4356c482a887e094a76da155a0cb4b046f8fb1c094b6463d64312f078727" + } + }, + { + "type": "Regular", + "proTxHash": "e26e6f3736fb023d64f1662104468cb94a1cd5706a915e09c1f22500054f8939", + "collateralHash": "5c8bb504bcd6801f7ffaa3a4a5c7741f8516374f36d817884e7a287be73a23d9", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.98.66.95:9999", + "registeredHeight": 1917961, + "lastPaidHeight": 1987043, + "consecutivePayments": 0, + "PoSePenalty": 3971, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1990122, + "revocationReason": 0, + "ownerAddress": "XdGQm693CtsWPTfVM35csu5S5A6h6GxPJn", + "votingAddress": "XdGQm693CtsWPTfVM35csu5S5A6h6GxPJn", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "abe0dcb7307e88779490da83620fdfbd3af970e89f954f1ea42c1c12f2990bbd1e279a283803f073a917511c230fe073" + } + }, + { + "type": "Regular", + "proTxHash": "9203f42511fbc43f784871952a48dbf63eac43a0a8a71e45afdb71df1e5b15a7", + "collateralHash": "882d58d778b8c69298e447b20c5432cdf26a62338023b21e5ef5f620e890a86e", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.184.51:9999", + "registeredHeight": 1917988, + "lastPaidHeight": 2118656, + "consecutivePayments": 0, + "PoSePenalty": 3827, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2121450, + "revocationReason": 0, + "ownerAddress": "XqtRs47ncbfVXUbVq77RyME88s2RMzie9H", + "votingAddress": "XqtRs47ncbfVXUbVq77RyME88s2RMzie9H", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "abeefbef15eb0af2c411ba2dbc0717bc21fdc38acf37dc3ac30dbf8cbba68a14b6a32affbe3f7a5ac37e92ae3ff7c25b" + } + }, + { + "type": "Regular", + "proTxHash": "dd01f021c2b887df1db583545c414d5a0f691289654d8d21b2298de0c42255ac", + "collateralHash": "b9362434f6cfa7fd307f59ab063f8ea795ba64bc549aadc04e9b395d0d7f550f", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.197.29:9999", + "registeredHeight": 1918081, + "lastPaidHeight": 1987147, + "consecutivePayments": 0, + "PoSePenalty": 3985, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1987242, + "revocationReason": 0, + "ownerAddress": "XsvhnDMCsidS3biBPXcU59UdsKLPUYFZPb", + "votingAddress": "XsvhnDMCsidS3biBPXcU59UdsKLPUYFZPb", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "b5f2f678e5a7431644f5cbc21b2abb1b7fc227f49f6e3e88d8a2c156d53980df99aea38767610e083d8e225a1c6ec17f" + } + }, + { + "type": "Regular", + "proTxHash": "230e9cb2fa5520d1675345792929e347a5fd97a5619a27a4b90dc7f5374a2143", + "collateralHash": "ed441ded02b2f4cf2dbeb7f6f6288befc58f45230023e7d2d5ae32e4704ab05d", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.99.229.213:9999", + "registeredHeight": 1918120, + "lastPaidHeight": 2118792, + "consecutivePayments": 0, + "PoSePenalty": 3834, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120010, + "revocationReason": 0, + "ownerAddress": "XpjVB4d6WLw2MUeDSUp4cZmWhFoKrDV2tf", + "votingAddress": "XpjVB4d6WLw2MUeDSUp4cZmWhFoKrDV2tf", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "8ca484553172fa964c811a99154a25051a50cfb6834f1c45ddd4e9c40b184b16964ae6b34893120e46966d12e9447a16" + } + }, + { + "type": "Regular", + "proTxHash": "6061a819440ade288c6c2450c78d1a4de0d763c0e522894561464341031c63dc", + "collateralHash": "0015e99cf7bd0ea7725a879720f0d7f6e9ee8ee4b875099b4f3f94402667c9a2", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.146.65:9999", + "registeredHeight": 1918341, + "lastPaidHeight": 2119045, + "consecutivePayments": 0, + "PoSePenalty": 3835, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120586, + "revocationReason": 0, + "ownerAddress": "Xqw8nAneADKyJTPez4v1BsooibUkmakMWa", + "votingAddress": "Xqw8nAneADKyJTPez4v1BsooibUkmakMWa", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "9055f66a48159d4715cfc6b93758e295594099b6f42b970fc66b1d26ab69152f0a0b2bfb40c4993da2753501a4075cb6" + } + }, + { + "type": "Regular", + "proTxHash": "37fbfeb740d058583a7a47f4acaa5a3058db1532f60101681103cfa5cacf5b52", + "collateralHash": "fb43b6c8f8edb4826f86fed485412f1127dc201152cce1fd3a53968a1fdf4748", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.157.147:9999", + "registeredHeight": 1918362, + "lastPaidHeight": 2119110, + "consecutivePayments": 0, + "PoSePenalty": 3835, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120586, + "revocationReason": 0, + "ownerAddress": "XxJwUPViM1XqtiW9SqoqrvwhwbwKvktaqF", + "votingAddress": "XxJwUPViM1XqtiW9SqoqrvwhwbwKvktaqF", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "872348929a9f07f293011dd4629017483da0a2e0879c7702a59e75dcdcb3706f274af18242f789724fc7ce5010f05f78" + } + }, + { + "type": "Regular", + "proTxHash": "ad17d40921a85dd398db94f5d684f587fc3bfa68035e05c2e2e2324d9a66e051", + "collateralHash": "fa509821ac2a1feaf8f0a6cd10df3d41a4d9e9d4519919723f9a12d3bdbbd96e", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.156.180:9999", + "registeredHeight": 1918389, + "lastPaidHeight": 2119139, + "consecutivePayments": 0, + "PoSePenalty": 3838, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2119146, + "revocationReason": 0, + "ownerAddress": "XdqS9VbFj8qzmHSw4cEUcBcDSpQ9Bc5LNX", + "votingAddress": "XdqS9VbFj8qzmHSw4cEUcBcDSpQ9Bc5LNX", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "95de1bbb0275b2442fce242cc4742f48763a1cae42d82e4867e44c436b2573579357489bb6978b6c4cce3a5074d9057d" + } + }, + { + "type": "Regular", + "proTxHash": "ae645fec7f3c4c8d22ff048575f28d79ba0c1d96bda5c3ba0bb1684c4b132940", + "collateralHash": "be28f5b92ebac0fd65c622ceceb08fd306522fac9a0e7ae8c556ce8fe7340fae", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.157.187:9999", + "registeredHeight": 1918405, + "lastPaidHeight": 1980511, + "consecutivePayments": 0, + "PoSePenalty": 4006, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1982634, + "revocationReason": 0, + "ownerAddress": "XefTQDHJ3DYB1thkjk3LcB2mAXNpDB6ekH", + "votingAddress": "XefTQDHJ3DYB1thkjk3LcB2mAXNpDB6ekH", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "825aea80701408b5b40e9166289303482b2f90efe054638678b3bcf7a293e807bcc7e7b9e2c6f7d0a6cf67774d788c66" + } + }, + { + "type": "Regular", + "proTxHash": "6dd6552e37f7182091710d8fdceaf4a378a56f3304c46fa348e11af229f6badf", + "collateralHash": "490214f918a465643c4688f7ddc9fcd694074ac568e64f5b71ca2c5165ea69b8", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.154.77:9999", + "registeredHeight": 1918477, + "lastPaidHeight": 2119191, + "consecutivePayments": 0, + "PoSePenalty": 3835, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120874, + "revocationReason": 0, + "ownerAddress": "Xyr9FQ7dKRKsTUuBAGuYn23RLwYSLgffSw", + "votingAddress": "Xyr9FQ7dKRKsTUuBAGuYn23RLwYSLgffSw", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "ae1bee3b129adad9b90ae42ccfa0c3308824940cdab9d61dcb169216b9840b99ba8974a1d16f065267dd284b8b50eb5b" + } + }, + { + "type": "Regular", + "proTxHash": "9fa5e5f12e3c19d506c2058bb562f366926f2260e2fe03a990ccec0c5cb67aa8", + "collateralHash": "11cdebd4d8f18eeb355da91bedf33702acc43433fd821fc6e6176e04310abcb1", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "118.178.237.59:9999", + "registeredHeight": 1918519, + "lastPaidHeight": 2119212, + "consecutivePayments": 0, + "PoSePenalty": 3835, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120874, + "revocationReason": 0, + "ownerAddress": "Xgi4eJW5AGGzwFFwBgA1nLiQZVEeXHBMPZ", + "votingAddress": "Xgi4eJW5AGGzwFFwBgA1nLiQZVEeXHBMPZ", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "b0204d720bb47800293f56b2f00f02c2903ea637063e0ccffffb55c7d11693c94e171b0c06737ecfa7ce0f933afab6ae" + } + }, + { + "type": "Regular", + "proTxHash": "f76932e8c5f14803a4cb42acb31463c4a602af718aa4287eeabec26ef8b982c4", + "collateralHash": "a290c5f48dde226cbf50e834da5476938a8e9e1653ccaa27c309476265d80116", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.140.210:9999", + "registeredHeight": 1918533, + "lastPaidHeight": 1984213, + "consecutivePayments": 0, + "PoSePenalty": 3989, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1986666, + "revocationReason": 0, + "ownerAddress": "XvKiCRFSFvoPebzENYZ6xLpPGx4TYPErfi", + "votingAddress": "XvKiCRFSFvoPebzENYZ6xLpPGx4TYPErfi", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "a9f7c022dcc608f3030effc3a7e906cce5b60d19f48ff6d4d2aa309eaf4a55daa58c9314529a7ee039bb1e9bbf44b685" + } + }, + { + "type": "Regular", + "proTxHash": "ea0649343c804b3beb116f0d762c77bd193a6ad204535b16cce9774946d8eb0e", + "collateralHash": "533b1be6e097c2947a080d2e7f08ef5c134e21bfe83726eef966b21cd2fc5780", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.152.99:9999", + "registeredHeight": 1918558, + "lastPaidHeight": 2119229, + "consecutivePayments": 0, + "PoSePenalty": 3828, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120874, + "revocationReason": 0, + "ownerAddress": "XqAmRSWzdGDkdJ2L3nc9M42fGndxKAX6Qu", + "votingAddress": "XqAmRSWzdGDkdJ2L3nc9M42fGndxKAX6Qu", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "8ce7eaf5e7d755098750af55f9577e3d21360d1a48f13105f995803f38ebddabff64f081c2fd1f1ed06eaff9f45a87f9" + } + }, + { + "type": "Evo", + "proTxHash": "2793b8cfe8a204ca782b9a2a72bcc0765edd0ddf17ef305b3f2d416c12c4498f", + "collateralHash": "0fbe4c6bb73b66900bf61d1a999b74d5abdc8f60a004f24185898561d5bfd9eb", + "collateralIndex": 1, + "collateralAddress": "Xw7v4hN3duMqDmsMERPQbXkV5gdZwu4qKL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "193.203.15.209:9999", + "registeredHeight": 1918724, + "lastPaidHeight": 2128754, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031542, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhzGEfxnwcFpAgC1RyWcgA98XpxTKpRAvf", + "votingAddress": "Xfeas8HEiroEN6mobMTqHzjHLCdiQizQU3", + "platformNodeID": "f10751e678768885ef1dfa1d8d299e914ac5931d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XiWGnDXpdPWXpXxkQ9E97XEavMLSDo7Csx", + "pubKeyOperator": "94b84e0fc85dc27b387f55b616d5c72855bc9c2943841eb88b5cad20e50cb0079ff9a3c3652de770754cf3e3d0666556" + } + }, + { + "type": "Regular", + "proTxHash": "1b5f7a9214933275c81263c9c4ccc59f4045cf0c3838ff92867b08a0db1d4c68", + "collateralHash": "5dfbf9c668d9129e1bdf09d1fe09dce068548f31552bf7d8664f2b034b40798a", + "collateralIndex": 1, + "collateralAddress": "XuimzPkDtgHzFDRKB991jJK6Mr1ZwDL9QA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.248.46.23:9999", + "registeredHeight": 1919795, + "lastPaidHeight": 2126359, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr3sFADcTvbSiMikdPvoyf7AuPyaXVBryS", + "votingAddress": "XmjTPdzmfA8dwNmsiGMzweErRfXpULNmuv", + "payoutAddress": "XjFUhGoWLe69XvogFRfgYL9pf8j4DEp1RV", + "pubKeyOperator": "8a649e3ebd37b6cac897d44e95f541356a519b6ca3859d5737fdc41f82a986fbe35c79c98a82e7110b36b39c7b993b37" + } + }, + { + "type": "Regular", + "proTxHash": "afa60d33b854467df4fb0ebab9e3dae9083d5a114106c625c090405fa77b3be6", + "collateralHash": "aa9dab3f471844c31b94055f656a6471bc1c122f6f49aa5c3e89641302e038a8", + "collateralIndex": 0, + "collateralAddress": "XrtWdVKzYPL3abCjBERjAXNq9x5ULFu4rX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "143.110.250.167:9999", + "registeredHeight": 1920226, + "lastPaidHeight": 2126699, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoD4FGF78mWcHHQqif4f42QUy3PUJfqbc7", + "votingAddress": "XnGoeGr4Go86c1xHZQoEJwHApwTCotFiac", + "payoutAddress": "XscUuc59vgBZ6Zx7gqdoQkiPCo2cQPTqns", + "pubKeyOperator": "a881016e1ce1bf61a817c8db22cd80a7ac2786b78d46dee2ee9e4f76a85d5fecb19363899b69e2561ddd9c8c0b6d79eb" + } + }, + { + "type": "Evo", + "proTxHash": "bbf2d6a06a186cefc4bdedc1116a61b39b15edaf29de3a1310c36557638642df", + "collateralHash": "70860b539541cfd1624eaf5951d32b6b83ce56195ea9fa0eb874903ead645517", + "collateralIndex": 1, + "collateralAddress": "Xh9tD8QTvqxFCgAyZNeK8qBQFsGsb4mXBv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.199.35.15:9999", + "registeredHeight": 1920240, + "lastPaidHeight": 2126718, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdKu3k5zHZhBoYuSpYjaLb3r3tyBAucFvb", + "votingAddress": "XyonAyQFXk2bfCTUhyyc683a3UQkhXGY5i", + "platformNodeID": "f78f548407b9d58d9fc54c9ce7b0dc6ac9c7648c", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "87dec8d5f7e9972e96d10aaefce04550f28f6a34f5a6b061270916293de69af2b7b1ba929ff5aa1f36083f1e99ebbd9b" + } + }, + { + "type": "Evo", + "proTxHash": "2583ef29dc8b29ce32c5cbd21b88c90c9c9ff0225de7fad9d6c83c0e1cd324a9", + "collateralHash": "e88dcca4939ada296de2a24a17a0d5a5f90155e272cde312104c5646a546a0a1", + "collateralIndex": 1, + "collateralAddress": "XbxXURLJT1855M2J4DRaDU2VMqvocxB5R6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "173.212.239.124:9999", + "registeredHeight": 1920246, + "lastPaidHeight": 2126729, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xjuyg8PGKcuaZhJrtVF5tXuHZmz8bMw6VL", + "votingAddress": "XgfycfkbrjkAMMLKCdGf1WimpNtLcZsb1G", + "platformNodeID": "c579df7fdd61cc77e65a8e61ad30b048b33a8586", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b6680ecb1d1594c89527c4cfddfd5b6d6df060cd9bde593568cf865664677c3d21c011e6805845406d09019e1780a5e2" + } + }, + { + "type": "Regular", + "proTxHash": "bdae97f674de60d2d766c0cda1943669355b582f479a593b47d9fa0354d69639", + "collateralHash": "4785b12d8e062a70d1102f653576420d91318bad1e95da065b3764745bb33512", + "collateralIndex": 1, + "collateralAddress": "Xg29QsgsxAnht4yKKW4YyKhq6ijsdumNtS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.190.208:9999", + "registeredHeight": 1920339, + "lastPaidHeight": 2126782, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp2oJW1Dq2rmTGkTayZgVBoQWZFzmAKFAk", + "votingAddress": "XjsB5kYiie3mcHnCswGw4br8ewyBv7Up5R", + "payoutAddress": "XjFUhGoWLe69XvogFRfgYL9pf8j4DEp1RV", + "pubKeyOperator": "86c024505c3db131e15aae1d6098f72a53e490d9e96f2b59927a3d80504217e145c8a3e3f777cdf8df0a89bc117b523e" + } + }, + { + "type": "Evo", + "proTxHash": "5bd3e0d5483c632e3cc01a1b4383a3d19ec7a5327eaef851dd438f5448731cc7", + "collateralHash": "ffcf0e1d628c176af4c7f02f645b9d017bd99b20678e5ef0a6ce7247cb6453f3", + "collateralIndex": 1, + "collateralAddress": "XcXnpMiHRoez89HH8uy7W8CMsFuEbAxiBV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.198.234.54:9999", + "registeredHeight": 1920604, + "lastPaidHeight": 2125771, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2028446, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvZ31deBRPwoBsaLrWwWP3R2zKD6JNjtBV", + "votingAddress": "XvZ31deBRPwoBsaLrWwWP3R2zKD6JNjtBV", + "platformNodeID": "ac3165ceb67f2204d712bfe21ade940158228808", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XiY8ZLKb1Bttn7apQZ1fYJmYJWZYTo49Eb", + "pubKeyOperator": "abca6c32938a121e0c5bfaa40a47ea644f9d0f4d61ded808a1638d5f1144301ea05e0c85fcafff9009724394bc872a96" + } + }, + { + "type": "Evo", + "proTxHash": "542ea6807c3391fc3893bdaefacc14341647af15da0f856bfc323ea2342810fc", + "collateralHash": "d5f5722cd306dc73c356e47aa6a643aafaa934c22b57fc338c6e899618e4a522", + "collateralIndex": 1, + "collateralAddress": "XmUh2biZ8G86KvffKhRqsBJnd5B3erU685", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.236.201:9999", + "registeredHeight": 1920911, + "lastPaidHeight": 2127269, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2003026, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpY522VnHXbTXQdVWU2ynwqA8898EZpdhD", + "votingAddress": "XunjDHnYL24R7iy2GJMjuQs3GvyEF3gH5d", + "platformNodeID": "c0f6a2e2914f48fb351a7066929c04b708551764", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "95ea7d481dc92273d0208589407fcb9cc5f09dafe263b8dfde32eec6fd7bf4983d2fd31aa93b67c618c2f2ae8be00d4c" + } + }, + { + "type": "Regular", + "proTxHash": "8aec91285788a8df6c3e0b6ce6cf316e5b5eef024e0774948c8851028f5e0b66", + "collateralHash": "e90d6352fbbde223c23f07d9fd87638b13778025978b04bd5694054943b2bd1d", + "collateralIndex": 1, + "collateralAddress": "XrYW2ekRizPmHtroLn5meUPPMrRhRj79PL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.226:9999", + "registeredHeight": 1921343, + "lastPaidHeight": 2127836, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhipLjQftmeW2hGdwzu2791dge6nTLsv4Z", + "votingAddress": "XbysfvKhzap41md7pHLbxzLJTYoJrZ44ar", + "payoutAddress": "XdGdJcmLDBigJCzgJqeMmnAcurvaWCpHSE", + "pubKeyOperator": "89d1d5cd3d8a0ac105ef65b3eacf6018a95e5e7ebbc3a2f6c032f6277042247654b1535eadb5ec56f2d5ea0404f87771" + } + }, + { + "type": "Regular", + "proTxHash": "8246baebc4edecd67ac65caeac7ff103e925ac0f706bfaecbcfcae91f09712ad", + "collateralHash": "a2d91c01faa55f4a007b470fc318f550b750d1005912c135fe71046beac6af68", + "collateralIndex": 1, + "collateralAddress": "XfVk8CrFGfi59tvRAX4WHTqZxX6qhaaEYz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.33:9999", + "registeredHeight": 1921343, + "lastPaidHeight": 2127837, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwjJZpb8gW2EmQ4Nr76nFTZtJLqqFDWHtf", + "votingAddress": "XsiGu8uYDN21askWd4spKo4tByQna3GC8Q", + "payoutAddress": "Xfpy544q34JLjYQkEyKsYF88GDyXezqBCw", + "pubKeyOperator": "a073f907f94adfd0c0cf8168e37bb2a8d2ac5a054ce1c39bf8b6fa9bac1bf18b427c83f5b723b56bc4d5689fb8749fe6" + } + }, + { + "type": "Regular", + "proTxHash": "c5fde3c2821c8c62d603c30ebf61c63aa0dc72835dd444b2055f9b64284664bb", + "collateralHash": "acbf12fd130a5bf21a04b0f7736423c5a603ee17bb2ca0351895039cbd156d8b", + "collateralIndex": 1, + "collateralAddress": "XwM19rqTrKTVRGT2W6qEECeme13HszcHye", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.233:9999", + "registeredHeight": 1921344, + "lastPaidHeight": 2127838, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnkn6dvwXdaskazmWvY45aUT4TYAi48Wn3", + "votingAddress": "XkK8nsQRtMQijBw9k8YqKhgH4T8HJhjG7e", + "payoutAddress": "XeLBaxbijvjUJoo29vtVoVb6ZMeYJZmbjR", + "pubKeyOperator": "929ec703289a6189a2891d0182ab1892b3b8e326dee69f1fec8fe975d2ddd91ce570c7db031ececa806fe43a063de6c1" + } + }, + { + "type": "Regular", + "proTxHash": "6096c63875dbe3b5a4bd693d625cbfe4d2e37a79e8d2d4fe52c89afe0e357884", + "collateralHash": "028e84c35349220fc7b024e97382c2487e5275b947b0cd28c46506732465e894", + "collateralIndex": 1, + "collateralAddress": "XsXT1mJsfKSVCbiHwu2sqJPspCJK6FUy55", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.209.176.109:9999", + "registeredHeight": 1921535, + "lastPaidHeight": 2127929, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsFWdYYNF8qs8PkKAykRfWBCbtBrrwHwZ6", + "votingAddress": "XybatyGsrB2aX6w3rXsZtWQTPaYD8Uf6a8", + "payoutAddress": "XjFUhGoWLe69XvogFRfgYL9pf8j4DEp1RV", + "pubKeyOperator": "b88fd7b740904275df42f204915acec54e75eb844ea234d44020948f655a6c50cf8a715d025f81d1f2fe49cc047059ec" + } + }, + { + "type": "Regular", + "proTxHash": "df4da21b2462e3ef0f270d4dcbfa37d1b78a37024c9d69115f8eb6aa45dfcd96", + "collateralHash": "023d30909f8c7389e9a4ad569b2bfc35c74811a46901d36d333d4ac0174e6974", + "collateralIndex": 0, + "collateralAddress": "XuDWUAJbqc4Jwqm2PNTzjokBUsoC3CpuGD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.29.206:9999", + "registeredHeight": 1922062, + "lastPaidHeight": 2128460, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaprGBpm5w8vCKs9fLBdz7q9zW2HC83LY2", + "votingAddress": "XyZjnTfsY2bTKkDNkrXugsoYwGquAqkPtM", + "payoutAddress": "XpcADKfxVhTZTKsrAUfUVrQ2kBZXSdb1nU", + "pubKeyOperator": "99df8083c44d43bca8664d0fa28d44ba6f5231fd7c9f341c4190c41b1f3abcf809c5aba90bda48ca7df4eced5369e22e" + } + }, + { + "type": "Evo", + "proTxHash": "b2deadd3bda2551a39b99a868e8f4558c9a9ece2ff80b4361816f1d1a46cd1f5", + "collateralHash": "41668ea53f82d4c448379d136c05e8da3128a0c2a8ed31450059a3e6630222cf", + "collateralIndex": 1, + "collateralAddress": "XsGbVecHj1Z6rsur7F3xgzRvzrwFqKA2RP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "31.220.84.93:9999", + "registeredHeight": 1922405, + "lastPaidHeight": 2126179, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1985285, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo8kGhZ8XUb5vZAfaep3vuEuoUdYFmRDEc", + "votingAddress": "XywH1vSPMTWyH6AzjDQeGJa2riVJQYVPp4", + "platformNodeID": "cd5d5675a3d36c2be6b2d6a07ea56dea4e2e91c8", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xn1rf94A5UAmHYQsTy35rb1Tczo5fHzxdr", + "pubKeyOperator": "90ed3b279798232b1b99051716f29e69ad2a6f5901235cd4b5b8b2df287a7b44ea119a48a46cb2d5617852e25a642ed1" + } + }, + { + "type": "Regular", + "proTxHash": "3dbd35d07ab1c811ceab089483d60671a7af46be11ebb367d14f24725f357b22", + "collateralHash": "369ebd3fc1355d41ee090c5ede05263bae79be92521c9190b23bafc9b29f80de", + "collateralIndex": 1, + "collateralAddress": "XuiwfvskdMmr9m2acH5mcGVy398hQNKYEL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.85:9999", + "registeredHeight": 1924829, + "lastPaidHeight": 2127615, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118430, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdSNJ1TxMTHYDh3g2VLdWzCeEui8DPCALw", + "votingAddress": "XiLpi1rE9ZvNpByztcpF3zosJSMVz7eMK5", + "payoutAddress": "Xb3aEo5RV1wjj1Xr8CB6JMHtg9q7Vpj8Ny", + "pubKeyOperator": "b94ff494374ef48a98ec6bfa7b4c513e36ca834578b2c967170b27fe09eb10b6967950f36030db02eb0bef8472063182" + } + }, + { + "type": "Regular", + "proTxHash": "f16b53578ca81447c69d6599f869bf2320d76772c474d78bdca17d8a39831331", + "collateralHash": "43fdb638cafe929a0be5e68167f422a1e829b629c2d81af7a7b3790bdf8b31a0", + "collateralIndex": 1, + "collateralAddress": "XpgyrLhW3mBQXSTA3sagCqaPCtREpUn8De", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.55:9999", + "registeredHeight": 1924829, + "lastPaidHeight": 2127635, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqgZdijRjmi3Z6WyNQYhvRKTfDPeC7REKT", + "votingAddress": "Xm1fYzZoMM7yYtj4LfNGbiT9mVzHL2kHiV", + "payoutAddress": "XiRCFTquq26oUuPvztry4tXQsyEjPYYX5v", + "pubKeyOperator": "89e947a4e6967d972dcc4a57e7d273c76a9f105d133b51f69d2665a5c7896c5d92c1b7d9050fa85cb4145481b3f47d3e" + } + }, + { + "type": "Regular", + "proTxHash": "0816018cd703f2e5798d15b95286842ce10fd37177c43c4dc6ab7d15a3c5dcf1", + "collateralHash": "872cc42af4f82765e8839e08eaef101d5b7611688d9159fca68c6df7cbbe9b2f", + "collateralIndex": 1, + "collateralAddress": "XtxsRuYF2ZqnDosfSQj6MXhXGvGJq7fQcP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.59:9999", + "registeredHeight": 1924829, + "lastPaidHeight": 2127709, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XudbmhnUc7gRCRJVvoqZZX8N89TrPo5fbU", + "votingAddress": "XbS16zSicCPYKwdn34jVF2vtfUZUdvjbEi", + "payoutAddress": "XcgLL6Zpd9rsyBjHbffdeMkXsjiFifURSs", + "pubKeyOperator": "a585be0a86178c0bacfa5092e210f20187a89e3fb07030a39b35d3e053f816dbd4f0764e9b41648daebf1843a610e6d8" + } + }, + { + "type": "Regular", + "proTxHash": "7676ae03ff79f0a04d03214d34a0aa05e53a766eaeaae84ff4b5b0e295f972fa", + "collateralHash": "c89a2b96ae9f87fddf44f2c553e3c9ca3e2822ee563857b79d331a1e2d41f4fc", + "collateralIndex": 1, + "collateralAddress": "XwRvGrvqfKjEqPXPruStNdTHqyuyyHNUUK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.132:9999", + "registeredHeight": 1924829, + "lastPaidHeight": 2127710, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtSwsWjFE3yCN4HJXzv9hjD4y1RPmqXHn8", + "votingAddress": "XpcaCwDUABd6Z3a7rYrNMN7NXgx9zxCFDE", + "payoutAddress": "XfdCX9gHXywg9nk7r5ty7CsexMbvpQjNch", + "pubKeyOperator": "ac8c275c3ec5d738ff880cd2dd932eaa66203a977a611e08a6a810bb240f73a03c9a91c4e65b1e86cc616a1246f187fb" + } + }, + { + "type": "Regular", + "proTxHash": "a51abf9a632ea2e7b954d36638774b3d5435a9feb916976860b263e39f47d9f7", + "collateralHash": "a51abf9a632ea2e7b954d36638774b3d5435a9feb916976860b263e39f47d9f7", + "collateralIndex": 1, + "collateralAddress": "7Uv8QZUrwNb9zLWnertvLqVVHbZyiXQETg", + "operatorReward": 0, + "state": { + "version": 1, + "service": "93.21.76.185:9999", + "registeredHeight": 1925375, + "lastPaidHeight": 2125588, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127787, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XijcadUdfgZyhNkBEEFpMiTPmQeiqAvGF1", + "votingAddress": "XdX9gnodd3deNgBrFqMv9Tbg7J1mEt9YZv", + "payoutAddress": "7Uv8QZUrwNb9zLWnertvLqVVHbZyiXQETg", + "pubKeyOperator": "098c579177d294eea2f2f7ea7972365e80fe6abc12a876222ebf6da31bdc4e8768a50739af2eae4bb961270874a8cdd0" + } + }, + { + "type": "Regular", + "proTxHash": "2b759fd7c0da427dd1c5be252dcca80feb1c9263650219cb10ea544ccb18fd1f", + "collateralHash": "cea21971cbb68907b4aa6a5856a19eadab999fd5743af3f64328098c2c15116a", + "collateralIndex": 0, + "collateralAddress": "XrRxDz3v6vNM7NNNr37ooSG6XBt7mJ1dTB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.25:9999", + "registeredHeight": 1925532, + "lastPaidHeight": 2128357, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcVjRJeqYV32i17b9RcCHJvkqcFAmeyoiu", + "votingAddress": "XuYcjEjc3GDFM3fv34iKWxAtDubKoojRWD", + "payoutAddress": "XrRxDz3v6vNM7NNNr37ooSG6XBt7mJ1dTB", + "pubKeyOperator": "953b13f700916f29a8a48bff1a73e10da8b6766b22ae1fc00b942a101708714caae184513e1b8374195e009de113f6a6" + } + }, + { + "type": "Evo", + "proTxHash": "698733bb0872c94a08cc02df294e106c542dbd2dc0393c34aa71bbdfa5583329", + "collateralHash": "90bb29a0de601f8774348d4e393cb65313822ef146ff828869c459b28a06db05", + "collateralIndex": 1, + "collateralAddress": "Xr42cBFvr739PNP66np3r4iMkw5irMsRYC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.236.151:9999", + "registeredHeight": 1925868, + "lastPaidHeight": 2127793, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1976332, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgtGsSKzBvYNoT5UrzyBRxbYoiJ9B6rbDf", + "votingAddress": "XvqUMzeCEhnj9RLYcZSxcQBdTigHj9i1hN", + "platformNodeID": "c1161c96de3dae28cd7f20ff8c2aa7b94b866d76", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "819a0396e0dbfcd22d5c992179965316bcf13110a1b70a084511dc38870ab73056b50d2a8f1780d61cfe28c13e013f21" + } + }, + { + "type": "Evo", + "proTxHash": "57f2e758bdf8c592062dbb7b9b13bb1515092eb4856aca8f405fb3e1b098a9dd", + "collateralHash": "a698b9db1e50a8e13f1168c4b50a20e78c54d765f4c487e3208807f124685026", + "collateralIndex": 0, + "collateralAddress": "XgEJ1SSN16gKXSZBpabZQTrnnXTPvPLEVo", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.243.59:9999", + "registeredHeight": 1926593, + "lastPaidHeight": 2128759, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031542, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb2eiSnBebSid9vJsQfctEDxoqxNUebD9e", + "votingAddress": "XfNXvjF6pr9FrVW3WH5wagYDicrYvEFkY8", + "platformNodeID": "22cbcf19e2dc55d7d38c006721e4bc5cbef8577b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XrHmoKE1gmd3FDmjg9tDoziNdhAhL7asKd", + "pubKeyOperator": "89efb8ae57159a262f6dcd079331ddb442829ba7db72fd76ff8e81be63fd4368a5d7917535ad5122ba9f5b32734e56a8" + } + }, + { + "type": "Regular", + "proTxHash": "d452efa28d293bc609245c38580327c74e571505ae6302f7a929328ab53d09c5", + "collateralHash": "0772375cc89ee1aa214a939498382f1bd159560967405197945dfde1fc882f93", + "collateralIndex": 0, + "collateralAddress": "XgGW565seF5DggK3yJjeJAkxnMcrLUNUw4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.159.2.12:9999", + "registeredHeight": 1927116, + "lastPaidHeight": 2126437, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmXhcumzHofnr3b19nDtuQkWX9UqkGH38k", + "votingAddress": "XsUPpqEwVVFdqib8xJEp6gdT2t3VRisAu3", + "payoutAddress": "XnsqxQLGQv1FTwXJhakqMYL8MpT1G2tegZ", + "pubKeyOperator": "b7ef615f627bdffb50a5a2927440c1847b76d57b4e4fea6f1a5521b2477fa2b88e0738ce8aaf5df5f46dd1bb16a0863b" + } + }, + { + "type": "Regular", + "proTxHash": "f96151d07a81ed1190a639522755d8a1ef0711d9174af8e9500fd68808772bdb", + "collateralHash": "fa3741ec98657ae99f069ec1920181da8e6d8d1bcb155cba78b5252729d47780", + "collateralIndex": 1, + "collateralAddress": "XvfsgDpcFyKgcrZiFP1eAbXFo8oQW55GdV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.133:9999", + "registeredHeight": 1928449, + "lastPaidHeight": 2127628, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1990006, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xoq6YtCfpLKmpxCjgEAiXacs8R2jujhCA2", + "votingAddress": "XfshFtZhf2V6wdpMYegL8u9vv7QEiYt3qp", + "payoutAddress": "XiVN5ePmxSQmxYdmuU3wDrcUW3dspzTVU5", + "pubKeyOperator": "b7f51c215cd603649b3bc895ec20a1c6eb0d6811cd7ebc19ab6d985b3b9dc2b7ad52a6c091cb45211b11e89d31bb8cde" + } + }, + { + "type": "Regular", + "proTxHash": "fe4a5b70647cd9dcdcfe45e0e6540d04efab96edc4fb67ebcb1ec48e2d1a2b1c", + "collateralHash": "cf47b7341b2f09df9276d1f1031db56ffb3aa594929c96a74052545a38f3fc8f", + "collateralIndex": 1, + "collateralAddress": "XkrREAC3n2YdzA8AeA75B3Raw6UNF5fAJd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.143:9999", + "registeredHeight": 1928450, + "lastPaidHeight": 2127617, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118431, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyxHVAGoUzBWqXt4fiF7grqNKY4NuLAgNP", + "votingAddress": "XjAyiSF51PUNtzkrAk3hPYgfRSsCTTvnVY", + "payoutAddress": "XdH3T1mktzVCja3yfviHVZmxHqcRLJsKEL", + "pubKeyOperator": "8fa7e2241f2618f1352311f4e67d82520a19bd667d778d6914e7df78b3b3a4c2a92adb22ac244e282401c73be8cca751" + } + }, + { + "type": "Regular", + "proTxHash": "5af8d25470e491c395b67acd2fedcb6257121f0e2122a8c65bc5df4804699c9c", + "collateralHash": "8ca2e7fc483ab4cf8018b9d463e39512e1edc1be6528f54e3db2e601db92686b", + "collateralIndex": 1, + "collateralAddress": "XsA2kKAC3kAP5MABGs1bhiwtauiSZQaSu4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.182.197:9999", + "registeredHeight": 1929098, + "lastPaidHeight": 2128226, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkx1qqjeG8rCWgbdxFZyBxSKtHNWjcjGsm", + "votingAddress": "Xc6vZXtUYpdBzcimbUbMotfqJjRrrqdsZp", + "payoutAddress": "XsA2kKAC3kAP5MABGs1bhiwtauiSZQaSu4", + "pubKeyOperator": "a5cd8ef674cd87e5b44cb8e8eb2909e70efaddbc552e8e0ba15242937fd6930b84d4371c23a169e13c4ad6804a7457bf" + } + }, + { + "type": "Evo", + "proTxHash": "3d1babd752d50c51084b8ab7f719b391d482e7417e162970ccdd06f49d9512b0", + "collateralHash": "ebe591ab16213042d56ad0c3e5f9c790380309522f3d7083940a28325bc5ea9f", + "collateralIndex": 1, + "collateralAddress": "XvWKUfPtZahdf2jmRDGMhZDY74jimjg1y7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "108.61.165.170:9999", + "registeredHeight": 1930839, + "lastPaidHeight": 2128377, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1987428, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhzMTLHikK5ZVeLxmM26VtQdoaHkRTpRGY", + "votingAddress": "XfCyehmd2bbXY72PxNhyNVuTUZ7gWJMS7o", + "platformNodeID": "0a77eccd7aa0be2bba74cba55854a5a72397724e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XoC9o1CFgzYGLNsjdqYn7x7QxYvSGEFaN1", + "pubKeyOperator": "a5e8668241ab026dba36f4dee731cea18f6eef6faa2947d1125f5379be852411e413c401a00daebb3c48884dc43781ee" + } + }, + { + "type": "Regular", + "proTxHash": "6f05396c151508f2a8c132453e2bf5171aa1ed0f26d406da65939555a7f42e19", + "collateralHash": "2459cf555d8bc04b51e194caf67668cfcb7b1f62c113541cc63a42f2126d9469", + "collateralIndex": 1, + "collateralAddress": "XbD8DyRB4QaUkt867c8dPXg8TNLG4zdUGC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.109.95.133:9999", + "registeredHeight": 1931288, + "lastPaidHeight": 2126928, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoXUt8uTjLhdcnhnq1eKSCPBy9eaR3CpYF", + "votingAddress": "XmMaCkNgdTfMVzodfz5r25V3UPx9SjbCZ1", + "payoutAddress": "XnB91jHVC45PZT6zBMeawcPB8Zaiiu4PDz", + "pubKeyOperator": "8ea3406ebc0741691fd005e1c1656f8c85c2e69b69b4c9452aa42320f764e9512f753ce3479117b58bc2df922d3eb9a4" + } + }, + { + "type": "Regular", + "proTxHash": "5cc4a17b64e38c50acff9aea9eb8d28235aab868989db87a06a36d903f5dc57b", + "collateralHash": "5222081fab64a2ee7cc14fcec72f1d3a99c053c29718ab4ace8f315070cb5d89", + "collateralIndex": 1, + "collateralAddress": "XxTxzqqpFTUMtVzCDgaP2BktoqSPpm7mAC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.235.200:9999", + "registeredHeight": 1931399, + "lastPaidHeight": 2127034, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp5oWrgQnejEjfF9jKV9W7Yti3heZP8ePk", + "votingAddress": "Xoxin6kNiDubSo9fKwqRV4JhFbM4TkEYHg", + "payoutAddress": "XxTxzqqpFTUMtVzCDgaP2BktoqSPpm7mAC", + "pubKeyOperator": "aa7018be9522d17f5b72c49035ed2178b399374b3556786bbf1964cd88fd4daf15abba9142f659499a253b25157d7103" + } + }, + { + "type": "Regular", + "proTxHash": "3538f5ab6588a756ea0a86c680542b414cdcdaf592ffc3d92a0dbd0308a3772d", + "collateralHash": "08e9bb3a49d877a38a22ea729eefb84019116ed03ec94513432cb7824a00ece6", + "collateralIndex": 1, + "collateralAddress": "XqSeaKiXxo5hUnnJmqkNTdTsFR8uecxJUW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.217:9999", + "registeredHeight": 1931960, + "lastPaidHeight": 2127589, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2010105, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr4h8i894vw5L9zHtBEwjokxMpaeT9zuPr", + "votingAddress": "Xy6ALHZr5uNcFZ47fDU4q829yfYbnJPvvJ", + "payoutAddress": "XswbTSC4vmPkuLWk7pkZkYayS8UQ31g61u", + "pubKeyOperator": "b136bffbc023201b3e583a891ef6c35c5d2a1a690301419b7300d6e997e30458c6d0bc0a37f9352941d6f975f81912f2" + } + }, + { + "type": "Regular", + "proTxHash": "2808c6d3ce99c6c348508643a2c90ce1a700334963afd18c9b91c6d9fcc55da8", + "collateralHash": "6c60000275f564076b7a048daa9682ee3f3b0be2955f18974ffb16017489803d", + "collateralIndex": 1, + "collateralAddress": "Xw5xDnL2QzUFTzMhCcqEhCxzLjiVg7Q7vT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.218:9999", + "registeredHeight": 1931961, + "lastPaidHeight": 2127538, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb7mc4DyNuL7y1B3BNe2Cq6umaEdkkusW1", + "votingAddress": "XidzQ8BKae5q2qpEw4WM3EXiyyuKM3C8hV", + "payoutAddress": "XpH9rjg7i9VZJuSLWUC1whdvv8PJXnfMUM", + "pubKeyOperator": "943afd01b21355b55dd996f2864c6c69f46d69cbd2d082b87524937312870dbdde5b9e7f65b5196150d8456af39ea32d" + } + }, + { + "type": "Regular", + "proTxHash": "c858c85f92fb0581068ff827d0b0a649456e4ff9e97d0826c79d988ba064744f", + "collateralHash": "1118b321b7ace198c270148914e2c7a0c46e0f3b056cb178966efb1b1862ccc6", + "collateralIndex": 1, + "collateralAddress": "XgdGy34eR2X6UJQe5s2NzLNeaovBEcM1Xz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.164.163.220:9999", + "registeredHeight": 1935745, + "lastPaidHeight": 2127745, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnt6BBTQRYdP6szPN9A7CiogqJ5stvhToG", + "votingAddress": "Xi8zZBzLUEXXekJuy4wuFBZsijkTsPpKXx", + "payoutAddress": "Xg7WGW7kaTvrBFVotTEuMy8m6Le2q3VbRQ", + "pubKeyOperator": "8e3c87f5f307859e605233f7248c81c67a50b45f9de111b5d23f189dd5db9951955e4565f54741add2c7731bc5d9d559" + } + }, + { + "type": "Regular", + "proTxHash": "023ba488bcebd33a28cb9089a6974119351710c57f80262d3eab4db603ecca14", + "collateralHash": "d0fdbe1d6c00b49d9fb4febf02a99766d48a4ee85731a2879cb830e9b32e0894", + "collateralIndex": 1, + "collateralAddress": "XbQdc8Ty5mMsVoi58xDretEKXhTyGu3u5i", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.221:9999", + "registeredHeight": 1935748, + "lastPaidHeight": 2127606, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2037097, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoHpLStsX4WMi2NtdnRU4Rzm8Er7ZJhjEV", + "votingAddress": "Xybd1wNFMgMxvkb98uHR5nYKchritstwoX", + "payoutAddress": "Xvs6vDhCJxmJ8Kig3vtyZWiLF7ojTfNUee", + "pubKeyOperator": "a9ff8c9c4ba303a29d80c7d095bbf28c7f9ddb82fec84d39606c6345b321c169bc2543b65d07f5f84fda283aae24bba8" + } + }, + { + "type": "Regular", + "proTxHash": "c88167756f5cd9f3dff8283a1441cb917bff817ac6ee0ade97de0fefa79d83c9", + "collateralHash": "394ce5a2b016e7f2da793fb382be67b061889f131cd112807ba93b0f6042d4d8", + "collateralIndex": 1, + "collateralAddress": "XjSt6p3XQGPYZc7oYVwxXHHExhGYdtRZos", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.215.107.202:9999", + "registeredHeight": 1935947, + "lastPaidHeight": 2127873, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe127DXTifEcQkYrxEC3zdpum3SujAFvAH", + "votingAddress": "Xe127DXTifEcQkYrxEC3zdpum3SujAFvAH", + "payoutAddress": "XcadojnEmMY72ngkBeFBUcrYH1s3qymeVU", + "pubKeyOperator": "862069076b31b3bb4987a9d3d061d1770312ef53b7bac93c220ab2bb49db012f4dee2f6ccf3ef90ea921bce05d27d0b7" + } + }, + { + "type": "Regular", + "proTxHash": "2b5faa610119997eae8988819a7af7b5e95c4cbeaf64aba3777962d0a398ae42", + "collateralHash": "b9cc8fdb6272d24c0f74023e493fba2ff4c43e1513192e0a24e05f3b351b934d", + "collateralIndex": 0, + "collateralAddress": "XeYy8PBubisHs7y8WTR2UCEHtoy6CBDzum", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.208.184:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2127141, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbvv2aAQ9ini9yrkdVoj8PRXQfmidyVjwZ", + "votingAddress": "XxNvuZgz7YgZQeL1V37XYrtDXwHgqaK63r", + "payoutAddress": "XeYy8PBubisHs7y8WTR2UCEHtoy6CBDzum", + "pubKeyOperator": "92b40887146cbf0eaf4f6b3a72c7d86237b42ddbfeae340440ea30bb8d26ca014cb8bfd6e16f2a531fe14fb13e553b6e" + } + }, + { + "type": "Regular", + "proTxHash": "8d436c26dc2d2557f4e414b3c7f7714be8d7f8a002600476f615200cbfaee751", + "collateralHash": "3c5c57e0f1bbac89c78060ccff2ad972228a8b1a7fa0f971880a345fe7b22871", + "collateralIndex": 0, + "collateralAddress": "XhoeCWgD1f3X4V4Zh8TDJheXVoPTEyCwT2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.214.18:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2127146, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyNjwfTeP1rNdpTx88ahHpgAtgNckdXquV", + "votingAddress": "Xgh3xepACBazC94QsYCKLq52GGZTJ4Z4GX", + "payoutAddress": "XhoeCWgD1f3X4V4Zh8TDJheXVoPTEyCwT2", + "pubKeyOperator": "8a616a3a18095c974b2d639bf03d9cfc8a20cba8a35c623658f8d526cebdad30aedac29818ae49b80c5fc689070984f8" + } + }, + { + "type": "Regular", + "proTxHash": "1e964fcd4064ba2dc2104c5f52d48ef6b679cffe6a0cce2af7321a5871b4fb70", + "collateralHash": "5b5d9bea43136d4fe8b279e1a970039a39ab9b64ff1620eeec42f87343dffb9b", + "collateralIndex": 0, + "collateralAddress": "XwydU9ftMLz23hGZ9CsSfaJ7rcR7U6CmA6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.114.95:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2125899, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs13z5xg9f3Caw6qtZkZYM3nDpNpyd5JvT", + "votingAddress": "XyiNF3BrZbRzpd2U9iNWEZKoAqEd53ZTBH", + "payoutAddress": "XwydU9ftMLz23hGZ9CsSfaJ7rcR7U6CmA6", + "pubKeyOperator": "b877e7b4a11f2251b7e655989d32d33b29bcdaca2a97be3e67d9ddf45f74b92a45816e56a18d90a888b96bc812aebcce" + } + }, + { + "type": "Regular", + "proTxHash": "e2cc55a7489e751132a1049d83223ee8a023602b5c48062df90773d8861c237b", + "collateralHash": "ce6c89775bec70f233e20b996f2ad09579de9af4066f988fe40e6d688eb0a832", + "collateralIndex": 0, + "collateralAddress": "XfJY5Fw5cXrzGohYtYY8PkYz5rtr5ehT6y", + "operatorReward": 0, + "state": { + "version": 2, + "service": "66.42.53.200:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2127150, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsZMKcJxpHKC8FB9gGE4J31jgyvXXqoYQ3", + "votingAddress": "XgpRGjGv6Me3KgPSUVczS7NYERwuVkdQN3", + "payoutAddress": "XfJY5Fw5cXrzGohYtYY8PkYz5rtr5ehT6y", + "pubKeyOperator": "a0642b7f15eea540280f292b15c6966ebe470969d2eb88c26e2950926366d28d9909286d3d7f9e388058744d1402125d" + } + }, + { + "type": "Regular", + "proTxHash": "cf655c475813d1d4702e30a6324d1f7ab1ccc89f709769a162d31938ee069f83", + "collateralHash": "4275f02b9f660790d53314f41c72e5dd9d57c428cd61e0a70a587ab621b4f14f", + "collateralIndex": 0, + "collateralAddress": "XkT5PvjiwBzaKcMPYu3oGZakpnckHEKMxa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.77.170.75:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2128844, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1940708, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhVNom4Jo2o5MThPmsJHJVV4P3f1japmmS", + "votingAddress": "XsSJ3HLn8GiPzkhfiCDx48g6d8SeUyRQqP", + "payoutAddress": "XkT5PvjiwBzaKcMPYu3oGZakpnckHEKMxa", + "pubKeyOperator": "93265aa5641a2703d56019313cea8ebfbc80357b709b44965a60a9b55a453bccb8d69ab6a9e0f9395359aacf1db4e0cb" + } + }, + { + "type": "Regular", + "proTxHash": "526df51f2bf43ccb80350f720b555893f06c472e7df71da91554769fa004079c", + "collateralHash": "f8272b4293ed2d07d5f3b442396804f59c39aa9ff5daf8030a74654dc40fe4a7", + "collateralIndex": 0, + "collateralAddress": "XfvDsWJv9D8QvDJTxc8EqDhd5hBc5seajZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.148.74.200:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2125900, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiGYMXcGy4QRXeYWAGEny8bMZVQpJzXMcH", + "votingAddress": "XfAF6C7qNSk85XVGaaTuJPFSBsuvJsPQRS", + "payoutAddress": "XfvDsWJv9D8QvDJTxc8EqDhd5hBc5seajZ", + "pubKeyOperator": "8a164d1a4438a3c03e750c26deb15711d4b5c910478fb04f707111cf093ab056eb36d66a5ff9ec061bace221c0be830b" + } + }, + { + "type": "Regular", + "proTxHash": "aa2682688e884d04d8263d58d438e893e1802f78745951a105b5639fef552c9c", + "collateralHash": "246cf71d3d7c090fa7a941476a525faac8011ce24ca2e2260b34ac01cb2cb591", + "collateralIndex": 0, + "collateralAddress": "XgPHF58K3bufkv8wyqTbG7qcWepvy3reBZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.148.70.144:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2125902, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XecML98Rfx8QVteqKvE7faprVGvr3aLEC4", + "votingAddress": "XxmmmDthwhGsWbPruJ58gwaix6vxCPpgZU", + "payoutAddress": "XgPHF58K3bufkv8wyqTbG7qcWepvy3reBZ", + "pubKeyOperator": "88b83df8d5825bb4a9ee4ccb1bdda6a7b8f597c077bcbb0e6be26cf27185f7f6216836022a26343080368e5a83c03db4" + } + }, + { + "type": "Regular", + "proTxHash": "831647b4be0807b4a67e4d0cd8063012ee366d01e55286707b526fad3aa69dc5", + "collateralHash": "2dd447056fee97977c0fa2bb758a964991419ea50f1113416b08df438795bf79", + "collateralIndex": 0, + "collateralAddress": "XhsriaFFg7kdEUeQzznPc1epynKP9B2Gam", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.152.238:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2127163, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp4LMrUMNXAVS2byEhzwrnRhDQyvDP9ZvZ", + "votingAddress": "XjfwLajHmSUoenCtHWGGzzavBJ3JZzAj9a", + "payoutAddress": "XhsriaFFg7kdEUeQzznPc1epynKP9B2Gam", + "pubKeyOperator": "8028748213476ffd2bb628b7ad08768b5845a18372de627551f30b10301b99197dd1a57c2a13805bf0d2c2dd5290c1b9" + } + }, + { + "type": "Regular", + "proTxHash": "7011fbe537fef15afdc96905829b0ffdf711a00706937eebd9ce774746210cc8", + "collateralHash": "0ddeef7f09a5ff6ddae011657124144b45385e7a12291a565be3a98b99d57bb2", + "collateralIndex": 0, + "collateralAddress": "XgCsS5eJw95jLQCzgxvvvLoTQxQ8HVu4AY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.77.46.21:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2127164, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121056, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XygAFvfFh2Z7QdnJo11TGtqztaQP5mRTR6", + "votingAddress": "XeTFFAiQsPhHJD4izL2T6StwVcSP87nLKu", + "payoutAddress": "XgCsS5eJw95jLQCzgxvvvLoTQxQ8HVu4AY", + "pubKeyOperator": "98c54e5ab8a0217354e2c36c95413b735ca4adc8d28b6f4297f39d66b5b9e5089a94ca5c2d3ebe53393920a4ab8c4de3" + } + }, + { + "type": "Regular", + "proTxHash": "9493762d8d69dd28d7eb1fc4ff1dd21d0cdf18702fe0605481d4dc208d1387cf", + "collateralHash": "0d152ab688b751caa73f86be653bcc70dd80ffd66d576074f9e1cdf878fc1a75", + "collateralIndex": 0, + "collateralAddress": "XqRJYgw6s21RRRFcEykaVwQrhYk3kSXz7N", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.148.72.38:9999", + "registeredHeight": 1937379, + "lastPaidHeight": 2125903, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgmZGVzWGUQ8DUNgDGZHGaqrhHh85FTk5j", + "votingAddress": "XhjgsRcMxQwojJMfT24cutosWX675RS7Lz", + "payoutAddress": "XqRJYgw6s21RRRFcEykaVwQrhYk3kSXz7N", + "pubKeyOperator": "8b9adad8255307b05eb9df204c163348233e15527b8f5bf3403fc45fc29e261d54ed7cf35feed6b4d0591dc595e5aa20" + } + }, + { + "type": "Regular", + "proTxHash": "43ce153fe5ef0bf77ed0907f3ec9c028dac546f645e308f1fd5a7b4717f3d20c", + "collateralHash": "29ea4bd22850ccc56425f4ab6637d91c29078f0bc5da25c6e04de0cf56cc1a3f", + "collateralIndex": 1, + "collateralAddress": "Xr2czpSzaj5YkBfEzjuPVE8UPCxW3WHEkH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.225:9999", + "registeredHeight": 1939390, + "lastPaidHeight": 2127764, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuuHKa6U2vBFwoksJePyRmvQBP7woL8fMT", + "votingAddress": "XdFRZkceJVQ3SZDrYw27gd8zJY4EYUSSNz", + "payoutAddress": "XqXW6A5TDWbrNjLhmqdhAKMfzXbaXXpJkm", + "pubKeyOperator": "826563df76f78a42f41080aa4737f91af6e75304de20c7fc9c6f4954abc5f03921e0a3fafd49fa332a6cc5bba3560e3e" + } + }, + { + "type": "Regular", + "proTxHash": "0110cad9fc9e7aeba46cdda2e2ee7de6128d35e77eed6c669d083f08bfb929d7", + "collateralHash": "125a5a8a73cf2b538155d213e05fcda4ed6a026191854b047838ec4973c1112e", + "collateralIndex": 1, + "collateralAddress": "XsFm6QqQXZ3CGbvvGjveC6pyupEj2HVUSk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.231:9999", + "registeredHeight": 1939391, + "lastPaidHeight": 2127766, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xiai3ddfaoB1eSdM1po7ufwHahKoj86oAW", + "votingAddress": "XbMTn64jWFJ5jkQSdd3kuEoQZWZcgiSc5N", + "payoutAddress": "Xw7sLYScGKQsW1DLCezE2bZRoD2FDPkbjL", + "pubKeyOperator": "8827d4dd172da63df89bc753e7256b6edaeec1f69097b10c5914c97d704409b69ec86de0da1617083d63ff0e5ad12814" + } + }, + { + "type": "Evo", + "proTxHash": "a61da3f47bf21d005f64fbf729dfb832422b5ccac2c5b8173ad17f334e15aa42", + "collateralHash": "3c892bd67271280b91be59ebf53001b2d8edc01125d68b1316a2653e368af6c2", + "collateralIndex": 1, + "collateralAddress": "XokGKtm99bWnLeQxi8LQayAMCPVezUsrcE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.70.131:9999", + "registeredHeight": 1939783, + "lastPaidHeight": 2128763, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2078712, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf2w3Jp3xgtVjyaotHVf8x7zT8GVXcruPy", + "votingAddress": "XtTn2t3XiFER21VTH6jrkY13UpuavbZLXV", + "platformNodeID": "698a5edb33ce2df236a4db13d35cc384423f8fce", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XwZXpL1XwdS5F12jmnY3T7B82ASUXC8xSL", + "pubKeyOperator": "ae0bd0c373077c4386b21fe8a460c88b075eb2af76c38b65cbd01d9098bae2921bfaa882415ed472d1545ccc380b4e3c" + } + }, + { + "type": "Evo", + "proTxHash": "0c3774b735180708d90a53d5fc99a2699a9a53cc21cf27505d1a184e1ee836bc", + "collateralHash": "8b9bf8d0e080596fd5a4e62d2413ea6f5f28bb5132c670963f46103f85e0cf38", + "collateralIndex": 1, + "collateralAddress": "XbnrcJNNUKZrY45kQCWTyxdgu4nRZ6j9MR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.199.34.248:9999", + "registeredHeight": 1941100, + "lastPaidHeight": 2128393, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2091855, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfV8ZWNJUBwxryXAo5NPej77QWnYtZeWZz", + "votingAddress": "XsQL62mWdTNXSibXXR9U7ZuwhswzKqEyUN", + "platformNodeID": "4c644b722f2d59cc729699903cd5d8118caf1593", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xf4YjFCSTiWuSVBNGiacDgXdKfuJq7NtMH", + "pubKeyOperator": "a851bbaa9f4c4606dba0f78424878e6730a452f4ac8254ea50f7eb08f84465fb907f8448090948cdb7bbab16c341872d" + } + }, + { + "type": "Evo", + "proTxHash": "8bd1644adacb12968a913781ec7c5d6ae7ba1d9b6a65217cf45c900ef8053181", + "collateralHash": "ac09ac9f2320d798066c4bdb678ca8dc7fcf4835623fab3b2eea4cd7a60d36a4", + "collateralIndex": 1, + "collateralAddress": "Xvx8ibFNgkB6dBSn2NqvXWrFmDp9E3XA64", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.199.34.250:9999", + "registeredHeight": 1941104, + "lastPaidHeight": 2128741, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031519, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqFEjQmRgt5qmZzFLEh5auPKyEx28r9rhU", + "votingAddress": "Xi1pjpUZuZFy4tNGjMgPqxP6bmRvYmEXT4", + "platformNodeID": "5e56408e077c1e664c4c6a6f632211f649b72026", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xn2U7FAcSkHeHZbAURdfX1uczxqBMpiTvt", + "pubKeyOperator": "b62e8f7b6d221570111aa6d01ca01185666a00e71782fc2923eac8d98e459615fa9118df255225809344f58424f6a730" + } + }, + { + "type": "Regular", + "proTxHash": "2b6cf611e4e7afcf3a3de926c4547d2fa2aeacf49d13b9d56b38cf600e31ba7a", + "collateralHash": "64557c0c6d9fabb5fc087c1352daeaef8125fbdda7b864d43c15a1a1924932b6", + "collateralIndex": 0, + "collateralAddress": "Xpp1uVkscpb9Jqy4urSsvMKdNtdLo2HJin", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.230.97:9999", + "registeredHeight": 1941903, + "lastPaidHeight": 2126578, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbxYySnAjxYn5ykQBCtnaYn5cghtFDrQiS", + "votingAddress": "Xu21H1Y2vSb59zpwtkc77g6GGyNRFXTfnM", + "payoutAddress": "XeqvLbLHBYhvq3J1UrXEzSFWg47JoW3cUQ", + "pubKeyOperator": "a1d6e1e685401c7c964e4037a7b8b1d3161ee86febaa4e0177e59d936d2d2e0979e25041be63ba3881bd8b04fd9877b3" + } + }, + { + "type": "Regular", + "proTxHash": "99349e07700a8b6fa4b1fee01693b88df838aa017642b451efc3cf9f844548f4", + "collateralHash": "c266faa0ed30fa27459b85633f948a30cd7577888fbe9715d6555b4722dbf4d1", + "collateralIndex": 0, + "collateralAddress": "XherzcFCRppjUQNCw2DiKLYEgPJPjnnweb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.182.198:9999", + "registeredHeight": 1942299, + "lastPaidHeight": 2126965, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwQLXb2oc4FLqVruScdwRjoD6zBLnck2oV", + "votingAddress": "XjdHAm77hA4gadePMBt1uvkNLred35XpDa", + "payoutAddress": "XkK4RqxKUfbUKAv45jxQcttLVNyanN63N8", + "pubKeyOperator": "81f6990fa8f9cd81641759078714ba52680f7328742291250b259b9e593de91ac79dc883b462394610cc2799fdd2ce5d" + } + }, + { + "type": "Evo", + "proTxHash": "e5d14cd81686e0ccc081470caf59e6ce4ed1925816d26ad66ff76b00e9f29c59", + "collateralHash": "56f0b40f34aca42b66c30d543ad2b6a3d24c00c562db9148074c1fadccf6493f", + "collateralIndex": 1, + "collateralAddress": "XuTM2wZine2BSr1m1GY4JqabkRTU5GcCeL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "54.69.95.118:9999", + "registeredHeight": 1945766, + "lastPaidHeight": 2128397, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1984082, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XygzPT31iEWNhpw2AyumSaHdoTZyR91CLk", + "votingAddress": "Xsa4yBy7JLMs9fh1KJ65BgkJ5MrpzQsT8k", + "platformNodeID": "e78a0b32533115816a01e3b96051ef5a68ada654", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xe5dmSbjJoCfVZRZQDLVy13usXobNucok3", + "pubKeyOperator": "b07b4327551d5734a52a316aa45874cd09b580d706fa4fb35cfaa2e10ad6c142a2dd23ba9cec3344a8964b5e60d3ebde" + } + }, + { + "type": "Regular", + "proTxHash": "78b1cabed82af58237e52d2f4cb40d3342a9fed49c818463cd22c1ed315eb070", + "collateralHash": "b18793b533e518e34cc9747393c3eebf9c230a03082a9d81c4ff0791a1f849d8", + "collateralIndex": 1, + "collateralAddress": "XgySVzssdkBc2T29f9ZxRkkK5Hspu7qgiR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "144.202.19.42:9999", + "registeredHeight": 1948218, + "lastPaidHeight": 2126570, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120515, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoxPH3Lh4WJzVsLAmThryioMXcv52PLrPi", + "votingAddress": "XqS378MiGpQzVDWTW571vvroeaD3A8vMFm", + "payoutAddress": "XgySVzssdkBc2T29f9ZxRkkK5Hspu7qgiR", + "pubKeyOperator": "a193d738de366c96e276656dc424c7bbee967ac395f8081140cb5ed4bd0b8fab684e74125a751bc28560b2f516ba24bd" + } + }, + { + "type": "Regular", + "proTxHash": "2809fe8a470b49398ecbfaa42a1eb08ca9bd85d5d1eb494565330b8766f1c0bd", + "collateralHash": "81927efb51f3c5ea7e9be5f2c535d428a9dbfbf3e0b60077f511e71ab4380eb8", + "collateralIndex": 1, + "collateralAddress": "Xq1STdvMnpmLcyYzsGFDB7Lw7EtDBaPkT5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.248.53.48:9999", + "registeredHeight": 1948218, + "lastPaidHeight": 2126571, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120515, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxePz3XvT6paYn7mgvzUnoHarvjCxU1ELG", + "votingAddress": "XxLwcnFEsxUriMXAKGRagrN1VUdqhaNGaC", + "payoutAddress": "Xq1STdvMnpmLcyYzsGFDB7Lw7EtDBaPkT5", + "pubKeyOperator": "9081e8566e74790ba82b291627d7a612e76ccb7aeb1508b78162bc543c564161754446d28b6bb07a345420b72e34de54" + } + }, + { + "type": "Evo", + "proTxHash": "5348f5464e85cfea9cb003c41c07fcd20a138310d77fc97a3a98119570d89df6", + "collateralHash": "b557d445f9b52505112c3ab9b0c3b3d14f82cc3a5802574ac6cf2175ca555662", + "collateralIndex": 1, + "collateralAddress": "XwRbdspiSjySTnkEoCrZqjVhUYAFg9mMVe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.199.34.251:9999", + "registeredHeight": 1948875, + "lastPaidHeight": 2128721, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2031515, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgPnAUUmdjBuQkHpm1iPFB6LYdgbmKpLMk", + "votingAddress": "XerBcs9gCu2yadFdAT6efLB3ameRj9YLxG", + "platformNodeID": "d5977552a876985eb324f090d837c1c99c7b78e2", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XxJzQGkojPL5RvpCUf6K1mH2daVprzYfEi", + "pubKeyOperator": "86532969f249ebb391d4576432045d1ff2a87560d57cf28683da5c31606739533ec6cc44268b7a94d2c2e94be8bbd301" + } + }, + { + "type": "Regular", + "proTxHash": "713b073b184216c15a4fce98a4862bf247336fef9fb6afd26d63cbb0be99bb90", + "collateralHash": "f30121ba5954376007560829c369984b66aea5fd60c21ad5980ef2751cb49688", + "collateralIndex": 1, + "collateralAddress": "XxmbyHcpTJX2DKbQqA9txjJiATn8oAJ4bM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.72:9999", + "registeredHeight": 1950532, + "lastPaidHeight": 2127742, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqmWauUBH5LZ6J5nW2cD396ySRUFwJo3na", + "votingAddress": "Xytqq3CWDgVREgkodmGGgA37DJDSz7UCj7", + "payoutAddress": "Xe66oQTVSNZgHZmnaKXc3Q8BDAiXhzCFz2", + "pubKeyOperator": "876cbc932a66c428217e9dab5aa685fee5caa1f3a0daa0c6d6045041f312bcef12988aeb06a484351f32db03e7042698" + } + }, + { + "type": "Regular", + "proTxHash": "bac5e7ef6742e3855333fa0162ea1650e7d8951109d04e8cea1d31e0bdd17f55", + "collateralHash": "7cdab82560be458c159eaff4a8f59de1f89d96ba8b8db5fe52bc69564b65bfee", + "collateralIndex": 1, + "collateralAddress": "XxpRkb7E7rwnDyCVMoeqJadTDjSo3CpTX5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.163:9999", + "registeredHeight": 1950534, + "lastPaidHeight": 2127743, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuYas191itAX5ZpFidu2foEEPkyp5r1HWp", + "votingAddress": "XmWeRdmXufBPFTuhF9245BUoUGkp6EoUrQ", + "payoutAddress": "XiaJQT6EyAyhjVmVXiqmqDRva238uRYbzj", + "pubKeyOperator": "8311f94d41b7d58f715b3918cbaffb68a5466295478323eeef81c9eaffcfea7df3c2b89a7ef66158639730129d77e5e7" + } + }, + { + "type": "Regular", + "proTxHash": "b6078e4a01b36c90889fb6f1d13bce70925af080bfbd94a26b451d7cd3b5957e", + "collateralHash": "d38e4231ae0d6b97813f6ae7fa4d8c9c046028f07d2844a987ddce8e7f044e69", + "collateralIndex": 1, + "collateralAddress": "Xs7azKmLgiY7bctjJ2JdmNy8Xd1aRAyaUZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.241.96:9999", + "registeredHeight": 1951113, + "lastPaidHeight": 2128187, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XavTArRo2bU3SwSDm5cuVZHcrceeV1KgEL", + "votingAddress": "Xqy8kugTkLRNeCjfpKvSDMNB4kuBguLVB1", + "payoutAddress": "XtSd6yggayA5EfBySwyyAUrGS4SkfVLAf1", + "pubKeyOperator": "8f7f3e77cccc467b7026b6f927baf395a5c2029dc019eb43c38f2e8d500f76d4e25955fd11be5d825911b961a4247670" + } + }, + { + "type": "Regular", + "proTxHash": "3ce69e89cbf5395be75e6c7e008df678ca97fc021b1c0fb8937e536de4b50abd", + "collateralHash": "edb8b821b062364a66b3954b42b266d99f9c98a7f85e375a2b712aa90af27ccd", + "collateralIndex": 1, + "collateralAddress": "XjMspSLpDMKEwGk2g8SKHgFY71Na6H6GFd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.236.114:9999", + "registeredHeight": 1951586, + "lastPaidHeight": 2128638, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg5TK4yCWYcwHD6ziqzPpuzQ6NoA5eGQzo", + "votingAddress": "XgNYkwjzF9uX9JPSUKQ9h84TiVwWFhYFdB", + "payoutAddress": "XtU6oH1n5k8VWHvQmMDa2D7Zpc92Pq9f2c", + "pubKeyOperator": "898b6b70365bed305763eca4229a25370ab5109f53f968ce744b42d143cb9b6f9140b25605acfbc73d480c52d48b2363" + } + }, + { + "type": "Regular", + "proTxHash": "b15684fe7dbe45cb6826072b6dd0f1a31cdc71a90329819534edc1cbb74b2895", + "collateralHash": "09d678f57150b68b8dcf7e01ca15fc05a771503f146bd646057cf0154e17e7e5", + "collateralIndex": 1, + "collateralAddress": "XqdoNFYApAEcqYdnjLiwdqFDyxQzrioQ4H", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.84.32:9999", + "registeredHeight": 1951881, + "lastPaidHeight": 2128855, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgt1vHzx8QVtkYsoAuqJ9YXoiHq8SJxqmB", + "votingAddress": "XpYY5hdzSThF1uiRB47kKi2qfG6WGygQPw", + "payoutAddress": "Xp72ZL5F1SPj1a5TCB5NpmbCPVu7iWunqA", + "pubKeyOperator": "b74b598141774ad6c8ea1b5001fbfad0f82f861f1723aecaee4940e72ea69f7b3643d33683a1ad74f8d9942f8cd89177" + } + }, + { + "type": "Regular", + "proTxHash": "6b2667c03e63898236ab4b39f153204eab7c688aa440fca9a6bdc72cd44d6016", + "collateralHash": "3b03a2458cd0cf4899ef3551f7a1f4503c4949c7de7ab11cc64f8affb9f8cbbd", + "collateralIndex": 1, + "collateralAddress": "XeGSSGdH4EKpuoAcUw28cQAwBKHGLo6gmE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "108.61.86.102:9999", + "registeredHeight": 1952070, + "lastPaidHeight": 2125799, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbtu1xCwJxw5tuvHB7ZrbxoBv7JNvmQaQE", + "votingAddress": "XskNhfPR5wasoKL917DRMHHgLFyYunkUXU", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a89217e2c88c1628d531eb685442d538a3bec2e5a101da8a9f8a8d6ae681fc960cbd4cd05e80d369658a3aeef767f34a" + } + }, + { + "type": "Regular", + "proTxHash": "8ba7c20456f0dd76510ef96f026122d94cdb891b98dcc1d84aff33697a1b754b", + "collateralHash": "4c9f775a4e88f916a1334384b9a64b1a26055b6fb6b3c8f5b901109e32f1e914", + "collateralIndex": 1, + "collateralAddress": "XvhPKRCuv2K2rLpV7Pjd94VL4qBD5LA1D5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.208.87.213:9999", + "registeredHeight": 1954240, + "lastPaidHeight": 2127629, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkrbnNv2LkFJw41r2o9a6qRq6KpWnxvfva", + "votingAddress": "XyjZGpgdGBdPjJ4csFSTmqEGNKecZNg2H5", + "payoutAddress": "Xb15dKrqMGT4rE5MDzJ4a7XAUUo1SyN362", + "pubKeyOperator": "8ce1fa72232192bc2f3c506846537f8bc4810388e078cec17b7b2f7872a8b3c7bbba01bdedfe9f521152a28f2cc1ed8d" + } + }, + { + "type": "Regular", + "proTxHash": "dfc2ec7e4ac060d9d5a057ad797e23b2ac393d1c82fa531e9f5e392cb96e9f62", + "collateralHash": "dce8bcfb2e89c19c7679d63b50d0adb85339335606e03b1542a535505461e3cc", + "collateralIndex": 1, + "collateralAddress": "XosCS3soG8B6e41u24Qk6NCfm3A1DvqS18", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.35.103.19:9999", + "registeredHeight": 1954241, + "lastPaidHeight": 2127632, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpUmNA9cmvMcrhYgCGBJzuafg3WXcv5NET", + "votingAddress": "Xg2UvpMeTKdNKN2reNbV4tQYtE4dzGLzzi", + "payoutAddress": "XsDuktKwhwCS1SWKmdx24hvwHv9HF9YV9x", + "pubKeyOperator": "a4451c7fcb68e1bbf60da9a3edc977c13e8ddcea54da05441d917bca13f987c12c448bc9726bd1a9dc46e73283f624f4" + } + }, + { + "type": "Evo", + "proTxHash": "b5c4d7bba1b11f98497c419c4d81b72a525fe30ae788028c570dd4eb77255e77", + "collateralHash": "43f82ec2672dbb014304638f9e519c1a27a93cff376a4a74596993f408f8713c", + "collateralIndex": 1, + "collateralAddress": "XxBSEfLwnmd8U6sfbUCySDoRK3ojCAbeZF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.179.90.255:9999", + "registeredHeight": 1954544, + "lastPaidHeight": 2127341, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2046919, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuwFFWaw8ztfYz1ktFQ6RBP4ufL3UQC1dm", + "votingAddress": "Xt1QAgTHunL7tFNU6KjiC8xBKdX5sm6DoL", + "platformNodeID": "765b0cf7070d38920b13c8024a1d59fe9aed5c13", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XpFqMDnvWD4WcWcdJ8KB9aCQ8Z3wB2XLhu", + "pubKeyOperator": "b922a998c2e1aa20f1e973fd597ac00a22f8c0520d5d940e3a4e3e13b1646206b62ecb224c6b423dde339dd09467123f" + } + }, + { + "type": "Regular", + "proTxHash": "ba30246808528f1c1eb82ae3ce459f6a6f1c05e1cc67efd4eada78faa384d845", + "collateralHash": "2d1c3126926215a2c59fd6d5625b114891426ce83320f770789ab938340a05aa", + "collateralIndex": 0, + "collateralAddress": "XkvbN7FKSje7coWf1znvZVPQegHTCAtqZM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.241.116:9999", + "registeredHeight": 1955273, + "lastPaidHeight": 2128609, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XieoNV3dQML19Ccd5TnHWav5dg68BYeZvv", + "votingAddress": "Xi1mArBYSB6TvsXqSBN5bdiBje5TX3Dc3C", + "payoutAddress": "XyFjSC8m6JJP49hQdMyP4iQspsdMkU6btn", + "pubKeyOperator": "a360e80c939dabbf233395aeb72d618e1213fb95e16d9114809b35c03414c0d6371c7288c2d9e554a4cd0c22958143f5" + } + }, + { + "type": "Regular", + "proTxHash": "a7ddc0384a321436b3822b749b96e0b55124b81ece2fca5c6998615c5fc3e4bd", + "collateralHash": "ef665d44d90b901e0070a289bc2819c388166473f976808c1f2dc8348f04c256", + "collateralIndex": 0, + "collateralAddress": "XtXN3wPEnLW2raoySQtxeTpCftybNKrrdk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.184.67:9999", + "registeredHeight": 1955285, + "lastPaidHeight": 2128613, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsQD9bZs6o8WbbuSzrk3WfCnUSmuRh7G4m", + "votingAddress": "XtffbCmECksw2wUbTYkH1SAJMzRMidHPzj", + "payoutAddress": "XtXN3wPEnLW2raoySQtxeTpCftybNKrrdk", + "pubKeyOperator": "98482aaa6f5c4f04aea2c91231a1e92f75d5cacc60734f835563ff0db19d28136695ca4994938f0f9d95e4595c0798a8" + } + }, + { + "type": "Regular", + "proTxHash": "64006928841e0b2f76714247810346e25b6320e2e6d44548c9cb96f5a74765cd", + "collateralHash": "7b77e83130d4134de79ad5d56fc1aa3be6a7dcab22bba5436d51aab2235739a6", + "collateralIndex": 1, + "collateralAddress": "XeZTXYjLaVz62MqgrAu8Y9wXDQg9Fh1iMg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.87.194:9999", + "registeredHeight": 1956188, + "lastPaidHeight": 2126122, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg6nPozjvaUb59TnZhHTfjtPt4X1VEArcf", + "votingAddress": "Xk6EgFQtmRWDktCBiMG57G16Sw9puQgjtn", + "payoutAddress": "Xxm7xgVotXp3SG9QLbv2HuDdwBYHbEKLEc", + "pubKeyOperator": "b75b687f763ebd26888905a43eb8bad8cb19ab1a577b8ed89d4a3f70e170f7eddee5c745ec3da0f07ce3b29e4f410b21" + } + }, + { + "type": "Regular", + "proTxHash": "822052a8b33cfed30b51d39b3fd15e3c17bf96cb1909f27387e42405274aef63", + "collateralHash": "587274dc87673b08a7725c6306cd798232e9f9261d0b2d42d0ce2561744b6990", + "collateralIndex": 0, + "collateralAddress": "XeWGNgbtLoAEUyHZYaFrfsZ8VsKE2YqqiE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "212.24.109.35:9999", + "registeredHeight": 1956530, + "lastPaidHeight": 2126374, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkZaYoZZjJUCSNreCUWKEgAUGm8Ay1r9YY", + "votingAddress": "XttRsUccD3wdecgomCBgskLPmm1LCJQiY8", + "payoutAddress": "XkeqBd5vHC8E8AyCaCYERad276JWhN58k4", + "pubKeyOperator": "abd9270cfbe0af6c806d834780f581e6645ec9bf5bec4ed3baa8ca176689d7598ed5a38c4d884916cf656c6451cfb44e" + } + }, + { + "type": "Regular", + "proTxHash": "e5c5a03c9b8d4b51e4e65f58fefef7d0deaa8a48aaf68756061107677cd647e5", + "collateralHash": "2b446dab820ec47e119599786e3c1dc31df7fe037c6d40b55f1e325476343f94", + "collateralIndex": 1, + "collateralAddress": "XeUKtKDudvsuydqELb8KnBaGh2YMkmeTyP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.35.103.25:9999", + "registeredHeight": 1958034, + "lastPaidHeight": 2127618, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118432, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhdqca23QVA51mbZeGfGKSc9QPnj2QYADQ", + "votingAddress": "XfdsfXjJTXYRWmcSSwAwqCrPoRMYmiF3GD", + "payoutAddress": "XfWLGLCZWi5tatNpvgAuZh9Ncs1rBeetju", + "pubKeyOperator": "9813c834528e2e135b2eb6182c4b6ff3d41e8b2272c11fc7fbaafbc9d7bda34ff718262214873707c53fe8f221219069" + } + }, + { + "type": "Regular", + "proTxHash": "527dfdc10b41293249233728308b4fa5a75445b5934312c9723a834f35a939f1", + "collateralHash": "261defc3c87596c1691aeb3bfc5578e501d8fe4c00062fab66e9cabdcca77c7f", + "collateralIndex": 0, + "collateralAddress": "Xtk6A7a6CwLshGT4AMaCCkGtVi49b6Nhvr", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.92.208:9999", + "registeredHeight": 1958099, + "lastPaidHeight": 2128818, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1977468, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjbQa1a3QJ6B2tFYLagksfo4c7JZ9NbSX3", + "votingAddress": "XeBLzw1skpGxeqgbtbF93dc65AsBWurghQ", + "payoutAddress": "XapK7heAwGRpzsmfgbAWtz3mMEn1oZQCAx", + "pubKeyOperator": "ad1bb135438a75b4f2387719cb57651bd7d958e517497a4a323592d7da6bf9ea3c1eb7e8f52ba42681ffe2ce1cc7e8a8" + } + }, + { + "type": "Regular", + "proTxHash": "9c8c773b9029e303b480f5b25eb24cd59b407d862c581c18b317ca097b2712c2", + "collateralHash": "04e21d0d5cf23c4449353502e9eae0802cf8aca6fd9e1c8c8bd0f3df0c095928", + "collateralIndex": 1, + "collateralAddress": "XqEk6QAjTT88NNCArwU7bjjodc4bhmCqGF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "143.110.161.37:9999", + "registeredHeight": 1958704, + "lastPaidHeight": 2128431, + "consecutivePayments": 0, + "PoSePenalty": 522, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjDvvRAAYD2XUMoU5hoexoCN7K82wxTb6J", + "votingAddress": "Xtz32BLPZtFQ39hszgXNKrwTgxvNGXiXK3", + "payoutAddress": "XnrKDf6GSe97VfBK6pSt7gJryiWv7vkgvu", + "pubKeyOperator": "b5638add31e434f76bfd02946ca4730393ddfd54c812b684e91e7e3b9657a5c039b9fbbb2556f468db208cf469046a05" + } + }, + { + "type": "Regular", + "proTxHash": "e498c7b8d2839fe1e8d5546b0696e336500faf7d70c8e0c47869b626817d0bd2", + "collateralHash": "e7e6c1746b7afc57dccca7d903ef833a40c9a3cc00dfbb751e251c558b14f1bf", + "collateralIndex": 1, + "collateralAddress": "XrksAN3n29H6LtjU9HJw2t3f8ba8ySTJ79", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.35.103.26:9999", + "registeredHeight": 1961522, + "lastPaidHeight": 2127608, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2070867, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxEtcrnwhMqYYA1AyPyZsDpqJfSU3dWrfG", + "votingAddress": "XpcD9LBXyorxybfumctt8dcse5STM8Pys1", + "payoutAddress": "Xb6WrViRd92pjGZGdSkZZzKurvDJtkrG1d", + "pubKeyOperator": "9477efa90878e8a88d95fb60602ab426c62966406dcff1c0336257cf4293408716e8a1e7900eb28d5e4babc3f649ecc2" + } + }, + { + "type": "Regular", + "proTxHash": "ce070cea04eb51e65241e3f72ef88451f3c4836a5919ef9d2765d9e59d0a7d4b", + "collateralHash": "2389cc7d9dc9388da16da7860cf9b4f8903afcb5317b1ab87786ba647402fc48", + "collateralIndex": 1, + "collateralAddress": "XrZHmvCCK5Dqr85MgwBnSLZDvnkobLviXM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "38.91.100.202:9999", + "registeredHeight": 1961555, + "lastPaidHeight": 2114005, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126059, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeCJ1frBw29eWd2tZqZmZvft1hDLeeY4Rd", + "votingAddress": "XeCJ1frBw29eWd2tZqZmZvft1hDLeeY4Rd", + "payoutAddress": "XrZHmvCCK5Dqr85MgwBnSLZDvnkobLviXM", + "pubKeyOperator": "92e8f1e1c221e7b8c1e4be827f93258421b4e9678043cb51b37c1ea0bca2a8f6532560d61d61a3ec18e1074237c0d085" + } + }, + { + "type": "Regular", + "proTxHash": "fd6029de63ad4f676a164dfc1b02b8fe9196b10a9a71030b2596e8724f966e16", + "collateralHash": "f6cfd729ed842bcc0fd7c457babf434c017cabe94ef436f43c1e8fdd6d083b48", + "collateralIndex": 1, + "collateralAddress": "Xy3cGJBSiAvXo4b6V7hXA2VApR1nancVRo", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.103.132.7:9999", + "registeredHeight": 1961893, + "lastPaidHeight": 2120421, + "consecutivePayments": 0, + "PoSePenalty": 3828, + "PoSeRevivedHeight": 1992105, + "PoSeBanHeight": 2121738, + "revocationReason": 0, + "ownerAddress": "Xfk39qnzdZmaYMawkNeDqMeHEMqQCupCki", + "votingAddress": "XtNU3kzihSpLdqcCfQnqKGkUnSRwdmn3dY", + "payoutAddress": "Xn8put3SbEANaeZWNmCQd4bymyGe58atno", + "pubKeyOperator": "95e6c9abd188bfdd5236e363ba07548e1aa1e3bd406508f22b4948dd2bc1a36515aa7759dc2c02ad4e5b1462b59fa8c0" + } + }, + { + "type": "Regular", + "proTxHash": "c8d5cbb564e2763082cd2e5b0ff3529507b7952c8593cbffb7d316478d9bd86e", + "collateralHash": "40a2c6e6c84f79a8c2de4e29b08c4702bedb61353559bdb4864b558096904653", + "collateralIndex": 1, + "collateralAddress": "Xfz9nJ4u5jshzC2hGpeFbfq6aVMnnnC16k", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.11.182.64:9999", + "registeredHeight": 1961926, + "lastPaidHeight": 2128569, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122266, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtpChbkYpe2EdcLinAJfzpWmuYR5HvWR8s", + "votingAddress": "XmtC9yQs33CZdcmaJ6zue3Tu9MDhaoww6D", + "payoutAddress": "Xjf1qpxVDRp3NghyuHbhZD5b1ec1P6UzVZ", + "pubKeyOperator": "a837bacb1db783f392b5e4d2aae200e5fdf4c260c02a6cfba702b896703a91e072cbe643c893961ab51dcec6f7ccf970" + } + }, + { + "type": "Regular", + "proTxHash": "be6ff0fc63b10e84eaf41ba473f8237954a88c8d14298e919d91b221af253cde", + "collateralHash": "2ae7b39f7c8e93d9481c9529f568d550f7871b3f429af786409d70ebe4a6dd34", + "collateralIndex": 0, + "collateralAddress": "XwfzYWJXBsM3DLZZSAPgqLP873wxg4DpAV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.22.176.218:9999", + "registeredHeight": 1962649, + "lastPaidHeight": 2116152, + "consecutivePayments": 0, + "PoSePenalty": 3853, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116266, + "revocationReason": 0, + "ownerAddress": "XjbCsZs49hfyDX7KjmCXjYNhcnBKr2TzM3", + "votingAddress": "XkhnsGv1hdSdFn6M1xonRSWwdHGQmMffxu", + "payoutAddress": "XwfzYWJXBsM3DLZZSAPgqLP873wxg4DpAV", + "pubKeyOperator": "890130644d5b6e36fbafd6a4f2a6d9c376b396b1b90ac489cd7c230b1cd9a7a8a6fe8adbbbef6cdf7a0ec9ad183e99d1" + } + }, + { + "type": "Evo", + "proTxHash": "ea4a6971496f94644600fff68fab26e76c01496415fee28eab224846c558e09c", + "collateralHash": "e4702b73f3acf45caf81a8c72d2edfee175e08c9035005fd1cffc414188a040e", + "collateralIndex": 0, + "collateralAddress": "XjaX9vXgTkfD6TZAV2EvfH6Qs3tKthXZsZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.157.91.184:9999", + "registeredHeight": 1963918, + "lastPaidHeight": 2126866, + "consecutivePayments": 0, + "PoSePenalty": 2213, + "PoSeRevivedHeight": 2128614, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgasHZycoEFPRU5D1fZxTDoPz5Npmrjn53", + "votingAddress": "XdegFerhqFTRa9tXgzuieZWRLzy4Br5Z5h", + "platformNodeID": "0e3c5652f1ea227798b83403e19c80ce16812e89", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbzPqEkwr5gpse6jzcPqEMxMJcxGtPpWRA", + "pubKeyOperator": "b37119caea474ef82dd3673284b70c294e89a66c575406d6d927cfc3173331388d4d4ba250755d9da45993f2be00eb79" + } + }, + { + "type": "Evo", + "proTxHash": "f177beb400c4b84330c6e14a058c76f8319c21a4f7aefbab2ba73c8fe389cea5", + "collateralHash": "5e03822773bcf1408179cbb0209536954e5c01c02c07564671c438f25a7d9108", + "collateralIndex": 1, + "collateralAddress": "Xdx9URfMvfa4sMTvyNpGxH58mX1zGXLtMg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.60.243.119:9999", + "registeredHeight": 1966363, + "lastPaidHeight": 2128657, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb6UCDWXq4z2T31ELahVWvGRFHwCzcqTF8", + "votingAddress": "XcYvXmfU5TkeiZKuASnfkWNcb2E4tfAFcZ", + "platformNodeID": "a7a860c93084db15e3cabf9918a561ce5e637f70", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b456b207ac373b5ae0e53e9cd888e1721b43f2c3be67a2bc57a7f952821a97c167a12555e9715a18b4ff941640f83d8f" + } + }, + { + "type": "Evo", + "proTxHash": "7a26c877c1e2dafea292b54ae37c39be5c51f27b24fd7a1e5a634523b5526eac", + "collateralHash": "ed6479e3b8481568eed0a825ab4f985a7a4e11d88bf44dd6b798dad142c1e897", + "collateralIndex": 1, + "collateralAddress": "XkRhb86YWiq4q5yQfp4roQJXHg4DaWtmLF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.255.183.250:9999", + "registeredHeight": 1966367, + "lastPaidHeight": 2126085, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1978048, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu7t2ks9iKCBAHh212kuid18ioNsaU97i1", + "votingAddress": "Xk3pqyCsrKcwx6ihP8L5AaYjyTLmT45Yu3", + "platformNodeID": "cad456489cb1ba5ded04d81070d41f7f2cd3e98d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8600971e849a6546907feda0de785b6e458fdf47aee1480de1e6b7f8c26227cb0de2c4e9dcaca1d29f0565e57ca8e4ac" + } + }, + { + "type": "Regular", + "proTxHash": "afac5e66e66e8dadf0e75be50e62d1842a8773ffa5a17357497358dada4d1cbb", + "collateralHash": "b20ab2d702c3ba262ede574e32d291912f44aec5a63efe2772d2839a731b922e", + "collateralIndex": 1, + "collateralAddress": "XofJFHSE66yevD9HTpM6aMsuKozAT9457B", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.11:9999", + "registeredHeight": 1967515, + "lastPaidHeight": 2126358, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwAStEdiPzwbw7rm6k8WmB3BepeVihutzo", + "votingAddress": "XvaerkWJAHXrdxWK8Y8TB4uTNkFUkuoV8z", + "payoutAddress": "XofJFHSE66yevD9HTpM6aMsuKozAT9457B", + "pubKeyOperator": "b0179668dea16239d2722aad88b3002582ad1d1e372d9fdb214fd44eaece8e4295fd43d0c8a5af00ab7e149c0c3ce508" + } + }, + { + "type": "Regular", + "proTxHash": "7bbe5103f6a0ab2e66124d357c20b275823b933eca2c7bf457594f4cd715fbf4", + "collateralHash": "463d44756f979b921ee0fa010de7b0e3bafd377d48d953cbbc7bdc44d1df212c", + "collateralIndex": 0, + "collateralAddress": "XrGDULA8S11DBR8vBrrQ9TY2KKMKmHFj9D", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.223.6.210:9999", + "registeredHeight": 1968085, + "lastPaidHeight": 2126848, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhx7t6tsVdGspGcaCjdXfueps1q4eZYmod", + "votingAddress": "XuxiL2G751uoYFuYBF25S9SPKBeKqH5BVr", + "payoutAddress": "XrGDULA8S11DBR8vBrrQ9TY2KKMKmHFj9D", + "pubKeyOperator": "b6f7985ee3ad4ea2b07e5291b2d72c8a2c041603c5737ac32ff2f24104f1ef814453df72a93344f238cb23fb3238b1c9" + } + }, + { + "type": "Regular", + "proTxHash": "94293c737ee9128d328f8fcaef2dcefee64347cda66f5205ee6da7db49e65292", + "collateralHash": "2eafbf3c37657f6627709a90509e770ab11ab69b85dfe0450be15b9e5ce9212f", + "collateralIndex": 0, + "collateralAddress": "XqZfXuKZi7sxB3TDk9kq8b4phkVAzDaHbg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "161.35.164.157:9999", + "registeredHeight": 1968105, + "lastPaidHeight": 2126862, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmLBViCcZULTutwTvSFf4tJXtyQiezXYyE", + "votingAddress": "Xr2EX3mpncnZfVQnvbekdAYfv9Hhgioa6U", + "payoutAddress": "XqZfXuKZi7sxB3TDk9kq8b4phkVAzDaHbg", + "pubKeyOperator": "8fba68f1a34c7a1922711824839d5981a227254989c3c30cecd09d60c56d071103e12ee7dfc6eb67b7fdf4d71a3a2c56" + } + }, + { + "type": "Regular", + "proTxHash": "9dd70e2a9d7115107298c79fdd37e479aa00056f4831357e85d33294de376518", + "collateralHash": "ba529e06e9ded7675f729995bc22803ae32d5fa1126c586cad72c20ad894c00d", + "collateralIndex": 1, + "collateralAddress": "XqBVYSn4kyRFf7UvF6k6xj6V8Ec8iT9Ha2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "77.232.129.6:9999", + "registeredHeight": 1968510, + "lastPaidHeight": 2127306, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoSueWkNJfx8QE7de4GdFSPPwV5avsFeXw", + "votingAddress": "XyXm6LJRaa6u7inCBBHjQQ8msvRKqQVe7r", + "payoutAddress": "XpBnW5xUTp5TAZTM2axDDhPZMetdah13LR", + "pubKeyOperator": "a6644b271bdae225e563d3ae44baad63b249b61acfbfe7bdd901b70344046199d4bbd2f6bdb9c3462f5f141877b2264e" + } + }, + { + "type": "Regular", + "proTxHash": "a2053ebf527fad06eb8fca90409d018511da0d2f2e68fae6e4396f95d8400583", + "collateralHash": "e1674373ca309fc589d1bf4a6c0a8b3058258ef571063831816b268bd3b9805f", + "collateralIndex": 1, + "collateralAddress": "XkBomH2d5KJVxEkjDh1SVEMSoGrau5nL6m", + "operatorReward": 0, + "state": { + "version": 2, + "service": "77.232.129.154:9999", + "registeredHeight": 1968516, + "lastPaidHeight": 2127314, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyXm6LJRaa6u7inCBBHjQQ8msvRKqQVe7r", + "votingAddress": "Xk8sgeb5pxznz2kS9zDNzyg5sQx1cGs2sX", + "payoutAddress": "Xxqk8rTNNfdy8k7LPD5cRxpqEgpfc2Ratp", + "pubKeyOperator": "a002f35e2a6728cafbd9de341fc62bee194592a3ab4ccb0dc45fbae2d95f51b6123574d73eb527454c6fb36ca6498b10" + } + }, + { + "type": "Regular", + "proTxHash": "e1e316f7a7e37fe3308ddaa6c22e5a2a40bfe8726160030e02a821c7d7325b9a", + "collateralHash": "506e4d2489899ef695d1dd993a7d13cea71ed20564c7773d8279d9a91107aad9", + "collateralIndex": 1, + "collateralAddress": "XcQtcLcJ7WprX84FL1v6rafHAQtMFNdGVB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "91.222.239.107:9999", + "registeredHeight": 1968521, + "lastPaidHeight": 2127318, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk8sgeb5pxznz2kS9zDNzyg5sQx1cGs2sX", + "votingAddress": "XfZ5HaMbYDpJ78DStZJD3KtZjEmFUZ82Do", + "payoutAddress": "Xx9jyWKZtf6fKrMe59wCvesrNfUfVtEbzN", + "pubKeyOperator": "82d4cb15a5ce9327318d0288ad0d406b3c284d941ab70383205bac4e468946158f8bac7d384943eb6339dba82c2b9153" + } + }, + { + "type": "Regular", + "proTxHash": "2a0b4bf837d0a117d8c15e832453df417749aabd35c676970145ab63273d6965", + "collateralHash": "d788faeb2a26cb60c8f607b9c2371c08f989edef528bea4d7dd3026aad199f14", + "collateralIndex": 0, + "collateralAddress": "Xtn6uqBfFAXy4sQYJVFGgVk65nFJz3Lk7c", + "operatorReward": 0, + "state": { + "version": 2, + "service": "2.233.120.35:9999", + "registeredHeight": 1969589, + "lastPaidHeight": 2120835, + "consecutivePayments": 0, + "PoSePenalty": 3836, + "PoSeRevivedHeight": 2122671, + "PoSeBanHeight": 2123178, + "revocationReason": 0, + "ownerAddress": "Xw8KhQRiECT9BeRJEGdK84cmGgRgFnoCw3", + "votingAddress": "Xumt2BNf5UYGhNvZkBUmeemy1xN8iLybrz", + "payoutAddress": "Xdw2mXBYE75NN5kF3yhEwKW1rpzjiLpezR", + "pubKeyOperator": "b665eaffdee8441f213bda7b741f7e03abd90abf7ed80abdf2832446b2f6e3697c6e8015276eaca57576dcb2e17674f4" + } + }, + { + "type": "Evo", + "proTxHash": "520ee1b4d54872839abbab97b56f0f2b8dea9e56ffbca131c9724c3dbeeceb25", + "collateralHash": "5f7d344aec3a8b29191a910283a7e971bcbe0962c07be46521ba7ccd6159eec7", + "collateralIndex": 1, + "collateralAddress": "XxQs5smVAyKihDXPzH4B8fpNBxgF8u1uvA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.172.178.124:9999", + "registeredHeight": 1972067, + "lastPaidHeight": 1983203, + "consecutivePayments": 0, + "PoSePenalty": 4007, + "PoSeRevivedHeight": 1976062, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XgKRdSWPLBLprWSPfkfukJqdwYm3PtErkk", + "votingAddress": "XsALsrtKKviyzTVg4q2yWCAzDzE5au4bZz", + "platformNodeID": "2e654a39d7707c09f90d5b94d947402865d5ea4a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XxQs5smVAyKihDXPzH4B8fpNBxgF8u1uvA", + "pubKeyOperator": "b6532bb469fb188c0f3765fc542d16b884aeba10807380d3a737839ea6579ecfd0bec2591697277037f0436c6c7bce95" + } + }, + { + "type": "Regular", + "proTxHash": "5706437cb5ad24bea98e2c6bd5c0c0e3690b2dc2017c4e9b1d56f773e16cbada", + "collateralHash": "8f4dc69d2e8f80035e2d1a6129ee5dd813f5ec16baef2a42192f205b479dfa1f", + "collateralIndex": 0, + "collateralAddress": "XrpDWfnf6uAgZBAoeH8aBSEqKZp81e4Q7i", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.237.134.89:9999", + "registeredHeight": 1972069, + "lastPaidHeight": 2126247, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120183, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xcex5ApgR4dciDMmDHxRdAwVxSFTntEoxf", + "votingAddress": "XoFNbVexnnKYhBxMJj5rnPRFtoH1pFQ9Jr", + "payoutAddress": "XgJZPQasv8aT5FJPWdMGjpUyJgTSLce7rT", + "pubKeyOperator": "8fbe0b4d54ff0548e8120b5ac20345b50d57ba577011ed38fec880848ddea028be8b4bb095a18755b9f4d51181fd6e1b" + } + }, + { + "type": "Regular", + "proTxHash": "1a7f988e2a277b78d80f8e02557fa42d171228528614ace74cc9cd42c62a84dc", + "collateralHash": "5ecadd3ca35ddd771b1a8773c93762db3de045020f0de57c04ede619da2815ef", + "collateralIndex": 0, + "collateralAddress": "Xv24j6DUsuLJguuG7PdkCcv2iT6JHQ5KHy", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.79.41.72:9999", + "registeredHeight": 1972069, + "lastPaidHeight": 2126248, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120183, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmRkW1W1PAzysmzR7w53vQ1n8XpHwBxeeZ", + "votingAddress": "XoFNbVexnnKYhBxMJj5rnPRFtoH1pFQ9Jr", + "payoutAddress": "XgJZPQasv8aT5FJPWdMGjpUyJgTSLce7rT", + "pubKeyOperator": "b2439914bca027ea74abc948f84633014917d2d43cf4434fdbd1502408296ede4fc8878774b0db1c87c3efdbb5c438d6" + } + }, + { + "type": "Evo", + "proTxHash": "0a1dc4c81b3ba19229f698e454dc41ee9832343fbe9e9a4fbf8a91b4dc39c291", + "collateralHash": "7c518930ced2141d84c00b99390f0573e0c28419fa0e08cda4e3c4714c959f95", + "collateralIndex": 0, + "collateralAddress": "XuHQ8A5woSGHGM4iNPtXrtmtd4wo2a6MqX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "216.238.99.9:9999", + "registeredHeight": 1972928, + "lastPaidHeight": 2127954, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdPs6bGvFKc9BRpQgUrVds85SGAoQPnBqs", + "votingAddress": "XdPs6bGvFKc9BRpQgUrVds85SGAoQPnBqs", + "platformNodeID": "313062e54273aa6295945ee254f822af954d6679", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xc9TMCSvbLi1dLMhMLovCvNJHjJuW4VNbG", + "pubKeyOperator": "b529abf7ed329e3f7a75a032764176ccf867a9fceb03fc15cbd144e896974acd4e1af756bc8ec4efb667d35577ccbe8c" + } + }, + { + "type": "Regular", + "proTxHash": "7fd17304ae7a065bdbd4d4cafef46b089336f4e12f6d5debeb7b6e3f0da019c6", + "collateralHash": "e8d2a4b0d61681bde18b2feb5d11a5fc179065417f2234c3ccb072021a7e4db2", + "collateralIndex": 1, + "collateralAddress": "XsZnsZSQJQE3LdXoJ5NA5VhcFZHKjqherp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.22.217.18:9999", + "registeredHeight": 1973046, + "lastPaidHeight": 2128779, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1973804, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr44jUgjtdL8KcamutCvcmJQgCwcbPHY1j", + "votingAddress": "Xr44jUgjtdL8KcamutCvcmJQgCwcbPHY1j", + "payoutAddress": "XsZnsZSQJQE3LdXoJ5NA5VhcFZHKjqherp", + "pubKeyOperator": "8cfb93c716d4b3a1859c8a751d18e026aaa3e228af9331c3d8d7a865b371cd81c6f4de9b3a4bbdc264c7dc6316da7437" + } + }, + { + "type": "Regular", + "proTxHash": "4996fcbcededcec097c74d5d67dfd9e0a691d69fcf6b8551f7b8031d3947c165", + "collateralHash": "65dc4588fc45983c7424585323969e3ba261c1f9247764b999ec3cc0586c0168", + "collateralIndex": 1, + "collateralAddress": "XcTyJbZp2KhbVn1zcxCbpL2KRBchfJ2Yge", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.227.139.86:9999", + "registeredHeight": 1973064, + "lastPaidHeight": 2128772, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1973799, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrnVDKqXxRFagpBNAkCxuJkjpgWv3WprbA", + "votingAddress": "XrnVDKqXxRFagpBNAkCxuJkjpgWv3WprbA", + "payoutAddress": "XcTyJbZp2KhbVn1zcxCbpL2KRBchfJ2Yge", + "pubKeyOperator": "a01e093f068294804e5f861af3e9e38ef63295074c71a761e4d30becb1990b03a706ce7510f2355973e1290b50e0c70b" + } + }, + { + "type": "Regular", + "proTxHash": "3a4af75a902141eb47f2e4f89711adf4a3e985164214c0a490e91e13e40aa7e6", + "collateralHash": "4af3f7f2d4a62c99ca27fdb9039d90edc85179992a95926403bfd1cd5e2344fb", + "collateralIndex": 0, + "collateralAddress": "Xh4MqsaRzY9GGdphEkAh7CPwjvpZ5GWLWH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.22.209.210:9999", + "registeredHeight": 1973064, + "lastPaidHeight": 2128774, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1973799, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbuiJy6yS7zRdzxi83fpMJ7zfxpTKZ96E7", + "votingAddress": "XbuiJy6yS7zRdzxi83fpMJ7zfxpTKZ96E7", + "payoutAddress": "XmpA3FWk5FLRi7nDsbVAU7wMqBMaF4nh17", + "pubKeyOperator": "a1a2ce03d33508fa6d0d0d106b405824a5a583ce109e1e5513c76d3c70aac13b49ed78980ac7fb0836d391d34c453a5d" + } + }, + { + "type": "Evo", + "proTxHash": "1ff4e7e6f15acb8caa19642e722d62bcfa616d9d7378d18e18f2f88f42a3205f", + "collateralHash": "8a7391e4927db61f2a9aa88f8df1e62343269753b5e26d7efc91f0075e8a1593", + "collateralIndex": 1, + "collateralAddress": "XpjrDMdpxPcG9BAHEpkxbknAbqX8g2bhr3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "173.199.71.83:9999", + "registeredHeight": 1973799, + "lastPaidHeight": 2128074, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2010522, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoMD7VDXeiSG1Uz4MzHG86NpNPyqdftiAh", + "votingAddress": "XoMD7VDXeiSG1Uz4MzHG86NpNPyqdftiAh", + "platformNodeID": "6a8e06e71719d4345e2728fd5e8d586512377041", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XmqS4obrfo1J9KSBdvB6htwGYmoSLxRnVi", + "pubKeyOperator": "93ea3f155bf1e987f4c11a4a1efba35b7174c779b1406fd9a17ca6196071fa00a6b595c2cad24c53d38f39b067784bbd" + } + }, + { + "type": "Regular", + "proTxHash": "84c5857cb3974dd48043a016a6db575c4a19de2bc5a5b5410f2e0b0f70b0bdd3", + "collateralHash": "6b79b01a3d46a3b102e1d234dd2282bc231ca9de81c523a0c04c91f8c305131d", + "collateralIndex": 1, + "collateralAddress": "Xf9ianAVNwU3eYLjnY3wspSq67CeXnMYHp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.122.96.216:9999", + "registeredHeight": 1973855, + "lastPaidHeight": 2128813, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu9iUcMCkxqFGvnyxUXgRNoNmYMsxMESXh", + "votingAddress": "XtNCoDawaycH4fX3z8sz2ZszpZXS7atMrK", + "payoutAddress": "Xdqh3BWTb8ukDPeWhP6HyzSRiyNnwcWe6C", + "pubKeyOperator": "a9f87e6916f7091daa0432d4fd766c4687ea4c8794f7627046633a0257ac6c8ab0bec67ea5a34ce16c83cb256cbf4fa0" + } + }, + { + "type": "Evo", + "proTxHash": "9a8aa10f1b62a4dae39e173c21995395c0b5ae33a708d0c1faa8188ea17cdc20", + "collateralHash": "c901e035da0b02f8a97f1a06f2130a81a30737d4e22a449649a3d1d01f9aaa5d", + "collateralIndex": 1, + "collateralAddress": "XkmLgrZ6BqBgQjxahrb5AffXnP5jsiF5AF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "216.238.75.46:9999", + "registeredHeight": 1974725, + "lastPaidHeight": 2126305, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoTPTJFTkdXEfgxKyW8wDjdTV25hwh5t6P", + "votingAddress": "XoTPTJFTkdXEfgxKyW8wDjdTV25hwh5t6P", + "platformNodeID": "05a7ef684955d80b7d678d4e9b6ae7eedf1eb37a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xn7Fhqt3mXCnatcD8Yi1m9tcPke1h8NmWw", + "pubKeyOperator": "b269fddfa6077d430450e23b59654c4a550119e6c4ccccc841fe47e6e0d4dea04a3cfaf196f2048e729c82587522fab4" + } + }, + { + "type": "Regular", + "proTxHash": "f2c346e21d7192d6ca95d3441db0ba8311a91fd7f16fbb458c9634035a5d55cf", + "collateralHash": "8a39dc950e706270c53bb35f79e77c9bac0e835389add9552564623c7493e8dd", + "collateralIndex": 1, + "collateralAddress": "XwQGEcKoSWrq9NcBzo8BVrgAoVCg76FFiK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.15.225:9999", + "registeredHeight": 1974732, + "lastPaidHeight": 2126316, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbra62brSCQJfkRBg2hZdYS6mWqXZfwDGU", + "votingAddress": "Xtzka9P46cp5b3PGtAEQ2Juqh3raCZb9UC", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8d1e22ccda47d5cda02c2f441dcad5fd3826592b518cfd765026ff51e87c98c326a2919e9ba5731c92308f1d461170c1" + } + }, + { + "type": "Regular", + "proTxHash": "b7f2027249cd854d61740c64d9fa1131f9ad848b9ca9182b28f310a7bb929e2b", + "collateralHash": "a476f59677f43968ef22c12e250605e42b8ae6d0665fef1354c219ac1e3de82e", + "collateralIndex": 0, + "collateralAddress": "Xu2B3bvC75NuiYvudvJPR1npDdguyN7aWV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.121.132:9999", + "registeredHeight": 1974785, + "lastPaidHeight": 2126345, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmEataA43DmYnGEDVLr1Rb8c6mQwU99Vha", + "votingAddress": "XpkQi5L3x95utaRmEDXYEnhNy3UAdbcznJ", + "payoutAddress": "XnpE5Mwr8GsVujK2eWVVJh718Zeap5FHLj", + "pubKeyOperator": "a82c3f052f83d5028303f794955d7c83b35bf4f7c944320d6c0a57c365e4a29b9ef21fc0b51c00e42d4a4c40fc6c1d34" + } + }, + { + "type": "Evo", + "proTxHash": "936876aea72924467daa99a22205e3d94462b9cae824e4127ef1d554f397d6e4", + "collateralHash": "5db094b62a1eb2357fe0b269339fb1974089341c59930c2d47d151a08fcb9bc3", + "collateralIndex": 1, + "collateralAddress": "Xpcq8h7H94koFCQKNtHEgnU917hv768MmG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.179.159.65:9999", + "registeredHeight": 1975366, + "lastPaidHeight": 2126813, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XahjWTBxbmvbnRr53W2bJjQf4gYD6yvTxG", + "votingAddress": "XahjWTBxbmvbnRr53W2bJjQf4gYD6yvTxG", + "platformNodeID": "2f8124efae8910b4701aa4ec53bc348211ffdb8a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xasdxw84jJDpUGAZTuo9hechSVC4Q5XnF8", + "pubKeyOperator": "a190c08941ca57708773d090250337d0f9aec515138223001e10385c3a3dac8bf2b2d86b89547c1c253968c3dba37781" + } + }, + { + "type": "Regular", + "proTxHash": "0fc1df4d3f6d5b8304024f0d88e6b89c97af8266127613300ff35e704b3b940e", + "collateralHash": "916d7c3939dd2fea1c1d3c31e38ad78185140fe1bb7a5cfcbc09ab8330f53290", + "collateralIndex": 1, + "collateralAddress": "XmRBMJsSuoVaRtk3jrKC8PkwCgbpVmkK1J", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.87.195:9999", + "registeredHeight": 1975625, + "lastPaidHeight": 2127057, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XePHexnG93BxyGAMCuQ1FZotZp4Ze918a6", + "votingAddress": "XbHAPEiwRuf9237HmVNHrkaafaAMwEbJcS", + "payoutAddress": "XmRBMJsSuoVaRtk3jrKC8PkwCgbpVmkK1J", + "pubKeyOperator": "8f2fa2c9d741f4d0d95099e32ad9c140449709bd37b8f22e8f2f3bcb9c826a042232ae98b347fc94e6c351a55ee018cb" + } + }, + { + "type": "Evo", + "proTxHash": "62472f43d140786abf3ea0a02f5d9879604ffe7f9552529015bff335c3382159", + "collateralHash": "9e741479a589481bf5e83fa5b0601c76fbfed54cc0d09485a9a4e647462f570c", + "collateralIndex": 1, + "collateralAddress": "XqTYStxhWJScZK8xFDkbkogGMmytMRDh4k", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.154.121:9999", + "registeredHeight": 1975655, + "lastPaidHeight": 2125782, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2113178, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhcPjayrLDyLTth7NrKQ7429BXejP92fYq", + "votingAddress": "Xhm5CRivEzFXguFcj9L2kSJk5g8JrXjwoo", + "platformNodeID": "c3a59de424b8205f485871f676b8b4c93b01053a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "95a7104422a6f3fbce5a736c7024c6623de4a48b00f00b23ca75cbfc30525a6712411a5a577920fc571dce25f2019d17" + } + }, + { + "type": "Evo", + "proTxHash": "2d80ca81d3ce72365889060a9c5dcc30b04e7075f589552739188ecac01b01d0", + "collateralHash": "bbe44ef0dbda8b1ec550131111267fc73382248c379722dc2b54c7b7983d9261", + "collateralIndex": 1, + "collateralAddress": "XpNJsmt8bNVHMCtRJegKiUwop8SSs6yuw7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "70.34.206.123:9999", + "registeredHeight": 1975735, + "lastPaidHeight": 2128083, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2010522, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhJ3idLMQ1j1AYwvjHdp83m5PfhBj8a6yb", + "votingAddress": "XhJ3idLMQ1j1AYwvjHdp83m5PfhBj8a6yb", + "platformNodeID": "74cff51faec23bf56abf53c8b99b6ec4073edc96", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xy6bbf8dFfTD3vhJV5NY6ywUDcCNYSDw3i", + "pubKeyOperator": "a2157578ab336cb920e1494bfc5b1797c9d76ac376272c6c73965a6f8377bb0ea08186b9f2bb1b742bef95770a67b29b" + } + }, + { + "type": "Regular", + "proTxHash": "5ccfa32f0cccfac527a1c6561a49d49bb42ce41c5bd63ca6d0f977ef3afe9f6b", + "collateralHash": "332c3f45be8348b80425eb2e525b58ba4a700d678ec642b9f429bd1af123f4a5", + "collateralIndex": 0, + "collateralAddress": "XivcwQi24STP2DaaF3UpmCk3cup57147WK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.87.204:9999", + "registeredHeight": 1975851, + "lastPaidHeight": 2127371, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiQGJSyWj7RVcSe3xz7dgzUG7xett2kMND", + "votingAddress": "XwReFAjCCPDDa5QhUKgDp5jSgQEC9Ria12", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "b11d5f43ef3feb48543e29513ddda388fdb00bec7904f0298b24243f88257a794875c085dbb33247b51d8873b8f0642a" + } + }, + { + "type": "Evo", + "proTxHash": "26b8c4d88eb8023857a737df91f63167285ca090513e0ea5c341a63d4bf34abb", + "collateralHash": "9fb238e0cb56994dab1b4cd5f360244dc82adfeb161ccac55a0aac61db05a7d1", + "collateralIndex": 0, + "collateralAddress": "XnWiY4YjR1gkCYjkqEQUu64LR3dp4Ee5n5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.208.196.183:9999", + "registeredHeight": 1976276, + "lastPaidHeight": 2127704, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjYGhH22WX5DhM47CpnjZ332pwi4aqBw5a", + "votingAddress": "XoQvBYNSWhe2Z7XDA93cjTzWBXhYznM6Ma", + "platformNodeID": "96d883bbe88170ca52446d18f5cab78726a9a0dd", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XujW8GMdi6f8Vh2LQSgeTp8wVdfXAAQLVX", + "pubKeyOperator": "81a51a08b536e66b818847752f672a3fc9cac77355a52cdb9ac4204298eae5c0cb10dc939542c90eba3ceddb0466588a" + } + }, + { + "type": "Evo", + "proTxHash": "97a6990e760ac134ed84d5cb90fa8f4c9d0c49baefac6ce8e26decfcca226fda", + "collateralHash": "74f0b78d32523386c0e079371eac990350f86331d6e551ef669f7d2b5e67a48b", + "collateralIndex": 1, + "collateralAddress": "XbRNV3HJJ6uwEZEdkRhVeQ9sN1MJb49DTx", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.101.144.237:9999", + "registeredHeight": 1976517, + "lastPaidHeight": 1983658, + "consecutivePayments": 0, + "PoSePenalty": 4007, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XhqZA6krF3ye3Day3zKY4qLYDF78Xn27fy", + "votingAddress": "XeLdTubmdenoJLYbKLcLWi6fbDPf3cPJfi", + "platformNodeID": "e48b9e2d72c71859acbc4951872044bafed6c93e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbRNV3HJJ6uwEZEdkRhVeQ9sN1MJb49DTx", + "pubKeyOperator": "972f674e931fa403b505aa997c9e7122a7aa26a663bed6227d238e461a175a1f9e862139a48400b4d87d7258e1bd064c" + } + }, + { + "type": "Evo", + "proTxHash": "35978e1a9095afc9dcd72925a001b8b38331154fa2acaa7d2b00d6f81165d2e8", + "collateralHash": "f37561217f159e4c4651edb7e562129de4eb3de8d29a1da7327fce0913170f38", + "collateralIndex": 1, + "collateralAddress": "XcvvsmPcJYKvLdkDpaJPEAaouc41zrRGWd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.84.137.143:9999", + "registeredHeight": 1976557, + "lastPaidHeight": 2127945, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtBNdfQtjCxVM7ft67RC5W2ts5NAsNgnkY", + "votingAddress": "XtBNdfQtjCxVM7ft67RC5W2ts5NAsNgnkY", + "platformNodeID": "2797c7b9fbe488eb7761f2cc650650c193658e77", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xc4aPX3GCDzBkVpNzxfG43W8hLtz6vqWp1", + "pubKeyOperator": "b4f385de097dfda3d5cbbfa870ee6e6e95e35ad26d619ce257fae1f458a21a2d0c2b6e7e0982a2d78fc662a69180dead" + } + }, + { + "type": "Regular", + "proTxHash": "68915ef27cd021de0e49dd09805c1921b683ffd1ffd2303880bac4951607625d", + "collateralHash": "f4dce17a2ab1702cc795e0d1c707bcd470dd5092d0e6e30c0675632cb680373a", + "collateralIndex": 1, + "collateralAddress": "Xh55Tx9cQiFrethrcN6VpALqkw131LNR15", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.71.227.82:9999", + "registeredHeight": 1976896, + "lastPaidHeight": 2128334, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx2YYMBHGHACfs4i2wUH11ThdFuTMz2VuM", + "votingAddress": "Xcmhr2HFb9KqqVJatvn7ZMN3rc2hnUEcy8", + "payoutAddress": "Xh55Tx9cQiFrethrcN6VpALqkw131LNR15", + "pubKeyOperator": "8bfae4dbd602a4b8b4db08346e387af288d24c126c8cd9d2f36ba7c9aa21760089446290c9db7015f68dd074aee651fb" + } + }, + { + "type": "Regular", + "proTxHash": "9879c5d568764726556df0ff5c090cc0898fdcc7dec2085f611c952022a8a70e", + "collateralHash": "cef692c57150e365e8057fbf4a70fa0570327e60ea3aa6f7e3c6ff1c74cc7fe5", + "collateralIndex": 1, + "collateralAddress": "Xw9HDb6GBPv8sfraXEJ3kLcGHi1Rb4599z", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.56:9999", + "registeredHeight": 1977165, + "lastPaidHeight": 2128586, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjdFQgAn4fdLoUGTrnqRvU54rWTkCjsR9q", + "votingAddress": "XjdFQgAn4fdLoUGTrnqRvU54rWTkCjsR9q", + "payoutAddress": "Xw9HDb6GBPv8sfraXEJ3kLcGHi1Rb4599z", + "pubKeyOperator": "0834d6185eeaae2785431dd75d06c09dae5f80d3a31f9ffa77892a3e08e37f6ed49df5b315dc87487f256e5c09286553" + } + }, + { + "type": "Regular", + "proTxHash": "f8c06abeab0d7f95c19a842c292961de968dd73b52d11abf597bcf874c01c3f2", + "collateralHash": "ec66e9cfb5ae6d3f128368f1d4aeed5e9ce28d76d0c35cd65517da38a0d44604", + "collateralIndex": 1, + "collateralAddress": "Xp7BrorDp8TeXtRqUZwYNtVthw5C8q3aNK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.59.138.149:9999", + "registeredHeight": 1977382, + "lastPaidHeight": 2128764, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxo1kDBRnkvSyWw365ueKWXiGhNhRQoCpg", + "votingAddress": "XndSTnGKxfo3ckFzK2moyWBrY5NZFs9TEo", + "payoutAddress": "Xp7BrorDp8TeXtRqUZwYNtVthw5C8q3aNK", + "pubKeyOperator": "b3b82968fb13ae73448d3c7101ca25aa49d91cca2459ab5878d01526aac99e06809bebc7d6758fa1dfb9627fd991a8af" + } + }, + { + "type": "Evo", + "proTxHash": "3ee1ba80075c803eaf8ca2d44b2215c95285c8bc73a8ea7bc697a802b5ff9e85", + "collateralHash": "1f9b1bb24c95c64ed9996c64e2bddf5dcbefbc3fc06b63e3c98797ad15a5d84f", + "collateralIndex": 1, + "collateralAddress": "XrxfUiHRRY3eFodDP9Eb5BTWCRB9QdM8GH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.84.232.129:9999", + "registeredHeight": 1977390, + "lastPaidHeight": 2128079, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2010522, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdVSQU4n8yXoL192ArcpGpg2ZPLmxVxRUx", + "votingAddress": "XdVSQU4n8yXoL192ArcpGpg2ZPLmxVxRUx", + "platformNodeID": "3719ae172b2bea2e56003897dc4aa0ec27063658", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XswwbCXJFhM3sP9fkZ7MKPEg265NJYqeK1", + "pubKeyOperator": "801fa80dd075ade0dad0c4c0a51459cdd30acab991f0d0c3da073b5ecb3a6fadbc080d37625fa3b39a4a01e5c9d382fc" + } + }, + { + "type": "Regular", + "proTxHash": "f4136740bdb8308ff334941e83a9e32aa305b0f7d8debd6cc9107dcf10256454", + "collateralHash": "f62876d50bb62650b27169da6e06e0d52af1c0500778b3164a805d8313412148", + "collateralIndex": 0, + "collateralAddress": "XqbHkYyqioiNHQoAb9Qq2QntdosMDQj5Ws", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.154.126:9999", + "registeredHeight": 1977599, + "lastPaidHeight": 2125729, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcNmqMHig6q8YGc5jJS7sFFA4KHuim24Cw", + "votingAddress": "XyBdHmije2eA3QwfFjgZXpJaKrmg7M5Gm2", + "payoutAddress": "XdtTHc1oxNBhS5kF4E1h8zE3MWdfZ5iTV4", + "pubKeyOperator": "a82ebfa02d279199053fad096ed8ebfa71be11a229cbc5a50aefda001de079bf028d8fd70cf8a9798d7725bc0795ab6c" + } + }, + { + "type": "Regular", + "proTxHash": "e8a285c75be16c4777e7acd77101dd2ceaa2b71fbc615a37c2e0a5bd718e3989", + "collateralHash": "2dfbc172d6a04df9f1f944027d33f67a3b889ae0347d3bf03301682edb4547d9", + "collateralIndex": 1, + "collateralAddress": "Xxx2HYKUQJvYEaQFENCiLr8VswteNJGLZe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.248.202.14:9999", + "registeredHeight": 1977757, + "lastPaidHeight": 2125833, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xx5pB9XA2SVRmfEeAnkcFcvdK9TqYkMLDy", + "votingAddress": "XboLGdarzAgYyj8XFMzufEinCtqcaSjKXU", + "payoutAddress": "Xe7v5mzPzDCds3vwXhJ5iGfkBwyUaXre75", + "pubKeyOperator": "a889e54c136f0cf1af6013590961a0ac4b350a7ff1b2c961f1bd439fba4d05c45663a081fb33248c1a468bf3b095c2d2" + } + }, + { + "type": "Regular", + "proTxHash": "7844e6d4aab7010d8f2e4d75da4c4cc4d927396414f681102bfb23d521f9230c", + "collateralHash": "7f22340faa99f201d7ee352628919664742db00183e5217603328e6738cec163", + "collateralIndex": 1, + "collateralAddress": "XqeRuBSwkPoHTCLpEBALUK5p3yKNirxkgP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.89.1.237:9999", + "registeredHeight": 1977868, + "lastPaidHeight": 2125914, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyYqgSMZUtG9Ef9mNNGGHbcFj8koXuMMjL", + "votingAddress": "XuBcLzpRtcsZ6J7pimF5U9Ebgx7AioR7fZ", + "payoutAddress": "Xe7v5mzPzDCds3vwXhJ5iGfkBwyUaXre75", + "pubKeyOperator": "af3cd9152cf1ec2a41de5447bbdf5342a4c76dbf49d01211db9d2d52dcaaffcc631ed8ec62a2c9e45c29aea97d05894e" + } + }, + { + "type": "Evo", + "proTxHash": "8c618567caeb7ab661cecdf6a551238ec42e602c73bc65a6bec9db5f91d2af06", + "collateralHash": "5d58d44d9ec780df4c5245b7bd2b4356da94f55ec3c25b5f371243aec0409ff8", + "collateralIndex": 1, + "collateralAddress": "XuFpFfxduDbFP3BBLSP8Vn9QsJjphyaC2L", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.176.10.71:9999", + "registeredHeight": 1977889, + "lastPaidHeight": 2128492, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2027897, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnJrXf3RC8Bu1LriYAagK8gGZjcU5oCgxz", + "votingAddress": "XnJrXf3RC8Bu1LriYAagK8gGZjcU5oCgxz", + "platformNodeID": "e37f885cc6acf832d40aef3014684d54b82696bd", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xd3gYvbXgqxattr7428rPCoRQVGKyvUHZV", + "pubKeyOperator": "8ec5b09ff0b07b233a84625187d7d58793d2f75025999eb3cab98ed130ef0ae431a1d8b0a3c97bac0e3d1dd324805a18" + } + }, + { + "type": "Regular", + "proTxHash": "6391df4369d30e120a778097d5e96d8710a87eb6a77e9b96885d53db5c49002e", + "collateralHash": "6870861a2da13ef7f3d881df56a21f7d02c6c2a23fa22f6baccfa90a9f083706", + "collateralIndex": 1, + "collateralAddress": "Xxs3FS19Mz9TyneZHy68LfZjvrts2h57mU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.122.55.145:9999", + "registeredHeight": 1977935, + "lastPaidHeight": 2125998, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkckgoQcmwV2izHZGqqUz7nEm684XgaYwi", + "votingAddress": "XiETDpMgUtND3onTNB7e7zZNDeW279uxXR", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "979081958c1266e7ef18504387421cf44fde05c2dd57453ee454b9324ce14e7b17d534ccf9d3f7baba8ebb389943e69f" + } + }, + { + "type": "Regular", + "proTxHash": "5366fffe3b3f93c7959e9503c18132dbd7ee2658311303a297abbb878a0b8157", + "collateralHash": "b84734370bae0a308294397a3daabe3708ef07e1eccb131c64c2256bedfc9a10", + "collateralIndex": 1, + "collateralAddress": "XhD1kR6UnZxuurAKdW6bZP6X2hA7dGexWT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.5.157.214:9999", + "registeredHeight": 1978249, + "lastPaidHeight": 2126243, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt78Rs8yMtTSdiLR1EbtpzpsWE3FPJoi7Y", + "votingAddress": "XanwqgnDZcA25i5YRtMeaBQRFi2HVsKdQB", + "payoutAddress": "XeWGTXGLydgsnnReTpHczJ4NYCGqxPfzcm", + "pubKeyOperator": "b24a614af2abd7764af7874c5e6736dd09e8252e2568a03aa7c5c32622c21fde366f019e1371ee193b9e423e04569110" + } + }, + { + "type": "Regular", + "proTxHash": "440948225f957281fba61ef41dcdaacbabb001ffaee36d08ac482c5495e9a64e", + "collateralHash": "e1d72de4b650db4d37636dbbd9e82cdebb0b457afc8aaf1ae29d3948c7400211", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.98.66.96:9999", + "registeredHeight": 1978948, + "lastPaidHeight": 2117700, + "consecutivePayments": 0, + "PoSePenalty": 3837, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120298, + "revocationReason": 0, + "ownerAddress": "XgjyS5qCBugWCrp9xJcRNcot2SFVbkivAc", + "votingAddress": "XgjyS5qCBugWCrp9xJcRNcot2SFVbkivAc", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "8e251316de36694feb48edecd996d9cd0fc1bb47b2fd3a183fcfae5f2a15fb5ddd528c9f726905a15e7caf1ed0fc1782" + } + }, + { + "type": "Regular", + "proTxHash": "57e630e406290dba1e216c6c3204727d03833531367e9f17b630d46d1afa883f", + "collateralHash": "7704b7ae990abd5cbb256c80917ef7f9062191154dacebbba5ec399fb9935ec7", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.184.170:9999", + "registeredHeight": 1978952, + "lastPaidHeight": 2126860, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XePrkZLVTNLpCW8s9DMzrDj469EPAquUZL", + "votingAddress": "XePrkZLVTNLpCW8s9DMzrDj469EPAquUZL", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "a8f2f579d133cad344eb7b08ca825fee4e5d475575af0febb72fbbf0322a155d9528a2882ca20862152ee670e87d0776" + } + }, + { + "type": "Regular", + "proTxHash": "09eb390d80f496f1f5ed39ad0a7426172f1346a8f7b6c08408c7dd51ac853357", + "collateralHash": "e309e382b4b206f5bbcc554ca01bf3e00197ddd102cd6ababf8acf1c4c08e947", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "116.62.157.76:9999", + "registeredHeight": 1978954, + "lastPaidHeight": 2117707, + "consecutivePayments": 0, + "PoSePenalty": 3836, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2119434, + "revocationReason": 0, + "ownerAddress": "Xfq9qHqhKj1QocSzEa65eGcsoPksHpG6Tt", + "votingAddress": "Xfq9qHqhKj1QocSzEa65eGcsoPksHpG6Tt", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "b65f3d8b4b7adaa1e0145fd17be7babec149518c542ba081f93c94b9c073cddfc6c595bad4bf64e5d2fbab17fb0c9a24" + } + }, + { + "type": "Evo", + "proTxHash": "108a0089ad01e99ece7cddff0252984e9ffcc935bd475bb30461e0f9aac6944a", + "collateralHash": "52f8e0915bec24179549a256f84a48316387489e121d1b04dd46cd1e8915c4ef", + "collateralIndex": 1, + "collateralAddress": "XmhA3xsuemvewzamnMd2KWUn3VKkFyrWoQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "94.130.229.10:9999", + "registeredHeight": 1978956, + "lastPaidHeight": 2114523, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116019, + "revocationReason": 0, + "ownerAddress": "XkrS8jjCeh3nUZXqGx9zu6UATX8gDD56qK", + "votingAddress": "XdhJRmMREo6z7Kamc6nWgP9Cv7fk32DhVq", + "platformNodeID": "80d0b9ad0b5c791c71d36ca0f6e843f062fda3da", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xh2JirXmoFwrquGPDwTKimmaDR3MMZ7WFW", + "pubKeyOperator": "877cd9f75618beb21bc99012a654684edad046e9ba7f1266d06f33a61179b92b2c5f5e11c8be8f245d5d8b39660f4e4f" + } + }, + { + "type": "Regular", + "proTxHash": "54e92238c523b445d9750e4a2ffa000ab3736276680e3e7dc866fc1ec4351d3d", + "collateralHash": "537aef64895d33e75b818e498b1dcb6ac802b8009611bcab7fbbe544f3a34334", + "collateralIndex": 1, + "collateralAddress": "XcYvvRXo7nsfsukjRLqEpcGgupPMngVu9j", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.200.170:9999", + "registeredHeight": 1979052, + "lastPaidHeight": 2126957, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeUKQq1EM3wee19cm7KArCGrvzNrrdeE5E", + "votingAddress": "Xd459XUbo6Pwn7dPqscnSayorBcWnogxtU", + "payoutAddress": "Xe7v5mzPzDCds3vwXhJ5iGfkBwyUaXre75", + "pubKeyOperator": "b6352d96f3e3190f172d07b50d9d90e25eccbda4ff4d5ef2b7e9b2069f0c319c101dc963920bca8e9a84f438e8fc08a2" + } + }, + { + "type": "Regular", + "proTxHash": "07db7d1619bed1009f6f3c5463318da4164f1674cefe00b9659b9148bbf9c418", + "collateralHash": "c4fdf19802343eb756e3141dad2e02f447d58a4fc7cefacfd446285b16196c96", + "collateralIndex": 0, + "collateralAddress": "XkxsumUmbymwS3Q7zZhRY12PS9eJgMbCxB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.223.228.209:9999", + "registeredHeight": 1979323, + "lastPaidHeight": 2127272, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnoShKGXzjBuNcJsaYwQbjP56fHQhxyRPS", + "votingAddress": "XrVqKApDVHFjkGcLVDhuijhiNEmDfBwrD8", + "payoutAddress": "Xpwr5osjpH5YmbfjgLTkKRFW4eSDpA1bA3", + "pubKeyOperator": "aa5eecdf03a2a7392704b71e2a3e93a850e15e94986f459e5bcb9660da6eccadcdde2aa6d03ccb24456a93f4511a83fc" + } + }, + { + "type": "Regular", + "proTxHash": "fac5e1cb0f57d2365f958273ea7bea178e7b12388b1ba2458760c6ff9e6fd14b", + "collateralHash": "af83e38a9b5abe71a862c395cdaa4e76164174291b8ed475ea4fa5b862d64a57", + "collateralIndex": 1, + "collateralAddress": "Xu76UK7oTURrhcg9NA3JvvaoHMV1J9Q9p6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.27:9999", + "registeredHeight": 1979351, + "lastPaidHeight": 2128472, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2109096, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbhSiTwNmiZWRXf2fD9ie3LgDuybCT7GSt", + "votingAddress": "XtX2M5nUm4XsGLyx4ku1cBGXjbW7cwBGcV", + "payoutAddress": "XpZuxPXhihtewdHTeecVunxfS15aKfiZz2", + "pubKeyOperator": "80b40eeae7b6f791060882fe2a52f14b10e6a909f18be5fe6bd5810f603090bc2b4ceea7d6080cd10db0f1e19eee671c" + } + }, + { + "type": "Evo", + "proTxHash": "787b1ae5f9e86ee76b39bb38fab81424dad6bf052b1ed4510e2cc24b7bd18a9a", + "collateralHash": "07ef7f7b25947e8341af6d80e6ebb99ed8bf1f9c498fa17feff4d4eef01a9d42", + "collateralIndex": 1, + "collateralAddress": "XvU2DyMy4b8RPv5qYarKQ4YueKL9DYCx3X", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.230.119.88:9999", + "registeredHeight": 1979369, + "lastPaidHeight": 1982983, + "consecutivePayments": 0, + "PoSePenalty": 4006, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XxKzFppCnMDfqmREWLtDpGJmgECmFruTw7", + "votingAddress": "XjVSnutuU2kkY6FtmZ9zos5pxrim7JTbuD", + "platformNodeID": "cfcd2229ff5ba07c1beab32f98614bd34c2800b2", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XvU2DyMy4b8RPv5qYarKQ4YueKL9DYCx3X", + "pubKeyOperator": "a867acd1fc8f3296264706fbbe57f57bb33e08513dd878ff7ca851b7d0523905ea004ba64618923befd8ef4456319669" + } + }, + { + "type": "Regular", + "proTxHash": "5b687a89b3ade75641d195af4a2152c632a69c4cebf24bd3d03c0636b2b0b99d", + "collateralHash": "60f2a1912bb601c15fc1fd0af9d4dc486b8079b4a5e386cdd0de2becc4c662f8", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "47.110.155.87:9999", + "registeredHeight": 1979862, + "lastPaidHeight": 2118516, + "consecutivePayments": 0, + "PoSePenalty": 3836, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2119146, + "revocationReason": 0, + "ownerAddress": "XsF596ouu4eNkQV2aRnRW5xpZ5hW8umbrA", + "votingAddress": "XsF596ouu4eNkQV2aRnRW5xpZ5hW8umbrA", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "859383848643a53e5ec80731e18cb70a44a3ee2dd121d4bb63e3863e79b8a4b18df2fc7de6ed0f47a32986c1f061cc27" + } + }, + { + "type": "Regular", + "proTxHash": "0d698fb3f6a3319c229e3bd3a333653c25f222858acc3bad321a4aff05504c33", + "collateralHash": "187880d6771be108dfdf1d0abfc1da506caf902761ac0c824f5eee09d864cc4c", + "collateralIndex": 1, + "collateralAddress": "XiyQ5b3djwhXtJ9mj82mPMxkhgPC3Q1cns", + "operatorReward": 0, + "state": { + "version": 2, + "service": "209.97.133.204:9999", + "registeredHeight": 1979882, + "lastPaidHeight": 2127815, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xir2kSEFuz3tXPRi8YZiZscttHZKwirrck", + "votingAddress": "XtH2Fab6FARVJB1XEsXgURjT4FHK2oEuSo", + "payoutAddress": "Xe7v5mzPzDCds3vwXhJ5iGfkBwyUaXre75", + "pubKeyOperator": "97f1b0db09b8bbba14e7494158af8541048f87306a27882d40a3bad738855a0902fb328d4b12bb990c084956fb07d580" + } + }, + { + "type": "Evo", + "proTxHash": "01d6c9b8661fc28a4aa09ede7948d6253c29a641da38c2be4559b5c22df23933", + "collateralHash": "79c16ab2746117276ed22bae32d4f468ad97829b0a0f81176831495e00ca3693", + "collateralIndex": 1, + "collateralAddress": "Xw4UZmyd1BNEdb4UdEWSbNrPNiUqm6g5Ys", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.68.73.19:9999", + "registeredHeight": 1979897, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4007, + "PoSeRevivedHeight": 1980320, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XgJkRrzpRJG4qUMXyKQvE5TyT2gXT3DP1j", + "votingAddress": "XpfFcRJ1XUZxexyud2vQhQEvoppCVu6gVL", + "platformNodeID": "5990c6b6db42d57598945291ce1f8e01b957eb4d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xw4UZmyd1BNEdb4UdEWSbNrPNiUqm6g5Ys", + "pubKeyOperator": "8421612615e301deabde5daac316605e92cadea3397b3682900ec7161ec2b56292b66987160dea6d9e977cc690eb0723" + } + }, + { + "type": "Evo", + "proTxHash": "b86a2503a0b765abfaac30739bbfd0fd01bbe80b375cd41f76f35972b7b069f9", + "collateralHash": "685042b95b95b378c446f9143898ac76ef2e6de2b571be938c54f4943ed8a8e8", + "collateralIndex": 1, + "collateralAddress": "XsTeegRmPUgHyZAgh6zKE4HhXNNaDK118Z", + "operatorReward": 0, + "state": { + "version": 2, + "service": "209.38.232.103:9999", + "registeredHeight": 1979898, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4007, + "PoSeRevivedHeight": 1980393, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XcFXY6fTE2bDM1JVf15JKQTvct1ZqRb4nK", + "votingAddress": "Xq9JcoAZZZcB31Uk3nGUQmA7NHerYwE2M8", + "platformNodeID": "26ad21dc6262f2ce512f023f61bdff5be35e0c8b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsTeegRmPUgHyZAgh6zKE4HhXNNaDK118Z", + "pubKeyOperator": "830807a838af8a6b042ce4b6cddfd43a980d070d4b13ddb32f6fff03745b6c4ddeb2c3ff8cdd3f35c8cbc041774cd20b" + } + }, + { + "type": "Regular", + "proTxHash": "8f9b99272e31b51b21d2ca8326db230b6745ada3a161f6055258116a98dc7784", + "collateralHash": "8270c3482e9924dc66cfcdcf7cc5636dad148bdd0cd1a5acfb7aa3d5a97bfd1d", + "collateralIndex": 0, + "collateralAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "112.124.37.208:9999", + "registeredHeight": 1980846, + "lastPaidHeight": 2119384, + "consecutivePayments": 0, + "PoSePenalty": 3838, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2119722, + "revocationReason": 0, + "ownerAddress": "XuBhMLadk98XUsxS6XAfeKuUSyc5iGRzpf", + "votingAddress": "XuBhMLadk98XUsxS6XAfeKuUSyc5iGRzpf", + "payoutAddress": "XpDyyVdRb7mvHgdfJ6NQtZ4KeG5tUaXgoY", + "pubKeyOperator": "9485111eff35fe84b2b4f2c517d7118bb56473e6d8598682ef31f6edb2e7696d3ba956a9ae861331b16217d69c96c36f" + } + }, + { + "type": "Evo", + "proTxHash": "41c2796506348522794b000a5a7d24e2b2395c6fa856cfafedad3dbe564f108a", + "collateralHash": "72cc5e6aa891c559bda5b58056602f28b5670882794a05e36088f92e53240576", + "collateralIndex": 1, + "collateralAddress": "XfqEwgFnrdz8BTAjCrN3BKjdpfnkAP2zqi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.140.107.66:9999", + "registeredHeight": 1981791, + "lastPaidHeight": 2126212, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XebLMjvRqv5HmoDqGwPQFWxmtvk7XCjiNX", + "votingAddress": "XqduRG81d2BcdvG2fnq1qbH6jgGddpdmu7", + "platformNodeID": "d38e79013d1ec68b40d357010c753828f0ff41ad", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjwN7v8cLSKisdr8FBNkD3YWKiCq5faM7C", + "pubKeyOperator": "87667e9c5e91ef8d5e1bfe6a93c445206cef0012eb939d5ef365d94dbe72b1b91c462ea2a80d0edb6d3df88a2f3e1f34" + } + }, + { + "type": "Evo", + "proTxHash": "72c3ef1099ef2dc75ea3d41b792492ca13439dd5375808fcd5f0cbc9e6b23c0b", + "collateralHash": "2ba27b011018de6b6d5ed03036c803f4d8a4f137c38d07f0082e32797bea6a10", + "collateralIndex": 1, + "collateralAddress": "XfpD4JLXNCUoSowHPMWdKvkcaYvezvTnvC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "164.90.171.53:9999", + "registeredHeight": 1982061, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4007, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XoQqStf34opuXKib4RgQ1amSc2nKiYTYpL", + "votingAddress": "Xt2PJxruR1WW8PjTXSDZQ1iTX85WnszRJf", + "platformNodeID": "692b7ff99277b36bf44065147fc645a94dda837b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfpD4JLXNCUoSowHPMWdKvkcaYvezvTnvC", + "pubKeyOperator": "8f11b6ce6ce013604c0d7f8beb679d86a18a5a3fd228d892858430dd42b8b48b4672354cdad20bf41dc89273b85099a1" + } + }, + { + "type": "Evo", + "proTxHash": "3b993d6f7c707e5083a7d3d5cee94ae50bda4afae0e7a4612e88585e05741386", + "collateralHash": "4b42876cc36dddd72568487fe84fe78cb1c1a1405d51e17a7b0a87fee75aed8d", + "collateralIndex": 1, + "collateralAddress": "Xdp6QMmdLC56EkzCP4hWrhsLm2E9aeNq3N", + "operatorReward": 0, + "state": { + "version": 2, + "service": "164.90.161.77:9999", + "registeredHeight": 1982064, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4007, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XcyX2PodWoYkPGCHx7ZDbo5Uf5sNCB69zF", + "votingAddress": "Xt6n81bnwPcnaLQQnTwj9V7oxRJx7on3aK", + "platformNodeID": "2b5453c0c537a8a4e5e8166563d3e4cbea928824", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xdp6QMmdLC56EkzCP4hWrhsLm2E9aeNq3N", + "pubKeyOperator": "a6f667635343f0c4f868ae1ea80b9675766dd8b8f8f1c5d66dabe0ec317c8eebb0aa8fa322d095ed66db4a39beae591b" + } + }, + { + "type": "Evo", + "proTxHash": "d15afeaea40025ac58f20e77d4f37931a35dca95fb5a0deb5ccbd85d39544391", + "collateralHash": "346bcdeaea7b8ab5cffab7078278f037eadaee13ab148939f039a822e81f6707", + "collateralIndex": 1, + "collateralAddress": "Xv3iDxvnsJmyUkFWnsPEjfLgPxmeMC8kGE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "164.90.165.192:9999", + "registeredHeight": 1982065, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 4003, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 1983899, + "revocationReason": 0, + "ownerAddress": "XsGqQhSeLhjvhRtc77tsm2BMdUyVH9SbMm", + "votingAddress": "Xjn8hHHkYxTbX3hUK2oL3QSfBDLASEmsUD", + "platformNodeID": "a64694504730e57b57521f68d3734f7e503e0057", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xv3iDxvnsJmyUkFWnsPEjfLgPxmeMC8kGE", + "pubKeyOperator": "8f2eb9fb52b35ce7c968030ccea0253c76d9ce278e2ad1381ae2322d6b9a35d3f36b752c5dabd6d0cd6635ce3f56223e" + } + }, + { + "type": "Regular", + "proTxHash": "5facf013b99aed10bbc12f3843fe8f1725d5dbcd1d8b3531d343e332eb5b6894", + "collateralHash": "5c79bb79191ca6c25bd51aa6c427de936b8b934b0d06a79f11ef7ab447df3fb4", + "collateralIndex": 1, + "collateralAddress": "Xp9Poy9xoBJxkC8iqbmg4c7yd1VLHibAgN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.226.74.75:9999", + "registeredHeight": 1982362, + "lastPaidHeight": 2126679, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdgQYbG4qcJYkLy1EYKg6LnBUfmHKXSXAt", + "votingAddress": "Xbg7aXwz2CTVEe1LkUZwXmLr4JmrTJmX1J", + "payoutAddress": "Xe7v5mzPzDCds3vwXhJ5iGfkBwyUaXre75", + "pubKeyOperator": "b5b044649bfd89aedf95d3d6b3c74df6cb9b84dc910ca9da22c9ac00867b1f2c85a9c5beb438c6850e04de50d0c448ae" + } + }, + { + "type": "Regular", + "proTxHash": "ac423bd3714f34e6434171731aef79d6450c1d371fa4284961581e3b6ccb58ea", + "collateralHash": "1fdbaae5fad72312e9a69e3cbaa1796c8ffb1e04472a7ba581576fa9dff9e247", + "collateralIndex": 1, + "collateralAddress": "Xe2Uap8YfRd7GLUu7rNBCXcR5G1jqeEmXK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.223.218.50:9999", + "registeredHeight": 1983514, + "lastPaidHeight": 2127834, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XePd5co9JqZiZ837mC8Suew921uQgqHdsH", + "votingAddress": "XoPhtgdvLmk34DxNmJedicKUTyfFqnUe7k", + "payoutAddress": "XcvKsUJospEgaj1NcvPtpHsJX2LD7GYZaa", + "pubKeyOperator": "922cab0fab1c6b1cfce9289522e46ed2df3994433594e56d993559b573e18f7bb379980e905b9992ce0b2198023055dc" + } + }, + { + "type": "Regular", + "proTxHash": "6ac921521490fb8faf878ed4e58fcb5097fa244e8b45ec6237d75901f76352c1", + "collateralHash": "b659619eaec8e8d2f337ed65f2b80093320e6a549f6f0e0c0af305c8a42940d0", + "collateralIndex": 1, + "collateralAddress": "XhoDetDFvJi2hu1JXsxb53CZJC8p39Dcxa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "155.133.23.221:9999", + "registeredHeight": 1983657, + "lastPaidHeight": 2127924, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvfnumRWz1etoAc2LFmjiPwGvb75BNTYa4", + "votingAddress": "XvfnumRWz1etoAc2LFmjiPwGvb75BNTYa4", + "payoutAddress": "XqZJo6Ke5vnLjWzBBLoYxrLhk7tPk6PH26", + "pubKeyOperator": "a7ca0315049a43915298367988a8803ff4f56f8b410cde844a586625b9ebe5d474ad23bb3b5ddfad6a66a0522f1ccb94" + } + }, + { + "type": "Evo", + "proTxHash": "328db6689ae2d4b51244325bff23d17209def29fa3a18dcbf72395f09f1820f2", + "collateralHash": "55a59999ca6fdbbb82eeeefa6a81b8f09a674c56179b8b03a6e429963f1f83b6", + "collateralIndex": 1, + "collateralAddress": "XsSMptkkFMgK6zYz1K2TD81gTnpCuwfaY4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "52.10.213.198:9999", + "registeredHeight": 1984122, + "lastPaidHeight": 2126855, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2100677, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfYAVBnPEXGuC31LSqJ4QSWaM32dHzpni4", + "votingAddress": "Xb4SZsBigdrzdyLGEHNqdZMWJizf9MTypM", + "platformNodeID": "f40df8fa5c8d0cbf95a8dea76814eb6e45e4322d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XwTP3xPtPAZZ5gohjx6sUvtDdUegcJ73vq", + "pubKeyOperator": "8103600e73feb9ae8dc7f1d724e0237872eddcd607a8f4ead6e240786eff9d641cc13a2d4478bb4e19b19e427c174a01" + } + }, + { + "type": "Regular", + "proTxHash": "a6c8c56d1615978924ed9debdb2df6ae1261e38bf6c693de067bf7debc096a2e", + "collateralHash": "e98ebc249505c551931c697871fea30d89bfbb9a47d3f0214bc20f107c46d77d", + "collateralIndex": 0, + "collateralAddress": "XfNFgbbmcdiyVNSBzXXFigQeM1Yk6QqQDw", + "operatorReward": 0, + "state": { + "version": 2, + "service": "191.101.2.231:9999", + "registeredHeight": 1984296, + "lastPaidHeight": 2128582, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsL7tv7Z7ZW2hrqq7BZfrJeckjc4BnPU2Q", + "votingAddress": "XsL7tv7Z7ZW2hrqq7BZfrJeckjc4BnPU2Q", + "payoutAddress": "XgEJG5LJ5pca7uFdv7RHmbNf8JJVTrXFub", + "pubKeyOperator": "82a30cc4221df40297150955bbc6d6c1267d455a2828075e27bcef19cc705f3fdf64ff6231088f619e00cfbdb5efd5d2" + } + }, + { + "type": "Regular", + "proTxHash": "18f58ee5ab41a57cfc1b367d1af291b9709bbde1ba8b8717a691d33516d42fdf", + "collateralHash": "8fcba0b9563c97844af0680b12ebcae169956c1ef38b98f2d0cacfa375690ea5", + "collateralIndex": 1, + "collateralAddress": "Xq9yKuuLkFfjiCMzr79ns1Ffw2KZmemvc6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.22.30.195:9999", + "registeredHeight": 1984382, + "lastPaidHeight": 2128647, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr9bFgkSgEQH1Sc1UHw4GLezjYTUZxGgXx", + "votingAddress": "XitU4ksWpmdxZ233W367BAX3e4B4x3NSpy", + "payoutAddress": "Xh55Tx9cQiFrethrcN6VpALqkw131LNR15", + "pubKeyOperator": "b2d1492b3c92ac1ef2eeeae3ef2df2ca393dd60a13611c61595896cc59945697329b89fb5090b7f602deb169855a885f" + } + }, + { + "type": "Regular", + "proTxHash": "7d7edf1430eaf1661abf421844379435e5a94f952b63d3190e8ba3d22cb2bf78", + "collateralHash": "153276dbdf10dab9e2db925449a874ab489a35423c9153322157c577f391c928", + "collateralIndex": 0, + "collateralAddress": "XefUNrgjvie4c4KBwJ9TxhuybRZXR59aWc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.59.58.57:9999", + "registeredHeight": 1984503, + "lastPaidHeight": 2112927, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116266, + "revocationReason": 0, + "ownerAddress": "XmQLurBoapzYDMCN4EB4ZTGj2XhVwaNcYA", + "votingAddress": "XmUSr4D5NMVrz1ScQabjWVi1LBXpm4QPeQ", + "payoutAddress": "XefUNrgjvie4c4KBwJ9TxhuybRZXR59aWc", + "pubKeyOperator": "a510abcf04d17ea413de4fc932733e75316f234969f132a6e141afc8878f113baa52067e9d4552c96a436a3ca6015238" + } + }, + { + "type": "Regular", + "proTxHash": "f304622cefb24a5aa3547e94d07198aa8825146e8580dc56931fc0b84167aa22", + "collateralHash": "0a29292f299df4f2d64e3b613f7585ed0da8b7306d5979a68bd0b47a6691a577", + "collateralIndex": 0, + "collateralAddress": "XyvDRucunUfw1U99Bz4sSQvtJLMqgR5CYo", + "operatorReward": 0, + "state": { + "version": 2, + "service": "67.205.165.112:9999", + "registeredHeight": 1984511, + "lastPaidHeight": 2112928, + "consecutivePayments": 0, + "PoSePenalty": 3852, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2113962, + "revocationReason": 0, + "ownerAddress": "XqTZZWDjF7Hh5BbVRaDXwjqsomJnmsKvX7", + "votingAddress": "XuTNLz3vmD2oah28e5BQDpBgyfSwv19DsD", + "payoutAddress": "XyvDRucunUfw1U99Bz4sSQvtJLMqgR5CYo", + "pubKeyOperator": "b20645263a7b6f8be295b526376cae5dac41a9d3824f7252890c4b6b8ac22ec9ed1e2871a071dc617839c5ae444d786f" + } + }, + { + "type": "Regular", + "proTxHash": "e8c9670cfceb18464b9e3e552cedd21680e7fd9d3d3791a1ab7bcfca720d3eb2", + "collateralHash": "32b2492506473c4e6421310d30823e6184a1ae2c01a6072e607292be32f99450", + "collateralIndex": 1, + "collateralAddress": "XdjWg4WBS2oaauWjc3GG6g4nvbAPjJYhdG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "143.110.240.13:9999", + "registeredHeight": 1984669, + "lastPaidHeight": 2128848, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XveXMUuwuZPkEYc4GgQiP3pk1pkMthDJzj", + "votingAddress": "XxTQrrzdLmaSdS7hZLQbsZNguVhnxXCTzB", + "payoutAddress": "XxcF45MeuUqs9SFrYQ7ighdkvDvRbpiH3j", + "pubKeyOperator": "94dbd33c2316eca0dd298cf5b8042e14a8e00baf55fece1aab469594b2c19050ae4a226848759770aaa97268288d3544" + } + }, + { + "type": "Regular", + "proTxHash": "731efb592c0cf2f68b233ecf375d915b5a91fa6231d28b551e587896a635e6bb", + "collateralHash": "f251bfcad2a363845b69abe8342bfcfb316908a66caf3af2ccb19514408a5808", + "collateralIndex": 1, + "collateralAddress": "XkpeyBuiV54zrv77dhEonYpjdC3e9jPKDt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.216.13.118:9999", + "registeredHeight": 1984844, + "lastPaidHeight": 2125809, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpRcCXrbHFLt1vRLjQZML7JohVpzkshnDK", + "votingAddress": "Xhc781MXWBFDx2tfVfnoCjhhi8DbyJA9sQ", + "payoutAddress": "XvTFVE2VWEpKGukHguN8dEcw7prUpFp8AV", + "pubKeyOperator": "93f6b3b27137dd9021c8235f7361096a7aca44ca83dc808af600392b6b924e60741a038bc046bf5152516e946fea01c0" + } + }, + { + "type": "Regular", + "proTxHash": "4a0fbccd9820bde460d993623510b761a6174bdb6de71882df7abd2e8e93e174", + "collateralHash": "aaa4f9d1c1edd6e7b227452c2724f64807942dde99ab7896f0ac3fb2f4b1cacb", + "collateralIndex": 0, + "collateralAddress": "XeJi3BFYE5znKD1N3bPLozaVb4uySCFD7M", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.158.45:9999", + "registeredHeight": 1984973, + "lastPaidHeight": 2113342, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XqqbHdb5RxXGohZeDTYiv6Y3SJ2Gm1i2kT", + "votingAddress": "XvUxMKHCotZmNWbnb8zcJ8FQj44L3qnG7B", + "payoutAddress": "XeJi3BFYE5znKD1N3bPLozaVb4uySCFD7M", + "pubKeyOperator": "b5743ff5b6c93b2151c1ba53672599c182bd320317624c1402782da0699af97547c82f5cb26ca2d1946c5d3c1d05a553" + } + }, + { + "type": "Regular", + "proTxHash": "d453fb06718e30096cafcfda30d3031b3026cacabf6b99b46670ee6b3bc73ca0", + "collateralHash": "49ac7f27d7e9c7d67fba3b383a24dbd468e310a21a5a9534b7d8a5937dddd607", + "collateralIndex": 1, + "collateralAddress": "XdDeaete4DZHA2RY9oEdTQuhnvqeYvwotD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.252.21.24:9999", + "registeredHeight": 1985083, + "lastPaidHeight": 2126004, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsvb9kz9MnjqqbwS9wX72vuGcy5ujJKYny", + "votingAddress": "XvQ1ZKTYNncoEt9wAigxrRNRU8a8spgBWZ", + "payoutAddress": "XsxRSC4LprQPXZAFyJUUskcrex5Qg8LmYk", + "pubKeyOperator": "89cb838a924f6dc248e24c009ba0aa21ee1c8180ff0c7958ebb541917226bf53d09855e15d3081737ffb25a2ae9ac2fc" + } + }, + { + "type": "Evo", + "proTxHash": "23a697e38591825c2fa01c36a6934610fac8194ba1a8fcfc6629229fe6f7fe00", + "collateralHash": "d4468f37df9642a3a333a86720c122ffcc7ea3c930562e06ea9cbbb6baba82d6", + "collateralIndex": 1, + "collateralAddress": "Xe7pF9iNYJ5TGFpJJ5Du4t4aDw4nmWJ5GX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.161.49.32:9999", + "registeredHeight": 1985098, + "lastPaidHeight": 2126018, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrJoffUSeZQi5Yx855Ly6pCCaV38fUwEEq", + "votingAddress": "XibRQ6jPdM1DTJBNCNeJ25iC9UQUQydRHj", + "platformNodeID": "8c18b7bcfc8398e55deef029c618741206477f8b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjwN7v8cLSKisdr8FBNkD3YWKiCq5faM7C", + "pubKeyOperator": "b0bcbb1a8a357e5abdb01f4a2a69fb6bbf3bd646cc9336e0ecb45a776bd0ea68dd1c9fa060b470f089ff542bd73ee50a" + } + }, + { + "type": "Regular", + "proTxHash": "ddca837fad6ab9b8ffd014f2253e1a072ca8970a38f4146289f05078f7f41bf7", + "collateralHash": "d74eaad36390e32fdf6e4760ba64c84020c06e6d50722d1d5ac3d7bb496e4327", + "collateralIndex": 0, + "collateralAddress": "XnLW4qtNEty6VT5SAumd98ZSNKL42bDhfK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.78.77.55:9999", + "registeredHeight": 1985206, + "lastPaidHeight": 2126098, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvgzLPLRrvKp8Rd6Zq4FivxrnYHyQCbHux", + "votingAddress": "Xk55gc2FbvkQiHRvwKaxcZHVamdamDnEZR", + "payoutAddress": "XjwN7v8cLSKisdr8FBNkD3YWKiCq5faM7C", + "pubKeyOperator": "8bdc0995377302b2293cedf03286baeeb84f0a2bfa48e101a182aaa0e37248d6c1857f142f24263822b7fb1e6ba11780" + } + }, + { + "type": "Evo", + "proTxHash": "78fc0590dfa8f386b03d3d3a2e9e50b12c138997af115fc4c5347981ed70355d", + "collateralHash": "153d45859d2300d832af4245d32fd4a207f2bac26908c32b745168b2b03c2b67", + "collateralIndex": 1, + "collateralAddress": "Xbi6rgSf2i8UZVE24pNTUv4q2YEAEUiJMc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.21.147.225:9999", + "registeredHeight": 1985265, + "lastPaidHeight": 2126157, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xor6dc1Svjdi8Uqh5zf9pUV293L1nNtXzS", + "votingAddress": "XsN4dHez8Mg28YGrQ2MhnpbPLSJtxhrtkE", + "platformNodeID": "f1c717a50ced6d52f82bd3b1b5d3552c7fb6fec4", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjwN7v8cLSKisdr8FBNkD3YWKiCq5faM7C", + "pubKeyOperator": "8845a008aae558e5fdc45fa37bdcf84d0d8b067b387e4775ee07e0a2c7d246f44d5c86c592b17c709a046dbc8417cc0e" + } + }, + { + "type": "Evo", + "proTxHash": "d658d6d6373a78836efb6a7f403e2d8d01f7b7b1d14966c7af2db9785e2c9796", + "collateralHash": "57a29c44d5d576e982bdcc4a99b6bd9bd055854878cfd4619744e9ab007aa526", + "collateralIndex": 1, + "collateralAddress": "XukeCxPK8pNCr2pw72pDYGJA14KjNEYHD6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.235.146.99:9999", + "registeredHeight": 1985609, + "lastPaidHeight": 2126414, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbCLqU1HUy8bYRmoNv6rfm9zPUhdEJGERY", + "votingAddress": "XjprjouZXMCWTDekBMo6FD6d7towatnwsz", + "platformNodeID": "8d28c4e42aef4b7458a70250842b912ec3574111", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjwN7v8cLSKisdr8FBNkD3YWKiCq5faM7C", + "pubKeyOperator": "86109fb59ca7d42c4174ff921ec0c3c9190322dcb24ee2ea77e57ce97264f3ad56d982f3ec2482aa9c4b5be110556118" + } + }, + { + "type": "Regular", + "proTxHash": "b666a350be4fdf31699814c8c372cbef4440e936c65171d5fbc86d436b3362bc", + "collateralHash": "dea5400da72cf1178b68a48807de3cee5ef41a81c3beb3f98888c89be6c15d8d", + "collateralIndex": 1, + "collateralAddress": "XjaoUNGvsEsWQrJQjAEarUdHwJdkuuLRZo", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.238.190.82:9999", + "registeredHeight": 1985653, + "lastPaidHeight": 2126452, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfYnSTuuH1pdLKRrXYZuZxwk7e6HH3pSqk", + "votingAddress": "XpWyi6CqdG5T1YMVBC32NVX53AtSAhmQa9", + "payoutAddress": "XjaoUNGvsEsWQrJQjAEarUdHwJdkuuLRZo", + "pubKeyOperator": "81a73ca3722ef9690d77b3d73243cdea59d39edadbf0add84f5e12e37957b026f04ba93cf8ff6a87d6ccb8d70409bafc" + } + }, + { + "type": "Regular", + "proTxHash": "6b527d4e1f436106e12d56fd36d17b753ed694cacffc2055a2ab2ae4bca3ae2e", + "collateralHash": "bfea7f5f16357725b53b07ee302868659e2cc0e0adcd68b134e4fe3743bc3109", + "collateralIndex": 0, + "collateralAddress": "XvyTcqGwb47NtLkCLQunBbgF1T96iUcvZh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.89.25.25:9999", + "registeredHeight": 1986145, + "lastPaidHeight": 2126947, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfQ7vncYwafr91jq2Fj5V9VycTDkko8584", + "votingAddress": "XohCpBAk9AwBjRuyZ6b78tJ9WrmpqKFVqN", + "payoutAddress": "XxcF45MeuUqs9SFrYQ7ighdkvDvRbpiH3j", + "pubKeyOperator": "9514ea887da4f35ef7c08fc72c0f8f01c2f3424854956e1c5a1cbad27205553df4055b0bba8f429b314ca1b7b96ced4b" + } + }, + { + "type": "Regular", + "proTxHash": "3a350046627d0d571e70ca6a57ac9cd9d5f103ec7f32a125a6bd5451c8b0d44e", + "collateralHash": "ef8319a1187bd7b7b37d04f6df7c444c949dabc84ddf8f9148bc22c3abf0b834", + "collateralIndex": 1, + "collateralAddress": "XiXXzhPGRBMWwKLdDpPPHvyXbS9smaxrC4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.131.115:9999", + "registeredHeight": 1986148, + "lastPaidHeight": 2126950, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfMzY1V2FUnLi8idnJucyYGYv4giFoWb7w", + "votingAddress": "Xk9jay6ZLeSfFGUVsfFBLsT6v8nPyTVsRG", + "payoutAddress": "XxcF45MeuUqs9SFrYQ7ighdkvDvRbpiH3j", + "pubKeyOperator": "abad76f4971ee86e63c792a035311447f6c3e8561f12ce7ba8a05efdf86ae75acd2b20a68655f23fd79665846f0e6896" + } + }, + { + "type": "Regular", + "proTxHash": "075ecfb048bd1d0ecd39d6e74048ad402d9a43dac0018937c8088e1e0791736e", + "collateralHash": "3dc95451974c1e4ff14d24ea99c6f4392ed79f2a31211d05e4e941f8622119eb", + "collateralIndex": 0, + "collateralAddress": "XsFsPMX42jjDyfN6mjKwWQMW2NTKVrKvvN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.27.18.104:9999", + "registeredHeight": 1986598, + "lastPaidHeight": 2127460, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtYNBvCbKmmGsBRprYvv3dC5vLHv9h86S3", + "votingAddress": "XqsgCcwzLv5fygE22UmKCUkdUMLzMmvmfG", + "payoutAddress": "XjwN7v8cLSKisdr8FBNkD3YWKiCq5faM7C", + "pubKeyOperator": "a0d6635d28c435b84efeda05f1c9d6dc247a84fea24537be4134d851bc6cdf17448c03b6366082730a6dc3e8fd2aef21" + } + }, + { + "type": "Regular", + "proTxHash": "1ba07d2d3a3a8d9cfbda66a10d97dc4ba9cd36deb136f8ebde98a907099ef819", + "collateralHash": "b1a1d1f39a8f34572d42c03e97785c04e8098b15e97b97de058331bd7bc35077", + "collateralIndex": 1, + "collateralAddress": "Xnwy8sEfnVizZtERV79XajKRVEZJaGoMTX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.131.126:9999", + "registeredHeight": 1986654, + "lastPaidHeight": 2127503, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuNrPVEe6uF69JizCZCsHsEDj5ECmKXjoC", + "votingAddress": "Xq78TM7MH4VUftczgxVKtoenR4DMyGRsLz", + "payoutAddress": "XexeHg1j2YWDvtDjmFetfPhXQ2oaX7pyrs", + "pubKeyOperator": "b563ab58b91748e8217d6a3d170983292691f5c528d668f281941a1e1bb3e09bd8f61938bf7ae23bc5a64d10e08c12e6" + } + }, + { + "type": "Regular", + "proTxHash": "82ed15ac4bf7a35c5e8e6bdb141db3182ded9980fa80250284f76732231ba4a9", + "collateralHash": "b1e7a75bc2684b850cc9f33fc2b7c49038c07533c84dfb733b295eeab03e1936", + "collateralIndex": 1, + "collateralAddress": "XpitL1UreRLgSs9SQkturE9QXAt8Xy8RRi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.232.95.72:9999", + "registeredHeight": 1986682, + "lastPaidHeight": 2127531, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XntBhqxVG7DwcbJXJj9HNDbcKhJs6CoGo2", + "votingAddress": "XvXSf9fMs4UzU4FKNTJL4yGVPhBVndQAc5", + "payoutAddress": "XexeHg1j2YWDvtDjmFetfPhXQ2oaX7pyrs", + "pubKeyOperator": "b7a4bd111d738e213df2faef7f84aa64584e2b9d4a81cfc5fe5a7241777d97bf98c6af21616dd6d58db034251ec24c5d" + } + }, + { + "type": "Evo", + "proTxHash": "60869d88c31ba5f5869f2e3b072288f5523a90b7b276f595d2d067c15bb33e91", + "collateralHash": "5c181983d364be01dcf490852740e1df86c8231721a8c294d513bf308999989e", + "collateralIndex": 1, + "collateralAddress": "Xtf2WcEZBGqr2QiGAxaNuKXgivmJfRMHU4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.88.169.16:9999", + "registeredHeight": 1986693, + "lastPaidHeight": 2127519, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115173, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrKhtxSG4KpZ6RncsnsP4Lvr85u5tW513h", + "votingAddress": "XrKhtxSG4KpZ6RncsnsP4Lvr85u5tW513h", + "platformNodeID": "4b19118bf62250d8bd1f65f25578d0949abf9397", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XyYAaM2rPsdLWmNFgtbGFtAMcwzCUeYfXe", + "pubKeyOperator": "96eb86258ea5a6541067f6127e6a17e1a06f072a14ca13cead1e425e1c485ed0b0435ef7c1d87f453665342ecf7d1841" + } + }, + { + "type": "Evo", + "proTxHash": "272c13b64739b9853979edeece1e3271bf94787122a8a201d253dafa9d4a7b7a", + "collateralHash": "68621a94367cb2c9449bbe6a143b628c2d8c91b99016e6a8fd8b510659d814b9", + "collateralIndex": 1, + "collateralAddress": "XtY8wDNW3HHr63JhiwfrSPdNXehN3ABjwp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "130.162.233.186:9999", + "registeredHeight": 1987387, + "lastPaidHeight": 2128299, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoNJgjmNx5nHiwHXMY8Dzm5ZZKiymQFpi6", + "votingAddress": "XoNJgjmNx5nHiwHXMY8Dzm5ZZKiymQFpi6", + "platformNodeID": "7c814f1fa29ae51672f2f319433b835cfb93cdd4", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsC8eg7PfFY4cLVU6Tr3s8DMFWB9edpBFi", + "pubKeyOperator": "96b1223d109c50e25ecb947c62398d0eaa6db88f8ac9c93f4d44e77e7303fbc3ae8e8734ec11874323e3ec912ad78781" + } + }, + { + "type": "Regular", + "proTxHash": "61153d402efb4a83fc26ce11c5735427645f80142611b109e58f5fc5f375e3c4", + "collateralHash": "2fbbb24efd54d2cf95b94b1c6a3de88dc352a7f3f73d8086ccbbd075377d66c2", + "collateralIndex": 1, + "collateralAddress": "Xjg7kz8yRXLzxrvjdbUT8bXkirwU3FcPEa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.65.145.70:9999", + "registeredHeight": 1988218, + "lastPaidHeight": 2125906, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhoqrBv91QM175WTZGs73ob5CQieZojpaY", + "votingAddress": "XtMifG9xppr3KhwGeo9VHRksDJXAZkbQN7", + "payoutAddress": "Xjg7kz8yRXLzxrvjdbUT8bXkirwU3FcPEa", + "pubKeyOperator": "b7c8092b176c9c6bea48241d21a806e4fb2d2cc9893644ef00ffc847b7407c2700498d1d7b08491d9d94c4ac688eb827" + } + }, + { + "type": "Regular", + "proTxHash": "c8c433e4aeca70bc2b76cd2373ccbfc65a2a4249119a9aa32708525f6eac3db3", + "collateralHash": "5cc7656ac657af4bca391a51ccad3464afd970b406cb77a8ddc9d10b025f0d93", + "collateralIndex": 1, + "collateralAddress": "Xi34sWj8NfgBdx4fjG7PWw7dFm6QDRM6AP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "164.90.201.252:9999", + "registeredHeight": 1988218, + "lastPaidHeight": 2125905, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcGYkyN7GAcsjwY2evaaGzzAvQA9dwMP2i", + "votingAddress": "Xpd1KRycBGFsNe8ZmCdM1W9kzV5jP9FHT9", + "payoutAddress": "Xi34sWj8NfgBdx4fjG7PWw7dFm6QDRM6AP", + "pubKeyOperator": "97db87a46bf8d2cbb26f97a20c8111cdaab0739e446fc13c1854d9947c4e93a77ba8029ab71d8ae307d59c8189123ba0" + } + }, + { + "type": "Regular", + "proTxHash": "6a8129993bfb9be2823c3269cf61c6488ba2664e9b65588fefd3538a4dcc2a90", + "collateralHash": "5f36285c2f4cf6627b473e1a8d7fcfbaf93db7d17cacff544804af21644eca55", + "collateralIndex": 0, + "collateralAddress": "XisadyWDKyzxJbBdQzznfxcQjLFvBzDngo", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.58:9999", + "registeredHeight": 1988513, + "lastPaidHeight": 2128815, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2102612, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqbe2vZvb8Qb8bBeoMX6SvnrVjgkwSiNu7", + "votingAddress": "Xqbe2vZvb8Qb8bBeoMX6SvnrVjgkwSiNu7", + "payoutAddress": "XrxqQ34oTZaLV6xkeBEKd4N6FgGNoe1tio", + "pubKeyOperator": "091e7ba2e9546cf43699bc9a485fee12b9dbdc97b606c378ebc12d76daa4c61881c3d67911e1fe7d5439cbb59a126e8b" + } + }, + { + "type": "Regular", + "proTxHash": "960808f4a34e174db4aeb5942eb271c241c367449f37668587c28c235c9f13f3", + "collateralHash": "16ba4c1098daa6015688d3f1eec5f95565e77bd71cc1071d524f540e62582c21", + "collateralIndex": 1, + "collateralAddress": "XdUCAa9jyEEe4MHRj5bVAnwxHrosmgTiU8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "193.160.119.129:9999", + "registeredHeight": 1988634, + "lastPaidHeight": 2126299, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhy3LrjsQU14epgpLrHg7vrpNwiCiEVXSY", + "votingAddress": "Xhy3LrjsQU14epgpLrHg7vrpNwiCiEVXSY", + "payoutAddress": "XgEJG5LJ5pca7uFdv7RHmbNf8JJVTrXFub", + "pubKeyOperator": "8b322219e9ab2f2443ab69922064d94f0212f69806bc5f3909f03c951469c8c72b8165a0c00f2ad178efa382f2cf6dd3" + } + }, + { + "type": "Regular", + "proTxHash": "e6a62a34e0473ee290730ba87c13cee45a34ac75c369bfd7e15a2f6156db8e57", + "collateralHash": "06719e5b99e712cc3969240eaaad5b58c082a6272a34a6bf26bc8fcd9ed5801d", + "collateralIndex": 1, + "collateralAddress": "Xet5JRMTP9gN7FK8uWGBErHSwxPUyGfQoT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "217.25.90.254:9999", + "registeredHeight": 1988663, + "lastPaidHeight": 2126318, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeVZHTLktDsyGKSJuKDNd1sZ91p9C2oiQZ", + "votingAddress": "XtZincM9hfC6kGWG2DAJrKKaB12CdgecPC", + "payoutAddress": "XbC2VGjXCpQsqysKVK8Mnk2bZBvmiGMYtz", + "pubKeyOperator": "8b84651527912ef4b161aa2074bece81aa90399f2a8b519213ce2468ed051b5b9ca5de6f3760eef6964428c09418e02d" + } + }, + { + "type": "Evo", + "proTxHash": "ab65e314b9d04d6bb066fac4d35e62f74ac8f52a4c1134301354428dffb949d8", + "collateralHash": "1f56154e5c3f79e043c6e993d384762efa49b1b621a26e6c50ede0875012bed7", + "collateralIndex": 1, + "collateralAddress": "XeJQPpL5DS5nqAz6ikz3CsntqobMr55G2P", + "operatorReward": 0, + "state": { + "version": 2, + "service": "81.17.101.141:9999", + "registeredHeight": 1988686, + "lastPaidHeight": 2128119, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2010562, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgbyP4BdCoWHJEoLf49NovLnbAkVTRPPV6", + "votingAddress": "XbWdvZg2GC3YkrbUzU4dHY23kLhRAh3LCH", + "platformNodeID": "bf9c4973ba579814abcb848371a33f7ccba0dd4f", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "85445596c12406d7444effaaa74c8a01ed9583795a042c96184712cb095b9f9a43b6e738e07e99392d8bf10b8d45e540" + } + }, + { + "type": "Regular", + "proTxHash": "1d65667a8768a5dcfc8947f8050627406d4068b9a4060ead61569a5ccac44cc6", + "collateralHash": "b13852f68aae625f622745e079200ddf4c42eb46f20dc06f7d9d6dcbcfbd6767", + "collateralIndex": 1, + "collateralAddress": "Xgf881U3BVssxHVvV92DXbYZukLuqLCebJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.9:9999", + "registeredHeight": 1988754, + "lastPaidHeight": 2126371, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbrBba813oHu6n9cyfTc7es9KgcLT2Zr2A", + "votingAddress": "XxfAzD9CxKGjkdbXFed5E8K6hAczt8tqV2", + "payoutAddress": "Xc7SnR3rcfdhEnjaQujAnt9e9neyYc7Dhw", + "pubKeyOperator": "a1fab64959b99017e7ebecf541385bdf120f5847f12c67afb54462a34d3ae0e240ef1057078ba5fef2fed29e3d93db69" + } + }, + { + "type": "Regular", + "proTxHash": "cf238983415297bbbaff1cace0185e66519dc9f10de51153ae7cfd7ba9cdb94c", + "collateralHash": "5f018ffaad165dcf3c16f8c5fb96922ca404783133f44bb5a4f4d1e77b251963", + "collateralIndex": 0, + "collateralAddress": "XapiMqB3Py4mHPedCkRjhG4M9jEKLbXTRi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.235.194:9999", + "registeredHeight": 1988971, + "lastPaidHeight": 2126568, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmH3zFDHmtoeneRe9yjVnCWorkPTdZUGW7", + "votingAddress": "XoZY9oPk1ndEMim9BdyPQAsSxa7A5M6fvH", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "8b04cecac8f71167beed4f86d1e3c00181495b6df6a2647131d2b03ca057587097b9e9b33c2ee3a5ec0b8ba12bfe002b" + } + }, + { + "type": "Regular", + "proTxHash": "21b02cad2fef91d19881b6ddba6aa12a1b1a8246e7c25edcc2984298d68b400b", + "collateralHash": "6040509219df94d710f95275362162a8ba9e114d6d09509bfe5dd020fcb54a92", + "collateralIndex": 1, + "collateralAddress": "XvhgmMKkxsHQAajnBWnA4fPxMwwRTHWBu9", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.22:9999", + "registeredHeight": 1989689, + "lastPaidHeight": 2126519, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114123, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtnAxHLCfKCKgknT5vez1gPDYUyX5pCnz5", + "votingAddress": "XnNfDCroJa2FKxyPLzzksmsFM2jqbsVbQE", + "payoutAddress": "XvNjEK3pSwJzh5CWpDoapqEX2hmkuEem5a", + "pubKeyOperator": "8236b44730a51fa069022e0ca57074b13648da67062db194591285843174c2e1c11bf4e43d080a63ecd62410aeec067f" + } + }, + { + "type": "Regular", + "proTxHash": "0dc2f355622da18a76e692c1cfde1f3e782dc35d9f91e44ca2d1fb884a26f47b", + "collateralHash": "cdf98343754d5e7d21d680f693430adc0e57d299e7bbc0d6cf1696bc206c5e59", + "collateralIndex": 0, + "collateralAddress": "XmYo51DKeZbQBwLzA6hrYFP4nbZmDVHcSp", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.55:9999", + "registeredHeight": 1989974, + "lastPaidHeight": 2127787, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2101526, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnyAwUL5Y356QtXKNy3pTLgjpuiBzN5XQF", + "votingAddress": "XnyAwUL5Y356QtXKNy3pTLgjpuiBzN5XQF", + "payoutAddress": "XtimBkeBnP9ukcdH6dSPL5RFAG434Lcnr5", + "pubKeyOperator": "8a0c5d3431784f7fd1fdff2ce1070129750b3926180d085051f64df80f728d0e6aca0934a60344a3c3ac6ac4f546ed61" + } + }, + { + "type": "Evo", + "proTxHash": "e0e7f6b2961b8f5d2634b71a72846baab89bd6b9b842e6cfd7da9a60aecbcdb8", + "collateralHash": "48c442fd0b4a84510bc24c51804d0277c3408dda41e0d6b00c17f75dec92ae0b", + "collateralIndex": 1, + "collateralAddress": "Xe29PRrszg9mb3Rj6STA5i1mjSreHLzxhL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.255.182.189:9999", + "registeredHeight": 1990586, + "lastPaidHeight": 2125110, + "consecutivePayments": 0, + "PoSePenalty": 1729, + "PoSeRevivedHeight": 2128086, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqqbbSj6hM9jYzXF6CDj2Q5GkDw1o9xp9n", + "votingAddress": "XvjoAiWNu7bnaykftzVYRyFyxPs3Qv9joN", + "platformNodeID": "267050cc7d6a92e26d3446fee3265d313e00f02b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "ab41d8bb466aed07584139a17940754fbee078a2b3bf95419b1a118a7c4382a2d526031637cd48aa248d46b2e103731c" + } + }, + { + "type": "Regular", + "proTxHash": "04a851d736321ed7b668e302b0de0ac831bcd822e8e101aca330d3df4c01d2b6", + "collateralHash": "04a851d736321ed7b668e302b0de0ac831bcd822e8e101aca330d3df4c01d2b6", + "collateralIndex": 1, + "collateralAddress": "7WY7QCZj97tQxrqkrkiavifhQHEBQ16GRg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "62.77.156.147:9999", + "registeredHeight": 1990589, + "lastPaidHeight": 2128291, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrJTXtFYqKQ6GegAjCtmrRwGdvtrkBXzVM", + "votingAddress": "XfL4Ah6v4SpT55fT4Y28do8QDeXGd5tm4E", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8cb471f0adc4dba7290e9411edbf819d71daf3a795cead9573a9b46fc64c943e584c66e0af26ede88fee09965fc36f91" + } + }, + { + "type": "Evo", + "proTxHash": "74056fe5b57c33612cc688a2d3053273d40baa36cbf0ef2ba29e096e1377302f", + "collateralHash": "0d4332431491b53f361f984f36dde49846b0514ec69dedc162a29695b1a2961f", + "collateralIndex": 1, + "collateralAddress": "XpTwY5tCoMFbLZnyJkktre4ywB1KFdwETe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.255.182.187:9999", + "registeredHeight": 1990604, + "lastPaidHeight": 2128317, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XodEGL7fy7piUN3Du8wUEdLWUajAqA2XtG", + "votingAddress": "XdsY27fUinBqSXr5DNLvZmGFvMwdhu7koS", + "platformNodeID": "6b56dfbbef7b0bf3e2217dcfa8746b1b185d8e55", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b451aa29106bbf5291f36e5f67b7497ce7e4fad8eb0439f616195ee2e9818d5f2e5a851bf12e18abaf6d6ecd7ba06e0b" + } + }, + { + "type": "Regular", + "proTxHash": "dffdcfbdf94d4b30fd78e1f0a2521300c1cbfef8bc2de9ab080595ca9ca175b1", + "collateralHash": "4ed129f1e74e5963f036ce57cb50680c906968c56d59ded1412c51a7fc58fcdf", + "collateralIndex": 1, + "collateralAddress": "Xav8TxzPouA71omkh7toq7K6HeW4BQagpe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.126.127.16:9999", + "registeredHeight": 1990615, + "lastPaidHeight": 2068112, + "consecutivePayments": 0, + "PoSePenalty": 3807, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2068170, + "revocationReason": 0, + "ownerAddress": "Xg13XUHM8FzFcyLCGWsmJkgXcKJXNL1Hst", + "votingAddress": "XfiQGX3zqtUhb42hnuiKhrafje9FnTu1Jd", + "payoutAddress": "Xav8TxzPouA71omkh7toq7K6HeW4BQagpe", + "pubKeyOperator": "b24ee224d0e74dc51440f26c6c9f532917322948f235388c8283db0c52146c5b0c1d7c144e244ed8ced7418e03bdd03c" + } + }, + { + "type": "Regular", + "proTxHash": "365fffdded42ab25d444a81a5e4324138f1b4e257142d2be415624a90ca36def", + "collateralHash": "5bb595c20c9cb7c580a343b4aa3c0f4f7e2b309a02b60be527233498a078caa6", + "collateralIndex": 0, + "collateralAddress": "XiVNxuxVX7yCi7ATZMhQGLYUKNJStH7erC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.126.127.15:9999", + "registeredHeight": 1990616, + "lastPaidHeight": 2098616, + "consecutivePayments": 0, + "PoSePenalty": 3827, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2100714, + "revocationReason": 0, + "ownerAddress": "Xtrdbkq3HzM2jyjj3TwraBpMzond2qbHf2", + "votingAddress": "XcbAMttP9n9dbwQcLV5AvgBThnH9nbEJZn", + "payoutAddress": "XiVNxuxVX7yCi7ATZMhQGLYUKNJStH7erC", + "pubKeyOperator": "8bc68a3437ddcbe6f95ef5cfa58626bbd35306cdddcfcb17d4bb39a5b9787cd147b90ab69623c9c13566b1dbaa6d4bfa" + } + }, + { + "type": "Regular", + "proTxHash": "93527406f27bc074be8400efa7ee7cbe9fed132ac51c4bf4268abfdef12d2c6e", + "collateralHash": "b1e071f0bd3bb24945e5f7179b96e5e4f236afb12c01e10ff6a59ea2aeae6e61", + "collateralIndex": 1, + "collateralAddress": "XgTqHJcEW6xTZi5v7KrsDVZwySH8mbpRTk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.15:9999", + "registeredHeight": 1991131, + "lastPaidHeight": 2128836, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnXUmxopmCkedRnr3S3Pei2f7neD31TKJz", + "votingAddress": "XjHvQgJjc4vw9UsKzWqzPPAvDS8bydh9zr", + "payoutAddress": "XgTqHJcEW6xTZi5v7KrsDVZwySH8mbpRTk", + "pubKeyOperator": "b561bb2d632470724d3be206349574f244d55946a80aee9d27ec8317d72aaf957d6fae14f62cfd47f41d321b88fd505b" + } + }, + { + "type": "Regular", + "proTxHash": "3ce47e7b980d29aae8e6fa115423c65265df6d3898cd80b4417f5b0f3f4d3c24", + "collateralHash": "051dc4ec418804c15161c8853fbcf893e64ed6d8e618b36634a332b8c27b5d16", + "collateralIndex": 1, + "collateralAddress": "XqLviU4QashbtKCFsmQdwn5w9D5ocj3oQe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.82.102:9999", + "registeredHeight": 1992105, + "lastPaidHeight": 2126480, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdoDrnHi9YaGvr25PfkKmhXpsMiggy1uRW", + "votingAddress": "XkfG7vz2aBKxS11wUZYMuvmyPLhLbfExoK", + "payoutAddress": "XnRJEwd7XuHYi3kuLCGZAtLYF2iiNs3WeF", + "pubKeyOperator": "b4a7c4942007360fabf43f8365a4d8bf44d44fba898febe1dd58e5a06d685be2884970da36381d72e5b0e0ec1555d3a6" + } + }, + { + "type": "Regular", + "proTxHash": "52bab27ead33409d21831207389c30f241325e3cb5445b6cbd5e24912434339d", + "collateralHash": "67bdced2b8e2f557bdb0a925b3ec2f76865f48fcffb48952a3ffdbf88d8f9a28", + "collateralIndex": 1, + "collateralAddress": "XwwmxgoD4bPks8QvNGPJMdsGWY1KSahhSQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.251.209:9999", + "registeredHeight": 1992350, + "lastPaidHeight": 2126707, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr1HrmKNTkG2kAx3cZuLWvaW4P9pZC3gFT", + "votingAddress": "XjpBX9tNjaBD9ipj2jW6w7Mt7tugK63KL1", + "payoutAddress": "XrWQuFvKDvHU3MXpHijNrt8J3WihiMVjjo", + "pubKeyOperator": "b673e273ac1e8550f26102c73262add1c0b6bf92b9bfe00650305397c47fc2c29887e8669a24df353699429baf1110c2" + } + }, + { + "type": "Regular", + "proTxHash": "c22205489a124dd57b243cfd9c81e90aa82ed5275410df2d40e0f8c566d546ac", + "collateralHash": "9ae7ccd562c0b222f0aace511113fe24d4de1c821fe6de3b917be3def4b9fde6", + "collateralIndex": 1, + "collateralAddress": "XeMxrbsBGVjLWxFHrpZhtT94WcrA21uoJ9", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.117.19.10:9999", + "registeredHeight": 1993277, + "lastPaidHeight": 2115311, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "Xwjt3GyMFTi8XshwgJXL4Jf4ChPpUF8yhj", + "votingAddress": "XszxY5xo7KyehhnxnHJ6qzA4jQm9qK1Uw8", + "payoutAddress": "XymNW9abA5PrLvNYakLxcGTgyafKcaxzKQ", + "pubKeyOperator": "aa72501bd56d606b3b4dbab4c94a1265baa16f6e71e449505386cd84b0544340ca70c4332535857a92cc1018ee20eb43" + } + }, + { + "type": "Regular", + "proTxHash": "ff0d9aa814a8683dfc8d8c1e54857e52581b33859aa09cc58cc7dcd848d0b60f", + "collateralHash": "1a2a4f8f87c49a4297aa900799e8a87d47b2bfeff6fdd0aaba93ea2a98396616", + "collateralIndex": 0, + "collateralAddress": "XuvxNJsFH6hXbGLDBEXYJpTdcouzBsYjy5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.23:9999", + "registeredHeight": 1993438, + "lastPaidHeight": 2126126, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1998454, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuCftbLb7Jv79kXKZiDi84ieirRN7MvKQM", + "votingAddress": "XvpoVJRnctzs2vSgr8fozd1S38TRc2xERj", + "payoutAddress": "XunyDRTpGZLgcWedMkjPHa28ggM6rHMmXw", + "pubKeyOperator": "a65736e1796aeedd04636d2d800161bd844812db42123958ac7b93438fd1df02cb1064caeff182a09383601c89c2c661" + } + }, + { + "type": "Regular", + "proTxHash": "fa0b3a2d56a72a8d66165bc044cd628a71ca37bf4b53a7da01f153722c065a8d", + "collateralHash": "12f338d7031553d8702645231fdcf871e8d666afca1ae8e8de4108b7f0133e34", + "collateralIndex": 1, + "collateralAddress": "XvyeN31DZcdm8YmNU7fcvoXbFA3vG5pCTC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.100.76:9999", + "registeredHeight": 1995343, + "lastPaidHeight": 2126357, + "consecutivePayments": 0, + "PoSePenalty": 543, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgswfcv3bu5z7SiPACK6S25JL7m75sbUzw", + "votingAddress": "XcxCB3XiLKfpoeZ7uE17XoN3j142a4mzVj", + "payoutAddress": "XhQatc65WsVDtZuuqCD7dbzxR3dNnvX8Xv", + "pubKeyOperator": "99d075bd80083e8bb2ab882eb3a64bed4d210b8b5fd01b19f72007f661188b7561a1a0f95d7553a32e5905bb34dd2fb4" + } + }, + { + "type": "Regular", + "proTxHash": "48ea79852276430d09ed2938d3d48817b777432d97688427cf2d61a2df4dbd4c", + "collateralHash": "4fb53577d3c15d25b65c5f3c2862ac531b3ac95b472cf4c89e90574aae86cc0e", + "collateralIndex": 1, + "collateralAddress": "XiGaJdPFPNHm3gFeLmWBF7RAB81WFwybbN", + "operatorReward": 0, + "state": { + "version": 1, + "service": "89.40.3.32:9999", + "registeredHeight": 1995612, + "lastPaidHeight": 2126845, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 1995883, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxu4ACEVdoykb7ZuD8cQQPg9zax8eR7vMf", + "votingAddress": "XpDCqW1dXGPxpiBYXNBRCKRiKfb8qUVgij", + "payoutAddress": "Xyu9og4Tm8iyHM7r3AWVUH1pru8EWBGd9y", + "pubKeyOperator": "92da697f18081244ff2abac7537e1ce323ec95946c538c837b44fa69ce7eda9824d1f0df0bf7484af441283a87940590" + } + }, + { + "type": "Regular", + "proTxHash": "9c48e2b7bdc3ba6a2b2cfbade2b87042ccd8b0e5dd65af5de284207ab6db48d1", + "collateralHash": "bf1c2f181bf1d8fb66c2a4ed043fe95e32753e9062887e699450786cd50eda1a", + "collateralIndex": 1, + "collateralAddress": "XcSoPrGtd7UK7BkwANXWjr8ksz1DpgfeHF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.179.73.96:9999", + "registeredHeight": 1995677, + "lastPaidHeight": 2126497, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2059560, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpfUyWVWjSNRHVcmagaTcz5uytsG8Zk596", + "votingAddress": "XcTZttFBjSx2gUGereRQwdDUMvirok2dDv", + "payoutAddress": "Xg3SjdPaZDABZArfiFKQ1PNhBsVLpuGYtL", + "pubKeyOperator": "920288b851ea36ffcee8a6c9cd2f8a2cc9b32471788a67fcbde9185eebeefc5c3340a37af9ec0346913629685edbb55f" + } + }, + { + "type": "Regular", + "proTxHash": "d06263d0628755adbb9cda300f3e7a50a47742f3253d78b89e9bdc90e348fa30", + "collateralHash": "69e13e94696985f0b237f03062a0cd5cc51128c54d3570503e79aed39b6040d7", + "collateralIndex": 1, + "collateralAddress": "XtBzpVrgRkGyRpJJe8TCtYt6KAkqshuRZs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.217.239:9999", + "registeredHeight": 1995835, + "lastPaidHeight": 2126793, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs8LhTLzr6QbGog9mCizZ75MLbYc3sFQeJ", + "votingAddress": "Xfm5Xknc1r7G4XQjuokQByUTM3DSn2NBTB", + "payoutAddress": "XrWQuFvKDvHU3MXpHijNrt8J3WihiMVjjo", + "pubKeyOperator": "b45b3a230fb00eaaee630340ca660755ba0976ccfa5db8ce0a75f226ac5b93b7fbb9189f65e32e4770be6a3a2671eea5" + } + }, + { + "type": "Regular", + "proTxHash": "44e2ac7f83983e6d1e936028dd794cd4c6ebb1d146629f4707514a6e863a037f", + "collateralHash": "44e2ac7f83983e6d1e936028dd794cd4c6ebb1d146629f4707514a6e863a037f", + "collateralIndex": 1, + "collateralAddress": "7Sfq985sEAtAVfQeRELcCAK6eeY9tCxQzC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.81.165.202:9999", + "registeredHeight": 1995883, + "lastPaidHeight": 2126846, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtRu318Tho6JHMUinMMJqLQ3NcnQgL2dJA", + "votingAddress": "XfnVRYfTe7VuJrQN4aowWwd8WGeVG7nDCm", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "95be84aec80edaea08287f54f7c91caace76f91090b9e5a7809263c400af429c3a820e8b24063f248bf5b2678a636ebb" + } + }, + { + "type": "Regular", + "proTxHash": "067c4b245fa9ca366b05fcfdb75fd66891d992efee58b412281c251b8dda129c", + "collateralHash": "20a4efc5086ff0c53c456939dadc31af09673d6f0bc8ff944f034398315f6e99", + "collateralIndex": 0, + "collateralAddress": "XoHnUBznfDeqgZx1tx1c1dSPmWHLARmgSP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.59.213.230:9999", + "registeredHeight": 1996054, + "lastPaidHeight": 2114692, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "Xp9jk3L7CxnwGaJJroTcnncRMWy4AtosU6", + "votingAddress": "Xz1yNZg28inp3bXincsnRKrVzfhgmfGQpH", + "payoutAddress": "XoHnUBznfDeqgZx1tx1c1dSPmWHLARmgSP", + "pubKeyOperator": "a42381c77ca99cfb797e9de8158db3ec79e3610864cae0236b00a0e69d1dcc0a58396713b33b70700e502ea1a6ccf1e9" + } + }, + { + "type": "Regular", + "proTxHash": "7dcc8db11b2d9313520c43906fbf8b5ad84ef38ac957e12de562c775950892a2", + "collateralHash": "7c957504a10e0ab1353e68982393b1cf1dd7fc2eaa42957d4b674141779e84f6", + "collateralIndex": 1, + "collateralAddress": "XsYKHrAcnmJxG51XH7ux5dKnqLtKUcfaaC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "133.18.228.84:9999", + "registeredHeight": 1996138, + "lastPaidHeight": 2128242, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118970, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqGvqkyNeTszAQh3P6UZ2P8gMBGobcLVTm", + "votingAddress": "XqGvqkyNeTszAQh3P6UZ2P8gMBGobcLVTm", + "payoutAddress": "XjtyafKWgfpP4M51p5TnAVsZt1B51yQLEa", + "pubKeyOperator": "827388dd833a3ff3b7793c1c343fae03f7215a877c756d61e0b646c3eed9437c8fe4157023660e9dcf1ea42a9eb746dd" + } + }, + { + "type": "Regular", + "proTxHash": "1f51015dd6a571b27bc33d86b4ea36715958a625ce69df88ab8b51ff526cfd20", + "collateralHash": "287e6b98e94bfcc9ede8351867dec83168ca876d354f1d1a0fe4920e35a06c2f", + "collateralIndex": 1, + "collateralAddress": "XssbNMAZf4P7ywRwznoBCu4JwKSpBY8Pzc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.81.214:9999", + "registeredHeight": 1997486, + "lastPaidHeight": 2128807, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2051762, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrs6obfVRLxn14EUK6kQj2B8NbpN9ShjFJ", + "votingAddress": "Xxm3HQionFSad5V6BKkyskyWsqGrC9aTDn", + "payoutAddress": "XssbNMAZf4P7ywRwznoBCu4JwKSpBY8Pzc", + "pubKeyOperator": "8789b1e72234ecfbf2765b41348b98f0d299a615f75e3a2c65ac0baf06438d205ad284bea3747aab931d320cc7f99223" + } + }, + { + "type": "Regular", + "proTxHash": "76af7e6f5eb0dcc759379adb64bee92e451a1e5519aa16c0b66161225fffd620", + "collateralHash": "b9302750b4fb83b7542e16bda6cb2071e39014c12c4f709a10937a687acb2077", + "collateralIndex": 1, + "collateralAddress": "Xi9cobkuXMpTDobUWuFKd4STB1ZTTju8be", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.5.53.135:9999", + "registeredHeight": 1997720, + "lastPaidHeight": 2128717, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeyjEoDFaYqTZKyGVrqAsEV8W279yCz3MW", + "votingAddress": "XpV6QExejWxQhAtsZDcaEjSbXTt1L5u8tK", + "payoutAddress": "Xi9cobkuXMpTDobUWuFKd4STB1ZTTju8be", + "pubKeyOperator": "b46768d98bc3d8688b19257f1b9ad65c1cd2dd90a9e7537b9fbee4103b9adc4bdf391d45a49e9dd41688e27d54e27255" + } + }, + { + "type": "Regular", + "proTxHash": "ebe672363226723faf83f232469633432527e90cddfc1ef65ed62aeb53aae410", + "collateralHash": "25cab9b008011d02fc13e58b2d89382e369ab06349b510a24bfde9981223941a", + "collateralIndex": 1, + "collateralAddress": "XgUJjGFR6HCc8nroqW9Qpb6T3ehqY7mzR1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.40:9999", + "registeredHeight": 1998579, + "lastPaidHeight": 2126207, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxYzqiY2N7Ufj2C6vE8osdyqfUz5Mw36rF", + "votingAddress": "Xqw7cwn2zNwz3dCw9eAuF6SdUKEaCdDGmU", + "payoutAddress": "XgUJjGFR6HCc8nroqW9Qpb6T3ehqY7mzR1", + "pubKeyOperator": "b1cf3622a62d4862f7ea52989349265e0e2dd1f547d2baed52cbce6da1eb8cfcab39dc83dfdc4e96dae66a8b52db5598" + } + }, + { + "type": "Regular", + "proTxHash": "7f41688477bd354d336f42380e521e58189a6facfe7516890c5d46c078fc2551", + "collateralHash": "7c7b8cdc071002990b038a16221bbd3611d961726fec3c0e5994a42f4100741e", + "collateralIndex": 1, + "collateralAddress": "XhBqA3uJHgqEbRA9DJhTvYcxy8njy7BvjE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "212.24.104.220:9999", + "registeredHeight": 1998581, + "lastPaidHeight": 2126208, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyRXU9hrkVbf2LS2gMMGZHbkkjzMeR53KX", + "votingAddress": "XcE2qiVpfNTXrGYCxobTdhBvhHUxdLH3a5", + "payoutAddress": "XhBqA3uJHgqEbRA9DJhTvYcxy8njy7BvjE", + "pubKeyOperator": "965dcda40c3afba3595a146d9590301b62e68351b06ef0a389fec663bc445b721e44da824d88c0c0a5215fc1d0da575c" + } + }, + { + "type": "Regular", + "proTxHash": "37875a395fef95797daf0ff694e12f5ef5e69c874802ea80f501a7634d61bdf1", + "collateralHash": "37875a395fef95797daf0ff694e12f5ef5e69c874802ea80f501a7634d61bdf1", + "collateralIndex": 1, + "collateralAddress": "7WywFv8u4RqQ1joH3WVuxwsqvRkD7XUoVY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "212.24.105.158:9999", + "registeredHeight": 1999417, + "lastPaidHeight": 2126996, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeAUF8rS55gtm9F3JKKYDeHNYHtvJiUFMR", + "votingAddress": "XwbeCMmanZzoVnc5gNC6tdXnpArCJ7xxWH", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a2a46ff4527df3a2229af67e56bc9a6033fa70e3a51bd32708a8e6f35ba1b584e8ddcc7a91f9036d96e1bac6552fabc2" + } + }, + { + "type": "Regular", + "proTxHash": "8694aa404f2dd2b925b871b3e65c3726db8b28e9af538afa7aca65a30667d696", + "collateralHash": "6573a194524756283ece818442868ebe731cdc01b6978784dfe9e6b57048312a", + "collateralIndex": 1, + "collateralAddress": "XyDmRy2T94dxkZXAW4fwPEcWaqiHe929CW", + "operatorReward": 10, + "state": { + "version": 2, + "service": "85.209.241.211:9999", + "registeredHeight": 2000421, + "lastPaidHeight": 2128097, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy5X5WbVDeRG8QWyCWH7QuzG5WtAP4Hjuv", + "votingAddress": "XqfXWNJia5hyXy2MLpSb2G4g6twD74nvzA", + "payoutAddress": "XsFyHJwMDYDQPFXVny3tWhB2rpe6SJdpyD", + "pubKeyOperator": "879fd5311e64eb2c3027062491826650ec708d0cd8c19d3fe529a62c87fecbf6c59ad9aa5c8677d014d5e2c117be6c2b", + "operatorPayoutAddress": "XyoUFg8mNCzMhUVUfaga5Qt6h6aW42dtGU" + } + }, + { + "type": "Regular", + "proTxHash": "37ff7a2e9c00d97ed3e22e83a7b5b8de9b6cfea9f1ce1816212de23ccd1ba691", + "collateralHash": "1603adfd4275df7264a181f668789d025322c19b4cb8ce0a56ef550125186a40", + "collateralIndex": 1, + "collateralAddress": "XwYJkHRiMRDbpfVHuLAWemoKMuuGZhuAGu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.40.2.244:9999", + "registeredHeight": 2000834, + "lastPaidHeight": 2128480, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuAfa6nozKHtG8z2sYnM5dbpE6H5Rk1FmJ", + "votingAddress": "Xwspwxjz4qhBPFfRR61PciKCPAfVHWHVUL", + "payoutAddress": "XwYJkHRiMRDbpfVHuLAWemoKMuuGZhuAGu", + "pubKeyOperator": "a176193533a03c5c699057ee839bbc38fc95d335fc4f82d0e31f053598b6fb42b0b19eba8c9fa24e0a49a6c194aaf81b" + } + }, + { + "type": "Regular", + "proTxHash": "213512f36fa4a31a87a2e7eaf3bd1136095f66c25008ebb1c3a6fb58a4fb67cc", + "collateralHash": "70848df5462450ceaa4f7f606107a2acd327a67c4e235e1e5fc44eac41ffd221", + "collateralIndex": 1, + "collateralAddress": "XiYw6nShugp3za5BcBU9Rw19HLgubhUt2k", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.57:9999", + "registeredHeight": 2001647, + "lastPaidHeight": 2125971, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XayptemXktRByLUbnQCxm8abi7RRryN92Q", + "votingAddress": "XayptemXktRByLUbnQCxm8abi7RRryN92Q", + "payoutAddress": "Xh1d7r3MjsWDprTP7Bo9Y8WTymPtrpa78t", + "pubKeyOperator": "017ecc97c2a331de89430e9ac72a88a6ed44b7dfa6512e0b6f2a9aff9c9a6a25e63f37bf1321e460998bdc63d9141bbe" + } + }, + { + "type": "Evo", + "proTxHash": "be1cfde128dcfb63035219b03cee7ef3c7cd9c483224dc811e8db64a907a7c57", + "collateralHash": "e584e145bb9a239f6333cdd2622d8c9924a19f6e08aecbce2d351d4c16ef7755", + "collateralIndex": 1, + "collateralAddress": "XsKr1koRmP7JtnvzpVEyLy63TLquEKKjsp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.93.236:9999", + "registeredHeight": 2001774, + "lastPaidHeight": 2127830, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121582, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XizDRRQLeqgHyLYmLS7rVaccvX5YkHBg1e", + "votingAddress": "XizDRRQLeqgHyLYmLS7rVaccvX5YkHBg1e", + "platformNodeID": "205ad11dc08ec4495572736d1c655891018e676a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xx9zrS2hwndNBztLrWtrUosCwnkBsPKXL1", + "pubKeyOperator": "b85108eb4b62003fbcc3c42737b721a496a5f18cad231bf821628c5fdd779e2a0243c332973afd4c03f6ca1a092473d2" + } + }, + { + "type": "Regular", + "proTxHash": "8ee1839db846c536b96de4f8d6ac6391ee86161a28aad3ca31c40ecedb6170b7", + "collateralHash": "46b207521499ca9bb85f70a3942f3a6dd86493da7ac577d29ee31d79524e4ee3", + "collateralIndex": 1, + "collateralAddress": "XwDbcyi2KXYdLWCN7fQTvtg8BuHaavfBMf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "62.77.159.234:9999", + "registeredHeight": 2001899, + "lastPaidHeight": 2126168, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XifCt1kEtkH77rErAXzmtsMdff1y3ijkMv", + "votingAddress": "XrohY7Q2kfLXaNDcrsR8JrJJT9GjAowYP4", + "payoutAddress": "XwDbcyi2KXYdLWCN7fQTvtg8BuHaavfBMf", + "pubKeyOperator": "b78d0394a19aa1fb76d6da39cf884aebb6f20dd5ab41191b59c12a2d71ce49f0cc11b11045cac0ce2ec1199895f9be9e" + } + }, + { + "type": "Regular", + "proTxHash": "fbe86fe3d6c55c3ae21f913ae6b65ded25125d8fb777af1155aa790fe8586bcb", + "collateralHash": "82342b5e250279cf4e97a08a8531176b330ec8a2d53348232377864f220213ef", + "collateralIndex": 1, + "collateralAddress": "XokMB8EEHYEtUjL8LhNV5VPiAp6nzrRooj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.91.76:9999", + "registeredHeight": 2002925, + "lastPaidHeight": 2127083, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb7ooa1RfLgPH2a9BjduP2ExLPRkR8irnQ", + "votingAddress": "Xb5hc7j8XFvBotw6L97kSq8F44y4VGryB7", + "payoutAddress": "XokMB8EEHYEtUjL8LhNV5VPiAp6nzrRooj", + "pubKeyOperator": "82078230599009a6297202a79d5dc2b3666f1530cd04396f230efd7bfc44feeccf763e25947c652394e43004a1335610" + } + }, + { + "type": "Regular", + "proTxHash": "8f76889580f945ef4bf7ae123233dbc494e73132c74ea1ceadb18ab30b4aa64d", + "collateralHash": "030a19b4a34c142cb637eb2fea1dc32214eaedd7f4ff691743ebe0aa4858881e", + "collateralIndex": 1, + "collateralAddress": "XjUzBq5zzYpy2PQL9KxPYzG3sB9HMKNxWZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.185.134:9999", + "registeredHeight": 2002979, + "lastPaidHeight": 2127232, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgVfFPJExVJwYoaeik1rwPzKXenukdEEA1", + "votingAddress": "Xhk3qGkU9maMzyfeJCLXxFcifUS4cz8J7f", + "payoutAddress": "XjUzBq5zzYpy2PQL9KxPYzG3sB9HMKNxWZ", + "pubKeyOperator": "850564936ada390210f1dc1eff78b827c82658dc7ac8b9ff0b9556f2f65570c80fbd031a95a6045a2d47464dc483a718" + } + }, + { + "type": "Regular", + "proTxHash": "f749484bea3c3770ef8bfc8c8c87be43b1f1ec57804db47adc02518f491b2458", + "collateralHash": "1a0bbb83beecb9112ad943de8aa284d05c5ac08ef53a04e0fad92801ca399187", + "collateralIndex": 1, + "collateralAddress": "Xs5TP1KUeSzSRgEW8mSFDj26ZhNPxezVHC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.40.8.160:9999", + "registeredHeight": 2004059, + "lastPaidHeight": 2128358, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnkHRs5jtZmp6ZBbLz2jZJecHgbxjShjse", + "votingAddress": "XeN9iAJJWSpbdT1jhbqBfFDJEGXu1yVCCo", + "payoutAddress": "Xs5TP1KUeSzSRgEW8mSFDj26ZhNPxezVHC", + "pubKeyOperator": "8ac9249bfa440a7142cd7a15536649ddc219555f6d9e65fdd3ca2adf9a00ca8014aaa6b54e4a0be45c8de6cf1f895ac0" + } + }, + { + "type": "Regular", + "proTxHash": "43c31bacad4f4323f5928b4b0e728989e50cdce70296684f9cf3d8a4601644fd", + "collateralHash": "65dec50f44dfcef99e2daf053efdb90244606e954391f5f5e84282dba854ed9c", + "collateralIndex": 1, + "collateralAddress": "Xq2wpYXLfZr2b4XigSKHbRpLbppE1g7ztg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.47.162.229:9999", + "registeredHeight": 2004059, + "lastPaidHeight": 2128359, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhakaKyMum2twKYALCH39avxPufNbnvGrk", + "votingAddress": "Xu7rguCA7asW4dkbFq8h1qpFwPt4jXPo7w", + "payoutAddress": "Xq2wpYXLfZr2b4XigSKHbRpLbppE1g7ztg", + "pubKeyOperator": "875c0828740f9c41cf2562b63e25b9f74a55d6b50892997f73118a4169494bada49a496d268c084361bdcab949d1df72" + } + }, + { + "type": "Regular", + "proTxHash": "ac8f3c1846006469c19477830bad44efec4e1dfe267e3e44cb358adefa829369", + "collateralHash": "07635fc57d1c52ee85691440958b20f886dbb3eaf20808434ffbf43f700be7dd", + "collateralIndex": 1, + "collateralAddress": "XcQsSzKeqyPKUpiH8vgYddpmqy33gNjLjW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.175.73:9999", + "registeredHeight": 2004636, + "lastPaidHeight": 2128849, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XofhGUkEMufcDAY5Pcy52QVEX4ybJE6x5e", + "votingAddress": "Xxjzb6Fy8PqwotCvpWwvo79iU1DnDe5RCb", + "payoutAddress": "Xm5ToHk7teDbgqedwSxq3BkNuh1noAtnic", + "pubKeyOperator": "8077d270aea7b5733f14122019614586f4c7a7fe1a5f8abc55fd6a15090c6a92fa164029bab956b101dfe679b951cd86" + } + }, + { + "type": "Regular", + "proTxHash": "b62d4c599a3e82ef9b3e8908fbc176a17dcfc50a8246d5d04ae0d8a36ae5daaf", + "collateralHash": "d4b4d4ab67969de20a1cbc9f156a5bf1f18887f914bbe9427eb1ca16ad0c57bc", + "collateralIndex": 1, + "collateralAddress": "XsrBmh7bvqsGQdsr7E1skJSFymdScYSdEh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.71.194:9999", + "registeredHeight": 2005046, + "lastPaidHeight": 2126006, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsSa9UKg8mLNJDme5f9e2Bpxs73KV7Urb7", + "votingAddress": "XdHuzLStB3s6j2MaWGWRsNyyDVRCZf94BY", + "payoutAddress": "XsrBmh7bvqsGQdsr7E1skJSFymdScYSdEh", + "pubKeyOperator": "b84793da216789ee856f7da79019c0816a959288689a67aa0153dbe2dda0c772f0c32abf432f9fc378ff632320df67fd" + } + }, + { + "type": "Regular", + "proTxHash": "85266320c071261f5354ee982196c8b523d19ac44d9f7d4e886db475e0b11f7b", + "collateralHash": "c32b2386645c119ce14c54420492c89fedde16c60b4a04a83a24bcded015fcaa", + "collateralIndex": 1, + "collateralAddress": "XipP3j18Uv1Xdi4TxnpdyLgjTPUE54fmz4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "80.209.231.129:9999", + "registeredHeight": 2005209, + "lastPaidHeight": 2126142, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnHznZRVsGHjd2MM6mCf3bJXoLYW3pk5vG", + "votingAddress": "XhKqGs5RMUeG97ToDoGXAQW2gJD69u7TbW", + "payoutAddress": "XipP3j18Uv1Xdi4TxnpdyLgjTPUE54fmz4", + "pubKeyOperator": "89fde1ef3f60acfda23ded2ec0a9bbe800b9a0b5606b8bd8f758bf42587597762bae88059107c4cb5885eb4d6a364ffb" + } + }, + { + "type": "Regular", + "proTxHash": "eea809839c8dbfaf047a1cb43faa37a416271447d3aff27ea7ad93a0cd91ba40", + "collateralHash": "5638c09cc774a9d8cbcced709ceff065344f9c2affbf184b1c81f28773d49501", + "collateralIndex": 1, + "collateralAddress": "XxGLiCUZ1p6txi2msB4sVhFomVQwCaGsTE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.71:9999", + "registeredHeight": 2005210, + "lastPaidHeight": 2126144, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkm1CKz4KakiTNHSaayiJhdaJMhxjXW7fY", + "votingAddress": "XvvAtiUUgHSBX8XQH1CnxTqFypMYtyHi7m", + "payoutAddress": "XxGLiCUZ1p6txi2msB4sVhFomVQwCaGsTE", + "pubKeyOperator": "96a508ab7b13d67fb77cf75851d0806e9b2388e299af5a01ef518ac601f1541e82d32b147d936f9e3a2fff768c5adbcd" + } + }, + { + "type": "Regular", + "proTxHash": "b223f91593eb4d660acea46a0e214a295af4fa4ba84f531c9be5af3fdc2f15b6", + "collateralHash": "1508b169152576aaac4dc050a7fd14c3878c3e99b70391a7f54e935d609b630b", + "collateralIndex": 1, + "collateralAddress": "XbStSMxix6DNNDWhea5FdGXfCyE3RRWGsL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.176.241:9999", + "registeredHeight": 2005550, + "lastPaidHeight": 2126417, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwrcGPrm2JsyADA5UFPBYLBQvVTutgBRYV", + "votingAddress": "Xns5iSZW77JYuPq6zp5nVbnVAMB6vs6VRX", + "payoutAddress": "XqKTLhwngdLniTvA7cvMsHevqFnzmMf35o", + "pubKeyOperator": "95c414c39b6c6f2bd891458bdecc21f527ff020d89f74a4aff94657cee8859fe5ae726c1eb8058a290e7c1d3fce5164f" + } + }, + { + "type": "Regular", + "proTxHash": "97d90767074d50ebb8f8f07bd2ac822d3f828971b8d0d57012e6b99ae7d19ce1", + "collateralHash": "a83ad36991c9cdf0d1be48f8bc116f6377d9113f3dd89f67af40961a914a1ea4", + "collateralIndex": 0, + "collateralAddress": "XvKunsvV1VYiAZ7NFNsda1kFzq9bnjVHpW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.79.228:9999", + "registeredHeight": 2005768, + "lastPaidHeight": 2126595, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnxSU5jVTNhuPhTRWsUorqKTz2ubpJnfAR", + "votingAddress": "XhtQTCZoxSN5kMWBAE13P3XMc3zqLGewor", + "payoutAddress": "XxWhHLfLsqgqjpWiDxWzZCa62c3mBYTDRR", + "pubKeyOperator": "b81309266783cec76fe2a148b1fb284acc3b10e703f5fae63b25c93906b37fa8b94a864d95eff9796dc190301c738944" + } + }, + { + "type": "Evo", + "proTxHash": "64fe8c60e2e4e47f6ab6f34368f2a297174e79074de25c7a3222b05d7502a36d", + "collateralHash": "1ddbb7db97eec40f542cbd3f65cabc36c408d79618394b0bc2328182ba7d7d35", + "collateralIndex": 0, + "collateralAddress": "Xnk94GvSRw6vJ6RnJuz4a6W3P564XeavBu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.102.10:9999", + "registeredHeight": 2006412, + "lastPaidHeight": 2127287, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhN222HLWS2otQXJVjMCap7gbKxHukhjPx", + "votingAddress": "XceSri8ZRi4vAi6mWnfkavHPit7ebQ7Br2", + "platformNodeID": "b4d5b3b4974b81d363c124c25eb49710fa95e9e2", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XwAmht8oZ7tVi33em8H4SgorHQ5q4W87pL", + "pubKeyOperator": "a5d00b75de5c0dd87d1222df4e5c0f2779146652179e7ad7ce94f348d5d3f4d29e4728f831b74b7174476fb0cecb075b" + } + }, + { + "type": "Evo", + "proTxHash": "edd39830c5f42cae9c259f4bd4f26646c3cca5b08f292e51dcf8bf3c24ea60f7", + "collateralHash": "9ae6a4eb9b1ae7a3f063e7057958c508ab6c887860dee0461ee20a89027becfd", + "collateralIndex": 1, + "collateralAddress": "XeyyCQPRD9vWi7qeqd2itJrKrX1ssq8RdS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "91.107.204.136:9999", + "registeredHeight": 2006841, + "lastPaidHeight": 2128009, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2115571, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xuky2ZzdnnkKfaSZoUufT6ev2n6LiebMYR", + "votingAddress": "XdDL8gRYfb91CY5kbjiBXunB64A4ghKrgg", + "platformNodeID": "f5201d1665e0dbb9118baccc7bcc309a37d553b6", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xo3uK1W94kGjkqRdfzk5m78FqvqXDbBTba", + "pubKeyOperator": "992cf6d56eaf74e403fc8b7bc50ad93f55b5d8224aa1b28b956fc41d306915f7237936eec7bad450412b20e0912aba9d" + } + }, + { + "type": "Regular", + "proTxHash": "815fd463058436811fec39cbfba0bea908cea8ccad62ec9e235d92d7f1e231d9", + "collateralHash": "3932d3fe8eeda94f148973e140e64fbd49059e0e611409a06b9a39ba996e5f52", + "collateralIndex": 1, + "collateralAddress": "XtBnq185XkikkkYMeyp5AD8ZAgRdPPvLsM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.80.9:9999", + "registeredHeight": 2007314, + "lastPaidHeight": 2128232, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyYnanHsBVKzjSwEPEp9jd8JTEgns2PAdV", + "votingAddress": "XncsnDNPasMCeokioMZJYBmAa91cDZj7wQ", + "payoutAddress": "Xdm14Mc9ti3qvSWQ1Fqg9F5NKSqBSjcX6S", + "pubKeyOperator": "a366beaba6a07a7210c21d441acdae780ece6b6bcbbcdbc0ee58e9b565fbb06baf45af1bf09861ab05e05565509e8e28" + } + }, + { + "type": "Regular", + "proTxHash": "64dad6caaa5f70871e13d0142c5ffc25f483e309860c231b098f93cc2ad742df", + "collateralHash": "16bb1c9d89cc057a91ba289d1d2083aca67c021e16e4982c90717f0e1300cf85", + "collateralIndex": 1, + "collateralAddress": "XuNGBybvGJkUKTTb2NDJNnz781wF3XYRVN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.223.218.14:9999", + "registeredHeight": 2007446, + "lastPaidHeight": 2128370, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvvzEStGWMk3mPxdngDAKS3AWvt6qVwsUK", + "votingAddress": "Xn8BeDwQfYi3rp1xbwosgEABKs88Qu7X5R", + "payoutAddress": "XqyvYxjBCDPPLDc9DFdMJ5GziKEs2speGS", + "pubKeyOperator": "b3b39cb42762388353c1f5090e9a882e1329669c58882f9bffe868a065a70db1d051a78468361785ba8d8f4ab3392de0" + } + }, + { + "type": "Evo", + "proTxHash": "c3a213b255a6321c441fa6edd0c6c47c774733c946a6fa619910b825226ecbcc", + "collateralHash": "5d26f4b9b7837a07e15f212f4633dd2a23a8a78312f7eadd09b1e55337587aa8", + "collateralIndex": 1, + "collateralAddress": "XwvxN2u6y7VWxzXgiNmcRifie7fD8zoqZ8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.255.183.248:9999", + "registeredHeight": 2008639, + "lastPaidHeight": 2126174, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg3Zy7boFnnEH6nRRSPxCep8xA9FZR1Eyo", + "votingAddress": "Xur8AGrsrjTxJgGZPn324vGqVUzYeifonw", + "platformNodeID": "383b1fa4465544fca2c100bd2353d6f746a535eb", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8fb814cbd8ec2c48200232cc5b2eda9662a07cae533d96f6fd3fdf414ba298a4cfdc9e65766e9cc8ac63b19a5845ac40" + } + }, + { + "type": "Regular", + "proTxHash": "c4a111f44e4aea7e735f810b42ed83bfdbf5752a04827b7b5f931a1555fd1846", + "collateralHash": "5810fcf581639673ea6118754c2374f7000ce879cdd909743eda61de7c5bfedd", + "collateralIndex": 1, + "collateralAddress": "Xs9SBmYdfAKH93cysXK2yyyz7xc9vUjGD9", + "operatorReward": 0, + "state": { + "version": 2, + "service": "142.93.219.198:9999", + "registeredHeight": 2008985, + "lastPaidHeight": 2126472, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkWgAtrkF3y4CbWVjccZo2CypKW7vdKtTC", + "votingAddress": "XgHmV79SnSX3y2z7z2ZcaXFi6Y5GRgy7dK", + "payoutAddress": "Xs9SBmYdfAKH93cysXK2yyyz7xc9vUjGD9", + "pubKeyOperator": "83fa81bfc72fce5ef57e948954a32c3dd9d6229a7c66da51524cc9af5eceab6765481450db6030843abdd4c5d4c3936e" + } + }, + { + "type": "Regular", + "proTxHash": "6b5eb7df2faccf1c4de25eca5dadcef8f4fd892daa98a46aefd82f8d0367ae0e", + "collateralHash": "8d3ad9a94615b5cd7bc63d52ff3c8f9bdaff694b8d76386428750028474595eb", + "collateralIndex": 1, + "collateralAddress": "Xjjj9q4w1vBD8W2saNBfWL7EJ7FcLtWGwJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.54.247:9999", + "registeredHeight": 2009196, + "lastPaidHeight": 2126651, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwwodnbsni4RipeHrfKyVPzBGnms9nigPe", + "votingAddress": "Xvfho86LGaRvoHTCVAkKEejDRQPiZcxw1Z", + "payoutAddress": "XdUmHVDmjVCnHpZ13hwUrNSq12AcphAzqy", + "pubKeyOperator": "b0152d78acf56a8497eb1c640656b789565c3a8b8824d4494bfbf11830e02ff9a6f2cb175b0ccad3352283288a9dfed8" + } + }, + { + "type": "Regular", + "proTxHash": "2c2d17806d770a0455dc4d436a38b84a2a146a97a75e2dd6d61cbe49ce2b531a", + "collateralHash": "7a517a8d0b81661cb2e9a336e97db376618b4fa319af2fa6b98914766b8c7c2b", + "collateralIndex": 1, + "collateralAddress": "XdHtt8ssqGXNCpZuBk6Z3SLBLn1VgF7WrT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.138.106:9999", + "registeredHeight": 2009280, + "lastPaidHeight": 2127665, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124494, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpQkvaMrrwp3kzMSR5LDi42MyjR5KQyqUC", + "votingAddress": "XtK3F6iYTkiAxeULXXaqpYAU1HYoY7KAJt", + "payoutAddress": "Xoc45HdfBEatrEoEjmLe2c39Jp1GhduEHg", + "pubKeyOperator": "94e1b61a56c929fcd7de6068741b48b5b9a20ff9bc7aa7cf5eeb643b9928a64fe4bada1993de14d28ed803ab4ca4e990" + } + }, + { + "type": "Regular", + "proTxHash": "dcaea47d7b1184ff58c8d60713d9f478eb0ff25de72213ba93a3957bc368a5c9", + "collateralHash": "721723297ed4e0d5833e3fadffa2b04248c32d2b6fc55541038c3c7022bdfc43", + "collateralIndex": 0, + "collateralAddress": "XyVf9Pjf6KmnJ6MRmnj2Datrx2PQSzJevh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.185.173.81:9999", + "registeredHeight": 2009815, + "lastPaidHeight": 2114950, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XyuU4yZ4kviKjpvR1qXHghFd6sVffMF2sq", + "votingAddress": "Xix4ZFoRfum6WKHCYtULSQAp3izauvDZLK", + "payoutAddress": "XyVf9Pjf6KmnJ6MRmnj2Datrx2PQSzJevh", + "pubKeyOperator": "8206e9a6763ea4de6dbf7982efc87e7198bfd220f9e4d802f481bc9e221bea47b4582c583aa28549428b77f70afd161f" + } + }, + { + "type": "Regular", + "proTxHash": "9df7b0df297a7a5e8c3a539d0d565862ae284876aee50e8cd119288991e755d2", + "collateralHash": "9df7b0df297a7a5e8c3a539d0d565862ae284876aee50e8cd119288991e755d2", + "collateralIndex": 1, + "collateralAddress": "7g2J2e22CVSVnR2o9pQXt36GhyjhUkDfNx", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.95.22:9999", + "registeredHeight": 2010708, + "lastPaidHeight": 2128248, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XavQeRQQeD8KtHhmyqFENHCNdoYqEQSaZK", + "votingAddress": "XqNZURVRiA9eZBRLLHMBCLJiruSbPqPQ9h", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "89e7855b33c2aa8252c5093c68d6418ff0d0053d76c102d2f38a8f4f0d2da87ddb23d886e1fc87c737ae3122a1042a45" + } + }, + { + "type": "Regular", + "proTxHash": "974d547b0d3971eeb0c56780a4144443b75f684a488dcf222c97674ff3f4d338", + "collateralHash": "c67c422fc980af84217dc0a2b33d836410a9c31f2ae3307a7b8628ec663761d6", + "collateralIndex": 1, + "collateralAddress": "Xpx3b7bmLqXG3QdJp24bUYhRy4rpZYcAdu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.87.149.61:9999", + "registeredHeight": 2010997, + "lastPaidHeight": 2113461, + "consecutivePayments": 0, + "PoSePenalty": 543, + "PoSeRevivedHeight": 2126909, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtDVUfgb6Jp8CcPWYZ9vBQwaZ978BUTN2k", + "votingAddress": "Xv7SyZmyWWuwtDAbU4KUBxHeiXspz6qAv3", + "payoutAddress": "Xsg3CBWZYxh5RaSGZiScmNGsuPVpyaPoz9", + "pubKeyOperator": "a1e2eb1d96ee3967ea6396a7f7794b3c14bd4a185e95601bc6ad1460c6e72d13b6ebedad5ae0c786959e983d3c67412f" + } + }, + { + "type": "Regular", + "proTxHash": "c9d22f2f221c7cd1b048c5e13356dd95fdc530dcf2e3bbe0e232378fbb73829c", + "collateralHash": "91a32a8e6035892890501d666e7e9baec7f3e98d723609ac1bc605779856745d", + "collateralIndex": 1, + "collateralAddress": "Xh4m766nZAa92YF6QaZKDroDGv8TzrZzfY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "161.35.69.134:9999", + "registeredHeight": 2011191, + "lastPaidHeight": 2128694, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyDKJZYDR7BnuyhMUAezR5S6za4Ntqmfpy", + "votingAddress": "Xy1TDmU7bjfKt2KpgXmRkCy5d1M33ZZtaY", + "payoutAddress": "XvXv575PPDrxVb89MeFeiem148QmGYLkpN", + "pubKeyOperator": "ab458968b9b74e00915a28655ae9d3bed6c2099c4c9baf3129a68a148c6f64e7a9535b495be47c439c5f58675d625bdb" + } + }, + { + "type": "Evo", + "proTxHash": "fcfeda90d7d1937652bf8123e7d130141048fbfe52cf2fb587b9aad4b6ef810f", + "collateralHash": "008b13a1a1142e4b3c95af9e79a61703343759376ce353851f8e27435377cdb0", + "collateralIndex": 1, + "collateralAddress": "Xy67p8uHkpYYhPDtT5KBT2SJj5Ts3hocoL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "142.132.165.149:9999", + "registeredHeight": 2011249, + "lastPaidHeight": 2126194, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2103351, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbgCc5BcXAtMQfcG7ZxtqUr3VaBAHKY8qU", + "votingAddress": "XwTg1QgmpTNqfATBSPRCjF7UGZ7CZKFo6f", + "platformNodeID": "f232a6240d11e589ee4c86c88bfe66d53cb2bcf6", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XrsAAEWxY2eCPzDk4xYii73MDkMNsALa9p", + "pubKeyOperator": "a8026ea39ae2562bcf78c57087bfd7f3fda0a64441ca5bf0e63f4e28612ef8bd9c9c4beefc6a8dca125f81abcc230685" + } + }, + { + "type": "Evo", + "proTxHash": "66f0010300337221360cd477c898275ea48ca411dd7e04f7a2838e1b39cf82b9", + "collateralHash": "cac29369f99ae8b9e2746645d3d286c55d75fafc2135498b1981977a0aecefcf", + "collateralIndex": 1, + "collateralAddress": "XksVpmdfmcAQM6pLJy2kztBkNScJhnFgd8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "82.211.25.69:9999", + "registeredHeight": 2012337, + "lastPaidHeight": 2126457, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtSKuDu6529fVV3t7icVRDcTCiPVkyzvvk", + "votingAddress": "XtoHfHi6dzJhEJEPBnnCeADv1r8RNL1USX", + "platformNodeID": "b77f4e54a5639302286497d3c36874c96736a90f", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xrv5VrHEHAav66T1gi2s2yMAQbCvTeXPfR", + "pubKeyOperator": "a903d38cf86e8bca56297613edf4075c2f89a2dd5470e6d21e7fc88ae0800afd551affb8ca18a29ed2d0c1714bc30ef7" + } + }, + { + "type": "Evo", + "proTxHash": "16cd333a82c35b71829ad096866f7a0925f9b5350624c1649389ed5f73de25ad", + "collateralHash": "75aa332d4023b710458b114a5fa7b48a092a3f61a76ccb5e743234d9b3895c45", + "collateralIndex": 1, + "collateralAddress": "Xq1EsaUL7dZFH43v9f8DDAkdQpzGJhE4yZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.255.183.247:9999", + "registeredHeight": 2016231, + "lastPaidHeight": 2126875, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyS1avcvR8Yv8E9fiGGrZs4pEWFJnqrMwT", + "votingAddress": "XucTfeBUR1nnUDXUZvgs1CRZrZfJnBncC7", + "platformNodeID": "e6e3c3b3b6e652076e7863934ae940b3a801b6cd", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "abd4b0b28c5c43a7cc79b10e16e6898a3cc1e08b9b7641973a01cbbed00a0a86d2067dd37ce21c636e3739d248c0b259" + } + }, + { + "type": "Regular", + "proTxHash": "5231a43e0b3c9da2d9bd9edbf411947eb84d19e3dff3ab4e9cef602bf92b14d5", + "collateralHash": "5231a43e0b3c9da2d9bd9edbf411947eb84d19e3dff3ab4e9cef602bf92b14d5", + "collateralIndex": 1, + "collateralAddress": "XqJKVrcqS7TTtHzgvYhunj7cqQCVkTLjUv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "174.34.233.208:9999", + "registeredHeight": 2016354, + "lastPaidHeight": 2127201, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121069, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfxWjUVfzE6z2MChJzrjsBsgMXR74CJ1qq", + "votingAddress": "XpsE5Zcsv4GG5SeDNbKWbFS5kaLB99yQus", + "payoutAddress": "Xt2ijVCt1ToMXvsQGYtqSvnEQgfyJQkv44", + "pubKeyOperator": "9988394bac60281592bb8a410edb9bb6f4359c6bad4dffbdf5061164175209a958cfaebfce0f40232285950dfe164c08" + } + }, + { + "type": "Regular", + "proTxHash": "2fa93e519b7a70d618d4499d61ca94dd9dabd8e59ac152a3f8664ce6676c8b21", + "collateralHash": "1e0dc50d708487fc3e5fe1c11d8887f23cea73205b6470b543edff2083d17c32", + "collateralIndex": 1, + "collateralAddress": "XefYvArpzigrdbejckZYqsqrTy6U1u9mke", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.228.166:9999", + "registeredHeight": 2017122, + "lastPaidHeight": 2115467, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "XfHxBhNN7hmTvnNSbwXojjTenixuABt78v", + "votingAddress": "Xbdwypnwx43FYHP4BMn4AV2ThRywVgQiAF", + "payoutAddress": "XefYvArpzigrdbejckZYqsqrTy6U1u9mke", + "pubKeyOperator": "91ad0b31729931c9882b24ad38cd8e596e0f64ec4b87954c550d4ff02f631be619b55588f355c325ec1022a48e69c18b" + } + }, + { + "type": "Evo", + "proTxHash": "aea18dc0d503713e87eb2e6a24636b66dde356dc597210bed08975be14e37db3", + "collateralHash": "1bf6d64931a920dcc4bae6468e886bcae0fcb64717efb4a9ec20dfb23395f11b", + "collateralIndex": 1, + "collateralAddress": "XtdGpqRiKHVFBB4iNajAHKc4pyCvGFZCqN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.215.167.70:9999", + "registeredHeight": 2017852, + "lastPaidHeight": 2127950, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121688, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgbetHHiZNiFmcHY7gEiYze3doLwcrLABj", + "votingAddress": "XvBvXh4wNWcw25jd6ZigXF2FkL1YP7ic5F", + "platformNodeID": "689aa19ceccdd7cbb67954ad524680f3019301ba", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xr9gpNGZjJYi6VKbVFXZkPeEb8yK5UD3PU", + "pubKeyOperator": "a9f90e18d674fdd89a6a423bdc83d7a7f52b3adb8fa9c41ec4f9cf9349d42a7778f07a036dad56ecb9d5a7c8a145491b" + } + }, + { + "type": "Evo", + "proTxHash": "8da027b6f709c174da865c86c77877cebf75432b419b99575684cfce0e842220", + "collateralHash": "3c34b7e254edef1ee3a9dab52525921b3ff84223ee15ec8bf3a792944b6be8cf", + "collateralIndex": 1, + "collateralAddress": "XsyHBhtd4eZQ6JyeYcPtfr7durqNqay51X", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.217.127.139:9999", + "registeredHeight": 2018240, + "lastPaidHeight": 2128843, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122517, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjtJUHQKSsMNvya11DSMkRys1wtqw96fTQ", + "votingAddress": "XgnoYH5ArpsXSAR2S5WUWndhPbD8NnNhXW", + "platformNodeID": "451c824fb0d37abe2381d3a2753ceb8659f7e965", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xv7rTUx74aT6Rhvzc8YyzWCgyz7iQmxsBJ", + "pubKeyOperator": "82288d99909eb37b7c9a566c001d2ff50511a889dd647a1b7ea881f77b8b5a7d99a2fa1718759465b037d2f781a5be3a" + } + }, + { + "type": "Evo", + "proTxHash": "7457a10b5a1ca0088d2c5d381d1e41dd736b05b6f44588e8f94a1592109ed12d", + "collateralHash": "dcc6fadabda77d81e4e27a793d035a98e5f1c678b6917b4af94f26d51da51ee4", + "collateralIndex": 1, + "collateralAddress": "XrimqoeNawYnqcA31BdSGfJfV7zoAqKKTL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "161.97.160.87:9999", + "registeredHeight": 2019043, + "lastPaidHeight": 2128014, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121744, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkAUDAaqMpjRAoLnRn9FXN6WybbcwSxGtK", + "votingAddress": "XiGqYgBMf9saMv3ADFaLHDtQetBXNG5EXv", + "platformNodeID": "d5fded25644535a0e80930a4b7a89d3706b0b8a4", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XhcswEdvQCavuG62nFPR7TBEighoJRVt2k", + "pubKeyOperator": "8a763cb66be8967b124cd055e3e19a2594315f81e6d978a4af3f63618f6f085ca2769175ec3054967656f1fac10762d5" + } + }, + { + "type": "Evo", + "proTxHash": "dab0d9af2d70e59ffdf3bfe375c6e9f3d185d2527c0842c7bf2815798a166526", + "collateralHash": "768c817bf9f2ab1db6a5f64022c76f7763cac752eff6900210bc0ce2d1ff560a", + "collateralIndex": 1, + "collateralAddress": "XazWFy3Eitz2EHcpDAZvoy5j8b4AbRMJoy", + "operatorReward": 0, + "state": { + "version": 2, + "service": "161.97.160.92:9999", + "registeredHeight": 2019445, + "lastPaidHeight": 2128019, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121748, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp9YacjeCBoiJ4PYS6WJ59RA3ugosySvXL", + "votingAddress": "XvPznsgmdCRDsiBTqcDZ2jcHm95Z8TCR2S", + "platformNodeID": "b9bbd514bcb04bd7b8aa1ab2cb48c1526ff6e83d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xvhj93mb5SazGetYGLL5yCcvafoYCqKA1n", + "pubKeyOperator": "8455cd00d19792377ac915614b06cc46f161662aaab1d5f1e73f3c3cac48a1f2991d75ba14decb308294ceaf7185ef21" + } + }, + { + "type": "Evo", + "proTxHash": "086ac1966c3c1bcc66398fca29d85386bb8a1cf9e269d05e4f0a71fe876f690d", + "collateralHash": "5b9ebca0fd974bbac825d1a0d03cb099a2a5e816fe3ef18bd161223e3a6562e8", + "collateralIndex": 1, + "collateralAddress": "Xhf9GEGhnVqAWRasBaFGEZKDF7iLeE4c1Y", + "operatorReward": 0, + "state": { + "version": 2, + "service": "158.220.80.235:9999", + "registeredHeight": 2020110, + "lastPaidHeight": 2128030, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121753, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpFFAJkj6uJm4bRLiwWdj5RiK27Cg4SBYe", + "votingAddress": "XctZnrNXgw55hkfP57Nt47k9gzPbsvMJjm", + "platformNodeID": "3d3c81106601401c3a4a23bba7be6f4822a649a9", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XrWj2uFA7EvAdV7kLVgjTy1131pjyQHZBe", + "pubKeyOperator": "99fc191131ac69e0f25e0f73ce5160f99ac885bcc9d4844fca89f9c7c098265f39625a88218f64d9fdb2dc03daa157ac" + } + }, + { + "type": "Evo", + "proTxHash": "5d464a29e7dba9da33898515d8b45db2c3702f4c909e19de43f7ae77c190c8f5", + "collateralHash": "fb63d315b88f700d29154892b83f9ea5073222baf87bbf1d7f222ef93b25958b", + "collateralIndex": 1, + "collateralAddress": "Xp4kBq4Jvtt1ZvqyKrnU3NNYzmC6MQybTP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "158.220.80.239:9999", + "registeredHeight": 2020677, + "lastPaidHeight": 2128338, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122042, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyyPriDhPnigysh7VYk5RrWwPs4XKKENaZ", + "votingAddress": "XgdLf3rPYNMB6CUVKzDFtGr2wxdgeYoAPM", + "platformNodeID": "90d6833f86c9c822615e4988ece3ea288200d119", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XkzV6rJwCXxbEcabRpk3NRHGv4FK5h52u2", + "pubKeyOperator": "93ebffb7d00f195aa53d3e0458921672727c775fc8f972302b098b5ae5cd1565d1769d194d7aba1e8215fc3c0ecaf8ba" + } + }, + { + "type": "Evo", + "proTxHash": "620ea4839737e145529f392cf1844398188c1e2ce02875038c22d2253415906d", + "collateralHash": "d371072ea84356ca7184c8b71e560016932c3ed1160a5198e115e4634b272a17", + "collateralIndex": 1, + "collateralAddress": "XpnoiANtaYjdQ3w4AoqfNBr8iv4cgww8kR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "158.220.87.55:9999", + "registeredHeight": 2021228, + "lastPaidHeight": 2128328, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122037, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xys9ATQRMMAxD4rnr94jC649wMqQ2Ya7w1", + "votingAddress": "XxMvQvjkWNHdiSgvyT5iLv8hpdm5i6zGHC", + "platformNodeID": "938617eee09616c71a01d53b4a9cd16facc55185", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XpQGS62o3hvoadgUL14HAJKkZzyHeqUZQD", + "pubKeyOperator": "a8d0f0b21fe8410ccf897dffde8b82f71a43bd04e5a25cf625ea8e1197fcc0853bcce33c2a9ed3724dab993238662eb8" + } + }, + { + "type": "Evo", + "proTxHash": "43c94cb00d47132db6595cc88f08a4ac2af5e3f8faf9adc00a791f1e8cd70515", + "collateralHash": "64f86a4714c14a3e21b0122a07014f50a5c32864604d05d5333f6c8e89bef2a6", + "collateralIndex": 1, + "collateralAddress": "Xc1P3zNo5qJ9vmF7kqAqkfHem8iqiZfsoD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.163.143.174:9999", + "registeredHeight": 2021465, + "lastPaidHeight": 2128602, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122295, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg6Y1qVYsijFDSD9xFYGGp6QSiCu5vcUXT", + "votingAddress": "XnynSSTXAynWFK2Ag9xmDcVkxizaNvostf", + "platformNodeID": "52e0f3de9e5859542c3f1ae2348c6a5197968a1e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XtH7kvbDQjXSHDy8viTJf3xozsegJGEMdh", + "pubKeyOperator": "8269bdb3e3d6e0f18fa00ee0e99a3658fb1cff52f8b7c1988805610add9d1b1c950489fb4263097c69fa7569fd3e281f" + } + }, + { + "type": "Regular", + "proTxHash": "1d77bdc8ef92af126a63512ee9a013d49d9d052353054fbfd4fe2fb1fbcc494b", + "collateralHash": "61033e81cc9a5ead47d83fd08c81dc07973bca79538b54af8011c7206489e062", + "collateralIndex": 1, + "collateralAddress": "Xw9Jdiy4W9BszMVQJ3MTpinhAxKeq8jydJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.209.17.153:9999", + "registeredHeight": 2023516, + "lastPaidHeight": 2127466, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwLjLPHF1EW6T8RXytWB3QX6j3iBDMFDHF", + "votingAddress": "XiRKD1o6jNh284zWioyUCcq5g5iats5EJ9", + "payoutAddress": "XbTqBhLU44krjdArXuFmBqURvbVjfoRCwu", + "pubKeyOperator": "b3b3c7b1852a89983a40344786d18ce99a26d2a349220f119d1bf710ec066594cab37a05cc8f848305d29e246d7a700e" + } + }, + { + "type": "Regular", + "proTxHash": "e3b8fe8fbc401ef935d8cd190988f60669dd4778c1dedfc47f6047616f5e3ff1", + "collateralHash": "a06ced6512e23ec21628612cc2dbae69713424b3b6a7116a98d11e873632cd38", + "collateralIndex": 0, + "collateralAddress": "XjmraYMR6xTdNcypisg66M8K5Fm5U795zh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.175.67:9999", + "registeredHeight": 2024581, + "lastPaidHeight": 2128543, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdzsRjh3coHoCKeV5iaigYNGsrxL9yYCup", + "votingAddress": "Xw1ypcwBVMHhH3L1SZ8GR5dEzgj7SzhzNz", + "payoutAddress": "XmChd1358uqaETfEYX893Ye6xxomsbbqxv", + "pubKeyOperator": "b53d290c62ac90d6890240b886689a84ebd1df84cf9170c6785a3a68eca95926f6435542f2df27e1eabe17534096cde0" + } + }, + { + "type": "Regular", + "proTxHash": "dfc96c99ab162f37a005c0d2c6010a258cf012ed38f0d11b142c3d51cb460e19", + "collateralHash": "80bb1413a612e1b16cd32fc921c9739a5d09fcf919d57f74f92bfa0b257124ce", + "collateralIndex": 1, + "collateralAddress": "XtAbPRfHoWb7AS5BfTyeMGiYxcjXyX75ZK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.217.229:9999", + "registeredHeight": 2024932, + "lastPaidHeight": 2128825, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbouqXYq7WZe6YNCtKEa7gR3EYsR8iGecx", + "votingAddress": "XbmQH5EfJLU6sv3S2PmFjJEYY5EKnhfhEe", + "payoutAddress": "XtAbPRfHoWb7AS5BfTyeMGiYxcjXyX75ZK", + "pubKeyOperator": "ae62e082e0ea87aa42ddc715e329f1161fc3d906b243604a78f7ce05a6ffc540c99f622e8dc8aebd6b8a96fe53f6adb2" + } + }, + { + "type": "Regular", + "proTxHash": "b836d451a50d7d33aa2875a8a0fd779a70b2229b081e356aed56be3a786f7551", + "collateralHash": "576f26a643ff045fe6ac3c43569721d81619405a6ebb5dfa7505ed14950ed07f", + "collateralIndex": 1, + "collateralAddress": "Xvu6sMcEn4GP3pLiu5hJKY1rUfwAi7BFBh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.205.7:9999", + "registeredHeight": 2024942, + "lastPaidHeight": 2128826, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiyqcsfNiRoHWyUuvt7dvGUDsRcJwpjq68", + "votingAddress": "XhS2A1SVzquVPu5qcf1fdS1fjtgag9CWye", + "payoutAddress": "Xvu6sMcEn4GP3pLiu5hJKY1rUfwAi7BFBh", + "pubKeyOperator": "98a83c096562d7ca8a52b3a6ee4b32a8149bf299ff3efefb5f59aa37c176c975ead244db86baeeb464e5ef5ff478228e" + } + }, + { + "type": "Regular", + "proTxHash": "9dd1c4bb48fc69cebd2ee4486dc3ab176ecc922a555c1b33791cdcdbd927db4b", + "collateralHash": "9dd1c4bb48fc69cebd2ee4486dc3ab176ecc922a555c1b33791cdcdbd927db4b", + "collateralIndex": 1, + "collateralAddress": "7p3wDc681n1XPWnaooPfDX4dk2dJSXDTz6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.47.162.8:9999", + "registeredHeight": 2025072, + "lastPaidHeight": 2125751, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjRC2pDFSy3K4ZHKcU9udPzn2RHfi9gpJi", + "votingAddress": "XbuST1MSoGoYXyu8Z5NzoEFktRyZRjmkwF", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8400fc5b966d8a7f7d0ff770f0b8e72ca4e6a85af879c24eb3a726a933e48a8b57c64b7847a164805ccd84ebc28305d6" + } + }, + { + "type": "Regular", + "proTxHash": "d9cfe687fea00dfe333761b03c033851bcc2ecc0c36e490f887d93359e21e3c9", + "collateralHash": "167c80d6d75c2e5df15b79b37cdd580acc4093fe446ffb4f10000743dfd924a2", + "collateralIndex": 1, + "collateralAddress": "XqJtYPeREC8p1tUa2AvwG6WThEz8QW3FhP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.223.137.152:9999", + "registeredHeight": 2025101, + "lastPaidHeight": 2125796, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu3n4c3X7rty8TMfHyqvoCuMAZWDdc7vbR", + "votingAddress": "XyREXqxc8PrScvjiDDbWvKZTKxsbeCxvRb", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "9315e5dabf12e9095a30e9c3f2dc0c03b9561a1cd17f8c38574176a30ea9dd57aa966134a8398876f83f8623204221f1" + } + }, + { + "type": "Regular", + "proTxHash": "cf2f6aa65f43859ed6d2adecd36438ff2432c925b58d9dbd65e8d5c84218d8d2", + "collateralHash": "c65f740216a3639b0905e6f5ffffcbb97400912a695c6e580861528277450d5f", + "collateralIndex": 1, + "collateralAddress": "XeK8ATXozoLPdXgRRNyjhKNE8WhJUqnhWa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.52.139:9999", + "registeredHeight": 2026777, + "lastPaidHeight": 2127374, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoNLJCUeaJMV9VzkheYkB7evd5KQJSJDWu", + "votingAddress": "XeCyTLV1oWtK7nj5iiuZGv6x1icooBgDer", + "payoutAddress": "XeK8ATXozoLPdXgRRNyjhKNE8WhJUqnhWa", + "pubKeyOperator": "aa6df06e589cc27ffb6315f372881987f1376e2d47e29bd43f8ee81f1b604837cb0747dbcf9e4c305afdf040bae0d5e5" + } + }, + { + "type": "Regular", + "proTxHash": "43476324e6fb965a9f497fe2c746b92294286065b9cf8dcb8d138241ba044162", + "collateralHash": "7754aab1698677e25bca47dd8141fa4314be424a3af1cbb7673276c503fcb33e", + "collateralIndex": 1, + "collateralAddress": "XubbZbMJNT6gS41scm4UDuYPbV64z2qW4o", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.31.63:9999", + "registeredHeight": 2027206, + "lastPaidHeight": 2126311, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117096, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnwTgiAFnxxZeBwodCdsxPMrie7SuzTd6w", + "votingAddress": "XnwTgiAFnxxZeBwodCdsxPMrie7SuzTd6w", + "payoutAddress": "XkMfvBvq8P3ik1c3CfC7nxuzxC3C5At99c", + "pubKeyOperator": "aebcc24bc6850e7fd6180a55301386a94898e50190f3741bd1adf00ca732287b22b6194eb6d9ef92f769ddc8dc682898" + } + }, + { + "type": "Regular", + "proTxHash": "cfbfcccfc99cea358ca1055d9aee6e927771092bf0325f3b3210b3e1bad2a713", + "collateralHash": "cfbfcccfc99cea358ca1055d9aee6e927771092bf0325f3b3210b3e1bad2a713", + "collateralIndex": 1, + "collateralAddress": "7ffVgerZKhHj5cTf1bwx8Uf75P49tXscRQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "195.181.243.13:9999", + "registeredHeight": 2027438, + "lastPaidHeight": 2128075, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmCvaup9AEc8frtrECQvPxjTfTNwertrka", + "votingAddress": "XsbxkRPVKtNZzQ24VFaSxwjUmQ2XTJFLmm", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a8a795e9e48800a2d4b2612b515d9b0fbe1fd2fc1b093ac421b520876b3585aea10aafbf3e8f4d0595effc702bfaf974" + } + }, + { + "type": "Regular", + "proTxHash": "936dcee01b167ec4c1d149d9482076db14aae496fdc6d4d529fa055136a3c3c5", + "collateralHash": "a490fd7d9c05103f237d916c951bc8b6118104fc62f45467d8606473f02b6853", + "collateralIndex": 0, + "collateralAddress": "Xu74pzvCtqrsNy9gJGH31CcVb6vMzaAkVe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.29.29:9999", + "registeredHeight": 2027571, + "lastPaidHeight": 2126548, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": 2117368, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpbDYkes4x6UVHmcw2DBNPCkuKPeLKA5pG", + "votingAddress": "XpbDYkes4x6UVHmcw2DBNPCkuKPeLKA5pG", + "payoutAddress": "XbQFR22n59UXrzXKXqtfSLEY2wQvzdLRNL", + "pubKeyOperator": "b42eb95bfb4e272212336e608c7f2aeff0f900b22f1e3c996422f4e574391ff49563ca9c156c417f14329f61f7ed3163" + } + }, + { + "type": "Regular", + "proTxHash": "eaed790d0b07d31430888b04f47294ea5223aacb3068423d7b55120bf9072401", + "collateralHash": "5ed567c07abe8634c302cc6d03bc91ab3a722f5ee2335d8a971f37d2f83ecf98", + "collateralIndex": 0, + "collateralAddress": "XmiLcZ79dmdu4swVJr62ZqEZswcEBFkZWc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.9:9999", + "registeredHeight": 2028162, + "lastPaidHeight": 2128706, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XonnYW38Zr6eYFx5yavAhYz3fsZsMAecC6", + "votingAddress": "XpuTQGkaDiFY7Cq1pRpWeNjVgr3uzdnVuV", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "b394a4b83297a3afd859dc108ad73608dc474111cb40249b2600f8aae87422d6ccfd8b478ce2a0e8f739377ad0c3ac1d" + } + }, + { + "type": "Regular", + "proTxHash": "e73506a0a022ae420fe9a087d41668e50752d5c2f7ebc04ca5f10a72649ee4c0", + "collateralHash": "a0a40cc3090092f384fc3d8ac58e730a23e02dce2ac6d09af13a8539aa6c07e4", + "collateralIndex": 0, + "collateralAddress": "XuQ7G6vtHC3WB412x67ktowULKtjDPY3a9", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.205.1:9999", + "registeredHeight": 2028162, + "lastPaidHeight": 2128707, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdedz3knh1BTSGhQipX1fcpAoVrpRqc9eE", + "votingAddress": "Xorn3axG5KirbTyZUsW4iNEeEPkWn4EShJ", + "payoutAddress": "XbogyBhAqdEchwEq9jLAp6iLubhTqyoxw5", + "pubKeyOperator": "947aa8dc28334e3f9be231721d42dcfcd2fd5d1ec1c98601bbf48304b51860b250283ee646c352235aabf976c750afd6" + } + }, + { + "type": "Evo", + "proTxHash": "9c55a18619ad89c1498139bb370ae68665ee68d95a113326687375dbeed80b20", + "collateralHash": "b76e4b57899e9567b24f3bf52eefa0844e280cbcdae33b63b62d86c0b4adcabd", + "collateralIndex": 1, + "collateralAddress": "XknNc6fRRk6mZTxUpdp6ht2H7tb76quSDA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "109.199.122.22:9999", + "registeredHeight": 2028325, + "lastPaidHeight": 2128354, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122055, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xodw2VDAJV9euVk4wx8AM7NUr3L9xQZEDb", + "votingAddress": "Xy7CnXZuEVySzgwJ4XeZebS85vrhUj1Nck", + "platformNodeID": "78c898f1fb4e72686b0d8e51e8aba5910d79708d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XiSbVJJ16q4d3fjnEniZeFXT3fKsrPSMR9", + "pubKeyOperator": "b8cd957a00042c90866fb561965991942571acfece531851c05d8b6ef1af2150c1529ed9e37da03a413f4cd1f148af8d" + } + }, + { + "type": "Evo", + "proTxHash": "110c7c7bc6d52cdded570a6e3bded9b957fcb2bc68f1f6045ebd61ebe51b0bf4", + "collateralHash": "882ff952ab75aa0013a3c4a4ddcfcd6e4312df599452cfd6ec9142c8f2bb3dcd", + "collateralIndex": 1, + "collateralAddress": "XeraQcs83BGEVf76LkcFLFLMGUM9wQHcVg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "109.199.123.10:9999", + "registeredHeight": 2028380, + "lastPaidHeight": 2128364, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122061, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpQgBReuJx8FNw7Cowuc5JLfkH9FZPyJuN", + "votingAddress": "Xtc6677w8kb1PYwXcm9NEJg2MxA5xB5EUs", + "platformNodeID": "19586c82f618a2011128ef989c11e48f8fb3b14f", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XexPKCW7X6fynEbndqMpxTwoLNP1ZKVGsj", + "pubKeyOperator": "985c4c8db02ca463dcb38905104afc7e729b29176d3b07b47f187a817edaebf17251ebf15d505b8c93d8c0ac223693bb" + } + }, + { + "type": "Evo", + "proTxHash": "8dc85b5b4d6f424eab1f23fd8a7d9340ecea1a74f3e6d98debaa98251774f3a9", + "collateralHash": "739b4731f5144fb20b6f6887281bdc45216375d5930313f470222e9336ca7bf8", + "collateralIndex": 1, + "collateralAddress": "XubVN4Khv415dY4kWH6S5kEb9xqPYHPR8b", + "operatorReward": 0, + "state": { + "version": 2, + "service": "109.199.123.12:9999", + "registeredHeight": 2028399, + "lastPaidHeight": 2128607, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122295, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmhEPiSV82AcrjJNh1EudQowvMgcLrXqrY", + "votingAddress": "XeUrNNcncVGuve4F4CBd4s762nVm3EXTJe", + "platformNodeID": "138231a9eaaf7330bdd1a5a2f93502d1482895bb", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xn5q5MFZJDhCmJ4vC95erorYGHQeWa3SV4", + "pubKeyOperator": "b61237822795c194f70d5324df58241081f981878b633ae90e01a3f21c0a7f113ff146e71482046bdf2f64e798d3056e" + } + }, + { + "type": "Regular", + "proTxHash": "531c4a13291a40fdd7396675700e5c2cf80e30746e4efb4595d9abb1c0ad9673", + "collateralHash": "a7c132806ac1b6b98e07d673ad3406ca3d754af90772001b9ea511c13931dc59", + "collateralIndex": 1, + "collateralAddress": "XpU2PfUXX4W3Dk7V6PyxMwdD5QgMJqCmPd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.71.196:9999", + "registeredHeight": 2028935, + "lastPaidHeight": 2126183, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvgrWpMKUrw6RsmETv7WCcXajXJ8EyMzx8", + "votingAddress": "XbAiAGViqqo38KC5nEsYooXUFbyd8hJLeS", + "payoutAddress": "XxDQbSWuERfGRrq7zFomQfTLFADuVqKDGs", + "pubKeyOperator": "b261b01e12ab3ecb44697d8a22ac82365eb0689079a6d426aba47ca82194953219599e540b914ca05735ce47643e9948" + } + }, + { + "type": "Regular", + "proTxHash": "a6f94a1a7f734183dbb31f21c61dee00437663f4ecca25cc1d388e8883646241", + "collateralHash": "56e8124ba9a5d74b78ae5b0fade9e67253b2e528ea04781770bbb6c269a95669", + "collateralIndex": 1, + "collateralAddress": "XqfHRCkGALhHcghGMG5CQVu66kHbuuQSWa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.23:9999", + "registeredHeight": 2028947, + "lastPaidHeight": 2126185, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe2mrxpnNZp7mgyHpkEQwo1MmRYbeWzSKY", + "votingAddress": "XisNTofRytmXwAobcJ8pYTiwbFpKXSUCgc", + "payoutAddress": "XcpW5ZPxLCytxYiiwxMevMvHZaA9FpZ1ok", + "pubKeyOperator": "9744df27282f8efe92e6237d83242af97a67d2f2354903f8e4aa76fb60a1b31f67ba4b3deff1d66a9d989986321e0f8b" + } + }, + { + "type": "Evo", + "proTxHash": "b41591cf598c31fb6f5f6ee1c0c7fc18fe0296b2ab4fdb4221f8d83b52c7d9e2", + "collateralHash": "a6c831112e0fca63c46b781b0990e02834f750fc4caf64c9db602128517c623f", + "collateralIndex": 0, + "collateralAddress": "XwgwS9fSjo48aLcKs6sSpqL66xWoztWKqG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.244.247.40:9999", + "registeredHeight": 2029168, + "lastPaidHeight": 2126604, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114225, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs1kjiYn941CFGuEqcFzatxKQBnw8K5Pnw", + "votingAddress": "XcppHwYBKk7s944rGfMu3418pZw4Wexbeu", + "platformNodeID": "8922664206817dd1c46572c03595d2db0fe52d75", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XiDZuZD8Ry5DKY5tbLv3oEJtnP4NYxV8mR", + "pubKeyOperator": "8777d79e66264542425d85bb26b990ca14dbdb0cced54cb39b6355d0da8c6086dd4dde3550c0c9e5fb708480031cc05f" + } + }, + { + "type": "Regular", + "proTxHash": "6b2e8b45a3eb32ce1482e9479bdc5d4d7663002213325fd39ae26f72bf1bf787", + "collateralHash": "2aa8dd3ed88710499e6b982b2826f04ae7b1e5800c6a71b2a9d9c97d43ddd40f", + "collateralIndex": 1, + "collateralAddress": "Xphjh1c7JaUmD8pZL9v7xTrastKuP6Pm4W", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.108.204.190:9999", + "registeredHeight": 2029574, + "lastPaidHeight": 2126757, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XerLGE3pjnQsnHHWPYSgXzBCcn5d4SpWyW", + "votingAddress": "XqzUH77contW8HDadngLXnVogEeSSBhWAt", + "payoutAddress": "XevqeHmxMAdsyNDC6bSjMTVDU6j5CcdNvq", + "pubKeyOperator": "99c81d91502ed10feb1fb1ae767f7864d59fcf2e5612674054cb907fceacc83f6c58561a717b457ece77ead1a9c58f10" + } + }, + { + "type": "Regular", + "proTxHash": "f1a1668e43f9327984ccb9127c8d2d31f825441a63977ab4046b5959ceed384e", + "collateralHash": "0b685da8caafbcaea63a39a3b74ad99a28837775d41050f3ea2ffa2daf867337", + "collateralIndex": 1, + "collateralAddress": "Xv1es9ZsS4NRreFKdY1LFtBkgwyr58Bw1Z", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.248.53.122:9999", + "registeredHeight": 2029744, + "lastPaidHeight": 2126902, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf6d8u5UuecoMiFcM54GNwEiQYci67pdKP", + "votingAddress": "XpGS2DohnFroSXMwJaGo8hB5HauqAEg9cV", + "payoutAddress": "XuP2NghveNTeCu6pyY7Xrk9XZikyL4sDar", + "pubKeyOperator": "b5cc62fa5cde63736bd9e1fa59dc9acfe9175265d311f9a32101222fa3e9184c552a811713544796b076d436da4b752d" + } + }, + { + "type": "Regular", + "proTxHash": "d26efcb1066b38a884e5d58564183b0713fc7230f9251c8df0901d33cc48d65c", + "collateralHash": "e8290f92482c7126b0efbb6a45ee68b945d31fb68ff5363864350f8dadf1fbdd", + "collateralIndex": 1, + "collateralAddress": "XjXHphxhMDt7PEvxe8AZxstsGgTSJ4tMtd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.236.119:9999", + "registeredHeight": 2029905, + "lastPaidHeight": 2127062, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjTwaPj1sVSjnhpHrG7NAUmyJTQpuSYCw1", + "votingAddress": "XmQP4Z8DmzBbS2bf8kebgoUMJgPRynYjry", + "payoutAddress": "XyHrxWcLxhLbT8wr2rQ98HSDaPaBB3f58Q", + "pubKeyOperator": "a61df70ebb7ac72cdda363baa005670e60ba41ec0dc9368fead05b4683f474d1c0595b3efe92af8eedef8ad7c32e5e8c" + } + }, + { + "type": "Regular", + "proTxHash": "6a32c992887999aacefdd8e4ea9a6273dbfc6b940989a78517dd5952586718cb", + "collateralHash": "5c5905c610809093e40afeda1e536fc2c025e64a077c001fe86c3efda179b91f", + "collateralIndex": 1, + "collateralAddress": "XejANRZDVsPX9v2BSjff6mDTuYENkjjiqc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.84.209.48:9999", + "registeredHeight": 2030381, + "lastPaidHeight": 2126561, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2063004, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xqs1Mqxc4zmBgPN2e6Z4CR7tngKGmhFFyB", + "votingAddress": "XvVjqE8YLCZPmMQ8fp3CwcEn5yrump116B", + "payoutAddress": "XqCVFZV2FBj6Lw7YUPTcD3spBzQ313BD3g", + "pubKeyOperator": "b417e7c0834310772b2ac6496bcd61fd1bd204f8565e6d29dfe88bc76ab64e846d41c7b34f7c9f257e3908bba3613d18" + } + }, + { + "type": "Regular", + "proTxHash": "b55cde7cec8c956a564d96901e20f8dad5d29f984ffa8c9dc7598367d4d12cfd", + "collateralHash": "bdcd5faaecf7414b09b1cafb08f0647d665cdcb7fa1b715df6fad15c51f75894", + "collateralIndex": 0, + "collateralAddress": "XpKwZmhqQ585BNiLqdUhwZ5dBgmXHxTYFj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.18.16:9999", + "registeredHeight": 2031423, + "lastPaidHeight": 2128636, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqnqUUxmQ4B4A3L5QhMGspu3DLp8D4g2XQ", + "votingAddress": "XspD2Dpgr94RHDk85RY3UDJPCWR6o4utku", + "payoutAddress": "Xo3TPyrnMWMQYtrT3rv8ivrJU8oSyjnvib", + "pubKeyOperator": "b535e32414c89a43a88c6159bf9a95609f34d9da6574d52da48dfe9f452389f5028b8b035e9ed8b3a12c76ece3eb6c51" + } + }, + { + "type": "Evo", + "proTxHash": "a61e0dddd59e515ca750b3f9b9627fa4bbbff49f8a56c95caef250628772217a", + "collateralHash": "61bac12e9c7aa981b654207f530a61c64636bd45956600fade193e4ff22e1c1b", + "collateralIndex": 1, + "collateralAddress": "Xx1V1n4n55RExdjnkk5RWmyTnNecYwsNVh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "109.199.123.11:9999", + "registeredHeight": 2031504, + "lastPaidHeight": 2128617, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122306, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc8dH8F1Fnuwoic56EHmBMDPsDdE1EmGa5", + "votingAddress": "XyxmRcBXHPYoBwAoFxnjJMafvDR1qnfbsw", + "platformNodeID": "a880c1440927c4fc62774c7674eac6d06b039dce", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XtYm2imaEVtDA7KJidvjseKq2KAAKcGig9", + "pubKeyOperator": "96ac2dba33251ddf29dbfa572f70ab60d9fd51426558f24748b0384411b2d665b075a1e087c2638e6dfcf32cbae58a8a" + } + }, + { + "type": "Evo", + "proTxHash": "41c180ca7da99171c1c5e983d72172897d78190a68831410f9a786489e6d73bb", + "collateralHash": "944adaaf929b32adeb020d5f6a87ef01a4a1c9ac04fda2a5599216c71a79ba8e", + "collateralIndex": 1, + "collateralAddress": "XbJEMssfcBBFHRns8UE9VngtghvXE8ZTxT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "38.242.224.124:9999", + "registeredHeight": 2031533, + "lastPaidHeight": 2128621, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122306, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwuzxpUCwMViFM6b1sDTVKFpKqaA5iwz6j", + "votingAddress": "XjiaFFAHXKduLqej8Dkpiz55CtZ7HuK9gF", + "platformNodeID": "6111e285a49c9979ed659fc6265d0db1241a0e57", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjHa87MAettc4Gx2c1hYEfELVrkCgQBNEd", + "pubKeyOperator": "b2031c362f21d23094f81e71b6c7da4a05dda8067edf5a0abf484d33c7905b1cb781c74085954566f8ae6fc00cbc850a" + } + }, + { + "type": "Regular", + "proTxHash": "4f65046a3417aa3cde545ea6563e209256d8fa5221f334774bd3104c1f90f017", + "collateralHash": "111dbef896b5d782ad1cb9433551913c8669b8921f4b154b1c1e73a0bb7ff012", + "collateralIndex": 0, + "collateralAddress": "XcWGHxXtihPUtpiWW5WAwXq4DEdF3DRWxF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.182.205:9999", + "registeredHeight": 2031626, + "lastPaidHeight": 2128821, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgenipjzeF4E6uK3W3NhbR8griF1NKf1iw", + "votingAddress": "Xtq4jVUgh6iFfmBAtVezkVWTzfkSx6uQhm", + "payoutAddress": "XcWGHxXtihPUtpiWW5WAwXq4DEdF3DRWxF", + "pubKeyOperator": "ab120e69244607764d356ee4aa3c8a960aa6baf7e90c0130c32e8f0b28dad8614ea78fc82f2f1f4ef967c89d5944ca7b" + } + }, + { + "type": "Regular", + "proTxHash": "3b3a9b4f4fade22019569ff77fc5699390296aa5a34a822dfa2a6db1303ace2e", + "collateralHash": "913b83a794dd65cff5cf9383fe0759c1742f1f76835eb13ad2cc7243804cd0a9", + "collateralIndex": 1, + "collateralAddress": "Xfn5JDNiJQtu4RQKAutkeJ7RxMinppHfuE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.217.246:9999", + "registeredHeight": 2031918, + "lastPaidHeight": 2128642, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2098989, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwJ68VUHABeUEaUWbjDesKdkbGKbZNcpF1", + "votingAddress": "XvTnymyfmQuzTjZC9BWr515puzuFFrdtGj", + "payoutAddress": "Xfn5JDNiJQtu4RQKAutkeJ7RxMinppHfuE", + "pubKeyOperator": "90398a9612bc269294622e37abfae5d3e552df897216a9e2fbfefea57922e808db010b90966ae556d63eb3fbe3beda7e" + } + }, + { + "type": "Evo", + "proTxHash": "9e83857d3a8f031c627dd75325af3a07ff09d3cfde7e9151550537421f50cc84", + "collateralHash": "8a551fe4ad73c21686420b7e17540bff76cc1c5233d0e5a88ab96b4075c5fe94", + "collateralIndex": 1, + "collateralAddress": "XwUppChKJfxSMxFGbe9c54jwf83LfLFH2m", + "operatorReward": 0, + "state": { + "version": 2, + "service": "38.242.233.166:9999", + "registeredHeight": 2032255, + "lastPaidHeight": 2128625, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122307, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgapQwNEYf2yLVJUFDaRiFcLkdHd5yjggw", + "votingAddress": "Xgpwdn3bDGJCDLtizk9qsuyVibURYykwMz", + "platformNodeID": "4176ec928ff0499a7bc7089ea0ff00966eddb3c2", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XiywzNM5W6pxT1hSPHYS5pJo2um7h7NGRH", + "pubKeyOperator": "8564be6687b3259be60175aa0469f3073dd2ee1ba991b93294019adf017686d2635bd225c9d7dead067c4067070756eb" + } + }, + { + "type": "Regular", + "proTxHash": "2ce489b307579637861a19785606c2c12eee311450f30c9fa194ce455fe8c2d5", + "collateralHash": "c54f7a2e33f9c96fbd9ee81a04e9b33f867759053b07986197e8d04fc039e28d", + "collateralIndex": 0, + "collateralAddress": "XjcvPuiWu3sxjPmk9cWX66kQvpZ6vshjKC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "108.160.131.192:9999", + "registeredHeight": 2032490, + "lastPaidHeight": 2126382, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiA2VPoLU9VvbxY519dSMbh8RJjjWpomF9", + "votingAddress": "XiA2VPoLU9VvbxY519dSMbh8RJjjWpomF9", + "payoutAddress": "XjcvPuiWu3sxjPmk9cWX66kQvpZ6vshjKC", + "pubKeyOperator": "981220dc263a13266615315a8acf05444f7556216e4db0087bd7f4f1e4fe221f278623d7b5fa332a54be91ca6b3416ea" + } + }, + { + "type": "Regular", + "proTxHash": "1e70e74b329e536e743b4a99c1b4e4666e9514ed6807499c52d9be7bb9fa2f7d", + "collateralHash": "30ce9abd7aad6605ab7a30838479e5882f5e29930f5c5b2dfbc4d8171434677d", + "collateralIndex": 1, + "collateralAddress": "XeJZRq51gEY9GnXjEaPSuC2kdo6xkUyFRU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.83.9:9999", + "registeredHeight": 2033275, + "lastPaidHeight": 2127117, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnWnUBQNPJvCts38fyGNuvegovbCpZdrY3", + "votingAddress": "Xr8Nc1qrUzLz6tADGktcZ1VsZ85DnXjefW", + "payoutAddress": "XhrbVZ1JXLviSrbv7vMGTbhhW6vyaHcHWw", + "pubKeyOperator": "83c34ddcd2744689b2c5e3535ae594b15ed8f49d168082570570ee353d09799a42b12300308f2765d06b8d87894c5c15" + } + }, + { + "type": "Regular", + "proTxHash": "0ccc9eb11967459bc8ab6366e1f13aabed3a6a33d15bd93f563d47cd53cbc088", + "collateralHash": "4dcfe98a51c993a9a083a35c86049c8badda736b7c4bc101bf7fc073ac71dd05", + "collateralIndex": 1, + "collateralAddress": "XvwKT6Jsgf2vuocKVy8YmChAuCo1jRAbX8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.217.237:9999", + "registeredHeight": 2033281, + "lastPaidHeight": 2127123, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnxZf8cJEjSaSB2imDqpR5CpVHeVfxFkUt", + "votingAddress": "XuwMr1MbrshM4696nGn9fqiuVVrGf4sEiM", + "payoutAddress": "XrM5EoiQqVUErfBRu7jyf38uofGVCLqgea", + "pubKeyOperator": "b7c6b3b4e6172a4a8e79b39a510f1a6372fc432557bce20dbd93fbfdecf0ac523ee175d20ac33d7b84c754eff29b1f18" + } + }, + { + "type": "Regular", + "proTxHash": "f4b73d7e3798f58ac02f7a8334bd3288ffd7bc08f76f5882310556134a7405e9", + "collateralHash": "974a2fd8a103678d158f175c52644f3955f2b0cbfbdcb10a8c1063fc73175a6e", + "collateralIndex": 1, + "collateralAddress": "Xiieq4JbQEj9YL98PWmkvnk9Jbzi8S2n26", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.59.62.52:9999", + "registeredHeight": 2033422, + "lastPaidHeight": 2127312, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsinnVT4Ap9wvc6pPEzK7N8RsuCQVm6yQB", + "votingAddress": "XsNo2csibqM74BVh9XPC7MAJWejSxttXbw", + "payoutAddress": "Xwv2nDWKPUZdN4s32vzg3iarEst6s16Jdv", + "pubKeyOperator": "932b46726e1202f4b2d6335270cd4986baf4c806dbcb4b91b9cf70b6b8a0ae93cab84829ebc6a38fb39058e7cd3e5aba" + } + }, + { + "type": "Regular", + "proTxHash": "4b50b6b2edeb62b2bb100f5ea6826bc75397474d5acb34e7c851974095755f78", + "collateralHash": "fe762f093c9ccf41376f5c4da7aa5aa673efdfe2103a805ac733ac092875c743", + "collateralIndex": 0, + "collateralAddress": "XdB5vMRLyNuZYq5hamYpdJurtgfZJZSkFr", + "operatorReward": 2.5, + "state": { + "version": 2, + "service": "192.169.6.87:9999", + "registeredHeight": 2033522, + "lastPaidHeight": 2127638, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf26TaFfY5XyNGDgz5LqQJ2ooJfq5Pp83b", + "votingAddress": "XeE3YgBxrHcohSaXZiFEmzJHPL6uYay4De", + "payoutAddress": "Xw3E1hQYA2EvacgWfxWrosrJTDGRpufTu9", + "pubKeyOperator": "8f5c9df8740a5955234e2d7dc50e324b8e60fdbbf662e9f47cd603f312656aeb098aaae0558f0fa7d7c1d1189aa0c65b" + } + }, + { + "type": "Regular", + "proTxHash": "87e60fdc618001e5ca61bab1f48ceb03399454776f5510933f2a0433e40fe9a5", + "collateralHash": "1d156d058c3283c012edb5811d192cafe3683ca9b2125020eebbf22a1602e566", + "collateralIndex": 0, + "collateralAddress": "XffKwtwBMzrXGNXhC91wjng5CUCWaACzjE", + "operatorReward": 2.5, + "state": { + "version": 2, + "service": "193.29.59.96:9999", + "registeredHeight": 2033522, + "lastPaidHeight": 2127642, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121479, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcQks8GFUSK9e85D21b2E97iC8ppFsZpMe", + "votingAddress": "Xs1SUuRYnDdaUK9zVtG31CdDg9NJ5VqL7Q", + "payoutAddress": "XtJ8ZReJASbsYRKxz9YC3AfMxNnPLnMmZd", + "pubKeyOperator": "834913633cabaf684c3bba0133cdc08b846e241a6fddd79fd77d39ecaa612ff00a7b7e8300e1e308ec62e317f61f0d69" + } + }, + { + "type": "Evo", + "proTxHash": "8b447ad22f5068a9f7fdd46a3aa09387d53933f56b9d625d0c1981888a92afe0", + "collateralHash": "b35f2e1ae5109cb21d3e2021b563aa6bb1db477251372b90028fe9d2891b5ed7", + "collateralIndex": 0, + "collateralAddress": "XmCDsFbRpTbZjNbnwa2MrwQLGjJS74aNzJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.157.91.186:9999", + "registeredHeight": 2034030, + "lastPaidHeight": 2126152, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128855, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxV1GvpDgZU5PA9zc7cALFjuPFpHpHyLKb", + "votingAddress": "Xk3es8Y1zLDhJkopFEJ7JnJ7RjV8XCXqTS", + "platformNodeID": "503190be0732d4f4bbe5b4a2d95d6e7af3280469", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XpA4oseroNCUCpdkDDBw2pYYq5KhshEKuS", + "pubKeyOperator": "a209a5d7a50048c46c27f8bc4b9d93762c6972fdd35a339803f743c4e7c072581fffc693e25969c69e51ec307b963dd9" + } + }, + { + "type": "Regular", + "proTxHash": "636cd738d98babe4406aa0eb94af93e3725cc0e8fcd75b93af840eaaf7815e53", + "collateralHash": "636cd738d98babe4406aa0eb94af93e3725cc0e8fcd75b93af840eaaf7815e53", + "collateralIndex": 1, + "collateralAddress": "7nzvmX6EWqqRgKZaRg1RPJ8ez1VFCzGsUt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.223.135.214:9999", + "registeredHeight": 2034244, + "lastPaidHeight": 2128192, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrp7ZboonhfMRYJjUaXSbJdgUkNRJcnLDt", + "votingAddress": "XhceDR9QBbLt6zc2JFXdEUs41qNV5wsgeE", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a33d57304b4ae14242eecc58a58d0809ed80221b38987d5ed0021da4743dba9a6bc29c2df60a4b8b81f22e9759966276" + } + }, + { + "type": "Regular", + "proTxHash": "97af1e3fa87da9b08d803b97463b7f87522e91d62177443c75670567e190c070", + "collateralHash": "6e70f3482f30eb76f5e45ac571405b5f8fcc63ef31fdbdbb0eba06d806bc5eef", + "collateralIndex": 0, + "collateralAddress": "Xw45PbzLgEstT3xQR6UzDorSbcn6KEMtuz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "82.196.9.190:9999", + "registeredHeight": 2034955, + "lastPaidHeight": 2112974, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xx7q2MTVymXVS9YdJwi6qu7bfBma2fTsMe", + "votingAddress": "XoLYAB3z8b2QkmW2NaTq5yKNS428zZTDGr", + "payoutAddress": "Xw45PbzLgEstT3xQR6UzDorSbcn6KEMtuz", + "pubKeyOperator": "98c5b360a3b3a4d64da579e68ce9f717c954f1dad72349cdaa8709f668ae0967903c7e526b9043997ff9285c0e6b92e5" + } + }, + { + "type": "Regular", + "proTxHash": "83df686961f7c3df7deb68af54004604c92c3a22f9df7ecfe4b4d565b0c7cc67", + "collateralHash": "baace5ae8e058303e19af7fa565442bc4fcd3828bd37add96e466b152d9f61d5", + "collateralIndex": 0, + "collateralAddress": "XweTHoaunie4jvvKWS9pLFJGXkDAh5Z7ga", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.22.25.87:9999", + "registeredHeight": 2034965, + "lastPaidHeight": 2112989, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115691, + "revocationReason": 0, + "ownerAddress": "XjFDqssR4wFAJ8PKmDBKLsTywYsd7QchRa", + "votingAddress": "XnFtgAVP6aDasR7qt37wjTDcLDHLyA5U8K", + "payoutAddress": "XweTHoaunie4jvvKWS9pLFJGXkDAh5Z7ga", + "pubKeyOperator": "abe8a2cbe5fdd412e70f01e021dd197d875093a4ee9d7591cb483b6d9a18493009d8629dc192467d7b0767432970f99f" + } + }, + { + "type": "Regular", + "proTxHash": "1706c7970e969aafd541a4506d312b0e5dff39ccac19537ce425103b5a5ad4ac", + "collateralHash": "13f457cf55df4e88730c4a24de56f07b8d389f6c19cca596db8de82977dc7bff", + "collateralIndex": 0, + "collateralAddress": "XbRcd8KPYTbb5rx455E4wqy9jpxPrjtV9c", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.109.89:9999", + "registeredHeight": 2034973, + "lastPaidHeight": 2112999, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115114, + "revocationReason": 0, + "ownerAddress": "Xjhy6SAupuHsRLW74wGzsK4cP6MKDTTJEm", + "votingAddress": "Xm3ANHuuUyBGmwocRCsLicdNygdA6cBkQ5", + "payoutAddress": "XbRcd8KPYTbb5rx455E4wqy9jpxPrjtV9c", + "pubKeyOperator": "a773d5a524885647450a9bd8476fafdae4bb97f15ba857bae69cec0253564f98026400d4fa65650e3a4c0e5c5196fc59" + } + }, + { + "type": "Regular", + "proTxHash": "1a6d2aa33a75c78ea99a9d0231eb1f91580e9f67ba72ca601efd1c5f361c0fbe", + "collateralHash": "24f8878e2d6040ba3b38da7239274a41d5569702fb0d98e81cfa22e0fa168707", + "collateralIndex": 0, + "collateralAddress": "XuPpqDHivCtWNb3JeGDhwNrK6DbteTnLmS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.203.112.94:9999", + "registeredHeight": 2034974, + "lastPaidHeight": 2116369, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117131, + "revocationReason": 0, + "ownerAddress": "XyRzBQJcu5rmQccwgeuXBp1rqzMsgVqKb2", + "votingAddress": "Xc2kqgTdJxfaXYdSahbxhenPXcfuiW5SAv", + "payoutAddress": "XuPpqDHivCtWNb3JeGDhwNrK6DbteTnLmS", + "pubKeyOperator": "927c921f42a0837c5dcf1cc0d10442dc27894f9c63c9d15e9f7d1490b5a5d57a3b4c0b1a84303a8c04a1b7a021e87425" + } + }, + { + "type": "Regular", + "proTxHash": "1ec0015dc56c529bb161f7b6c196955fe368ea47d37d74ef4378f8a4d1aff80f", + "collateralHash": "f768e5418c13fe4f990adb98e395ffdbba66891c2ec38f9a8ce5569a7513cedd", + "collateralIndex": 1, + "collateralAddress": "XetpeGw5hHG696i5e9MqQuZ3HYMBNEri1r", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.241.115:9999", + "registeredHeight": 2035378, + "lastPaidHeight": 2125970, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiT9fc4L83YAogY9FvHf5tfeg3SJQmZvsE", + "votingAddress": "XbmcDcz4brwpDGse7gYNR26Sd4xCHh8GLu", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "acb4c2d3f462405bd2e9a3742b6a32cf2626aef368386b171586e2e24c88014d93394d63a6be6f804c9167d88085b159" + } + }, + { + "type": "Regular", + "proTxHash": "068f02cd536e8aa88679330b68095ad7ea80504597034934a538afa12d74ee1b", + "collateralHash": "e8db7f8056d5f99ce1a04e75a6af0c7e4d77e958a37b6e08265b2a3acf60e46a", + "collateralIndex": 1, + "collateralAddress": "XhHpxXwnAczHBZFkJqUXf2j2CkE4xLLSEe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.9.210.4:9999", + "registeredHeight": 2035381, + "lastPaidHeight": 2125973, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xdk5EhLHWw17uaJe9n5YzbMoanQLvGoyZi", + "votingAddress": "XepZqctkiGygq6juCp37gN8UGDsjUDwBwM", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "873ae14c15d1ccbcd9a626797c2bd8c6b8af882e006b3c71ee4fb8f169e3186867371e8b4a38152da6349202e4813b49" + } + }, + { + "type": "Regular", + "proTxHash": "5f6e679df5d08adb3c3f2dc2ca073d23ac4e1654168472094dfba9e196af0597", + "collateralHash": "69d307102660f920f3bc5efa2f3068a47949b72998fcb47b223f4cb1387786a2", + "collateralIndex": 1, + "collateralAddress": "XxYBF24jHAECFSf8UQnaQsFcnQH69eddAi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.50.34:9999", + "registeredHeight": 2035386, + "lastPaidHeight": 2125974, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpodbqwVXy7oAK8Ecwr2SxrHh6D5aAqZKn", + "votingAddress": "XxdMUanxx5MEaHTm83vowQkZ8NzzqzKm1Z", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b7036d2ed8637e15b6216704ebb8bc432e96da575ec611bf96702aadc1fde49097f1ff92fe112dcbc081a526e2c66875" + } + }, + { + "type": "Regular", + "proTxHash": "bb0f4459a4a593d92da640b3c647ac4b34782a0b3352b9633ecfab71ad4fdf85", + "collateralHash": "d940a42873f29d7e7de5a1b0aac31d626dcbaae9c6234a3fe5ec982120bcd2a2", + "collateralIndex": 0, + "collateralAddress": "XrLytvV8H7o284zMmsxdHjEHXzUecVrqmg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.176.8.92:9999", + "registeredHeight": 2035812, + "lastPaidHeight": 2126353, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqYXLsBiiNNdNXgLGi8dxxb6aDJf6ikMYK", + "votingAddress": "XogFF95Z7izzVq6EThgEUiTcxZZskiW58B", + "payoutAddress": "XsjwFS1MX6d9KJgAZ54cHxz2pVWKMFxpRp", + "pubKeyOperator": "9676bcdcc6acb1f1735b655d6b71af1b91d8b16b690a9f41c744ffdc3e8d6477bf11551ffdf3c8fa2221e7bc12d4102c" + } + }, + { + "type": "Regular", + "proTxHash": "0d4997d8ac4c1dfbe71cef2aa647e6c5015878a6d072127911e8efb187ceb465", + "collateralHash": "48b888eea155483a7e84b690517d76b9c7d2a4f9a1350e3785aaf873ec598ad0", + "collateralIndex": 1, + "collateralAddress": "XyaafEgT8k2owkuHexTHn1sK7aw4GTpZDk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "62.171.178.40:9999", + "registeredHeight": 2036477, + "lastPaidHeight": 2126925, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvjobgpk6soFvS6ar8UwziDuF3qqPHDLNM", + "votingAddress": "Xvjobgpk6soFvS6ar8UwziDuF3qqPHDLNM", + "payoutAddress": "XckP1MCThUsPHYqmbJsi8XbcZrX9HfujhW", + "pubKeyOperator": "93680415dea56d81673e39590764272f36f5795129467de4341565bdd6e17b538b598b66453419b5476a947d2209d70b" + } + }, + { + "type": "Regular", + "proTxHash": "fe9ff6b8a7c701313e4c2368d279cb2bbc54a54b55171af9cc5ded1d8c72b967", + "collateralHash": "6cc119c63e05d215546df22aa7e5ef22caa3d1588913de89210aa9d3113bfdfb", + "collateralIndex": 1, + "collateralAddress": "XwRFueLb45QkEZZv6GPYaKFbhDArpx6EVh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.185.40.171:9999", + "registeredHeight": 2037089, + "lastPaidHeight": 2127601, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnh5S5A83LPWojxn6FtjnQuTuvU7YxHH5z", + "votingAddress": "Xnh5S5A83LPWojxn6FtjnQuTuvU7YxHH5z", + "payoutAddress": "XxWjgFQYDPjTbN1xdBt6jY5c7oaaP136VX", + "pubKeyOperator": "b1c699e12f6ddf4db237cc099a0b88b7edb859beec1119045514e495877ebee629a5a0c58ed34e7b17a6430db660c117" + } + }, + { + "type": "Regular", + "proTxHash": "df8e01ed6b560927dce7486046b246632eded096f008a9706625e7def0899144", + "collateralHash": "9debd2fef789d3261926368ad256271e05c0e7077e2a16372a44f81c4e1afd52", + "collateralIndex": 1, + "collateralAddress": "XwEVmaP94DzHLZaQaW2Hi7wXupJpXirtHC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.238.160.145:9999", + "registeredHeight": 2037191, + "lastPaidHeight": 2127094, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123931, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp3W9UxBUfLaAcanV63GwnpGonfr34om1X", + "votingAddress": "XvfD5Zvz1VqTSki9p7RJc2Zat6Lmy4pHcy", + "payoutAddress": "XpyKPDJYrkFFv7jnrHbyy5VyQESSkSR55n", + "pubKeyOperator": "8a63e379b7675b29b24eb9474deb99da3f8a000740bfa4a00c6eb0b460e4f23d6aa0c183e3b68040c8e191d4c4642f8b" + } + }, + { + "type": "Regular", + "proTxHash": "4f141eb2663c3e1b99eac9ee5b344e9cc65cb09f6252f5172c3ebb52cfa3bb1c", + "collateralHash": "d9c1c6fd168372aa174437e66ba6cb3c88631a79bf6a45727bc9cf846c6358a9", + "collateralIndex": 1, + "collateralAddress": "Xqtijd32EgKkfYRNwz9EyMYLc9fZpioVRT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.17.248.91:9999", + "registeredHeight": 2038816, + "lastPaidHeight": 2042190, + "consecutivePayments": 0, + "PoSePenalty": 3810, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2044554, + "revocationReason": 0, + "ownerAddress": "XpdFMhirn1cmR3mRNP2MJvW4cBLkzpBgrJ", + "votingAddress": "XeAsjmJ1AB82aeNgkmUep4Aw6qwxC3a4Dv", + "payoutAddress": "Xg5ahLSqrmkyC5qtjJrQEegnL2vTUeXzC7", + "pubKeyOperator": "82e833f21f3052e5e4cb3b159c8b44bc4a36dda04cad8699fc183933b7e43892d8b785f1bb91e1074d9697d37bb17714" + } + }, + { + "type": "Regular", + "proTxHash": "3802c1fd740fb81f19dc3212e046f4d31fabdfde5418f0d3ba7727853c7c22e2", + "collateralHash": "c6005b82e35fe70015685a23f5ff725034b692805e59cab226f384a95ce5fca0", + "collateralIndex": 1, + "collateralAddress": "XkdwWXHcUMpR7ypC5XKsziHRpH2jbXbPme", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.211.196.34:9999", + "registeredHeight": 2038816, + "lastPaidHeight": 2113511, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115690, + "revocationReason": 0, + "ownerAddress": "Xdys4q1d2HfvQsRNiueFzgmgh1qNNeDyQy", + "votingAddress": "XtYU5Y97mZRTA1kMjwkCjcCzvA4hh5c1S1", + "payoutAddress": "XsnHvhgDi2DxWpA5ZZxoJfTabe7Gmabp61", + "pubKeyOperator": "afc3416e87edab4e5918d41b6af3e44fc1493881aeb2072a825fbaf13b9f3c556224101359a90ae15d7f4a47db884dff" + } + }, + { + "type": "Regular", + "proTxHash": "d8b2d57db170b32b8b95f0ef8c7b11ca6ad737e202d5bddfa757a78841f52471", + "collateralHash": "00999aa68239227735aa6cbeed73b710d3c9b76cf0b58fe79399e8d8a9359307", + "collateralIndex": 1, + "collateralAddress": "XwWoawypS1V35qkHf7U3twEAAniJHmCmXV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.236.97:9999", + "registeredHeight": 2038918, + "lastPaidHeight": 2126130, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xi751QgLww6VJSdgfwn6b5dRXETwisaJAP", + "votingAddress": "XtQiTfSLHpQZzjv2y6NepUSSGxJrHQgDoZ", + "payoutAddress": "XwWoawypS1V35qkHf7U3twEAAniJHmCmXV", + "pubKeyOperator": "8c302c538d0367833a33bcb5f01c72b25a776add8b5c4ab0f8d0910bf2a2021d8e4080f2b886ff4760526e2bcb00f76d" + } + }, + { + "type": "Regular", + "proTxHash": "0fdbdef745b288aa3de234df7ddd971720b7dd67e98a5e663760b520554db02b", + "collateralHash": "6f24ab06bde8cbac29b92968a7cf518b51d702b46bf33e27f25c3ae1788e1e24", + "collateralIndex": 1, + "collateralAddress": "XsCVvya7soA8W7YZjfqzUGP2gvFhwwpYde", + "operatorReward": 0, + "state": { + "version": 2, + "service": "216.230.232.125:9999", + "registeredHeight": 2039236, + "lastPaidHeight": 2127188, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121059, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy9bjNCRg7Kc2xomzQNLZaWZmf8RPSzFUc", + "votingAddress": "XvFoJWF5Gfq4E3od9D3JrMA7EkyJNo6i9A", + "payoutAddress": "XsCVvya7soA8W7YZjfqzUGP2gvFhwwpYde", + "pubKeyOperator": "87830c4834ed4c1b9fa4f16d258bcce4e7c25389ea3f0bfbe984c013c4750830e8ac348dd789ddb9eeec23343c580ccb" + } + }, + { + "type": "Regular", + "proTxHash": "0e46835bc1f8e0c3ee25393670058ef50396eb57994e1ff4cdc14355eccbfeab", + "collateralHash": "4961d6f076f70b9f31638a1a705382ba85df47756de98e631646ab276b0f9daa", + "collateralIndex": 1, + "collateralAddress": "XnsPwd1WuNwywTKeh9SCfdRmRe87pcN4CE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.211.196.46:9999", + "registeredHeight": 2039772, + "lastPaidHeight": 2114534, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116554, + "revocationReason": 0, + "ownerAddress": "XngVpQiwcmQVaevuzhm4kdEn7td5Pi52dD", + "votingAddress": "XwcngXYQh3EzJNS7RSgaUMqLqsDpA5aJ21", + "payoutAddress": "XnsPwd1WuNwywTKeh9SCfdRmRe87pcN4CE", + "pubKeyOperator": "8dd33a751db6201854758acfdaa0463f1a209938bf2c5d8f81ad8fa78eb64ccaeca6dbecf93c8e79cc96937f0269d7e2" + } + }, + { + "type": "Evo", + "proTxHash": "1022cecbba9519cc6ae5dcda5d34c9215310d9ddab3f73cb46d332a409e4e5a3", + "collateralHash": "b3372696ed7d0e7e45f15d1c07cfd9ba1a39483ea54cf30a5f7f7fd95712a269", + "collateralIndex": 1, + "collateralAddress": "XrjY6NFAHZSKm9urkPhTpFyQ7s4jR3w2uv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "38.242.253.223:9999", + "registeredHeight": 2041115, + "lastPaidHeight": 2128629, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122307, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xaqgb3DaNJAFy5e8BBC1kzVHLaVFg6RVWC", + "votingAddress": "XcghULfj4EJuJebGMK8ozudWAV7SPJtCGb", + "platformNodeID": "f81487f965ebbe4f2b8976ae088243b2bdefdd3a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XnfKHvaJcQyFE6zTtfXTV3s1uSLHMXR6Jj", + "pubKeyOperator": "87dd51d17846e86752bd350518bf1cef7640d86dd4ab29c303d3335f6ab91ba0bb882c540f3dff663c874c304aaabb0b" + } + }, + { + "type": "Evo", + "proTxHash": "d014f16e0dc12e9be9de52d52b2eb57d6427a13072f7a9bfe1d761808b0876d8", + "collateralHash": "ae3358c0b0293caa3116b06797f8652607e61a54848236109cad1b647d6f47b6", + "collateralIndex": 1, + "collateralAddress": "Xmeec6sNZfXuzq2RPNWss2Q4q9LE6QrpQF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.108.74.79:9999", + "registeredHeight": 2042454, + "lastPaidHeight": 2126954, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120901, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XucwjzFaaGNqULp2KqdJhViCWYUoU7Bfd4", + "votingAddress": "XucwjzFaaGNqULp2KqdJhViCWYUoU7Bfd4", + "platformNodeID": "61fa724b4cfe54f56634866b3bf5455f81b9ad27", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfTcr3fxvpJHYeJDERd5DZoUiSNM7xi6gz", + "pubKeyOperator": "a6a488937d165b3a559b8f9d17931a1aaf17ae4b702d28cbbf9e22ee0c433552414d0548c402fddb4698c691a9c9f85e" + } + }, + { + "type": "Regular", + "proTxHash": "9f7702f3e459cfcbd5f6bb3a8c76012ca28347f0c781e85e73d87056491e199b", + "collateralHash": "7c4eb180d3020230f837a7843f21cc628b746a6e70ae7119e99232ad180a934d", + "collateralIndex": 1, + "collateralAddress": "XiFCJ4eT3PP8ythknS3zAT487mtLtjNjZW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.190.37:9999", + "registeredHeight": 2043646, + "lastPaidHeight": 2127433, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjNTRM4KyPYuzQpXzREAJBsdj89GjtAHuh", + "votingAddress": "XgwxiBc2FvJoLxzQoGbZsNQzR4UXwRac6z", + "payoutAddress": "XpEn4McCPG3XfJUkpqmYGTB4t38RaVBCpz", + "pubKeyOperator": "81cf4c6c36847b878cd2b42424e49267269c021f354e7960e8e6be16ecec5315fe41aac5757c8264b4083634a60760c4" + } + }, + { + "type": "Regular", + "proTxHash": "9208962a55a96f3f47ffbf5fca0f89a5da6a07dd5b7d04a8cc7a3e70a860cec7", + "collateralHash": "6a4a0e4375ccc0e9e164d4a750138bdae60549b188b83260529ed69beba755c5", + "collateralIndex": 0, + "collateralAddress": "Xeuusp6omeVv6KFuQnJqCZ4ZxECJPZtZoY", + "operatorReward": 15, + "state": { + "version": 2, + "service": "89.47.167.94:9999", + "registeredHeight": 2044106, + "lastPaidHeight": 2127934, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt2ei13VHfsquiP4bL9SWpXBvitqznd987", + "votingAddress": "Xu1TCG7UkxeRDEWWs22KQKcpfT9WYJKHov", + "payoutAddress": "XjMgrSgT4aJ5yhecpTt7RnqLdRahifMLiQ", + "pubKeyOperator": "b5e50c6c01641327e335381605794706152a2d9ff1c9ac22c81684d9a908f7b9e50035e2b8df6644866b70778b20e468", + "operatorPayoutAddress": "XenkGBYESfEh5jgeMprQV51wL9X31fPfxN" + } + }, + { + "type": "Evo", + "proTxHash": "c418f3897f923d8b5e1c5087b552e38cfde15292299ac4de0fc415be0ed08230", + "collateralHash": "09009d08d83d364f726a8f7392872fe4a6bebdd6f7015d4e12e8df12aae04744", + "collateralIndex": 1, + "collateralAddress": "Xchm5i5nBPWbpHBShQeVDiy9ym8474PM5m", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.108.74.78:9999", + "registeredHeight": 2044793, + "lastPaidHeight": 2128282, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121991, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjUZVnrKSSZp8tQ6SropBJGpcDfTSNFiB8", + "votingAddress": "XjUZVnrKSSZp8tQ6SropBJGpcDfTSNFiB8", + "platformNodeID": "8b81d0ff051b5576b2e8009004e457c349ac17d0", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XkDAznGMdnF46nj2wAmYbzvoQeXdk1XixD", + "pubKeyOperator": "a2d3741656a40811fdee2cd488140935b7afb874730f8a2afad6493212607848f40410f9cd3175227acbee441b98fe85" + } + }, + { + "type": "Evo", + "proTxHash": "79f6b7508b8982b883ea1a6e6657e005fc751729bd6ebefae6d5b012c3661323", + "collateralHash": "4f7a8c749e28eb9ecbe61365b650b607a602177a21f157f4557dc82dec1be8be", + "collateralIndex": 1, + "collateralAddress": "XhTEaFvozr9AeL4A9XTjJzoJBucUSpC4EA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.108.74.95:9999", + "registeredHeight": 2045285, + "lastPaidHeight": 2126964, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120908, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdyESedwKpenfLYf5ztnzT3Q1MxRK6MEg3", + "votingAddress": "XdyESedwKpenfLYf5ztnzT3Q1MxRK6MEg3", + "platformNodeID": "b47f61a0f00f1e0b7f4315d476ea5319844df0b8", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbNM64cz68wHy4RsxVk8fYBe32yLimjj1D", + "pubKeyOperator": "b9f6ee4e924c3647dc43ca8bfc6821e896fbacc5157130dd89c3d2c3df4a1a21a3974aded03cf540d1ec9f84528c9ece" + } + }, + { + "type": "Evo", + "proTxHash": "975f3ed61f5ecb096509aa52b10fdc6a4b3b371d5d22835e393ec2a26ff36b9f", + "collateralHash": "31692c4a85c9117f19d64c077eefedc10dc33985a1ea8c4adf98c7694d3c735e", + "collateralIndex": 1, + "collateralAddress": "XkJD72so7riZ8nzgyeq9ANJ6vX5WHnDRw3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.108.74.109:9999", + "registeredHeight": 2045354, + "lastPaidHeight": 2126148, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120081, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpr62RzEKgioZG1qJSWhV1qUA4YZ3poTdU", + "votingAddress": "Xpr62RzEKgioZG1qJSWhV1qUA4YZ3poTdU", + "platformNodeID": "26158dfc0162d05173cf1853ad52b9b207d05ba7", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XqHR6sWUcF7dNoe8YhQmyvmroSGQZ39qST", + "pubKeyOperator": "b6ca2b094e0ddde0a5b1b22d4558890c361104a25f864f84c2c49b05a67353e3a8e904e5f406265e1c9315037dd8ba7b" + } + }, + { + "type": "Regular", + "proTxHash": "8e94637a0b4295d39e58a57a039d2db2609ebfe7aa5abbaf8dc78a0fd07d6540", + "collateralHash": "d57732171d58a5b413736d2b81c007bd04bb9438a78b2f8e6e23ca2f202ac3cd", + "collateralIndex": 1, + "collateralAddress": "Xire453qCVtZvd2prZALsqKMPK7VFeoYUh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.199.70:9999", + "registeredHeight": 2047663, + "lastPaidHeight": 2128149, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfuz9W3pFmghBGBQnEzspJ7N2F8MWt6r4Z", + "votingAddress": "XonqpiMnGMAPBd8mrfqHYukXg1Puz1NKiS", + "payoutAddress": "XeWQYKhAvWg5nM2bzXGVW83ecJASAmge2J", + "pubKeyOperator": "a8223ec4dedf66500e180f2d9586d2653144213f48454bbda8059084b54961d57355b8701f5a98f60e570e5839433860" + } + }, + { + "type": "Regular", + "proTxHash": "7a7e372527f616def2a6391c68b8fa501cb6d75622953f77cc7c7bb8fc7c15fc", + "collateralHash": "ba2554ea60a010b6604df4678e01756b2ac3c241e73fb35d177ac907671564d4", + "collateralIndex": 1, + "collateralAddress": "XyY2AEWEwVKdQgHkrd8qZSpqteuWTXh313", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.82.24:9999", + "registeredHeight": 2048060, + "lastPaidHeight": 2127355, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121203, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqGUDfmgWD6EVQbJkmAjWzVdnjV21qkY3T", + "votingAddress": "XqGUDfmgWD6EVQbJkmAjWzVdnjV21qkY3T", + "payoutAddress": "XpdPQvyPE9C3MrLhnQJ1tGqGEAG6UKRvgz", + "pubKeyOperator": "a23eb86f6e77fe500a81d7728a379cc6518ca57c5218d1ca08bdb0166c88d75074cf480def50aea704d24297df1486b1" + } + }, + { + "type": "Evo", + "proTxHash": "3d039ce62023346c62c2fe5f1cacb3a38678a0f54a2817931440d6c8e0856edc", + "collateralHash": "9c9941ad5d7be2f2cc1758babf11ac4fb90e7c72b7e697871711c59441f77e31", + "collateralIndex": 0, + "collateralAddress": "Xh7bVZn2RZCuXFz7VeBtx7iiGhLMr6ficp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.157.91.178:9999", + "registeredHeight": 2048692, + "lastPaidHeight": 2125857, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhJcadUjCr4TwiiyzWdSWG1RcTHnrp2fxS", + "votingAddress": "Xs9v9Zv3YxYtK4B4fxheZ6HhN9yCaoMsmT", + "platformNodeID": "58d758efd634407e7ca6564f74a9e79f1d434adc", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xayer1AbcSWQnBEowZCKLUPdjUH6SrgygX", + "pubKeyOperator": "b45f5579dde0e1c0731292f2412e7b6fa8e93b548202f88c0870789d77cdf054909a7e68f73900de54a742f7dd2217eb" + } + }, + { + "type": "Regular", + "proTxHash": "c2780a4f92e3aabc0f3de4ce4ad8bf8029472d1e6d50a9638e96769cda133890", + "collateralHash": "399784302b96d213cff9c8b606d1b0fc9142e76fda8f2ad215e3e3d0180e8e60", + "collateralIndex": 1, + "collateralAddress": "XhqH4C9Fe5yYCcbVaS9uEMHEv733BeVdKF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.176.13.180:9999", + "registeredHeight": 2049080, + "lastPaidHeight": 2126175, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu5ReDreddMdkTjF33JJrGwd71LTWhEwjN", + "votingAddress": "XmKyZCLB7b9FXqrMvSqkAttBeHykDY5ub3", + "payoutAddress": "XyQkmasURmiurpmFASg4G1PhuwUXmFyprJ", + "pubKeyOperator": "b5249e91c02c0fb3a59ed64ad71752976f38cdf841a5ab97c93665a9da0423bc0bf4c6daf23f578b52ad8fc77a51fc1d" + } + }, + { + "type": "Regular", + "proTxHash": "d0437d0f347b12142723407e17ce4de7ee096a6db3e31ba9198972af5a22d23f", + "collateralHash": "d0437d0f347b12142723407e17ce4de7ee096a6db3e31ba9198972af5a22d23f", + "collateralIndex": 1, + "collateralAddress": "7fhUBVUnXnFutD1HNGPAvvmKy7KDyVjCE1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "212.24.104.21:9999", + "registeredHeight": 2050012, + "lastPaidHeight": 2127016, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmQE3Zji3sDN1ZyKVqkgwY1NuEWBYq3QRP", + "votingAddress": "XjGAxrqZy4KTESp4tKgvAHaEVeDPV5Ra4A", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8de86a152b717509905c5a9e3ef7dff39bc37a2cba77c24627acbdf4d52a05a43c99100a892f20078849a6157d4b87f4" + } + }, + { + "type": "Regular", + "proTxHash": "6a6d91bd49ce32bf4d6df058444bdddef747f421a982bb07409611a40c738ef5", + "collateralHash": "a0c0fa56db400920542f8ac4f8d7091f051b0b1959e9327fd9372edea083f1ca", + "collateralIndex": 1, + "collateralAddress": "XgYeRL9jvdJCbfHxgin5q8XrkSPzzUL27S", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.80.2:9999", + "registeredHeight": 2050698, + "lastPaidHeight": 2127808, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XccZ7fxfmMazG8QZnfDusBSkehWWsd848s", + "votingAddress": "XmahAgZqTGaFNf8HDD433Q1LhgzJegsmvJ", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a7b19b392b2be10de04573c1245e0a4fdbdecaa38bffd7f96cc87f3e485c80dab7955825c685b685ac9b823aaaaf9bb1" + } + }, + { + "type": "Regular", + "proTxHash": "bf78daf8d825e7b7ad6768bd9827e241ea42eee405e50b1bd372659e67df357d", + "collateralHash": "683f5be16bf47d092546ade2e1c3452b7ae28d89769787d956ac5828495e66d0", + "collateralIndex": 1, + "collateralAddress": "XusdLXfgJTrPmrR1QZXrCxrmvNYcND5ap6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.230.101:9999", + "registeredHeight": 2050701, + "lastPaidHeight": 2127810, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyKZ9CyuXvmN5LcUCNQg52P1kDWVLMFBPn", + "votingAddress": "XnQznwkKRL4VHw45Nz2PKLTfyPpHT7GiU1", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "9822d6214dc50707a1a0e949e99d9881d91727b1e082b51486580801c4411b612f1dfc29688268cd45c9aa8290d4ef22" + } + }, + { + "type": "Regular", + "proTxHash": "a3d855d9a84ed9ec36993fe87635fa6e3e2089f5b18286297dcf827916ef34ac", + "collateralHash": "d8e7399ba7897fdfef10d1cf971bf399e10b472fc0704ad8fdbac3ac88bac624", + "collateralIndex": 1, + "collateralAddress": "XdyViBw2eV95umLrSPXoZPBgw7Mwc3QnRu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.59.32.229:9999", + "registeredHeight": 2052222, + "lastPaidHeight": 2125992, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcPLfvWrGCyrS5oRsUupLhJGhcutLa2UoN", + "votingAddress": "XbDLzscRyGrjnrnK68NjDUKNgWdK4e8mEv", + "payoutAddress": "XdyViBw2eV95umLrSPXoZPBgw7Mwc3QnRu", + "pubKeyOperator": "aac0c81ba671d1631ba0f82085fb72bfb2f90f1076bc921874ff571c2059b43f653a7b487003a10395b971021b97fb65" + } + }, + { + "type": "Evo", + "proTxHash": "85f66efab1cdfbba29a7ace3afa2ba2d429aaa082c8ecd925cf6d9e40edfff08", + "collateralHash": "537201d66e7729c93b642e51cb13bc94796f3101de1af184a8cc1bbcd8d6220f", + "collateralIndex": 0, + "collateralAddress": "Xq3CvKa7uq77wwMi6zXkapqCxZsSyg2HzK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.132.162.135:9999", + "registeredHeight": 2052806, + "lastPaidHeight": 2116610, + "consecutivePayments": 0, + "PoSePenalty": 3851, + "PoSeRevivedHeight": 2092596, + "PoSeBanHeight": 2117963, + "revocationReason": 0, + "ownerAddress": "XijzJvECQusoaqF4WeD532E6hpvvsMZfVw", + "votingAddress": "XijzJvECQusoaqF4WeD532E6hpvvsMZfVw", + "platformNodeID": "0dac10094f405cd9ea2832646eb41575ef2a0520", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xy45nxWTjjUdvypbSH8iKd4dfUkBVumnKU", + "pubKeyOperator": "91ccf2d9395325976fdb0574e5d20a9d5205ad44480bb7dd2b17721c76e0033dbd06ccba35a655c024d4e031bce57723" + } + }, + { + "type": "Regular", + "proTxHash": "38cbf3408f75b3e755361b34cb3fb4c0ad6a96ffba91d123d549c21d580b8b03", + "collateralHash": "4759cda0abfdee5db7042645afdb9142daa2fa5a8434d543860cfa759e7b92e0", + "collateralIndex": 1, + "collateralAddress": "Xkb9J3SDBH8Lau6bjZ7HzozoJsqKtpm2FQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.115.139:9999", + "registeredHeight": 2053144, + "lastPaidHeight": 2126780, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbfWWRwWxoSRTzoVeEP4qKRcb83ewY4QUP", + "votingAddress": "Xn3xVLC8fvpvhpe5zoit8cnCUbStb5Vw6R", + "payoutAddress": "XmuCkJz6cJiQZKUHK7QLQ5qGGXs8eRzQ4x", + "pubKeyOperator": "82768a7d4876e72319d824ab3cfb63bd8d9acd51a2b666d2224060f395bc584748171b4a61c962a6fb490b0efa82b811" + } + }, + { + "type": "Regular", + "proTxHash": "5d142f257e9a1ae0347842579a5ea744731e41b2911910441decd3fa0903ad87", + "collateralHash": "18f89da342b9645a9b56ee3347bae1391026fabef3924f5f99f921bd4e06e01d", + "collateralIndex": 1, + "collateralAddress": "XcyC3YJfMh4bsXRpsPdivkhzMNoL8DqbEu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.8.71:9999", + "registeredHeight": 2053154, + "lastPaidHeight": 2126790, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy14EzF8n3DpTScEhATm5dBvBe1B13kWm3", + "votingAddress": "XeWG5msHiHkKJgkDmFsKJ4zqWMGQdJzxUe", + "payoutAddress": "XcyC3YJfMh4bsXRpsPdivkhzMNoL8DqbEu", + "pubKeyOperator": "90e0623a11b523e643cc4e83e5fa17be6f2347b826d02a826c58bc327da245f8cba24b717bdbdb71dc171fca243a9a44" + } + }, + { + "type": "Regular", + "proTxHash": "125c10b837535081735281606637274cd30e6ef9f127dd5f823115423353de28", + "collateralHash": "444a40f14941e5218274c2aaff1303f56d430cbf5d0a0f168274c794805fdd03", + "collateralIndex": 5, + "collateralAddress": "XgTxksBbs8QkCg44aHR4VBbEeAvcJzFrzi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.109.128:9999", + "registeredHeight": 2053537, + "lastPaidHeight": 2127247, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm41yStyxKe8XWXmRdYc1YQ47DVAkesmrq", + "votingAddress": "XvvZc8T5WAZrGTmtKCaoFx1mB5LEt3GoCk", + "payoutAddress": "Xqa1Ku6u1TsEMLD5NMuyk8Nnc2DHdfMvvE", + "pubKeyOperator": "aa4c63ab5c1893e15173dc4ce5029e1e841006c87f007b8a128d45770803aa2ec415e5aa0ab013022c14484e788782f2" + } + }, + { + "type": "Regular", + "proTxHash": "8247950b7ddb02641ff6292b689592d0a3d210f833cdd474d95f80e8e0ebf0f9", + "collateralHash": "f9039cf6343367dda7ec2aae068589273699d4960b42ea7393191570cb9265e0", + "collateralIndex": 0, + "collateralAddress": "XnbapaZbgEB2KbhVAztdbxJvevMBQwo5Qk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.140.167:9999", + "registeredHeight": 2053645, + "lastPaidHeight": 2127345, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpZq15pkrBuBfT43kicEaQp4fGUsS37sKj", + "votingAddress": "XjVhfzHGqABe6VgjxPnufD3vu1TqKhvCgK", + "payoutAddress": "Xop3ZqWKAbmJDrnFV5z8TcQvNqaAnYfRne", + "pubKeyOperator": "806763ba097d44106d3786c0f1f0aa6c313bb04d87307fe020cc795ce468d09ae6e67630c30a15f0f875fd6185bd703b" + } + }, + { + "type": "Regular", + "proTxHash": "b55da16cf89762b1d8ea69eb752549ec4610ebddbea210c411deb1250dd9d38c", + "collateralHash": "1d42be8180a8c47c43ff6931ef0e3bece8a537238c40db63459201d6538de3f5", + "collateralIndex": 1, + "collateralAddress": "XpZ6Q6FfBbz2Fa9kpctzStPCyT6S5px58y", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.59:9999", + "registeredHeight": 2054263, + "lastPaidHeight": 2128814, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2102612, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgnzYusZ7UEJAWm2QDPRJT3dJZJF5DapTw", + "votingAddress": "XgnzYusZ7UEJAWm2QDPRJT3dJZJF5DapTw", + "payoutAddress": "Xh1d7r3MjsWDprTP7Bo9Y8WTymPtrpa78t", + "pubKeyOperator": "00f03f3d4d82631f5fbad6b6421ca08f4e65b7ed46b435cf66334fc4ed4944ed641bd7e0d7466fab72b001def8e3b96c" + } + }, + { + "type": "Regular", + "proTxHash": "c76809be2d86f7e4c5e9c736017a8c2961a29a5e0b8e27594483b071118228d1", + "collateralHash": "43a448b000e109f93d4c0fb01e0a0ecdf0d06b39d014e40865bfe7f444546372", + "collateralIndex": 0, + "collateralAddress": "Xb5vjADmvuXCEaNXAQaeLjTDpbNaVQFaZP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.12.1.250:9999", + "registeredHeight": 2054539, + "lastPaidHeight": 2128332, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xf6onX6MnMRjGgCzCx8E8ML1g23QvdaNR5", + "votingAddress": "XgPHXxVvQ9jHg4mTqWUYmmjdZAWquT9Fsv", + "payoutAddress": "XwbY9hNP9rQ219zZrCpGaawurnK3292tpz", + "pubKeyOperator": "a2315111ef065beb1760ad8ab9994ee78378c4d656711023a087ce4972a23745136ab60bbb2ba393890db6fc54f4540a" + } + }, + { + "type": "Regular", + "proTxHash": "3c24921eb673ba62eb48344f83e5f9d3f7c97f2a52b15e66a559f22c792fb205", + "collateralHash": "2e683376e8dc3a0ed586096f6d61e510a28de23aff320f08ee53ce3eeba6fccb", + "collateralIndex": 1, + "collateralAddress": "Xy9T5HnzEhqe1ZAhR7V3rDBMReuniVHsrc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.212.210:9999", + "registeredHeight": 2055549, + "lastPaidHeight": 2125964, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvcThctPfv92xw9Kuda6NBPfgwmRyCJU4q", + "votingAddress": "Xbo89KaeAcFy6qB2hchi1as5jrTRd2CvyP", + "payoutAddress": "XgMg965QqFs1H8JbimUydQJPXpR1QPaqGR", + "pubKeyOperator": "a4f0c53f8d996e716c81b0a37b7d3f224888e05cfda2dc4e7dcb7fcbe3b380953c58be7cd836f3256e64dff39f50384b" + } + }, + { + "type": "Regular", + "proTxHash": "932d373f6098c2556500aaad9dc749b65c9b11d1000dcd58fc37f6149b8f086a", + "collateralHash": "dbeed1de28d826557cdd97baf146afca1781306b3b4e014a72e286cd5e6a94d3", + "collateralIndex": 0, + "collateralAddress": "XoQhnBwzRNx4Uq2QG67LmQG93suBBxeErb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.38.175:9999", + "registeredHeight": 2056085, + "lastPaidHeight": 2126430, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbMR3RzHr7sLyWtD84S458F4wvjYAgy8bW", + "votingAddress": "XnhTx3LTTQu2HXgkKxy6QKCnTH6M6dUN8S", + "payoutAddress": "XuG3AaMTYEzhu8dKZz4d7JmD86hiivRzYc", + "pubKeyOperator": "a30930b543669edfcd610632e7dcc6b31ce7162528e153b0aec3b173ae42460eb409137742822bffc5d40ceb8a79ae8d" + } + }, + { + "type": "Regular", + "proTxHash": "74bfe6591243aca33cd810b18d044cf445fb38013216ca3ebf937ced73a29a54", + "collateralHash": "2c0d8d24869b67afed8d986b54cfa670ac64175c38612600eb275b4109c37c01", + "collateralIndex": 0, + "collateralAddress": "XtwNekzbanf3QHVxZdbhgpLBQEgTGtwjxh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.57.12:9999", + "registeredHeight": 2056670, + "lastPaidHeight": 2126931, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb8aEGbHhB1thGvmpYYAeuzviCfirJqADM", + "votingAddress": "XkEDioj4z5EQcvFFR5WqQSvepHXXH3PFXX", + "payoutAddress": "XeTFTN7zvWfbJhemJgyrV2CiZ7XY3Sikso", + "pubKeyOperator": "a34285d618018c792524275768fc82c24c08b57eebdd806dde040c65bf9ba97ce7a04a860abd0a6b78df4dcb0eb8af31" + } + }, + { + "type": "Regular", + "proTxHash": "a764a261d271b6f59d0963cd202743cd031e7546e57e16a7f76c99742b18e096", + "collateralHash": "1812087e5068dad042ee843169bb6ae1f4750714792ba8fa0c0e2e28384efb2f", + "collateralIndex": 0, + "collateralAddress": "XsR7YKJ8GMDjESE7iscBC3ThGWwRKT842L", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.140.58.30:9999", + "registeredHeight": 2056671, + "lastPaidHeight": 2126933, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrWf98gej3VEgoCYTBoGFYJD3vnfYPohpM", + "votingAddress": "XpLXza1Hnpa4qqZKS8XKeefdTub6Km8yCh", + "payoutAddress": "XvTcSfgwpVR8szx2n7LUQA56fGi2qMANjc", + "pubKeyOperator": "821b7458587d49bfad32c078a15c701607781cbe2317f16f2487bf44d66e1e6d0a64a7833a93ad1e2c4458313174d37e" + } + }, + { + "type": "Regular", + "proTxHash": "d88bbb0f5c1e82270e8efe25b7b35231dab7e5ab3a303067d391bf555ece28e5", + "collateralHash": "33c296f7856c40f2c2c86b0a9d7bc2236d4a3bff01744abf803b66cc3dbc28db", + "collateralIndex": 1, + "collateralAddress": "Xgfpy5XZrGURgCcS3EsRahkkpgPRmasCGq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.12.189.12:9999", + "registeredHeight": 2056672, + "lastPaidHeight": 2126940, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsi7MjS4FVEyEzSB8ZSYPaBTW4QX7S6nQN", + "votingAddress": "XwVQosxHptiSMZFiM8CZrjtUj6Xx8KGL9i", + "payoutAddress": "Xg3xj8AY9NiTf9wmkfuWJPY6qZrGKejXV4", + "pubKeyOperator": "a7af2723e97ca30fbbf8a8869c61e0b793fe262efa5fffa420f09df2515dc2fdbb76ec4b233b85f9aab9baa7f05907f3" + } + }, + { + "type": "Regular", + "proTxHash": "feb254a8c3c0d01b772e7234883b73edc308839946b4e3072c726a63eacf5f00", + "collateralHash": "47cfbd56ea94d6f41c7fb9cb8d1d80dacd4b19a937311778a6a605d122004130", + "collateralIndex": 1, + "collateralAddress": "XgHnFnycurm4Hrw7bLLS2w2XBx2kVS6cxg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.212.202:9999", + "registeredHeight": 2056675, + "lastPaidHeight": 2126943, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqfW5ABLkCdpc3xAwqPomfSB36yBvjTgBE", + "votingAddress": "XetpZv15FeHtihQbx5MJjd6KCeCKDMkwXu", + "payoutAddress": "XbQz8ZCAkTbpjJPTbYzuPKiTHyPkkrx6Hz", + "pubKeyOperator": "84356c673341fb8133c18c9db8c11ac4e42820a3280f5464cf77566ebc41838ca6e69602dbb8955f635032f24fb5d689" + } + }, + { + "type": "Regular", + "proTxHash": "12f6e58291131b78b52bb708a6067c67004e738a16145387ddfc94a32b2bc19c", + "collateralHash": "01f7eea51636653be67aebe70ca0ef25bbe6ba48c287978dabc339c3026ad768", + "collateralIndex": 0, + "collateralAddress": "Xu6zbQHhQSDwuenM2MVPokykTf9aJJ84fm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "103.160.95.71:9999", + "registeredHeight": 2056819, + "lastPaidHeight": 2126930, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120884, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XapGVkwqVRbQTrzkyquvHR24eH3zhCapoQ", + "votingAddress": "XiK44ZtBvdKJ5mCw52jFjsh7Ci3zFUghSF", + "payoutAddress": "XqSkVH6RkrPysJHMo3GZBXBSxmHTsN1ryn", + "pubKeyOperator": "9934e520d30bb7bd36a3c26439191664f1ba79deded6d3e4cb14a6dd508b2076db747108387f21d1f2512c6b39e17054" + } + }, + { + "type": "Evo", + "proTxHash": "03e0ac65173d68075ce818dbf01c7b46fc8e9b1d242a3a4bf732ae6ce6471a80", + "collateralHash": "660d7b2fc52631431b68e5109a93882ba42a58a4ef611236499fda6297cdeca2", + "collateralIndex": 1, + "collateralAddress": "XksWzwwF9PtG78edvTACdRF9A3aWy3F7HQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.176.83.53:9999", + "registeredHeight": 2057106, + "lastPaidHeight": 2127529, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2057213, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xj1fLX2PQW4rg9GGf3EGC6eJKpvKyns49c", + "votingAddress": "XgoBG3jrV5LxnNqhD6oeWqvATjS2kgFdGD", + "platformNodeID": "1a872dde6185341cdc5c16f5f5a6b6d2f328ea77", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xc4fQcc1WoFym2JYhenSwDg1FgjTueFopE", + "pubKeyOperator": "86902fd542d9e3bac4740332cea5ae174e7df795e5dbd018767809b2867a69a24117f665b12d7279c41a4dcd53233086" + } + }, + { + "type": "Regular", + "proTxHash": "9b44b4c082fcf45e99d1e306801f632f625c12cca8556e3cfe8aed6f211706b3", + "collateralHash": "824c3a72803ec619c9a545754159d89fd484c6d1e21b0332506f52bdb0f40b7a", + "collateralIndex": 1, + "collateralAddress": "XttoD6SFmze9FPtKWnPTyWZjtJJfmPWSzm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "81.0.249.239:9999", + "registeredHeight": 2057155, + "lastPaidHeight": 2127477, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu1DNEomRHVxYdn5ixesvcbcaHDZuih2g2", + "votingAddress": "XyfGyTR5x4pckLK4dYPerJ71dzBh39xVxi", + "payoutAddress": "XbeSvHwg3QT3JzDfXugRng5pQHKZuVzynm", + "pubKeyOperator": "91810c3707fd9d33aa64e377eba2348cd4d86677cde7c933afbcca89862f58a4bc75703ca4651d58a68cd58c2f0f9666" + } + }, + { + "type": "Evo", + "proTxHash": "a20f3edb99394ad9d93997567599baac88abe28992276b602bea48d5eb4fc2a9", + "collateralHash": "1d0bc817f79c7c224ca44c40e8a684536e037876e1b87c69bb49011e03ba7cb8", + "collateralIndex": 1, + "collateralAddress": "XfYvyFfjLMvoMjGRppb3Me7PPnU8meNMVh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.155.143:9999", + "registeredHeight": 2057824, + "lastPaidHeight": 2128212, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdX651iV4HzSYib7D3oygqkthTWyXGsEFV", + "votingAddress": "XkqZikc7NmeWUtMYgrfVWkATPwCZtmiWQp", + "platformNodeID": "46941c00a9f138be1072184f6431e5110e32ccf4", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XuJV5jqjpPC2f4wMS6b8cg2mteHbFJR233", + "pubKeyOperator": "802afc55f52e920139403433c960ea72d9cf5bb119ab8bcdd715f895fd1a367036cecbf8b85970f317e54895c152218d" + } + }, + { + "type": "Evo", + "proTxHash": "e4bb242753bad98939b0174a1b3354455e57a944abe77e8cc208435ad68cb8a7", + "collateralHash": "3f3ebcafb60d4cda65a0b2b2897679f36e5dedb7f6edbd179ca846bcf6591964", + "collateralIndex": 1, + "collateralAddress": "XfmQpodGj8ockD6K7vNWyVf8tYM48tkuXV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.148.66.223:9999", + "registeredHeight": 2058137, + "lastPaidHeight": 2128514, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xr4rorMRzCq4yeiRZGzxYeM34XA8cbAoAp", + "votingAddress": "XdBZ9LSzKkWSFWEziVCKLihhAganfWefQa", + "platformNodeID": "6d9c81386f0807c90ccd42e735c0176eb64163a8", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xswj5efjgYaz2QX2Yb734bdg6DBUMznpeS", + "pubKeyOperator": "b2136fc6e7f341d933798b0f921936bf2f2f97036604eef84ba04564db4a247d7cedb10fde22f76a46f434c44fbafe4e" + } + }, + { + "type": "Regular", + "proTxHash": "c7537583e7b2ab80973cb1dcb8d70ecf14898038cc92a6ae6f9ffb5281574630", + "collateralHash": "5be91b5ec042e652e978b2cc8a6d55ed75b996b02eede31d333f5e5524e994ae", + "collateralIndex": 1, + "collateralAddress": "XmtZg9ArohuG35odxCf5jMn2o6GKcmvXk7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.29.199:9999", + "registeredHeight": 2059091, + "lastPaidHeight": 2126100, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnqro3FJ5EcaUfZu7wwLT4MR7RC4Xjwszz", + "votingAddress": "XhnAUzSejWqyyYQdEwecmswteJnfYYdoCU", + "payoutAddress": "Xbp1PJwKE2fG8ZEVWampsnfeX9qjCBDqrj", + "pubKeyOperator": "93f29b1ca6222b39e35b9fc398798e55ea290b25ce1bdee513a84dfe370e506a299894327240ce5588ec413daa84f8c9" + } + }, + { + "type": "Evo", + "proTxHash": "c0b811bbe7bad3580506b12ac92f6acac73f35447c6f64685f4daba465be699a", + "collateralHash": "5fc502662e4b764c0ef9345b4983faa09b24dd1a9a845997a03c0ee52f6fe2c3", + "collateralIndex": 1, + "collateralAddress": "Xy9JNKbXgx4Y5mCZMx9nA2F248LWvoKPcz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "50.116.28.103:9999", + "registeredHeight": 2059091, + "lastPaidHeight": 2126239, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128824, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq8sPuptJGb7CS4mG1ns2DPUQUcETvjWHN", + "votingAddress": "XoFNbVexnnKYhBxMJj5rnPRFtoH1pFQ9Jr", + "platformNodeID": "6911c65adeb15823e08246e280289f093c6b5312", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XgJZPQasv8aT5FJPWdMGjpUyJgTSLce7rT", + "pubKeyOperator": "9314c154f8c763ab9d6301e7affccbca4e63fc2454c10643e58c9569c6936c49ba521ee2320dd7e9f5b2797a3e03621a" + } + }, + { + "type": "Regular", + "proTxHash": "effad73393cee69d3b490fb56ad1939c603f9afa1135a8704dfcb2456f2ed804", + "collateralHash": "cc54363fdfb179b4cede4c5775d3ecdb83a1b522e1568885bdeebd42d340e2ac", + "collateralIndex": 0, + "collateralAddress": "XjtivemkVJXYrMDTBHeCzAvjKeEuYDDkjP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.121.134:9999", + "registeredHeight": 2059094, + "lastPaidHeight": 2126105, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcaYT1yconQKFm9ZEvmKCms9TTs89vxSQw", + "votingAddress": "XniCfLmG3U2t7u5Q596KmJaJn93umCZMDj", + "payoutAddress": "Xbp1PJwKE2fG8ZEVWampsnfeX9qjCBDqrj", + "pubKeyOperator": "b1c1bf5b908d9f79203be2d3498ca7d8312c62fad8f0ea30a6c9bc97684133471c632696020277b0bf6e28e55aaa48d5" + } + }, + { + "type": "Regular", + "proTxHash": "a0975da9ad342a40d68be5cf2dafe63e880b44896015e760fb55c01091dc607f", + "collateralHash": "31465836b115fca6742738c8103acc0ebcea8e8fd9767639a3ca2c49d31b3d92", + "collateralIndex": 1, + "collateralAddress": "XbfvW5m7uRjQg7acQdYsN3DgE7QGSvHoje", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.243.142.33:9999", + "registeredHeight": 2059097, + "lastPaidHeight": 2126109, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuacYWVcyLGC1rwN2NYP2jKiqUsNrBku1p", + "votingAddress": "XtQNSj52bcFnLQXNVcUBvaXMqjzBX5zTuR", + "payoutAddress": "Xbp1PJwKE2fG8ZEVWampsnfeX9qjCBDqrj", + "pubKeyOperator": "b1deb28460b8011a8e0fbf6b692f1e81000d66d69e6d847a14012bb2c8e93c225c9e41fe8836af8ce78f7307d4be03b5" + } + }, + { + "type": "Regular", + "proTxHash": "b17483082e8a45b489c3bf913d881e79fec80bcf1f4e720ee3f56b89dcc05631", + "collateralHash": "045d3b4f8d613daceccc857d15d5ff786cc0dcbcd24389f5855efe21f1a75690", + "collateralIndex": 1, + "collateralAddress": "Xr1CmBLdhEkK225KDLf36fUs71JZmzxMFd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.251.217:9999", + "registeredHeight": 2059102, + "lastPaidHeight": 2126113, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxa3ScnuNnmUnRzyeqALhZFWYostYE9LTj", + "votingAddress": "XqfXN8KYa4Tko32UvzMoBmHhe7TarGWmRv", + "payoutAddress": "Xbp1PJwKE2fG8ZEVWampsnfeX9qjCBDqrj", + "pubKeyOperator": "8031cc5faddcd7258bf390c48290c771f7fe522b7830bc69c69d2d6a9663b4c916a09c3535c44b177508aeb5d7343002" + } + }, + { + "type": "Regular", + "proTxHash": "3c21a81af32a9ed044900b90548d751deb2fc043925594a856214b96d24f2bc5", + "collateralHash": "e5f426ba8d1601a34fe54e48c480b4d8d83edfb2812bc08e96a7d1879bbaf0f1", + "collateralIndex": 0, + "collateralAddress": "XjamUqvP1xp78uMX8mpH7NGhVbTwmrg7Lo", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.175.71:9999", + "registeredHeight": 2059112, + "lastPaidHeight": 2126119, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuWZLAJnBnSGKzw95bkcYx6Bk8dieroH57", + "votingAddress": "XbjZwD2KtzRu4ZV4durubjQMhsQAbWnMie", + "payoutAddress": "Xbp1PJwKE2fG8ZEVWampsnfeX9qjCBDqrj", + "pubKeyOperator": "85c4227da8434eef4d3b9ee1cdbbc536c8834625c3dc55649bab2f57b77b718232819a90c8b1aea5aac27b44ffa2145f" + } + }, + { + "type": "Regular", + "proTxHash": "bd117be08f77246d417ef12504eef539f728409f5b4bc55a6444424e81d7a214", + "collateralHash": "62917805a62f9059ce1b26d55ca5116bbe5523100e33168a165390fdedd507ef", + "collateralIndex": 1, + "collateralAddress": "XeVqcCoRt83Sz6A8Y4JkQGRpwFG2bioEEV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "109.199.105.203:9999", + "registeredHeight": 2059176, + "lastPaidHeight": 2126169, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwbEiCqgbAvoDHH2XUsGiDvSzsWydRhCSW", + "votingAddress": "XwbEiCqgbAvoDHH2XUsGiDvSzsWydRhCSW", + "payoutAddress": "XvWARb9qEnG8QwpSng7zW3AkHf7zHkMPbb", + "pubKeyOperator": "986bafc50655399d162fe211c73a4e5bcf2899fffa163c06b5063f8b0004d220c123d20cf15a0d4a5fdd3b326917f60f" + } + }, + { + "type": "Evo", + "proTxHash": "25a8b283b81a0c3b2b3462cffa660b19ee6fcbfe116013705c498fed1bd52637", + "collateralHash": "3fddef46c03424bc687ed8f4a274d62fcbfc11fb9a9ccdbf4bd79f67f8055077", + "collateralIndex": 1, + "collateralAddress": "XkD1Mcck3Mv9bHFU6LDqr2KeEew1d3kcyF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.176.172.66:9999", + "registeredHeight": 2061599, + "lastPaidHeight": 2128350, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2068122, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiynHtewRhaUkDU7NUE1Fi96sHBGDfBG82", + "votingAddress": "XfmXS5SAAgT4sYrMgPD7rSzUNyDfXJeTA1", + "platformNodeID": "08f76ab6c1ca63788e9597730b4232429d1f35c6", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbAiSsJ4jjmtVDkodUhSKE9Y55nmZT8q2v", + "pubKeyOperator": "83840081a94180b346b332bf7a454eb1d49ea6a09db93938d0f63348962fc0357d0c728d173b398b3a9047053a43e7df" + } + }, + { + "type": "Regular", + "proTxHash": "8b834965ac7cf0e910312d5991784a3b1981d189daa4ca5793d7047b7c6f82bb", + "collateralHash": "bacf90cd87353f1010d111da0b1e1671395ed3a5c923143334fd68baa11134ff", + "collateralIndex": 0, + "collateralAddress": "XumCpRpfAf78eDU2oGtQjJCqDqcf9GPcn5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.71.205:9999", + "registeredHeight": 2062952, + "lastPaidHeight": 2126502, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnjjs2qawx2wgKN7XQuHtEKeTMNqu5a9hR", + "votingAddress": "XxmNZPFf59DaGWpN74YzWgK7SMZms8UBVY", + "payoutAddress": "XpzTLMqv8ie3eigFtTpAup9yU4BV1ANBSe", + "pubKeyOperator": "81d7b132c4799130b300038e3bc45a8ab61a9beefb369fe8f68db5703a3a3ae40fac4667eb91646df8e37611403d0cbf" + } + }, + { + "type": "Regular", + "proTxHash": "836ad0cdecf42281a2503462d003f278911f91d27d8cffe8b2e3ad57e4f80a95", + "collateralHash": "93c08539240636275772ea1c32fff55345674e076bef33715622d86d092d9a82", + "collateralIndex": 1, + "collateralAddress": "Xxksa8BQTnLnSqUPz9jq8rYGbBpfmDMRGT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "216.128.143.17:9999", + "registeredHeight": 2065080, + "lastPaidHeight": 2128635, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdSMLFqznhx1JikTfzEX3d5Gkf8xvMk4Sv", + "votingAddress": "Xdg8xBRJdo2ru9e3pbqGvsef2UqQZcTgaA", + "payoutAddress": "XyQkmasURmiurpmFASg4G1PhuwUXmFyprJ", + "pubKeyOperator": "94d6a918bf4a35fed83422d0b95770fc9798736c820634e509b0127af2a3209728133516c219f73413979c4f1c7d28b1" + } + }, + { + "type": "Regular", + "proTxHash": "e152d2588be71911edea0d308e787e7e19330f888fa9c75f3290bb48c6d03a1c", + "collateralHash": "56a4169fcf77132603560fa1d5ba5d507a67172b5cfb322bd3389a8a5da62014", + "collateralIndex": 1, + "collateralAddress": "XbB1Ae87THQsVRRC1mea469YvFEeCGpa8G", + "operatorReward": 0, + "state": { + "version": 2, + "service": "143.198.42.189:9999", + "registeredHeight": 2066100, + "lastPaidHeight": 2126317, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcVo9b9nTDzE2aQ5L7A9D7rsRVh3G4wUxp", + "votingAddress": "Xf957tyQkZbHxXxLWRZXgyQkMCvy3AYZ8x", + "payoutAddress": "XbB1Ae87THQsVRRC1mea469YvFEeCGpa8G", + "pubKeyOperator": "8e945a6af576cd9efba04f106d1926c97b822b3208c26d58692275fc928a8a912042706b51b78f9154d92f0e3290080a" + } + }, + { + "type": "Regular", + "proTxHash": "69ec16c416d9c65714190e3bd902cd353f8db71350bc07c892e291dfd493a3d2", + "collateralHash": "4ba002f0de8b5db26531d44aa82d7c12744b7de2dee127d114d3cab5f0772bf7", + "collateralIndex": 1, + "collateralAddress": "XeShtEMewNeFCwf7WDnZMjzxUdmpaQuZhu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.190.48:9999", + "registeredHeight": 2066125, + "lastPaidHeight": 2126335, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsGhDy6ihRdpz5DGAq2B82yUcbgeQSahPY", + "votingAddress": "Xf9udAhSKBrbQAt81VbuiVNPenbCpS2zcW", + "payoutAddress": "XqCSwsG2RNTdWSFiNk8awoMg6SgGwpcC5U", + "pubKeyOperator": "9139b6836493690814527a677ed44a1b1a6ec4c3c1005973926971c837fbb6582da475d9dbae8caf1773c44d8a64055c" + } + }, + { + "type": "Evo", + "proTxHash": "8bc76ca7a979ded6171e6a0bd9bd2a43dfa052e7b54b092d9862db52efe38726", + "collateralHash": "313b46cac4e095946ecc3d73424d1f90eeffba910beba3a016c0890c5f43d13a", + "collateralIndex": 1, + "collateralAddress": "XfWhuK3BJWBcFMqbGy9etcj68Ej2k7b7Yr", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.176.165.102:9999", + "registeredHeight": 2066399, + "lastPaidHeight": 2126648, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2066505, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpHMAoUP2V9VN9eQbNparSBuU9468ACcob", + "votingAddress": "Xd9EKJwTZ4DSzXtbmHveWKANRTrEvcx5EU", + "platformNodeID": "e9b9d6ac2a0e664c265c02579ffe4e95a70810fa", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XinXfrzGTyNMoD8i9r5Z86L9usH9ZkY5GK", + "pubKeyOperator": "876aa7b7d10602180233c84bef6edd4a8de51ba0366699efae37db82b64e227bc24d8a57b914d306587b7fd65c00e45e" + } + }, + { + "type": "Regular", + "proTxHash": "2de3be6ab0ebd9de732ec2219b68abdb476bb04e76c90ade1046a2593484be7e", + "collateralHash": "8352ebb4806d175fb8ed7c7c4014851266a00700108f74d7f4d10f8966571f90", + "collateralIndex": 1, + "collateralAddress": "Xbvq4WBrP1zQU7KtUssUjputhghjfvVevD", + "operatorReward": 0, + "state": { + "version": 1, + "service": "146.103.48.50:9999", + "registeredHeight": 2066732, + "lastPaidHeight": 2127789, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2101526, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp5ztZ4W55W2ZukgD942dCYKm9jSPV5v8G", + "votingAddress": "Xp5ztZ4W55W2ZukgD942dCYKm9jSPV5v8G", + "payoutAddress": "Xbvq4WBrP1zQU7KtUssUjputhghjfvVevD", + "pubKeyOperator": "0beadc9773da549093f6995bb9b071ea1a149a45a3345b10b62da2fc2273271b68ecf04f63975d67acace882238e83c1" + } + }, + { + "type": "Evo", + "proTxHash": "db5d1d4ad81f1f735bb6cc2561a9c1eabb1a3cd20395508f4fdb36f70ebd4f53", + "collateralHash": "88052fc51dc4b08e6d884292aaef11065c30570c7f918c1d4ed1671e21681fd5", + "collateralIndex": 1, + "collateralAddress": "Xdm53qEJccb8HZWVaCLnVWULFmA63L1Bku", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.77.99.172:9999", + "registeredHeight": 2067152, + "lastPaidHeight": 2128726, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119439, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeeTCSEBJsM5tLkEWbLXDR7DuXaNpd9iJb", + "votingAddress": "XeeTCSEBJsM5tLkEWbLXDR7DuXaNpd9iJb", + "platformNodeID": "c8870c00c4fcac34df6fabc5fa8970ee35c18221", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b911d701a1d6c11c32414c577e244ba209b1ccab558f188919d82faba5416a3770f6351eea62c78502259c599c2a224b" + } + }, + { + "type": "Regular", + "proTxHash": "a79882078a17ffd760597f074c92e3150bf310d3486aa7648d91f7b433e8e72e", + "collateralHash": "278b1df089d9c46c5d87c43de6764983dc2a65802cb8a7079256c07a092a5980", + "collateralIndex": 1, + "collateralAddress": "XbgRPrezWN7rLmKQJiUrRQ4tEHFBJ8Z9M5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.19:9999", + "registeredHeight": 2072235, + "lastPaidHeight": 2125794, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn4GZfpZ1CQxvt2YAcdNHbhRjfpfQ2UGxV", + "votingAddress": "XrzrXgdggq3DzBD7sQ6RevyTABM2t4DguB", + "payoutAddress": "XbgRPrezWN7rLmKQJiUrRQ4tEHFBJ8Z9M5", + "pubKeyOperator": "a6561e47e39d4a047c60b5fd892a8656282ac05bfdc9569381ad310935b3b785517f8777a545297c706f7ba9df45e58a" + } + }, + { + "type": "Regular", + "proTxHash": "8c6cc9daf12a550dce181c765941b69740df2fe3913ea33486c1148490230d1d", + "collateralHash": "7cc6d8a3fc8c3b3006470c8a159e940ac9539b71e74462930edc7c96efb2c83d", + "collateralIndex": 1, + "collateralAddress": "XxbLA1uyzrzBdKih2sPg64tf53ViFNW7Kv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.39:9999", + "registeredHeight": 2073223, + "lastPaidHeight": 2126618, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc3pidbK5P9ZYCu4xJ9TXHUhxodBcxMY1H", + "votingAddress": "Xf5Ck48L8KrSXHNqWgXMtcF57f4YvQAWT8", + "payoutAddress": "XrRTFbqF1a3GEd4EB8pxnJ1NvAqCvP6P2J", + "pubKeyOperator": "a62734c4897c1bc0b6c2bf3971c3d55f61266f6dd479fe1b622843c4c4997f172cc37166ab0bc45004eefc9c4f4328a1" + } + }, + { + "type": "Regular", + "proTxHash": "15f1103476a45bc0d248dca367bf9fc5c79cf1db810f78be8b2acb7e3ca8e83d", + "collateralHash": "604357d27f5041f6315d86458ee99cee0291817ebf5023689ca6503d92305e65", + "collateralIndex": 1, + "collateralAddress": "XeYaLQ9ExupC9c1g1n6o3tChppu2xvbYu8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "38.99.82.102:9999", + "registeredHeight": 2073324, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128378, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjnRRqWdwo3UAsFqf8PWwL14iAgiC4E47P", + "votingAddress": "XjnRRqWdwo3UAsFqf8PWwL14iAgiC4E47P", + "payoutAddress": "XeYaLQ9ExupC9c1g1n6o3tChppu2xvbYu8", + "pubKeyOperator": "94abeb22536010f72e694e824247a883173eae7aeea6e9c3c5c183800d14ff5f17e8d365b502f647aa1f40fa52a60c2f" + } + }, + { + "type": "Regular", + "proTxHash": "ec4b08435952bda3d9fcae748370ef0ee2b19293ada449e012f3e7c31a826816", + "collateralHash": "c5ad34ef64ea70f359106af2e7594aa9b3f0aab2969247c4f85a837fa2c12695", + "collateralIndex": 1, + "collateralAddress": "XgR5r4mTzC4TZ8P1CkDHeYXonxZJZFHZzY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.225:9999", + "registeredHeight": 2073921, + "lastPaidHeight": 2127328, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxtigpqgiJGYMsqUjVj9pCr792A3Jx3S3d", + "votingAddress": "XmBHSaPK3TqqWsnBtetgLjyix89YA5EUmu", + "payoutAddress": "XyHrxWcLxhLbT8wr2rQ98HSDaPaBB3f58Q", + "pubKeyOperator": "91cbcb483f1fe183a0728d6576ac0566b3adbac8e7ea9e1be32da104a40cb108245b9dc9e99ca72cf4e1e33c3526ba68" + } + }, + { + "type": "Regular", + "proTxHash": "acb10a2cad09133fec621aab8622d45adce12d062d94acaab536d52e0d1cda85", + "collateralHash": "a5903108239d9152eff23bb2c842e103f5d1fda3fedc60d75031833457f661ad", + "collateralIndex": 1, + "collateralAddress": "XgJqXGtwAc8Jv7qDboqPkzNGtU7GPcBVmL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.54.97:9999", + "registeredHeight": 2073921, + "lastPaidHeight": 2127329, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnp6yTBBiz8zt4Cjm8i2rSP1Et4cS3H43Z", + "votingAddress": "XpGqrGUNDQFusQqXLkGVfn51JpXyDtRoXV", + "payoutAddress": "XyHrxWcLxhLbT8wr2rQ98HSDaPaBB3f58Q", + "pubKeyOperator": "931064c0b8fcadf64311c68aa79b843322d286d7fa8a7306855c84ad0ccce843e16627e14dc9248f9ad6a9acd9856caf" + } + }, + { + "type": "Regular", + "proTxHash": "aa74bec90951e8a662fd57821bb734b3e846a60ce2f6de728b2edad1cff19947", + "collateralHash": "5fa6f4a2ecff7c5f9c4f6d1fc35733722860451035d3c2e0761640ca3405d692", + "collateralIndex": 1, + "collateralAddress": "XisZk3sexZXLfqwiYS2LujwB8ofoqHCQja", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.132:9999", + "registeredHeight": 2073922, + "lastPaidHeight": 2127331, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfhfejmiEEpKop24ZTGWK8NVnTd1iqp31y", + "votingAddress": "XuNjCNHftkMAB27DZCHeYFFx8sAmjJ5SMZ", + "payoutAddress": "XyHrxWcLxhLbT8wr2rQ98HSDaPaBB3f58Q", + "pubKeyOperator": "b856896e05bcd46437326bf784406aa2f93a3efcb807f05792a41fb11af3108c52dc619821a3c7c8f980cbc56e37869e" + } + }, + { + "type": "Regular", + "proTxHash": "49d12fb8ed4861dd76e8caac6b35409326bdc41762613824fe64cc7659c8f200", + "collateralHash": "ffd5ae879398d61c5893d1360ecc3a03d1464c2a4cf06f9ca3976507aca1e024", + "collateralIndex": 1, + "collateralAddress": "XbWC6JRW67AQ3NEGPhDA7AgPnFnjUqeiUi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.190.230.104:9999", + "registeredHeight": 2074984, + "lastPaidHeight": 2128437, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoYV3EsFyaxYRbEdwMkxkJZxrc7eV43B1J", + "votingAddress": "XySk7u1CWaNS1zTgcf6ZGiPEEHcDhxBMj3", + "payoutAddress": "Xd2YjHXbSppyeT8qVidPFzp5Rotxx4kMP8", + "pubKeyOperator": "9458189d5bc8d17634defd12e5095f2d8bf93dfd2024294e0cec4e5d62f74cc625eb0944c9663541cc6746529d25a0f4" + } + }, + { + "type": "Regular", + "proTxHash": "7865cac30f1111f49edae1c4462b262b91be1f68f0c8ec2fb54d36354c04c61d", + "collateralHash": "810be383a99e1649f9cc32225b91c707d633f1df66bfcd43a20cd9109f0010c9", + "collateralIndex": 1, + "collateralAddress": "XcdxHgm3MFEf4SfgmnfFkD5VF4mTEsadWn", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.232.180.228:9999", + "registeredHeight": 2074991, + "lastPaidHeight": 2128444, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs3dzvd2FTf77fr7WBnYDjyyENKY9YGkpe", + "votingAddress": "XyH6RMFaDttySirMBaoaq4ZhXWsjak95nm", + "payoutAddress": "XkA79p1tbQC9iEJgRexeJedmhuUCcgbvBs", + "pubKeyOperator": "aea66c08e6bb0c8c5271632bd644c075a934df449ddf98c16689c1d4e63fdf6c1b2cff456f67ac678cc5cdf5dde33266" + } + }, + { + "type": "Regular", + "proTxHash": "e32ad0c733e6877b4f354300f5615dfa461282f426aff4ca7a5a053fda64ab39", + "collateralHash": "b219ea1334d13ac44230714e2dc6ca2cdd83feb07eb1a1b869793ce7ce35dd9d", + "collateralIndex": 1, + "collateralAddress": "XkoTYcRgsarNVSMJMiDQMiZmfYgf8saTMP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "128.199.17.8:9999", + "registeredHeight": 2075088, + "lastPaidHeight": 2128546, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnAUBN136PFcj3GbkEk7HfvGSuvgifvLdm", + "votingAddress": "XszRPDVmsdJsD45vEwWcEYb6GA186o5WdW", + "payoutAddress": "Xt5iU9bXk1wq9SwS1sR7TTk9txvpwX3q4Z", + "pubKeyOperator": "a4e2b5ae146812acbeb254fbc6e5167e97bd8b0f6bd278151d686e04e67148073df2dc1fa783edace6a4835ca303b92a" + } + }, + { + "type": "Regular", + "proTxHash": "b83612423993b9f125431e90c1c01da5c4d5e31923e0976141073c4a9d566340", + "collateralHash": "3a54299ef380244cb206823fa895f187fc76f528fff10d92d8f7373c3f889965", + "collateralIndex": 1, + "collateralAddress": "XuVQN6itDqsecbtS65ckmappLTUng1DGzW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "147.182.150.185:9999", + "registeredHeight": 2075098, + "lastPaidHeight": 2128556, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcfVKtGgvmanWejC6A9RRNAQYyQeieYbX8", + "votingAddress": "Xvx8UEHDBU2t4bXmfXYQwT4S1aSVt11rBR", + "payoutAddress": "XnG2krASNXsGUVuYmTMERJSHvQEoW6iBA4", + "pubKeyOperator": "a9757514daa4cf1827031454a26f9869feaf4abfde96794338486bfe4404d8ef970199865ee018731792ee7dbdc97135" + } + }, + { + "type": "Evo", + "proTxHash": "2f91eb46842dd12afb2f84418000ccfc583942f52a3334a825519c59cbd3419a", + "collateralHash": "65a8a1205dc00099aa0fc1611d404b16bd837e9ff34d296e94e6aaa7acaf6769", + "collateralIndex": 1, + "collateralAddress": "XiffynaDn1SpvYTjuu3UDJCoDPnTKb2MNm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.21.145.147:9999", + "registeredHeight": 2075597, + "lastPaidHeight": 2125786, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkpwdGjudevywCTrg7ZwStgqyejdTtof8Q", + "votingAddress": "Xf71DheBKN6Ch7jtHK3C6YmpzfMuA1ttUu", + "platformNodeID": "8ab5d312345ca8b657722edff40ca65101847034", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XntxaZctDRbcA9FTdtLXk1eyjqJFyNooxK", + "pubKeyOperator": "b8296c36e58a4227475e1022961008581c15469b86d00396a882c3a9d0918352e845622cb05c91c00346aa54711fefc8" + } + }, + { + "type": "Regular", + "proTxHash": "b029f5a707f3758dd2eda1513833e5bb3ebb82bea7f838e92c36cb938600d409", + "collateralHash": "80e6597c0db9d2c64f5ab1ee84431794f01b9869dd4ce85db0565e39029f8056", + "collateralIndex": 1, + "collateralAddress": "XoU81ts7gaXfpS8FyE3syJvHjx855iGcv5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "134.209.30.176:9999", + "registeredHeight": 2075985, + "lastPaidHeight": 2126101, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcvrgA27YEtpVFx9aC541AGJNhvnc9T44F", + "votingAddress": "XhRjmxSeeZWXt8Y2b39aUVJsymxVfq8t3f", + "payoutAddress": "XjqA9RyBLAAGrkgNxaJAmrJF7DWfs1a1cQ", + "pubKeyOperator": "ace827ceeff04e73aa444e59d0e41a242af7d93d5813a69d746a0af69bc5dc5f793b5940c0d0eac0cb2c18a1fd5b4557" + } + }, + { + "type": "Regular", + "proTxHash": "aeb85eb056a1d10a0d8b59668087dce2698aafb6388cea09d4ca8fedd00eb6c7", + "collateralHash": "e3f712aaa3cff540cc7c2ffdb55965451483afc7dbb17bb7212d988e21f4a73a", + "collateralIndex": 1, + "collateralAddress": "Xxv9t5v3c2gkB8R2kougCw98s3DK33ewuQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.71.135.102:9999", + "registeredHeight": 2075986, + "lastPaidHeight": 2126102, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuDBTx7tycqD4H76xeVVEzenLyuyFd97ur", + "votingAddress": "XoDkw1HbUwvzNfuLk55n5VWQ8tt1p8KnC9", + "payoutAddress": "Xk8LjbN6YFDuyypgzNcRxBbpCtv62CbvKr", + "pubKeyOperator": "8b2ebc21bddb1eb9ade752ffda8b110df0779cb654ba5318b0bbe5406829e65281093a9fdab8dd5d5b72a2a77c1e7083" + } + }, + { + "type": "Regular", + "proTxHash": "bd8920955f93d5a9a311b9dc4c8edd9c8f0b82a918ef8f2b2066491a50f2690c", + "collateralHash": "7e2c31a69e0cd893fac0ea3de14f272c34fc1be481b37fc1eb09cd486608ab69", + "collateralIndex": 1, + "collateralAddress": "XxHqFRx2g5C4MaEwgwWepj6rGVrVM1Nkj9", + "operatorReward": 0, + "state": { + "version": 2, + "service": "164.90.234.130:9999", + "registeredHeight": 2076008, + "lastPaidHeight": 2126116, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiTXuUXFC1MhMDTaSSE8j2XhpdML2Q3YTG", + "votingAddress": "XmBVqEwUYexG61ARA4vzGfwDiRiUcfXrDy", + "payoutAddress": "XkbG22XNT6bfuvgKoJFkWPPrjDqbmEBsBG", + "pubKeyOperator": "821552bb25d7020f59c84f1226890630eeda00082c48a69c02a3c6050c291893a50d77c99d36f8b07f6cbecc4ef50e2e" + } + }, + { + "type": "Regular", + "proTxHash": "597c503ed0ba77b6a440c5a4f11021300ec16d665de17ebdf6455e743ef759c3", + "collateralHash": "12233c4042de8cf0b510f96ef7dcd77e4c9713c494f523d9733ce153ac106019", + "collateralIndex": 1, + "collateralAddress": "Xg6UgpacKYVSX4eQsQyJChpS6okiRBWNPX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.223.52.232:9999", + "registeredHeight": 2076022, + "lastPaidHeight": 2126123, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XudRUv28dTtcQtdTzU9pRPDoGAVff8CQLY", + "votingAddress": "Xv4o4DKhSxapWUV9uxDLEn6nk36WEg4g4G", + "payoutAddress": "XasbeMjAF4ua6Q5iwrMcu8nEzbiarkyw5x", + "pubKeyOperator": "893ef65e6473b37d051bba2c2a5ed2589d8a20ce518763e322c9f060261abfa0fc31d2a13b2eb59139ad0563a68947e9" + } + }, + { + "type": "Regular", + "proTxHash": "df346419b05584ea662345f875d041478bd0a50ec059c0bf310e5732848d96b2", + "collateralHash": "d7e6c1847353240a8f162684a488e5e1a409da83e2c060a957f5c411a034f73a", + "collateralIndex": 1, + "collateralAddress": "Xg6pWbHF1XcPm2hCsGnLwR4bkraL2y8Sub", + "operatorReward": 0, + "state": { + "version": 2, + "service": "165.232.102.186:9999", + "registeredHeight": 2076027, + "lastPaidHeight": 2126127, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo7fEh7PfgJuUeUv7Q8ueimkfPovjFVa73", + "votingAddress": "XoPwHbVZ9DBwRbvyMqFNdUbCaewXH8Zaoi", + "payoutAddress": "Xg3mS7tBZZy29ur6co6M6txybCFfkQhEE5", + "pubKeyOperator": "a46b8baabb833ed7aacfa71011343aefe9e0fa9f86e68dd6c4d3c54ec3500bb943624a91c65f6ae8d75349cd71b28155" + } + }, + { + "type": "Regular", + "proTxHash": "f8e56f8f47b030f8a5417e690c977a04035f3a94ad7d50c60ba51f8165fc8bf9", + "collateralHash": "688c009e9d6631ce31468963079ed9c233378131f8dae649862210cce7de2e9a", + "collateralIndex": 1, + "collateralAddress": "Xj9px9y7neAFANpfYir6zND5EUXeUCWC8v", + "operatorReward": 0, + "state": { + "version": 2, + "service": "209.38.38.180:9999", + "registeredHeight": 2076037, + "lastPaidHeight": 2126141, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk7xMnh5GmEcqkNQuhceVUm8uFnwmuWRnE", + "votingAddress": "XrvPucHjvUqtiUFVaVLTAc14PtsyATprCQ", + "payoutAddress": "XtfQXDkGm4Dg5WPrxQ3Wdy7P9RWCK9MvUS", + "pubKeyOperator": "b1efc618163cd2f8cabbb2b323a535f433a2e96d6b1eccac92937d1507655b1ceb0e2f66674790bc06cdc43eda112a62" + } + }, + { + "type": "Regular", + "proTxHash": "ed5d113faccc54ab63561d856726dc0c06606e6ce0328b4925dd40564af6c6d4", + "collateralHash": "ed5d113faccc54ab63561d856726dc0c06606e6ce0328b4925dd40564af6c6d4", + "collateralIndex": 1, + "collateralAddress": "7ebFGyjwaLXvhH5GgJn9EtEGqnpXTXsBRC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.223.128.116:9999", + "registeredHeight": 2076867, + "lastPaidHeight": 2126859, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpj42oucXb5NeM3jgyRK3SbkwrFmaWTCW6", + "votingAddress": "XdumQX8bovVUWebWVCSiZfAAFNWsq7fCQ3", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8ce8635e87b1845157f9a23c3f5a29f1228a8759ee84966bd44eac29275a90f2856fd3ba454728eeea87fe51950080eb" + } + }, + { + "type": "Regular", + "proTxHash": "0633f37c22cb2151d06cbfdcf0e9e1ad32b316b983d35be21e2a51de1a022425", + "collateralHash": "2614fdded63bfe54e30f4578bb446d0d497773d1ecb875635462c513cefb4a68", + "collateralIndex": 1, + "collateralAddress": "XhSEj1cy8BtoKcbpuBNAbf85amEGqrrXRZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.133.169.100:9999", + "registeredHeight": 2077732, + "lastPaidHeight": 2127019, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2087187, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwjarEXeDTA6sMcEqKmstMPZxW9mhUi6rG", + "votingAddress": "Xi1vXVkD2r4peyPUsKnGAZnboF1NxgdLz3", + "payoutAddress": "XhSEj1cy8BtoKcbpuBNAbf85amEGqrrXRZ", + "pubKeyOperator": "8b198be369704768d486dff62bdf737c8ef185653559b93a50665659653f6c94cee1b00e03b8d6f79648e945091cf97d" + } + }, + { + "type": "Regular", + "proTxHash": "880d5d8cdb3b23c2152ba1cff136f4d131c4b4f95b52a6068f63af4c7ed5f209", + "collateralHash": "f7a6271645da1e4dce7d61fd1b435ebad61bbf8f4b8da918db50cdc71c42b046", + "collateralIndex": 1, + "collateralAddress": "Xi9PMRDWyVKk4BeNLx2MEe898QkNYRg2Cq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.133.207.248:9999", + "registeredHeight": 2078343, + "lastPaidHeight": 2128510, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2081758, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgD4g8przD5bfcnTjfA7oegwEhGU5fxvsP", + "votingAddress": "Xfu4YQokdp6bLG2t3ej7SqfnrtcknQWWfv", + "payoutAddress": "Xi9PMRDWyVKk4BeNLx2MEe898QkNYRg2Cq", + "pubKeyOperator": "9784cab2ab02a1f6e2111218102739deeab4d9bddadca63c511d2e1cd7a6a2c058e88b5dfb80709bdece1bd8d92d4ea4" + } + }, + { + "type": "Regular", + "proTxHash": "02b55f4701675fbd86d35316c49da383aef3f2662b1550d58605361aa3298bd7", + "collateralHash": "6034501372af7feef86c3f3a3bd9a09b71f398df0131c94870a3e47d2fd320d4", + "collateralIndex": 1, + "collateralAddress": "Xpm1attqW1LpQmPFp6wpEkpDinXr4YYKk1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.153.141.100:9999", + "registeredHeight": 2078352, + "lastPaidHeight": 2128168, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118893, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xc6evuhiLU1tDa6jZstuJHuZLee93PPCfE", + "votingAddress": "XwgGBzpjeJmu3eWiQeh2NJ9T1ZUJez4wgv", + "payoutAddress": "Xpm1attqW1LpQmPFp6wpEkpDinXr4YYKk1", + "pubKeyOperator": "b0e3c366607736d163f1a342bb7da444b2a60eabc050bd1c0eb76f510f41ad641fe0c290a55521e55b50ec47dabacee9" + } + }, + { + "type": "Regular", + "proTxHash": "210938a15d3b718598fa76866ff491e741920191ac0c1c7302686c58d83fd900", + "collateralHash": "18cbfcecdb3e23d5b5529cd2905549d973f2823adbf79bf754b3813fdd148bee", + "collateralIndex": 1, + "collateralAddress": "Xhb2DHNhRojtH9344Zru298FUVGpfpsPVD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "38.242.211.123:9999", + "registeredHeight": 2078440, + "lastPaidHeight": 2116076, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2116842, + "revocationReason": 0, + "ownerAddress": "XhmUWamwqPU3Z3YjPdkF1Uh7tdyZS9BP89", + "votingAddress": "XeB9ZcSx6bi5uypVbBQVYWn4oupd21QJVZ", + "payoutAddress": "XqzaftCcE5ctmzDYKdm2M35GAM9Hg7tt7M", + "pubKeyOperator": "aff6c536d45f36f2e03fc9457d4d89ec50db49211a057f54b48ecf0214f5b667f481b4f9312a23517e2d6264cdb22e24" + } + }, + { + "type": "Regular", + "proTxHash": "fe480ec4b76fec2d77c48f3386d391750f8f87fb38874c6a22d05a12d59aa45c", + "collateralHash": "fda64a99828d9caf34d1c2f613b356801f6a1bea036459aadebde53995acf58c", + "collateralIndex": 1, + "collateralAddress": "XeZVdWWPRqJoZ8GvCdxqQo9ArsKkLtgNrL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.153.132.24:9999", + "registeredHeight": 2078852, + "lastPaidHeight": 2126649, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120600, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwbcSmhdLcfwSVYYWVEc1oGfkcPCETYQtd", + "votingAddress": "XxGdFHFniQudSP7gzDrJamNXQ19C6epteq", + "payoutAddress": "XeZVdWWPRqJoZ8GvCdxqQo9ArsKkLtgNrL", + "pubKeyOperator": "99d7fd7f2b1bb1e83fb2df2ccef806dd8f301d7b2211c841c026fc05d4ee7ef1fb24118c8d7b13e4a1562ec06243e7ac" + } + }, + { + "type": "Regular", + "proTxHash": "342de2fb26f14e22ef9909959362f351fb76416158d23fbe546b4953da08d168", + "collateralHash": "308df3626af638fc075f1a410ba1f0ed46a65124ada13f23682eb63ba1366a1d", + "collateralIndex": 1, + "collateralAddress": "XnCxrxSSrNL5n6z9ax9iRfg3vpvLP85XTX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.133.0.167:9999", + "registeredHeight": 2078856, + "lastPaidHeight": 2128864, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxSDE3W6jzqyg7HmALTX2zF85LbVi8x3hV", + "votingAddress": "XyfcwjFew17FK3VWJBAL1ekmwKoVyCrFSQ", + "payoutAddress": "XnCxrxSSrNL5n6z9ax9iRfg3vpvLP85XTX", + "pubKeyOperator": "a6d2a41bbac4e6cd95286754c1c9056623e88b8a3542ce388cf2c372085c4f7831a5ec9a90982f295eb36a5d5a6b72f3" + } + }, + { + "type": "Regular", + "proTxHash": "6a86eff1d0b937da4f750bf212a686e1e81a10f24a59f8a274b78f6791fd67fd", + "collateralHash": "749c673b814ac741fe1413789f3d0b9fb7207f5dd95492f19e910de7e7122232", + "collateralIndex": 1, + "collateralAddress": "Xaw5aR5zGvedvGhLYRJAhueUPmJa9RaPMq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.163.231.23:9999", + "registeredHeight": 2078859, + "lastPaidHeight": 2126642, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120596, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtmpK5oQ6b1dHXsinypXD4Yh6fpD4GtJgW", + "votingAddress": "XysSECxybRnd9qxbfpQndvdKajoNXmCDTK", + "payoutAddress": "Xaw5aR5zGvedvGhLYRJAhueUPmJa9RaPMq", + "pubKeyOperator": "94ddbfd70e4d103e5907abb2ffd8580bdc8cc9060c98d2b31f0cc062270079d946ce7c46d02d2f9f807cd2342d38fa7b" + } + }, + { + "type": "Regular", + "proTxHash": "bbe16c114d15992589bfe868b1431cd2212ef1249d48314579156cf2ddfd19db", + "collateralHash": "88a04d26ae02bd5fbb82c5b6fc7f1647fd237e00cb683848f021de2e1f9ab964", + "collateralIndex": 1, + "collateralAddress": "XdF5uTVveWZr26Crwdx7fW9hvhBnkYHq7z", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.133.214.41:9999", + "registeredHeight": 2078866, + "lastPaidHeight": 2126644, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120598, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsb1KQEntNDvs6dDu3HgpKSUN5RYu2gLUU", + "votingAddress": "XssaLQhAdLtcLYdckVq8q2yi1wyu1wcrSA", + "payoutAddress": "XdF5uTVveWZr26Crwdx7fW9hvhBnkYHq7z", + "pubKeyOperator": "a11feb5e1f896d39ba79a2e7813b0171d09175449362f2b197cc413cc0bcb5b30189e3f6a7091ac7512b404277a30827" + } + }, + { + "type": "Regular", + "proTxHash": "8463d6b9e07abe6ad57509af9f29343df12aad7aae2ce146d06eee7d45b6cba7", + "collateralHash": "a5da7a884ca60c660c76d6b49fdf1153ef4125095aa85024a010a06a17ae0891", + "collateralIndex": 1, + "collateralAddress": "Xe8BnP94nKKthWzddZf6qW3qzu3z8geUW5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.130.235.179:9999", + "registeredHeight": 2078870, + "lastPaidHeight": 2126650, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120600, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqxNJuUAJgfjnGanPPj9PEgfxj9aB2tUL3", + "votingAddress": "XvHGZUXKsyCBJsmSapgZmT8QstQ8vCLLAx", + "payoutAddress": "Xe8BnP94nKKthWzddZf6qW3qzu3z8geUW5", + "pubKeyOperator": "81c4030b770da8eb6610903fa50c7740496b33235647fb5db9067a84121ec8c92cee137310e763aa5dfbdca7a16c4f75" + } + }, + { + "type": "Regular", + "proTxHash": "7d9f3ffcc5e332bf91db82298f2c41188891418f38cb68b26dc389c6dd139e65", + "collateralHash": "20fe0dba8a9412fe1c1c0b26eb66333ea433ea0930f72a13b52f6dd43dfbc2b4", + "collateralIndex": 1, + "collateralAddress": "XkvtpLkXHNQb8HdpTivDhPxk3YbQ7M7q6G", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.130.235.183:9999", + "registeredHeight": 2078879, + "lastPaidHeight": 2127805, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2091281, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrJgHEjgrwNa23fPDd4TNhhoTeH6ZYJWhB", + "votingAddress": "XxuftD7nhLeBnBAsoeEeVhAzS2TkovWaTW", + "payoutAddress": "XkvtpLkXHNQb8HdpTivDhPxk3YbQ7M7q6G", + "pubKeyOperator": "8b1a168f4af71f83ac2f680cff8477a5b13acf8000ce3886c8aac2975263d50678892392eed8636a1db6210a6bafe0b6" + } + }, + { + "type": "Regular", + "proTxHash": "3145ffe2aaa0e3322cfd9cd7524a0400e0e3582dccc9deb95e820882c1bb9a15", + "collateralHash": "1fa565b8279934da7d0fec38e3072bf745e4e83aaab4876aa2356d9df0a97748", + "collateralIndex": 0, + "collateralAddress": "XuTgDvE3CnbF2wrkBjW3KkEX9WFsz6Fhck", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.194.217.23:9999", + "registeredHeight": 2078882, + "lastPaidHeight": 2126407, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2110523, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoG7zoncj9iF9XnPVSuaTPCML6486RMRJD", + "votingAddress": "XtEygixGeRxq7ew46Q8AAgKcZfV8c5qVu5", + "payoutAddress": "Xn1U2pQa3nHK74UTYatK4ziLtpujUbsZNM", + "pubKeyOperator": "8323578f70e5ca5590e68efc4ed98835507c1773088f82e20c5de156ec0a3119e058b9f19b1f0065e898342d4677b5a7" + } + }, + { + "type": "Regular", + "proTxHash": "90c9b4855184b95fcaaf54b46bf9720dc4eff771efb05e7d863c33c1549a15ad", + "collateralHash": "3ec0e514272e8f925bff321287c51d66442c287249a3c6a9fc64e449d473f2e5", + "collateralIndex": 1, + "collateralAddress": "XrLQ3A9qRMyEuJxL3Azja4QitagpYVxPMD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.133.1.196:9999", + "registeredHeight": 2078888, + "lastPaidHeight": 2126643, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120597, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhqLW8EPV4KQKCK16pY3TfbJsKZUZtSGeW", + "votingAddress": "Xxnzp8dmDdDphHYGiKJ9MCSd1u9h8m5At5", + "payoutAddress": "XrLQ3A9qRMyEuJxL3Azja4QitagpYVxPMD", + "pubKeyOperator": "b206a4408619e51f9fa7187cebb61f33f51e3b726aa53083f085e4d51c8b207310dbf4f702b5a31184eb874d94a73dfa" + } + }, + { + "type": "Regular", + "proTxHash": "0501e3918f79d40c32dd1e9c9726efac176744c9170e05a619b6e8239a934566", + "collateralHash": "1c08e96df7f9480c6ab28a76b219d9b8b820fc91009279d067c7502773a2783a", + "collateralIndex": 1, + "collateralAddress": "XvCCCgc9cXMVzkRhjb2zxds89gxvWrovrj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.163.230.181:9999", + "registeredHeight": 2078891, + "lastPaidHeight": 2126158, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2079414, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo6ggypwjKgidD2EjGfPPjm8MME7WBofB5", + "votingAddress": "XxveT4eQo9S69b7Uyw4RamAVtcMio9Zx4M", + "payoutAddress": "XvCCCgc9cXMVzkRhjb2zxds89gxvWrovrj", + "pubKeyOperator": "975e5db915a881bf08e40acfa0f89b6fc5f3b8a7d30fe08adc5338351c0761c18bdf692af32a166137f585cb92278e4e" + } + }, + { + "type": "Regular", + "proTxHash": "dfd32c90966000c9b4316457d1c87ee343d6cd52becbf0e907b28539f7ea14c1", + "collateralHash": "29d7f2149133653cf187dbda3c82dbd7b21c8d42c3ddb3bf2c0154d45cff0e85", + "collateralIndex": 1, + "collateralAddress": "Xpov8gtC6ETaLQmP4gMkaDh8bbrWkqYNZ4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.130.238.198:9999", + "registeredHeight": 2078895, + "lastPaidHeight": 2126674, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120621, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqqUB9DuwjBHA7kdxvJrr3zxJMu59me3jz", + "votingAddress": "Xsc9gzmsM9A5k2xyr2sLp9U5jBDBjHZaWQ", + "payoutAddress": "Xpov8gtC6ETaLQmP4gMkaDh8bbrWkqYNZ4", + "pubKeyOperator": "865d47bc780a26526472cec8305942aa23c304db3bedb365f9a38c432cf6530545ea82e74e5cabf48843286872aba4d8" + } + }, + { + "type": "Regular", + "proTxHash": "6ac4ecd142dd51981d698ddb205d01aa4d08b7621276c846a1f852760e3188bb", + "collateralHash": "f08b384d6f9dab1d1a2d33439ed3c66332f1d53c3e9c324c58a43e2d79de9a00", + "collateralIndex": 1, + "collateralAddress": "XyMpiNPbTxuRKX5QKFbVKzWFVDH3mnVX28", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.153.171.54:9999", + "registeredHeight": 2078904, + "lastPaidHeight": 2126653, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120602, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm6vqjB1FnDzYcjJqZvV6YN6ieTCondVwk", + "votingAddress": "XrUNgXsQnLN9G57viQw4mGCBGWiiQwX668", + "payoutAddress": "XyMpiNPbTxuRKX5QKFbVKzWFVDH3mnVX28", + "pubKeyOperator": "b66b63139c64202d650983d9514f9203df08a16faee6315cea9c9cb7e75b6a822a33cf9fd5239a1fdf5ed94dc940d8a0" + } + }, + { + "type": "Regular", + "proTxHash": "d1166018ed7c6340fb5c7270b2090e6b6a7cb76a9407490f7cfeeddcadb29494", + "collateralHash": "ebfe384d5b37ec3a22aaaddcb0b05444d9bb817df3c7595a440b10b13daaba86", + "collateralIndex": 1, + "collateralAddress": "Xt49jdDut5UeCZSkWjA9JFFmFxiMGoEEXr", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.130.236.249:9999", + "registeredHeight": 2078907, + "lastPaidHeight": 2126678, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120624, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xuog1Y4u7sY9JmnZULRFGFZ28udk3wbXQG", + "votingAddress": "Xy971Y3UAX88hHsfVr7MiaEKJctsuH99yB", + "payoutAddress": "Xt49jdDut5UeCZSkWjA9JFFmFxiMGoEEXr", + "pubKeyOperator": "b9f749ba98daf4250668b77b28f687ce3578a2a745ebc048d7f3474490c02d084884564f5e383d81141beade5ff6920f" + } + }, + { + "type": "Regular", + "proTxHash": "b9033fb3593219ff1ec52aed9ad24043f222bd3ce6970781a52b473b90826f65", + "collateralHash": "ffc380b57b53535ee59dbf65ad3e3a143729738eb1ea9beca5a6bab77219bde2", + "collateralIndex": 1, + "collateralAddress": "XyjrJVG7Nft1YV5p3dkcDbRBMRM4kRbZ6L", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.130.237.111:9999", + "registeredHeight": 2078908, + "lastPaidHeight": 2126681, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120627, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoBU92HVPHemR17ZKUvUfLNNM9QJFG7aC9", + "votingAddress": "XyvTPURSYARzHEXyMjVJ9hBMFyGjGxW4k7", + "payoutAddress": "XyjrJVG7Nft1YV5p3dkcDbRBMRM4kRbZ6L", + "pubKeyOperator": "93f4f40e8bd2d8e60319d6a514b15166d58df02f35b2bd9990be74370ef4a5d7adc2f8623d9180d453e673472a0b188f" + } + }, + { + "type": "Regular", + "proTxHash": "a36e376199e47433d9149624c4feda21103b852d439731f48740a4c61a798e3c", + "collateralHash": "5b5aea28a5178a10247dd25f2f70c2aa8f84d51a79d72232393ed4d34d4104b5", + "collateralIndex": 0, + "collateralAddress": "XtD8cyYJZN4vpFDV1KzCsNDxHTpKwV3hdf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.231:9999", + "registeredHeight": 2079301, + "lastPaidHeight": 2126067, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgEhMuaeoHpnQLJspy7RvwGKZZgCoC7hEL", + "votingAddress": "XiymCvs7KaMDjvHPVAnF3Ru13wXdDmLmvR", + "payoutAddress": "XiyZMv5TW7cRrFzaNayp6a6pGL6cFqwr39", + "pubKeyOperator": "82e1b3d21456fbea7a982433a46a05f99d55717ae8ef7453970979111fd5313780aa16c542604da8be2777b54d28b33f" + } + }, + { + "type": "Regular", + "proTxHash": "fd30ac30170c02a85cd7ff55ce5ca82812926dd87f961100805b3fed4c5a815e", + "collateralHash": "7795ae058fa111519bb96639f0730f0b2717a54c4661b2889a38bcf210381b2b", + "collateralIndex": 1, + "collateralAddress": "XixKwPVTgPiV4W6B6vb5gfRyXMe1oMHRt5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.13:9999", + "registeredHeight": 2079399, + "lastPaidHeight": 2126132, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XivUokxZdTS4kZF9fTg1BKhBxzvwozMvio", + "votingAddress": "XtPEGp1mTijJMcxpjet8oa4rMatFmXb4cu", + "payoutAddress": "XxW93XWS4m5mX9TxhTD6gbcRmHX6Wo357P", + "pubKeyOperator": "93cedc2cc021e6c41d9d1b458e206a8f44b54e74d73ccc9cc8961404152d5ef0e99db0f598b9d982ec50674bd5b08275" + } + }, + { + "type": "Regular", + "proTxHash": "e0d34fb09c02a6ebf835b8a9c8078968207c10a70959a4f8063d941466358dbf", + "collateralHash": "940d4758cf4d799512781ea5ebf49d0f2f1f18a5eb4b3cbbd8d932b14cfbcd26", + "collateralIndex": 0, + "collateralAddress": "XgCCNnF9A3yzXdicpKCg9diYZ6BZqjeZNd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.148.196:9999", + "registeredHeight": 2079559, + "lastPaidHeight": 2127187, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhLkxBYFWdx1kry1gjmVeSbkusbtqpzEZ5", + "votingAddress": "Xfe3cvVZKTgsi7vqZZamDAYDT9h3nDuY4D", + "payoutAddress": "XgCCNnF9A3yzXdicpKCg9diYZ6BZqjeZNd", + "pubKeyOperator": "89a1b65b70a107d35bd850456722d733a56d9155f1f61fdc27ce8cae8c6ccf02ec6f8c8c0a03b6b95ec186c5a1100701" + } + }, + { + "type": "Regular", + "proTxHash": "ac85afef45c60a06045c2cf12624efb8d369f25ce1bcbc6242550639bd105b15", + "collateralHash": "5578b681601dc39cff206f5bfaf18205bcd1392e6f3a5c31ce3a9d6db5d8a985", + "collateralIndex": 0, + "collateralAddress": "XfD7aqtBM7h4pRu27GF3NmJ7tucYua7rHi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.120.189:9999", + "registeredHeight": 2079560, + "lastPaidHeight": 2127178, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjezL63swbBjmpxDi9Ufudf4bXZxUVEQvC", + "votingAddress": "XaxMQNXCV85TBmy4PxSEHSXv8H4TZEgP7J", + "payoutAddress": "XfD7aqtBM7h4pRu27GF3NmJ7tucYua7rHi", + "pubKeyOperator": "82af31436ac98ce6aff6b54d76aab9e0381d74a4718564bf3d506f480cc12e5d07e5983aa3594100e2366b583e161aa2" + } + }, + { + "type": "Regular", + "proTxHash": "7470161b513ab7f989a53c561370cc6bea3cd847398df9392c733f6dea35957d", + "collateralHash": "0c9dc3eec96cfa6b702a7ee0f6153b696228c572177b168a54a81f899eb76629", + "collateralIndex": 0, + "collateralAddress": "XvU5nnQNTuNnWGWiwSzhCQ5qaGPYcixkfN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.148.119.205:9999", + "registeredHeight": 2079560, + "lastPaidHeight": 2127183, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvUZy3rFAMj4DY1TxwTCib1mDncAg3xb8B", + "votingAddress": "XnBnsdhxYchRR5yFUP8296y9tcqbWdnV2H", + "payoutAddress": "XvU5nnQNTuNnWGWiwSzhCQ5qaGPYcixkfN", + "pubKeyOperator": "907a5d07335c3248fc41ffd7e9cdf21d7bb04635343c2a9613225feaa4ed9293521c83f38f9d3c4a15f357e7d7bd72c4" + } + }, + { + "type": "Regular", + "proTxHash": "bcb3067258958d8fe6bc75c4e9d141dbe1df1f55c103d112a32e57fc41869eb0", + "collateralHash": "04b4f2850d86abe0b658a8161c2d32db4ceba78427c6d3fde619d8fa3e446e97", + "collateralIndex": 0, + "collateralAddress": "XwvDjhmuKyHfVUsoNiHKr1EkLP5g5Ep72a", + "operatorReward": 0, + "state": { + "version": 2, + "service": "66.42.54.217:9999", + "registeredHeight": 2079560, + "lastPaidHeight": 2127185, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxFttRk1GSRf4i599Fgnz7PBt3i6C6QpuK", + "votingAddress": "XcTFvBzrSG29RqDaedvyLmEzt5rg5pBpBh", + "payoutAddress": "XwvDjhmuKyHfVUsoNiHKr1EkLP5g5Ep72a", + "pubKeyOperator": "a78ebefea744613ab801df09efaa89b5e2d742ad437a5c3d414bf407e8024187b571ed4aa10a31854e14e4089cb2caa3" + } + }, + { + "type": "Regular", + "proTxHash": "e6ebdc7b2536e949bb72ed8a71984848d4a42257ddb9c2b562ed09a0ea9f61ca", + "collateralHash": "3aff8de64e4ca758d9ddb51d7602be7b4b28932b9fd10b5157446addc6107cf4", + "collateralIndex": 0, + "collateralAddress": "XcgeCJHU1hP8ovnRDdi1mtHQ9xEFyM1ZKv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.111.190:9999", + "registeredHeight": 2079560, + "lastPaidHeight": 2126287, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xbac27w3BUqKu7PEegtPgeTuBVn8mjpKCw", + "votingAddress": "XukxtrVH2Cdx2zHs8qRdJ1pfSNLfRFuoGd", + "payoutAddress": "XcgeCJHU1hP8ovnRDdi1mtHQ9xEFyM1ZKv", + "pubKeyOperator": "89e3bca869b183bacf659b48a9b2083cfeb24ebab246a3a5d6272a66afcd51d0b2649da8a53a02a7b7155e5ac196ac0a" + } + }, + { + "type": "Regular", + "proTxHash": "2b1a3ede67b3d2a3d06fc244e5314dffdfe39da1351975643dbf3b561d940005", + "collateralHash": "9e034353c222e29891974d27b7bba170e8cc734d2b300e5f9ba96f5f3f0e0023", + "collateralIndex": 1, + "collateralAddress": "XcDbQ1LX6zKCWXbKFNZSgfts7bP9jD2Vcz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.211.72:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2127176, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfBdSDWv3B9zGHSNvrQAiRQNRwsrVRkbd8", + "votingAddress": "XeGDHPtXP23F6U7XSs6XSnJfNZGvzqxieD", + "payoutAddress": "XcDbQ1LX6zKCWXbKFNZSgfts7bP9jD2Vcz", + "pubKeyOperator": "93e2ad35ba450869f8c0d2c8e65b78b420ea3c7a093d82d24821a020666996a740a41051df12b8d059f50e4ecdb0443e" + } + }, + { + "type": "Regular", + "proTxHash": "8a16402979e99fe575ce913e757be77a99bd4903bd0ce2f556a72386fbfe6350", + "collateralHash": "e33cb96c04290258878216a311ca9139032b943797fa380e66968a48ee7b2947", + "collateralIndex": 1, + "collateralAddress": "XcHGyKGxaVtxwTjMsLCRemc3nvqBMDTXDs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.100.25:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2127179, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuauByBJKMET1VvoFPcstSKeBYHtTqkaic", + "votingAddress": "XcGZpsNZxS2yDpS72VRyR3sM9cHtMFbvSU", + "payoutAddress": "XcHGyKGxaVtxwTjMsLCRemc3nvqBMDTXDs", + "pubKeyOperator": "91307cb59558c393de5167b2a2a58be4fe64ba3c4b06c88f22b8abade66b7c6c70537f26cf6f402f7a7c642f737c03d3" + } + }, + { + "type": "Regular", + "proTxHash": "a4d4a1c75320a195cba70fcb116e4cb47c5de58a062469dedf74e1cdb491385d", + "collateralHash": "d81d369a8e1b39f60e0dd8166e1fd1c76adcfa557fce22db72d67b6f2e08d1c6", + "collateralIndex": 1, + "collateralAddress": "XdRHrfqCB69mndS5jmmTcHJxMTKStRawDv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.217.5:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2127180, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdcsSe2sUivtxC9nutXUPhMMMiQWdPEPoB", + "votingAddress": "XkEpTntTUHiHeuLQdi9htfdeG3z9wfWN6z", + "payoutAddress": "XdRHrfqCB69mndS5jmmTcHJxMTKStRawDv", + "pubKeyOperator": "93b77f57852dd129853d49652e2f1aa642d0b951bea523445fa8a3009e678114a900c6eb2953b4a62a8a6347e4f4c130" + } + }, + { + "type": "Regular", + "proTxHash": "278a391a497b3fe31616cd8370d5ecc355361a0415980347cdce58af1d4b6b60", + "collateralHash": "513701c685328a4df6546d371f4178568c68ef433175474588ec34a745d0471d", + "collateralIndex": 1, + "collateralAddress": "XxHvp3GiFxtxY3rtrSJd424zd5nbnGA9Vz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.217.23:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2127181, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmS3rYCu7R2tLxGXfG4JyqKzRsU22zvUj5", + "votingAddress": "Xb4AtcNcDUtgXjzJGXLS1yZ14mBpjx59oH", + "payoutAddress": "XxHvp3GiFxtxY3rtrSJd424zd5nbnGA9Vz", + "pubKeyOperator": "837760f1e24596d8299cd092845865c7c615626476d2cd362f823a91f7aef0d68fe0be4c4eab74e58b9ff61f9ea73076" + } + }, + { + "type": "Regular", + "proTxHash": "c6e63f45af46e31cd5abe02ec09c4dc5acd5289f35d380057cbf78f433fa106f", + "collateralHash": "86e186273c0c007479cf2c4293c79e491d6a2d04e7c9d260e6caf94088bf246a", + "collateralIndex": 1, + "collateralAddress": "XoSUr3meLu7FX8vwxmDHu5P5C6e14TEqDc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.148.186:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2127182, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xja31oJt4UX2eqbJ9FSTQut5JA8dUSRkfq", + "votingAddress": "XuWn72yRi6jkUMpyAfRW5vd5pWEQJDH49f", + "payoutAddress": "XoSUr3meLu7FX8vwxmDHu5P5C6e14TEqDc", + "pubKeyOperator": "a7bb58f5ad661bed1e0e30d1d8ba0dd2e8dfaffebae636d180e74aa3453c3c0c8830d14d84c43ab7095a92c6da75e0ae" + } + }, + { + "type": "Regular", + "proTxHash": "f786503fc35a859528fcabb73679d7cd56b62d5585830176ed1ba19251bb9277", + "collateralHash": "5f15b6232d126f461472ec5f65dcaf018166f610aacc24cc58fa02b285a6c6dd", + "collateralIndex": 1, + "collateralAddress": "XhiUaJD67uksjJLdHWDYoF2s2z6vJR9XRP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.130.205:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2126294, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpkZgBBpj4LSYu6dBqaBRsgF5Tqpo3Pzmd", + "votingAddress": "XbrBxmALuL1uWMj3m4aytVD6pn6X8YiNmY", + "payoutAddress": "XhiUaJD67uksjJLdHWDYoF2s2z6vJR9XRP", + "pubKeyOperator": "939e9105cb7f043d50d9ee89a0dd62579e5812a0e2e9edf3c092a49c464f67b4267a8db53189d72d0d0363da616fe7e1" + } + }, + { + "type": "Regular", + "proTxHash": "f184c431b25677870bd83d1cb49d5ba6a68d3d4ffff464301e3d3b3b066afc85", + "collateralHash": "24011a87affeb8436ecbb54667cff36f33c0604a73b9d6a3a61f1e9345003f63", + "collateralIndex": 1, + "collateralAddress": "XkTqiqvPLFzX6gNhLpuR2DjNwS8suRncAZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.190.82:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2126295, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwK37dUwhzxiHej7C8uuErAXJo2sLa9E47", + "votingAddress": "XkFqA36zqgX2ChSD8MhcszXna7pmhiLocs", + "payoutAddress": "XkTqiqvPLFzX6gNhLpuR2DjNwS8suRncAZ", + "pubKeyOperator": "b9018145f392d3ddf4c03785e9fc8743228ee3aa230a979e421ee0220e13c51e8f502547c28479344de9b11159c1dd26" + } + }, + { + "type": "Regular", + "proTxHash": "464ebcf16843872466d242bb63b50abb0606cdd126379ea850934c982e82c19b", + "collateralHash": "e2d4758757c1935f03966e7e302402618924a2aaf75ff205d971e2d5b121a573", + "collateralIndex": 1, + "collateralAddress": "XmEnEVCbUPxquyma77prYXtq2CE1VPw4pD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.130.175:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2127184, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaimNYK8atvqyxaGqsHen4HEFf2YqcFt93", + "votingAddress": "XvqzFPuuQrbTvNqtcsSXXu4dBheU5K5ukC", + "payoutAddress": "XmEnEVCbUPxquyma77prYXtq2CE1VPw4pD", + "pubKeyOperator": "a7224210ff5d4730fc4ab1462e2d2003eeca392418af12df45495cb148a8607b313ae19dc466f12fad8123befaf66d13" + } + }, + { + "type": "Regular", + "proTxHash": "4684e506181226295453d0501d068b28ad0ebab867e0e14ec28b07da7a3869b6", + "collateralHash": "a452b50d53f4ab85851654f2698f3aabe4a8c79fb6388d822e1daf29c46bce46", + "collateralIndex": 1, + "collateralAddress": "XbLNkyj1vEBSNsuBEN3oCWZ2A7tLnPTuDA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "207.148.70.161:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2127186, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnr3viYArnfHZXkff3fi9fHSuK4LETjd1W", + "votingAddress": "XbSCLgmuzAHgvL3aFb5Fr4bGvNNVcPszYj", + "payoutAddress": "XbLNkyj1vEBSNsuBEN3oCWZ2A7tLnPTuDA", + "pubKeyOperator": "adb62f2cc79031008e7c12a03f3942c3d7f18449855d7b5909b5db0fb35d68af9bd87b2ff80b7d078d2b9b4bc61673ae" + } + }, + { + "type": "Regular", + "proTxHash": "3d7c7f69cad63b3bedb3be291901f5f68d6901ea81b35f14da711bd02fb27cf2", + "collateralHash": "f7522af2397a8d4920e5d8da33f49dc9eb3dc35e600e019744b186d09773268c", + "collateralIndex": 1, + "collateralAddress": "XiN6cA1aeMabSexdCM9b93U4gLTRLFhvi4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.128.31:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2126297, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwk9de51ief63VnLo249MLPBft44C7auJs", + "votingAddress": "XvE1UhVPf76EpZLfjHbmzgeTo8MipM1wRb", + "payoutAddress": "XiN6cA1aeMabSexdCM9b93U4gLTRLFhvi4", + "pubKeyOperator": "a9f6ef4c54b6ded903d752ddbe570121590a6b29de460687d6222c548450097746fdf83ee8a1619bbe004e3ece2618ad" + } + }, + { + "type": "Regular", + "proTxHash": "2a2c069f92e18fc642a323593b5ed4cbe0426d3d1f8d181ee726767d641808fd", + "collateralHash": "7d8b43e842d37106dd94df36234c6bc651ce2ffa931d02015fedbec00f4b1d0c", + "collateralIndex": 1, + "collateralAddress": "Xs7PE6cJ2CT55EJyF1VLQ8N1kA9zxuU8Ld", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.158.79:9999", + "registeredHeight": 2079562, + "lastPaidHeight": 2126298, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjUc1juhRTx7YfcYyDPdLtvZ74VYdxsvia", + "votingAddress": "XgJhfEPADMZJUBAgRdKHf1YuebpLDCHVdU", + "payoutAddress": "Xs7PE6cJ2CT55EJyF1VLQ8N1kA9zxuU8Ld", + "pubKeyOperator": "90fe3b228afe54193ff0ada8ec6db55468d5a1b3878a7fc502dbdaf4122a515cb5873373df725d423e5915560b848772" + } + }, + { + "type": "Regular", + "proTxHash": "bf6216b352edea658031dda6ff686f3a09ff2a8c2b798bb0782d362f65e64d11", + "collateralHash": "c2862e289ca720ad3369ec43c6cdf7cf701ae6bc6a6599252bb8a78044ea2f21", + "collateralIndex": 1, + "collateralAddress": "XwEnkAsASUo4tk9AcwE9nKXgrNTXTc9EWu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.77.252.159:9999", + "registeredHeight": 2079563, + "lastPaidHeight": 2127177, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2121058, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkfzU7yrqDRQFbyQVpiB8xGfWwTL5wD5aY", + "votingAddress": "Xe33RN6ZGiibLjGtrqnWMXozvwxNpjC6vU", + "payoutAddress": "XwEnkAsASUo4tk9AcwE9nKXgrNTXTc9EWu", + "pubKeyOperator": "8d6ab95075ecfebb37ccca30926298f7b25ae5e837e7cb502b0a9b21420610a3b002dd1ee058dbd8325cd035d7bceae5" + } + }, + { + "type": "Regular", + "proTxHash": "7cb19372485f163893df4c517fed259b0a408735926b8ce456016f7c7f73274c", + "collateralHash": "8e1d5b2d2bacfa8f43c7b506e6b6d0d41e4f357bb8497eca968ed9872d2de669", + "collateralIndex": 1, + "collateralAddress": "Xo2j88mPgh4hK1rm7p4DgmE7wqJJgtw7zp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.19:9999", + "registeredHeight": 2079610, + "lastPaidHeight": 2126334, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbRSq5CC2ULmRtGwQqUVmDp3tZbo371ujK", + "votingAddress": "XweUmJWk8zF3fHudxZGLoD71DUFajFPDxy", + "payoutAddress": "XvTFT2f9VixNbtbgnTYGNdANjJLehH8hh9", + "pubKeyOperator": "8d933650b01087c12660730c155b25de969361fcafa71194691b034ae92a0a5df327beb7cd4d9ece13b79ae456c73d9b" + } + }, + { + "type": "Regular", + "proTxHash": "6855d693c916309646aea7df1e5bb0fc6985106c6839964df4e658d22e48f1dc", + "collateralHash": "69560c0b304d8a4c39e00fc67b37d46763ac8351b840bd5fc320ea3501e856e5", + "collateralIndex": 0, + "collateralAddress": "XoCRNeZ7qo7Zx8Y9YPubTUxpDwxhJpTVey", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.128:9999", + "registeredHeight": 2079680, + "lastPaidHeight": 2126373, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XofscaBDyXaCWtQZhoYCXpwEbk67HsY6oV", + "votingAddress": "XmQ81a6C43jKdTcdFJhmzyM3JEXXTdQSji", + "payoutAddress": "XemDxhDFieAE9VdKqdy8JiZi6p2mrCpzJ8", + "pubKeyOperator": "a005c6b88ded49635da3940a95a8fabd47a628a67d960d650a7193db1735789f2140c693d44ee1e9c9571076b06f5691" + } + }, + { + "type": "Regular", + "proTxHash": "9d5c6148801b6cb01a14a75fc339d89ffe20bde46e4e292771f6cfa223bed105", + "collateralHash": "02fa0fa6e5ca57500ece1a96bc8301956c1ba4880e3b8ed24e52bb3ac9356d9d", + "collateralIndex": 1, + "collateralAddress": "XxCDigUaYHYprFAdRKXD3ZpHDtpgwyduUs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.1:9999", + "registeredHeight": 2079700, + "lastPaidHeight": 2126391, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhVp4A5wtBhifmBp7upywouK7ha14tY4cT", + "votingAddress": "XmZv6qggSycFWGVDXapEU2oKHhCagSgNo3", + "payoutAddress": "XqoLpEDttKpB9mksDuAGfgvPecnweJwsJq", + "pubKeyOperator": "a3df26599ee6391e2b9acbedfb5a2f6d7ac1a13bb203b4844931a2a7f89b8be5e7bc0011703a53395ab4199a45b4e94a" + } + }, + { + "type": "Regular", + "proTxHash": "74ea6b1babee18f3df1affef66cd238dcd9b93801a65f977b583dfdaca91ac11", + "collateralHash": "417e949b9b8a43099d21f7dd6bf004602f3bd7841d9219ee41219064af4d4cc9", + "collateralIndex": 1, + "collateralAddress": "XogJj15dMD2gtPpktBgMtsH8esmeTios7M", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.54.100:9999", + "registeredHeight": 2079846, + "lastPaidHeight": 2126513, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xt93M2NePEeTj68YURQzyMdDf75fVXwogf", + "votingAddress": "XdEa5YtK1JoJiMmidN4p6WDDvD9C8wiYRk", + "payoutAddress": "XyVcfMfg6jwU7NtoQYzNSKtNjeRDUxG4ch", + "pubKeyOperator": "82d25f9c02d8305cce9bc9a49a16ca84ee177765340d8b55c2d44c442b2f41f7a6950229d18df43d3659e2657edc24b8" + } + }, + { + "type": "Regular", + "proTxHash": "4ea6e06bfea0099e7bc5d84b6e4702352dff5dfaf68edff3d037dd6070e465a2", + "collateralHash": "6bf16bc49b8be8d747dbda7d9ccfdfd236e2a92cfbdb648906e92a1b1b0f2a2c", + "collateralIndex": 1, + "collateralAddress": "XmSbkagscgP56QJt2PmMYqja8XyYmw16Dm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.201:9999", + "registeredHeight": 2079888, + "lastPaidHeight": 2126564, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmr36fCrjdKMPAT9wdFvMUuXyBi8iFkH8g", + "votingAddress": "XgYkk39D4PLvXnswnCK9dPNtXM5jT5zYgp", + "payoutAddress": "XbiJQhzbHo8kYMxtC9pyHLSVZ2nEmejJzQ", + "pubKeyOperator": "a33ac13acafc43ec63f9dc2f8b46351511ebe1b317585e436eb0d433151efd4debbed39bd47255b1685779c85eac3632" + } + }, + { + "type": "Regular", + "proTxHash": "be5f0277899dcc953538cd3f84ea85f760b520c4ca63f584c37c8980baca3b97", + "collateralHash": "b8f6f93a65d6240d920fc9da8e5b46c303cd202baeab3a46b8a8d573b86aee79", + "collateralIndex": 0, + "collateralAddress": "Xjgq4pPSgJXgysnkwGBRpBZArnLb8eYuqK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.182.200:9999", + "registeredHeight": 2079889, + "lastPaidHeight": 2126566, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs3k4g4ZQ4s7Kb5tUXwN3p5G3VgGEjdaB7", + "votingAddress": "XxPAUkt9CnaayUQrnvW76GPCeMpT77niXR", + "payoutAddress": "Xm8rVpPTvdWipQKsXDVLMVcyZyoTpqFbzP", + "pubKeyOperator": "8d5b17a152e38e1155c444030c531747298f76cab366dae55d8d70396490a91ac6f1a796db5e737920c601dab4148824" + } + }, + { + "type": "Regular", + "proTxHash": "1dfdf2e59110bf0845c3552b46e7baa1ebb90ca745cba6dbac6a0a5859366202", + "collateralHash": "e877609aeb7d4f8e9b8b7d09bcc7fd5b11cafce81c9424d7af55934533d09d0a", + "collateralIndex": 0, + "collateralAddress": "XkJBzYS8vZudL1R7ZX8MJa2Uvu7iYgg12W", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.251.192:9999", + "registeredHeight": 2079892, + "lastPaidHeight": 2126569, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrjsPVXgAy9P7isUm1s2TpxqvGPewawtia", + "votingAddress": "XiSqAYEvp7k4BUrcrUR3RpyoAhWHh7Au3p", + "payoutAddress": "XfSRMsDDcwiFFKoFwvgZDV67yHM8mUBqZo", + "pubKeyOperator": "8ace1fd1dc47a690f72227847e36856638c68b8090ea39abeabb8250cd8ed817980a20dd6e88d0a2882b32a68c649f92" + } + }, + { + "type": "Regular", + "proTxHash": "cdaf075c15ffd4fa456d5960422f61b000a04c83123e43f7755301c116789e47", + "collateralHash": "08c508917c3de1ab6bd588389779972e67166acb090ac3168505a534a882471f", + "collateralIndex": 0, + "collateralAddress": "XnZArM1gWgs6QR1kAerYHqkL9LfMAYZkv3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.9.210.5:9999", + "registeredHeight": 2079946, + "lastPaidHeight": 2126610, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XceSWeejERGgUzgjdRsmXkC7HsAo1P4YkM", + "votingAddress": "Xg8VijdK7df8Sc6BfbckHGc1bede8jFBJj", + "payoutAddress": "XuCQhuHwejDmPzBdRDxiMEE9aDFGoqdgmR", + "pubKeyOperator": "827243f83bca0ff0e218f5572849c0d3cca66da72f6af949f345723616cfc59617116be0bbb518961cb3a43ba20af606" + } + }, + { + "type": "Regular", + "proTxHash": "62ab2736bf85c1e1251cdfb95e8229b05d3b3fd97b39d9b9baf414c5f93474b5", + "collateralHash": "26d257e2587a987eb34b7cf3148e138b0fa2fbfeff90d0dfba13e4694e1dbcbc", + "collateralIndex": 0, + "collateralAddress": "XvFNrxjBtvjhNtAbALFYkP7FFikzRxf1WT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.233:9999", + "registeredHeight": 2080170, + "lastPaidHeight": 2126802, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XebTXWQ5bgjZivkcBZc2VWN5sphBgLrXRQ", + "votingAddress": "XjAbkQpYKqGmokDxhSXGks62QfdfwfaRmo", + "payoutAddress": "XqKDAYcTsZtvhmFJSSLmjmW9LHoMY6XA9A", + "pubKeyOperator": "b71248c0a1911bf424d9c51a080a7e1f4bc6e58cf538ccc8a03e8f88d478d4ce680d90e2a520c7b912d38dc0be24f15c" + } + }, + { + "type": "Regular", + "proTxHash": "26a96223cbe04b83415c670f1a3bd120f91462ce95c5c19738234145fd5c688c", + "collateralHash": "aaa962cff7a1fcf73570e867c817d128f475fba023a67376aa61e219b546e0b5", + "collateralIndex": 1, + "collateralAddress": "Xj22cR8otnpJuYCkaBmkYztYeCvQvczdcU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.29:9999", + "registeredHeight": 2080217, + "lastPaidHeight": 2126858, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xsu6Q4FTzC6izLKXsEHszcLSKCq3ZSzwEc", + "votingAddress": "XnriWe3uCXdpA2AV1gbr4Ascj7de5sHBZg", + "payoutAddress": "XboVf53XsFHLmvPLUm381EpcJjF6nyr9Ns", + "pubKeyOperator": "8c2c1231c85850a6d56cb986cb19ff45e351a6d72a28cd39fc87839dc8b4d937d4b07185656f7c08b3d15ebc6ccac971" + } + }, + { + "type": "Regular", + "proTxHash": "67715e751626a41178494de7e5bd59813177146da5e2402f32ea29630b12fd50", + "collateralHash": "da91357b34aea1af5f5e93f8871630ee332af89bddf9f755d274e8e541c9d28f", + "collateralIndex": 1, + "collateralAddress": "XyqkXCYD7Rgs2eYvihn1qkhQPEwdMHQn11", + "operatorReward": 0, + "state": { + "version": 2, + "service": "109.199.118.11:9999", + "registeredHeight": 2080314, + "lastPaidHeight": 2114611, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XpR4wrPNJQFsEs5QXognuAzyyzFofQ5aqy", + "votingAddress": "XwT8grFn7C9qYgrSQ7YQk9LRwNQqKcx1Bj", + "payoutAddress": "XqzaftCcE5ctmzDYKdm2M35GAM9Hg7tt7M", + "pubKeyOperator": "adf16562c2c70a8c31ce096b0af2c64385505964d6ccb722d0c8b8f72023289aad9837356afd580075461a8750585703" + } + }, + { + "type": "Regular", + "proTxHash": "9c341220ff2d511bc712ad53afce4f9f2b53b3b5a5f9943bc0d36fd14438c1ff", + "collateralHash": "e17cfee07ede68adba529584d7a203a183ab5bacf2072af7fd23614cfce758d2", + "collateralIndex": 0, + "collateralAddress": "Xgrr7zx67zSSu2YjZZXdi3zzt89nR7ML6x", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.6:9999", + "registeredHeight": 2080417, + "lastPaidHeight": 2127056, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyVzeBfP4LjFs7KmQp7j2FD3kN7jXB1bhB", + "votingAddress": "XbtiViKhaeaaVq4NYEEBQtXqfG7puBzq1v", + "payoutAddress": "XhZ6GomekEy8eLM21bRzGw5gCUn3VahXay", + "pubKeyOperator": "b5f1850d41804762c6a4191d203c98c2d50ce92d18dd9911126300df2cf3afdb1b76565649fd72cd7becb0b4ff0059f4" + } + }, + { + "type": "Regular", + "proTxHash": "2ea7596cac50d16891a08d905b16e9310679ef88cfb897c8a351f23060be7a71", + "collateralHash": "dee206ed59d57f0fde964365100f4b7ebf595bdd00f4e32dbbab82f6b584718e", + "collateralIndex": 0, + "collateralAddress": "XtrL7E418SB4aXxvZFYL129DX2hD5NbrLj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.195:9999", + "registeredHeight": 2080417, + "lastPaidHeight": 2127054, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfRP32TRbbLfExJc1UdWzSq9oMWxKDtju1", + "votingAddress": "XizNApWyxaKx18MaY32LTW2QZgeanvtY5C", + "payoutAddress": "XyMRW98xkkso8EtoeHCSGoPPayAgzUNAtz", + "pubKeyOperator": "a45804636d4062b0374d417b54af90cc969e80cd522963b6cdd5ce17e62ef9ecd341bce6b160c791ed6b06b01f27ed5e" + } + }, + { + "type": "Regular", + "proTxHash": "770500a62828b7bf166402fd8ae79183e09a8064c5f8a78042c7c5f81bb7e133", + "collateralHash": "211ce089c578b36135041d448dc029b70448f7dcbcc1cd4fe09d8b1247f7a3e6", + "collateralIndex": 1, + "collateralAddress": "XvyBQ5JM9Z5NQ6f79rs7kHJTzBEBotrJfU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.217.253:9999", + "registeredHeight": 2080716, + "lastPaidHeight": 2127408, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu1QL8nXcE3GyX8CWHnUHJ5yxe1QSaR9E3", + "votingAddress": "XgX6r73V8PJ3wF55pNPbevgA6WqaGqS2yJ", + "payoutAddress": "XsPCv6vHucHtU45dCKTUiYL3SJpXaXhGEU", + "pubKeyOperator": "86b391a84f09a0a53cd6304731ace16303f84c2832c1866626bf691573c1b48605473298e0115808eaf230e3426b8d6a" + } + }, + { + "type": "Regular", + "proTxHash": "2d58ed9746dd200e1ed459f01feb171949506c3f3d2ad09f6f06aa43e950ddb1", + "collateralHash": "08bb1e26a646a8784f0ae80507892875a4e9d9c33cb2b1881a23490f898a1e77", + "collateralIndex": 1, + "collateralAddress": "XrXc96swnjE1xJyx2cLhctEPMQYdLNuSz1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.247.182.58:9999", + "registeredHeight": 2081085, + "lastPaidHeight": 2128805, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119532, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiQunc1pXKLvgXxJUGkHFdjeZZkjdkAnSp", + "votingAddress": "Xecq4d3KC8f6ZQ3stPV715iAbty9tKnRom", + "payoutAddress": "XximVXVVv5cDaWextwj6HShophnRxmERJr", + "pubKeyOperator": "8d4d8803f4ffca920be5450b91b251c28697f16a96428c381d955a00e54f458bc54b9d8a40ee01e22a7a5ddb5df90d16" + } + }, + { + "type": "Regular", + "proTxHash": "2050c4130227b9a2025dfb13d2a27be2c14fb0034287f10f4d8e8f7f4cda4dcd", + "collateralHash": "8cbe4a7bb281bb630cf5c81c97745ad8ac7a7f2df65be696578d6eea5c4666d9", + "collateralIndex": 1, + "collateralAddress": "XtczWEJcz3NatDSr8bSSwRnjaj1XiBBUp6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.171.21.121:9999", + "registeredHeight": 2081112, + "lastPaidHeight": 2128801, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119530, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfajjJk1HyW9Pw2NyzvHXvWaTe96LtzZma", + "votingAddress": "Xn3C9Drkw3WBF6SSEBmRvqyy1U9KLKxDqq", + "payoutAddress": "XximVXVVv5cDaWextwj6HShophnRxmERJr", + "pubKeyOperator": "88f4d379ad907d9ba03b61eef957988704d7967b0752546267c4df2d18732efb63286c894cee729a844c014a0d1e5c63" + } + }, + { + "type": "Regular", + "proTxHash": "32fd1fe77c9b3a5f4a35117784ea75ee082e7fca8df4fa33e067318f89f4bcaa", + "collateralHash": "fdc0eec58de37ef99d0415f8db586b4c7d4e66c62f349bef08f496d865ea02e6", + "collateralIndex": 2, + "collateralAddress": "XqBGGgzSMi4Yy3Jsu29h8J71hrRkRtWa7Z", + "operatorReward": 0, + "state": { + "version": 2, + "service": "147.182.148.82:9999", + "registeredHeight": 2082052, + "lastPaidHeight": 2128755, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvA4FFcMLPrDcRnMxnEsjgXeN5Lg8WytU4", + "votingAddress": "XqYYUZMiuVRCmXuxcEoEeVkZqNytk1eGRM", + "payoutAddress": "Xc4Ew6yXQShm56xrSigL6bQ9isKAHEHT4H", + "pubKeyOperator": "a58d9542a1b08b4fc103ae59bbdf1458793117596a2db3742b79d2a66de0a84c9854cdbc8ae284cb873c28d5d21a2499" + } + }, + { + "type": "Regular", + "proTxHash": "aeb6dd0a9d21b5886edfd062caf2c064189dbe65981e0e774b4550cf4c383b7e", + "collateralHash": "a36d2b766050bab8dcb9195e50d0176b1b31e16ca2ec4733350c675d1cc677fa", + "collateralIndex": 1, + "collateralAddress": "XdBKSPf8xzwe9qV2Tuj2isdShnvtiJTxkC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.136.78.73:9999", + "registeredHeight": 2084288, + "lastPaidHeight": 2126771, + "consecutivePayments": 0, + "PoSePenalty": 543, + "PoSeRevivedHeight": 2120719, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsvAWon2zT1tX5iJjRWcg3mYeUVv8SUvcj", + "votingAddress": "XsvAWon2zT1tX5iJjRWcg3mYeUVv8SUvcj", + "payoutAddress": "XdBKSPf8xzwe9qV2Tuj2isdShnvtiJTxkC", + "pubKeyOperator": "a5aca414afcd137f2fae0c905e3ff48df0572d34a158b6bfe7771e123a70a6f983bb98acc4b07d6a4865838a73fef685" + } + }, + { + "type": "Regular", + "proTxHash": "93cf79432f34ba8cb6d5b4d09cba24e9e022b78ea0aabe52db4c811c74180cb3", + "collateralHash": "4a5a0c5927f2c15663257a5f2afa370ae2b55640d201be144e0d4e8b62542023", + "collateralIndex": 0, + "collateralAddress": "XfLnvqtmM6zUDgqxm17LXzQy9FEepAqyFG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.9.237.34:9999", + "registeredHeight": 2084893, + "lastPaidHeight": 2128249, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoECuhSQRSrczQJWdnEMfTiKPqBpyYYKxr", + "votingAddress": "Xk8PDpgawJc6EC7p6nWtTFEDMWxU2cmtnx", + "payoutAddress": "XfLnvqtmM6zUDgqxm17LXzQy9FEepAqyFG", + "pubKeyOperator": "969612f864ffaccf659de757a52d4d4473e9a8d241f24e558334d33ca161daa01d969595fde84f003db66bb0b36a840e" + } + }, + { + "type": "Regular", + "proTxHash": "d46b2b3c5b48c69a76906e4760026c272974a3d8adfd895af15fb5f7b554b236", + "collateralHash": "a292b16a1556a4f5fb8b2839eee1eec4ec187227b3d41459c39fcae61d2bce41", + "collateralIndex": 1, + "collateralAddress": "XwRyboRWYsm3u2aVLYLEwdoyiHAMhpjSaH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.20:9999", + "registeredHeight": 2086041, + "lastPaidHeight": 2126051, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwLXoECisBCdKupSZwshEPaiNHiLGr6CmY", + "votingAddress": "XoXKPd848Cs5QcUQceysZSLx2Mfm7qfDMR", + "payoutAddress": "XtcbrVjTGRJhegpSXJUhC1Ez1AFDc6URji", + "pubKeyOperator": "975ab3071c0be550e05b0e96b49e5a6d64f1ffed30c062bf8650acd0df2126cd99924f7f0e6fb0a2905bdedf397ed7c3" + } + }, + { + "type": "Regular", + "proTxHash": "772f69fbb87538cbcb747be1c291e766628351327cce69ea323adcb63cf8d820", + "collateralHash": "69e0c75c7e6146de30e6a7dcbc758396994996bebbdea5c78718357eeae95499", + "collateralIndex": 1, + "collateralAddress": "XmfpNYAiQ7GwLrDiGtxAWUvjWypwaMrQiv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.130:9999", + "registeredHeight": 2086054, + "lastPaidHeight": 2126061, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcKSNc7UJSS2Tbnbt8iHRMf5qz8PWwtwem", + "votingAddress": "XbuQbptSWA8UFanA8QtXcyAjEDzHNCg8Xj", + "payoutAddress": "XtgKMFs6DqoTX2KAwZ2T6eA2LtwWYnseyd", + "pubKeyOperator": "837a907443be896ddb104b393a226d2ddec05506e717055ce507c3d4eab85d5b970b9af10c040ebb3a00fec918b5a38c" + } + }, + { + "type": "Regular", + "proTxHash": "9048d48382b3cc2a7fad5ddf794fb3b7e6b382d7b416dc462a9f77d73082376e", + "collateralHash": "c155714ed674190b272d4b20cffd466371b60d109f125e8b241021195b0b0fad", + "collateralIndex": 1, + "collateralAddress": "XpEGCP7aKEVJu3brL6jnoPUA5FN8u2gc7Q", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.63.89.86:9999", + "registeredHeight": 2086463, + "lastPaidHeight": 2126368, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgLdYvt56Q8nfj43vJdgqDRyE82D15rLPa", + "votingAddress": "Xhwkw9ZZbdWUJ9sFwaSAmDFysZDJSYa3Q5", + "payoutAddress": "XyQkmasURmiurpmFASg4G1PhuwUXmFyprJ", + "pubKeyOperator": "b0a71e0ab1b55d54792a2106181ea783ac84ea7eae46eac706bc661eddac676125a43f708a40bc23951278d6fd7c8521" + } + }, + { + "type": "Regular", + "proTxHash": "efa0052e64499aeb521334a41eb12205bfa924f64252c9c9011bd932af74c51d", + "collateralHash": "8999b3d56554c843f0ffa33a58a7c97b21bcd0aef14f23423d3f090aa536bb5e", + "collateralIndex": 1, + "collateralAddress": "Xx7qUWfQPrzSGCpYf5j7BU2NfoDCvFQ3ox", + "operatorReward": 0, + "state": { + "version": 2, + "service": "138.197.158.8:9999", + "registeredHeight": 2086483, + "lastPaidHeight": 2126384, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu6muNomwyc5uzfFrVCEWQw8PVqwMZof5U", + "votingAddress": "XfgPCM2UKbF2xw3g4y3QWUSgebWW1jrxK2", + "payoutAddress": "XiV5yd8ktudSxNNrUn7oiRt3nMdBLdVq4A", + "pubKeyOperator": "89d040bb9b6cb8620dda20f1eef7566dd081b399d7646f533d1f9d91d07f7343f589a68d06bb44997d5dc65a33e1826c" + } + }, + { + "type": "Regular", + "proTxHash": "221492f2b49bc96952f4cf84893b456e45b014bb516f267b0b3ca6d7d64300c6", + "collateralHash": "48162059e31f19186f9c116f2d5e2f0477e5f67e039c1188ebda8847e3473f2d", + "collateralIndex": 1, + "collateralAddress": "Xh6bV5oyxZZZmFvewZDkb9YyZj7LtxXj3Y", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.227.142.41:9999", + "registeredHeight": 2086486, + "lastPaidHeight": 2126390, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XffrXQsU2komskVA2evvvrd75cdWPiCqX4", + "votingAddress": "XgeJPtbgBWv33KkgZ3uZhUAX4gY94yauwP", + "payoutAddress": "XiaQWtHGFtynacdbqUto7g7JkMXKgTPBGW", + "pubKeyOperator": "b026135bf55abcdfea1a2afe56501024103b44f4425d1f0b2cd2a7360e9edb28f242585a7a0983a1323c33721c7a12a6" + } + }, + { + "type": "Regular", + "proTxHash": "f4a109388447df2b5c0ac6fd4271969ca3c176c1b979e16fba541c7fec1b99d8", + "collateralHash": "9dbf6baa085b4419cdf684520bbb1a8a3070138aa1d5f323632d08738ef8509b", + "collateralIndex": 1, + "collateralAddress": "Xf6rnSA7FpJmyFjMTazye6rAGPuAZfrhxG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "206.189.112.121:9999", + "registeredHeight": 2086639, + "lastPaidHeight": 2126518, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqDCqkkbH3nY6SdVwFEK8eZ5mmucbQrXrL", + "votingAddress": "XxmMaY2KPx3L8sM4W4JzqVSeWziiXq5wzF", + "payoutAddress": "XahiF9n9BkRyPac9F7fBUvFfd4FKffpUuw", + "pubKeyOperator": "a6f580694b0a962a436c757d78e997bdee45cae9ccd437b03838c87474c18c51de5b6f3beb0ffa343115fb1533e2ee82" + } + }, + { + "type": "Evo", + "proTxHash": "6ee0be87042267b34f8867626a580aa190d6afe3306b3ddfb97d3a0fb6f596f0", + "collateralHash": "6dc2552128987ccda5bce18b79e9672daa2ae7c7e64098658d7421c3b84ca615", + "collateralIndex": 1, + "collateralAddress": "XebFHejJkn5SU9oUXWU6RuwArPSanW2tNh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.187.31:9999", + "registeredHeight": 2087993, + "lastPaidHeight": 2126271, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123119, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XczcvTTnyUFjwRae6CFtJK3oofu7E8YRHT", + "votingAddress": "XczcvTTnyUFjwRae6CFtJK3oofu7E8YRHT", + "platformNodeID": "1146bcff061ef104cca3832f4781de58b6b26f0b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XnyCSR1jTHRuzifUvbEcdArF9wcRuMCpo9", + "pubKeyOperator": "8e63c9e1e1dca75b1cc4986f774da70782b415127adb1f81d57e692ab1f425b50bf806544d7407d22cefb9351ea3150f" + } + }, + { + "type": "Regular", + "proTxHash": "8a44f87f4068e9fcbbf48a27e9107fbb42fe9cd8b6262ba6683ec97530b36508", + "collateralHash": "729fedd351d7443d2b98373648f06b16f77b484fb0ec147644ca273884e6c960", + "collateralIndex": 1, + "collateralAddress": "XsyyhftyhZ8FcjEGVNBBP8STHmGQpqUY77", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.166.254.106:9999", + "registeredHeight": 2088021, + "lastPaidHeight": 2127965, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrJktWeJi8eaAM4Pr3sAmSAKBjixw9Gtsr", + "votingAddress": "XnCF9pvxsBtbQNSwx7QMie6azPSP2UrrRF", + "payoutAddress": "XunkSuuZmbzVsckcBPD8rzAMtdPcH1Bg4Y", + "pubKeyOperator": "b7b2c324a57c182d9c23cb9e2e1158b6faf92a1c7caeacec03f1d89da94b9ed5f125626317654408a83af740985726a0" + } + }, + { + "type": "Regular", + "proTxHash": "447ea324892e06174d7b53ec088765676688741d40d983adb845e1c2e2254590", + "collateralHash": "b88218c524254989486233d4b6c1437d160e731164962639f51cbac498a31a4f", + "collateralIndex": 1, + "collateralAddress": "XxeWZFB6D4RMwBsatS5g5wkfjLFKGP6Vkf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.71.197.76:9999", + "registeredHeight": 2088146, + "lastPaidHeight": 2128102, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xwzojz3pVV2HnpUFQGJ35FAYgPyv3w5nFp", + "votingAddress": "XkC8dmkc3sRebi4gJTNyUZfsTuYbXFLXHH", + "payoutAddress": "XgqyeZhRtmirrhP9Hbd5csbk4vwrYMi9UF", + "pubKeyOperator": "a5951abd46313171a07fbb4a0fd79edfa0ac7caf52ac25632870cffbac5ab6d9b72074875d1d440de083b48047e53c41" + } + }, + { + "type": "Regular", + "proTxHash": "1452b7d2c2e7944adadb647a95bb6984c4263f2cc916529f26fa4d21decc551b", + "collateralHash": "e1c69c2cecbeac1221311e23a575387361fbb1b30cf3f4e0da9d3789e3fabebf", + "collateralIndex": 0, + "collateralAddress": "XqP4UiSnYHw8fqhqSCwRVcEMudLDmrN3rj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.179.153.122:9999", + "registeredHeight": 2088545, + "lastPaidHeight": 2128488, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrgWH3aRvzWGfawv3JpGQk7theTecysL4T", + "votingAddress": "XfgwauvZKg8TxQ6XuoVYZDUVkR8uKHKRXu", + "payoutAddress": "XqP4UiSnYHw8fqhqSCwRVcEMudLDmrN3rj", + "pubKeyOperator": "a0090ad43f702404e6a3b3287a344ad6912a8a981061831740dba02522d61e3f21d6a246fe9b8ceb73f727e0894eb01a" + } + }, + { + "type": "Regular", + "proTxHash": "297f7320503d5917169e2942530dc09dc43a768eed9ab31bdf8c9d34929a4f0a", + "collateralHash": "eca9ad3c55c7e2ec5f8c56ea8d369859cce564f0b2b8db4f2b490abbea4800b7", + "collateralIndex": 1, + "collateralAddress": "Xy8YYZpX7JMNoNP9sYEMbMLFjVdrhjp1L2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "68.183.42.95:9999", + "registeredHeight": 2088874, + "lastPaidHeight": 2128769, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoPyxMjivXkKPMx7G4KpiXrpgUoDBzEga2", + "votingAddress": "Xh2doqFaXPKSDeNCJWAEdhva2ZuJYSq88M", + "payoutAddress": "XiK5uNHbrwrcjDqponX5agYKnkg1yWwzMy", + "pubKeyOperator": "a9e143b1a9cef54940ceebd3ee11f5a56fbe72494efd02822aa5ff64755824cbbda65ea370e69336fd438cd086d92ad5" + } + }, + { + "type": "Regular", + "proTxHash": "7e8bf9d0b3c8e7ec56c179facf2d20f63e13aa4ff0d7f5c78f489423cf5f92ed", + "collateralHash": "f22209714f95e3acd9d2086b995668c8b69da270f29a9915db7beb8ea56ed7c2", + "collateralIndex": 1, + "collateralAddress": "XdTQfRgcQvrPGRsLzL4KKesQXyn64knQwv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.65.90.229:9999", + "registeredHeight": 2089321, + "lastPaidHeight": 2125938, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeE28XrZxTfoiYH7i1tfrtwJ6Wqxo2U5Sk", + "votingAddress": "XbcRfj3uiNPqE28DkGi5J3ji164VCocVLD", + "payoutAddress": "XjsCBgY879YSjdpXaaqrFMiEbWUXyRTPQZ", + "pubKeyOperator": "a14d368ba3b7f01bda0d57a31f0673feef104585a68f6f2997f7c4448e864871bd1adac36833b33d0dceadbead060d8d" + } + }, + { + "type": "Regular", + "proTxHash": "71a44259b4ecc2495ed40ee021a3be7ed79c162b23fa30f5b930222f0c8d8668", + "collateralHash": "d12e0689b76b54f6094392cc39487867bf4cd7cbb2b9da2d42cfa55b03e4ba9a", + "collateralIndex": 0, + "collateralAddress": "XboraTzkEcMz3152yrnJC3mQJt63bPSE4L", + "operatorReward": 10, + "state": { + "version": 2, + "service": "194.135.95.186:9999", + "registeredHeight": 2089324, + "lastPaidHeight": 2125941, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkZ3UHLYo9jPYzap8NttWTVSz3cstqQf45", + "votingAddress": "Xpf2hDgUX62ktdDuFLDtbDZ3BKBjeR3buB", + "payoutAddress": "Xxt5QWRLWMCenbqCyRK6MJjpm1Q5FMuNpX", + "pubKeyOperator": "8c3f7a90e55ad49a2a9990b099acc9b9e5519642455f9e545df907c9197bdf9b8ceb8f4b8bfd60fcae2b4f650a4073f2", + "operatorPayoutAddress": "XrPpHJYFDdhBVPi4tAQ3aRiEjmxEgWnFe3" + } + }, + { + "type": "Regular", + "proTxHash": "1e1e5d5882bda6998268e2860ff740a7e38e4872c8e059ce716d744b4a47a347", + "collateralHash": "cfde40be86237e0943df3988cd1a62d071aef87cb1fa9a48d4b8d61431668b52", + "collateralIndex": 0, + "collateralAddress": "XmzRfS7Jhsyymspy2ZPBYgmghb15KvcqSp", + "operatorReward": 10, + "state": { + "version": 2, + "service": "185.81.166.24:9999", + "registeredHeight": 2089328, + "lastPaidHeight": 2125946, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiKMUeUMFPpSCbF6Kno3YKiMZFB4KnYLro", + "votingAddress": "XqXuZxe6kJHLbijsmuDHVN3566bVAg1EtF", + "payoutAddress": "Xxt5QWRLWMCenbqCyRK6MJjpm1Q5FMuNpX", + "pubKeyOperator": "aec8b2dbe65f7d0e9b8b711315e695fd8ad0cffdcd34694b2bdbfb084a14af751aca8ca58b7e735f865b951cfede84da", + "operatorPayoutAddress": "XrPpHJYFDdhBVPi4tAQ3aRiEjmxEgWnFe3" + } + }, + { + "type": "Regular", + "proTxHash": "8b9d978daec0d2249cb88e42426325f3dc36d01dd6fadf8c146f97d5f6bd5f5b", + "collateralHash": "a3a977c4d160b9b8f6cadc95825bf9aa7551794f277d52c2044b454535bf0cb5", + "collateralIndex": 0, + "collateralAddress": "XeWgDusqoNq9b68seWxEecWoXzyfnHBNAx", + "operatorReward": 10, + "state": { + "version": 2, + "service": "89.40.0.109:9999", + "registeredHeight": 2089335, + "lastPaidHeight": 2125953, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxaShF3okRy5RYXthWwoFRMTEj3P6psGL6", + "votingAddress": "Xw24BsvS3hjWg3yDZPFFeV3zyyMHQWyBDy", + "payoutAddress": "Xxt5QWRLWMCenbqCyRK6MJjpm1Q5FMuNpX", + "pubKeyOperator": "a218fae069be2f1ecd1006cc1d9229e11b2cff57a82eb2192323700bcf87fb86b174bca5a1cf832c0158e51b8f5f707a", + "operatorPayoutAddress": "XrPpHJYFDdhBVPi4tAQ3aRiEjmxEgWnFe3" + } + }, + { + "type": "Regular", + "proTxHash": "0e595bdd4838e81f5d20e427921e9666bd8e3d066a23b86d5deeea336172182e", + "collateralHash": "d003c0bb7331e4f80411414ec93dcc62c0701d2d756322abcb2617ce56921534", + "collateralIndex": 0, + "collateralAddress": "XeVekBFoUt8GKJnthDDKCpZEcu1dqVeWu6", + "operatorReward": 10, + "state": { + "version": 2, + "service": "94.176.232.82:9999", + "registeredHeight": 2089340, + "lastPaidHeight": 2125958, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn32ASmbhuAJtMTAySQphLMEC7zM3gzxjn", + "votingAddress": "XwxtC5MsDYvG9sDFhoPsorK7sGwidm2PM2", + "payoutAddress": "Xxt5QWRLWMCenbqCyRK6MJjpm1Q5FMuNpX", + "pubKeyOperator": "8c527f9e3aa4080d3947303a6cb02c654073b63cc2a8bdc30f32869a38a82aa5909d2ae242e92786ee851b1b5851e5f8", + "operatorPayoutAddress": "XrPpHJYFDdhBVPi4tAQ3aRiEjmxEgWnFe3" + } + }, + { + "type": "Regular", + "proTxHash": "6691cdff0b1c6dacd42be799cefbdad3d23e94cbeaaa206b52e0bb587405c17e", + "collateralHash": "68c78e7aaf90120489af01b067ed354ebf43d8bbea3166e7cf7de2ad5bc18a02", + "collateralIndex": 0, + "collateralAddress": "Xghk9ByyLF9RR3ThzViqi9GhqRytMjoa8z", + "operatorReward": 10, + "state": { + "version": 2, + "service": "176.223.136.243:9999", + "registeredHeight": 2089344, + "lastPaidHeight": 2125963, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgNtQxUgWoVXEqxarpS55yW7NuhkttmMTq", + "votingAddress": "XgwDHAMapGb4ptA7NZjxQS6ViSeJsb7Hm8", + "payoutAddress": "Xxt5QWRLWMCenbqCyRK6MJjpm1Q5FMuNpX", + "pubKeyOperator": "b46d8cf92fe4d2daf83c6cc0d777256f06d3e8ea5445d9fe33110786a2339884accc0bf533ea4f4ceb8727e43cfb61de", + "operatorPayoutAddress": "XrPpHJYFDdhBVPi4tAQ3aRiEjmxEgWnFe3" + } + }, + { + "type": "Regular", + "proTxHash": "0ce628a28068eb1381a9ece3ad36197297984a86ef44abcfb3c8431a957fa3dc", + "collateralHash": "8c63eaf831a7e70432fe4103096a306412d7757737471ebdc3e8f45d0106f320", + "collateralIndex": 0, + "collateralAddress": "Xc2fArRYgZVvvfMC7aK6mRjkSiBoFs1ycZ", + "operatorReward": 10, + "state": { + "version": 2, + "service": "176.223.134.113:9999", + "registeredHeight": 2089348, + "lastPaidHeight": 2125969, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiES3RpGRSQUzTCEBrJ2HHzuXtqJnx9x2s", + "votingAddress": "Xx8nEXv1QHjQBngYubLi7LEH43WtPkS42N", + "payoutAddress": "Xxt5QWRLWMCenbqCyRK6MJjpm1Q5FMuNpX", + "pubKeyOperator": "99888c399cecd946d4b1661105657aac9481e1bc1bd78ba7dff9384fb2e8a7c363e554e81107da993b3c4fbd560f781e", + "operatorPayoutAddress": "XrPpHJYFDdhBVPi4tAQ3aRiEjmxEgWnFe3" + } + }, + { + "type": "Regular", + "proTxHash": "640368db560b2d3b6b5cb0d6396d37e16b250d024a028b62ec5b495e0b766179", + "collateralHash": "6a9e554d23448748542b49622ac1e3952445feb69a3f27f0116cfedd1f8b4940", + "collateralIndex": 1, + "collateralAddress": "Xp8sUcF5eMDNjQD2S2KXmPuh6KndcE82o2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "147.182.156.152:9999", + "registeredHeight": 2089723, + "lastPaidHeight": 2126251, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuApiLkpJ33ucXAtfd8HUYbdgS14ABxwma", + "votingAddress": "Xi6FWjEGeanBMCA5tYvUhWrRJV74h6sLrT", + "payoutAddress": "Xhxydng4SBAjPbcYPiHQkFJ1NH8U3WpcdA", + "pubKeyOperator": "af9ddde94daa92b912b573085b6fceb41dc393e3ab39b33d4beca5c649087cc1bff197e032c584cc29717dcbf12040ad" + } + }, + { + "type": "Regular", + "proTxHash": "a98e626ccfed86543a9d628b7f2c51ea07fec55cd12da101179bd695a4596e9b", + "collateralHash": "4cbd0a8fb493128b4c968888379fe9153152083956fcf5f35b1f3d91f585afbf", + "collateralIndex": 1, + "collateralAddress": "Xgp7MbBz6fXUnZ3YiwS4jYKUra93ZMk82S", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.34.49:9999", + "registeredHeight": 2089732, + "lastPaidHeight": 2126256, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqBJUX9fyAMj4AbnU3DN4DZrb7LzmJRBwm", + "votingAddress": "Xp3pwUA4rF5cMgdRmwDNKvrgpsHNVD28uf", + "payoutAddress": "XdyYvAB7W8M11FzzoCKqXcMiwzPNZFJBxD", + "pubKeyOperator": "a83a354c58a167a5eabaae16a50758c20fcd36ea549306d519b3ea4260d18e23cac2225ff60401be5f166881bc56ea1c" + } + }, + { + "type": "Regular", + "proTxHash": "3bceb972e8f224dce72c2aed5440a1afdc34abc75bd1b559a7fc023961d3e61c", + "collateralHash": "9be3dc828d71c52c128e0303925b826ad7e62a741508722a84912be21519c8c5", + "collateralIndex": 1, + "collateralAddress": "XrSPX2jFfTjeEfd3A26e4g2h67Z4X1hCP7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "147.182.154.116:9999", + "registeredHeight": 2089737, + "lastPaidHeight": 2126262, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsGoHeP5i7u8y7XtMNvmJJyEdwHfRXgK17", + "votingAddress": "XdoE76nsY1ydgH8t8RWUuykuShPN7TFz26", + "payoutAddress": "Xf9f8bQMHcKcE9BmE6cbYvbh619sd4sHS8", + "pubKeyOperator": "8cf77f00fe0da155ebbc4f52d9360385d059a01651a79e66524a2dc5cef4873dc4d91ff8da2a042c524510d9c0c5b4d0" + } + }, + { + "type": "Regular", + "proTxHash": "6e27739c5affe0ec30090b7be387ee817a429bac2fa5a2ab0d351ed4c7774e1c", + "collateralHash": "1a1ad0dcb1400d90a34286915a6ead08b71fe7f55c7c56b122c81db3e2b461b6", + "collateralIndex": 1, + "collateralAddress": "XjBQngnhGictxZjGU1hR9MH8pvBEZ3fv6a", + "operatorReward": 0, + "state": { + "version": 2, + "service": "161.35.82.173:9999", + "registeredHeight": 2089749, + "lastPaidHeight": 2126289, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu11EVWB7X9VDzhPjw5xHeaep17aNDH7S4", + "votingAddress": "Xc9qEeqh3skoEsZgZofU9QT9zK8HupRnEu", + "payoutAddress": "Xrg7FoE1wYs5dmCxpro7SmQvLbqLYcwVPS", + "pubKeyOperator": "b16bfc76e595eab19a405486177f481cbb93a4f8a320aaefbead471941512dbfa7e7c44f1cb46e7a3c4e2f409ab15ec9" + } + }, + { + "type": "Regular", + "proTxHash": "d4aeeef5c7e16fa3e10ab669e854c5581ee149aa5dc9f75fde01d9ddb535e29e", + "collateralHash": "52b31088e4daeaecc3fcf5bac520015084509cab955b90999fd69758069ae73f", + "collateralIndex": 1, + "collateralAddress": "XhVFgUQPBapjJdEYHzdSnm9swW4dU5tmDT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.162.111:9999", + "registeredHeight": 2089786, + "lastPaidHeight": 2126320, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeJCmhuEsGnuG3EkFhPZfAtHruAod96bGm", + "votingAddress": "XpsSfkgszevYTD2T21A6545pk5NKsfexyY", + "payoutAddress": "Xth3xaJ3TUG3RuVsc9Ckcqp1pKz3CeVPPD", + "pubKeyOperator": "b772c2aed08f45b9bd95ab656ca92b39063f281f20f26bf4d5e464b86952c99739bae19db47ea326ec54d71c7907e4dd" + } + }, + { + "type": "Regular", + "proTxHash": "55fa0fd8647d6a77a9f0be842650664c6cb9aaa7d6958fccc09eeff9fb8ccd5b", + "collateralHash": "114181d5a9d9d8cbf6578a2a952a8f9ded35617b2943cbb8ad1e99f189456533", + "collateralIndex": 1, + "collateralAddress": "XsSBVv5T4CjdR6WeQKDWPya2PP4AS1ypCk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.241.98:9999", + "registeredHeight": 2089797, + "lastPaidHeight": 2126325, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuyoFFnyQGtUQV5xjpXRUBN6pS7XRFXjMD", + "votingAddress": "XwnzLyhLmZcYbf5CLizggeWLSzJYLG32jH", + "payoutAddress": "Xtv2ykrdMif3j1uchZGVzRGJWDaLPS1hcT", + "pubKeyOperator": "850c2c250559a68e02a64fac8cbd63fc326c6f130ee5db3d0ca85dd81e79b2c3cf06dd018d38728454cf5cf11bf3b0c8" + } + }, + { + "type": "Regular", + "proTxHash": "c565f5c98cdd2b1b21635f770351051b60791b268af69d4141c2b9aa3a9fa107", + "collateralHash": "fcc882ec101e67948c04b2b2c59a6824efbd55de574531765cedd2d9626e2136", + "collateralIndex": 1, + "collateralAddress": "XvXdiSRp7efgyNbBpuQHQWDTmuBpiM9CUu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.175.68:9999", + "registeredHeight": 2089797, + "lastPaidHeight": 2126324, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsPdbao45hekWLABRxKcoE9R5KqXyzpb8A", + "votingAddress": "XytTKjLEwxgTYjy4StaNMfixEtyasYNm7t", + "payoutAddress": "Xu5ZhfWHLUuLv2CjzYuMx7tjaZYT254xx9", + "pubKeyOperator": "8b425b874998b94e564cce0264149495aec92ad22a57c6ed60d902c8d7ca96a071b675adfc1580c1a719d1ac300f1faa" + } + }, + { + "type": "Regular", + "proTxHash": "b1aa779c9cef8e2ca84fa9f2a8870463cb11300f4ffff0a4bce25b7b57eb2d01", + "collateralHash": "0d9455c2d7b1906f65015ef73aecbe3e528be8ed7f40b9e6f3e78feb61f8343b", + "collateralIndex": 1, + "collateralAddress": "XnwUZHari5wbhiyxsUMsLC3SGGJvv91t5U", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.54.105:9999", + "registeredHeight": 2089798, + "lastPaidHeight": 2126326, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo3xqzUvgosyqFteadpBQM8yqAn7iZh8NM", + "votingAddress": "XkAbzmoBm4GWAKSaeqVsNLoXCCzrRGnWpm", + "payoutAddress": "Xu8t2cUH2jH8yEVSDVxmATisubgssiJ6e8", + "pubKeyOperator": "956ee18e0858949f2f28f695854e1b93b8d619c90aa4336f2f322d06ef5fec3c557f0aa7d645b39f105e48d9fa9bb7be" + } + }, + { + "type": "Regular", + "proTxHash": "83a5bcccc3632cbd41b5f1a31c476eedccb73e73a893af3c7cc55ae1f63ab0dc", + "collateralHash": "e5b95b5538bf59d7a09a39cc489835c4aa750cd8982da246faf99bed46fed33d", + "collateralIndex": 1, + "collateralAddress": "XhjhLi6LedBZzbUKbAhQaQtaT5qD8TeKZN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.182.219:9999", + "registeredHeight": 2089802, + "lastPaidHeight": 2126328, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvLTMRSmPcbPu5xup6ZFtvPaM17w2gMY87", + "votingAddress": "XomK2amELKHM9Gr6vqTSAR25GRho3fQ2aG", + "payoutAddress": "XuF373YR3PEZm9suFybLLndtpm2MdkDzgc", + "pubKeyOperator": "9109c4a181b53602cafe3a2330f9b9e972691d2075f85942eb0643db74513831a2be352b2d27bef802f7dd992f006534" + } + }, + { + "type": "Regular", + "proTxHash": "578096aa8c9e9cfce7b0f748e189ceec54c73d3a5f8f5c49046720495fb510ea", + "collateralHash": "25fc698bad860362580e071748b2ae5a3a2d0ea8a8218a75817a6b35c5c6b156", + "collateralIndex": 1, + "collateralAddress": "XhZnfwtiMw6dQToe9jg9CkznwvYzqqP5Js", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.182.217:9999", + "registeredHeight": 2089820, + "lastPaidHeight": 2126347, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbvaCHM2gPinN59utSZX4u2TWTBAFWViXW", + "votingAddress": "Xrd16aPQU7DXvL5hb49cobnJmzVdj924Pr", + "payoutAddress": "XucdyLrpvgniaXxtRsqdAvehkXkCZuwwKT", + "pubKeyOperator": "997232fa4c8d8532c6aa9eedb035011309f07e6b90d3ee6fffa2eeee5f66fbbb164ce8290c6fa63fc1b74b86161d2900" + } + }, + { + "type": "Regular", + "proTxHash": "98ce60b8e1c83ef38b590cc09d86937c3670731cbc7759ab9b1bd26bdbf4c9df", + "collateralHash": "765e12741a62e0d39cedf8d826c09e25f6c779badd50cf9447b319d6733e559e", + "collateralIndex": 1, + "collateralAddress": "XyCntb4pf6A7KMfmMyjGL5v6Yv2mGtWHsN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.236.104:9999", + "registeredHeight": 2089824, + "lastPaidHeight": 2126348, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjJv7W98wAJeNayUHFZwwZhKASSG2xH8Ku", + "votingAddress": "XnCSeFCShBeZEdozwmdMpSjpHVjfnaaBhG", + "payoutAddress": "Xunwya1Eqy1VbTua3AKdrwdTwFSwtaQwVh", + "pubKeyOperator": "9012d16e4840215af9812858a9a26d04d9892589d35634329a80de87d184897eb5105fd46e3e26cae8ddc0cf27d4cb91" + } + }, + { + "type": "Regular", + "proTxHash": "0a4398a5366fa46fb1576ccbf20a7150437ffd24f4199b73217a8daa76c1154a", + "collateralHash": "23b51bf427005ca18cb061b15e1421733396d51f4f08ab367d00315cc2667726", + "collateralIndex": 1, + "collateralAddress": "Xp21Qf2VV4M5kAJrTgLUTSvUv5jrEoJqnS", + "operatorReward": 0, + "state": { + "version": 1, + "service": "[::]:0", + "registeredHeight": 2089828, + "lastPaidHeight": 2106976, + "consecutivePayments": 0, + "PoSePenalty": 3846, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2108778, + "revocationReason": 1, + "ownerAddress": "XugyYSjJnAuPtvpyzF1LFYFSUZdg5smN8v", + "votingAddress": "XimeYnqYd9YzrZtUgvFvFrUTuPWVbCDSA9", + "payoutAddress": "Xuux2GizoCx8b2m4ucFso9FK4DgQoHN3Mb", + "pubKeyOperator": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + { + "type": "Evo", + "proTxHash": "64c9c11cfe31be3c1fec56ffb2a756cb352c164f3fce1c0a9f991ab797b20d90", + "collateralHash": "4ac5055819ab52e571470c5dea86bd8eac91ec50725ab4cdbce31c52a37741ce", + "collateralIndex": 1, + "collateralAddress": "XrgFyfjaMNA1RycNPHWa46vniBYqnXksTM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "198.7.115.43:9999", + "registeredHeight": 2090832, + "lastPaidHeight": 2127304, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwKvxmBJKv6DLppFTXbMqFaxuu8wSkzbCw", + "votingAddress": "XeBF28ZPGRS3ETD1KZW7nC5yh3wwX7tDFf", + "platformNodeID": "79ec25bf51ad09c3b4e6435e3e6d22e864ab690b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "abf8d7c9e5faa19a6c82f274aecb942fc2f5d34216f074c8ee0a79fade914d1300b94f6dad8dc92fa1a65e088db7a7e3" + } + }, + { + "type": "Regular", + "proTxHash": "a9acb5e8993af1e6f2d51952db3bf747e93a80a924b8d4291d0fddfcc1c6a4ec", + "collateralHash": "ef5ffd67fe6ae1f17e0153ea35f178a84349951eac2a3f7b06e38c9b8addec45", + "collateralIndex": 1, + "collateralAddress": "XvcU621JxHLQDExg69fVE1Gsgm1QNfLd8c", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.47.161.193:9999", + "registeredHeight": 2090838, + "lastPaidHeight": 2127307, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XotoYwwXwCUW9zZjc8L4nm6ZpMzsUVB8ff", + "votingAddress": "Xp8qsGA4Tyqgrgx6e17EKN7fdBegd2PUTc", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8075cf153b756f10ef006d9357af3245b2eea01e5d05fb92602041decc50d3df9961c6d3bc769a1bb7135f965a8dc465" + } + }, + { + "type": "Regular", + "proTxHash": "79b0db2d77cca8b80974f743aa311ef27022cbcb7f623ac727f81b3e4256805e", + "collateralHash": "c97511e2dbfd24a194ad9b05f2849489d3c937e46f41ad7243637d4272f27917", + "collateralIndex": 1, + "collateralAddress": "Xw3YjEL5NPiwxMqzExTF7UrkdxbzRRfv6x", + "operatorReward": 0, + "state": { + "version": 2, + "service": "162.246.17.248:9999", + "registeredHeight": 2091249, + "lastPaidHeight": 2127769, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaqA7FrLiRLSseD7gPu25ZGBwDUWJVPwwP", + "votingAddress": "XeFFf3dGfkpKuy6bCutcbfw45CsRLDC1Db", + "payoutAddress": "Xnx1ZLe1GULVJbSjcsNPKRBzKDHWnzUBMt", + "pubKeyOperator": "81dada1cac0a87e925e4484020a17a9d83100b826acb743470e71cfbf0454073df05fd7a77049912441311dce93089a6" + } + }, + { + "type": "Regular", + "proTxHash": "cb838a65cd1deaa0bc3c51971e20e0a7d9626b26ba72ef9a2e51be3d2c87522b", + "collateralHash": "cacc9430357b75ec98f2df67b9d479433370d7cf8424cb954eb1344a3e5ac23a", + "collateralIndex": 1, + "collateralAddress": "Xu2qQxj7oSkiMawtpN73bR6BdkqcgtzcY3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.205.5:9999", + "registeredHeight": 2091644, + "lastPaidHeight": 2128189, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpVS6n92U7WHC9FJnahkhBduZjcaC1TdtG", + "votingAddress": "XiThH8si86H8qRirPYjisXCPHwWPG1gcGE", + "payoutAddress": "XtXo7h7NN9ZXhNaQc5f4meSjohf9VGdL4w", + "pubKeyOperator": "a52f568b6c4f64c8338629771a3816de209d79345cc3dceb6b6f8109b81caca35e5fe82870bda259af637807cf715013" + } + }, + { + "type": "Regular", + "proTxHash": "ee8d831b7ceb4b14ba7274599973050e236b77ad6c29fdef7babae84a23e4e9d", + "collateralHash": "7817d0c93b3b4a831d119e8b95da08863c801f221e9d59076ff2a72582138006", + "collateralIndex": 1, + "collateralAddress": "XjyHXEV3QrKRUPUEUZjrVUivQTsc7yX133", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.54.101:9999", + "registeredHeight": 2092134, + "lastPaidHeight": 2128634, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvmE1hRyemihsDWCUfyf3etCcmgSSM5Wk2", + "votingAddress": "XrgDnv2Ceu8D9zURSehRoksVjdFD9KgjkC", + "payoutAddress": "XgwPCgR6BLFiWfepFipnEQeUisf7gwUt8t", + "pubKeyOperator": "ab10bf77192ce7f385e8644b55489678f3dda290304148b09703576ca4e67af565b379f56270744e101a450ba73fa194" + } + }, + { + "type": "Regular", + "proTxHash": "0195552213c967569b6b0e31a40974b454b3a3642d1b5a2d89e20ee32c400c08", + "collateralHash": "e856fca94ac94f3324be9cede3de0498bfad9a95e65138d6b209c72ffe067021", + "collateralIndex": 1, + "collateralAddress": "Xs57r8jyVtcRUuCxXfFDP8Lz1d7uQ49JZY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.54.102:9999", + "registeredHeight": 2092681, + "lastPaidHeight": 2125887, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxzRDYupboABypvehKLhVBUhqBw8KmLUFv", + "votingAddress": "XnkvwSvWccVe3QxYSV72G7qP6T61uEckRF", + "payoutAddress": "Xs57r8jyVtcRUuCxXfFDP8Lz1d7uQ49JZY", + "pubKeyOperator": "a1df1962051914b87c3b9e89a657f90aa295dc89dc95fb743b466c9915841da64f7182785175c2c49569b4e9ee926576" + } + }, + { + "type": "Regular", + "proTxHash": "ccbd9a13768d65e0e3d4383d136feb75beab65928c4d73f46382c09bc68b1086", + "collateralHash": "cdcc99a0be837cd91c8b3aa5509558165b7cc1090621aa8429e00b42413f4099", + "collateralIndex": 1, + "collateralAddress": "XeAr8rDecopCw6sCre4yuedk5M8oXzwNRT", + "operatorReward": 0, + "state": { + "version": 2, + "service": "92.53.105.238:9999", + "registeredHeight": 2092944, + "lastPaidHeight": 2127811, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2094696, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnsCvSXtAAhirtv9cedhS39ktHgeJSES4d", + "votingAddress": "Xb6eCPeqanmCtK1Ka6xKgyFLkVwaDwgiEG", + "payoutAddress": "XdGJcejidPYgYRdpEif61bKoDnSyyHFyBV", + "pubKeyOperator": "81963981e29d4f88b7a67db5d304b853af63f11d40f7458669d309e3891c79332ce496178e11fca3b4e59c98f639374a" + } + }, + { + "type": "Regular", + "proTxHash": "016753d5c82c0061148b1959bc9982e479135bc9c9c4fc2626ba6c135256144a", + "collateralHash": "19d7ae18a683d23cd8b9d00ddfe70c7fa72e9cb5fdb2b4e2417dcaf34e4d608b", + "collateralIndex": 1, + "collateralAddress": "XvQfzT2Yd6wnSqCzcorAyYYQ8XQYYCruPu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.19.64.19:9999", + "registeredHeight": 2092950, + "lastPaidHeight": 2127843, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2094725, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhJcoc6sAkjefBE9npmv4rtdsapXnKBDBU", + "votingAddress": "XyWtWXPTxf2Q8dH5NLsyUHHZf11ao4fC6M", + "payoutAddress": "XxZbfPh75nFgWY8eAJDkDvkE8oiKztr9Kn", + "pubKeyOperator": "ad03315bac0f2397141fe09217f6f6cc833ed3ab06bca53477a00392cc273ebf2503dbf8d11176f8cd8ef717ae8ae0c1" + } + }, + { + "type": "Regular", + "proTxHash": "bfbf84f39c3b1a151eed0d79371da313336abba5bface7904f491e7e58c97a30", + "collateralHash": "f0ef9282de42b23c5b01c9a77ba4714112ae4da7baa0ebc5615bee795b6695d1", + "collateralIndex": 1, + "collateralAddress": "Xrf9fQaJ5RvSjm9iQrRwoPQpgD9GbBJTC3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "92.53.105.80:9999", + "registeredHeight": 2092952, + "lastPaidHeight": 2127850, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2094730, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrkJE5ANkWzeVR9MBsLebf8GHPoWqrXgwM", + "votingAddress": "XbSMBdxCsTpVzF8HcmhePtSHG7c4dYJZ8w", + "payoutAddress": "XogfE83ExdCEpVac86L5mTb7b6xwTZCTMb", + "pubKeyOperator": "885e99a568e0ec8b5d640d75242fdc1eb8d5b9944a48b49128dc974217af41447db648b42f96e39ee1abc03a6abc81c1" + } + }, + { + "type": "Regular", + "proTxHash": "6ce438752f0e2983efb1b940f63b8633d03ad28c06f8b26888b7090f2e084d1c", + "collateralHash": "02e2f4485ecdf0dd3dcc9ec8899e8600069edbd8dffc54c2846712dd9b74474a", + "collateralIndex": 1, + "collateralAddress": "XvsEGBS6GPcNLnQitTakXzA1aeEVAeFLs6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.197:9999", + "registeredHeight": 2093135, + "lastPaidHeight": 2126258, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcfuMQeva27XhA2FKkwo2feNGKFzsUdTmF", + "votingAddress": "XpBJ3BanrhCf6i5GhS7pFZuPGqtPgfGLLS", + "payoutAddress": "XvsEGBS6GPcNLnQitTakXzA1aeEVAeFLs6", + "pubKeyOperator": "a04d7f4e3c0e189b6331ffaeb8d9de73d81597a665ba8fa8322871fc4282a7aabf2dcc9a820f82a2d556b8a081b4ef1e" + } + }, + { + "type": "Regular", + "proTxHash": "275bf5b7a4b0af971c523e34607c23e08db28df29779a6c289772498c48ec9fe", + "collateralHash": "d2f37da3eb5a92ed61862d6ba3e134401474ec03f9a32f64f7a225d5eec80693", + "collateralIndex": 0, + "collateralAddress": "XgmY7TCcwYTGVtS16J2x4fGi9vpozzugk1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.197:9999", + "registeredHeight": 2093140, + "lastPaidHeight": 2126266, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xpq12oeJcNRvfB2tedeZXZLkHGs7wzgz4U", + "votingAddress": "XcvXVCWZ4ayr4s17Lg5s9egP4Up69shJX9", + "payoutAddress": "Xwst58FRvrYLTnewB6c61ptieqpbQPx7XJ", + "pubKeyOperator": "b536bec4df30bbcbbf529d76fa7897c9e7556c2c544a4f527ac5e57c146e0bf0c6e5fe3c7d0f6178598e80b42fde392e" + } + }, + { + "type": "Evo", + "proTxHash": "4eba7299acd923212f9ff9faefda1c8268ff2366faf4099cc36fd0db403703b3", + "collateralHash": "f99f3962ceb7295681c1b781cb81603695a370227e8b6f1b2725f068321a0629", + "collateralIndex": 1, + "collateralAddress": "XyEdsTn6YgFAykTkwFxjHhZ5pAATYkZUVV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.179.241.182:9999", + "registeredHeight": 2093478, + "lastPaidHeight": 2125767, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2122610, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbEdLbWjtQ7CU4CvDfwJtcfWpAjrCYYJ4n", + "votingAddress": "XyTfXSzhvWFDtYZkgiE78EiNKtve9tJKLV", + "platformNodeID": "5e2e5f252d800434df16e1c0da35cff3fd7e190b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XxDuNYWvC3Mz8BrsBRPP7ysBgZU9egSKoQ", + "pubKeyOperator": "826326a01ce533f34e78cae278549f791cbf39cac606c49a790e278a667263ae689b433a9ad817c441462bdf0be1d841" + } + }, + { + "type": "Evo", + "proTxHash": "ce6ca219907bdf643803b614dae6e52ca3a2a43910be8d478a0a1d303b987d9c", + "collateralHash": "a1dccbc34f540378784aa4db876752cc81cfa8d50e4158c080784a3519051d91", + "collateralIndex": 1, + "collateralAddress": "XbVuLnihkbZEqkcKREtrcHBndgD6EqAxXQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.179.139.125:9999", + "registeredHeight": 2093654, + "lastPaidHeight": 2126686, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnj7gkRbr6nDZXJxLYxuw33hhNXFbFD3rn", + "votingAddress": "XindY1wNSaFHjkYPscKS7apDzkjEDx79Kd", + "platformNodeID": "2577d4d04e7c62554b5dbbf442b8785190254988", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbxRVUHFHvu1UzZzR7AtEuf2wQA6rXMRHi", + "pubKeyOperator": "910ad7703f1e943963031d2dad7c9430269259a4b525d0f3c7266abbfa9a44ccdcbbaca7aa8e45c658535ecba21cfe65" + } + }, + { + "type": "Regular", + "proTxHash": "174fd2843393f5e4c99914bd60a6f20ef1f912111b37b925750c4f93fd2502ea", + "collateralHash": "8c3afac64caf3a81aebb81fb91ab1b45bd940fc3626523619357be9c837ad9dd", + "collateralIndex": 1, + "collateralAddress": "XvrNaDWxCsyyMc85HLZpfvkGKNxHHfBYgV", + "operatorReward": 0, + "state": { + "version": 1, + "service": "141.11.49.167:9999", + "registeredHeight": 2093997, + "lastPaidHeight": 2127012, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyZwxqibcGtu2SKJRtE1GpzSzdX9n66Jg3", + "votingAddress": "XyZwxqibcGtu2SKJRtE1GpzSzdX9n66Jg3", + "payoutAddress": "Xe8C9DX2bba1bwdgcekZGuVs7VahPC2myE", + "pubKeyOperator": "00c892af4c2bffaa223c6fde02533da391282799233adeda589e5c5a2659fb60b9b785e31ac48c2cfabe3dbbe8e84362" + } + }, + { + "type": "Regular", + "proTxHash": "14d53cbf8dee2b9877deba6ff65695e954e91acf16239a90e42ce70ee50f276e", + "collateralHash": "14d53cbf8dee2b9877deba6ff65695e954e91acf16239a90e42ce70ee50f276e", + "collateralIndex": 1, + "collateralAddress": "7ovKgNY4x3yynZKFq7JvDvEPhRynhCtoHY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "80.209.239.139:9999", + "registeredHeight": 2095028, + "lastPaidHeight": 2128167, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmZAYuUq1asjseEgpN4X3MyQruLo9QAuta", + "votingAddress": "Xhpt4QEF5pb4ipiMqV3zVyoR2o5mcU4u5u", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "851ed02ea562eabfe3fea562264dab98b8875f24971e19bfdf42affe2f13ef2b3f71b284750be3f1039c95277016851f" + } + }, + { + "type": "Evo", + "proTxHash": "61569ed796c4e1e3e1f1cf34306526ab967feb916242cf9e9b251206fed9f656", + "collateralHash": "632e05f025b7b57b9a8de558900973bd6c368d833aa3d87c11c8e6f39d461530", + "collateralIndex": 1, + "collateralAddress": "XiGXhjYVjEiDW8FyRjhtBWkgCihWmXwRQQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "108.160.135.149:9999", + "registeredHeight": 2095278, + "lastPaidHeight": 2126555, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2120502, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XejwAoUGLLnSkdV9RZuRSVvvh8fQLBKjMc", + "votingAddress": "XejwAoUGLLnSkdV9RZuRSVvvh8fQLBKjMc", + "platformNodeID": "9b985ed306278358910a58f727f4cc2519ca95a5", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XpXJAB519suts1bdGByJnhqwH4yLpzkawU", + "pubKeyOperator": "a3b5d3691a867c6a68ec67e3095278611858c90a74d504c2840111f03bea1c2acaf70e2edf37bca6f28cc907609d22d9" + } + }, + { + "type": "Regular", + "proTxHash": "e9883af43902d4d952eb276fc0f87655e08cb35fe8ab837dd4ee9f7b35c9d630", + "collateralHash": "181c4f0146f0eb0151ea72633da41b3b2ba84c58d2399db5dd1c5e57ae8edd5d", + "collateralIndex": 1, + "collateralAddress": "XqpLouk2cfScqFkuvZ1Ji9aX8ndC6kPEZM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.36.130.224:9999", + "registeredHeight": 2095784, + "lastPaidHeight": 2128828, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbD7wZwLbvJww3iWoLJWjcCoBYAds1rg7U", + "votingAddress": "Xe6PQ2QyiyNxncW9v5NyqxMmeqBoSGaREx", + "payoutAddress": "XkwjocgndphrdHUNbueXd5LRVM4qGnKFh8", + "pubKeyOperator": "90dff1648ae43d636040b6ae63420dcceae83edad06d790b82043053e49fbab09c472a0d396d051e83b77d440cc8c90b" + } + }, + { + "type": "Regular", + "proTxHash": "13ce871b9562e03228c4571750a3aa0410aa1a9ae8621698664d4c552fe91cea", + "collateralHash": "b3117fd59a5d2f9dba63b1974aa49c68da09f87acebb1527dbe491b974291530", + "collateralIndex": 1, + "collateralAddress": "XxfJpsiW7TSaENiyenNstcE5hFckQ3SLr4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.21.224:9999", + "registeredHeight": 2095827, + "lastPaidHeight": 2128865, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdWMUq38tcDFhVv4RKrviQSyjwVo2YiAEx", + "votingAddress": "XdrSKk3Kz8KSki1TGTVX8xcG16CTgD9imU", + "payoutAddress": "XxfJpsiW7TSaENiyenNstcE5hFckQ3SLr4", + "pubKeyOperator": "ac1b498f6193fe192d61bffa332ffdd0b5c028b4177d9a164a6c07bb8faf607d470cd1a1b5f709ba8d75dc7d7c919e8d" + } + }, + { + "type": "Regular", + "proTxHash": "37a4bf11436043b691deeb394098824a3dc845f2d2cd0f8bc7ed858e7c1f31fc", + "collateralHash": "6a313d86bbe08f9bd843a76990f40d727cb5fa232889a3f4b4a3f75b4bc6263b", + "collateralIndex": 1, + "collateralAddress": "XfwC3qbTqgwUjfDKs8pZyPADWorY811Ss8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.109.166.101:9999", + "registeredHeight": 2096309, + "lastPaidHeight": 2126086, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe8AVhiPnkjatM5Fbpf6VMCD8YbFFUisxZ", + "votingAddress": "Xe8AVhiPnkjatM5Fbpf6VMCD8YbFFUisxZ", + "payoutAddress": "Xk5CjoUHSt4q2gJ4cpccbF2gpc5MMn9Dfx", + "pubKeyOperator": "8ae2d22342f8177edd0cd45217f3877d9a01d291e720c6d0921a6bb3a3acea3c74a56f65894104ef8b576d26effcddce" + } + }, + { + "type": "Evo", + "proTxHash": "52882407701dbd3b1b73e37c05225908938785da21470c67f61897c62dd4509a", + "collateralHash": "5714270742d1f461e180a0962af82028431d37cc1b455d314cff885785269a30", + "collateralIndex": 1, + "collateralAddress": "XsnMsPpo2dXCoFWRVDss8vyg2LJUUo9xeH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.141.74:9999", + "registeredHeight": 2097536, + "lastPaidHeight": 2127192, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbwhAuvAFydjA5m4S2S51kfgjz41fnz51v", + "votingAddress": "XuoV7mQKSikoZ5z1DnJyyUSJ14HCKYVmYE", + "platformNodeID": "fed1007c668b46abc06dedb423d1adca933bce56", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjhiJxbi7QFwKpLCsjCM53biHq4LbEjx8v", + "pubKeyOperator": "9507595a4feb8a826038f7f2109f1ba0b96c6a256e3f34bbd88d3115c06d3579b0c2d2d5666105cbd64857d3f8fc1b76" + } + }, + { + "type": "Regular", + "proTxHash": "b35a16ff9d9209135d3691bcadf6c62ebf0f97d75c3526eb778125e6651a9b92", + "collateralHash": "c475c4ce7985f72af765368d6fce95709141816cec4f8b86765c692c25f53234", + "collateralIndex": 0, + "collateralAddress": "Xso4K8ok5Jmppo2j9Jhu1GDxLbKMwQSJ3U", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.95:9999", + "registeredHeight": 2097874, + "lastPaidHeight": 2127500, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrmiJmFGJZcJVxVDjqM5y8NqbGCWD2Gw6A", + "votingAddress": "XxJaV7JGKQw3ihgHJQZDDvn1GMUQj3JRpz", + "payoutAddress": "XxmC2vrjkbkunwNBsHoVzeX7Sxj7YmkGs1", + "pubKeyOperator": "834380ca900a44db888669a5cb312ab2a640509821f8d79be1341fbeda3fc6393eca0d1f6e54814bd96ab60b722af887" + } + }, + { + "type": "Regular", + "proTxHash": "df77c7ee23c91ef71a242dce88c7d3d6a72f083656ce63472890bba4b324713e", + "collateralHash": "a5020186443cc6237fd36b886eb0a4fedabe10d6983a12a4aa49583036a6597b", + "collateralIndex": 1, + "collateralAddress": "XnDRgggkQmjQvH74NR6EJXAFwewbAMKZcV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.163.18:9999", + "registeredHeight": 2098947, + "lastPaidHeight": 2128597, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnxsBxHnwu8rVtTdLkwYrnpPdygLDmg9A7", + "votingAddress": "XouSnj5rLnvWvvZTeZ46jwEYCNJ1aNXqiQ", + "payoutAddress": "XnDRgggkQmjQvH74NR6EJXAFwewbAMKZcV", + "pubKeyOperator": "a5e41f1f312a3d99009b3374cd90ce2d4bfabedaa2e890402b13313b87bc0d359fc1e6c1a2d9c54e4e0430987ce6e3f0" + } + }, + { + "type": "Regular", + "proTxHash": "96c83ca97e43e307adbe113683827234e192b24e97e32842971f2e1de9a67a8b", + "collateralHash": "bc59e02aa1352ae60a66dbb8758c57cbda2afab4a3409fade263d6df494ea1e0", + "collateralIndex": 1, + "collateralAddress": "XcxPSBzgQ7mKZvFCPZLoBvg1VrTkBfXbH8", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.205.9:9999", + "registeredHeight": 2098949, + "lastPaidHeight": 2128603, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgx7Q9LaskmvYk35zYBp9m2Z4cNRGrPDav", + "votingAddress": "XhtA3hTqukV5E4Ud8awhudP9Xs1v1Kifp4", + "payoutAddress": "XcxPSBzgQ7mKZvFCPZLoBvg1VrTkBfXbH8", + "pubKeyOperator": "8225068c2eb10a88f3035deddc2e15863e4a948f882029cb5eed20a2d8681d2704613cecf753c32652da2ed09892249b" + } + }, + { + "type": "Regular", + "proTxHash": "75357ba3fb4ac057e67993de9ae8b56f7ba2b2680021a80ed2a10a8eed31a3e2", + "collateralHash": "543a7bba16ea7935a46e1cd0b9c771d7850eb109ed0f42261b2d8616066ffb74", + "collateralIndex": 1, + "collateralAddress": "XkFDxbjUKtoZkCAqm2ugiU2zGb51GQxT4Y", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.232:9999", + "registeredHeight": 2098949, + "lastPaidHeight": 2128608, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmnZkaAgi1wdM2jErR5ZKFQpkhyQ6QtgDd", + "votingAddress": "XtoBKmoJ5BaiC7jtuUtpGLBFHkst9tAnLh", + "payoutAddress": "XkFDxbjUKtoZkCAqm2ugiU2zGb51GQxT4Y", + "pubKeyOperator": "a0caf2d097cac09d478e1e7992ec6e8423f7962ed1aa0afce5a2fb34956785fa758c5d2cde66d80d69b126e1ad783b56" + } + }, + { + "type": "Regular", + "proTxHash": "220c43630719e834efec1f57cae8235e12c668a091f869b003f531ee0aca326d", + "collateralHash": "3d8611fd06e254e4afe684fc5c79fd6ec785308215709b687ecd5c8a2f800dc7", + "collateralIndex": 1, + "collateralAddress": "XdQ7Smre9T7AvaHsUGM9HYicbTo4Lsd6Jx", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.15:9999", + "registeredHeight": 2098953, + "lastPaidHeight": 2128610, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiSbvWFtPTuvHHdKtC8Rt4Eg1SQ95axVZh", + "votingAddress": "XfovDFzLNj3vcjBjPMwjxuxWsLXihiFNxo", + "payoutAddress": "XdQ7Smre9T7AvaHsUGM9HYicbTo4Lsd6Jx", + "pubKeyOperator": "b0727ec24a7b9acbff4f322f420f8c513f02fdd6b0534092b27dd4ae1a4cd624556762d1cc477526a7c37d718d563f81" + } + }, + { + "type": "Regular", + "proTxHash": "d7828a555e6ff78598d04b91be1b8c94039b60b632912ff04a86546f874e3f8f", + "collateralHash": "c9916626a82ef208536109b0217d9a58a8ee47d01e631beca5a6b83376259800", + "collateralIndex": 0, + "collateralAddress": "XmxadH9RzvMz3rqqPE38a6fUvPdBnnZHqv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.96:9999", + "registeredHeight": 2099234, + "lastPaidHeight": 2128846, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoMeohZNhEnv5qkKv2VUbRmNpJ1QWDmkoQ", + "votingAddress": "XpDZipn3rQuy98F7f9CdNgJWDvqubjArud", + "payoutAddress": "XpA3DSrDpx2rMf5QbjscciRT4NeVAY2WVr", + "pubKeyOperator": "9505ffc95516831ad07573affb06f4f3fb94664e5c191092bd0237d160db8b84780c85f9b18c96e33c43af1d4db01262" + } + }, + { + "type": "Evo", + "proTxHash": "d23104cb8d1019500523e8dab780b9635a7a2e9e48779d62063cd1053db2f4c6", + "collateralHash": "8077b2febba678b2c25775f9775a5bee9456b8f7c68570f8f433bfe99db567d6", + "collateralIndex": 1, + "collateralAddress": "XuRUh5LZtJgkdSzKCBwMyBcCkHjvCmgGFu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.254.241.7:9999", + "registeredHeight": 2099559, + "lastPaidHeight": 2128554, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119278, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdFZxdFeV1DcWvQyZkSAiNQ5xqR8aunaVC", + "votingAddress": "Xv3zj3GohRu761Et7ZVrVzFJXzfxZu2ggx", + "platformNodeID": "7b6853808c0b720112a005c4ffe6db4e2758f428", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XoREQsu9vrFQmaMyhKExNiJS3DRF9Q3wPN", + "pubKeyOperator": "8ba29c3ddfa4a7e22f779810aca6ae991ddd06f7a53d57ba1478607132caecb4841b27e7b4c8cb5baf262d136b506acf" + } + }, + { + "type": "Regular", + "proTxHash": "0a7867ee2c48403f5ec768e99340727fb0fb83a74948e490a39d51e192c1af0a", + "collateralHash": "17fc8775d707912fae56fd394b2a3fbf15cd53fcae5bda387328a51efde49368", + "collateralIndex": 1, + "collateralAddress": "XscksiY8NV4HW3taC11PZshQ5M6riVqPs2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "74.50.90.113:9999", + "registeredHeight": 2099669, + "lastPaidHeight": 2126026, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdZ6qDvgN2CeXdm8BfAMvXoo6fCsvcYEsh", + "votingAddress": "XeWJahrg5LxFFB6E3MZMCNxzNiv9Yk4HL2", + "payoutAddress": "XiGWxtF63fh2diFpmHdUimi7fEhFz4CMTH", + "pubKeyOperator": "866149fe0b670b4b4178f60fb0c9a70dd0b0210e4fde98f327f0d0b3136fd0d0f695564a2b78b61f371940e3a67547a7" + } + }, + { + "type": "Regular", + "proTxHash": "275b003bf05733b79b736c0a0f4eab4c466aa5a462532754f7ec597c80dd0a8a", + "collateralHash": "2e2329bbaf5804d1f00100103628871ef28bdc16fd6c94cd6f646f3748475625", + "collateralIndex": 1, + "collateralAddress": "XiYhYj9xRWSo6Y1XDNBaddXKDfDoypaBTQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.226:9999", + "registeredHeight": 2099749, + "lastPaidHeight": 2126087, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv2KXxDKMzyjund7KgPgiEV3fbYV6kpBwU", + "votingAddress": "XfAS59sMt9KtGusK8w4C6GsvA22kBvzf3Q", + "payoutAddress": "XkwjocgndphrdHUNbueXd5LRVM4qGnKFh8", + "pubKeyOperator": "aaa37de1c23db5cec72c9e0d07241274f4f238798396d59a75a5435377d70ba9b6fdfd1c44a70f23b6521ec0c2f040c3" + } + }, + { + "type": "Regular", + "proTxHash": "9920e90293a6c387366ddd0c99d78d96f48b6167918482128ce774246abd70c9", + "collateralHash": "5cc4d63c1d598eff12f63ca0778a89c209857fbf8c0003a54606bb8793f87206", + "collateralIndex": 1, + "collateralAddress": "XgPx2he5YSbJDd3zv3tSBabGQ714hZpYSe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.222:9999", + "registeredHeight": 2100395, + "lastPaidHeight": 2126594, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XntScmGogexs9BGWCM5G29wypNiW5K47iK", + "votingAddress": "Xbg9x3tViaXPT8Es2fHibfiU4uUq2he35j", + "payoutAddress": "XgPx2he5YSbJDd3zv3tSBabGQ714hZpYSe", + "pubKeyOperator": "99c383530cff197956f4b8ead89a4c8357265009007c71a37a05602d9103d9fb195bf15b533c967b61fb0ea7a27597ae" + } + }, + { + "type": "Regular", + "proTxHash": "236987e4e61c480449cdc3714bd656d8daf80ed7229631f732fd4772d30830c9", + "collateralHash": "6644c8d02b4ed15f20074f4b46291bcd3f0fb547841d60126662400f3edfd45d", + "collateralIndex": 1, + "collateralAddress": "XwJQf4GDzprT5w7Y1D96wK513CZLQr3d6J", + "operatorReward": 0, + "state": { + "version": 2, + "service": "80.90.186.194:9999", + "registeredHeight": 2100761, + "lastPaidHeight": 2126914, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XayQv6u5YyjmdVvpKxK1FyEY1yrXp5siaL", + "votingAddress": "Xq1KgvhY8Ys3rRMFmfh15mUBEWftmUyx6E", + "payoutAddress": "XovYPbaHbLhfcAufRM7vw8sfGxnsDrKUNy", + "pubKeyOperator": "a062c139cf691e9f674d63b760f6560fc793dd6b5298e02d04481e88ae61f743363f4d2317057de3aafe7a9bae477233" + } + }, + { + "type": "Regular", + "proTxHash": "84359ed70510ec75d378512d625ecd547ed625cd662c31cd4a11da57b5a407fd", + "collateralHash": "93a3f972c30d9cc40c837627920fb442e49d84d27b31c02406a40802d7eba663", + "collateralIndex": 1, + "collateralAddress": "XozQwKTqq7AJvmzCGZHXz1yfY3zy74vNE3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.225.38.250:9999", + "registeredHeight": 2100762, + "lastPaidHeight": 2126916, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg8T36XsnL9aJNmHCiNiHFQKAP7UdssF1s", + "votingAddress": "XtsBs5VqkjXwDVpXQqR4diCpzUvNJLguNS", + "payoutAddress": "XtsNrkbbuVQ8BQLV1fiZPebMafvrnnU79z", + "pubKeyOperator": "a9ef88efbfb1a1bc0480ca177715fabcaed75944387c40c2042296ea3bfc2cb7ec7c1763930207cfd8ef99efaf878e0c" + } + }, + { + "type": "Regular", + "proTxHash": "ae0a8dbc0ef1c53f86487cae7cc54cdaf288f0ebc85676c7c4a1430d26fe2563", + "collateralHash": "dfdd8694716a906abce2b6442c3f6ec780d4c86985248410409850ed82ff5723", + "collateralIndex": 1, + "collateralAddress": "Xew83hoKjdMKt2ShV4YWjd52pAtNTrSfz4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.178.72:9999", + "registeredHeight": 2102037, + "lastPaidHeight": 2128341, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkuKi6MLPF3mnKkP1V97wREhGd94beJrNf", + "votingAddress": "XeQcQeDsnRUwMN6Rx1zeCHz2RLKLMMY2E8", + "payoutAddress": "Xew83hoKjdMKt2ShV4YWjd52pAtNTrSfz4", + "pubKeyOperator": "909ef21b5265d4744f47958f89ec85c4f7624a355d3b049b41f590a7633b7b57e6528bff0e9bd5d4cb3e77c99d3ea519" + } + }, + { + "type": "Evo", + "proTxHash": "3b08c9c6b92d3258d0f6fb93bdc593dd9a930b9bdc76bebe8c076338a060b30b", + "collateralHash": "1dbeb9dd7732ae9f1b8c160549fdbe58bb430fc833642cb0d7ecfdb3ab0a8bc9", + "collateralIndex": 1, + "collateralAddress": "XfKxAwrGvcVXuQzWMrzXBk7XZr49Hyywq3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "57.128.212.163:9999", + "registeredHeight": 2102416, + "lastPaidHeight": 2125932, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2127859, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk3ythnEiJKd1utkHmHR5NGpsxcyVe6rjC", + "votingAddress": "Xk3ythnEiJKd1utkHmHR5NGpsxcyVe6rjC", + "platformNodeID": "cef856f6b2d36b70514d1f97d6c5a28aa46515f3", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XxkdAt5VovQAQ6c2XQobgvnByP8VM8KE6J", + "pubKeyOperator": "89ca9e7cc33bcf34a919637f4a0b98100746da51425d0ef33abb873ce2a0de5b6357dec7fa916a92f388ad6d423d3ad0" + } + }, + { + "type": "Regular", + "proTxHash": "480c561544ba07032dc09bfa67e6af6148ff337ea467b55917f5f9af839934d7", + "collateralHash": "064b7864728d3699cf8a075621de17dbfb6b3a2b73a00c0a43f38a062dbe6d20", + "collateralIndex": 0, + "collateralAddress": "XiR1mYuwBiovzW3F4ijERPCMV3PukFadFt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.100:9999", + "registeredHeight": 2102851, + "lastPaidHeight": 2125824, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiJqcGVfJ5eMTDMTVfLSth38kqAne9ESLH", + "votingAddress": "Xv8pGGjGXGncfTE7so9WYjfMA9UcD7RLTx", + "payoutAddress": "XbPtmf1qTeAXAPSxcKkvaPxqDpKXnKGguF", + "pubKeyOperator": "b828069cf441eeb6324ab220a3aec51493e6d24f1ccc9ba777108c51916633097ae2bf0e76a4248833f7f54b79f261b7" + } + }, + { + "type": "Regular", + "proTxHash": "bec21d57da059a645387a6c88b7c34b0dc2bcb3b15eacd886b08ff30928743e9", + "collateralHash": "7270de8bf8eed903f96fa20c732e27e7912d55a98cbb4628e3038a07b2a997b4", + "collateralIndex": 1, + "collateralAddress": "Xx9FwXZjmoy4g6hxsNVBSmd5ETXxBztfeC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.128.36.200:9999", + "registeredHeight": 2103451, + "lastPaidHeight": 2126296, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtbzvBwuY6DTbbVsdwxKvEu6auiMLmZi9r", + "votingAddress": "XkKp9mZ4wALX1nGjMU3TS9b4eRq9msr9ZK", + "payoutAddress": "Xx9FwXZjmoy4g6hxsNVBSmd5ETXxBztfeC", + "pubKeyOperator": "aed22fe73b6af02d19451d495c4c707bf0527eb75e61dc2bca54026f55d4f3ec4ee6a2bc161bc0b1a5c6e631b9506642" + } + }, + { + "type": "Regular", + "proTxHash": "93d196b986da321cd2dd14890118b2f9df9f1902b66390ebd273357e5b39aa38", + "collateralHash": "20cf1977e90ed4b28ca11b3915f2b17996f0d3df658ab6d84da2f740c61ec23c", + "collateralIndex": 1, + "collateralAddress": "XkryvabwrMqyULY8QzRg8fdoYe28X8gaXH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.9.210.2:9999", + "registeredHeight": 2103709, + "lastPaidHeight": 2126485, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvxnidfwuS7GqHhVhfNtUK3PTd3BPcPXvD", + "votingAddress": "Xd1ssF1rkVEQxn3ocrxro6jFgJowHsyzKY", + "payoutAddress": "XxwEWPKZiD3M4LDCptutBgnfFx3BRMmPoS", + "pubKeyOperator": "a9af8512ade6fd79df5f0410bae817acbc9b2a2641ad4c9bd3f3f8dda126ed9387b948055de4d2a1619db7fa40dd9a5d" + } + }, + { + "type": "Regular", + "proTxHash": "1c6847ea993fb7f986d9c3bb004d88aae02f5791ca011f7823371b1ae76ebfb3", + "collateralHash": "87b6ec1d034f36ba5a55c324214f0b76d0ae68a4cf2affad541ea0aab25a6452", + "collateralIndex": 1, + "collateralAddress": "XfUNASkUHkgWAhTKfZMJAFWAFVUCoqURTs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "137.220.66.225:9999", + "registeredHeight": 2103953, + "lastPaidHeight": 2114330, + "consecutivePayments": 0, + "PoSePenalty": 3847, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2115978, + "revocationReason": 0, + "ownerAddress": "XsRaJ9yEwqD3hmhaZrM3spThDRoQt3hDhR", + "votingAddress": "XkRHfRi6MBF4HvL4vBCUgiQVLUXBmD9e5t", + "payoutAddress": "XtkkBbXmbR9XD68R967D2Tr8MHnaKFQL2o", + "pubKeyOperator": "8eef4f55b3a77340aface0d84f6caaadba0ae906b2d0352ae9720e7bfbe4d3b8e109b4cb0b5143da2f5f577c8b39b648" + } + }, + { + "type": "Regular", + "proTxHash": "ff46854045f60f4f85ffbdf28d292a36fb292d79198ae5562f6390e9ad06e129", + "collateralHash": "ff46854045f60f4f85ffbdf28d292a36fb292d79198ae5562f6390e9ad06e129", + "collateralIndex": 1, + "collateralAddress": "7UvkUsjr1vAuydWpBMWvaXexjfLqBhPR9X", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.223.135.19:9999", + "registeredHeight": 2105178, + "lastPaidHeight": 2128010, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk5ZuUWifKF65e6m6kJ7TqDVHBzADWBVnP", + "votingAddress": "XtwyWrNyF7tyuJHdAxN5oB851mjusqw7yZ", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a11d40453372a8640bab52ae9249a864f028381106eb6325ce3857b0851919e27a09ff54b317ea9096787efba2652106" + } + }, + { + "type": "Regular", + "proTxHash": "1af38033011aabbce7d6b478bae859e667406e751bd0c98e9888300d6256eb63", + "collateralHash": "1af38033011aabbce7d6b478bae859e667406e751bd0c98e9888300d6256eb63", + "collateralIndex": 1, + "collateralAddress": "7fVyguaNrt3fCRQE62XqpCUCSgmupYn7Gb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "194.135.88.224:9999", + "registeredHeight": 2105178, + "lastPaidHeight": 2128015, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xptg6BmyMEuGtZVpJGDGqM6oT3xmgQoy7i", + "votingAddress": "XvkBoCf4HjipAzW5pK8nXZExbShyi96jeE", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8ba668c45446203986cb6bb9ac0eeaee78362d245e93b15b2b4ef539c438ab6205b0983a1447b962aa4bfda062d6e850" + } + }, + { + "type": "Evo", + "proTxHash": "edf362e55eafda494d9c5aa28a8332dc1bcc67b324d24ec2665dd92e66e51898", + "collateralHash": "897ac84a6721cd10bc40684dd7e3064f3d04147d69980088c01a49c6180b062d", + "collateralIndex": 1, + "collateralAddress": "XgEDRmuu1oKdHaJsQPiWWFt7562v9tdz99", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.254.241.8:9999", + "registeredHeight": 2105452, + "lastPaidHeight": 2128321, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrSK9QRM9gJnZeSk1C31AmaBwnN8iGhvDi", + "votingAddress": "XkU5ZcPMFy8ofb2pdWUdMVPiHEp4wH89Z3", + "platformNodeID": "10bde186929db1c95b513d1004d347c4435efd43", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XvbrT9NddWrva63s3BDJjLx5An8bpB9wd5", + "pubKeyOperator": "b68787aa6857568cd49fa959bd9fe849502aa3e193690db33b328e9831e74ee385509851163220a2681bf5d99a8266a1" + } + }, + { + "type": "Regular", + "proTxHash": "38c05fbdc8f205b1983c67ed60de28355361663b415a5ec96b2f9fea34bc0c04", + "collateralHash": "ac79d3149c85cd97d8915007cfccb5742adaba42fc0c856e0df6404ca73c008d", + "collateralIndex": 0, + "collateralAddress": "XqCeLwFYaxjn2hQdqsemUpDxNN7SmtC7Qt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.101:9999", + "registeredHeight": 2105479, + "lastPaidHeight": 2128340, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm5rxFRajU9JqhUrDw2WdyDnSjsANbpU8j", + "votingAddress": "Xex9R9o4JKMVpQhqDCEoF6E7MFJ9wjUPGr", + "payoutAddress": "XeG8SbHan6NjM5QhFPpu5NCDtp8KXbBBbn", + "pubKeyOperator": "b7397b5af655fce3cfc1d3b2dcf0c1487d76999f7a9d6d7a82807faabd10c6c7f8fb120cfca6e7e1616c798fc3e63d3f" + } + }, + { + "type": "Regular", + "proTxHash": "f29321c4e581645b1ba141acb76680a37dec95cb588c9856c707c000f38a4c51", + "collateralHash": "70bbc7e20a626adfe478e040767e887d608356540489945f404e2e0337d45b97", + "collateralIndex": 0, + "collateralAddress": "Xk5s4KCpU9Rdhj5oSkctoAYJbuWPmVJvBi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.234:9999", + "registeredHeight": 2106331, + "lastPaidHeight": 2125848, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyDQCpxR4SiD3zYiGmYJpaGM7WG6zaTpew", + "votingAddress": "XfagV7tgfrMnuk98wiL2XmB2BooVaThxqb", + "payoutAddress": "Xyyu1jh6WJRHGDNKWv6Q7FCpoTGta6tRRb", + "pubKeyOperator": "a470c7346a1ed1dc1381266662e84ef972bde28341cb4e47b0c01af661abac652d95042f9c585f4d8cd3225896cabad4" + } + }, + { + "type": "Regular", + "proTxHash": "dec802210b8b7ec86cc24407c602c88bea23cbf81f504e9db2851194d5911ebf", + "collateralHash": "8bfb7513774a89a74e1b1cb967b4a479479831b8a275ccad88bde4326f83b9b5", + "collateralIndex": 1, + "collateralAddress": "XhVYaKkNxHWUfShpRPKJCoC62Ug22gBUm4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.200:9999", + "registeredHeight": 2106450, + "lastPaidHeight": 2125923, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsDmt8tdgFYF1W5pbfvbQZioNN2kfhkr9d", + "votingAddress": "Xe8XK44J4vFYHVg2tjTMkY3xEZ17abXEbD", + "payoutAddress": "XhVYaKkNxHWUfShpRPKJCoC62Ug22gBUm4", + "pubKeyOperator": "b4fb41c5919d1eb2259cbf4015903d2a9dd4e15b420db3d606af7a3f03c8b64db7a99ec9d1fa90764890de289a85afe9" + } + }, + { + "type": "Regular", + "proTxHash": "678f4b5b3aba95be6bf6c32d75d525aceedf3818938b99044d7fd88501c315fb", + "collateralHash": "1f568eb3137b87219d5b53444cdee2acc82623f6e92c4ab1bf3ca60f00de8f58", + "collateralIndex": 1, + "collateralAddress": "XikqC6WkJLsQb7i2DkKpya6owL8YmA1QhT", + "operatorReward": 0, + "state": { + "version": 1, + "service": "45.93.44.216:9999", + "registeredHeight": 2107892, + "lastPaidHeight": 2127230, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxgUxRuz6uo7VY7z7yXdXA27aCYj7siUG1", + "votingAddress": "XxgUxRuz6uo7VY7z7yXdXA27aCYj7siUG1", + "payoutAddress": "XxqTSYy2NKKrpy5pMH81jrSc3Zo8kEaE1A", + "pubKeyOperator": "1521c18a5abdd7885b6a09455739456f9e94f636df271f10735aaa324ea2146e95e4e221e5e5e8d7068f706f8dc120ec" + } + }, + { + "type": "Regular", + "proTxHash": "b0b1aae4e8b0741f8da31021712bcc15a3dd753adedc33e105258df2a54c3d54", + "collateralHash": "78fd547f704b3a8d189fa6bb1d0f264302fd84f452a56877215387c21984a4b1", + "collateralIndex": 1, + "collateralAddress": "XkqRgK9CfpUPyE1L2As5vrCf9U7gJPUnuS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.135:9999", + "registeredHeight": 2107965, + "lastPaidHeight": 2127271, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xh7xdr2dFXDTrKfMGZLPWcNgqu9vpBUNYn", + "votingAddress": "Xj2wQipXTdPskRpG9qK7v75XJh2My1HdQd", + "payoutAddress": "Xtw8fNFvzJUWrS3PLZ2DxPrgnQPGXThNJr", + "pubKeyOperator": "b62bdf725e18d393de25b4d99ecee886d6c93803ec672bd4227f90e37a0ed8b9d3ce3c01357eb8208fa449eafe5c5d89" + } + }, + { + "type": "Regular", + "proTxHash": "160ad68449b9d8f2a3c18ba404b78c71a2cb91cc136cacc81b26ae5901e91f80", + "collateralHash": "b3aea07333d51bf133f0ae686ff9131c4a6d5e6d03dabf912035ab0dd151e17c", + "collateralIndex": 1, + "collateralAddress": "XxjNRuo9hhXy1EztV8zwYCB55iAD61P9kL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.87.201:9999", + "registeredHeight": 2107971, + "lastPaidHeight": 2127277, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xnp7aABpxbVPzAi2B421v8B6HjUEtJzV4g", + "votingAddress": "Xj12FtjFndxhmbDBQuKCk3nyn3TKbE4eDe", + "payoutAddress": "Xtw8fNFvzJUWrS3PLZ2DxPrgnQPGXThNJr", + "pubKeyOperator": "967a2c21936766b8782c8c88d80bf62014df81052130398d1081b37fc0eb6e3c412e10287abe296731319413aaf180b5" + } + }, + { + "type": "Regular", + "proTxHash": "e714ebf3e4b9b44eb5df3369c8ed86ced07d39d51605e16c9035569a775231f9", + "collateralHash": "7a38bd0896ce71feb976eae3f6f17e471c30155194bb97c967fd0d16dbf1ac8d", + "collateralIndex": 1, + "collateralAddress": "XjEr4AFhnAaWTdiuWNoSoTwqzX36fpGHcS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.83.6:9999", + "registeredHeight": 2107972, + "lastPaidHeight": 2127280, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbJKo7StZZykmcBFoXstifgQa1G8nDt56p", + "votingAddress": "Xyc63WgazMfTNW2aJJQvF1wxJkaSNZS1uZ", + "payoutAddress": "Xtw8fNFvzJUWrS3PLZ2DxPrgnQPGXThNJr", + "pubKeyOperator": "a6a170449d0946eac1bcbb9d39759c1daef5b4f5927e4e739fc0b89521d4e0b9aea1efd25ac47ea8f18efb3f7698b41d" + } + }, + { + "type": "Regular", + "proTxHash": "b24c02d54f53bbb05d0a283c4ff91c69bfd7d06782136184bde03e2bc58de91a", + "collateralHash": "dbfd43075522103272aa0feb518bee899d13dfc6ddb58780d3e0c6d301f9cfcd", + "collateralIndex": 1, + "collateralAddress": "XmJsShyuYdndbFfrYTLmoVLeWUAhu1xbMW", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.112.127.92:9999", + "registeredHeight": 2108046, + "lastPaidHeight": 2127344, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqrRmMHQbGLky829Lze5b7YmheJrdUs3ny", + "votingAddress": "XqrRmMHQbGLky829Lze5b7YmheJrdUs3ny", + "payoutAddress": "XeNSpztb6grDNLG1qLqv2revxtcGz1m9fY", + "pubKeyOperator": "841d7d400c22abcfc2e90a8a33d9e6746521b93cc3275cfaa38d3335d3fdbd8e80cec66554f3f625f62dead37668845a" + } + }, + { + "type": "Regular", + "proTxHash": "5e2cfcaddbb899c6810ced884236fef546951d5aa4b3134e72c18d3134f329eb", + "collateralHash": "9441ea108b44597cd908567b874f1c5df40bf8089b085bbfe234280241e893a1", + "collateralIndex": 1, + "collateralAddress": "Xk62t4xZHXfamNDmjNNscWeC2WjbkqtpzA", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.112.127.91:9999", + "registeredHeight": 2108168, + "lastPaidHeight": 2127462, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnaoLHu33utRVxxfuDz4rwXNUjDhG8yxtE", + "votingAddress": "XnaoLHu33utRVxxfuDz4rwXNUjDhG8yxtE", + "payoutAddress": "XeNSpztb6grDNLG1qLqv2revxtcGz1m9fY", + "pubKeyOperator": "80f42ff2d1d6c4a67c024ab3b5a122750630bb6e94311a7abbbf38211391704caa9a9434ce42881ab40d26ac01038856" + } + }, + { + "type": "Regular", + "proTxHash": "0d6eec8a8c6de81942226e73aa90e5ba752e0c7cfd52837033649b1c57d89e85", + "collateralHash": "910e3c236a0532523cffbba436d755e365767a345eb1bc507be068b3eadb48fc", + "collateralIndex": 1, + "collateralAddress": "XfE8B8BJeJ5VfqFwgJMsRDSFqJvN5jDa5v", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.112.249.49:9999", + "registeredHeight": 2108325, + "lastPaidHeight": 2127621, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118433, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnkuZrXzho3vGqbWnhAs8ckvq8AxApAtwU", + "votingAddress": "XfYhhpw5GXX6i9UV4M3BDzBxzfS2vCUw8U", + "payoutAddress": "XmgF2hmSLPmAYYuUHmnjtS6GNLXQMVz1b2", + "pubKeyOperator": "a01f4fc7721471f3692ca5c73c03674ee42948001e446f8ee32668a42efc589c8f4c9ac43b6cfb0d967a61b4ddd40781" + } + }, + { + "type": "Regular", + "proTxHash": "f55315031c096519ae5f942cf83dd1259ec2f3fc9510432e690e29fd3698933b", + "collateralHash": "d6a71f8e7c0bb8a22bbf65698608d5f58f0aef4453fbe445d13e0a1b1dbf4d74", + "collateralIndex": 1, + "collateralAddress": "Xfjo57rFmsUHPpFEttHGigfeNrC86w1jrm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.112.249.50:9999", + "registeredHeight": 2108326, + "lastPaidHeight": 2127609, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb1BkN46nf4xKCtuFFwqkgFyLnJLyTBfUx", + "votingAddress": "XtEjxcde5Nmmzjr6afZu8qCbM9Q8r8nmJF", + "payoutAddress": "XpBwLdfuDYAdxvMtfrMaDc2GgomJueujBS", + "pubKeyOperator": "8b40f3fed4907314fb4ffe36b571bfd7967789c02cac9d32df155a5d8d00ae22ec470e12653c8702a43ab49efd77e2ef" + } + }, + { + "type": "Regular", + "proTxHash": "549f5e42f98a4c7cfc10a5c322a371c1dec554eed719486b586fd4dfab316994", + "collateralHash": "5b86c4a6c819cf36f49fc3addba9a5cd4d83629918ae0aee0957c2ef8f880d70", + "collateralIndex": 1, + "collateralAddress": "Xp5yh5DsQ7XMDiC5znBcR5FzCjcTbG28YR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.112.249.51:9999", + "registeredHeight": 2108327, + "lastPaidHeight": 2127622, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2118434, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xm5oxdrKRxSCrtKHKrh8TyooFtD6rWRAw8", + "votingAddress": "Xx8LuToczNSFhUHgok4yNaaNA3NePJtHWE", + "payoutAddress": "Xy6TLFCoF8E2jXEqfgN69Txc7oQMNigZvV", + "pubKeyOperator": "80b67eb6f36a9de39efa5e98eb2b35dd0b367a72bc735e58dc19be1601aa510a675e9f277e8975fee94d8a595faaa363" + } + }, + { + "type": "Regular", + "proTxHash": "1001aaa1c40f5225ef6ec8bfea100fe1d10a62c24fcc9b72371f746f1d6d3c38", + "collateralHash": "5d3b4b2aa4504aadc07c98bb6de7b7f10acb048e31a4f1f7ebc02e8775f32ef9", + "collateralIndex": 1, + "collateralAddress": "XezksFa9Jbuntw84TJMWT136Nb6s4VyYGZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.112.249.52:9999", + "registeredHeight": 2108328, + "lastPaidHeight": 2127610, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvUiL6DLFJeYGPYUjHHEkaPgkT4tX41t9Z", + "votingAddress": "XrM6iSveBpVCgL9WPRtaQ6dYgsjPE7nvZz", + "payoutAddress": "XfbnX3kLzxZcoEdqMfVoSavqfcSw7YMDZi", + "pubKeyOperator": "90e6366553bac6fe0475f86e6d873c6f305f6c1f3d6f506febf5efb208ff69c85a899dc87a8b720921aafac5ce05eebb" + } + }, + { + "type": "Regular", + "proTxHash": "6b8a7acf27e7bbc816b9efd8a6d09911c5d2eed5b608aa03eceb8a0f7f5917a6", + "collateralHash": "117219df3ee6a7a5550a6dd963aedd4e9f3459aabbe6e09ca22e6639bc4b31b2", + "collateralIndex": 1, + "collateralAddress": "XynW77tKnn1UZDhjLnjEaDs3rzC9DCzy18", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.225.37.46:9999", + "registeredHeight": 2108368, + "lastPaidHeight": 2127732, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xrtp1GxS3afHfWTXeye6Lim2e4yqn5u1mo", + "votingAddress": "XipBCxxLbUqF6YcWUFULsTYaDLBSm1hFCe", + "payoutAddress": "Xfw1CdpsVjSbAjeceDUHgJFgUNADRnGbmD", + "pubKeyOperator": "abfcf760e181f050f3682b6a4edc7dc837367c7fe5d80f9f8f8e5c81231e3ae3e68b55e30ca6f6946dc333f862682d75" + } + }, + { + "type": "Regular", + "proTxHash": "da9cc4c4685f3a85e225bccae889852eed4cba3b564c7cf09877605ba90b629b", + "collateralHash": "5f7899d89de9c3d11c07d76d92805c32d1e69a749ede04c3453404a3d390915d", + "collateralIndex": 1, + "collateralAddress": "XqKzS5Fe2BCSYH2S1wmVDrPZSevgL1ksNQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.225.44.56:9999", + "registeredHeight": 2108370, + "lastPaidHeight": 2127736, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XipBCxxLbUqF6YcWUFULsTYaDLBSm1hFCe", + "votingAddress": "XtsatDJZEVWAjxrDbLUo54epbu5dqubcBg", + "payoutAddress": "XwZZsBvtixLKrg2mvwfZrH1fjeS7j1HaPv", + "pubKeyOperator": "98984ee276b4e038acd5863feaf53fb234c8eba4f584c6960a45d9a645fb088b7b89cd5cb7d55581a1bdbfc9ea1c8e80" + } + }, + { + "type": "Regular", + "proTxHash": "b0e233241fac342d1b7aeefbb12d4062b39dc0c3ab4564d752963748da4348d8", + "collateralHash": "b07c0f2ae461c73849df0e0092e14a983aef2ab17784fc1dcc30b47f247932cf", + "collateralIndex": 0, + "collateralAddress": "XsD9XCP3UQYsVYy37rxFWwUqJMwBddCzhh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.104:9999", + "registeredHeight": 2108387, + "lastPaidHeight": 2127753, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XciWFQ9PuU3TA14ufTHqombeuAdEQSEbV3", + "votingAddress": "XgMUnHMVEC8pXReQHyp1QVAL27KDR4779M", + "payoutAddress": "XyrpHmBsiyQsiNjxpSLhya6TLBu7sevDht", + "pubKeyOperator": "b3e17a3d15c5a71f51d24a67e5a8acb2475ccb86eb7a925c12f8ba8d86037190aa66b0aa18b135bc31167413b03038d4" + } + }, + { + "type": "Regular", + "proTxHash": "b65a7fc5c1381e6816e793dff006051f9ec534d36a996f889f29d3cc35299de2", + "collateralHash": "aa38acf1d6069b30da4ca34963946189a81a1e7911b9e9ae85b0595cea98261b", + "collateralIndex": 0, + "collateralAddress": "XyqJLkQj9EQdpYYdptHBoDqH2mdBCxQP3b", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.236:9999", + "registeredHeight": 2108387, + "lastPaidHeight": 2127754, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmeRsxS68vF3mUdLtrSh7FDDyrnx3UtaNG", + "votingAddress": "XviUigrYu2HPRuy4EQFSD5x3qULVvQBxgs", + "payoutAddress": "XqxHvXQAPVTq7iH3f3sRoYJiJX9kh2Mx2Y", + "pubKeyOperator": "b848a0f75386ff725a027f834f58b705feaa3be3272b48f50fb683f22388bbdb4331ca3ae84e78d0c7154ec95944136c" + } + }, + { + "type": "Regular", + "proTxHash": "d6d703fb8e3158134cafafaf3eeb0d99debb07d6bd0277e497ebf0be56ed7c5e", + "collateralHash": "676a6451b44d9541e85ecca509eb02a3d7c431faeccab08aef7c6ca37460db02", + "collateralIndex": 0, + "collateralAddress": "XyD56jcVBEza7X4dVkNdCoPGT7q6PMmEdw", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.133:9999", + "registeredHeight": 2108443, + "lastPaidHeight": 2127814, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyVXox3tkSJp9A1sqMcsWFzbWvMpU5bXMt", + "votingAddress": "XvpBxrYAFLRqtkUdTNAFyZ6u5e4ZAmZNcU", + "payoutAddress": "XcDw1n2TfAa1c46SZ5opYAYLstBYgFgwKJ", + "pubKeyOperator": "8d81ccbc933addb0f7a46374579041d63e6b55fbfc7ddd2579077712dff3199c7e977b464ca30efc28f36b5142be79fd" + } + }, + { + "type": "Regular", + "proTxHash": "96467f5d9ca7f22cfe0a42ebf4dbb9471b9f9234bb6827cea4b613a82600f274", + "collateralHash": "7509855d5fe7edd746049b3d5068be2ea65ff40cd24521777a27d31aa202dfc9", + "collateralIndex": 0, + "collateralAddress": "XbsQB323wWnR2VMYduxThCn6NEUTyvVjWH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.196:9999", + "registeredHeight": 2108555, + "lastPaidHeight": 2127933, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfQJN1rVeKvQZ4K9BUzAFq5TufjAqybAY2", + "votingAddress": "Xcs2MJMf52743eDTd5MmcP81kf2sph6sAn", + "payoutAddress": "XcDw1n2TfAa1c46SZ5opYAYLstBYgFgwKJ", + "pubKeyOperator": "88a7998c32b37a756d9781bdd0d3a6ceee7b2aa928e7ce29c202e30fb14f445cca4eb703560a9bb40b9ab618e8e852dd" + } + }, + { + "type": "Regular", + "proTxHash": "af53f4c094da40ce046f2a6c06f860d6354f5eb476bdcb1926dc62505bfd84ac", + "collateralHash": "d37e29ba8ea30bf815da682baeb0a4beb4226495bd246f9c9d3ff36640b9f7f3", + "collateralIndex": 0, + "collateralAddress": "XmDxJ8m24UG9KcTZkJBbeqU1BEu4LdCEfu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.185.132:9999", + "registeredHeight": 2108557, + "lastPaidHeight": 2127936, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxFeFcpUBn6J4qUbv7u2mGVKcQ3EzHiuuB", + "votingAddress": "Xntc3iX2uDsmicYJk1PrjC7RZm551r3Ah6", + "payoutAddress": "XcDw1n2TfAa1c46SZ5opYAYLstBYgFgwKJ", + "pubKeyOperator": "b9ef1d26b6efe356dc98850c9d2709d59da2997c1f689c5b86fb4bdcaa8b4e926d49ee635312cf4864e2ffc140bc5bdc" + } + }, + { + "type": "Regular", + "proTxHash": "dea6bfb946bb3614f5e24f805e20739c97a48fde9c0dc2513f5d70a65bd0c63b", + "collateralHash": "0fe242495d2bcfc3ce64c68b8718285bce9aef23688a5f6da05a25decd120354", + "collateralIndex": 0, + "collateralAddress": "XuUs3TYV9nQPw1e1sMquZcB6fEZhdKjy6e", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.10:9999", + "registeredHeight": 2108558, + "lastPaidHeight": 2127937, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xvn8okR7HLYNe6YsPDHw1oGYjkqaY6X5xk", + "votingAddress": "Xck4597tyifgTZuW2rYbjTVyR8u9Kwexxc", + "payoutAddress": "XcDw1n2TfAa1c46SZ5opYAYLstBYgFgwKJ", + "pubKeyOperator": "a7e46cae98e76f8f5355e261718c4f8130e36d541e68c91a5c7c46f2f163a90982af786c940286f98bc3998f719bf44a" + } + }, + { + "type": "Regular", + "proTxHash": "d493eebfd40ffd8b493f72d4e75d4ed16c39091057395b5102c3ba5ed0d77cf3", + "collateralHash": "c4a4a1966da3180b4f9eb34bacce82a86b5341e53100dbbd4e27b7778a7b1c8d", + "collateralIndex": 0, + "collateralAddress": "XmRtxU5JnDngM4oWE2F7FxiMcLdUu6CSfR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.251.205:9999", + "registeredHeight": 2108558, + "lastPaidHeight": 2127939, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyyNUEs3ncSUAmXvMDv288WCDtDEM9sPW4", + "votingAddress": "XxhjXcZiTjPtLcarrzYr59TqpD6LgLiHP9", + "payoutAddress": "XcDw1n2TfAa1c46SZ5opYAYLstBYgFgwKJ", + "pubKeyOperator": "98bab8784f6428f0d8fadc1db419e80a3682d040c33542b251ca9e63103dcc033898c91527d40c0d68f7da61883b5478" + } + }, + { + "type": "Regular", + "proTxHash": "e8c51058b1e633d0119902801fbbacc8a93cb8cb8c011749bed905fb2745695c", + "collateralHash": "efdd64c0a50ecaeb9bdd5637c651d33f084a2596612a471de3392ad1fa06ef37", + "collateralIndex": 0, + "collateralAddress": "XgfhcNMAm4nC498huuceqbV11VTnW6q81L", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.9.210.13:9999", + "registeredHeight": 2108558, + "lastPaidHeight": 2127938, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsnWiALZFtv6QHWwiS1Dc1TJXrDjFoZ9aG", + "votingAddress": "XvasyTnJCbJiEBRn6WSN43CaB5JqrjFzSw", + "payoutAddress": "XcDw1n2TfAa1c46SZ5opYAYLstBYgFgwKJ", + "pubKeyOperator": "8b59d77750dfa3a5f85b78e198a6d207059baa531eaccf8820c53af24625fe2a3f7f7613d7ff16472542e15b3ab54cbe" + } + }, + { + "type": "Regular", + "proTxHash": "6bebf746e4839a9454bf411dffb7abdfe0c1e9a990356f0ce57a304adc2774fc", + "collateralHash": "db92a5c1a01a36719f37bc5523e8e33f785e1b6405321accfcaf1fb88cb31d99", + "collateralIndex": 1, + "collateralAddress": "XvueKb4aWs7F3CB8gigua13ZFfA3kgbNmt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.121.143:9999", + "registeredHeight": 2108982, + "lastPaidHeight": 2128372, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsbRKnzEcYqURwytmHvoa2FYwXfFfWSoeq", + "votingAddress": "XvJh4zBs1fhV2vPnuBKsQaXSwyEphH6xYf", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "885cb002a65182e6989134d230b5c66e1e01beedfd0aabb629d90767e6cfbde2e9cb6d4edccc709ae54e17a4c8c8d335" + } + }, + { + "type": "Regular", + "proTxHash": "0e535f58128665658f6fbd36e9c0b0b66503b2bc22e7828520a094a576e877ce", + "collateralHash": "79793f9c2a894b055427ad84b4b4eadd100102348774a1ce64bf5d917774c409", + "collateralIndex": 1, + "collateralAddress": "Xxp3y6yK22TBkq6wwYNqn85AV1FxKr2ZHf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.251.210:9999", + "registeredHeight": 2108982, + "lastPaidHeight": 2128371, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvfEL65iLAexm3arRwWaqpvxDfGBkkk3hn", + "votingAddress": "XgVTwgjyARHZXAy1FgvBa5LB4PBUwXU7sG", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b5d7f64eae63ed774f2c98ba5060be7954daa8b57b9fb0fd987418d0f710b1f51595d0938f5a312e2c83de5f8bb19885" + } + }, + { + "type": "Regular", + "proTxHash": "7bcfdb45218aea9853daa863984c0a1b8ba9cd72e02b3219ac31e091076a4389", + "collateralHash": "5073a7c023b9263b2208130d5fcd6db4c860f1548fa4c0f57f28eda29465c15f", + "collateralIndex": 1, + "collateralAddress": "Xo4bndbtEdhAboSNDuWpDZwqTc8ZDxoSqC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.129:9999", + "registeredHeight": 2109225, + "lastPaidHeight": 2125951, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2109931, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnT5FrH1hssob7eJomQpqCxPueRQZ7PRt5", + "votingAddress": "Xat9KQjq2rjGxsdTPiv7HJGakg9PZtoq1i", + "payoutAddress": "Xo4bndbtEdhAboSNDuWpDZwqTc8ZDxoSqC", + "pubKeyOperator": "b5e8fafbbabc4e5cb899bbee5dc5cd860c5aaf098f7ccc4019ce06b6ade9a3e08a20abb8fb5f297909b453580f128235" + } + }, + { + "type": "Regular", + "proTxHash": "6fedbfd5f0d6493617f7a7868d13f5d3a589df8a0763a23a32988a6e7309cf0f", + "collateralHash": "19bb5a78859f88b378005336f44386b2b067cfc39522ec6ec293b40f5af705ae", + "collateralIndex": 1, + "collateralAddress": "XfTSjBZTHUNUuphYf7emwQh5jhsorBdGmm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.175.64:9999", + "registeredHeight": 2109796, + "lastPaidHeight": 2125849, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmLCEwpAta63rTdpBtCDWejoyUyeJFvL9k", + "votingAddress": "Xy2gEoGW5DUgGdJgYebBDYNKvu6NyYP7zS", + "payoutAddress": "XfTSjBZTHUNUuphYf7emwQh5jhsorBdGmm", + "pubKeyOperator": "b3dd66573c30480719fd6a15f5d87b269f7f2972615ec184faddd3a93ee37fdc92c432e42af55f18b0e3f7cc5104b948" + } + }, + { + "type": "Regular", + "proTxHash": "22f1542de39d1582985cfc7b8d9bba012f52e254779995b84989c5f059816566", + "collateralHash": "465353d353ae9c0a668b902a7211e5b71aa4ae3b2b39ea558aa3f89da3f3b5eb", + "collateralIndex": 1, + "collateralAddress": "XtStsGaSH4mGeHYTB48UNrmhZMhvuARpPL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.190.46:9999", + "registeredHeight": 2109825, + "lastPaidHeight": 2125871, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxDZoSaYCCEopT5EVXNJ83zX5k4sjupvdm", + "votingAddress": "XqgSZ7NiLcYpY6yMqYrUKXeLvnvKUsCP6r", + "payoutAddress": "XtStsGaSH4mGeHYTB48UNrmhZMhvuARpPL", + "pubKeyOperator": "90fcaa6055ba501b2e8799acf1ae46a5b06e42fd96e707d0616d2c4c5b786b882d7e0eff20160aef51bdb8381a25c5c3" + } + }, + { + "type": "Regular", + "proTxHash": "a6c278f0630bfa524547108aa6a21bc8162b92a168c2bf594b057dc7aee63ead", + "collateralHash": "feead4cb8aacd516344f0d33d5252fb1cac4eed6614e2b45f0e3a1c26d6ec828", + "collateralIndex": 0, + "collateralAddress": "XrhuRDzFZrYi6Z2BCs7SoMVpH8Zgyvgyv2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.106:9999", + "registeredHeight": 2109897, + "lastPaidHeight": 2126819, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2110999, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdktEMcZKDCtYJLfD5s7wyaTF1iDvczWBq", + "votingAddress": "XiwoRD3RcFYnxRzMh2KmhTzjBt4x4GhaFt", + "payoutAddress": "XcUUSRC3Udrd2HmURhr3FPLMeoxBqMVHpT", + "pubKeyOperator": "900b449400512a5ce635926561f1583518a285b12e1bb61dc554f41625bed6d7754e91d79462da9febff9ee016567603" + } + }, + { + "type": "Regular", + "proTxHash": "9d7a0cd3531b88597ae8a9c717d3b860bdb4bd6293f16448b8063774014a71a1", + "collateralHash": "7f9bce90c930e8dbf0247584922463def5224cad8048d5552568d50553fa0a49", + "collateralIndex": 0, + "collateralAddress": "XmpJdPebNy1HMm8z3shZFciCdkVbwbR937", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.108:9999", + "registeredHeight": 2110746, + "lastPaidHeight": 2126596, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeGXp4XK3fae3MqyAjXk7UT7x41XYG97X5", + "votingAddress": "XyaJEZk9CBdx7FuGj3W6FPqJri7QQxfLB1", + "payoutAddress": "XkNFxFBJtDzfsLC6vbpspimTjZAi6G7ACB", + "pubKeyOperator": "8be02fe8ece9925462f05439d5c791f423c9cd24976d0885dd26260bbbb0f123770a3076d69e40823e074346de952480" + } + }, + { + "type": "Regular", + "proTxHash": "b0355c25a7f69b14c865456b3d0881229268b0fee2ab5196c4daf221ce183b95", + "collateralHash": "0f0e69dd872461fa2f2ef14686c034a972685280c4bfee593c924fb73808b3dd", + "collateralIndex": 0, + "collateralAddress": "XvUhqJ6ZVCzo33S3RkWkqPivHWB4RrhZvq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.238:9999", + "registeredHeight": 2110997, + "lastPaidHeight": 2126816, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdPPtmUA435mCkkenbZxKUxHUdqf8To4Dj", + "votingAddress": "XooitZdDBhV99AxsaeSAtt9CSM7PmKPwZx", + "payoutAddress": "Xxqh8A4GTwsrb5W27mVMwqZKtX14unrZjf", + "pubKeyOperator": "80b26c967aee7eafd1fad0002c0ee1f207e08da363e1872032e6a1db88c6153ec050df580efb20d06e2635ac1ffe8a56" + } + }, + { + "type": "Evo", + "proTxHash": "88f021c8a3d7b4997c8947eb921f23b8d4e293664cf680e1807c34047a0a5a8d", + "collateralHash": "ad0f83cab25e79bd595d3c0cabd477c3b711fc6998caaa0fdb5e983a98c35ca3", + "collateralIndex": 1, + "collateralAddress": "Xe8H2B4426MCCtCxWKAUeXjEQTh8DcjeaM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.28.255:9999", + "registeredHeight": 2111158, + "lastPaidHeight": 2126982, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XouFrabeUYQvAFDEyCxb4dbgof3xhyzCXN", + "votingAddress": "Xk9ixNRrjtuKUyWipYcg4nA82AfTvDK6Nu", + "platformNodeID": "ce03948dd38c60d45da9fac1d24de40173342202", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XndUChr6B4u5gkN5BXDcb4tqUCBSobnRqx", + "pubKeyOperator": "a0aa9cd3426f120421a7ea3a12cee267fce5cf0427fb27c0b766e0d7dc03922bf67a5e427013446d2a64dec676917aba" + } + }, + { + "type": "Evo", + "proTxHash": "f46c5b8627939527541e293b16ad035fdc79d282e328c412fb80c1133ba593af", + "collateralHash": "f60cae12ce89d8ec5d944ce3c56222e2a4aef6c5ef29a8f5b3cc8791e55040a3", + "collateralIndex": 1, + "collateralAddress": "XwFPpvPDdNLvMds51tQ1aWT4b81DPp3ZvP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "192.175.127.198:9999", + "registeredHeight": 2111307, + "lastPaidHeight": 2127127, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxr4p9jrC2TiZ9gPJN7MVyiwQFtpk1mi7V", + "votingAddress": "XmLWM7SQEbuK6dZtCEcWU4TSjaG3hWcr31", + "platformNodeID": "22808539fbd39cdba9cf5620f44bd115b65edca1", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfozUee2MMsSKNf4NMnThn61JSafASeHb4", + "pubKeyOperator": "a61f2c80b0f3d2b85347589ef6b0106910a5812479e8b0096c5e23be38b77160439ad8e9d80f42b286b3639aabb44b0b" + } + }, + { + "type": "Evo", + "proTxHash": "f513574b70a029ef1f482cf31a7a338e7fb1a7b0337929a0dd3a480eb9faa4b3", + "collateralHash": "a6172e3d653651439be699cf80791aebf87c486db0ae8f490821db08e13c6042", + "collateralIndex": 1, + "collateralAddress": "XrHLsgJ6yzU1S3R4TQRtb5L31YVnJazdZH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.254.241.9:9999", + "registeredHeight": 2111527, + "lastPaidHeight": 2128580, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119301, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy9xhtKtRFUdhthmL7zkzCgoKhD9JVDWbc", + "votingAddress": "XnYVm5sLBWDmQFDCpSxgDKDBXMeFCF3okx", + "platformNodeID": "e6d827fc1f87b1be8fd2662230c66b845883f3c7", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xhm7dwhqXngnfAHwTmd5mvQKWxfv3mnQQ2", + "pubKeyOperator": "b5985cb4fa9498fbfe0dfcd91f58d9e1e11a05938eec1f6a0623849901ca2c3dc75b489fb63cfac0b3b89701fa121945" + } + }, + { + "type": "Regular", + "proTxHash": "66698158718c3f47f56f7e91b8587468cd1cea271e3fce9c027607c0db6decba", + "collateralHash": "00dd8e610856a4593ba19d62b2299bc2c3d5063242cd2a7a53e64e0d30fdad3a", + "collateralIndex": 0, + "collateralAddress": "XvfZ7QJ79Aci3WXdARnmNvSuqfQLQfKaW7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.240:9999", + "registeredHeight": 2111608, + "lastPaidHeight": 2127440, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe81krWgpZkNqWjF17gFaa4McG5APJpeZp", + "votingAddress": "XhrmBZkGjozx88ifQPtySPYpx8cpGnnmxE", + "payoutAddress": "XnGDvQGau2Dqtc8GNe25vJ2fGKxSK8h238", + "pubKeyOperator": "b6ba6201e2aba5be53ba22191a2a56b7229be8c814e776d061beb25c2321a7181583587c68ded34616d1fa898ca6c9ec" + } + }, + { + "type": "Regular", + "proTxHash": "1eecf1e3242f1cd0d9dbdf2b9d1be22bf6b887b8f3677a55bcfd8e2e363fe823", + "collateralHash": "68e48bdbbe8e0a3c8451969967dd409f9e36299cc27b806e3a9cf21af7cf191a", + "collateralIndex": 0, + "collateralAddress": "XxMCjqUAXxcgYHCoQ6WWqhHVsWHPfCJxWj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.110:9999", + "registeredHeight": 2112203, + "lastPaidHeight": 2128124, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xorm953tPutgJb5cDCpnyUsg1V3fWZgWWw", + "votingAddress": "XvcHNY3kpC9Dii7SUqtASiz6oZ1WL3JYHw", + "payoutAddress": "XkzBo8KZB8Z5gkcqHn4TNLxqDNYyQb5UFY", + "pubKeyOperator": "957c03a3d52ed2291394385d1650e7507fc7b60799d0abb6ee079720f17aeb41d5df2fcef92e58cb5268ce6e51a06c04" + } + }, + { + "type": "Regular", + "proTxHash": "115161f859a2d1a55b1328eca13756873ce40dfb2acb1c5f9644d8894faf97a7", + "collateralHash": "ce03c24e1eb2d9de43ecf11f544c2e8ad9bee41d448537f6075a54b8c701b4e4", + "collateralIndex": 1, + "collateralAddress": "XhifpVVVB3VaqitiUqU11i47KMEWZKNULJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.84.43:9999", + "registeredHeight": 2112215, + "lastPaidHeight": 2128140, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwwnidNGuM2JSg4xo19D8pFQ9dU6LxNvAw", + "votingAddress": "Xp2TtpFzCAYNE3kuZEZdunt5NWVzYLwo6j", + "payoutAddress": "XsA9iQB6UcAey9hGn5XV1war8vJEyXhrfZ", + "pubKeyOperator": "940bb2411f8d326afd0636974b94767f8fec9959d6cd93a027ef059037e29f2e57ea4c21abf93f8c569bbe69c868dae2" + } + }, + { + "type": "Regular", + "proTxHash": "0bf43408a4dd07edd9642b4cb4786075979da099c245dafa1db3bc8ebe86dd53", + "collateralHash": "e6cbb3f261fa656f108e530c87b4f7155980b2d0ef19742db2d70978b4789146", + "collateralIndex": 0, + "collateralAddress": "XkrNUiku4rCpiKrogzEJcgBnAeRB36mzpM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "143.110.243.149:9999", + "registeredHeight": 2112333, + "lastPaidHeight": 2128257, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiMcpEt7G31aXtNSMm3mkoLqfyh47XBNwA", + "votingAddress": "XxpKLadvtKV46pC9kCsyor93P9FAScehLu", + "payoutAddress": "XqJinN9oc9JM2QvSuhbQPEqVPUsFZ31FaZ", + "pubKeyOperator": "b0d2e7505454e0164676dce46954bbf27c9c79204497cc9f8a7ea71318772ed2d5790083f5cd792f120861abdfe78888" + } + }, + { + "type": "Regular", + "proTxHash": "02e8e46a2f03ba206cc046c7e9c60c42d47c91406cd97d1f25c1500dee727827", + "collateralHash": "233c328d2606aa47b109ca778f9ba226eaa4d713ba0c8ad8df48361854da9edb", + "collateralIndex": 0, + "collateralAddress": "XvU1b58qBMWLGMpSDVeHskNzEywFZuq4iJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "85.209.241.242:9999", + "registeredHeight": 2112691, + "lastPaidHeight": 2128576, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiPH88KyXTpz8AcssF2NR4xCGejE9sjHHt", + "votingAddress": "XunDaf18FaVD182CNaMtwdGiMy2E1WksLM", + "payoutAddress": "XeUiDHFHEnSAzFZjWSN5ftYa3QfVeVxgje", + "pubKeyOperator": "87ae087298027094fa0f881d9a305d02fd552dbb98eb5e55d0b869e8eb402cdf2d44012206bc6bf295290fc18d94fd52" + } + }, + { + "type": "Regular", + "proTxHash": "2f7dabe1ba7b83d7bd335edca095733a8118fa08cdf3a0bc133c0274f7cb7aaf", + "collateralHash": "dc5cc41d5f44545c64ccffa116ebc1ed500fe524f3845f973c9375049ea36c79", + "collateralIndex": 0, + "collateralAddress": "XjtWX898t6KLj45zgNKYwtjtfGdwaCPkXQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "176.57.208.219:9999", + "registeredHeight": 2112826, + "lastPaidHeight": 2128675, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo2LBrVD8n4jLuVtRbXHtvUugUi1wAWrDb", + "votingAddress": "Xc6XXEsPW2WAyVcH9Uie5LXdzMB2vLNU6y", + "payoutAddress": "XwBheoEvLFMnX7tHSUUNAKtt3ru6ybuyWk", + "pubKeyOperator": "b151d70a38ac07d6a149e8ac34ba98c6ad16ce0838bbd3ab991f07eb92b1b2111f28e7ce8bcdf7a416586fb37b487437" + } + }, + { + "type": "Regular", + "proTxHash": "3be6da17824f51902da5f791fc61f53c4bb914b7ac85f79bf4711af6856b6d7e", + "collateralHash": "5f9fba9ee2f6767b457d17f8617fcf4a2e06e391a302f148629f952a46d5013f", + "collateralIndex": 1, + "collateralAddress": "XqiwQuFbVCFBFRW9VuhbXuDsmaLKsFo6Po", + "operatorReward": 0, + "state": { + "version": 2, + "service": "217.18.60.47:9999", + "registeredHeight": 2112832, + "lastPaidHeight": 2128682, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjbC5uWyNipgBTxwo6mhqF1rq6eTijB2NG", + "votingAddress": "XtE7FvyA78h8JVb7dB1QS4ALnWSEyYq34S", + "payoutAddress": "XiGsxxv7LhmwpVf8ZsYxe7B5RmpNkgZWbi", + "pubKeyOperator": "88dfb48299e6ec6aca77673bd60c40fd0cf939414bdf3c604614889014509a1891742092e045b1373c715c28253bea05" + } + }, + { + "type": "Regular", + "proTxHash": "42b9dc6d9043ff38ee58f64a945d4d713467e220e18e1d32a5a1d98acb4eaa8b", + "collateralHash": "cff22134464bfee621c662d3dd6e762e76dcf0c11a2892c7798585095f2bb3b7", + "collateralIndex": 1, + "collateralAddress": "XgAPi4Lx9vyUwGVzyNbdbV7U8FSjA3AUZC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.4.162.98:9999", + "registeredHeight": 2113538, + "lastPaidHeight": 2126062, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy4rTjKzRydqG29N9JX5GNRpRu8Pau54is", + "votingAddress": "XgXm9oLiCnoEZZgRy7P5shcitb3sharf84", + "payoutAddress": "XiiNsCqH7oJjgghJ8UqYFvhCxVhRscCYVV", + "pubKeyOperator": "b0afb5cbb5a694f5586a331a4555968ab030c84eb12524287702db11d3dfa7ac95f1bf416fc7cbdf8b763ef30e9e2229" + } + }, + { + "type": "Regular", + "proTxHash": "9918f7f3afbf6c4a5b32a0ac3f8c400fc63c9660067ff1df9bab9145516ae212", + "collateralHash": "a901de7598c02bea1af0da75a055fffaf1cf00cc9e19398c0e84af878df11654", + "collateralIndex": 0, + "collateralAddress": "XstgqbeK78yJSGbedJBwrzCN8XQChRU8oF", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.235.132.126:9999", + "registeredHeight": 2113797, + "lastPaidHeight": 2126253, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy6BrLVJY8KbSndd7TearHxDStPt4mk1xZ", + "votingAddress": "XmvtnXAYqtLczvzMoUEsKCS8Xc5qoc8DrD", + "payoutAddress": "XeR7kamgK5yPLAxrosRZ3mtuqAVSC7s1Aw", + "pubKeyOperator": "9418e46595c6d52b9cbf3d01c0de941cdaddb64821060695e6e055c0b357921b45b9fde8e626a4b8c51452108b7641da" + } + }, + { + "type": "Regular", + "proTxHash": "e199dc8c539c324bb9881e986c6b5fdb0dec8bcc1b4ff9362f5f3416d464d469", + "collateralHash": "69c2d8f4ed053ce297e740122d3af4a2a1c0190fc316da422cbe31491d632bc9", + "collateralIndex": 1, + "collateralAddress": "XeSwsf71WhK3d3JPmQaZ3aE9m2NScgsRHY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.27.193.211:9999", + "registeredHeight": 2113846, + "lastPaidHeight": 2126301, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs4YYeNwkNYopKZXbTwc82XtMHYocLehwD", + "votingAddress": "XkxjjFo66WRe1xDcT2DZzqkZJe7tAAuuWZ", + "payoutAddress": "XtYvoNtu8TswcoBubiRtJhFZjNDb6N1wTU", + "pubKeyOperator": "9571c70ba61599eebbdc851dc3d019e68efdbb7ae9cf36ab9da9131bbac534634e364cad8a9122217de026cd7e25b609" + } + }, + { + "type": "Regular", + "proTxHash": "3d5e8d50d0ddc4e948e6913d21700f4e45b5448d613cade53908a4820c5a48c3", + "collateralHash": "a2da4ec361c92927b88ff1444f13fc3c69b054f95689c8786f565ceef0226e04", + "collateralIndex": 1, + "collateralAddress": "Xh3Uv9UQc6JdJM3CUprS8rDxSC4WGJiYPr", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.221.33:9999", + "registeredHeight": 2113903, + "lastPaidHeight": 2126346, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqfQmguv4QAkADNcy6ZWS8zSf6Ag1eSR4u", + "votingAddress": "Xo6BZ1CLkAsJAvXYZLe8jm3QXfGG7CF9Y5", + "payoutAddress": "Xz1zBzcGHznP4EiFvrpebVN4ATpgUncXtX", + "pubKeyOperator": "ae4c2bee48eddc193fae09b8895e89d2293050fc2a0d9de1de36acc42347ee83f92d8dcf5411d0051db93528123d957a" + } + }, + { + "type": "Evo", + "proTxHash": "5422f2847c2884ca2594f29c54f8fbef2c8f542e128f726f6ec8efa18fdc512b", + "collateralHash": "366e2d65e7acd68864ba856e1d250aa4e1ca14b84ac5758eedf3ec65454dc343", + "collateralIndex": 1, + "collateralAddress": "Xg2odHrMdawwpVUiZ2puQggJmRKqBNKMJq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.200.24.196:9999", + "registeredHeight": 2114163, + "lastPaidHeight": 2126559, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdTqMCdMFDBkKGA629UAakdj7iFy4iJvxu", + "votingAddress": "XdTqMCdMFDBkKGA629UAakdj7iFy4iJvxu", + "platformNodeID": "6f020c24d5c7fbb99d9d371dc6ffa02ab67e7208", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XhZxR638hsaFPsr8LTvtMM4TtfWXaAzku8", + "pubKeyOperator": "a0f97343bab7cc1e389844b2c53375d57a85157bf6cf7eb0fb9a31c5cfc44497c127e440d393bebc87950169d7e86320" + } + }, + { + "type": "Regular", + "proTxHash": "4105c17c98df9b773d11c12c4ea48a77fc29c116192c0760ec916260e24b7dba", + "collateralHash": "bd7fb7d6a620da19c87b91edaa9f2975106576abe1a80b605b376fcfdd39c3ac", + "collateralIndex": 1, + "collateralAddress": "XbWbiLeY6wFKeDEJP7AMQbY1gSzvVraFBs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "167.99.153.103:9999", + "registeredHeight": 2114245, + "lastPaidHeight": 2125845, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119777, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XduzHG4RCsHPP9DJFUKvjyaz6fjsm6yjbF", + "votingAddress": "Xvb4WKisgnAtKNLa7rk6UYmq8EN3s8onKt", + "payoutAddress": "Xrrgz4LtgJbuAaSgkFxP9ZeVVsWJTZMPJ8", + "pubKeyOperator": "b662384301259134c9b260f99219fa27b100c368d20081ee893e4af364a67a1b373c54c9c7f2f38453340eeead0d3818" + } + }, + { + "type": "Regular", + "proTxHash": "89abf63d87197e239544fb402d8368bf52716ec0026dcce3856dd058ea52f76b", + "collateralHash": "fe0de7ba7fe98b91ebf3f0c43dae3c351986319d64727c1ec1442e819b86b62a", + "collateralIndex": 0, + "collateralAddress": "XnjTY8und4UqHED3PmpKZYeZnXwJWKN81y", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.235.198:9999", + "registeredHeight": 2114336, + "lastPaidHeight": 2126700, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XaxTmZHoWaNSN4UorThCGCC79Zi8jpK7Hc", + "votingAddress": "XyMZmtWTXHf3VfUuWWwDVgF8BjThnhMY1J", + "payoutAddress": "XcDw1n2TfAa1c46SZ5opYAYLstBYgFgwKJ", + "pubKeyOperator": "8a9df462d882d60b39e65d8e9d8cba327cf827b2cf022fbf27acd5e945d2b0cbbd8fa33c1ad343d90bdf28042a224bd2" + } + }, + { + "type": "Regular", + "proTxHash": "9191469949daf0493b635d54c64f3b2fe3dfc831767bd31f536b78cfaecafa3a", + "collateralHash": "9191469949daf0493b635d54c64f3b2fe3dfc831767bd31f536b78cfaecafa3a", + "collateralIndex": 1, + "collateralAddress": "7iV2ssH6e8VjPj4VWk6WFu1JdVAn3N66a3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "79.98.28.235:9999", + "registeredHeight": 2114574, + "lastPaidHeight": 2126900, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyjEhtJQqxhiKYvadsht5E6GVx7eEb7GKF", + "votingAddress": "XupRSEhw4snRD8nEEo9jbFywD5yiVKprtp", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "94be99dd0fd24294e6f41d4cdb7a8c70016185d2204f3f918df3c6fb7bf5a7babff80aef6fb24753593e2ccd8f8850ca" + } + }, + { + "type": "Evo", + "proTxHash": "ed2a0d621c834b3c0652d8e6ad8265a971e8847766f40af13b8d3413123d8d23", + "collateralHash": "97830192daf1966d701971b288fd69554db0a02b0f320f97f82e11eed0f3966c", + "collateralIndex": 1, + "collateralAddress": "XwqcJ64p65zMtJJdD9C47TQKhaEusxzReR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "93.190.140.112:9999", + "registeredHeight": 2114650, + "lastPaidHeight": 2126995, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu8mje37knBPhadD96tScCsabM96xnD2bV", + "votingAddress": "Xb6L4uX7oCgro4FVzDvh5wwYWgLXME8G79", + "platformNodeID": "d80a1d13b6e11327c3e289b08d9b9e4f11e93dbd", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfwT7QQP2DSj7FdAd7M53FKUgQCrrujtSS", + "pubKeyOperator": "83f3197499ed4a79eeec070f5e8a44e46e3576b0ac3a132e09ca3ac12c41efb49b7d852b0c9cbedc635e2cbcb28a3648" + } + }, + { + "type": "Evo", + "proTxHash": "8239cf70aba2791020c2af741476da624445be6c6d27055875be19c79018b92e", + "collateralHash": "4a71c90b00631e741c9aa757a1454eb3526dd99e62d4b65724e2765179dfd711", + "collateralIndex": 0, + "collateralAddress": "XiG1Xt6yNq9tZQaNcMqWgaeKt6XwnZ8WMz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.237.193:9999", + "registeredHeight": 2114704, + "lastPaidHeight": 2127368, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2114993, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XfGd8oAtzd2dj9orjB4sMSMGL6Lk47poXL", + "votingAddress": "XtRk8B58WRSDXjpggZvVZHtcBtexbFGPMX", + "platformNodeID": "19d178d7e0abd8b38feb879c3130f66ad8c937e9", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XeJDZPQadxHBRToB3LbC3bQBcvu9H5pca7", + "pubKeyOperator": "b8448f230a76c7edfc0e8cf88799cbd9e557b19372db9df47818a953a7eacc5f2c681f08a075e7bf39a3f86dd80a7e67" + } + }, + { + "type": "Regular", + "proTxHash": "13dcc4ebecea14d97af3fd1a5e6aa2e561a61cc7cef15a60b687b7453aef4e8c", + "collateralHash": "0f5b12d085bf4aea30a740df524b18a7c2c8dbdbee16e8667bb1f0d3226f8fd1", + "collateralIndex": 1, + "collateralAddress": "Xjb1pGMoeYtKPyrwWBK5Byt88E9AySQK3Y", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.254.241.4:9999", + "registeredHeight": 2114996, + "lastPaidHeight": 2128528, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2119257, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyFvvWjLYR9ehxRe84E7KTQ53HSLGS3nu7", + "votingAddress": "XxgsJdvmPWHZKSSk9xSanzpAajfJezci7Z", + "payoutAddress": "XfoSCmP1uk1sWZiRyuLTPiEAMTs8JwA1F5", + "pubKeyOperator": "aa2b45005c4bf5e5d059bba4565fe586a334529838bbafbc3685681ae3d24bd61e09a9844739f90e0784df2db1fa84d2" + } + }, + { + "type": "Regular", + "proTxHash": "d8a63569aa7c6dc178e1da842ca053b46e9496e7665fa30bf7d9a779be722966", + "collateralHash": "f317cc59d5eba76e6c81f4902d255956af34c7ba85ed0fc62329a5ea1a627e82", + "collateralIndex": 0, + "collateralAddress": "XjCm7jLBzx7ZPnkuaJERFVqctDF3mhmFTX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.3:9999", + "registeredHeight": 2115010, + "lastPaidHeight": 2127385, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjYwHkXagXpaNWdQW5o2gr8VJGgLHQuh9F", + "votingAddress": "XqfirTMGEBMo8UcWoYJGddjaJDsAWYbkwv", + "payoutAddress": "XjCm7jLBzx7ZPnkuaJERFVqctDF3mhmFTX", + "pubKeyOperator": "b5e7b08023d4d58ade5e57b0e2b10f066c9c98d212c3ae1cdb760505b6e9600d5d5353e85ad4262cf41ece91cbaf7946" + } + }, + { + "type": "Regular", + "proTxHash": "e9167ba02a04c4959d189e23c1be76c60d5262b88d230a4e256a436f24332c23", + "collateralHash": "2d417b7e26784a3d55d2bf2bc2e8b53524f9e6fc3d19df43be50cb14833530cf", + "collateralIndex": 0, + "collateralAddress": "XbnrWeTvdJBLPk8dXHhBV8yzcm9FxriNpv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.54.98:9999", + "registeredHeight": 2115010, + "lastPaidHeight": 2127384, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiiMEiCwktbE67FabZESQvUTWVEWR1Fxi7", + "votingAddress": "Xpc7fNDGLHcEh72iEho5U1Dma6HkxfnoiC", + "payoutAddress": "XbnrWeTvdJBLPk8dXHhBV8yzcm9FxriNpv", + "pubKeyOperator": "82ecc372422a9706b2c9f3ae0d9aadda3cc240f347297c0d8e4df6f5beb4d83dddac550be5270e060d4792686f9002a9" + } + }, + { + "type": "Regular", + "proTxHash": "9fdf1b7048e1406b07d35ffb2552b69b63095e512dbdf9e5debbd7b20c6f6d3c", + "collateralHash": "893a43b5b50fab1f97727d901d17509600f2d90870800968918daa6dfc76d955", + "collateralIndex": 0, + "collateralAddress": "XrSc3AhaSDR4WWqKp11HGHVbURZLwii871", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.71.203:9999", + "registeredHeight": 2115011, + "lastPaidHeight": 2127387, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxedYHVGQugsaV5qMuYnGX3wfQU23SGhte", + "votingAddress": "XbTJZDcBHDC8j2Bt9TiBf5y3EUD1dTCLdU", + "payoutAddress": "XrSc3AhaSDR4WWqKp11HGHVbURZLwii871", + "pubKeyOperator": "b1d680073ce65462f442ac8f4aa6b11d03d3f71e2854ba1518a89a0fbea9ca69d1a58067d4af030fc3846b83b22649f6" + } + }, + { + "type": "Evo", + "proTxHash": "36d014b83c54f35061dcc08178315fca46c951ffa6c606e2c0ac3222bb0d01eb", + "collateralHash": "011977b491e8ec7ed53cb356de718bb1df299c951dfe990c1206ff75860b13d2", + "collateralIndex": 1, + "collateralAddress": "XnUtv9FgxRJ6paoqjbsVmmunpNvwCGHCtf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "172.104.90.249:9999", + "registeredHeight": 2115351, + "lastPaidHeight": 2127773, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdCX53AxgyebThf9PFx2cFX7YdhtanHVMC", + "votingAddress": "XdCX53AxgyebThf9PFx2cFX7YdhtanHVMC", + "platformNodeID": "3b6f7a39a99f27ca34188e31e26e2c7c1b2686b4", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XcNqSTq9qQZXc6bGbUNuv3ccYa438zbArQ", + "pubKeyOperator": "898b7babc611a4f6ef51cab87722f08d823df46a1c73d1a9a0c17e5b1c1a6d206f2db4975371b60aa9ca1f91a0e6dbf4" + } + }, + { + "type": "Regular", + "proTxHash": "6894311f6f8d6d0be5ebeaf9b3bf9db77b77f258bd9b235c7464312caeb00b99", + "collateralHash": "5604cff04618923dcee9c5e2c6e11caf1f49412a3894dbda12dbb6acff517801", + "collateralIndex": 1, + "collateralAddress": "XkThgotrJhVMLU2w7sfB62M6H31czyswmt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "139.180.212.166:9999", + "registeredHeight": 2115357, + "lastPaidHeight": 2127779, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XyzdZeDpu4dL7wCgofDZRL4WLsaVLzuwvC", + "votingAddress": "XgCF23SsgSmJMhLFQcjbwZiafxgoA11BBH", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8982f37a9a6626befc8e48eb905d41771f69ded66ea3ceb4eaa549b3cdf0ae50c96c64104c1c1fd75590c9b4f208a108" + } + }, + { + "type": "Evo", + "proTxHash": "ffb44ddfe12fd80c16fe61d6bce14e15bf0b1692e586b6c4c49651afc938b781", + "collateralHash": "9f7a703c11d6eaae3396fded435e818f133542debd7ec4c01df75e4aaa33519f", + "collateralIndex": 0, + "collateralAddress": "XqvYJLMbuV9GobFxojSaHuAz5Cs6aC3npC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.157.91.176:9999", + "registeredHeight": 2115705, + "lastPaidHeight": 2124980, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2126689, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv7bTXDppdV42qDtZBxmRDPCMeswiHDFrM", + "votingAddress": "XvjNo8niMfw52gHx2sHePa89Gn2VVbCfKD", + "platformNodeID": "0fde6bb71d91a42f7dfa5e8f0588fb23d8be17b3", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbG3GMTaftodNzS1MwqBjRcQWivje9KTpV", + "pubKeyOperator": "88ba0168b67e16e47274bb29e7f85a947879f8aff1c4667a91b7d1b3dc6c6eec6e4fcd27036ed64a105687f5ba6589ea" + } + }, + { + "type": "Evo", + "proTxHash": "007a7d6e5fc0adca9dab24584a03dabfcd4d907d811e4b69aa3bf2f9cdd80232", + "collateralHash": "87a73846400a98d8cef08cb1b19f88e62c86f88079dc9f8b13a8608b071b2bff", + "collateralIndex": 1, + "collateralAddress": "XdwvcnD7QxUZGMKb3yfQ6coENDSsaq4hRy", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.201.164:9999", + "registeredHeight": 2116059, + "lastPaidHeight": 2128519, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmgThGxeiQEkuccidNPXqCo3j2uA6hfbTq", + "votingAddress": "XhoiN6TWTy9XuyFnUwGpfvt9Cr1xPoFhTC", + "platformNodeID": "849d52a31a19dcdfda3a18ffbd70ce341c625e06", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "aa3661ac92b342558a833802bf14ba1b91684eda6728c0c51cf39a1ef8145ab3c69ee45fe0a556ecc44e75d500fb0b78" + } + }, + { + "type": "Evo", + "proTxHash": "47aab8e3800b1ce84577bea9e92c602794de4810d75caedaef264e03804ad41a", + "collateralHash": "1de5cfb67d5bcad5bd1c40b62548ebe2e7d6ed9a3f79c8e4aabd6b12196c84f4", + "collateralIndex": 1, + "collateralAddress": "XkR1FVrxo9JoEY2z85Tt4Aq8SZAC9jhqkk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "93.190.140.114:9999", + "registeredHeight": 2116077, + "lastPaidHeight": 2128539, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvRP4xKVveg6efNWP2UWueT3f1d8jdGftZ", + "votingAddress": "XraJeHjBMMjTk1XzrjFA5Sgc9fHzG1NZkA", + "platformNodeID": "f7db7a5794a1e7b06b8e697c8d6cf108da02773e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfwT7QQP2DSj7FdAd7M53FKUgQCrrujtSS", + "pubKeyOperator": "9814757029e2483b972a6c19249fa6c5708ddfa51a7a1f82c98bba3ebb85f1657bad1b11468d99dfda8bf38976abc044" + } + }, + { + "type": "Regular", + "proTxHash": "752e1eb546b5b9805ae6deb08edbbb51f7b68f5ba5d8b216cfa875e2746feca0", + "collateralHash": "fb03884b8b89c04e2e72d0b409b8d88234b5b82a5c55eb54e6831959e3b13cd2", + "collateralIndex": 1, + "collateralAddress": "XgqMhfVNYjqVzEViFYho2GaUuZwktdiJhV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "174.138.9.67:9999", + "registeredHeight": 2116078, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 3854, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2117397, + "revocationReason": 0, + "ownerAddress": "XuyYeNdK555SnUNAm2F6mV19JtLi2stxiX", + "votingAddress": "Xc5AMutmGyuUVKTekqi9RzucXoXd7EcjEj", + "payoutAddress": "XgqMhfVNYjqVzEViFYho2GaUuZwktdiJhV", + "pubKeyOperator": "abe7e4b317650666af4a8084dd0d8541d3e31899b36ed6e5a1fc0525018de6cefe45c7ba790af5bbe18d2f6a665659b7" + } + }, + { + "type": "Evo", + "proTxHash": "e8519e0a0dde718c3d3ab7a0850855499dfaef6a7881487ce91c9d5f1e6fbee2", + "collateralHash": "7161c7dc6a57352bf8ffa9926a1d568d3fd78320f2924354c6b569cfda2feec8", + "collateralIndex": 1, + "collateralAddress": "XfcPNiXWcd37jaJakAYYLcM8Yp17BEQ1B2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.158.107.124:9999", + "registeredHeight": 2116085, + "lastPaidHeight": 2126978, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2123814, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrztMxpMwRGcPVgormXF6xaGZdKJyt6EkT", + "votingAddress": "XrztMxpMwRGcPVgormXF6xaGZdKJyt6EkT", + "platformNodeID": "54c30273d72752d4953d81ceb0e92c0b313902a9", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjHAjFYkm13NmL4ou8zGPRzmqgMRxnCnZF", + "pubKeyOperator": "804f2390d47b8bf77c6dd0557aa524ff026a35c4dba556823d6d957e013d54ce3467633ba63a84baa7bdbbc1bba86a91" + } + }, + { + "type": "Regular", + "proTxHash": "775dfaea33800a8fd42caccc08f27145e3a172c1e727205b806e7e8dd0218b36", + "collateralHash": "b189cdc6be9e406a2191ee36c9ccd0354d5b268d4d1f1e4839cdfbbe5fcb53cd", + "collateralIndex": 1, + "collateralAddress": "Xpjiif9SnGKY4trM6uKX8NtHwXZ2pwtFbg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.250.249.32:9999", + "registeredHeight": 2116132, + "lastPaidHeight": 2119314, + "consecutivePayments": 0, + "PoSePenalty": 3829, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2122026, + "revocationReason": 0, + "ownerAddress": "XwHE1EgD2YfbPA4kjJVQJKR8zU5jspHQqX", + "votingAddress": "XsRZzjFo2z3pbBga8j6FFQDg44zCtwof9G", + "payoutAddress": "Xpjiif9SnGKY4trM6uKX8NtHwXZ2pwtFbg", + "pubKeyOperator": "960c99fa474c204e560623edc5c2245a30265ffdcf8867e4215f66cc22d5f823bba0744261cc90eb945c87aee5259625" + } + }, + { + "type": "Evo", + "proTxHash": "ec61536f25506db52ea25fd10f688d01e29bb0becd5cf8dfa928e16a94d13778", + "collateralHash": "27b2647072b372de6fcb929e0062638a199dbd318711f289d6c799dc75daa52c", + "collateralIndex": 0, + "collateralAddress": "XkhZQjGirwfi1PsNHJZuoKz64M7rhNyTPF", + "operatorReward": 50, + "state": { + "version": 2, + "service": "64.23.134.67:9999", + "registeredHeight": 2116201, + "lastPaidHeight": 2128673, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkMXEvdd6th7KK8tzCh44nbapWwMBW4DFB", + "votingAddress": "XoL8FaijPpW27xCzXHR4JMJv17tZnqbjXp", + "platformNodeID": "66bcb448672ba345ffe687e84f20022edadcf263", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XkhZQjGirwfi1PsNHJZuoKz64M7rhNyTPF", + "pubKeyOperator": "9696ad67629280a36020169dcfe790c7f550b5b3afd3fcf3c255070450cd439243d9f70eeac551a379cea65d60c0c6a0", + "operatorPayoutAddress": "Xf1rZqQzrMgT3D2suCJvfD1TYkSyNKWwp3" + } + }, + { + "type": "Regular", + "proTxHash": "b1c9f08427c5eb8ca2da8dafe5b705e59de176d45fcc17031133a29648b2046b", + "collateralHash": "570f1bcc79e7b6183a357d5790ec471385fffa453f55d3362796b6a10390aecc", + "collateralIndex": 1, + "collateralAddress": "XffWC54cu1QiQLY5BW5ywkkwn6AL2MDx2q", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.83.122.122:9999", + "registeredHeight": 2116213, + "lastPaidHeight": 2128686, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxMwXdnH3FSd153yyJX9cDpH5sBfP2ZiEF", + "votingAddress": "XmCnHrXFjLBhoMKyJhgv1mPQTT9kRC9qYX", + "payoutAddress": "XffWC54cu1QiQLY5BW5ywkkwn6AL2MDx2q", + "pubKeyOperator": "a9ceaf4289aafb48c5cf547d4a50f22e254c8f814a506ebbbe4ff50a6aeae4da0747c6030bad312d42c44983de509242" + } + }, + { + "type": "Evo", + "proTxHash": "e08e168225f8c14b149b781ecafb320618a5f22c759ba8f8054caba82c78df3f", + "collateralHash": "0ec2bf4be0e6c25946cbcf564ebb1bbb321e63160868084c1289715da6b7bbbc", + "collateralIndex": 1, + "collateralAddress": "XsFDa9imuoxjWkgeqqYtFCFfHhEuEDDpvN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "93.190.140.162:9999", + "registeredHeight": 2116256, + "lastPaidHeight": 2128730, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xy6yopHXW7DipX7SAdGswbuhi7kf5SLvqV", + "votingAddress": "XsVMNhkHnqasJWYPGZot2PLqjRMB45U1pv", + "platformNodeID": "d40b15d9b075726b6b6a1bbdd2ea3ea392312783", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfwT7QQP2DSj7FdAd7M53FKUgQCrrujtSS", + "pubKeyOperator": "96ba1fdab8f697eb1fa7acdbe2621b389b65389ef9408a721d7217a50531f1bb049a8c6ffea0be3e40e38fd6592b1ccf" + } + }, + { + "type": "Evo", + "proTxHash": "36b3e63ba54aba9b75994128d124e9e1cebe348cd30415b5098c60526de0157e", + "collateralHash": "4ec9522356353de8a471fe9e1d08d588fa95b229dc10515fa5677d0c6d485ef3", + "collateralIndex": 1, + "collateralAddress": "XeuQEvyPZCRMqYPQSJqQMDausNxpisekAe", + "operatorReward": 0, + "state": { + "version": 2, + "service": "159.69.204.162:9999", + "registeredHeight": 2116475, + "lastPaidHeight": 2126714, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2117561, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhmYn3tuEa2tUfNnVBaFYZ25bP4fTRGNgJ", + "votingAddress": "XiV1yCLuJtkb3qvwSmHB2ukWMxkTYZeNsD", + "platformNodeID": "eccf6c009de2acb3a432319bea107bbf16a1913d", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XkQnwA3ZgchkzwXqLzYPVRvzQrY1yiBvzR", + "pubKeyOperator": "b608784f5b3c6458e921aa2c4eddc7747fe248dfdaeb24052e14a62defe544b9d724754715fa2cb261a07badbb0ad0d5" + } + }, + { + "type": "Regular", + "proTxHash": "b6ed31eddba613e94989f7e9c1404323d057ae27e06f26bbfe8f08d50a3a4dbf", + "collateralHash": "ae6da398a53253e10d94bf428292a73f3b0e1d2a7ab526553b403bf4ca2a8ab3", + "collateralIndex": 0, + "collateralAddress": "XtpZdB6Yr6bwfkQY7BikqN3YZTxHpW7gz6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.198:9999", + "registeredHeight": 2116710, + "lastPaidHeight": 2125919, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xz1D4ceoXDAZxQLJmynMrgGY9PeCfqg3Jm", + "votingAddress": "XpF9QhNgq5HoNK8tV665nzJW6jUf6aZVy3", + "payoutAddress": "XdEV1zfgTD6JhpsgAqYuZN3V9Yf5UdJwF9", + "pubKeyOperator": "8bd513bdaa591e2b3df2b2096165e3460285583ee5b841029303434866535c4ac04ae47acf305699884ef5d242f73039" + } + }, + { + "type": "Regular", + "proTxHash": "3e75b887ff111eebdfd6389fc26d53ff01d713de50ca0d0c36af8d2cc052c0ab", + "collateralHash": "ae6da398a53253e10d94bf428292a73f3b0e1d2a7ab526553b403bf4ca2a8ab3", + "collateralIndex": 1, + "collateralAddress": "XvFpVLLS7xPkWtfk9ebrycR7UrXMHhAbGX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.199:9999", + "registeredHeight": 2116713, + "lastPaidHeight": 2125925, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvF1WjT4YTFxgMVZvYogKyneTtfpKhWZRN", + "votingAddress": "Xg7syWX8UdkopZRSoTf1GF7efvW5oJTJi9", + "payoutAddress": "XrfrxqNhki6Zf1rA77JN6o6PSjVXSew2fC", + "pubKeyOperator": "99a094719fe6db59a7aae79835a7853b9c564734eb3c55d32e3f9871c83f186eb56e9634e641f5fe554fab4ca6b475a1" + } + }, + { + "type": "Regular", + "proTxHash": "fa85edb9f16be0dc69303bbc0058c609a87d6133d10ac9bb427754440d2552ad", + "collateralHash": "ae6da398a53253e10d94bf428292a73f3b0e1d2a7ab526553b403bf4ca2a8ab3", + "collateralIndex": 2, + "collateralAddress": "Xig8Vp6qFaFQSARfD2hBu8ZPoZp2ihFhnf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.200:9999", + "registeredHeight": 2116714, + "lastPaidHeight": 2125927, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmfkp8ehwyFduWsRv3SSuLfJkNqNjRbzKP", + "votingAddress": "XbcnATT9iDZQ2NDnkDAcfYFPTU22DZNR9s", + "payoutAddress": "XcQ21kh4tQhBL3HjiHC5hYesL7pFQiWEuV", + "pubKeyOperator": "b6ce7168806d5617f27df0f1d6eca695e560f3a38c4d3ee7b3a7f27afc793de8af33b455d6730b0e1f12ddc18a7498b4" + } + }, + { + "type": "Regular", + "proTxHash": "e3bcdaf8ab9960668918157422a9139341a3e7b18d16e1603c9a5b91d761af6d", + "collateralHash": "39f127c6a422b32f62343a1aae7405068cf7a698d59c499a3909ef88b7e28b8d", + "collateralIndex": 1, + "collateralAddress": "Xrp21hrZd8n9TUcssWhaZcjqvBwanYgyLN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.18.223:9999", + "registeredHeight": 2116728, + "lastPaidHeight": 2125939, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128686, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xmvk5uQRtL9xig4FkzAyrovEYnvqzFnZiG", + "votingAddress": "XeLvWnQXcYXBek6hNzGhookLWPS8aTf73C", + "payoutAddress": "Xfet6ZdQe3LRV6DEEPfMqSZbj8vHAKFEF2", + "pubKeyOperator": "834bed8cbfb39d026a7872061cd1c63254df2fdee88b8cdb47420e92b6721421ac119dfd07f24f406db6cc66c1db880c" + } + }, + { + "type": "Regular", + "proTxHash": "2945e3d075945de246dfdada279ce63d4d282ac570c5106c5e47b8308fc797b0", + "collateralHash": "608a7b36a297e9d047b1901aebfce54e733746ae1e7004f166303eb1f7fd5523", + "collateralIndex": 1, + "collateralAddress": "XfdrKcsQVxceNandRGL8UgerRVJMTcQxS7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.248.214:9999", + "registeredHeight": 2116756, + "lastPaidHeight": 2125966, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhpbrQovhDbxZQdzQ6YNz6Bhu9yZsA4wdA", + "votingAddress": "XdBNZxgX177aB5fXrTEUM74JKkVrrZpT6P", + "payoutAddress": "Xfet6ZdQe3LRV6DEEPfMqSZbj8vHAKFEF2", + "pubKeyOperator": "8ebbfcfe2c7c0b7b6fa06512b465f561da5aaf01f3b78341e7d82b30135005cadb6910ee985732c0e865875ca2b47510" + } + }, + { + "type": "Regular", + "proTxHash": "7378516639ee793e8e91ed32c691f091db435787412aafc48759b196d641ea32", + "collateralHash": "5c884e6b2f1fdc87681bb44c4b7c763f5340d6cf34250a7ec76ef20032fc0a1d", + "collateralIndex": 1, + "collateralAddress": "XbhFhWSgYeJThKU45psF3AC1oak6rL7fx3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.196:9999", + "registeredHeight": 2116768, + "lastPaidHeight": 2125975, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtJZXRh8FdAvHfVS1nZorooeTL2Un3pxS4", + "votingAddress": "XtwM4TarnocLZAtbArLupQe7s6RwQ58owQ", + "payoutAddress": "XvBL1ZD2aaa9cWpE2eNxR7LT9sEr3TJH8Z", + "pubKeyOperator": "ac67c0297f110998016ac5bdeb7ce4c51e990906fcecfeda80074c8578316d93c215ae95052a5429cd2fc66f4e430f56" + } + }, + { + "type": "Regular", + "proTxHash": "e8aa2270d239b085e1fa4c95ac17d3cdb67fb6e3cc90aa8b277d99d05c1578e2", + "collateralHash": "6041edad0416fb2f39bfe9158006d7fd1b4c8bf38284da267dbd4803657bcc6f", + "collateralIndex": 3, + "collateralAddress": "Xr21jDjoah4fvhWmZaeTq2dHm5pX7qsShb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.192:9999", + "registeredHeight": 2116798, + "lastPaidHeight": 2126014, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfx4aG1wodveuJgkL9sxFVNZoN2Hn3ziLw", + "votingAddress": "Xe8LQzacDFCGuuzRD333Y9sFTLvo7zYMDY", + "payoutAddress": "XqFhQWqy1soYi9mBiqjHwrsKBfru4tEz5v", + "pubKeyOperator": "91918c9df2e05386760d43486fb7912d00a3698965b0c704ad43dafff0f58e65ce28d783b82ee27d30a56355fc456c08" + } + }, + { + "type": "Regular", + "proTxHash": "20a063fdf88b36024774e05419248e84f09a76346c11378167601bca596e9a0a", + "collateralHash": "6041edad0416fb2f39bfe9158006d7fd1b4c8bf38284da267dbd4803657bcc6f", + "collateralIndex": 1, + "collateralAddress": "XhBa45VoKJ5V6vxYruxjVyTA81Pxmwfkgb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.201:9999", + "registeredHeight": 2116798, + "lastPaidHeight": 2126013, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnBToPjw4bSBCPuPcLgJdEr3hTkeEUVstm", + "votingAddress": "Xh5iMcpDQMMHBtWpU7mEPP8qgZi7tehhza", + "payoutAddress": "Xfz5LA3AfG5E67hyPqbodSM3C64F5xCrKM", + "pubKeyOperator": "adb39d9021a7057ed18ab7147db95c794db45e1ea9da4d1f6e95f540e4a8c7a2b18bf8e1dd9b30344c9c418fdddaf752" + } + }, + { + "type": "Regular", + "proTxHash": "56852e938fbd90db9dce85b7eaa114df017f0c1b2c6f1fabe7801d73271517ab", + "collateralHash": "6041edad0416fb2f39bfe9158006d7fd1b4c8bf38284da267dbd4803657bcc6f", + "collateralIndex": 2, + "collateralAddress": "XnHw5B9B49r8AkNvbkdfCF79SgYouSG5gv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.202:9999", + "registeredHeight": 2116802, + "lastPaidHeight": 2126020, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcCJQiaEBdPu37eutxmpWxNwxyJvmMaVjn", + "votingAddress": "XdMFGue9o8VyCSrGFutYCkoZFem5QgZGvT", + "payoutAddress": "XunU3TNQ1PGHW9DkEFZuPJpF949zLDtv3T", + "pubKeyOperator": "af029d579d05585b2b7023cd831bf57766600e77d19005261c08e3d66ac7e15c6edb23e300d99abfe37bf7e4dc8abd0c" + } + }, + { + "type": "Regular", + "proTxHash": "13cfe1dddea3ffd0adba44976662a0cc4aa4483d897de1aae472aab4de4e416d", + "collateralHash": "6041edad0416fb2f39bfe9158006d7fd1b4c8bf38284da267dbd4803657bcc6f", + "collateralIndex": 4, + "collateralAddress": "Xxyr4pNqShXbfAukLAp5iKM2g24bxX1AGi", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.203:9999", + "registeredHeight": 2116802, + "lastPaidHeight": 2126019, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhvHcfNmtbd2XQSxc5phFpKgMMw2XH5ZKq", + "votingAddress": "XnYWVD33sfDC2DByXXwVbCt537PQpkhUvo", + "payoutAddress": "XrnUSJV1Q1cEKDLMKi4sn7cFPxtjKWvpVx", + "pubKeyOperator": "aa82f67ed85ef5a007699baebed514b5909d8ca77a61b98d8b4224d29ee2debeadab485edc121b63bf682f5c4fecb270" + } + }, + { + "type": "Evo", + "proTxHash": "57eb2627121afff87b1378dedef3b4b36984821316ed720ebc9a7beb557ee722", + "collateralHash": "4bb0aacb30cfb26a80bd18877723751f00ff2d2e25961f6c20b9f9fa5cb9ca94", + "collateralIndex": 1, + "collateralAddress": "Xk5H6wX5cCBPVzkGqoN2gkSkrFRrraXb6k", + "operatorReward": 0, + "state": { + "version": 2, + "service": "93.190.140.101:9999", + "registeredHeight": 2117095, + "lastPaidHeight": 2126310, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xg94jxfpTmK4uWfrDcpHTUR5e13s8A6JtA", + "votingAddress": "Xz1QzAnGyNvTvJ67GAdh4yNjH9y5gmYKZE", + "platformNodeID": "0f12674271d764f7f454f0184860554b1c271ef5", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfwT7QQP2DSj7FdAd7M53FKUgQCrrujtSS", + "pubKeyOperator": "b44cd1ce013cc74395dbd8ae3bf131951bddac4e08a7b83cde543835fe1a623d4eca8f01d9677fcda680a6d8a373c75d" + } + }, + { + "type": "Evo", + "proTxHash": "71f33163403d54af9402b5e9e46384b2f828120f0ec9d370cc08b3aec4e92fd9", + "collateralHash": "a630c9c53b9aa022e1f6bf1c8a1e81d251e4e9c963509f1575e960a49f38b914", + "collateralIndex": 1, + "collateralAddress": "XvoNaHkBoDhm96sxXdAA95UvEEkyrpQLp4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "93.190.140.111:9999", + "registeredHeight": 2117096, + "lastPaidHeight": 2126315, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnUMbDay3By1YiM7TTwVktt9FXMFDUWSZq", + "votingAddress": "XhLuCktJPKZa3tTtaj41UBoi63uDfVFtQ7", + "platformNodeID": "3faedc3972d46af963279d7b217a50bff7a161c9", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfwT7QQP2DSj7FdAd7M53FKUgQCrrujtSS", + "pubKeyOperator": "b56a94a344a376bc2c8a81b975c6b4567ec2dc428ffb3cde63655681f0cc127ecd27d0097629cf87ca846fde3352cb33" + } + }, + { + "type": "Regular", + "proTxHash": "d1fbc5b1ce4958666f187242d0875ec8a382973ff3d7b5cbe0ad6c61e7d33740", + "collateralHash": "ebfea5dae842ed8e31b7d8d39c2e5670c2af7dbb36feafeaa968e1d8575041b9", + "collateralIndex": 1, + "collateralAddress": "Xx5SoPpxBwViFf9XyTHXTyYYMuqvbeZf8t", + "operatorReward": 0, + "state": { + "version": 2, + "service": "136.244.105.158:9999", + "registeredHeight": 2117220, + "lastPaidHeight": 2120348, + "consecutivePayments": 0, + "PoSePenalty": 3834, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2122602, + "revocationReason": 0, + "ownerAddress": "XyVdje8rLi2oaqvhzWAEdXe3nnM12f17ah", + "votingAddress": "Xbk6StxXsEEsV1u12uGSp635tEH6fk4tCT", + "payoutAddress": "XjuACDHH5hdMUYh87gesfFUvpRSR6C5x1o", + "pubKeyOperator": "92c88b5512ea12ae8782355e03c58ccec10aa22df508c6d50875cd21d875ec7e31c1527c8af6fdb4add32d28ad6a90b1" + } + }, + { + "type": "Regular", + "proTxHash": "93050fd7d75506354645518b047a6994373c9a79cc3c6cc9329a0fa03f74cab0", + "collateralHash": "f8b39244e7d772ab4b2dc274616fa79b0b7ea04d1c3197be9ef15f8ac4a6e624", + "collateralIndex": 1, + "collateralAddress": "XsBRfVHsPTUraefhnjkbVSjSNiZA68hrKm", + "operatorReward": 0, + "state": { + "version": 2, + "service": "209.250.243.84:9999", + "registeredHeight": 2117221, + "lastPaidHeight": 2120350, + "consecutivePayments": 0, + "PoSePenalty": 3832, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2120874, + "revocationReason": 0, + "ownerAddress": "XxyTVVypxWcKBSQh924cnaJyENg3RR9nLt", + "votingAddress": "Xin9zNnwyywRCuaRpo68AvGRDkMktzeGwt", + "payoutAddress": "XiCCJvZ4xFr31Vc1H1QHTZWbW3pQ7nTBV8", + "pubKeyOperator": "91322e4bc2d65577321cb15ca474a71e0c3f901cbfa53a36ec86bdb7eea0c922fcb7e02dc4b5b25b0d6106b436c7eef4" + } + }, + { + "type": "Regular", + "proTxHash": "65c892fd43c443fb4d2328eae3b2cb28d96bc1eee0a026a3babc15585783b7c4", + "collateralHash": "d3394a0df692cf7c7d02a02e3d5a768e4c7685dbc358d24fc36ffc55b2c940dd", + "collateralIndex": 1, + "collateralAddress": "XeBCssJfZA7KbW5CHM1yqD2KaZ2t5UZU6F", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.171.15.125:9999", + "registeredHeight": 2117263, + "lastPaidHeight": 2126451, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsRFUeygB8bnRQXU5M17mqtK6mxFiDn8Uo", + "votingAddress": "Xp6PocfowtJtG2bSEfgWe95xRzw7NRwWP1", + "payoutAddress": "Xh9PyRGSZp1YHjMcNHe39694KdNnJw3Yge", + "pubKeyOperator": "894e9475f712f0a14d2369f4ad80de3db09e35896854dd6a1f889c0f3fd8c95940756491ba33821537df38849cec9e2d" + } + }, + { + "type": "Regular", + "proTxHash": "f67eaaee3af2d87fca96403295cf47dc39fee3a0feaf0b3a3fd7534ee8714b92", + "collateralHash": "5348e030b2f2a831172b0d4598356f918bd245d4baa7d6d0afe88ee960dca29e", + "collateralIndex": 0, + "collateralAddress": "Xi6bqDdF8L1hBNgTH7nZY9Z8kSkkZsDxCK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "141.11.49.21:9999", + "registeredHeight": 2117397, + "lastPaidHeight": 2126580, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xp2meZdFC9grVZEzRqMWz6muoDSoD2zfL2", + "votingAddress": "Xp2meZdFC9grVZEzRqMWz6muoDSoD2zfL2", + "payoutAddress": "XeNSpztb6grDNLG1qLqv2revxtcGz1m9fY", + "pubKeyOperator": "8e314e4beb4d18deb6da12e0334115d3b1479d7674052994be29b2ab7d8891d820eac739d76136c0006f89395eb45637" + } + }, + { + "type": "Regular", + "proTxHash": "1f90412ef279ea7a2b0484510f97789dd64a829837053e79dec285aec7955326", + "collateralHash": "8e32a033d5de1a131b35b86480c9a7ec1331b2f402bc168a8b95804d878cfb1b", + "collateralIndex": 1, + "collateralAddress": "XtqNSjAGBU3L1h4pATuXnooZFZeqztMu2V", + "operatorReward": 0, + "state": { + "version": 2, + "service": "116.203.252.203:9999", + "registeredHeight": 2117420, + "lastPaidHeight": 2126587, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnkQRSE8iGajHyn5rBEC1JhkwuLXL4rdgi", + "votingAddress": "XjrtNxxFsQEcmf6FSb2SKFoxrGqMByfUEX", + "payoutAddress": "XjwN7v8cLSKisdr8FBNkD3YWKiCq5faM7C", + "pubKeyOperator": "82dcf1a5575fcd33fca208d1a45de98dfb82eaee493bb9402a5f13c3a363c5f5550d0e0be16d993e978b68c50e554e76" + } + }, + { + "type": "Regular", + "proTxHash": "2f9bb78caaacd38b68dcb3bd47c381fc898006e869dc23bbaa1aee3db64f4db5", + "collateralHash": "4aa459e6d9959bc2f316a6ee3b3ee614a4e1d6b87395cfb35d54df099cdc7eaa", + "collateralIndex": 0, + "collateralAddress": "XsCxW5a2A22LxJA8JiXBz3j36VW4wcD4cn", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.0:9999", + "registeredHeight": 2117465, + "lastPaidHeight": 2126628, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmMNTCpqxzRr9zFF6BQhtv3J8sTnQo1vpy", + "votingAddress": "XjwJi5T3KDkBkTfEckVj8DUHkYVhj5pmqo", + "payoutAddress": "XhGtvAD48ZhDJ5VjbRAEsJM8V7uftnZfo7", + "pubKeyOperator": "982635467a9c8cc35ce6dc4d5d09937efd545d258539375b90bab3a50031b8e90d1880865cf957128bc3066c74bf0c5b" + } + }, + { + "type": "Evo", + "proTxHash": "5f0f9700d4e6c9ced64ad672d88b0c021ab9d8caa94c2500cc2cb70228c5cec6", + "collateralHash": "3b21e05f29a7be66a36ea8a48941f9028745745d1f06965466e6b9bdac2c1383", + "collateralIndex": 1, + "collateralAddress": "Xw4dZAtfJKFz9jo57Jk3mNwvvcPCecN7wn", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.108.246.145:9999", + "registeredHeight": 2117681, + "lastPaidHeight": 2126839, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiWREEpBJgxvLfPHPLcHEEHwti6pw3vqhe", + "votingAddress": "Xv5wDCoaGcPzZhMfvBbcYVcZCTAJJLzWc1", + "platformNodeID": "6434a484a582b49202f89f2e0010e174ca65d612", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsFhqSus6AbN4nzxSPaeaKEfZvGqXdrPq3", + "pubKeyOperator": "a139d42e3d85021cb660421205e07dea66c21cc252062e584731bc7ddb40fcc95a35de14eb08e3eafc455d21004c0fde" + } + }, + { + "type": "Evo", + "proTxHash": "47b1197bca506b44aca384ab8df5edc43906f3f3e3a05a2ff35f3b2e6550d427", + "collateralHash": "7a2acd6a2cb443287aee9714c58e82c04010571bfb1d2151d8a0072ef3be2685", + "collateralIndex": 1, + "collateralAddress": "Xe7xsCztEFLpUuJL8JWG65P4T8FXXEMVkM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "2.58.82.231:9999", + "registeredHeight": 2117871, + "lastPaidHeight": 2127024, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xk2QHTCxb95YhzKoaQBvSgAVrainAcu4R9", + "votingAddress": "Xer8QSQ9GM6CAqMAGmxndTXxX5ZM548P6N", + "platformNodeID": "b439f25abe95293c1b25eaa1319309a9696417a6", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xe7xsCztEFLpUuJL8JWG65P4T8FXXEMVkM", + "pubKeyOperator": "95fecd5c42217a2e3cfa4fbf077e2324005e47ba4698aa6a0a82f4a382bf1ab294403fc6cd067b448b545121aad9ee97" + } + }, + { + "type": "Regular", + "proTxHash": "d5d00cb8101e3aea841972dcb5001ea346729a2b421886dc2ec5837fd9933c0e", + "collateralHash": "3b3f98be65656d644d2456f13c9dc10117b939411bc0b6efe2c07de4371808b9", + "collateralIndex": 1, + "collateralAddress": "XvdZt37EUttbnfHx2awwXb9X2DGTaYvHXZ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "54.37.234.121:9999", + "registeredHeight": 2118273, + "lastPaidHeight": 2127459, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhShRiDwyvmP6VDzjKeGUX294UvrrY34Yq", + "votingAddress": "Xm8dbtddzPoMuczCniQP3TTKPMRtfPNPou", + "payoutAddress": "XrXTrc9fdbSxWBKJsfw54ep7nES8GdqEcj", + "pubKeyOperator": "acefd02d9bbd4bc824a3817b4c51dc4032e70cfb9540b902bb9ef1af1a2cef995c95dd26e7f041489e142eae31d936c8" + } + }, + { + "type": "Evo", + "proTxHash": "8954a426836f71a0a04e8321cb3b3487ed404790ca19d29419d15cac02de4038", + "collateralHash": "254a2b4fdccb917e2a26fffd5ab1cf0924be328518e4f6c678cf7859615bcec7", + "collateralIndex": 0, + "collateralAddress": "Xm3LLPRdgWBipLCzZJu2yHTU188ErZNsbt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.10.199.125:9999", + "registeredHeight": 2118372, + "lastPaidHeight": 2127558, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvAH1tprsPK3UrbT7qwAPQKoxSUzYQmtjq", + "votingAddress": "XenGynmXnaEk21vGK14WEnT5kTbENmqbjp", + "platformNodeID": "f6dee245200165e103f5dcde2bc1b4f9cc30bc3f", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xu82QY3eefhL5miK3yre6oLrRCx8wZoKNX", + "pubKeyOperator": "82af0e5c19bd0f8ebd6d92c648ac4bdf8877ebcb70858decbbb9f9ea38bc623b2029616a54bb5478f2136952ad7ad3ec" + } + }, + { + "type": "Regular", + "proTxHash": "5638715aa8c3b04c58ba29422758adb6757502d94fd984788f319ab0bde9d5d4", + "collateralHash": "5638715aa8c3b04c58ba29422758adb6757502d94fd984788f319ab0bde9d5d4", + "collateralIndex": 1, + "collateralAddress": "7WowXGov9AZVyVPYRSByEqTYpKjvWbZHEJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "109.235.70.24:9999", + "registeredHeight": 2118857, + "lastPaidHeight": 2128132, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xhi7aYkh469DeehKYWesiXS6iyFw8n5brp", + "votingAddress": "XvDY1CyjerfgKV1Dgh145oS2ZnURyNiqLG", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "84fda010a53c867b39416524eedf0b31bc5f67ddaaac59d57d577973b47f2999e1e4b91791b725ef21111d40d94b6276" + } + }, + { + "type": "Evo", + "proTxHash": "24dc24a79e14ecfc945e04d8a69e6d0ef922f43cc166c1dfbc6a22a448bb4397", + "collateralHash": "cd2e74d0ce951b78168b4f3df1ab99924f8881cd9276528f3ef160d1fbb1f3b4", + "collateralIndex": 0, + "collateralAddress": "XnUn2qER8YyEHtXvQx9HpY3rRmQxCkFX3w", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.66.81.130:9999", + "registeredHeight": 2118978, + "lastPaidHeight": 2128255, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqpycfueTRg7VSBCUFhjFdJ222rUcdXwLs", + "votingAddress": "Xtvq2JKkMvSUjm4y4X2fWwEByDGH4dktRE", + "platformNodeID": "07b703a3399ed181a393853cb0011f739c122c1e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XdTJofN5zsuHUE6SWw5XQBqumj6tbxmsG6", + "pubKeyOperator": "91168dc7651c7d875514196d073e54aa23879e01a0a81b17fac7b855b6213932ed1839db12c88a8668d6485fcebf0a07" + } + }, + { + "type": "Evo", + "proTxHash": "fb039ef63df8d1989aec4f87b728e7179bade6d1b429ab0c952d541c66eef4c1", + "collateralHash": "6b9f2c111998ba3fbc29599113b449d3b8f227729ac5d8b2cbc58d36c1de8398", + "collateralIndex": 0, + "collateralAddress": "XvtLeW1hsxRE7xhkvK83mYKEAnbRExT4P2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.66.81.162:9999", + "registeredHeight": 2118987, + "lastPaidHeight": 2128269, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxTstAvWQbbWonCjVAKQ1ccfBpJWnJ2KEn", + "votingAddress": "XgMV92t6SV17wxf43Zw4hZvhWvatyvNEba", + "platformNodeID": "02f5a88685f5e1d7590d76551e6cf2f7b5229453", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xs2X5tPqXYzDAocEyQrzHrwYzYQnFp9ftX", + "pubKeyOperator": "9837e44db6df192e71011a242f34a1ff969758a428103eb1ed0d356a004aeed32d66fa4a9471668eb51e941720865a91" + } + }, + { + "type": "Evo", + "proTxHash": "87f398c274ae7f07e7cc86a4a5f5ab6e681be04143556f8df875c1db4473edff", + "collateralHash": "c21516598d486558d9ac9c1ab10de121ab0a969ebcfca5e89ca8e90f40291455", + "collateralIndex": 0, + "collateralAddress": "XbFDCvopg5zN8PyLJzdYY689usWMcrHnqf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.66.81.218:9999", + "registeredHeight": 2118990, + "lastPaidHeight": 2128276, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqyAEUNQ895VsoaDNRJ4zC5xfDeRuC8f3i", + "votingAddress": "Xi1UcywA372EeayWfJ361uQ7CH93ENK49p", + "platformNodeID": "a022ed7f6a435d37729ccb1de39e951310dfc5e7", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbjyDFmE9QgjxoJkd92NLNgR1xPkoVPwP3", + "pubKeyOperator": "b26255fdb33cd5741640458c65bdf051e3bf927b871440b088d4e06a1eb7b49b560834fbaa6f0296a1f9e57e21b64ccb" + } + }, + { + "type": "Evo", + "proTxHash": "70e8aeea3bd08d782eeeeb771ec4cabe6cac105d2ff4b78c06b2e07ca698fed0", + "collateralHash": "17fd4ab539b02119ff15a6c431166c81cc8ed7a86c4287a1dafeb083767af5f3", + "collateralIndex": 0, + "collateralAddress": "XyQQyUPCE2og1w7xtbvWnSnNVs8KQuemnR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.10.199.79:9999", + "registeredHeight": 2118995, + "lastPaidHeight": 2128286, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgyqtnzNLdVtkbSj5mYNms3j3b5PWQDGRF", + "votingAddress": "Xc3YKN7wbZ1Vqeg97muVZxFZBLHEy464yn", + "platformNodeID": "eec59e9ae8cc388b2286075b0c8e4f221f112a79", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XeMnyfPa9wTJ6ucDKiqVekGMJv37j41gsz", + "pubKeyOperator": "94c363e4fc195cd59e377820c00ac1d1088de511ec3d502dc8d37b0094fc93ad587d1838e9962d7642506293066086fd" + } + }, + { + "type": "Evo", + "proTxHash": "ca29b00eab6ac180c70a9d1260dac7e2018688a5450c802028fd5da1dc5bca89", + "collateralHash": "254bf028ddf7bc15471a145f345ea7c74eb536ea6a2b1e5ecfd87858e8738a2f", + "collateralIndex": 0, + "collateralAddress": "XiQ9k7inmP68VS7RvWXJfR9yshzcTF5ebg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.10.199.77:9999", + "registeredHeight": 2118998, + "lastPaidHeight": 2128290, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsgfDi2RoZqh5rVQeSNK6TvDruTGHCi22m", + "votingAddress": "XhwvrhyHiAD85djZnmJxiHSkteFTumHk86", + "platformNodeID": "580b5c1c11f2f71ea589f232b17e622f723aa168", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XxR2jFzbYqsJpP1SgFxKqHUoVRLNG4aAtu", + "pubKeyOperator": "ba003130e2cdcf7007b358ec503f81be668dc73cb9b43ef60d4f3a7158f4594b518220dc6946ed9cce6a22bdf141063f" + } + }, + { + "type": "Evo", + "proTxHash": "192e7cd62fbfe2bbf7d9a5972c209883e65332b5b860a64236b79268baa9d051", + "collateralHash": "1fae377672dc431f7c746da7272053c1e804da8e51498ffb42fb283e05a3bfe3", + "collateralIndex": 0, + "collateralAddress": "Xu1Qp4EVjjfydNUMbcqH23fQVJxAWR4Cb2", + "operatorReward": 0, + "state": { + "version": 2, + "service": "157.10.199.82:9999", + "registeredHeight": 2119002, + "lastPaidHeight": 2128295, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxrSsex4W1ALeoWfZUArdYUBPnYYggxbb5", + "votingAddress": "XiZ5zUX5QbHdDHvfjeMWQEnyuzeLKPHynx", + "platformNodeID": "102c13b35eb55447a468204df7bbf252c54810c0", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XvE6UduLzZFmBQJTD2HaA7mQJnQhMK7Hfc", + "pubKeyOperator": "992c84adad7de610a4ecb2d3a370d584cc6c9e8b83607e1dfa889cb7d5aac1bfb62fcad2ca56b724d350af4fd9d543f1" + } + }, + { + "type": "Regular", + "proTxHash": "8270c05563a4893f524b25c72cff4393c81b91d2388ef93fe6361f2666dc27c3", + "collateralHash": "8270c05563a4893f524b25c72cff4393c81b91d2388ef93fe6361f2666dc27c3", + "collateralIndex": 1, + "collateralAddress": "7d9MvzYZVVZGucDUPoRHehVgymXohR8P2Y", + "operatorReward": 0, + "state": { + "version": 2, + "service": "198.7.115.48:9999", + "registeredHeight": 2119063, + "lastPaidHeight": 2128356, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiBGsZYFPbx6cjh2YuEqx7HRn9emfRyT4k", + "votingAddress": "Xv17S75mRTMKQA9TvorWqamyB3XYr58BcR", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "a46f405acfe3c6d266b4b97b497aabda976d64e6c528ff6c20307dbee5681b2c05e10bd2a42db07951b080f15d3745c5" + } + }, + { + "type": "Evo", + "proTxHash": "7ffec5def480d757a2724367db6c822ab094c736ea8c0d0af1bc914e036a1701", + "collateralHash": "2345a1e9655270c050328c683f260b28d05d9cdc9f2e1a92dfdf32826744c217", + "collateralIndex": 1, + "collateralAddress": "Xm88mmRevYCQYGpMknPokcGFhEE3UdHpTP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.225.11.5:9999", + "registeredHeight": 2119238, + "lastPaidHeight": 2128509, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoiyYfjWDzV682zf82Bbz7hdJBfiP9wjws", + "votingAddress": "Xxpa2Cwd8Uch4Rpi4Nr37ppxHonioJHdWZ", + "platformNodeID": "02b224f5d774e0457ab638300c2ec2a6198fc4ee", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xh9PyRGSZp1YHjMcNHe39694KdNnJw3Yge", + "pubKeyOperator": "890f7ba92872888c7c72099134f93b4959f97c799f84002202bdd4fcc75d4b2cae22e59076d09f79606dae90656bcd6b" + } + }, + { + "type": "Regular", + "proTxHash": "1bc9e4b6e7e910f65baaa0031faddc78b041bde66dc6bc040c3bea94c751cbb8", + "collateralHash": "8538eb26c30ab06ca96cca97d6aef08ee09503d43369d9a870d3741614d83067", + "collateralIndex": 1, + "collateralAddress": "XeP9wbLfyakjtjz6BwLhRFMc94wn4AxBDj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "178.63.236.106:9999", + "registeredHeight": 2119493, + "lastPaidHeight": 2128773, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiZPsf4PPcRjqht7Xu9Pm1mhQscZUmaiXJ", + "votingAddress": "Xx9azDQq6kWRMwSsZ6mfSbgpMxcgVp1yyu", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8125f3368085521ac558a05eb8bacc02db7afed6678a1e329eac5df57d04609ed7da25feb6a0b8078e047b1405776587" + } + }, + { + "type": "Regular", + "proTxHash": "45e437ed6f10f588c3e7cd3c7bfcf4b53d283742b5e8f7164f18b38336e8a064", + "collateralHash": "7423b5fc8bd364e8daf4cdc136d87b325588d7af70ccb1788f0187fdeef92ff0", + "collateralIndex": 1, + "collateralAddress": "XgR49DKyFZCdtWLtFuDBYXc7ujJbyXQ5VC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.137:9999", + "registeredHeight": 2119495, + "lastPaidHeight": 2128775, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbjQQqNCWuABnbkGZu5GRwTKKmZjTCN7U1", + "votingAddress": "XmaFgCmScybJcWwH21H7M7Q9bgpuAHbzvG", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "97ca7cad4a0b66b24ecb2524b87986b8bc98ca2e709b0e836863787a138c9acc9aba1d9788c22e8f0a3fac8a44bc613e" + } + }, + { + "type": "Regular", + "proTxHash": "6740eff4c8418cd5e07c1ea1d3a2ce28cf185e61a62cf5b1ad5f07fb26ca57a5", + "collateralHash": "9c875154ec2a7d9540e519acabf41d18dc6c8a9926ed4f73a9823f0da4b42f01", + "collateralIndex": 0, + "collateralAddress": "XwWMdvVBmpXXbByCoGnwZt9MFK8FtJeJcM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.177.30:9999", + "registeredHeight": 2119961, + "lastPaidHeight": 2126023, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkygiDeYGkL9VHCDHqCfiJaW82QRBEPVSM", + "votingAddress": "Xox2PPHBUig1KENY1cxf1cUtdDq9XicAUt", + "payoutAddress": "XwWMdvVBmpXXbByCoGnwZt9MFK8FtJeJcM", + "pubKeyOperator": "b3171adc5a16e263933498c6c6736e3bf512592bf4a8a84d95085b6d683dd780e0d95ebcdb46cc2bdb1ad16c77d8bdc3" + } + }, + { + "type": "Regular", + "proTxHash": "0186e587f4578711e94a4c6d7479857d30ecf23c5cde3d51fcb07ba6c8bae15c", + "collateralHash": "91ed47fb054c0b1a719a76dd7a1f133a707a9a44e4af255626284cadbe86bf3a", + "collateralIndex": 1, + "collateralAddress": "XxBsdL4mS14uZt8yq2zuQrAZSfMiEk7ZGz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.42.151:9999", + "registeredHeight": 2120317, + "lastPaidHeight": 2126375, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmxpEzKMBGaS5xTJ4qNGeEtEg3PhXp4BMM", + "votingAddress": "XnGgk5LQXcqpFYvTq5aEC3BnnQisENo7JY", + "payoutAddress": "XxBsdL4mS14uZt8yq2zuQrAZSfMiEk7ZGz", + "pubKeyOperator": "a61488a7c6a2852de7be853333bde560d4e816b6f334ae7a4b8a38d5867c73f0eea8efe71bee8e974dda05563ce6a321" + } + }, + { + "type": "Regular", + "proTxHash": "63282bd107284cf3f0e066d436103bafb18d4f6c7b4685d8c3b65f22acaac0d0", + "collateralHash": "5013eeb4e2fed627e89a3ab04338c5ba1be327cf8e2c9b683284999be5fc750b", + "collateralIndex": 1, + "collateralAddress": "Xfsxys2sosHbTbMp6aER71NFpPCNpDzB7H", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.83.166.27:9999", + "registeredHeight": 2120919, + "lastPaidHeight": 2126974, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbS8hBNW1aFs3bs3Dps1Nu8SHXr9zshvLY", + "votingAddress": "XhUpu3SbzwDA2zgEwSEmbyVH2QTj1FRYch", + "payoutAddress": "XcbUZQQnXRLuKNkqamHKfJpmRgfMPrjQqi", + "pubKeyOperator": "948b7f2b66e0e63cae8557e52c05561c25741d8745ab33128cdf8726f6d6ea412cff256e7e7ddb77d5c9b122515c467c" + } + }, + { + "type": "Regular", + "proTxHash": "836f66f32f4389df16eadf8e9d36c136de9beaeaefbe844fb0bc6d7484e9fbc2", + "collateralHash": "836f66f32f4389df16eadf8e9d36c136de9beaeaefbe844fb0bc6d7484e9fbc2", + "collateralIndex": 1, + "collateralAddress": "XkjZr5VaQBwxk4Qy8rM1vaRY9uJSChWnjt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "174.34.233.209:9999", + "registeredHeight": 2121066, + "lastPaidHeight": 2127198, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqeDmx6W31D98s5C45ftdkWKdhtDg6Zk4D", + "votingAddress": "Xm7i9wM5sZYg2iyRx53tmZmLPDUouUQkTz", + "payoutAddress": "XvPxypPaNFzZveNQJiM8oge6RqJ8wTE4sk", + "pubKeyOperator": "8606031430726dbed1c111eebc99c36837de5efc412c0bcebea55f5f5cc63806c4aa5537318080e31ed02a0c2f7d9a8a" + } + }, + { + "type": "Evo", + "proTxHash": "035d2fa64db2b9a59aa90445dc84499e4911fc75b382a9b83682a5e8cbba6a15", + "collateralHash": "1e4356a55252ba587b6f8ada22f891f4f0ec33c261c98c9c9dbc09b54c93027d", + "collateralIndex": 1, + "collateralAddress": "Xo2fwuqS9UoVuDNBZyQHeBxUZtLkE8WAdY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.197.250.227:9999", + "registeredHeight": 2121202, + "lastPaidHeight": 2127349, + "consecutivePayments": 0, + "PoSePenalty": 1114, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xkrf9ePPBfocF5PVcTu6K2eCSYsPr8BtDP", + "votingAddress": "XoCy6kUo5UQb2kTcY5eDTmx3NUpdJqPmdB", + "platformNodeID": "cc8c8166bfdbb3502b3d29ad93500b08560f0856", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xn4s3jvnahEPKc9qnixoSxvzJtHtWaKKPx", + "pubKeyOperator": "94792df22b5bee16fd1079ce20ca16f56c6880e23958ec5f28ba4a8d4a3e70de8f364441bf239206c6cee2b254dae4f9" + } + }, + { + "type": "Regular", + "proTxHash": "d69b5cdc148d9dae9a8afdfa3cc6517332f6aba2af44dfc0d6b3bc02a28ccbc8", + "collateralHash": "7a8ed27003d2589f763d72a526790b9b3effca64d284cf5b292b0148ec9b1c6e", + "collateralIndex": 0, + "collateralAddress": "Xdfy3uttn2c4Cr5nyD9kScCaw7pcUQj1D3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "144.202.101.45:9999", + "registeredHeight": 2121331, + "lastPaidHeight": 2127480, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XedzWL5TuiHhoH4vBihxCaPfTN1uMoiTUS", + "votingAddress": "XedzWL5TuiHhoH4vBihxCaPfTN1uMoiTUS", + "payoutAddress": "Xu13wMMkeGzZC75kPW9Nhm2N8wEjMtzsmT", + "pubKeyOperator": "b11cd10c7814a4b495d8b267fc0c8fcca6342eb10f078fb9bcaf058a970d49fa25061b2afe12d6d0dfd6c5aec5512a05" + } + }, + { + "type": "Regular", + "proTxHash": "66b49ef8c3b3e79d2bf312a1e1ddb224f32b0b622d12303b79ed6e6cb87c2105", + "collateralHash": "1b4bf9688693b0aed7914861c8a160a474a22314e7bcdded7ae3e7e0e2b64fc6", + "collateralIndex": 0, + "collateralAddress": "Xwz3LAqt2zT54fSrJuafDxVfFYbPphPUzt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.225.54:9999", + "registeredHeight": 2121332, + "lastPaidHeight": 2127481, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhJvxHfbqMf2egqi7KvQGjwRVreg6JNJf3", + "votingAddress": "XhJvxHfbqMf2egqi7KvQGjwRVreg6JNJf3", + "payoutAddress": "XjgnhXN3o3s3dSAE1PsTpZH8vmnG6QRUVY", + "pubKeyOperator": "af76ebb12f5ee55e494651248a658d6a5abf3e94065d26304a62718362070c133628060c304abeb6b33c9ba9cd0cffa0" + } + }, + { + "type": "Regular", + "proTxHash": "b1f5c4976fc59f4d08dc757d019536f4a9f1012799fc5dcafe1d4c02e2b64b3f", + "collateralHash": "eaf3185b4391dfc8f260f90747f042da09b04d383528e2c373faceeae02e8b7a", + "collateralIndex": 1, + "collateralAddress": "XfMTc2PvqdMCnQhK1B8enjFExjS4UPEzTc", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.224.35.163:9999", + "registeredHeight": 2121519, + "lastPaidHeight": 2127756, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XbSWVvctprpTST6uUkK9XQTBRfZyM9YLq2", + "votingAddress": "XbSWVvctprpTST6uUkK9XQTBRfZyM9YLq2", + "payoutAddress": "Xo9da2jyYo2WuUatFsZKPELepVJvXw96uX", + "pubKeyOperator": "96cb64e8484cc8df485fa13cf85e43e95871ef5c57d74d11cb99c3f0f20ff750b9b1c941fffbe869c72704886d03eba1" + } + }, + { + "type": "Regular", + "proTxHash": "9321d1088b262c3e91a07d94e29a3de4292faea85897cc2835cb51b864031441", + "collateralHash": "f04360bfd6a2b18405bc1c3f4da30c34a5d520a01f20120d3f90b08ef702ae5d", + "collateralIndex": 0, + "collateralAddress": "Xp2bisacojXjSK9ssUnWUvzfxZJxebrajj", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.207.131.17:9999", + "registeredHeight": 2121522, + "lastPaidHeight": 2127760, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmJBngAwCAGWUXhVTUA97iXLR2t4yLoQ6y", + "votingAddress": "XmJBngAwCAGWUXhVTUA97iXLR2t4yLoQ6y", + "payoutAddress": "XvUqf2nA2xtk9q4BHEykeNws9b25gMasNW", + "pubKeyOperator": "a3972a3dd9094a427c10df317bff7c606741141dacb175ea48c9cb1678bdb28d53f97a8f78c61c7dd02b907054aba96c" + } + }, + { + "type": "Regular", + "proTxHash": "847806ee2daea63c41c484539383668557b5f2b3c625b8bc424ad7956141ef5c", + "collateralHash": "a870727673edd20f53cee6040f215bf56f1f2a5df2c2354fd789a243c7b43194", + "collateralIndex": 0, + "collateralAddress": "XvAaE1bo8RQMaGiefjSCqqkFTPAfkNPbNk", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.13.139.114:9999", + "registeredHeight": 2121538, + "lastPaidHeight": 2127778, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxAqeyzH6Yjsz2L9JyZKK1E6B8NCiXbJ7d", + "votingAddress": "XwaWqpEwvxDDo9vkqCnrSWUBEuZVAE6ao1", + "payoutAddress": "XvAaE1bo8RQMaGiefjSCqqkFTPAfkNPbNk", + "pubKeyOperator": "8d346722a37e9ca827da228446d3eff74ae7aa7efffa560d31d59ebd246a29a1e65d3eb947d9dece222d8fd30c61e45b" + } + }, + { + "type": "Regular", + "proTxHash": "46ebc18bf2d970ee05c794af9f76e926bbe34655b944dd9844b7a536ee22f969", + "collateralHash": "6f2024f62412e077c1da48a9bf672a0e40fc7260469e6213b4c749d6d133e243", + "collateralIndex": 0, + "collateralAddress": "XitrgNpNP1i915vK3g7z4hG77vFq5K8qNr", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.80.1:9999", + "registeredHeight": 2121548, + "lastPaidHeight": 2127788, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvSiRVhiuKmj5CeK9mUhLLEBuryzc5bauf", + "votingAddress": "XdE1XV5zFF5MLFdvyM2EX8vrsR58P1GL36", + "payoutAddress": "XyHuayGskB4yJ9f7p2nK6vGmN3RzokcmvF", + "pubKeyOperator": "88176b84f885b3c96f19cd910d654dc7f4a6f6ac01b4954e1dc92421174240b234f830d1631e1f8e7bce603af817d370" + } + }, + { + "type": "Evo", + "proTxHash": "d9301d2e636194bfa3e68aa1aa2ea85d08e2957875edcb5e7f4314bfdde9edd0", + "collateralHash": "fda289a37185bffe24613d84d738b83907544de0e19fb726210d0f925ead1eb3", + "collateralIndex": 1, + "collateralAddress": "XvydukZEG4SVNf4eiZrRNkiUy741ATB7p9", + "operatorReward": 0, + "state": { + "version": 2, + "service": "163.172.20.205:9999", + "registeredHeight": 2121580, + "lastPaidHeight": 2127825, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xu2qdXkZJaaKWK8jwSCSe6MVPBUMd5gVwk", + "votingAddress": "Xu2qdXkZJaaKWK8jwSCSe6MVPBUMd5gVwk", + "platformNodeID": "f1ca0cb0f3d9ef46af826badc4a1d8ae9426320b", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XkU6s6GD2EeR8xVHcFwfUqbeztkghxquQS", + "pubKeyOperator": "ae2450490d2f92dc425bce7020a2bac9b1a47ed8f89bb13a1184ad4bebd25b50925ff71a6d706e6cac158e5c25e0490a" + } + }, + { + "type": "Evo", + "proTxHash": "ce99b1297bf30cd84ce448c08fba3580981febb9929d8baf271d5e53daf2ea70", + "collateralHash": "b87945095345001c89a158b1885ecf297a62cb7a4ec1344f575ebb6e72dba7f0", + "collateralIndex": 1, + "collateralAddress": "XhzD9GS1EBeWPSLyqe5U7ADPzpWuzVHzUU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.83.191.208:9999", + "registeredHeight": 2121627, + "lastPaidHeight": 2127879, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xxa9qV78V7raekzhe9wrNPUZyb6Lzyfok1", + "votingAddress": "XfAzigLqetFU6GoC48WdRNXnr6Gb6Vq6Fo", + "platformNodeID": "ab0e0843fdb0632b4fd3de7c12e692972d0954c1", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XbapNPSm6CyNUs6mKSy4mKRTnK7wMen3EV", + "pubKeyOperator": "8ff732e75551d9392d54236c679e71e2fa51d1a40c723964dd8f93f4288d63508c06808d57aacae1ab033c32bf357149" + } + }, + { + "type": "Evo", + "proTxHash": "a0c9b5138ac6709cc8220797fe818338788f85378934316d298c03e392d32b1e", + "collateralHash": "65429cf597ab9f9f4dc0ba06b76bd133fb1595a56baf430a339869c100006de5", + "collateralIndex": 1, + "collateralAddress": "XybXqwFdU93YfwkDxR4FPjxksZzM9yo4KL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.59.4.9:9999", + "registeredHeight": 2121632, + "lastPaidHeight": 2127889, + "consecutivePayments": 0, + "PoSePenalty": 1779, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xgov3BCtm9ZGoQscEy1cnSUKVBM55mv568", + "votingAddress": "XvYLLjHnFbBq26qJppAfevWMkoicDttRLR", + "platformNodeID": "c1b9318fc837d844968f0ddb178cd037d7f202ac", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xeu7JeMEMveW8fZKHkQ3bcPkfmF8f9T14U", + "pubKeyOperator": "b26c789c9fc11b03afc353ef8da03c0ff93ec03ae62ab18fd244610abe736998df539d6f784eefaa77d7355570e537b7" + } + }, + { + "type": "Evo", + "proTxHash": "c646cdbf76e5d5b77ef99f3806b23bbffe885985d0bce82b3259742048bd55e1", + "collateralHash": "07e94f41d7dbc9115272915d91a3b93cff234e1ec953b76cb1cb068fb003a120", + "collateralIndex": 1, + "collateralAddress": "XvNr2w8qtfVxTbPcrWA7SzPUaCxTfbFb7H", + "operatorReward": 0, + "state": { + "version": 2, + "service": "146.59.6.50:9999", + "registeredHeight": 2121636, + "lastPaidHeight": 2127896, + "consecutivePayments": 0, + "PoSePenalty": 1779, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xq8YHFEtDm2T1bYKQC4sb4savd2qCCC44y", + "votingAddress": "XbquhM5DsFhqk9bYW7f6zfXB88KCTz45wn", + "platformNodeID": "040e8c9cd139365d2cebdbc76769a0748bacd7da", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xca26tChyDv1mfMiN9tYyVPz2Am4ZDcuyB", + "pubKeyOperator": "b3dc5af8e7d0ffc416b5879da121f6df6a382c06b03143e6724e619fd599c8e4009f6d5592c7a13633063127578713c2" + } + }, + { + "type": "Regular", + "proTxHash": "0ac025f48eae92e393702aa7c3eb5cae3a9315749f5de0a1e44745552f6eea9a", + "collateralHash": "610d8fb941ff69513809a778350329aa4d583564020216da3e76fa9ee85b9e6a", + "collateralIndex": 1, + "collateralAddress": "Xdw6KydDZWAPBD1qfmJdj9kWgdUAj1ohbn", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.83.191.210:9999", + "registeredHeight": 2121638, + "lastPaidHeight": 2127897, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjzPeM5T8sW752mb6RhD9xJRaoHa35wWTg", + "votingAddress": "Xvtz7wU1MaUbw3SVmh3i2HqYjJGeSrHnxX", + "payoutAddress": "XnPR69PWHruGCJAx7uf68S16jdrj22DkVD", + "pubKeyOperator": "92b14b67448e0252d9109982f2c2dfd08c8832a478dac49f557c9bc849d3a431e335113999cb6851692a81160cd4b444" + } + }, + { + "type": "Regular", + "proTxHash": "5e1950f12af4ea34b2c24a567e3de3750abf3bbf8e809d7b46dda0922fa6f607", + "collateralHash": "01c24d52cecc79b1363141b80ea4e90586b22739980abe893c4e171a3ad7df6d", + "collateralIndex": 1, + "collateralAddress": "XtdXBgdPDsVvzxn2amN3hjTYo9TyzwHaEK", + "operatorReward": 0, + "state": { + "version": 2, + "service": "155.138.154.140:9999", + "registeredHeight": 2121953, + "lastPaidHeight": 2128238, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvcTUUgx3BLA9KH3VJw7tDc1PqAQWu7jUi", + "votingAddress": "XvcTUUgx3BLA9KH3VJw7tDc1PqAQWu7jUi", + "payoutAddress": "Xyt8nCUHVxPTd6MKNAKy6kFxGAommbjxDS", + "pubKeyOperator": "944a40671b45d0230ffc7d585a57e4d73ea3e9ae8fe58f1b9b97f42a561270463c5a2be320eab151d23df3ee982fae57" + } + }, + { + "type": "Regular", + "proTxHash": "a717fb0d0df097f7566aedf57b4486099126b7038448d27e88a83b9873730e2c", + "collateralHash": "b9fe273f51c2c7de187297fc07bacf3a27323363e747db4c4e0ea329f328971e", + "collateralIndex": 0, + "collateralAddress": "XvtUQgxJek96hEfHadbDEquhEbXapuJbnP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "144.202.37.1:9999", + "registeredHeight": 2121953, + "lastPaidHeight": 2128239, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XnqCzB4wPnuyur8ADgFWAGhqXBiGnjELJN", + "votingAddress": "XnqCzB4wPnuyur8ADgFWAGhqXBiGnjELJN", + "payoutAddress": "XhawTdEDN3cxKheLG1Y4K8KeSzjLxyHymG", + "pubKeyOperator": "97679d86641b4b42a0ba07ddfe0af173aae13f8aabb2c24e372a2a4defe92276d101b6f4b95caad515d63e74cda952ec" + } + }, + { + "type": "Regular", + "proTxHash": "369209293d5d2327ca84fa5037ad5c05d3eb372165e884fef887581b4b9761a8", + "collateralHash": "860a51f08cbab2ee7f0ef0cd2f1cfb6e8e7b921d16fe8d8f2523ca74e6012b8f", + "collateralIndex": 0, + "collateralAddress": "XehzvhJ6X51rtHoV8puCVrqvdKJ2eh9wXE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "66.42.84.27:9999", + "registeredHeight": 2121953, + "lastPaidHeight": 2128240, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsfkwiJGNyK2pszkSSiy4X9NG64Tw2NRko", + "votingAddress": "XsfkwiJGNyK2pszkSSiy4X9NG64Tw2NRko", + "payoutAddress": "Xpz5pvc5ZBVfEb8Z7UdzmNkv6HLiSd6rNM", + "pubKeyOperator": "8a1ca31c5fad43748c63c12b34927e70bbba39e94c1d66c75995bf98ce691687155011b036eb0fab4c7237f54ea232a6" + } + }, + { + "type": "Regular", + "proTxHash": "8e905d80fbfc7664f3a68619738244dac6aa8f925fba1ab659361f82b34280b0", + "collateralHash": "b3eb34945fd931bd6e9bd8ff98cc79c583d290c8fd5f0cc750f2bc4d124d4ba4", + "collateralIndex": 0, + "collateralAddress": "XmvH5HroS6YVahRECKDanpoqrnXu2nHtaU", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.116.16:9999", + "registeredHeight": 2121956, + "lastPaidHeight": 2128245, + "consecutivePayments": 0, + "PoSePenalty": 1697, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XotgbJrUSyP7b7E8AaM4mmFChxTTDoJvGC", + "votingAddress": "XotgbJrUSyP7b7E8AaM4mmFChxTTDoJvGC", + "payoutAddress": "XbMovcqW1e55871M9sGo8FqHKCySJvUe9X", + "pubKeyOperator": "a067e4affa1ff33c5e522248234b652066c0b4eed4ace97b832e0fda888ec7c9180e0a47019e618175271e072ab07a54" + } + }, + { + "type": "Regular", + "proTxHash": "b0224a48a29101f031977bbdc9abe86ecc12cfaf56e8280a52e56ee7cc87f779", + "collateralHash": "b0cb10bf778c18c940f5fe62ee59768b03983f44a70806bd337cb35df20c9e04", + "collateralIndex": 0, + "collateralAddress": "XsU55abMNxGqc4vim8vJSPMYdbBURUzW3s", + "operatorReward": 0, + "state": { + "version": 2, + "service": "144.202.72.211:9999", + "registeredHeight": 2122077, + "lastPaidHeight": 2128373, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtubJyUg11qWyQuQkkwaKo89iCVEWng5u9", + "votingAddress": "XtubJyUg11qWyQuQkkwaKo89iCVEWng5u9", + "payoutAddress": "Xr8HF6BUVASsubQC8JuzkAVzcVY6pr6Wqj", + "pubKeyOperator": "a7af2fe0e8fbcbe4ac261600200c36e0ebdf88b6beabe8262c8f0048630cbd903bb6403f581c700489acc53d1fcf326c" + } + }, + { + "type": "Regular", + "proTxHash": "de24b8bbe69fd3f00dedd981f2da87466ded6d5db66c26ef46d2395d59cc2adf", + "collateralHash": "c3e484c2d7cb4e93960ae509f968a7a726ce401ca27e02fd403ecdffb77ec121", + "collateralIndex": 0, + "collateralAddress": "XdNQvnNvFxcAPHpS94cyDHph4QVEhSvxFa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.112.102:9999", + "registeredHeight": 2122082, + "lastPaidHeight": 2128380, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqL8u1JWH4Ugzdo6eQ353tTB9fQH1SVgxD", + "votingAddress": "XqL8u1JWH4Ugzdo6eQ353tTB9fQH1SVgxD", + "payoutAddress": "XdHornL2r8sAFJ2N77wL9cRUPumxot1oMG", + "pubKeyOperator": "b2af28307e4066dbee2dfba2f95be77f943fdbf9598302396b384c164a5adb5883c8936e0c9249ed22fc59f05bf28e94" + } + }, + { + "type": "Regular", + "proTxHash": "0ee79652348497cf4edbd02650d984249c521e3865c48f2a5e4120d3c391f2fd", + "collateralHash": "34ac7230803e1689d4d3a9a0970192f16819d6c3be26496bac5aca09227f70e5", + "collateralIndex": 1, + "collateralAddress": "Xc23ZwAS5RqiYZ3o19K7Dfm2QJ7p3crLS3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.32.115.119:9999", + "registeredHeight": 2122083, + "lastPaidHeight": 2128382, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiM5J27tHVF56RrQUPpGuCEZYqYeTYkLes", + "votingAddress": "XiM5J27tHVF56RrQUPpGuCEZYqYeTYkLes", + "payoutAddress": "XpJyzgWMA2mRfSChvbeS5u4uS8YZSXKstJ", + "pubKeyOperator": "aa479dbbdeff73b180056845098189694db971305d0e0eeeaab42c4e1a8df7dec81d1401ecdcade9cb144ab16f89d54c" + } + }, + { + "type": "Regular", + "proTxHash": "87c6c4efcd250a38e2b983fa1cb38e9e9c2a61827861d0442bcdc8aac98f2d42", + "collateralHash": "a08037aea966f40fd517cf530fab969cbc7b1632da83f304b79028330b7c545b", + "collateralIndex": 0, + "collateralAddress": "XmbzxUq39NGT21TPtTu8Gd5E9uA7XCddEM", + "operatorReward": 0, + "state": { + "version": 2, + "service": "158.247.194.66:9999", + "registeredHeight": 2122238, + "lastPaidHeight": 2128540, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeHr2e2zN8K17XJUn1irjnYcwEd41LMZBL", + "votingAddress": "XuZkGdLTJHd6E383mkYmz3mWoNSUfXDBfk", + "payoutAddress": "XmbzxUq39NGT21TPtTu8Gd5E9uA7XCddEM", + "pubKeyOperator": "b1b42395ede0edca8be848492388acde22a12fb3bbe2827b59b2f3db0225d2411c619586eb2ac0f87a88176eed1cbbf4" + } + }, + { + "type": "Regular", + "proTxHash": "defcc6fa2a16a5b273799e7ab05a141647b676e34b88d2dc2b88fd94cae3bb57", + "collateralHash": "2182d4ed7b9055c76fc4e69a4c8699c9f94c4b6f61fb16d2b2ede49f97e4579d", + "collateralIndex": 1, + "collateralAddress": "XxkCkVqoC8dS3mmG3Vjj7MwXENEwrc1wNL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "217.25.93.31:9999", + "registeredHeight": 2122593, + "lastPaidHeight": 2125749, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvpC1uHFzxWUxrpHR6hCvnjsnzp7emGK6L", + "votingAddress": "Xfp9neaf321Fmo6GHcUDALoSJ3u3pt2Xke", + "payoutAddress": "Xwv8dtGP8KrvL8aWvrrrpy3va8j5USvMHr", + "pubKeyOperator": "891375a5d177690443981f5458aaf04eb5c839b33dcd753d1f1cedcf2d3efde9bd2b3c1cf0d6d8f7a1c41faa20bb5b21" + } + }, + { + "type": "Regular", + "proTxHash": "b99abd7aae10472ba78ae6082fd9874c77580c800e9fbe94419e8f80c1f0844c", + "collateralHash": "3420407c7a2f433740631a98a89457c488aa1d7cd84a49e3b2a7c0909faa37ea", + "collateralIndex": 0, + "collateralAddress": "XcF8KHvig6EQsHo5nufq7cEcwZPeX6n3a5", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.195:9999", + "registeredHeight": 2122762, + "lastPaidHeight": 2125915, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjAAHFpN6uBMYidHjejtYu5uW87pXMmnKK", + "votingAddress": "Xu3VbZiPHHLvn1EpXRo4ivmBxVTKHPiJiL", + "payoutAddress": "XkYBEuDDHvKicVPKHTUwBwwiLLEew3uQ8k", + "pubKeyOperator": "847dbd0c1c0273a27687572694bf36cc70d39203b75c2c8031aeff5cb6fae643d1c6e9f0db726cdbbd6091a0f803c986" + } + }, + { + "type": "Regular", + "proTxHash": "4aab9e77037099861a0964d696b6e2efb23f4152720b7161a828f5e8684432dc", + "collateralHash": "3420407c7a2f433740631a98a89457c488aa1d7cd84a49e3b2a7c0909faa37ea", + "collateralIndex": 1, + "collateralAddress": "XcCU8iJzicumaqeMiXXubGf68XjfQTVFCy", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.204:9999", + "registeredHeight": 2122763, + "lastPaidHeight": 2125920, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrJEY32SLpkCsx5ASPDZVtUKpDGwmtZNwY", + "votingAddress": "Xo4nEyev8zpb8kA4a44eVygDx6fiWvBErJ", + "payoutAddress": "XeppdyhbxAnwmcrWWpr6Wy2KGMHr3LU7LC", + "pubKeyOperator": "b4ab7d9992afb127af67da0506063841a2d974a7ad377d437cd8f254680e77cbe27997c96afbf60217d236593331cb3e" + } + }, + { + "type": "Regular", + "proTxHash": "ba5ae5f1a49ff5fe9aba98ca73417254eb05a107ff6b2b7f77862d6fd28eef5d", + "collateralHash": "3420407c7a2f433740631a98a89457c488aa1d7cd84a49e3b2a7c0909faa37ea", + "collateralIndex": 2, + "collateralAddress": "XpZwuh44zBus9h2WDaENdUyy1o2CRujdL1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.205:9999", + "registeredHeight": 2122763, + "lastPaidHeight": 2125917, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XtUgQ8UdvMdVekcwntZ25neoxRm41BKqsz", + "votingAddress": "XmKw26Vsvk8NJtGoh7fs2NqnCRZR5dotxL", + "payoutAddress": "Xoi7DPvDUJW19ma1G1EzAdLymickyKFP5b", + "pubKeyOperator": "949f91ea055210e7e12c9aa8ee9bd76c99196e7ab7e08f75256003dc8c7b286dd40e9cf133837aafa8d2db859c217321" + } + }, + { + "type": "Regular", + "proTxHash": "d0427bf21db161a8ebfe2f6ced4db2432ae8b56d3144840779b6261a72ad1188", + "collateralHash": "3420407c7a2f433740631a98a89457c488aa1d7cd84a49e3b2a7c0909faa37ea", + "collateralIndex": 3, + "collateralAddress": "XoTmvSPqKxhovHGaYn6jHVvBLQeYh2kWDY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.206:9999", + "registeredHeight": 2122763, + "lastPaidHeight": 2125918, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcSN1ymy2P9GTt579hwcXkmfnQjhu5yx8U", + "votingAddress": "Xiv9M7a5bo4jvE18SvhoHCn8NhuxkP9SZZ", + "payoutAddress": "XxhEZ9BcmJDTLBUBoai5DqX8sdJiCfZiLQ", + "pubKeyOperator": "8344dfcd30e06c021878d84712b3b23b8d3695c17aac22f4a62316b4dbab1a3f2d7ad156e627c7a72504392953f37966" + } + }, + { + "type": "Regular", + "proTxHash": "3f7d3adf1f005d761d0514ac395da8dd4dfa2b75021fcf8dd8d6ed2d27244a49", + "collateralHash": "62a7c55ce480655e1153f953309057d2571511d92482d5481874a45849f69806", + "collateralIndex": 1, + "collateralAddress": "XdAujXwmJS8w753pLgh84fL9wvDVCw2Xwz", + "operatorReward": 0, + "state": { + "version": 2, + "service": "64.227.32.83:9999", + "registeredHeight": 2122771, + "lastPaidHeight": 2125928, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XygeWuNKVnV59HH78RCYBhrrJqUgsZMaPe", + "votingAddress": "XwkAad8ReDtJRXC6PtbA3265GLUk2H1Mkb", + "payoutAddress": "XbhDzJMMwi5u9B69GKzaWDpw84rmW8r2kz", + "pubKeyOperator": "95f78b0c126ff7ddc3a8aa2b4940fb3cf8e515c8d3dae78e9bab29ec48953843b1cdb8aebc31417151075f16437a948a" + } + }, + { + "type": "Evo", + "proTxHash": "092828edc081d3ba1a54f043259b941368f2c718881b06a9d347883b21bfe313", + "collateralHash": "ca9d7cdc0b0455ca50e74b74de958e5e6e999f82f8e57dd2d6b66c9d960a3cb9", + "collateralIndex": 1, + "collateralAddress": "XvJhEecD2j9uEcSGtSXBfikaSHbRSmWUAd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.108.74.75:9999", + "registeredHeight": 2122830, + "lastPaidHeight": 2125990, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeCQ3Xdh2pH3YMj2cX9Qtj9HDhWrY6iC7c", + "votingAddress": "XhHNsCmtSB84Qz5CgRbzQ3XNrBBzobiaPB", + "platformNodeID": "ce14a7c74b45f7207c505ecd4964587d43c67918", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XvJhEecD2j9uEcSGtSXBfikaSHbRSmWUAd", + "pubKeyOperator": "b1b38452732a88ee6949226aa693a7f96733facba4013764a38d46b831ec78d7f4bde1906e41c6869918b8f7931de5f4" + } + }, + { + "type": "Regular", + "proTxHash": "2925138ae00b8b79fdaa08721864d283404843436cf09ddbcda3f5a92ee53ddd", + "collateralHash": "a70b2d1af20ba57648ffe17b7a477fcddca707bf504b71be3fc1f271b6e2be77", + "collateralIndex": 0, + "collateralAddress": "XkAiJuhrjwMpdTvAViyaZ21esy4LUpwGMp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.194:9999", + "registeredHeight": 2122940, + "lastPaidHeight": 2126090, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsMKX9a3LJJfdvZjkdYTuXBwtUDZverpT1", + "votingAddress": "XuuiK5MzevdwLPmfVwrPrPFTRsAzJaBQDT", + "payoutAddress": "XmkT2m346Qgu9HNwpKPLWinkACCeTqCAhf", + "pubKeyOperator": "8330cca1fbce2fddaee160efccb34c488e5af56ec73242e5def9792350af62db0f0a75868d0784debc1f98b6d5a22151" + } + }, + { + "type": "Regular", + "proTxHash": "a69548e3df63ca468ea46004ba22d8cf0e702a507461f93b4ee570ef5adc7efd", + "collateralHash": "a70b2d1af20ba57648ffe17b7a477fcddca707bf504b71be3fc1f271b6e2be77", + "collateralIndex": 1, + "collateralAddress": "XtKajoRS9YgEa79cGDxtt9tzFPD7878yec", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.207:9999", + "registeredHeight": 2122942, + "lastPaidHeight": 2126092, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xv9RQhdbcFmsusVaMHvpZCdc3UsQQmRt5P", + "votingAddress": "XsNLEEzawMUtFfPFF8B25oeu8fY7UEMMsn", + "payoutAddress": "XeppdyhbxAnwmcrWWpr6Wy2KGMHr3LU7LC", + "pubKeyOperator": "841a1dc503d16ff03297e220a2e0995a7fe68593b0bf76bfb9b90301bf408ff87094523d6961163b0fdca52226821d3a" + } + }, + { + "type": "Regular", + "proTxHash": "7301ea2a6f1f41a88280b4fe65cc307ecb1db32ee489252fecf816f87c2449c1", + "collateralHash": "a70b2d1af20ba57648ffe17b7a477fcddca707bf504b71be3fc1f271b6e2be77", + "collateralIndex": 2, + "collateralAddress": "Xdeu68BRZL4d931dPxWkJS66KyJcEQGfZ1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.208:9999", + "registeredHeight": 2122942, + "lastPaidHeight": 2126091, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkQasGegaAeqC779gnGx4h2fT776wsBDJU", + "votingAddress": "XcUV4e6VpDApVWUCiAHvH4Hc7nqnutyyEL", + "payoutAddress": "Xoi7DPvDUJW19ma1G1EzAdLymickyKFP5b", + "pubKeyOperator": "a114e45c089f23f710fe1e4ab942395d425420a98b86408baddfc462a2d0817b90ccb46b429bb27593c7e44c3a454a47" + } + }, + { + "type": "Regular", + "proTxHash": "24179655b900518789880c2eb1691e13d526cf5e9b2233a1fad50cf879887c2a", + "collateralHash": "a70b2d1af20ba57648ffe17b7a477fcddca707bf504b71be3fc1f271b6e2be77", + "collateralIndex": 3, + "collateralAddress": "XdArxi6JdCgfQXuGWtk56JDY6rUn1srP3b", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.209:9999", + "registeredHeight": 2122943, + "lastPaidHeight": 2126093, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XxftRH3twVAzaHxzTwLeKCE3fZKM6kXSf5", + "votingAddress": "XbJzBYCRxYqJ9StMj85Hg73zrdh5tMvQCQ", + "payoutAddress": "XxhEZ9BcmJDTLBUBoai5DqX8sdJiCfZiLQ", + "pubKeyOperator": "a71d104d92350efcf3f7a40f9c57ac7c14b4fd11a5b80167992c21fb557bb1d3adc27faff32d7782ffaee89386164618" + } + }, + { + "type": "Regular", + "proTxHash": "857de59d343bc73ae32955d92f4e551c2baa07ead908cd01a4a74cdc177abd7c", + "collateralHash": "40f6c2b40d2cb613aaa8ddff0c71344682f056a9480e97ee29f451541205e2aa", + "collateralIndex": 1, + "collateralAddress": "Xqr5WiUrZcrzmJynDLipyx34nSGjnMtikC", + "operatorReward": 0, + "state": { + "version": 2, + "service": "43.153.210.9:9999", + "registeredHeight": 2122952, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 831, + "PoSeRevivedHeight": 2126935, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoMGx9YLBD3KxLiMX1yybboPs2R33QGWfY", + "votingAddress": "XspB5PAxQV847frxww6VEjAprYLsmdks6v", + "payoutAddress": "Xqzg6jZ7qBDdZeuVQxSQQhFewVS41Eq5sh", + "pubKeyOperator": "92aba887f570e9b3391dc5501c3ed57efb105801cc77f3676f4a852adc2f714df84fa2892526052e7024eaf66d2dd044" + } + }, + { + "type": "Regular", + "proTxHash": "20081902183024e83d79b207cca106255ca3cc14db40b04cca2dd4651a10c363", + "collateralHash": "16771cfddbe09b3ff634383bba5130c136a554dab1c462e88f3a7ebadc2ac760", + "collateralIndex": 1, + "collateralAddress": "Xs5n8E7GUEMpCqaLVzsmpCx7zXKPY5MrQY", + "operatorReward": 0, + "state": { + "version": 2, + "service": "23.88.22.68:9999", + "registeredHeight": 2122970, + "lastPaidHeight": 2126121, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XrtbWYQpev4ZSbNGSnVd5riSfaZGybXezw", + "votingAddress": "Xg84inYmLYMmYnFXVqWB8YDgZ5GYrZQbr8", + "payoutAddress": "XawkxDdTEZ7C66Gv95j7Vy5NUVuB6jw1EX", + "pubKeyOperator": "8d317f87944da2810f51e391450f14575fcfdaf18e63c72f6e0253465a546e8047c5af752de423c87312644e327b7268" + } + }, + { + "type": "Regular", + "proTxHash": "5faa996478963f742cb1871fd32e637b2139e29013930999a2ce0c66a500f27e", + "collateralHash": "72f0601fae008845767657ab3787c5e64f89de67f7fde802d09118565b4faea4", + "collateralIndex": 1, + "collateralAddress": "XwZNaLGXapehw7NDzsqNx9nV67UJ7bQAmL", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.182.215:9999", + "registeredHeight": 2122976, + "lastPaidHeight": 2126129, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwGQ87zTpdNKt5qKpNaC3EXNqSx617oQDR", + "votingAddress": "Xbav8eLPfD8P6KpACoymE4jMCkzbiNUgA9", + "payoutAddress": "XawkxDdTEZ7C66Gv95j7Vy5NUVuB6jw1EX", + "pubKeyOperator": "acdeb689664aed76aa147b304c11aeab48f0f34e28aa96e85bcf925311bbe817b631b08e5e474de0be4e4d6445764238" + } + }, + { + "type": "Regular", + "proTxHash": "bb20e0bc59ba68525a340dbb8095458b08e8179ae648d7219b24eec28c7fa694", + "collateralHash": "49bcc38dd322c77105e090de0b3647202266c9ee6f9fc402f71235113b1660d4", + "collateralIndex": 1, + "collateralAddress": "XoYZpekAip3RjnVwZtW7B9JemkFP13KLGh", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.68.155.64:9999", + "registeredHeight": 2123093, + "lastPaidHeight": 2126240, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XeLtLBPGkwUZiXyHKbvLnuQom43jLBmyXe", + "votingAddress": "Xf6QPfF9HXr7u5bDsdVc6CkAXGRpHJugmU", + "payoutAddress": "XoYZpekAip3RjnVwZtW7B9JemkFP13KLGh", + "pubKeyOperator": "8a116c71208267b03385b03086fc8a0bcc089cbc52924dbd9d4c51948e2c14e560cd1c1f42334f3a4070d7085483e4a8" + } + }, + { + "type": "Evo", + "proTxHash": "52fc4d740991fa557c439a5d553ba0bd71f84675f41268568c33158be6405f22", + "collateralHash": "d195b05f46e01e11812769bd6ce919f29c722262c5b53beb58167981c556b63b", + "collateralIndex": 1, + "collateralAddress": "XhL8XtEf9AuTWPzqMxsqc1jKyxvdhpKUfH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "147.135.199.138:9999", + "registeredHeight": 2123120, + "lastPaidHeight": 2126275, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuFpSsykBKzjT5LX5nwSjZenv97eouzReS", + "votingAddress": "XhRSv7sv1UsvtcQ4aB3CC7u3MfwiYgvRBn", + "platformNodeID": "c7f4e296e00349967e41b67d9e9bff82d2bfcb21", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XnWSbQBpz4KM4wkaZ3uMgR34QEUCHHZRt4", + "pubKeyOperator": "b6828be7af0fa0e173d8ec5c8733135e29af030181fdff59b7f5af49c7e8abe95e29cf7850defe8532a65cf02baf7349" + } + }, + { + "type": "Evo", + "proTxHash": "b09cfb1d82a643408818d4a02f491a7ed2dc66f074618706221f2f49f2bae0de", + "collateralHash": "fe25b57e4792d4a46927dffb57ca32deb1a4c2f4d489b4745dc7a395a20986f3", + "collateralIndex": 1, + "collateralAddress": "Xw2kYxv4AK2mGRFtWjxBTn6DKGHByfueDu", + "operatorReward": 0, + "state": { + "version": 2, + "service": "79.137.71.84:9999", + "registeredHeight": 2123120, + "lastPaidHeight": 2126280, + "consecutivePayments": 0, + "PoSePenalty": 1779, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjcpvRPUcCygvPtCW6S9ETwtYktFKc9iob", + "votingAddress": "XeeF8E6hUyxpzCT9wbBJBvpQpFGSCvz4ma", + "platformNodeID": "02665b39f76f9f7df6a5e4bb7f5fa51c8b8862ab", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xp11SZJk6JELDXyD1ukGPtL5fXaB8nm4uJ", + "pubKeyOperator": "8c9915a08877dccfd154700578c7bcf55a249b822fbec0f6adc812ce87e8ca58525f167e90e22a9f2653fea34aff975a" + } + }, + { + "type": "Evo", + "proTxHash": "e7ea6db743a83a34825d0958c7366ddd80053d7e97232597f81f8e0d85570b20", + "collateralHash": "c1c25b2875ad4ff8508e8fa039112c46c560f32046eb21f8c9261ac01c070486", + "collateralIndex": 1, + "collateralAddress": "XfQbKPiUYHYcBP84nfQWovkhGPwycqzpS6", + "operatorReward": 0, + "state": { + "version": 2, + "service": "51.83.234.203:9999", + "registeredHeight": 2123122, + "lastPaidHeight": 2126285, + "consecutivePayments": 0, + "PoSePenalty": 1779, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xyoo9uCDPEK3Y7Jkwo6jeLxB8Y4nXR6KgE", + "votingAddress": "Xt73UZJH4LjVC4rXpbVPUmDaT4EUPADDBH", + "platformNodeID": "f9dc470bf772fe1d07a2592abb7e012d318bba62", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XnPbSVh8gr9TwkoKqSJ4i4WJuFtzrDLiGG", + "pubKeyOperator": "84008f643dfaf4470a9933e41f1f864a0309ec345726b4f443cb194c8a1318fdb224fe38297493d3d4932b4abcc43352" + } + }, + { + "type": "Regular", + "proTxHash": "5731fa3be25c0c144325178ab3a862e2b75f74fe5425450cc5ceccddbc2fa54f", + "collateralHash": "bfa481973605169dd8988265b401f3e1b060e7db81c5cbc7cd49defed4dd243d", + "collateralIndex": 1, + "collateralAddress": "Xoh3zWU8PgHAPNUCLvKaov9JPZQx8Xy1qX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.231.21:9999", + "registeredHeight": 2123178, + "lastPaidHeight": 2126338, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhFeHfhcJtoU5vqGU5pz738aquNrBgTXj9", + "votingAddress": "XuQGjAm7yQJJnoZDhys8xnGznRWcg6dRef", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "831b3b727312462df65d0b9724d71954465950975612be5ec7020eb2f407a5467ee9ac822fad86aede56a166a7b8a545" + } + }, + { + "type": "Regular", + "proTxHash": "4ac57f68ac0e9c15e02d1023f3aecacc554c65525bcf0762972de51cef873056", + "collateralHash": "f0cb5dcf34c78e58ee6fbc86b5873ee9833d9d52bfd2e2821f482f4a56ced896", + "collateralIndex": 1, + "collateralAddress": "Xu6NNTsiwwtReiQAFystYKruRQtLA7hSYr", + "operatorReward": 0, + "state": { + "version": 2, + "service": "135.181.53.224:9999", + "registeredHeight": 2123179, + "lastPaidHeight": 2126343, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmE1w7pENpQXndLsM5urk4d2YqRufkTwvC", + "votingAddress": "XcGhZue12AkWphMYGfAMRAwH4CR2JW3ata", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "868047de1e239352fb170407d61067305af2940490f444118e27690ec26f0b44255e1321f493d7dd9260121363dc820b" + } + }, + { + "type": "Regular", + "proTxHash": "d0ac8249f001a680470cedc4df8b9678051d020775a8745221b02da6b4325a05", + "collateralHash": "64fff137a5d9fccd3faf985320bcd0c9e367dea716fca1ca6f1d9ed43f8efdfa", + "collateralIndex": 1, + "collateralAddress": "Xybf6QwsknrP6TPAoSvVmjT1QF8Nweu39m", + "operatorReward": 0, + "state": { + "version": 2, + "service": "54.37.199.238:9999", + "registeredHeight": 2123246, + "lastPaidHeight": 2126410, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqjSXJPmSvHv3VnFyqMBTKvJxNRB3K5sPY", + "votingAddress": "XqjSXJPmSvHv3VnFyqMBTKvJxNRB3K5sPY", + "payoutAddress": "XmrT1BiLFt64EwG2DKmp1ReZbd8MJDYKaa", + "pubKeyOperator": "b3485483f5fb3d74c812cb6ea9dd807d64101d13d3135a7d4863a3562ac9ab897ea5d0853e2aff9c50924963de2a508a" + } + }, + { + "type": "Regular", + "proTxHash": "5aff186238b7e52cb513b631537982069d43b91439b366db0120a1e3b44ae51d", + "collateralHash": "13e4c36e8390337087201df26e6a7368b2945a3768398ac849467925a67c1958", + "collateralIndex": 1, + "collateralAddress": "Xk77eZJadwm5xsLzHhwToZiwLt1eZ7NU4E", + "operatorReward": 0, + "state": { + "version": 2, + "service": "45.76.215.91:9999", + "registeredHeight": 2123422, + "lastPaidHeight": 2126590, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xe6oyHaheWYHi347ARZZLw7Xq2k2rTmVhE", + "votingAddress": "XtuBjpRuDUsE9gGqgMqVGnu4L5Cc84Xs3Z", + "payoutAddress": "Xk77eZJadwm5xsLzHhwToZiwLt1eZ7NU4E", + "pubKeyOperator": "8a4403fc5c29c288ff22747abe3748f964fafee96f0ddb6cd798b1dd84336bfb8d1490ea400339ae8f9e593b6c1af477" + } + }, + { + "type": "Regular", + "proTxHash": "98e6e434e93093183fd522dd003214c228c5026be23cc8210d8dda9f6bf9c0ae", + "collateralHash": "b3a2bb2b62ef20f3cc078fdb6490184f8f376faf6874e717572bbb822224e7f5", + "collateralIndex": 1, + "collateralAddress": "XxAgjfamZ5dy1icQYaDpuqK8a5mKTrJPHg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "149.28.18.225:9999", + "registeredHeight": 2123434, + "lastPaidHeight": 2126600, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xfc94vwx3LH7wqiyK7Ew3PYMVLKd2Vvqmf", + "votingAddress": "XoZgQpUE1srYwMzHvKBRoo5PmmE5i6aZ8Y", + "payoutAddress": "XxAgjfamZ5dy1icQYaDpuqK8a5mKTrJPHg", + "pubKeyOperator": "b4d96eadfc9057770e3c9ffe5e23cbbaefa28265b29beaf7873360de075a91040081ce159fa0cc4fa249f10af2a62fa7" + } + }, + { + "type": "Regular", + "proTxHash": "b0e4bd42c89df447adf25b43930da4473aebe63c7b7472b2cbcac5d2b8737efa", + "collateralHash": "58bba94727c7dd68686748083a33190cb39ae6ccf7855a927f24fa4d0373325a", + "collateralIndex": 0, + "collateralAddress": "XrusEmFTK5j923f2HmF74bPSsdqkWAF4TH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "202.182.117.248:9999", + "registeredHeight": 2123447, + "lastPaidHeight": 2126616, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiiYHEpfPVML8a6eUoNNVLVTzKHg284gby", + "votingAddress": "XoKQn81zw7zaZxAe12Sx3GZDY1QydkrPLw", + "payoutAddress": "XrusEmFTK5j923f2HmF74bPSsdqkWAF4TH", + "pubKeyOperator": "b1f7ba301c7ec25993b970ef1cb5a2961a865118e856875368f14bc434329956a621bee5874ebbda7e7f3cbccdcbb116" + } + }, + { + "type": "Evo", + "proTxHash": "28cdae2272c4e52901cb76097e4109ff96d442a9d323f37cd4d325a07a0d49dd", + "collateralHash": "efe588c8de3cc55612c552de05aef31545426c36e9cbe0e21b6e5c8cf3ac1293", + "collateralIndex": 1, + "collateralAddress": "XsfRwHD73i8yX1d7CKkLSLKn6Wvm6ir2rH", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.27.67.156:9999", + "registeredHeight": 2123927, + "lastPaidHeight": 2127417, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2124253, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmHZd9SHYpGfwfUodaeFADmCwyiptKN7gW", + "votingAddress": "XhHNsCmtSB84Qz5CgRbzQ3XNrBBzobiaPB", + "platformNodeID": "456a0ada76a935af15dc09d2a5fda5d0fd363437", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsfRwHD73i8yX1d7CKkLSLKn6Wvm6ir2rH", + "pubKeyOperator": "9183c2be1a60f242b4a9d9882646e6bb06e0c44e8e8d78b8ca1e763e67ef6d14e57388a461057e210ac15f084c90899e" + } + }, + { + "type": "Evo", + "proTxHash": "07bffaa884f78cfb549d6557065d01a5c537b39434b2b2767a6114e5d9d73ccb", + "collateralHash": "51173e39f43f370123e081d24308ccf743065cad67f7f2b574dd7c8b460f754c", + "collateralIndex": 1, + "collateralAddress": "XsX1yMuyEwd3gYce8QD3m1v5G8X4MSCty4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.27.67.159:9999", + "registeredHeight": 2124162, + "lastPaidHeight": 2127325, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdEQhMb99ddVp7qE4TGfdm2ZxWs7iGCCyz", + "votingAddress": "XkSJBR5aNyuCtiS1xULPmxZtbftWwh76wg", + "platformNodeID": "50d847734406592420320c864eb572fb900e5c36", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsX1yMuyEwd3gYce8QD3m1v5G8X4MSCty4", + "pubKeyOperator": "89717a29aa87fbee26a8e1ff647350f3d950129adb49adc386a042984821d823d3d6b39e9b6669c243051a86fc87edaa" + } + }, + { + "type": "Evo", + "proTxHash": "4c2e231fe2732724651d0fd8c5db6a37e2f689c47170cffc52eabb8318d227ef", + "collateralHash": "255b13486e88b62707faf103e21f352cc0816f8a6a1040d50c94460e2c99c496", + "collateralIndex": 1, + "collateralAddress": "Xgrg5KBSqX6xUkfxkHzMmcWHPSYiQd6ajB", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.27.67.163:9999", + "registeredHeight": 2124254, + "lastPaidHeight": 2127423, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XsoL6bTQkWDq9ZaNgTu2g44tCV8duk5vNs", + "votingAddress": "XhHNsCmtSB84Qz5CgRbzQ3XNrBBzobiaPB", + "platformNodeID": "1603960a47322033b09c989d2f37ad2fdfa51a48", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xgrg5KBSqX6xUkfxkHzMmcWHPSYiQd6ajB", + "pubKeyOperator": "92e5f1ee8bc8051b9cf44fb4716c54d6b3eafcdf3bc4e11ca28a76f7e4a1d789eace8dd9b1d7b03007dc74464780c77f" + } + }, + { + "type": "Regular", + "proTxHash": "1c2b19d136daa7decbea401eb14274709860b7f6ba01c17d328b4b92d631ebca", + "collateralHash": "93b6c31b4f3962644dffcfe5727ffacfb8adaf6fa63fe9e1efdd7de3f1d20a6c", + "collateralIndex": 1, + "collateralAddress": "Xw1MpBXW1Y9Hp6WmbjukprWGiZrf6HNxiQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "62.210.97.79:9999", + "registeredHeight": 2124306, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 3727, + "PoSeRevivedHeight": 2127165, + "PoSeBanHeight": 2128362, + "revocationReason": 0, + "ownerAddress": "XrHewpFKPVj7NfCGg1s3syB5a5k9NPCQDd", + "votingAddress": "XbUybEykvT76CXPNTrV74QWYqQevtR1QRh", + "payoutAddress": "XsCjtP8rP6ddHxmgRQPFL5o1jBGPC73FZL", + "pubKeyOperator": "b560c79d8aebce598961ca0a34edb72c9284787fc739ae51c1e85e15cf4d521286a1f71e68df2ff4d7dfd2e02515cc46" + } + }, + { + "type": "Regular", + "proTxHash": "e6b3058e28791a7cad3969eb639d86fb5a76ac6c28be3c36a49928ab15248fe0", + "collateralHash": "5f38396ce62ccab08847f53abd5c860a7f3889af12948989c77e68af44dc2d1b", + "collateralIndex": 0, + "collateralAddress": "Xieae9XRiq75XqFhq6JUxyEHsJidQuGXXq", + "operatorReward": 0, + "state": { + "version": 2, + "service": "137.220.38.255:9999", + "registeredHeight": 2124674, + "lastPaidHeight": 2127847, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xn6e393H1rrAAtgDqiZkD3pxxiuLU3fJqa", + "votingAddress": "Xn6e393H1rrAAtgDqiZkD3pxxiuLU3fJqa", + "payoutAddress": "Xbb6xbUMwnfnPa97F7DgTaB2tt8rVgEABG", + "pubKeyOperator": "92ac2d0c912df5d2a575fe25a5e40766b30915d3923e53313a644d18c778c69a0f09ada47729e12f51366fffc737d81b" + } + }, + { + "type": "Evo", + "proTxHash": "13498142da3ff383acabe5f3dbf161b51fe65913ee73d2c38e98e6dd73b54b38", + "collateralHash": "7d8ae8af29d198c01f0b96957b949f2662f867089393925c4ce2efb586c7a9cc", + "collateralIndex": 1, + "collateralAddress": "Xv44sZRsqBWmrVJJqXUT6vsHGXmoLxssYJ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "65.109.65.126:9999", + "registeredHeight": 2124877, + "lastPaidHeight": 2128052, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XoX2DL5iQiNxwDzZPwq7Tk322ZGgK8F7ua", + "votingAddress": "Xgp1MiA5jad1CNYC11nUwXgXAdgrz2X7g5", + "platformNodeID": "63670a3a65f2d3df548f5b7cdc06353cfee0196a", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XrPV2rmHZeEXUEhFLbge24iKeyW4jEEbH8", + "pubKeyOperator": "b854f486612ad943a6524ad36250bb43ec2472ace84d270d544a5533f9c617998bc1ce0b35afe4056937f7ad2b89d3f5" + } + }, + { + "type": "Evo", + "proTxHash": "0c00d16531a1ca3012ca4b29f8e3474c5378afcc3f1a671030de16f9dcecf350", + "collateralHash": "e342200d6b3fec4a3725641f862d828ec5f5236e666617e68f3d1e9ee814b987", + "collateralIndex": 1, + "collateralAddress": "XoiCYBve3eFL1VfRXCmuJ6fjjGz54c7Jmg", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.27.67.164:9999", + "registeredHeight": 2124878, + "lastPaidHeight": 2128058, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xw8hVyvAnnTUYBLUWqa3YF8tC7FKGktaYp", + "votingAddress": "XhHNsCmtSB84Qz5CgRbzQ3XNrBBzobiaPB", + "platformNodeID": "8b4e3231c7387be7bdcdd4f47193d4f8ea9362ce", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XoiCYBve3eFL1VfRXCmuJ6fjjGz54c7Jmg", + "pubKeyOperator": "8c17441f3380fa55caf6dd8da4cb64ebf27c5c6dcc7809c2855a15096b9553b8e163c067907edac1014dbe1aaff97323" + } + }, + { + "type": "Regular", + "proTxHash": "1d3f38a1e8683e340961c0e72df95fee1a788a6047069c2336bb23ae38399f20", + "collateralHash": "c96f9a9016516e63b97a4f170834b0ac466647e6e956e603d4e82172853bf12c", + "collateralIndex": 1, + "collateralAddress": "Xnym3754AAFzpHhEhphrLhFoQakJ5CDjYs", + "operatorReward": 0, + "state": { + "version": 2, + "service": "89.223.65.183:9999", + "registeredHeight": 2124880, + "lastPaidHeight": 2128061, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwGUGKV39RHfLf9nfy8wZwkBSaoWBS9wck", + "votingAddress": "XdtLv4dWgbxMQUTU5BtgLTePYVTDeUN95D", + "payoutAddress": "XxTJnMrm1onZtyH6PFob6HVy4LdCxEs5P2", + "pubKeyOperator": "8a4f3c9061746ba632a6a8ca89c6eca62a1042ecf1d311c96a3cb15408a04ae283feb7ee115ccde67aae5ed0d97f714c" + } + }, + { + "type": "Evo", + "proTxHash": "02ea5d030da10c84ad09ca95289c28d6affe7cd40947ad30fa11fc782c677d75", + "collateralHash": "6f32f7e4cb10979ce171f886d26e0fe1ad65323923c8b8509d5ca559ea2396c2", + "collateralIndex": 1, + "collateralAddress": "XfYXp2oY5jLXTyu6e922qXbfpmZU53vVAd", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.194.216.84:9999", + "registeredHeight": 2124959, + "lastPaidHeight": 2128145, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XcVcDXydXXhumVwwfU28yJevu815sbZzZc", + "votingAddress": "XvcJy3KLD2UjXge74oBhcK73418m3e4jVc", + "platformNodeID": "999e660c07fdcdc6e9a58faf3339d549d44142c1", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XmKYWZ6ZViGFnvnqMepm6NGCg3FZMbKTN2", + "pubKeyOperator": "ac1b998bb0b566a3faefaf1d76d3b20b9754e950508d43976aa93b9b5b007de58c4b2e5fea65497f6f8c0f8595137bea" + } + }, + { + "type": "Evo", + "proTxHash": "34275283d67d69a588edafd85a75a7131775a5f812a419d7608997ed3764df1e", + "collateralHash": "66d98175bc05bd677dd0c8bfc3fcd6f3fe70e281c2a1a6060c4b51590150881b", + "collateralIndex": 1, + "collateralAddress": "XmPxXNDsFA2uSoKZpMnJqmSrqMFYAG436W", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.254.241.11:9999", + "registeredHeight": 2125839, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XgmK14us4byG6RaufEVQY2QRHkhcU3Afow", + "votingAddress": "XpScTRnXuowBfnk6ihUKZ69Rv6oCRj3mEb", + "platformNodeID": "14f1e0ccf8525fa58042e96e01df70d579b2f303", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XfGuWUB1rh7iuSfU5aJ6NGi2nfdjUk4Cya", + "pubKeyOperator": "8cccf9d5282db40bcc3de1471a9c42d7b9874ab0eb6ce7275af0474d2327efb5d024154ec3d990c61b86c2957e338a92" + } + }, + { + "type": "Regular", + "proTxHash": "28b4ab8c030635d847eb11281d04a3327bc570e0c2f6f12b0ea1540898aa0740", + "collateralHash": "ee892687fd0cb8069fe8264edc9b6dc743c214994d461ea64a0dbe58a07b369a", + "collateralIndex": 1, + "collateralAddress": "XsmBApYrr9RZgCVVriui84rw6LuWHzD7iD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "46.30.189.214:9999", + "registeredHeight": 2125971, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XdcJNxfZ3dPBfv7diGLGRnD8fi1sqnncCq", + "votingAddress": "XdcJNxfZ3dPBfv7diGLGRnD8fi1sqnncCq", + "payoutAddress": "Xb3i7W647HEfmj126dEfg7hN9pZWjZG8VV", + "pubKeyOperator": "a5eb4b1bd159f3c7aef23282f8639b6d8815de0193a4f45305039cc4bd4c10b9112f81c59c24ba27e8bc177e25edeed0" + } + }, + { + "type": "Regular", + "proTxHash": "be38f8e89bdbe128f935b662ce2eedaabb7b194cf7a9f57481e2b5b81dd4a08e", + "collateralHash": "46a66fa30562546a5f5796d4348bd80ed7ed425836b64dafe0875acf0eb3e903", + "collateralIndex": 1, + "collateralAddress": "XrzKKHJ8oSDA4SJLoayg5zHtwzzUrHxJoP", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.190.53:9999", + "registeredHeight": 2126106, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XhyPX3Gs34DNhHr9zB92kzWTjjkQtFwtSG", + "votingAddress": "XsdaEdw77N3yfmP4fmkLmnyMgmXMgfePkM", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "8810acb5c071bbe8ce4fc7685ad4a42e99927a0edfc2bec8cf65adc008bf82206cc8f3f795510ee1ccdc7b211e0a71a5" + } + }, + { + "type": "Regular", + "proTxHash": "9ff40ce557f82f8f763b3985dd0a6aa84482827f52b1251c5f2ee682c6974839", + "collateralHash": "bdf768cef667e326ce9435932427d5cb743697e90b2aa1e45ef847b19fdaf1dd", + "collateralIndex": 0, + "collateralAddress": "Xu8JVk7nY4vsWwMhngSRVK5B7YyoVA8gBQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "168.119.87.132:9999", + "registeredHeight": 2126264, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xb1rhbmmhPous2bkYCmFYgPnpW2pokrcEQ", + "votingAddress": "XnFqRYq1f71ZXFmwT2sjA8P9i1MuFcy7Qg", + "payoutAddress": "XbqvfRV6SMRAfk5e3Psg7gRGmCgfy7Dn9g", + "pubKeyOperator": "803aed9fb24896cc39d6892428d7367af728bf9e0dea6e8e0487505e357c6f7a61cb2fa5ba0eb6ade37c999a400f5dc0" + } + }, + { + "type": "Regular", + "proTxHash": "19db0157b098b580ee2cf6b1a65465f5be40b9ade1c27e4c424dc651f10f36ef", + "collateralHash": "fa4ec71c983d485909757f538467241c7b8268239499ef423025c9ab3af27987", + "collateralIndex": 1, + "collateralAddress": "Xui8WQJV8RBpEJx25Uag8qvToTnc4vvdhb", + "operatorReward": 0, + "state": { + "version": 2, + "service": "37.97.227.21:9999", + "registeredHeight": 2127000, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XvZBiLGHoszoz1rpTpBWpPhQrVq67VxMwQ", + "votingAddress": "XiHx5fUw5HHDhWX8obniZQabjPztwom98J", + "payoutAddress": "Xui8WQJV8RBpEJx25Uag8qvToTnc4vvdhb", + "pubKeyOperator": "8a08a8fd77e72520fb019d7b9bdd4ab44e9c058d9c009b3554ebd23c1de7f00d273947cb5084927b20bdb255b29d068f" + } + }, + { + "type": "Evo", + "proTxHash": "174defd7f00894efa75a025315106960e5538a62112d9850f6f1b2940446c2a4", + "collateralHash": "5bd1a152cdb8ccb318daa5df576b59487d8796d5b2342549fdc2354689381e1e", + "collateralIndex": 1, + "collateralAddress": "XcYsiYT81XPozXPRPZCbn53fRyBdQaytaE", + "operatorReward": 0, + "state": { + "version": 2, + "service": "192.248.178.237:9999", + "registeredHeight": 2127180, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 848, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqUski5t9oXGVsSfHvpcfFUZqVi2jkitYx", + "votingAddress": "XtZSSp6n8MG2h3eXtzMo5Nt7j88mP9XkqZ", + "platformNodeID": "b96f7087d1ca66cf0a4179a56ab064e231aef9eb", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XxQ3nNqd2xXsZu2PEjdcV3HojBz3GDaxby", + "pubKeyOperator": "ac7866cc73500b1e397b8aa62dee54e10f479b2b42facd2d4650d1daeb85ae8a37bf2d03d589f1ee069bd1c9cfd83e64" + } + }, + { + "type": "Regular", + "proTxHash": "f4ea8f3806f7a48f4fdf21d1b9286a66bc45671f632359c93ec298f5a2527cc4", + "collateralHash": "eaaf44a333eacbfec547caef6a257539b9707b3a8a2a86660ceaa2a870f45004", + "collateralIndex": 0, + "collateralAddress": "XrfDtRUyANFgJexx6gHnzM7M1xiwRCL4ZX", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.193:9999", + "registeredHeight": 2127297, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmjbF33Pj6cobdxQGqfu4zwncELdvn8boH", + "votingAddress": "Xyw7AX4zScP95xRLK12q4ArWFNvF8XybaF", + "payoutAddress": "XyMzBWobV4oHs7VUvznr6byu3jQs9U3X9c", + "pubKeyOperator": "aaa650bee30f2f2fc6f131a4e4540e34d7e64f3efc3fb30d2ada3789dade20cefd8f5b5270b9d279e5312f3af716d132" + } + }, + { + "type": "Regular", + "proTxHash": "5d47e4f3a15e472c1a7f8deb474f82dc440ce769c07c9f6fe7918542de096004", + "collateralHash": "eaaf44a333eacbfec547caef6a257539b9707b3a8a2a86660ceaa2a870f45004", + "collateralIndex": 1, + "collateralAddress": "XjgngN6HLK8BBYKrrJCkk2443LoGyNuojN", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.210:9999", + "registeredHeight": 2127298, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XjyVEMtjRxm3otqneMKfieugPZ1SyfvULQ", + "votingAddress": "XpS33QD5Nua7LjV1kDgyaB7Hgr1ZoXfBPZ", + "payoutAddress": "XrjkNya4ZS2dNtDTn3tfaF35ZicYH81b4c", + "pubKeyOperator": "b63a0aa8ecbfb23e429fbce85369d878b02cba9383b5cd1b41d06af836f9f754d897667a767ae065a672609e7cdc467c" + } + }, + { + "type": "Regular", + "proTxHash": "f4c0d579b470e048f1729e463183ce64d281d8b519717f881562dcb4ac1d89f5", + "collateralHash": "eaaf44a333eacbfec547caef6a257539b9707b3a8a2a86660ceaa2a870f45004", + "collateralIndex": 2, + "collateralAddress": "XsYCdcmDE2rN2zYfaE5pXGqDRJgDGWTHQv", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.211:9999", + "registeredHeight": 2127298, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmShm6xvYb6W6D6y7zXv8Wiy1oCoagqsWL", + "votingAddress": "Xh3oV6TdMNjEBBAEWZaMkuhEDJ38Tpigmc", + "payoutAddress": "Xi5kig8VxdhonKVxyBb6eZTQS5SuUC4Tmc", + "pubKeyOperator": "a8306a678fbec80a6cfb1097a30a3f76dc019c8496089c2ab65cb64c40f0f28d1f3d4872f25defafd517b0450ed50f7c" + } + }, + { + "type": "Regular", + "proTxHash": "5be3146c3e2119caea8631567b797faac31948362deda6962cc45107f3e03159", + "collateralHash": "eaaf44a333eacbfec547caef6a257539b9707b3a8a2a86660ceaa2a870f45004", + "collateralIndex": 3, + "collateralAddress": "Xu37C8mDBGmWrrfJGAfK4YXTHNM2Nx7Q19", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.217.99.212:9999", + "registeredHeight": 2127298, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XozrmKpqffJL8ctSv9HfXrXj6AzCS5imru", + "votingAddress": "XtobkhRRtgop4SFcEjQJVfEGZHx5Ry3v66", + "payoutAddress": "XrCruui6Fj6ZNLhwAGqkbsxFSdG8aGKTN3", + "pubKeyOperator": "a016cb404a060418bbe56df09418ed0f18e4446434b666288d22a15fce6275d910aa278f21f997352a9bd9c90e64e47d" + } + }, + { + "type": "Regular", + "proTxHash": "3e6191fc563b8f8f3053efd9571d0c3b9015217bd2ec73ee26d59fa5d39a1c3b", + "collateralHash": "d51c6cd09c75cdec81913c9e381fe4ef7916e785f1d46ae42e263cce526bcef4", + "collateralIndex": 1, + "collateralAddress": "XuJQZDH9A78mAH391Fc1t1BGMbSSyvvUNR", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.169.181.71:9999", + "registeredHeight": 2127481, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 3727, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2128074, + "revocationReason": 0, + "ownerAddress": "XpaaqJLeeeDL3X5Lj6AEP5WA2vuAMwTwiZ", + "votingAddress": "Xg3SzmBt8CGsu9oU7GxovXxVVxZuewcm3W", + "payoutAddress": "XoyFc7yBNGzanCMgVNw3J3if47xwgVSx8B", + "pubKeyOperator": "a90aececd4f673042685b8befa5bd4f4225252059b6550cf6c1b8946d065f747d06d83a790ddbe710ca762149384be35" + } + }, + { + "type": "Evo", + "proTxHash": "706b871255d45be704983d89207ff0844c281e34f8e87e45f8ae173270deb354", + "collateralHash": "f7bdc67bc25168ad1239fcc653662f1ec258e576dcfe25b6e38cf7ec7f9b48d9", + "collateralIndex": 1, + "collateralAddress": "Xhq48LuE5D5AuA66Auv2xkCFQVfpF5oVjD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.146.18:9999", + "registeredHeight": 2127915, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xs9KnWdFagh4ZEuqsdFrhwbtK9aP1rgB7x", + "votingAddress": "Xe6AZnVruPpCTKoqnNtYesXreUJFtMmEcV", + "platformNodeID": "852a76ede27b0ed1ac5c85776135404c107c9ae5", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xi4aj5nae4R7MD7ASEMYuS8Ci2F48PodtS", + "pubKeyOperator": "a6325ee90ca89f7ac54204c4eb94af561004983a2bccf178573b2d3d7e0db81ccf95411467657a850fc214d4a235084d" + } + }, + { + "type": "Evo", + "proTxHash": "f1616a597eac912c0db8b4696ec11b2c004a421d77a4ff599f6b13654f5a88f8", + "collateralHash": "0777f21b75298a584205db98226fbb83cebd995aad887530ab6d938de03cf183", + "collateralIndex": 1, + "collateralAddress": "XvWFunADhs9bVvGDYS8tg4zYURY63ka9LG", + "operatorReward": 0, + "state": { + "version": 2, + "service": "49.12.102.105:9999", + "registeredHeight": 2128111, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 1730, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpUdnjNNUS2bUaKWv6oJF5WuUYC2B9eK1c", + "votingAddress": "Xsg7U7QyVqpRTb2WtxcBwBuLpjNx3Yjb4D", + "platformNodeID": "4c90c9f99f571a8e4b0e33dbd385b83691012782", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XtmHPhq9ogKP4gaHGBWP1eojqjVo91LjN6", + "pubKeyOperator": "85885252ded0ca7fe632a1163e0c8c64631a338a3a3591024114fda17f2ec6a0f3b5ae401efa86eafc4f07d8717cd4c7" + } + }, + { + "type": "Evo", + "proTxHash": "db8688d31781cf8cbe39dbe2dd5fcb7b3cc172adefc8782317352a4018be75d1", + "collateralHash": "4ea6c2414f61690b15a36af7da97a9beb8d233d7944d35c00fcc704ed655cb49", + "collateralIndex": 1, + "collateralAddress": "XfGohgz9qXb9ZGD4BGsm3rsAYCCSRfuefD", + "operatorReward": 0, + "state": { + "version": 2, + "service": "91.107.226.241:9999", + "registeredHeight": 2128272, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128466, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqLmWyznjaS9ZLV4SSTS4GAasFcjE1QjAv", + "votingAddress": "Xe3vnAvdh8kXk9B7rvxrSzJiW4YjChspL8", + "platformNodeID": "3cae0adf74d5eee344457fae3a5bea71e53b580e", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xw6wvfWfFe9DWNX3NS5ts8Hafp8JtB1EdS", + "pubKeyOperator": "ad28d6797504003f715ef13fc4a89a436155237a604c59f3854f2c0b46d02c180e236a62114119ee39f1c84388e72a1b" + } + }, + { + "type": "Regular", + "proTxHash": "10268611ffd8a8f1dd6c358d07ce56cf4da01e73148e843f1c0e5c8efde89f8d", + "collateralHash": "0403fe17b9be48e59eec6412add4dc498a5d8ee5baf66ee7e9cc9a04c343f27a", + "collateralIndex": 1, + "collateralAddress": "XxceBVhPQsT6Um96hDmRzyX3kPXXmHmvFQ", + "operatorReward": 0, + "state": { + "version": 2, + "service": "104.225.159.232:9999", + "registeredHeight": 2128448, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XpZtktWdYgMujod99mKeuu9oMr2fXxZM67", + "votingAddress": "XpZtktWdYgMujod99mKeuu9oMr2fXxZM67", + "payoutAddress": "Xhn8fMd8xqw4PMrUSZpqT182vUQTQCiML7", + "pubKeyOperator": "86ba76ad30121f8f31057bcf021a38cb05e01990343dbcc9946556e2e30de6523b552eb235307b572ac75ca9f8388743" + } + }, + { + "type": "Regular", + "proTxHash": "3228fa8c43170b3fcf905076db164b9234c356a6383b036f5137e8cd022a632b", + "collateralHash": "dc90ca184c4d24261a6f849bde583e5130c2efdfccc49f723781304b5a5ea09a", + "collateralIndex": 1, + "collateralAddress": "Xm4Ux3v2mMEHCfhofuFVQmvxJXRabEaDP3", + "operatorReward": 0, + "state": { + "version": 2, + "service": "2.59.42.120:9999", + "registeredHeight": 2128654, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XiLoS2M5Scmhydz8bdGkkUGzqLdL7iDSve", + "votingAddress": "Xs5XiDc5hwSZbkSZ95GpUzupEwzgAZfcLg", + "payoutAddress": "Xv13zD9h1VH6cuVc5fdrcmCeJwz3Yj7Kgo", + "pubKeyOperator": "a4b5d0f377a66a27e2df6449dd057ad2ff8b16c4b8adeba23a69bf148ceb86ef755ab0e9d541277d5378d870e9d41b11" + } + }, + { + "type": "Evo", + "proTxHash": "e78966d144d820782ab9f8175f4e4cbb4ad600f45c679d8710070ca8ed7cdc1a", + "collateralHash": "f1643a205e327cc72d99b0fca1f651bce7c031daa67f72c0091b1aeeab978189", + "collateralIndex": 1, + "collateralAddress": "Xy5THvXVbvHWAqzAEVFHvUbS94nkvGQ7T4", + "operatorReward": 0, + "state": { + "version": 2, + "service": "195.201.238.55:9999", + "registeredHeight": 2128654, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128786, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "Xo6W8PDuDUQrcyCHHSX6DG5BVLQ5bwDe6B", + "votingAddress": "XrLGtyr9QESDK837VAjko7GmvtBkmGScbQ", + "platformNodeID": "ce84a5ca66bb9bcee40657559d22e17a7a45bd81", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XtmHPhq9ogKP4gaHGBWP1eojqjVo91LjN6", + "pubKeyOperator": "afbab491d67dc742440f92861cc6470c172bfea5006ee2bcc0b2ae8ca1ab549cd5cf5810bfdda23a1c9a8849c7c50b02" + } + }, + { + "type": "Regular", + "proTxHash": "a6024d343794bd419f1ff0ff09e117c3aa59483e2b99d15a75bce96bbd095319", + "collateralHash": "0b43ebcb9c9c3f264f3e2e4f4e97aeb1b38ba6ed811253996cd3c9b05d4b20d6", + "collateralIndex": 0, + "collateralAddress": "XkAy3s4NSs1ZuniyzBVRzP7uUBKjkb6AEa", + "operatorReward": 0, + "state": { + "version": 2, + "service": "213.226.124.71:9999", + "registeredHeight": 2128656, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuJrcNHUaPU6Kh3wAR68Ydfc5e8hTXokWk", + "votingAddress": "Xx9SocLTyvimDyW4qNekPaEFQNNPibEwsm", + "payoutAddress": "Xh1619BFQ3oZ1KoNrdNYGLfrTapthEALHf", + "pubKeyOperator": "8d5d59793cbe1fdc3d99b8534c4117f71622a62a13a4701976f4a776ce41e3f3a49bd9097a0197694ab841a901888abd" + } + }, + { + "type": "Evo", + "proTxHash": "c06ab623ce5fa91d5862f260d702e1d2bbd85dbcd8698834affccd5f5d48b188", + "collateralHash": "2ff9b8da8e9e77eba40c2648d083f16f30d6dedd464d59a3c474a4c3c13fd9aa", + "collateralIndex": 1, + "collateralAddress": "XhrphYna3UBn7GF6MdUdQEUyQAkxWJwFmt", + "operatorReward": 0, + "state": { + "version": 2, + "service": "5.189.239.52:9999", + "registeredHeight": 2128792, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 3728, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": 2128859, + "revocationReason": 0, + "ownerAddress": "Xg8gh3RR2BAw7RR7rTTrBikXzAfG7GXSF1", + "votingAddress": "XrTDNCsnbVcDFqjuBCkfBBRFbbbCEmxrPZ", + "platformNodeID": "28cb6bb4e32bf45d3d366b641d988493e582ef50", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XoXLyMhwYWLHFbHJjerYRZDqNFo3ZdyYwm", + "pubKeyOperator": "b4050078bca5dbbb90621ce873f3023bc484c5548312a9a970f7a3501ebf6e7b07c7ccf71d798da7ca8a56a00318a3f6" + } + }, + { + "type": "Regular", + "proTxHash": "433adff1e9da3dca268bc5bcb92f95ecf492c9432aee05651ff3db47cc5997b0", + "collateralHash": "ef7f333981c4ade0eb2d15cc3587d0905fa615050c0d2272a16a3ccbf87688dd", + "collateralIndex": 1, + "collateralAddress": "XfTWyVxJ1gxzdPoju4j2EX87ANRAmeiks7", + "operatorReward": 0, + "state": { + "version": 2, + "service": "88.99.11.11:9999", + "registeredHeight": 2128833, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkBa5uLqnxEZBzp6eNe1msDmLa6zvDqR3A", + "votingAddress": "XbAU3ZhavAV28sujVwQaEWV5wHnrYB9d7D", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "b86b813f4357d374c4d28ef0f29a0848d88a522843f418d6d9b0d8570225bf26f341cfc1695561ebf9ded366e0fc9ec2" + } + }, + { + "type": "Regular", + "proTxHash": "19fdbc77f52d0a392eb6bbfbbb423bb3b33d5903b85e0e8239f20a22e43b22c0", + "collateralHash": "b2a631c4f3522ab4246f2381be7384cb6a5da0bac70d47b420c66bf139d624be", + "collateralIndex": 1, + "collateralAddress": "XyEHa5erTC6M7SyxXUdN6Dz4EtsUDNKqvV", + "operatorReward": 0, + "state": { + "version": 2, + "service": "95.216.230.100:9999", + "registeredHeight": 2128833, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XqvbK1UPdSU2WTGb8ZhUKbQmDV8kcaptdy", + "votingAddress": "XtgCDonxYLsAHsiTqfnpdAq8XX87YcJukA", + "payoutAddress": "XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2", + "pubKeyOperator": "88b7b30268f277c9d1bf57b47e5e1b58aea2477119f1b77974eadc2ce9c6c9180f81df39091ee8af2ac08a15a06cb381" + } + } + ], + "removedMNs": [ + ], + "updatedMNs": [ + ] +} diff --git a/packages/rs-drive-abci/tests/supporting_files/mainnet_protx_list_diffs/2128896-2129440.json b/packages/rs-drive-abci/tests/supporting_files/mainnet_protx_list_diffs/2128896-2129440.json new file mode 100644 index 00000000000..7d6918a76ca --- /dev/null +++ b/packages/rs-drive-abci/tests/supporting_files/mainnet_protx_list_diffs/2128896-2129440.json @@ -0,0 +1,3243 @@ +{ + "baseHeight": 2128896, + "blockHeight": 2129440, + "addedMNs": [ + { + "type": "Evo", + "proTxHash": "1133198f95fc0c393d5ca530bf6de45f143abbd9d849933cefe0abfae32cf002", + "collateralHash": "1a095723d1c6b2691dd709f52864e5137df82d205d623c1d73c7d4b0ec926c6e", + "collateralIndex": 0, + "collateralAddress": "Xnph4Ct6FZSJnyJjuf2cCJWmCrjQ1AvTh1", + "operatorReward": 0, + "state": { + "version": 2, + "service": "185.198.234.68:9999", + "registeredHeight": 2128997, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XmhGNNXm4xTMbwdeuf61hp6Y3KTXRFd892", + "votingAddress": "Xies9yrEGp4qvbzxvN439zP8PpAMHgZ3ST", + "platformNodeID": "2e3090a4ac86075e0b9fee5013d0cef6604bdab8", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XsqGn3EjgZWBDS3MxRtMH9ASUKJFUGjtSg", + "pubKeyOperator": "b434539fde8df359eaa88dcf61309dcfc56ed48edc7c6f8f220fd4318d5dd296de292f2903fdc3793a128cd7d83d786f" + } + }, + { + "type": "Regular", + "proTxHash": "0872c1d8640826217efcf453b89689b4558573c27c7b51d16b270affee79d50e", + "collateralHash": "23b51bf427005ca18cb061b15e1421733396d51f4f08ab367d00315cc2667726", + "collateralIndex": 1, + "collateralAddress": "Xp21Qf2VV4M5kAJrTgLUTSvUv5jrEoJqnS", + "operatorReward": 0, + "state": { + "version": 2, + "service": "188.40.184.64:9999", + "registeredHeight": 2129133, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XuNCAq7Vm4xxCoAyxZBax7EYa8hT1npcS1", + "votingAddress": "Xv1TVSaEUbTqmEaBywRdKiq7WYcvY7Kmdj", + "payoutAddress": "Xp21Qf2VV4M5kAJrTgLUTSvUv5jrEoJqnS", + "pubKeyOperator": "aa7cb4b4663b4c49f8bcaba3c5f0444c9919640cba17a7a328d81626bcad5129b5f8bd72f871504f8c59d50539575e60" + } + }, + { + "type": "Evo", + "proTxHash": "7afccfe4be5bca95906efd36c2e887dc64b74cc7548c3f3478c9656ef39d3b11", + "collateralHash": "29a01d9a6d1af558bc0ca9565f95cd52d45d6bb17a1664ee377dfa115729f654", + "collateralIndex": 0, + "collateralAddress": "XouPt7JUpfhhmy1Ren578qay5QzbAJXvbf", + "operatorReward": 0, + "state": { + "version": 2, + "service": "62.169.17.112:9999", + "registeredHeight": 2129138, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XecQzso1DYA4t597gB5eULQ1xyGV2Ucoir", + "votingAddress": "Xti8jrUhtuewsysknG8rJndRQsc9io2nmV", + "platformNodeID": "81bd1d1e8cac17268cfc1496bc2fbd5790697026", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XouPt7JUpfhhmy1Ren578qay5QzbAJXvbf", + "pubKeyOperator": "8d1a72a1fb26dc5932f89a3ecbad5c1b8a1856c547bd29dda92c4b6a297e592b8a7c539e3bd6479bbb549924deb41f7a" + } + }, + { + "type": "Evo", + "proTxHash": "285d6ac35857cb73bb7952a52887dc7afccde0043a344b973ec7621ae02f2a4f", + "collateralHash": "5c9fb6e2798fe0d870f44b4445e45e4f818f13f52132222ce814ac40edfbfaf3", + "collateralIndex": 1, + "collateralAddress": "XtKzT1nqqVUhKGedqMptM1P6xRU7ibBUmp", + "operatorReward": 0, + "state": { + "version": 2, + "service": "38.242.198.100:9999", + "registeredHeight": 2129287, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XkWoAzccFYJ7vwppjro4wbdkaZ42toPGnu", + "votingAddress": "Xc2gyXF82kH15DAgNGxCUKa72hmxFZDJA7", + "platformNodeID": "ece42e9804ca92d30df7ff07067479190fa53b81", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "Xi9x7W13CPTPwpibXPVivi9xorkEwsnxFB", + "pubKeyOperator": "b034928ff5e87c37753b034027f0ea8463cc23632000ec2179a297427f1b7a19fdcbcba573d69fc22b80944568a9efb5" + } + }, + { + "type": "Evo", + "proTxHash": "364ee14241a4adf0bb940a4f1bc13241738a5e818ab20d3b31f635921750c683", + "collateralHash": "c8b7913ff8aea6462d7488045266b4aafa5b6814bced9b36fe39d52b9c876d10", + "collateralIndex": 1, + "collateralAddress": "XjDbnxGQKFQ5di3qhZZLiN1GwGynaRUDpw", + "operatorReward": 0, + "state": { + "version": 2, + "service": "75.119.132.2:9999", + "registeredHeight": 2129437, + "lastPaidHeight": 0, + "consecutivePayments": 0, + "PoSePenalty": 0, + "PoSeRevivedHeight": -1, + "PoSeBanHeight": -1, + "revocationReason": 0, + "ownerAddress": "XwXkMxxvVqpPuJznxNezRTkVFtg3fTpeSj", + "votingAddress": "XjcbuDbCTU36VhRSKNACnD13rRnUfEZfRk", + "platformNodeID": "5e606c4d2491444f25d04a8e70754b637261a983", + "platformP2PPort": 26656, + "platformHTTPPort": 443, + "payoutAddress": "XjDbnxGQKFQ5di3qhZZLiN1GwGynaRUDpw", + "pubKeyOperator": "b06768336b6459c7c09224c4fc20398390a5ce2d5360c28e1d8e91aa2fa5477204c3e40a335de0758d4dcc576d060e86" + } + } + ], + "removedMNs": [ + "ceebc16ffe64010034f245ab95f555e059b188ae404d9112865830400e9aaabb", + "b6c70cced4618c5541a1f2567e6193fdac24e500e6e86b90e8532f5d34aae3d6", + "0b2b64480db7c23f166a4ee7d2a3badd86b82368ad4f92ef03d5f025e13716f3", + "2114709a1e09ed7f3811530569d61bd4a6cb9afdb923dba20097495acb61560b", + "c94165785c79e736bd151f213306c662930007269268d183c9692e5a94a2b8b7", + "384808300a9d977463352d92aa51e70c1e806a3e6c311075b7fd28ea83ee154c", + "731efb592c0cf2f68b233ecf375d915b5a91fa6231d28b551e587896a635e6bb", + "d453fb06718e30096cafcfda30d3031b3026cacabf6b99b46670ee6b3bc73ca0", + "76af7e6f5eb0dcc759379adb64bee92e451a1e5519aa16c0b66161225fffd620", + "a79882078a17ffd760597f074c92e3150bf310d3486aa7648d91f7b433e8e72e", + "0a4398a5366fa46fb1576ccbf20a7150437ffd24f4199b73217a8daa76c1154a", + "480c561544ba07032dc09bfa67e6af6148ff337ea467b55917f5f9af839934d7", + "f29321c4e581645b1ba141acb76680a37dec95cb588c9856c707c000f38a4c51", + "1eecf1e3242f1cd0d9dbdf2b9d1be22bf6b887b8f3677a55bcfd8e2e363fe823", + "02e8e46a2f03ba206cc046c7e9c60c42d47c91406cd97d1f25c1500dee727827" + ], + "updatedMNs": [ + { + "2af26b51bb03870c55e55979623ab44bd21d0e15b908a81f22dbd56ab7bb2bbf": { + "lastPaidHeight": 2129183 + } + }, + { + "975f3ed61f5ecb096509aa52b10fdc6a4b3b371d5d22835e393ec2a26ff36b9f": { + "lastPaidHeight": 2129270 + } + }, + { + "147050185386a7ee7704e7604a21da9de92cba117d8363f5b42b92ec39ab52df": { + "lastPaidHeight": 2128971 + } + }, + { + "98ce60b8e1c83ef38b590cc09d86937c3670731cbc7759ab9b1bd26bdbf4c9df": { + "lastPaidHeight": 2129420 + } + }, + { + "eb63f6a09dcc969de242a18dd7fddf8d494dee7fb6c9c841f4a47a52c9923d5f": { + "lastPaidHeight": 2129328 + } + }, + { + "1d33938842240c4c1890fe26e30b75c6e6fcd072d064c3e0d4d9f8790c4f093f": { + "lastPaidHeight": 2129216 + } + }, + { + "6e65d662f69dd6d24ef3967ca527245f43b080e13394f6d911ca86db63e8c0df": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129365, + "PoSeBanHeight": -1 + } + }, + { + "58850f9bc48710a4fea598cbeb023087ed5d0449f21a7aab54c0b815b664c45f": { + "lastPaidHeight": 2128936 + } + }, + { + "4433aa278f35ad23cb3fec5e26e584cbdd061e4e77414e40474c866e7678943f": { + "lastPaidHeight": 2129048 + } + }, + { + "bcf5209ca5e2774853d6945cde0b96d4c7ad8663f196734639044fd658e38f5e": { + "lastPaidHeight": 2129297 + } + }, + { + "711249399cbc59b314d2e7dd6b79695072e24cbf64a9514cd70a9feeb5dfe33e": { + "lastPaidHeight": 2129427 + } + }, + { + "34275283d67d69a588edafd85a75a7131775a5f812a419d7608997ed3764df1e": { + "lastPaidHeight": 2128994 + } + }, + { + "87d2c030f930329b3b3cff033e269b46aba863be5cf4de2a64200f3309d8b2de": { + "lastPaidHeight": 2129326 + } + }, + { + "d4aeeef5c7e16fa3e10ab669e854c5581ee149aa5dc9f75fde01d9ddb535e29e": { + "lastPaidHeight": 2129394 + } + }, + { + "5faa996478963f742cb1871fd32e637b2139e29013930999a2ce0c66a500f27e": { + "lastPaidHeight": 2129255 + } + }, + { + "f057263404fbfe75d9f2eafa90abfd697e5bfdfc6fb52e0677043142eb58fe3e": { + "lastPaidHeight": 2129108 + } + }, + { + "6691cdff0b1c6dacd42be799cefbdad3d23e94cbeaaa206b52e0bb587405c17e": { + "lastPaidHeight": 2129109 + } + }, + { + "fd30ac30170c02a85cd7ff55ce5ca82812926dd87f961100805b3fed4c5a815e": { + "lastPaidHeight": 2129259 + } + }, + { + "b09cfb1d82a643408818d4a02f491a7ed2dc66f074618706221f2f49f2bae0de": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128955 + } + }, + { + "b6ed31eddba613e94989f7e9c1404323d057ae27e06f26bbfe8f08d50a3a4dbf": { + "lastPaidHeight": 2129071 + } + }, + { + "9ef71a1e00b9605f5523c6557cde0b5a3d280b0101f419bf3f8029a3022c04de": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129046, + "PoSeBanHeight": -1 + } + }, + { + "12dd85ca6a817a8929979c5586f61654c9ade206c1efdae7f863f157ebe422be": { + "lastPaidHeight": 2129105 + } + }, + { + "b96e010c230161dafab91a4075a87d18ea954636543fb3147f64ee4dd979e77d": { + "lastPaidHeight": 2129271 + } + }, + { + "6be8ac01a06ec2c93d303b44413ce01ba05e6c14363ed6c4a443a6ba6d82475d": { + "lastPaidHeight": 2129141 + } + }, + { + "7ef1d0d40b30111cd71cd0697c71121d36dcee723c368f8f07c9974b0dbcf6fd": { + "lastPaidHeight": 2129150 + } + }, + { + "0fd63137e2bc071a00593dc8bbffa59a0a06ebb71650f12ca4eabd5ae2d9d2dd": { + "lastPaidHeight": 2129306 + } + }, + { + "1a6653fc218b4d84aa37cec26324ad19677257fd899bee35b237cd22fa7a523d": { + "lastPaidHeight": 2129296 + } + }, + { + "3ef857e664aef540716524ca88ec816c43c059e09e71d8770dfb4efe06f741fd": { + "lastPaidHeight": 2129199 + } + }, + { + "2925138ae00b8b79fdaa08721864d283404843436cf09ddbcda3f5a92ee53ddd": { + "lastPaidHeight": 2129218 + } + }, + { + "78fc0590dfa8f386b03d3d3a2e9e50b12c138997af115fc4c5347981ed70355d": { + "lastPaidHeight": 2129272 + } + }, + { + "89eeb928053abab8d69a68ac0483a05678a2548f95a03f75f7ca26170f26e0dd": { + "lastPaidHeight": 2129151 + } + }, + { + "ba5ae5f1a49ff5fe9aba98ca73417254eb05a107ff6b2b7f77862d6fd28eef5d": { + "lastPaidHeight": 2129069 + } + }, + { + "4c681bcdbf40fe443ee7b9cd2bb420cc94b40347eb578518667512d928b1e81d": { + "lastPaidHeight": 2128905 + } + }, + { + "0ce628a28068eb1381a9ece3ad36197297984a86ef44abcfb3c8431a957fa3dc": { + "lastPaidHeight": 2129115 + } + }, + { + "d7594236506fb97c87b598119a3c2dfac5186ee380e90b113a9780b63889cbbc": { + "lastPaidHeight": 2128976 + } + }, + { + "4bee92fb0fd27a3b23b57f67052d18fd18c6e616935545a6d0e691663c836b9c": { + "lastPaidHeight": 2129204 + } + }, + { + "0cdc857aaabb3c4652b274727764c5a4545515f732de096cd78605d314e1679c": { + "lastPaidHeight": 2129426 + } + }, + { + "4040458775dae2b9b210bc101783314bf1b9f1963093c128616a99d8967125bd": { + "PoSePenalty": 577 + } + }, + { + "526df51f2bf43ccb80350f720b555893f06c472e7df71da91554769fa004079c": { + "lastPaidHeight": 2129055 + } + }, + { + "5cedca64d83b6e11d34314639d62c7f355be1f27d9c20f5dd17add9d4dd0f33c": { + "lastPaidHeight": 2129234 + } + }, + { + "3d039ce62023346c62c2fe5f1cacb3a38678a0f54a2817931440d6c8e0856edc": { + "lastPaidHeight": 2129011, + "PoSePenalty": 2245, + "PoSeRevivedHeight": 2129159 + } + }, + { + "3f06e7c308f0476584a99bb8c687ddb52e5b62f5852fef243366f4336f53c2cd": { + "lastPaidHeight": 2129181 + } + }, + { + "213512f36fa4a31a87a2e7eaf3bd1136095f66c25008ebb1c3a6fb58a4fb67cc": { + "lastPaidHeight": 2129118 + } + }, + { + "c3a213b255a6321c441fa6edd0c6c47c774733c946a6fa619910b825226ecbcc": { + "lastPaidHeight": 2129286 + } + }, + { + "ff6eef134c820048043b923fdd68d73d0010f167bf63c7fcec80ad28b8d9e74c": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129100, + "PoSeBanHeight": -1 + } + }, + { + "7a26c877c1e2dafea292b54ae37c39be5c51f27b24fd7a1e5a634523b5526eac": { + "lastPaidHeight": 2129211 + } + }, + { + "31cc55e53f8e0cc890d3b9818e3298ff6d36481689a6308d184a5e49f42bbe6c": { + "PoSePenalty": 3037 + } + }, + { + "1bb846e890e938b9c3f9a0a0adc4eaa66d1fcf7d06ab4c397344536daf31be0c": { + "lastPaidHeight": 2129101 + } + }, + { + "77d23cf380b0005b3f57ffd7ef3913c9f142944327e95b40973a229d1be0f859": { + "lastPaidHeight": 2129265 + } + }, + { + "be38f8e89bdbe128f935b662ce2eedaabb7b194cf7a9f57481e2b5b81dd4a08e": { + "lastPaidHeight": 2129232 + } + }, + { + "3a21b44617555e59998b5c0421a24bbb7cb9cd923abf7fcf68eb8148548a198c": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129287, + "PoSeBanHeight": -1 + } + }, + { + "e0d7aeac3dab8ae5814f8439da21b29e9213af697eaef1aaa1c329f596f9a8ec": { + "lastPaidHeight": 2129158 + } + }, + { + "bd8920955f93d5a9a311b9dc4c8edd9c8f0b82a918ef8f2b2066491a50f2690c": { + "lastPaidHeight": 2129242 + } + }, + { + "6ba5ccd3e46d6700ffabee07cd53fe5d302c63d53db9603cd8a55e4c4264c4e9": { + "lastPaidHeight": 2129182 + } + }, + { + "2b1605c628323a4738c5eef5d640bde09eae6ac73d338d14ebf245a1d94b0ce2": { + "lastPaidHeight": 2129176 + } + }, + { + "31ce7e11cbcaf8596dfb73a68dd7bed15dff54d513896ce5682faa7e991267cb": { + "lastPaidHeight": 2129222 + } + }, + { + "16d040557ad124f9d9c99ed664f668df2b1d9931432d8180d3459dbb2bf35d74": { + "lastPaidHeight": 2128981 + } + }, + { + "9dd1c4bb48fc69cebd2ee4486dc3ab176ecc922a555c1b33791cdcdbd927db4b": { + "lastPaidHeight": 2128919 + } + }, + { + "20a063fdf88b36024774e05419248e84f09a76346c11378167601bca596e9a0a": { + "lastPaidHeight": 2129153 + } + }, + { + "de4ec2421addff6d4f16c24fb9cab0751e6a46dec809d6b4e0b100dfe32df6ab": { + "lastPaidHeight": 2129228 + } + }, + { + "bb3bb04b81ae33ad08517b64e61d553a1e19fa32439c5fc881eaeff9e0bfde36": { + "lastPaidHeight": 2129278 + } + }, + { + "a0c9b5138ac6709cc8220797fe818338788f85378934316d298c03e392d32b1e": { + "PoSePenalty": 1235 + } + }, + { + "12e46bce64971700da615da8c988a3e9fa887172900ffb35f267ab9273e31e6b": { + "PoSePenalty": 1958 + } + }, + { + "19faa586dee7a28f2cb35f679b41f4bf9e88f6496e07eb2ecbabff9ae1093856": { + "lastPaidHeight": 2128979 + } + }, + { + "bce2680a80746b7df509a720b64dbd4f6ac8ca0da53b340a3c7b953622f975cb": { + "lastPaidHeight": 2129434 + } + }, + { + "15bfd8c4f721a7b8e5b2b99b51847fd36f0a8a6696c164eeaa6157b140ac6d0b": { + "lastPaidHeight": 2129039 + } + }, + { + "5451bc97eca61f9bd705109d54b7d0247de1a916849b6244c8a42e8708778c62": { + "lastPaidHeight": 2129008 + } + }, + { + "b4073b8eb46369de8361e50ae829c24f7aae5b4c6d9a60853a022a7698acb88b": { + "lastPaidHeight": 2128991 + } + }, + { + "aeb85eb056a1d10a0d8b59668087dce2698aafb6388cea09d4ca8fedd00eb6c7": { + "lastPaidHeight": 2129227 + } + }, + { + "cd8a2d9237f72cefc921defec7f8752cfdfc1e8a19b87f768eec3265b1d872ca": { + "lastPaidHeight": 2129208 + } + }, + { + "1c2b19d136daa7decbea401eb14274709860b7f6ba01c17d328b4b92d631ebca": { + "PoSePenalty": 3728 + } + }, + { + "275b003bf05733b79b736c0a0f4eab4c466aa5a462532754f7ec597c80dd0a8a": { + "lastPaidHeight": 2129215 + } + }, + { + "c2b0580eb48013b92ba9bfd0bfe98d76e5490cb62d918a89cf82aa45d3ca9c63": { + "lastPaidHeight": 2129135 + } + }, + { + "793d8e852b1731563911bd6cd665332303f2759d74ae4d41648cd6c3bc34b1f6": { + "lastPaidHeight": 2128931 + } + }, + { + "e6ebdc7b2536e949bb72ed8a71984848d4a42257ddb9c2b562ed09a0ea9f61ca": { + "lastPaidHeight": 2129370 + } + }, + { + "add8ed572c5c8b4586b709af2c073fcac33b001b1143b4672943d5ec0effa52a": { + "lastPaidHeight": 2129047 + } + }, + { + "d07e1f491d48947fa2fe9b88cc0e01275c582f3d9fae361d2744c5dee57b48f6": { + "lastPaidHeight": 2129261 + } + }, + { + "0a7867ee2c48403f5ec768e99340727fb0fb83a74948e490a39d51e192c1af0a": { + "lastPaidHeight": 2129163 + } + }, + { + "2a9320c6379233cbfcc861170fcc76e32a7b6154460772472159fd79b699abc9": { + "lastPaidHeight": 2128934 + } + }, + { + "bfb61dd4433734074981c9eb44c6a59910d60891cafd9c4eb4939e44aa15e0f8": { + "lastPaidHeight": 2129050 + } + }, + { + "54d3fc8846edd4f3db916eb4ac2cc7f58e2f0067c9b7befa2fc856cbf2234349": { + "lastPaidHeight": 2129250 + } + }, + { + "09c37e3110ccefc0cdb8fa349f0c401ad2e687e4ec0eeffe07c39b5e087dc075": { + "lastPaidHeight": 2129186 + } + }, + { + "72716d7eb429acf070752b18eb95e7f53e8a6f4a719e5a3e94ab3fa5cd38c769": { + "lastPaidHeight": 2128993 + } + }, + { + "da0aacfded1e6ee8223142208049f968605a4d883acf8660a3d88aa5a4de4eef": { + "lastPaidHeight": 2129324 + } + }, + { + "e199dc8c539c324bb9881e986c6b5fdb0dec8bcc1b4ff9362f5f3416d464d469": { + "lastPaidHeight": 2129384 + } + }, + { + "7f855fedd2a0046f0f5ca5c6739d8efabde279613de0657e70307ded3766f725": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129396, + "PoSeBanHeight": -1 + } + }, + { + "08bef1551d9a44b7ed99b8f880963c67509868de7d8818acff71066f3dd3920c": { + "lastPaidHeight": 2129040 + } + }, + { + "043905d429eabc849fec92708a7337aed4b18f7fb5fba48cbb0a015d913fc893": { + "payoutAddress": "XmntdiV8AS9UxJgqVhgfvriKRzVNDwzFVP" + } + }, + { + "f914ab644206d427d2f8277b6d3ae5ffb024a79fc652a96a80d89873095af029": { + "lastPaidHeight": 2129353 + } + }, + { + "f1c86f973a31dd58069d83c9770829377f9794a6118b562b530a2882f8312227": { + "lastPaidHeight": 2129422 + } + }, + { + "70c88f398c2e10b7c026db5389431548fccfe77593d81fce7108c0bf6d8ab7e8": { + "lastPaidHeight": 2128959 + } + }, + { + "4c86df48d7e2d47069eece948c335205059fcfd2588350d9df6d857e7d37c731": { + "lastPaidHeight": 2129325 + } + }, + { + "25a8b283b81a0c3b2b3462cffa660b19ee6fcbfe116013705c498fed1bd52637": { + "service": "64.176.35.235:9999" + } + }, + { + "afac5e66e66e8dadf0e75be50e62d1842a8773ffa5a17357497358dada4d1cbb": { + "lastPaidHeight": 2129430 + } + }, + { + "703f82ab1e60a9b882451cf6b0f8bfce00fecf1c97d5b475b6564e49155e289d": { + "PoSePenalty": 1958 + } + }, + { + "d35bf81e3fd0e70f9db6e7f228fe6becdcf3fb0eadf407dfcc7eb2307d51cd2c": { + "PoSePenalty": 1153 + } + }, + { + "87e886c82eef44464e60683bb1b611cb2952fb190988c942b41bf38b3e282edf": { + "lastPaidHeight": 2129432 + } + }, + { + "9cf746c3fe9078681f2e3785c5c7bee5f653d547a95daec2072a52f1cf5bbb88": { + "lastPaidHeight": 2128910 + } + }, + { + "4e00bafbe9ae99b5b4ffc1d7791b94061cb5ffbde53434ec0e0d18085b56ebe8": { + "lastPaidHeight": 2129280 + } + }, + { + "6534b58e8a1c39b3d56a6af2fea0781ab48b2076febc6ccba6efaad6ee46b268": { + "PoSePenalty": 1153 + } + }, + { + "c79b739a4538f137c26d17bc0670e3ede98630171f08317185c3a33254abb04b": { + "lastPaidHeight": 2128923 + } + }, + { + "b63234d5dfc8616ac9c9667b8bbc1366e5908501f1086127b5c4351ca4443fa2": { + "lastPaidHeight": 2129148 + } + }, + { + "9ff40ce557f82f8f763b3985dd0a6aa84482827f52b1251c5f2ee682c6974839": { + "lastPaidHeight": 2129361 + } + }, + { + "c06ab623ce5fa91d5862f260d702e1d2bbd85dbcd8698834affccd5f5d48b188": { + "service": "91.199.149.177:9999", + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129246, + "PoSeBanHeight": -1 + } + }, + { + "d522b563f5d7d6afe653086f5ff2ff7626ca07661515cf6420f1e49ea06f41c6": { + "lastPaidHeight": 2129139 + } + }, + { + "deac81e38179b28a6078cb60dcdbe6299b70b13d0d632946c6df2b8f85a75383": { + "lastPaidHeight": 2128992 + } + }, + { + "e8a285c75be16c4777e7acd77101dd2ceaa2b71fbc615a37c2e0a5bd718e3989": { + "lastPaidHeight": 2128988 + } + }, + { + "04b8f3d920019be17e0c22e731e3d0e07c7d3df77f21506444f8ca68991a9948": { + "lastPaidHeight": 2129311 + } + }, + { + "0eba73fdb5dc4ba8d652d2d063b33f8e0304e0b85884842e05a3e5da06db8128": { + "lastPaidHeight": 2129179 + } + }, + { + "ffb927c847edb34e6e22154019cb3ae880041796de510037c764cedbfbee00d8": { + "lastPaidHeight": 2129195 + } + }, + { + "f815395ec4292d9b56a0f98f636c3192d9b5eeeb82f9df9051227db7fd876ca8": { + "lastPaidHeight": 2129281 + } + }, + { + "65e423fdfcdf0105e45cf9efd786bae90472a2332cfc75db484f4f0fa5aa5e60": { + "lastPaidHeight": 2128939 + } + }, + { + "5543983a394d7238d3ff51526343892dc9463c9910dcd9112916265cb16b6008": { + "PoSePenalty": 1153 + } + }, + { + "3c21a81af32a9ed044900b90548d751deb2fc043925594a856214b96d24f2bc5": { + "lastPaidHeight": 2129245 + } + }, + { + "b9b002693a41b32ae55be408392699520353db54b48f5fe29233e8b35492dbc7": { + "lastPaidHeight": 2129332 + } + }, + { + "24179655b900518789880c2eb1691e13d526cf5e9b2233a1fad50cf879887c2a": { + "lastPaidHeight": 2129221 + } + }, + { + "9021d7ff104e1ba375b5681b85ee4adc49b7b1e1ac1ccf66f889935ac3c88ab8": { + "lastPaidHeight": 2128995 + } + }, + { + "52d6bf22d13713d65a524fb6250b30ea3bb1f55c0c475c694b566689d0506c8a": { + "lastPaidHeight": 2129131 + } + }, + { + "0c0bcb449d7b45624f96011b54d86363792fe6ce97c44d6a0f396623c1eaa67f": { + "lastPaidHeight": 2129290 + } + }, + { + "68f509167fed4aaa486d3bb113dba62164a6952b486d208aa351ee42b70d984d": { + "lastPaidHeight": 2129084 + } + }, + { + "02477c8a4dcc67cfc99bca770ed800039f55794530ac708367aa9b4ea6459dc9": { + "lastPaidHeight": 2129045 + } + }, + { + "3dafdf7eb1f56dc7cf89b2ab05c4e1f9066e03d1894974678f7564dc0d17f421": { + "lastPaidHeight": 2128978 + } + }, + { + "47ba14d326e51f644a7c9b5b8a67311870ef9f297ee9a6215fdba7e5ef1a432a": { + "lastPaidHeight": 2129107 + } + }, + { + "c5c4612ee4dff316beda43489e5edb5e7e11d84796f07ac8d2a4bfb4e5f72b27": { + "lastPaidHeight": 2128945 + } + }, + { + "e58773dde44ad891c2d667cf67265d96b344e7f143199756269bb8111c7d39cf": { + "PoSePenalty": 1958 + } + }, + { + "eea809839c8dbfaf047a1cb43faa37a416271447d3aff27ea7ad93a0cd91ba40": { + "lastPaidHeight": 2129269 + } + }, + { + "9b987adc36c9a7476a90385498758bcd018f8761418873863a5cfeadf3c38327": { + "lastPaidHeight": 2129098 + } + }, + { + "fabd4c1e1dc01895f6a1f386151c67631727d3d8025f47315da3b211350e2187": { + "lastPaidHeight": 2129026 + } + }, + { + "217844f21811bd6b252a5b69f0aba44f340b2c51da923e20a656bfc8aafb8169": { + "lastPaidHeight": 2129076 + } + }, + { + "640368db560b2d3b6b5cb0d6396d37e16b250d024a028b62ec5b495e0b766179": { + "lastPaidHeight": 2129349 + } + }, + { + "b7f2027249cd854d61740c64d9fa1131f9ad848b9ca9182b28f310a7bb929e2b": { + "lastPaidHeight": 2129416 + } + }, + { + "6ae15ced830710a6df17da5e857fe2061169198504699e395388fda30cf30a48": { + "lastPaidHeight": 2129423 + } + }, + { + "630207b9bb7cd379dee63f05b85349068ea95c0910e4545f05e4bcaa16dd5ef7": { + "lastPaidHeight": 2129350 + } + }, + { + "b4c48bc72dcec182cf478f4e34d827ebd4e46ad6e551f6d3a13b44234b478167": { + "lastPaidHeight": 2129021 + } + }, + { + "1ec0015dc56c529bb161f7b6c196955fe368ea47d37d74ef4378f8a4d1aff80f": { + "lastPaidHeight": 2129116 + } + }, + { + "0e3818a4426e15256ded3c03b77b4e6b409fac5773acf1575fd9f30395fe2a7b": { + "lastPaidHeight": 2129298 + } + }, + { + "eaacbf8944cd96f2e273f74444f72025dcf56472726ef420fc39263f379088ae": { + "lastPaidHeight": 2129093 + } + }, + { + "5494e1866985d55136309f987ca5e7fe39e1f837e3c1d539aa0669e2f5038167": { + "lastPaidHeight": 2129017 + } + }, + { + "8105705677eb363af2bbf78011196ffc733896414c83af810cfd5c5cb82e7eab": { + "lastPaidHeight": 2128948 + } + }, + { + "28e7a809285a690c2f2cba0f1369000cb984774ab78c0c683fe5babb1beb2fb7": { + "lastPaidHeight": 2129094 + } + }, + { + "8ef3fc82dfa76ecca6e7c809e91cfbfe40f499c1cf58f0f52b39e2a7e06f3ad9": { + "lastPaidHeight": 2129244 + } + }, + { + "a28c652709db60303f54c2836e7a2edb33816d2745928abf88f27909f3744d67": { + "lastPaidHeight": 2128982 + } + }, + { + "476cc3d56d8b9d0656a2f2e2893bf410ddc7c616283f4a9b18dd062ccfd371dc": { + "lastPaidHeight": 2128996 + } + }, + { + "c565f5c98cdd2b1b21635f770351051b60791b268af69d4141c2b9aa3a9fa107": { + "lastPaidHeight": 2129398, + "PoSePenalty": 2245 + } + }, + { + "259bde9368faabbbc0dd90b03e63b86e4ca843188770f8cdc3c28fbe94f39007": { + "lastPaidHeight": 2129231 + } + }, + { + "52fc4d740991fa557c439a5d553ba0bd71f84675f41268568c33158be6405f22": { + "lastPaidHeight": 2129366, + "PoSePenalty": 1958 + } + }, + { + "aaa0dddee42cad41c5dbc71174ba93d1ac3aab8a46db047c2786310b3d06298b": { + "PoSePenalty": 2402 + } + }, + { + "4ea27896413c952cdef0df94f8875d870414a039b827ddacc60d703084cbe98b": { + "lastPaidHeight": 2129322, + "PoSePenalty": 287 + } + }, + { + "e0e7f6b2961b8f5d2634b71a72846baab89bd6b9b842e6cfd7da9a60aecbcdb8": { + "PoSePenalty": 1185 + } + }, + { + "d9a6f7544671fee2f823404e51beeaa1eee8b208b9bdeddb915d05e614484fc6": { + "lastPaidHeight": 2128954 + } + }, + { + "772f69fbb87538cbcb747be1c291e766628351327cce69ea323adcb63cf8d820": { + "lastPaidHeight": 2129197 + } + }, + { + "101301a6b8fe9474c7647f51509f0bd90b3ba3d6022cf7c09cb9bccc3ecdae02": { + "PoSePenalty": 1147 + } + }, + { + "9f195b87da7880f5a68e9015aa274dc9800dedf5438a06ac15f822435147b0cb": { + "lastPaidHeight": 2128927 + } + }, + { + "7ff19a30865c795bece203d8faa91c4422fe3f43ffe33794a03cd0be6853d3e0": { + "lastPaidHeight": 2129358 + } + }, + { + "e4e5b6b129207bc07a768ee9d50fd2defb8a1ac3710d73656ccc38613628db3b": { + "lastPaidHeight": 2129237 + } + }, + { + "e8aa2270d239b085e1fa4c95ac17d3cdb67fb6e3cc90aa8b277d99d05c1578e2": { + "lastPaidHeight": 2129154 + } + }, + { + "8e905d80fbfc7664f3a68619738244dac6aa8f925fba1ab659361f82b34280b0": { + "PoSePenalty": 1153 + } + }, + { + "83c629853f94c2e1c00221d88fde9f53dc86aefd9264cebc89e5062ccc5c3859": { + "lastPaidHeight": 2129274 + } + }, + { + "33c29b8f23bd3aa9390c5cd5012b2a1e872a77fdd450e847ba8a9a461f8eee60": { + "lastPaidHeight": 2129276 + } + }, + { + "e3b68ab54c808c5386e34babdc29dcf7a219a426c307eba15196228016e44862": { + "lastPaidHeight": 2129200 + } + }, + { + "a164e170fdffc8037e1f9436e2873df010a588e9431ae14554889242605bf299": { + "lastPaidHeight": 2128958 + } + }, + { + "b2f9daabac912b833f8499831a9bf80df4a8d9a3d8df6d3aa6ec41cff6e0c815": { + "lastPaidHeight": 2129052 + } + }, + { + "22d1fc2c14b2b9a7b92acb02b059b48433fd53233c47cd2c5a2316ef81327f72": { + "lastPaidHeight": 2129162 + } + }, + { + "3c24921eb673ba62eb48344f83e5f9d3f7c97f2a52b15e66a559f22c792fb205": { + "lastPaidHeight": 2129110 + } + }, + { + "2c41989563fb0caf8580c89afbadc6443a1b852a26971b4336681f34e4231862": { + "lastPaidHeight": 2129016 + } + }, + { + "7844e6d4aab7010d8f2e4d75da4c4cc4d927396414f681102bfb23d521f9230c": { + "lastPaidHeight": 2129066 + } + }, + { + "ffb44ddfe12fd80c16fe61d6bce14e15bf0b1692e586b6c4c49651afc938b781": { + "PoSeRevivedHeight": 2129383 + } + }, + { + "b494027b61e6e201c6c108e285b7ba1be56acb439a980196fb7b9b158dfdf7c8": { + "lastPaidHeight": 2128902 + } + }, + { + "a6f94a1a7f734183dbb31f21c61dee00437663f4ecca25cc1d388e8883646241": { + "lastPaidHeight": 2129294 + } + }, + { + "e77ad1f6f2021636f399c173ead5071fa9f5d1d8d9857f06e90279c4f7a27201": { + "lastPaidHeight": 2128967 + } + }, + { + "8a44f87f4068e9fcbbf48a27e9107fbb42fe9cd8b6262ba6683ec97530b36508": { + "PoSePenalty": 2245 + } + }, + { + "c646cdbf76e5d5b77ef99f3806b23bbffe885985d0bce82b3259742048bd55e1": { + "PoSePenalty": 1235 + } + }, + { + "12ad39cebf01b3a1bf8b74d9b4d0d2cf1f0c6e764a52ed80d9f66a73c8acda53": { + "lastPaidHeight": 2129051 + } + }, + { + "efffdcf217ab8668fb575b4b68b9e555d0e2dc956714579cbc998030507410ec": { + "lastPaidHeight": 2129145 + } + }, + { + "2fdc05323d018230298adbb7bfe9d9aa74c36aafe6030187d3c078062947a70a": { + "lastPaidHeight": 2128949 + } + }, + { + "8284ca5217c4cdc9f1c055bab3b089b6a8400f59ea81001d676034b243636674": { + "lastPaidHeight": 2129006 + } + }, + { + "d46b2b3c5b48c69a76906e4760026c272974a3d8adfd895af15fb5f7b554b236": { + "lastPaidHeight": 2129189 + } + }, + { + "7301ea2a6f1f41a88280b4fe65cc307ecb1db32ee489252fecf816f87c2449c1": { + "lastPaidHeight": 2129219 + } + }, + { + "c2780a4f92e3aabc0f3de4ce4ad8bf8029472d1e6d50a9638e96769cda133890": { + "lastPaidHeight": 2129287 + } + }, + { + "41c2796506348522794b000a5a7d24e2b2395c6fa856cfafedad3dbe564f108a": { + "lastPaidHeight": 2129314 + } + }, + { + "7e8bf9d0b3c8e7ec56c179facf2d20f63e13aa4ff0d7f5c78f489423cf5f92ed": { + "lastPaidHeight": 2129086 + } + }, + { + "b03483417f6ae162b17502414de14e004d1c1532d4b31ecf893bd9a9385e0c5f": { + "lastPaidHeight": 2128903 + } + }, + { + "2a2c069f92e18fc642a323593b5ed4cbe0426d3d1f8d181ee726767d641808fd": { + "lastPaidHeight": 2129381 + } + }, + { + "369d281ceb4c4a25332c7741397aa7d815f210d6e379a155bc72387c41f52b61": { + "lastPaidHeight": 2129128 + } + }, + { + "29d9c0f9cc304305eeca4a95ee3f22f6b8a52b9301c333ce48b1257942fa3fd8": { + "lastPaidHeight": 2129034 + } + }, + { + "fc9630c1a23f70c94b19ffbcb1889eca8870d7c1f65a232f7ac28a9557b651a1": { + "lastPaidHeight": 2129082 + } + }, + { + "7afbd798bda1e97548af7600c8aa63fbcf424285911a89d73fceb8cea869355f": { + "lastPaidHeight": 2129217 + } + }, + { + "d1aa0f8d745d9ba7fb319685b22438fc70c64183139467b0ba75a0a83a94f1f9": { + "lastPaidHeight": 2128953 + } + }, + { + "36c3e571845c0e2530b36c85e285ecff5b752c0eb84c9d5debc11b0265d467a6": { + "lastPaidHeight": 2129282 + } + }, + { + "203c497413026e429fdef12b99370b59648bc2c0facee3604d3c3446a81bdaa7": { + "lastPaidHeight": 2129320 + } + }, + { + "84623586ec667faaed53174e1252ab26c5283e768cda0d0f9c06a63997b7aaee": { + "lastPaidHeight": 2129333 + } + }, + { + "51fb0711d3b699baf3aa6603742ecac69ca7ffa66b3783a2451e27372c73a0e6": { + "lastPaidHeight": 2129169 + } + }, + { + "51ea0323ce5b375624ea6c43750023e5ec616261b1454a4d663f8908d4f4bd85": { + "lastPaidHeight": 2128921 + } + }, + { + "e4bb242753bad98939b0174a1b3354455e57a944abe77e8cc208435ad68cb8a7": { + "service": "139.180.143.115:9999" + } + }, + { + "70dbc59946857410916bfa7bf90f128c463438a2a78ef7a11d8a6cf19e6b2aab": { + "lastPaidHeight": 2129180 + } + }, + { + "244a01ac9d648b12be6c216ab748a5e609f7a609f4ca60258f34816dd472f125": { + "lastPaidHeight": 2128908 + } + }, + { + "a3087f7bb52d9609cdc5c1e489bea53abcedadffbda71e1ee271c532b24f4536": { + "lastPaidHeight": 2128962 + } + }, + { + "944cef7c21c3d6da86e0b627cc1ec1574dd8344549533cb410171d1db2a3f01e": { + "lastPaidHeight": 2129184 + } + }, + { + "7bec5ce500d80cfba0ad5e1c2ac54bba349b4242fa2f9188d824b0084291885c": { + "lastPaidHeight": 2128946 + } + }, + { + "360186441914d7aee8d160fd5f1538e6a81c738d34439e4b92218189f4db05a0": { + "lastPaidHeight": 2128907 + } + }, + { + "0062e548ac39d518de7b74b9ea92cf6735a8699a3d70896e533dbb5167aedd0b": { + "lastPaidHeight": 2129275 + } + }, + { + "aba7bca5e1f3a816922a32c316a2e3f936b1f40e357a75967985d13f03a55d2f": { + "lastPaidHeight": 2129193 + } + }, + { + "4810f2a149542152bf4a82bdb4fca6e74407dc5d538ab2d69787761822f4ff12": { + "lastPaidHeight": 2129137 + } + }, + { + "62472f43d140786abf3ea0a02f5d9879604ffe7f9552529015bff335c3382159": { + "lastPaidHeight": 2128941 + } + }, + { + "f0adc9a04556423c8fb94cefca91dc6cc44bf5c047a63bf325b10f8a64b11180": { + "PoSePenalty": 1153 + } + }, + { + "82acb850f60678b0aba281c57b0189caff10d9c52c8a13a3b216fd6a794b7465": { + "lastPaidHeight": 2129064 + } + }, + { + "3588ccaffdd398a02337f25b8493d9f366ae141afa705ecc2e1994911d76686e": { + "lastPaidHeight": 2129177 + } + }, + { + "9a8aa10f1b62a4dae39e173c21995395c0b5ae33a708d0c1faa8188ea17cdc20": { + "lastPaidHeight": 2129385 + } + }, + { + "8f3c31571df00f49027536bc5748c662b85440530cb5f4c2073c9e9cfc1171c1": { + "PoSePenalty": 577 + } + }, + { + "c1d0788e79377da74abe477c7e5b391a641a3d6af4e7f14e183be4f5660ca36e": { + "lastPaidHeight": 2129111 + } + }, + { + "b2e4d784149c04c5aaca458510c686514f05ed8b804ce4cae95f486c15404800": { + "lastPaidHeight": 2129327 + } + }, + { + "6bd7bebca8469ca992bc5093646dd61269c3f27debfd20b0a134cfd35e0d9976": { + "lastPaidHeight": 2129031 + } + }, + { + "4aab9e77037099861a0964d696b6e2efb23f4152720b7161a828f5e8684432dc": { + "lastPaidHeight": 2129072 + } + }, + { + "944bce0e7fbf4040b63c4dae169cc595626cdf7758b9a88830995c3e6a66f40a": { + "lastPaidHeight": 2128990 + } + }, + { + "9978a995672fb6397df7eb97b0e24d0ba7aa489d3dad7edebd98bbf70824f941": { + "lastPaidHeight": 2129403 + } + }, + { + "2eee5b0d827572026c8fa66ed1c24d55a1c2821f2fec1aa8afd400ddf3fd2543": { + "lastPaidHeight": 2129185 + } + }, + { + "7d31e8ddc12027bfdf944650da55467707ff5f3c21037b3bc00b280a739f4f05": { + "lastPaidHeight": 2128957 + } + }, + { + "f734e0442fa86044dda22d5f86ecc3f3bbb18aa705a2f4d5d242e32145f9cbcf": { + "lastPaidHeight": 2128943 + } + }, + { + "23a697e38591825c2fa01c36a6934610fac8194ba1a8fcfc6629229fe6f7fe00": { + "lastPaidHeight": 2129155 + } + }, + { + "0195552213c967569b6b0e31a40974b454b3a3642d1b5a2d89e20ee32c400c08": { + "lastPaidHeight": 2129042 + } + }, + { + "be4af6fab2cd48941b4ba13110cd4843090999ed9a80bf5228c34143042927db": { + "lastPaidHeight": 2129428 + } + }, + { + "72748112269647ce039fe5259a64d877605e205f050b99e28345874a5f168df2": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128927, + "PoSeBanHeight": -1 + } + }, + { + "4751df16672c92c84e0979707c9acccccf84088829edbc618def4e60bb79c8e8": { + "lastPaidHeight": 2129299 + } + }, + { + "4089f0ea972dcb9a1a8f2b315e218103950b3a95a8fb01f318f73b04610df800": { + "lastPaidHeight": 2129152 + } + }, + { + "c75b5aaf2a9c127b3f4199d4700abc1eab9fb8ebdf31b4d296951ce395bd52e0": { + "PoSeRevivedHeight": 2129238 + } + }, + { + "d8e26e34c39d79a98ea086e9f64439a7ebabe9626280655c8e4b0664d8766813": { + "lastPaidHeight": 2129161 + } + }, + { + "85237145429f7a234a6572848d01a65fb216e423b6a9cbcaba8c5b09a6ca30a2": { + "lastPaidHeight": 2129027 + } + }, + { + "22f1542de39d1582985cfc7b8d9bba012f52e254779995b84989c5f059816566": { + "lastPaidHeight": 2129025 + } + }, + { + "d0de9450f5d99452c59c12135cc6373c7077255d9aec6e0fe6e4d9a12a5890bd": { + "lastPaidHeight": 2128911 + } + }, + { + "00a6aa2d8bc371d4577c887a5c68003b75dba238eebc9c6d76941b1e7b7a4304": { + "lastPaidHeight": 2129319 + } + }, + { + "eb48654887ae026a1df63a93d322e5e2e67fa4ce32c039b979b0ea25bff3f1b6": { + "lastPaidHeight": 2129262, + "PoSePenalty": 1153 + } + }, + { + "70ba7dc69fccb7eb1a2e351535b89f56d58f9bb731de6522ffa9eadcdc0e649c": { + "lastPaidHeight": 2128938 + } + }, + { + "e7ea6db743a83a34825d0958c7366ddd80053d7e97232597f81f8e0d85570b20": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129318 + } + }, + { + "6b2667c03e63898236ab4b39f153204eab7c688aa440fca9a6bdc72cd44d6016": { + "lastPaidHeight": 2128955 + } + }, + { + "b7a0542418989eb2ce6dbfa58fcc94cd3880b8026564fd37d478854a73333aaa": { + "lastPaidHeight": 2129335 + } + }, + { + "857de59d343bc73ae32955d92f4e551c2baa07ead908cd01a4a74cdc177abd7c": { + "PoSePenalty": 287 + } + }, + { + "ddee1b7ae6687d90e825ad03d9a371cf994f796e40d0755e55116d0e730e2c8e": { + "lastPaidHeight": 2129410 + } + }, + { + "b385ad38ac251a732e38e066f49b9c442f625cef784fec86673de7d53c0fa4a0": { + "lastPaidHeight": 2128944 + } + }, + { + "d1042d345d562ebd3857efa2906518896ed30fccd1ead3d783ba2a8fb9cbee13": { + "lastPaidHeight": 2129018 + } + }, + { + "b029f5a707f3758dd2eda1513833e5bb3ebb82bea7f838e92c36cb938600d409": { + "lastPaidHeight": 2129226 + } + }, + { + "f185950e61fe261ac02c02efcc3f3851300c81cac64621edfc8726d5a0f1a310": { + "lastPaidHeight": 2129192 + } + }, + { + "08a0381c156734feedaaccba8ab0c3271c749673466d84bbf575e340120b9c3c": { + "lastPaidHeight": 2129175 + } + }, + { + "71a44259b4ecc2495ed40ee021a3be7ed79c162b23fa30f5b930222f0c8d8668": { + "lastPaidHeight": 2129088 + } + }, + { + "a69548e3df63ca468ea46004ba22d8cf0e702a507461f93b4ee570ef5adc7efd": { + "lastPaidHeight": 2129220 + } + }, + { + "53f5c40acbf3acffca748f1daea0090706dca5ac2abe47b59c4a0cafe5e69035": { + "lastPaidHeight": 2129202 + } + }, + { + "3e75b887ff111eebdfd6389fc26d53ff01d713de50ca0d0c36af8d2cc052c0ab": { + "lastPaidHeight": 2129077 + } + }, + { + "97eeaa0cf086a2cfbd3bb0cf04d837a450e051cdde8565f0262853f0cd4d40b7": { + "lastPaidHeight": 2128983 + } + }, + { + "a7e58e2306e818c18fabf79855f5edba16062cb6e83d581ba84991eaea03ce87": { + "lastPaidHeight": 2129285 + } + }, + { + "d59e0a0701987661dd7466b63cd06d8cd8b6a880e437c069d0cd39de20e06782": { + "lastPaidHeight": 2128998 + } + }, + { + "712355089a257f3ed2fc1b0351e1af60f17e352d0ff88b201bf06e8ebffe64b4": { + "lastPaidHeight": 2129404 + } + }, + { + "865f12671bf4517bf46aa3d27bcebfb4d9a97f76f70294e5a9c88ea3ceb62221": { + "lastPaidHeight": 2129053 + } + }, + { + "d78030040e0da53e6866eb004082570679917dcb2101f46053dcb8869f99d957": { + "lastPaidHeight": 2129373 + } + }, + { + "27d302288df88b929cd95d9609111641fab19c017de0c793d0be9318162b442b": { + "lastPaidHeight": 2128968 + } + }, + { + "637df4b65988e80364bd0f19d9186d0587069086ecdfae0735981c2ce8ec6360": { + "lastPaidHeight": 2129317 + } + }, + { + "59c1b4e2ccf90a6d8b282748bd198e9180840937caf17765cec3e490455d71ae": { + "lastPaidHeight": 2128926 + } + }, + { + "9b255da43c2f0b9f73b449b91765600c8d4e6d05d22f82675fc48abf7596a581": { + "lastPaidHeight": 2129033 + } + }, + { + "8bc76ca7a979ded6171e6a0bd9bd2a43dfa052e7b54b092d9862db52efe38726": { + "service": "158.247.247.241:9999", + "PoSePenalty": 2190 + } + }, + { + "e24356683d558366e713a43f1138cd3d19480a0a96638b52a7a1c081f20ddad2": { + "lastPaidHeight": 2129024 + } + }, + { + "f184c431b25677870bd83d1cb49d5ba6a68d3d4ffff464301e3d3b3b066afc85": { + "lastPaidHeight": 2129378 + } + }, + { + "9db07647ecebfd67b71a6d015ef373353641ed189b1157420ed9a4f1559b7c7a": { + "lastPaidHeight": 2129126 + } + }, + { + "8b447ad22f5068a9f7fdd46a3aa09387d53933f56b9d625d0c1981888a92afe0": { + "PoSeRevivedHeight": 2129390 + } + }, + { + "1dd4ec053e0c6fc74c9ff8f45fb6e2440c01cf94f1f9a67bc55a2b47b5ed3f81": { + "lastPaidHeight": 2129268 + } + }, + { + "4ed230fee3311079c53b0415c81abdddef33ff1ef23a3fff736d0dfd1319e6a1": { + "PoSePenalty": 1600 + } + }, + { + "ee22f5bce3b6f8734a664ba7be36b1bab218eda764136691e8b506003a7bb662": { + "PoSePenalty": 1186 + } + }, + { + "e88d13ab3fca65e393dea5706f6c25f20402f5b4254c332d047bc1811f7f9fc1": { + "lastPaidHeight": 2129243 + } + }, + { + "c626c00656f86d62ffa9931b1dca321e6b58753f1f644ab22a7f0a90b8bacb09": { + "lastPaidHeight": 2128987 + } + }, + { + "578096aa8c9e9cfce7b0f748e189ceec54c73d3a5f8f5c49046720495fb510ea": { + "lastPaidHeight": 2129419 + } + }, + { + "ca55f40df5dfda162d7055663ab76f206e29b3546100a926f7ea47a0c1328ee3": { + "lastPaidHeight": 2129149 + } + }, + { + "76b9f786eaba46f2a8dcac22f4cef32a17276c375b823225ac28ba5435433bf2": { + "lastPaidHeight": 2129041 + } + }, + { + "e6a62a34e0473ee290730ba87c13cee45a34ac75c369bfd7e15a2f6156db8e57": { + "lastPaidHeight": 2129392 + } + }, + { + "a569acf816ff49a72c18a62bdcc59bb95ed962c9c6ceae2fb4006e30d1946700": { + "lastPaidHeight": 2129251 + } + }, + { + "2a0ddd14c0aa7d1479f784f6f0056dc6ce5582b4bacea8cff1a1c241da395056": { + "lastPaidHeight": 2129279 + } + }, + { + "03e0ac65173d68075ce818dbf01c7b46fc8e9b1d242a3a4bf732ae6ce6471a80": { + "service": "66.245.196.52:9999" + } + }, + { + "5c8b0881a67c1d164ed343095554c73b986d37004f941d476889f5a0c3c0e0a6": { + "lastPaidHeight": 2129413 + } + }, + { + "7544ca3b9824d54cab2053d999caf770486db4fea1f2a4dc95bb84ccd417f542": { + "lastPaidHeight": 2129246 + } + }, + { + "191bfab0a0dbaabd77855a7638aad22574a825936c8793deab47113869874284": { + "lastPaidHeight": 2129207 + } + }, + { + "583a55a9ab5857352e142cbb149a33dda3c2da2350d7b22b0d83d4b808ce4184": { + "lastPaidHeight": 2129089 + } + }, + { + "7e2e02e600a83109de4b7458e6b8a77aff6421a89a70db82d5f2910e21072ee3": { + "lastPaidHeight": 2129330 + } + }, + { + "8f8dc8da08b5771fea3705cafe0f1aeed759bf896aec7ad281801bcc876299f9": { + "lastPaidHeight": 2128964 + } + }, + { + "afa66dabd439ceb70fa897589550b3c3416744f6d1b11421ab38f7dd85952e42": { + "lastPaidHeight": 2128925 + } + }, + { + "c52b252703a7c07359a9b4c9d057c9b317ff08af1d963b304120fe0051f850ee": { + "lastPaidHeight": 2129307 + } + }, + { + "a04b68f20480d8d66efeec22c357ba77f115793ada782e20d5c33fb33c32d7f6": { + "lastPaidHeight": 2129196 + } + }, + { + "8ea0bbc4c97280466cff584a7a5bba3cff590afd824be1cfac0bfe009292f1fa": { + "lastPaidHeight": 2129013 + } + }, + { + "43476324e6fb965a9f497fe2c746b92294286065b9cf8dcb8d138241ba044162": { + "lastPaidHeight": 2129388 + } + }, + { + "5bd3e0d5483c632e3cc01a1b4383a3d19ec7a5327eaef851dd438f5448731cc7": { + "lastPaidHeight": 2128933 + } + }, + { + "71f33163403d54af9402b5e9e46384b2f828120f0ec9d370cc08b3aec4e92fd9": { + "lastPaidHeight": 2129389 + } + }, + { + "d9cfe687fea00dfe333761b03c033851bcc2ecc0c36e490f887d93359e21e3c9": { + "lastPaidHeight": 2128952 + } + }, + { + "56852e938fbd90db9dce85b7eaa114df017f0c1b2c6f1fabe7801d73271517ab": { + "lastPaidHeight": 2129157 + } + }, + { + "fb214e914de22c716c8bbe724236e3f3dfa437edf4bd644fbbdefb35ca415add": { + "lastPaidHeight": 2129342 + } + }, + { + "fd69326e35a79545df532ad99cd821f950f878ef37df37b555b4624b71b1c2bb": { + "lastPaidHeight": 2129352 + } + }, + { + "b9033fb3593219ff1ec52aed9ad24043f222bd3ce6970781a52b473b90826f65": { + "PoSePenalty": 1958 + } + }, + { + "ae54be6ef488ed301c0dff27bc67fba27d6462d29ca1a0cf7c30570b0978f008": { + "lastPaidHeight": 2129316 + } + }, + { + "b76603556d6872b9cb85b56dcffaa75e202dcc969509a5bdfb6dc07eb9e1112b": { + "lastPaidHeight": 2129119 + } + }, + { + "f10b640b494b5be544f3af48b72021279e4100bbce3cbf3b42364032b67ec481": { + "lastPaidHeight": 2129415 + } + }, + { + "58265b9c9346ab99b3e57bf552d6bb57d7fac76b2f98a39d1172de1fb93ff17f": { + "lastPaidHeight": 2129065 + } + }, + { + "69ec16c416d9c65714190e3bd902cd353f8db71350bc07c892e291dfd493a3d2": { + "lastPaidHeight": 2129409 + } + }, + { + "c104bd80860fc0b13ea0e1b8a6c47956df8a0aaf7f0b8737330c081924b7e9e6": { + "lastPaidHeight": 2129437 + } + }, + { + "7bcfdb45218aea9853daa863984c0a1b8ba9cd72e02b3219ac31e091076a4389": { + "lastPaidHeight": 2129097 + } + }, + { + "d0a0287cbb80560b4416e344bb37af90db30c52d808108e8242a7c02e0a8d938": { + "lastPaidHeight": 2129074 + } + }, + { + "69c9c09918f7313a13155811935e77aa6f9f72b4db0de31efb5df2bb8acc1b80": { + "lastPaidHeight": 2129321 + } + }, + { + "3d5e8d50d0ddc4e948e6913d21700f4e45b5448d613cade53908a4820c5a48c3": { + "lastPaidHeight": 2129417 + } + }, + { + "28b4ab8c030635d847eb11281d04a3327bc570e0c2f6f12b0ea1540898aa0740": { + "lastPaidHeight": 2129117 + } + }, + { + "bc8c58c5c2fb325345321d5c4a984bb30d13b794a23515cf34ed24a940286902": { + "lastPaidHeight": 2129091 + } + }, + { + "a7a8be1fda31a5e5da66b80951a90beba7f0f39c300e524d89869fc40d33b5ca": { + "lastPaidHeight": 2129310 + } + }, + { + "57eb2627121afff87b1378dedef3b4b36984821316ed720ebc9a7beb557ee722": { + "lastPaidHeight": 2129387 + } + }, + { + "d729734d778e99d9379efd1482cf1cba5a0b954de9f5390c8073a2e9b52813c2": { + "lastPaidHeight": 2129029 + } + }, + { + "d91fb1eb92da94094eb6ed73418e7436d0908e684b5329dee02dbfed02f8c481": { + "lastPaidHeight": 2129014 + } + }, + { + "85ca07dc2107988d0903d144006743d29e8701c6d90c3e46b6e8cdf60f6f738f": { + "lastPaidHeight": 2129007 + } + }, + { + "a36e376199e47433d9149624c4feda21103b852d439731f48740a4c61a798e3c": { + "lastPaidHeight": 2129201 + } + }, + { + "462aa6ffd298b36d06f8fe5d600fce321c78792a7af67da08797ef2687945262": { + "lastPaidHeight": 2128956 + } + }, + { + "9048d48382b3cc2a7fad5ddf794fb3b7e6b382d7b416dc462a9f77d73082376e": { + "lastPaidHeight": 2129440 + } + }, + { + "597c503ed0ba77b6a440c5a4f11021300ec16d665de17ebdf6455e743ef759c3": { + "lastPaidHeight": 2129249 + } + }, + { + "d973d8f9080fb6b29bfcf362b5bb13a756eb400d7bdd3d9197aabb811a2045cc": { + "PoSePenalty": 2245 + } + }, + { + "58b38dcb81ddc582ef54b94ce8a7b847ea15728e5612be42d45513e3110d7f34": { + "lastPaidHeight": 2129301 + } + }, + { + "9ca6b0a82b687929e97ecb074be77eb22f106f60adc55cee8485ab6a88a980b2": { + "lastPaidHeight": 2128960 + } + }, + { + "9ad5bdf3563cdc1ebd523fba68deb56dfea62cf4d5512ded421fcfd5bb681650": { + "lastPaidHeight": 2129171 + } + }, + { + "9669de13a19f9b17e505c7220ea91bba016a39f836d0b74dae97be2f1a52a1ec": { + "PoSePenalty": 0 + } + }, + { + "dcb7a6d7eeaa524e4f4c8659bcce17d4c275b841fac468ee84cae7afc1f18dca": { + "lastPaidHeight": 2129240 + } + }, + { + "516c384e7544561a4e3277dc8888669ef9468af21b62d9be4d667376403c8b66": { + "lastPaidHeight": 2129436 + } + }, + { + "d0427bf21db161a8ebfe2f6ced4db2432ae8b56d3144840779b6261a72ad1188": { + "lastPaidHeight": 2129070 + } + }, + { + "9c8c773b9029e303b480f5b25eb24cd59b407d862c581c18b317ca097b2712c2": { + "PoSePenalty": 0 + } + }, + { + "ac8d70898dfe492cc9e8920c193687277dc4ffeaed15943898d19ec091eec645": { + "lastPaidHeight": 2129347 + } + }, + { + "6d5b2711a032820005bf8a631d445dfea69ce458ddbc6c954e6567ab02b9974b": { + "lastPaidHeight": 2129095 + } + }, + { + "431fb10dfe87bbb8c4d5cec90091461a2bc7aef52e4c6ac245e727c3a5c319e3": { + "lastPaidHeight": 2128935 + } + }, + { + "20ea325f10633a43c8856c522c47605eb25c2985af2cd9997a722e2fe26f36e2": { + "lastPaidHeight": 2128920 + } + }, + { + "974d547b0d3971eeb0c56780a4144443b75f684a488dcf222c97674ff3f4d338": { + "PoSePenalty": 0 + } + }, + { + "89cde952d0fef3387df4860df2bf06f731410d3598ff7dc312c12a52e9b5ff89": { + "lastPaidHeight": 2128947 + } + }, + { + "86147b250d902d4e120e02dbde0caac254de64c2b5fb3fee41dcf175b58e0745": { + "lastPaidHeight": 2129100 + } + }, + { + "c88167756f5cd9f3dff8283a1441cb917bff817ac6ee0ade97de0fefa79d83c9": { + "PoSePenalty": 2245 + } + }, + { + "4ac57f68ac0e9c15e02d1023f3aecacc554c65525bcf0762972de51cef873056": { + "lastPaidHeight": 2129414 + } + }, + { + "19fdafc6cd50b1a396f079b3141f42f9aba962ce100cce5d4b024a4157727dea": { + "lastPaidHeight": 2129260 + } + }, + { + "1cd70c43e622095e5375ccb6720997c31c34c6f8b89a13a5eac0c132f5fda3af": { + "lastPaidHeight": 2129315 + } + }, + { + "d84727318b91299e7034fd709ab447a04ccd677ad1a1f88aaa3930bdf5b64ee2": { + "lastPaidHeight": 2128901 + } + }, + { + "a3d855d9a84ed9ec36993fe87635fa6e3e2089f5b18286297dcf827916ef34ac": { + "lastPaidHeight": 2129132 + } + }, + { + "61153d402efb4a83fc26ce11c5735427645f80142611b109e58f5fc5f375e3c4": { + "lastPaidHeight": 2129061 + } + }, + { + "275bf5b7a4b0af971c523e34607c23e08db28df29779a6c289772498c48ec9fe": { + "lastPaidHeight": 2129363 + } + }, + { + "e5ec99f09a8b35d31d82b250d6d116f2cf08a327331b1ddbac65c8b0f57a28a0": { + "lastPaidHeight": 2129329 + } + }, + { + "e9979f06fec963cc22ca977087d650b3f7aef76cc32a50fb8e44f532d2411c03": { + "lastPaidHeight": 2129133 + } + }, + { + "eae5b1c863af17227ee1673d483963d42b2b8e4f6d600223f19ce75fbf95f823": { + "PoSePenalty": 1648 + } + }, + { + "a0975da9ad342a40d68be5cf2dafe63e880b44896015e760fb55c01091dc607f": { + "lastPaidHeight": 2129235 + } + }, + { + "0505613f4db057b922a096c6b78f3fb001f5bb119646972e8d6850da569cfe2f": { + "lastPaidHeight": 2129364 + } + }, + { + "294a325bac5c9d58c280ff5405f8356a0d4787c9a2201401664d999123ca99e2": { + "lastPaidHeight": 2129340 + } + }, + { + "15f1103476a45bc0d248dca367bf9fc5c79cf1db810f78be8b2acb7e3ca8e83d": { + "PoSeRevivedHeight": 2129228 + } + }, + { + "e8e503185b89ee6cbcf432cf5e91d91db047b789ca14cf0c14b1e5f87c8e25c6": { + "lastPaidHeight": 2129173 + } + }, + { + "42b9dc6d9043ff38ee58f64a945d4d713467e220e18e1d32a5a1d98acb4eaa8b": { + "lastPaidHeight": 2129198 + } + }, + { + "3f892c559ddf354a7389e3652fa9a9ff72172c5cd31e40131a2c6faee3326203": { + "lastPaidHeight": 2129376 + } + }, + { + "6e27739c5affe0ec30090b7be387ee817a429bac2fa5a2ab0d351ed4c7774e1c": { + "lastPaidHeight": 2129372 + } + }, + { + "f5ebad648498e8953fdbc14771ced083abf29fcd018d3258e1bd3565337b0c2c": { + "lastPaidHeight": 2128899 + } + }, + { + "174defd7f00894efa75a025315106960e5538a62112d9850f6f1b2940446c2a4": { + "PoSePenalty": 304 + } + }, + { + "c4f10ed9ebb9cc9dc01f28925728b5d4f438dbff52217ca95374884a859e72c4": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129046, + "PoSeBanHeight": -1 + } + }, + { + "460ecc6c1ab6fce1ba4fd88384cae19b988bff82dfae90777ef17aad7c61fe23": { + "lastPaidHeight": 2129205 + } + }, + { + "b1aa779c9cef8e2ca84fa9f2a8870463cb11300f4ffff0a4bce25b7b57eb2d01": { + "lastPaidHeight": 2129400 + } + }, + { + "9eb193e12eb19d6097caccff7dfa2ccc12da9e9a7a653153a344f8cfa0cc40e5": { + "lastPaidHeight": 2129348 + } + }, + { + "2c934365539b2c4c8fc1d478d749e1bdaa59e09c920cfbe066ec8cb6abe46230": { + "lastPaidHeight": 2129406 + } + }, + { + "4d9e7cec54885592f2324c3e96fd2ed3a4647fe4ec25ca38652aad12ed241e63": { + "lastPaidHeight": 2129188 + } + }, + { + "a20f3edb99394ad9d93997567599baac88abe28992276b602bea48d5eb4fc2a9": { + "service": "139.84.170.10:9999" + } + }, + { + "aa3ef1b4973f851c39ffe08e42622bc6403c2e2bbd7e8a89efa33f53eafaa060": { + "lastPaidHeight": 2129020 + } + }, + { + "b2ffe05b358c365e4837d97b3bbff0ee97596586f77208d692bdb9641d29b9f7": { + "lastPaidHeight": 2129360 + } + }, + { + "28e24a013ea100fa96da70719a94080ad12a33a93c5d2197bb0a369338b9129d": { + "lastPaidHeight": 2129142 + } + }, + { + "7cb19372485f163893df4c517fed259b0a408735926b8ce456016f7c7f73274c": { + "lastPaidHeight": 2129408 + } + }, + { + "55677b9610be38f7e4efd53d896883e5acf889c3a7b3452d401883543820f663": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129421, + "PoSeBanHeight": -1 + } + }, + { + "b24d8a7a4bafa63704990560c163b65b284a8c6a9b44495452e9ae4539df8378": { + "lastPaidHeight": 2129172 + } + }, + { + "3eb87b4ee9274759846cc7f7bd147d8533a3922cc2ce45047ad27987ed72b888": { + "lastPaidHeight": 2129143 + } + }, + { + "4bb68e455a18495b2c52b2d26b169a7e420ee909b674002e67383c682577ab63": { + "lastPaidHeight": 2128975 + } + }, + { + "c2690e15104cd0d17df48317af7324de02f187c0805348718a00ac807f2a0ad5": { + "lastPaidHeight": 2129336 + } + }, + { + "2f2883e916ce4ec52f1e04c7d103659a923bb7774b4c77145c541a9b02b6850b": { + "lastPaidHeight": 2129264 + } + }, + { + "476fa7729c39bb2202e1eaa3df224502d3ceb17dfc2af1989c5621e1dbb3aa61": { + "lastPaidHeight": 2129206 + } + }, + { + "effad73393cee69d3b490fb56ad1939c603f9afa1135a8704dfcb2456f2ed804": { + "lastPaidHeight": 2129230 + } + }, + { + "bb0f4459a4a593d92da640b3c647ac4b34782a0b3352b9633ecfab71ad4fdf85": { + "lastPaidHeight": 2129425 + } + }, + { + "d48265eccb1c8f7b2dcbc203e9350f12cfd00e526541c5ec97d992d7987a8ec4": { + "lastPaidHeight": 2129305 + } + }, + { + "ce070cea04eb51e65241e3f72ef88451f3c4836a5919ef9d2765d9e59d0a7d4b": { + "lastPaidHeight": 2129194 + } + }, + { + "4a918d9f1d0f81a7b52a36ef83b4e402b32ea35717d63ad173599e6600bda407": { + "lastPaidHeight": 2129113 + } + }, + { + "0911a5921394b1e8ab07cbbaeb5500ca25008c50cba4dfcde41e39c33c838d25": { + "lastPaidHeight": 2129000 + } + }, + { + "528532e2fef93b5389f8ddeee73fefd72b57c629a6a256736a14187d12647f40": { + "lastPaidHeight": 2128898 + } + }, + { + "ea4a6971496f94644600fff68fab26e76c01496415fee28eab224846c558e09c": { + "PoSePenalty": 1669 + } + }, + { + "d0fb7c03fc69e82406baa461a05092ad45137f015b40311ed2e99ab1a250e185": { + "lastPaidHeight": 2128951 + } + }, + { + "3f7d3adf1f005d761d0514ac395da8dd4dfa2b75021fcf8dd8d6ed2d27244a49": { + "lastPaidHeight": 2129080 + } + }, + { + "546c1c4eecef7321bfa0d52f583c682084e68274104827c5cc44a9635f40afd7": { + "lastPaidHeight": 2129433 + } + }, + { + "de469f542fd0bad77d0da44e61e09668bb7784e6cde1772d3b5e81f6e16637a1": { + "lastPaidHeight": 2129209 + } + }, + { + "daded9ac7ab44603018fc0f06ba359b1f8ea7d6f815a056f914b49714f057449": { + "lastPaidHeight": 2128930 + } + }, + { + "bd71ff0ed86646382b19d28a490f92a2e8a7be87da339e493ad9c58e912df384": { + "lastPaidHeight": 2129421 + } + }, + { + "83a5bcccc3632cbd41b5f1a31c476eedccb73e73a893af3c7cc55ae1f63ab0dc": { + "lastPaidHeight": 2129402 + } + }, + { + "111bc0f0402a2dfb26091099669543e7f9c3cdb66f69bd01b3a25662905ba4aa": { + "lastPaidHeight": 2129383 + } + }, + { + "731d99bcd08780005e805657bbe5f6b7b3244fd82d2e46dd4108f35969e20709": { + "lastPaidHeight": 2129295 + } + }, + { + "861c2be57c5211728a593958ed0a870c2d8a125712ba50c06ca164843578d3c3": { + "lastPaidHeight": 2128963 + } + }, + { + "6740eff4c8418cd5e07c1ea1d3a2ce28cf185e61a62cf5b1ad5f07fb26ca57a5": { + "lastPaidHeight": 2129160 + } + }, + { + "6b749d05a7ead7705338b01cbdbbf5c444b0bb69580b972ddca356bb76493f66": { + "lastPaidHeight": 2129368 + } + }, + { + "936dcee01b167ec4c1d149d9482076db14aae496fdc6d4d529fa055136a3c3c5": { + "PoSePenalty": 1153 + } + }, + { + "54022c3696d84dcee3685d5858b001330e6ad7e4c8babe0c645059e521d06d51": { + "lastPaidHeight": 2128973 + } + }, + { + "bec21d57da059a645387a6c88b7c34b0dc2bcb3b15eacd886b08ff30928743e9": { + "lastPaidHeight": 2129379 + } + }, + { + "ce1736ddffa708dcc8d9ec7aa1f7dc1136c45ce5038c6b5c5487870c59b3eb86": { + "lastPaidHeight": 2129304 + } + }, + { + "876b7fdfc60b90fd2d549c55cf52df787b1bbd80c1932c886711609fbb3ba404": { + "PoSePenalty": 1473 + } + }, + { + "39a282fc99b677d142653a0946542a9407149b9441f1e68e6b28c51c61b0aa99": { + "lastPaidHeight": 2129023 + } + }, + { + "0d04d0b12b9c2d3cdffc3e4a59b8ef0e1cc5b165e51c1ad44ee8afed418573e6": { + "lastPaidHeight": 2129263 + } + }, + { + "b0d84b6939d0be2cff89e9332c8a7c15f005ba463a4bd4d7c2066e60bccc40ed": { + "lastPaidHeight": 2129165 + } + }, + { + "4387add2f959bc6490859fd48db6ed99b835c0947956263775c14430d73f7054": { + "lastPaidHeight": 2129102 + } + }, + { + "2f91eb46842dd12afb2f84418000ccfc583942f52a3334a825519c59cbd3419a": { + "lastPaidHeight": 2128942 + } + }, + { + "28a1841f20c38dd97291667dbe7649ade0e7caefe6b415891a8f0639e56cc8ed": { + "lastPaidHeight": 2129003 + } + }, + { + "4105c17c98df9b773d11c12c4ea48a77fc29c116192c0760ec916260e24b7dba": { + "lastPaidHeight": 2129001 + } + }, + { + "13cfe1dddea3ffd0adba44976662a0cc4aa4483d897de1aae472aab4de4e416d": { + "lastPaidHeight": 2129156 + } + }, + { + "760aeb2f98d1b1cf27d157d8070c0caf0374290e4cd7c8f400df277d24c73b87": { + "lastPaidHeight": 2129036 + } + }, + { + "64006928841e0b2f76714247810346e25b6320e2e6d44548c9cb96f5a74765cd": { + "lastPaidHeight": 2129248 + } + }, + { + "de39d1980a7e9f5c86775f0e0767ac67f8113b74441a635d442f6d09050c11ed": { + "lastPaidHeight": 2128969 + } + }, + { + "73f472209276a487519d5562d2ed857d7d88575d878219ee31d05acee08c3165": { + "lastPaidHeight": 2129356 + } + }, + { + "7a6b734a35a8485b2d7dd63cb9b51b64b154242f1b5216b872ab1cbc55e1526d": { + "lastPaidHeight": 2129068 + } + }, + { + "fa0b3a2d56a72a8d66165bc044cd628a71ca37bf4b53a7da01f153722c065a8d": { + "lastPaidHeight": 2129429, + "PoSePenalty": 0 + } + }, + { + "f412ce212fc9c2351a5e3568e11cb41c8c4315b40cfcfcdedd44171558adad0d": { + "lastPaidHeight": 2128977 + } + }, + { + "fa85edb9f16be0dc69303bbc0058c609a87d6133d10ac9bb427754440d2552ad": { + "lastPaidHeight": 2129079 + } + }, + { + "b2deadd3bda2551a39b99a868e8f4558c9a9ece2ff80b4361816f1d1a46cd1f5": { + "lastPaidHeight": 2129288 + } + }, + { + "48b5d23f56a7f64a5a7f704ef490b345fbcc498cd970e8884e08f06c8db022ed": { + "lastPaidHeight": 2129030 + } + }, + { + "4e2fb474e997448f9d1e2e6c29e80a8ab6ec512d90dc75515997de7434bfaeed": { + "lastPaidHeight": 2129012 + } + }, + { + "dec802210b8b7ec86cc24407c602c88bea23cbf81f504e9db2851194d5911ebf": { + "lastPaidHeight": 2129075 + } + }, + { + "56a3e3fd7ecf368015146844e200fade94491fcd8f4d73fb4d2d4f37271e7cce": { + "lastPaidHeight": 2129357 + } + }, + { + "a98e626ccfed86543a9d628b7f2c51ea07fec55cd12da101179bd695a4596e9b": { + "lastPaidHeight": 2129354 + } + }, + { + "6391df4369d30e120a778097d5e96d8710a87eb6a77e9b96885d53db5c49002e": { + "lastPaidHeight": 2129138 + } + }, + { + "a5c36b84429d820f0c8fe773072e19b3f3bf5efbb993ae62ac05041044fa481a": { + "PoSePenalty": 287 + } + }, + { + "6c08c964bd41005e75fc2bfe589d3b938445cdb986309ea361d413aacb7c1fab": { + "lastPaidHeight": 2129302 + } + }, + { + "0e595bdd4838e81f5d20e427921e9666bd8e3d066a23b86d5deeea336172182e": { + "lastPaidHeight": 2129104 + } + }, + { + "62aeca86982ebc2e39a4555431a1af6cbfd20adbdc5a7241283074826b282c4e": { + "lastPaidHeight": 2129393 + } + }, + { + "f2359cd418b41bc869a7fa57c58a3a2f8e5e5bc0ad69b4005f85e9c42922ddee": { + "lastPaidHeight": 2129087 + } + }, + { + "ff3fbf3c46d18ab8fe7e80ef1519df0474bf10555d731e6b710f2d7b1a69e4e5": { + "lastPaidHeight": 2128904 + } + }, + { + "24a19a58c286eee86660e759edb046ad152f23f9d493de16a33f0e9571ed70ae": { + "lastPaidHeight": 2129170 + } + }, + { + "72d455aa4085694a9514257640c45a06162ac2740ecc360e1b29de0752921d0e": { + "lastPaidHeight": 2129083 + } + }, + { + "e5113ec9e85c4d18f6a7d71d0d2949ccd9a92da0598a6745a90f708487a3c56e": { + "lastPaidHeight": 2129056 + } + }, + { + "168157f2d00ed21605b94456777e8c38a5f472c0120a5ff8a3a59d49b7b94600": { + "lastPaidHeight": 2129374 + } + }, + { + "8b9132cc1b8631e95caffe5e46facc07425c74b77e74cb5dfa6978107f6fe60e": { + "lastPaidHeight": 2129323 + } + }, + { + "15ae6a9dc8cd00b971cfbe284984a01f4b4a12d1a234552f186eff94cebad3f4": { + "lastPaidHeight": 2128909 + } + }, + { + "4b2fb2565b4eeab94fd461dcd0b0f83630834929f34ba12e0c68206bd29e560e": { + "lastPaidHeight": 2128922 + } + }, + { + "fcfeda90d7d1937652bf8123e7d130141048fbfe52cf2fb587b9aad4b6ef810f": { + "lastPaidHeight": 2129300 + } + }, + { + "29be36ec41b8e39391d76390c69273c51322ce51b6ea907af11c8fa443813b49": { + "lastPaidHeight": 2129081 + } + }, + { + "9b68754955dc56fbf676023c24eca00507cd261867805785c11cca1ddb67962e": { + "lastPaidHeight": 2129334 + } + }, + { + "0492103872b743832c835dadcfaf3a20a92e4a9116e4406ac37da76a35950bfe": { + "lastPaidHeight": 2129289 + } + }, + { + "1c3a911a7d61db06474a19ff2e2ff4bc5771731c956a1eef5678a6af44a737fb": { + "lastPaidHeight": 2129044 + } + }, + { + "aa1d7efb277b44348b44d967beee3064c55c4f2deb8a35799fe823f8eee4bece": { + "lastPaidHeight": 2129063 + } + }, + { + "650220452554bb099afc6875e855a2d3a13c653d7f42ef61c15391059b4ee4b4": { + "payoutAddress": "Xs2JTR7bvopjezhsZwfxqQdypAGtAtRJFa" + } + }, + { + "81b7f30abb2fc8f2853369be30fe918dc6bbb42296a00291c72b74d2adb8e7ee": { + "lastPaidHeight": 2129395 + } + }, + { + "f2c346e21d7192d6ca95d3441db0ba8311a91fd7f16fbb458c9634035a5d55cf": { + "lastPaidHeight": 2129390 + } + }, + { + "e5561bdef3fd46232c3b6570c1f9c06563c112158d72acef7f7e8b2cafb85ef0": { + "lastPaidHeight": 2129371 + } + }, + { + "0ff436fff18586dbe7cbf0b59805bddb23590e0ebf0bede6166c433243d0d9ef": { + "lastPaidHeight": 2128906 + } + }, + { + "bca5b528092c64aea0f35c3076909a3c916b72ba65cf4e2d0a7f68fd0fd7a350": { + "lastPaidHeight": 2129062 + } + }, + { + "ff0d9aa814a8683dfc8d8c1e54857e52581b33859aa09cc58cc7dcd848d0b60f": { + "lastPaidHeight": 2129252 + } + }, + { + "b62d4c599a3e82ef9b3e8908fbc176a17dcfc50a8246d5d04ae0d8a36ae5daaf": { + "lastPaidHeight": 2129146 + } + }, + { + "6fedbfd5f0d6493617f7a7868d13f5d3a589df8a0763a23a32988a6e7309cf0f": { + "lastPaidHeight": 2129005 + } + }, + { + "7ec2a6e899e40debf6a621cc5da9b3a0f450eb941de25935fab1ecc49c8cecf3": { + "lastPaidHeight": 2129187 + } + }, + { + "8ee1839db846c536b96de4f8d6ac6391ee86161a28aad3ca31c40ecedb6170b7": { + "lastPaidHeight": 2129283 + } + }, + { + "e6d5aaa16614a17e71dbb692df04b8b5c1ff13e22c7630acdf9d385e2eea0f2f": { + "lastPaidHeight": 2129134 + } + }, + { + "e842125cbcb76977fbeeac961ab8ed90e230e6cf5e144103d28f956370a01bb5": { + "lastPaidHeight": 2129168 + } + }, + { + "4cd226491211688dc1a7743c3ae06462411c4d48f90a40146f0eb2720d86bf4f": { + "lastPaidHeight": 2129159 + } + }, + { + "583bc742020412bdde5fd9fa937b6eff786b0b4c401e2c2aea9890a46408678f": { + "lastPaidHeight": 2128989 + } + }, + { + "9493762d8d69dd28d7eb1fc4ff1dd21d0cdf18702fe0605481d4dc208d1387cf": { + "lastPaidHeight": 2129058 + } + }, + { + "ebe672363226723faf83f232469633432527e90cddfc1ef65ed62aeb53aae410": { + "lastPaidHeight": 2129312 + } + }, + { + "2c251d609e2b32a23720d18527b351fe2d72c716a97d2934aac142a618f3dc30": { + "lastPaidHeight": 2128915 + } + }, + { + "b5da9e91919865ab515979e9868ff97da7e7cfa52cfe922b67ebc46d0182881e": { + "lastPaidHeight": 2129224 + } + }, + { + "aa737be0bcf1c0bc8ed365b778e8b2e93c91872dcdf272dcb2d5597f8e4f1050": { + "lastPaidHeight": 2129015 + } + }, + { + "7607ac418599ac20e353421f9d69d83419585fa57aff1002127f09c4bdda09d0": { + "lastPaidHeight": 2129213 + } + }, + { + "e4bbf295a2372e37ee520a295781dea6bc48311b31e8f9618c7b4e9872af25f0": { + "lastPaidHeight": 2129073 + } + }, + { + "c8c433e4aeca70bc2b76cd2373ccbfc65a2a4249119a9aa32708525f6eac3db3": { + "lastPaidHeight": 2129060 + } + }, + { + "20081902183024e83d79b207cca106255ca3cc14db40b04cca2dd4651a10c363": { + "lastPaidHeight": 2129247 + } + }, + { + "631a5e99e59bab2bf06e4ec9874b3c3ced59187dc724c689ffa0fe99f2d3f210": { + "lastPaidHeight": 2129309 + } + }, + { + "c7537583e7b2ab80973cb1dcb8d70ecf14898038cc92a6ae6f9ffb5281574630": { + "lastPaidHeight": 2129225 + } + }, + { + "cb55bcfac42f7a1268b76a32f89ad6bd54f33dfbd03f6e112a23cb220c42be97": { + "lastPaidHeight": 2129439 + } + }, + { + "62e7eb2755e0ec6622cd32c231a0947434fa2e296c5424bc54ee4add00afded0": { + "lastPaidHeight": 2129038 + } + }, + { + "6ee0be87042267b34f8867626a580aa190d6afe3306b3ddfb97d3a0fb6f596f0": { + "lastPaidHeight": 2129365 + } + }, + { + "1f545ceeb083364a18068659d542fc0ae694b5a6d9643a2df179fc902c344e96": { + "lastPaidHeight": 2128972 + } + }, + { + "b484b1c512124b1a38e35fe2a28b0dfa7031ad8e56fbba46c3282009d2e21f10": { + "lastPaidHeight": 2128929 + } + }, + { + "a2e28a5a0a9249c05b2aad1f8872e775c50f382a97578e9f6486b6e2f49fb350": { + "lastPaidHeight": 2128924 + } + }, + { + "1e964fcd4064ba2dc2104c5f52d48ef6b679cffe6a0cce2af7321a5871b4fb70": { + "lastPaidHeight": 2129054 + } + }, + { + "96e8173b44c8ef1593d9f8e121ba6e77c962d3ba8232b441dc1b87d07d50f3b0": { + "lastPaidHeight": 2129233 + } + }, + { + "e126864eda4a45bfe9bc77101a9562d7e0460888c6cf79d720f0b47405aa355d": { + "lastPaidHeight": 2128985 + } + }, + { + "2945e3d075945de246dfdada279ce63d4d282ac570c5106c5e47b8308fc797b0": { + "lastPaidHeight": 2129112 + } + }, + { + "f735ed1bf904e41d7cac7295052fa2e040a8f861aa9cc6df603ef0c5219af746": { + "lastPaidHeight": 2129318 + } + }, + { + "d8b2d57db170b32b8b95f0ef8c7b11ca6ad737e202d5bddfa757a78841f52471": { + "lastPaidHeight": 2129257 + } + }, + { + "d818a9a3ec60d12e51e6f910c48b7a4177a096bb41baa3d5d5c70acf24178cb1": { + "lastPaidHeight": 2128937 + } + }, + { + "c020238bc5b6538297288a87f90bc9083faa5c7ec90997aaf9592a32d709aa15": { + "lastPaidHeight": 2128914 + } + }, + { + "206c1ba4e21033dbe925c94fb77d151a437c3841134e90a694f4a5200779cf2b": { + "lastPaidHeight": 2129293 + } + }, + { + "7f41688477bd354d336f42380e521e58189a6facfe7516890c5d46c078fc2551": { + "lastPaidHeight": 2129313 + } + }, + { + "bbc6140b3be36b4fff27f01cb801639598290a168841914c4a89a4b6551030a9": { + "lastPaidHeight": 2129344 + } + }, + { + "5480f489c2e7d4e9992349a0eb85b4a81796979c66a5f2c67f5df05866e01df1": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129166, + "PoSeBanHeight": -1 + } + }, + { + "b17483082e8a45b489c3bf913d881e79fec80bcf1f4e720ee3f56b89dcc05631": { + "lastPaidHeight": 2129239 + } + }, + { + "b435a06740b1555f495c57710fa26cedff0ae7c2920002f5341faf4106a44a91": { + "lastPaidHeight": 2129256 + } + }, + { + "d36f26a754b07c6d7c7f6abbe0ea740c9770bd7dfff9f25ef4e71764b999aef1": { + "lastPaidHeight": 2129396 + } + }, + { + "ff00b58e4b281f41d6d87df335ab8e632177c3c2ec57c6e4e0d7f248e0bb9f51": { + "lastPaidHeight": 2129424 + } + }, + { + "481a668a5b44f0e6a2434b93f6d70140939056c4b98673514c5f3d705d981ffc": { + "lastPaidHeight": 2128961 + } + }, + { + "68391dade9e175bb5a66c3c80bccdaa3c9fbd0514d74063856d534f629096bb1": { + "lastPaidHeight": 2129405 + } + }, + { + "c577a10dbb543660001fed181e79d52e6c6fe9af18bf51d54fa0228cf711bd87": { + "lastPaidHeight": 2129129 + } + }, + { + "3d7c7f69cad63b3bedb3be291901f5f68d6901ea81b35f14da711bd02fb27cf2": { + "lastPaidHeight": 2129380 + } + }, + { + "280705af7ab4a5b00e0c4cef3339afb62eb17bb09859b91a38e1b35b7b0aa132": { + "lastPaidHeight": 2128970 + } + }, + { + "7607c48cb6611dc26d0a764144a92c963389ec58dd2407fbc3c0ae8c062db211": { + "lastPaidHeight": 2129164 + } + }, + { + "ffa4a74c58aa0002696df1a7d2562b5a36f5116581a0df1a91500a9664985f52": { + "lastPaidHeight": 2129210 + } + }, + { + "1e1d45c63881d362ee1519bef129001ba5f2dcb54f788dd0e01a6c91bd3055b2": { + "lastPaidHeight": 2129212 + } + }, + { + "1d027604b1a3eef32924551637832460afa0b2c48554f8689c12e5896026709e": { + "lastPaidHeight": 2129032 + } + }, + { + "9918f7f3afbf6c4a5b32a0ac3f8c400fc63c9660067ff1df9bab9145516ae212": { + "lastPaidHeight": 2129351 + } + }, + { + "1b5f7a9214933275c81263c9c4ccc59f4045cf0c3838ff92867b08a0db1d4c68": { + "lastPaidHeight": 2129431 + } + }, + { + "f2f0400ecc79c2e2944c5af879c9de434e637edd79fc8b85820d86ebc6c70f47": { + "lastPaidHeight": 2128986 + } + }, + { + "7378516639ee793e8e91ed32c691f091db435787412aafc48759b196d641ea32": { + "lastPaidHeight": 2129122 + } + }, + { + "df346419b05584ea662345f875d041478bd0a50ec059c0bf310e5732848d96b2": { + "lastPaidHeight": 2129253 + } + }, + { + "be3202a2c405a5c4624fe761a78fc2ec7ec9db15e865c569c953d96136f38792": { + "lastPaidHeight": 2129238 + } + }, + { + "ffa516477af8d6a3cea068a625401415934585f71e6fad72c880ed157da95f92": { + "lastPaidHeight": 2129397 + } + }, + { + "bfb20edc24fd9d5243c6182651f7ac8a5c19f21013f50e159bf30b9074ea297c": { + "lastPaidHeight": 2129022 + } + }, + { + "4c84f01e1a07d0b91bfdfebcce89e1a06b48673723615134c034dd2d9bf00853": { + "lastPaidHeight": 2129303 + } + }, + { + "bb20e0bc59ba68525a340dbb8095458b08e8179ae648d7219b24eec28c7fa694": { + "lastPaidHeight": 2129338 + } + }, + { + "b61e02cc18da85a1fe78d13788377ab7e4493dc279f0119ec554abec506650dc": { + "lastPaidHeight": 2129339 + } + }, + { + "e6e2c5bb8056c3bd170b1c7801d590b1ef26d497fffbe103e6ee8136aece8873": { + "lastPaidHeight": 2129362 + } + }, + { + "0ae5804e7ce572b46769724e13e840d7e60cd2cd2860a19bdfecfef52f74c0d7": { + "lastPaidHeight": 2128928 + } + }, + { + "4240cfd375e322ba6fa22f2a7ec03f7ce90ae12cf00da38a5e8e185d4daa4f56": { + "lastPaidHeight": 2129367 + } + }, + { + "d0cb1e7b8a516e302affabeb234a3864890e4e22b39fc872d6861252d6f2ecd6": { + "lastPaidHeight": 2129085 + } + }, + { + "94a02bd4ea7208534ef41d9900b19946832fb47faf8728918ae4e603e99e3597": { + "lastPaidHeight": 2129166 + } + }, + { + "49f18efbf5d19809e697d4c726d56b1a5a4568f6ec073168eb05a1407919c613": { + "lastPaidHeight": 2129308 + } + }, + { + "cc54edc875aae7158e27f433ad8c9766678b5d1e94630fc502634822539048d4": { + "lastPaidHeight": 2129277 + } + }, + { + "113ff81c88decba3dddbec1e5fcb33501fdb2aaec807a8cadc0ea021d5a98a53": { + "lastPaidHeight": 2129386 + } + }, + { + "7a706bf63a69002e1c2220bc3ffefd8c6c45d8e89cc47be45e13cbc243389253": { + "lastPaidHeight": 2129123 + } + }, + { + "03e1998fbb531bc064d2b65fac261c8b4df62e52daa26933ee2ad0d69d1a27c4": { + "lastPaidHeight": 2129037 + } + }, + { + "531c4a13291a40fdd7396675700e5c2cf80e30746e4efb4595d9abb1c0ad9673": { + "lastPaidHeight": 2129292 + } + }, + { + "b78662a8ed4823a26f4843cd9a335e3fa533bef8fb3d44ded5042c146cca3133": { + "lastPaidHeight": 2129258 + } + }, + { + "10a9953f64e22fe4f94b56abe61fe7ea815da71e1029984248ab48f219be3b13": { + "lastPaidHeight": 2129028 + } + }, + { + "092828edc081d3ba1a54f043259b941368f2c718881b06a9d347883b21bfe313": { + "lastPaidHeight": 2129130 + } + }, + { + "4eba7299acd923212f9ff9faefda1c8268ff2366faf4099cc36fd0db403703b3": { + "lastPaidHeight": 2128932, + "PoSePenalty": 2285 + } + }, + { + "960808f4a34e174db4aeb5942eb271c241c367449f37668587c28c235c9f13f3": { + "lastPaidHeight": 2129382 + } + }, + { + "f4136740bdb8308ff334941e83a9e32aa305b0f7d8debd6cc9107dcf10256454": { + "lastPaidHeight": 2128897 + } + }, + { + "fb304b4b04fc039c7de928f6fbf9ab8486e53a3ba392b56b746d6ddbc74d19f4": { + "lastPaidHeight": 2129090 + } + }, + { + "613bc1d39b2d5796b5141cdc47293a3806c08c44e6faadd20a72a0bc9e805d3b": { + "lastPaidHeight": 2129254 + } + }, + { + "bd117be08f77246d417ef12504eef539f728409f5b4bc55a6444424e81d7a214": { + "lastPaidHeight": 2129284 + } + }, + { + "0f142865a9ba76c424d16a3c76de5d486228746e6171d59263f1593c6d9b0ecb": { + "lastPaidHeight": 2129106 + } + }, + { + "7c36131c1d034cc1344481b1a8ee246040259b22ba73c1da759bfc63e3f065b3": { + "lastPaidHeight": 2129369 + } + }, + { + "eae6ac386bab3b6963f9f6ec18253661bc0cb0088c61297ec1c6cfd01c2f68d5": { + "lastPaidHeight": 2129229 + } + }, + { + "8ef71d8296c6e5166adf6dd8893ffc02f9194a1e572dcc1bd9e3528b2e2081ba": { + "PoSeRevivedHeight": 2129022 + } + }, + { + "b99abd7aae10472ba78ae6082fd9874c77580c800e9fbe94419e8f80c1f0844c": { + "lastPaidHeight": 2129067 + } + }, + { + "b86f9ae4178a3425abb8053a40e1eb138b2a68b466ba2b3bd04167060cd5c1b5": { + "lastPaidHeight": 2128940 + } + }, + { + "a03171d0ef160d54625f4674912ea1908e55b9ffaef337d2d586707dc47cddb5": { + "lastPaidHeight": 2128974 + } + }, + { + "035d2fa64db2b9a59aa90445dc84499e4911fc75b382a9b83682a5e8cbba6a15": { + "PoSePenalty": 570 + } + }, + { + "4c75decaf4d0ccd5a0b823a650d9efee875636c52039c5d3d3d8ddb3b091d456": { + "lastPaidHeight": 2129136 + } + }, + { + "1e1e5d5882bda6998268e2860ff740a7e38e4872c8e059ce716d744b4a47a347": { + "lastPaidHeight": 2129092 + } + }, + { + "0cc3a17dc9e832a415ef08fb3673bda84a5e6a3265b9777682da22fc89c17476": { + "lastPaidHeight": 2128916 + } + }, + { + "9878f0e05a8fad988295a2fa2a4baf6ddfd8623e7c4e5ca2daf33ee387d37876": { + "lastPaidHeight": 2129125 + } + }, + { + "01c1241272fec89bbe3048676692d691c1e2149ebba1a55bb06392290a81a901": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129334, + "PoSeBanHeight": -1 + } + }, + { + "af5125d0767fc9da5c364c06eae870869450784783eaeb9bd72a05ec06072496": { + "lastPaidHeight": 2129343 + } + }, + { + "110d16a7e4f4eddb9097cd8071455e96a3143293e6734227184e97895ebf98d6": { + "lastPaidHeight": 2129103 + } + }, + { + "00ae93fc9706943eb22c2f31d21b0ebc807e2f36587d097abba66579ab2b0633": { + "lastPaidHeight": 2129114 + } + }, + { + "b8672a723469945955dc2b9caae749dba10c657b4634f47a8bda0ade27e42576": { + "lastPaidHeight": 2128918 + } + }, + { + "7a1218e508c1e6d029b8c48d2b203b83ab56078069dd839196cafb419d89add6": { + "lastPaidHeight": 2129009 + } + }, + { + "ab34565beb2403f75886a0ebab118e8265e78790f288c28727826e2a950e8ff6": { + "lastPaidHeight": 2129002 + } + }, + { + "15e9b286ff76a27491ef3533da8f8a63571fd5e997c5ffcb651545bedf6fa437": { + "lastPaidHeight": 2129167 + } + }, + { + "abed77f325805906085a9d473910073a1e709708e9626a022aa8c82e52eb88d7": { + "PoSePenalty": 2245 + } + }, + { + "5366fffe3b3f93c7959e9503c18132dbd7ee2658311303a297abbb878a0b8157": { + "lastPaidHeight": 2129341 + } + }, + { + "5f6e679df5d08adb3c3f2dc2ca073d23ac4e1654168472094dfba9e196af0597": { + "lastPaidHeight": 2129121 + } + }, + { + "5731fa3be25c0c144325178ab3a862e2b75f74fe5425450cc5ceccddbc2fa54f": { + "lastPaidHeight": 2129412 + } + }, + { + "c4a15fde0759164e7de20c8afdf60cf0ff0f885ce63b6810e35240501a098997": { + "PoSePenalty": 1958 + } + }, + { + "cdcc5f9c69617aa36f888c3b38d29759e554ebef811440bd2e14afd4db96d617": { + "lastPaidHeight": 2128900 + } + }, + { + "f786503fc35a859528fcabb73679d7cd56b62d5585830176ed1ba19251bb9277": { + "lastPaidHeight": 2129377 + } + }, + { + "bf86442200d72693d7f1e6bf5fac0325d45fc652bbdbc3be66da142164eecc5f": { + "PoSePenalty": 1383 + } + }, + { + "1f3f0835685420e6c655a1681b5fd95c93ddc9702b1c0390d1613ac6cc00b5ae": { + "lastPaidHeight": 2129291 + } + }, + { + "e61116b8a6c81ff73c41ce33776a93a5f0f711e847899ea761e1e326729dded7": { + "lastPaidHeight": 2129046 + } + }, + { + "a06379b62ca055d9c36a604163e71719dc589e8ebe58fe9b38768b8c09de6679": { + "lastPaidHeight": 2128984 + } + }, + { + "e9883af43902d4d952eb276fc0f87655e08cb35fe8ab837dd4ee9f7b35c9d630": { + "PoSePenalty": 1153 + } + }, + { + "880551e949445ed5429ab456318a8b729a0142303185552a9568e1643d3af89a": { + "lastPaidHeight": 2129411 + } + }, + { + "a54d925c699f8cffa316ddcc0ab8da595df8eb4bb5d48c355873744582abc249": { + "lastPaidHeight": 2129043 + } + }, + { + "0df1bbe80e534d132b8a1dca6d83889c1f61de4456c336194941e069dab73317": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2128996, + "PoSeBanHeight": -1 + } + }, + { + "deadac5e0d1bea2bfc8aca4a18d8ad7e404d5b82ecf39daf69e180276a6328df": { + "lastPaidHeight": 2129435 + } + }, + { + "defcc6fa2a16a5b273799e7ab05a141647b676e34b88d2dc2b88fd94cae3bb57": { + "lastPaidHeight": 2128917 + } + }, + { + "aa2682688e884d04d8263d58d438e893e1802f78745951a105b5639fef552c9c": { + "lastPaidHeight": 2129057 + } + }, + { + "a524b4bcd75cb884988feda4231f8d905ba82d6dd474b783eb2d9e379e032cfa": { + "PoSePenalty": 3726, + "PoSeBanHeight": 2129226 + } + }, + { + "ddca837fad6ab9b8ffd014f2253e1a072ca8970a38f4146289f05078f7f41bf7": { + "lastPaidHeight": 2129223 + } + }, + { + "0501e3918f79d40c32dd1e9c9726efac176744c9170e05a619b6e8239a934566": { + "lastPaidHeight": 2129273 + } + }, + { + "d0c0586325d3078daf65c44737ece83f7ea96322856378ee994d9b31e1d23c38": { + "lastPaidHeight": 2128912 + } + }, + { + "571e3eefc4be8d0442e29ae6229d3d9e5e3077daa0753a98ed96c4fd1491819b": { + "lastPaidHeight": 2129191 + } + }, + { + "712069571b9410c039b94c4feb2d5b5004c1864af071090673d73c27da84a098": { + "lastPaidHeight": 2129331 + } + }, + { + "b4429f77d4fde0932405d2fb72ef37ae0c014814c50a16bde2a7cee6cf1488b8": { + "lastPaidHeight": 2128913 + } + }, + { + "f1616a597eac912c0db8b4696ec11b2c004a421d77a4ff599f6b13654f5a88f8": { + "PoSePenalty": 1186 + } + }, + { + "502c2eb07cc483a7770f6bfb7fe89509e3d41d001ea755cdb384ac9279ca3db8": { + "lastPaidHeight": 2129178 + } + }, + { + "108448bfd2babed6b9c25622760e60c6b2c5cfd17f590658b86ff7c919def378": { + "lastPaidHeight": 2129236 + } + }, + { + "2d461ee1e601f40f93368219ad81f7d7a5702566fca2f6dc4093371876567ff9": { + "lastPaidHeight": 2129401 + } + }, + { + "8b9d978daec0d2249cb88e42426325f3dc36d01dd6fadf8c146f97d5f6bd5f5b": { + "lastPaidHeight": 2129099 + } + }, + { + "056178378002cd44847b470d0c6409ef369354dbaca6cf7c0e763f5be287f459": { + "lastPaidHeight": 2129010 + } + }, + { + "47d8e41410e9f50938f6b277c64890a8ae8e8ba839fab8bdf085a2c1a02c3d19": { + "lastPaidHeight": 2129438 + } + }, + { + "de67171e5d781f5018267f196bd62e4efc36f6d7d9356e3732322194555be799": { + "lastPaidHeight": 2129127 + } + }, + { + "f8e56f8f47b030f8a5417e690c977a04035f3a94ad7d50c60ba51f8165fc8bf9": { + "lastPaidHeight": 2129266 + } + }, + { + "a3327c6f3a5df5eae1611e6ef1b79dcd3509ce6f2b896ef62efbfca9fe820c3a": { + "lastPaidHeight": 2129174 + } + }, + { + "c0f14f9861c9825452638be0398b3b190a294c2e4d6555a5bf6099556f4b65fc": { + "PoSePenalty": 0, + "PoSeRevivedHeight": 2129232, + "PoSeBanHeight": -1 + } + }, + { + "3abf36f38c98bc8c5a6c7b849ca53b7a84fd1720132ea582f28cfe9a8093a8ba": { + "lastPaidHeight": 2129035 + } + }, + { + "692dfb82cf41d175f3968fa9ca84a95c2220f40ed40a9a9e3de40154737cbd3a": { + "lastPaidHeight": 2129078 + } + }, + { + "a8ae7439851693326fe88f80426fe350384fd89287c522089977758e0ea3af0e": { + "lastPaidHeight": 2129203 + } + }, + { + "444d54ade2f06d72dffcad1108d2e130ef1dd31398baeccd25c9454704e3753a": { + "lastPaidHeight": 2129190 + } + }, + { + "6a19aeb470921a85b70539f9b58dd2f9d523778bbea1dacbc22443b0af3f855a": { + "PoSePenalty": 0 + } + }, + { + "9c1a949fae0c9fa3d402b7fcaf4dfd8ab7c303df6c07b8789b161f4894fb3dda": { + "lastPaidHeight": 2129019 + } + }, + { + "5706437cb5ad24bea98e2c6bd5c0c0e3690b2dc2017c4e9b1d56f773e16cbada": { + "lastPaidHeight": 2129345 + } + }, + { + "7cf1f341487e3173dd1b43af326e58cad617a6f4e6a0ac771870865d447876da": { + "lastPaidHeight": 2129337 + } + }, + { + "093c7924743d735ba2f73d6c0dada30babadd8d083fd35106ab31561f850d31a": { + "PoSePenalty": 1376 + } + }, + { + "600c8240fa9b2d7809df2efbb020952c07dc235f280ebd9525dc8b96e38780db": { + "lastPaidHeight": 2129241 + } + }, + { + "6f58d3df274246328dc22a55c6352bc399e7650cd1ab14c349de7300966788db": { + "lastPaidHeight": 2128999 + } + }, + { + "9b6a42efb2f4ed0bd06e62dcea6ac37eced1e3caf5a4a822b2fce7582efa845e": { + "lastPaidHeight": 2129418, + "PoSePenalty": 1669 + } + }, + { + "55fa0fd8647d6a77a9f0be842650664c6cb9aaa7d6958fccc09eeff9fb8ccd5b": { + "lastPaidHeight": 2129399 + } + }, + { + "9455cb290c9c1c53876b815485b359ccb94bf583169569e7eceda09d4af69c5c": { + "PoSePenalty": 3724, + "PoSeBanHeight": 2129226 + } + }, + { + "e152d2588be71911edea0d308e787e7e19330f888fa9c75f3290bb48c6d03a1c": { + "lastPaidHeight": 2129391 + } + }, + { + "d5af49f10e748f9752e6f5205a0dbcf2b16c6ec79a5cf4947477042f94e88d7b": { + "lastPaidHeight": 2129049 + } + }, + { + "068f02cd536e8aa88679330b68095ad7ea80504597034934a538afa12d74ee1b": { + "lastPaidHeight": 2129120 + } + }, + { + "85266320c071261f5354ee982196c8b523d19ac44d9f7d4e886db475e0b11f7b": { + "lastPaidHeight": 2129267 + } + }, + { + "9661cea56646843ddedf8cc0d99337877bb5456fe6d59a47ee51ecce9a51f01c": { + "lastPaidHeight": 2129096 + } + }, + { + "222abaf161a1698842b521056f950149c18fefe09f3bf71e1b230800b30b8974": { + "lastPaidHeight": 2129124 + } + }, + { + "7cf22b643695657d3d9adc10d105046036822477d630ca4c60cf92afaf09209c": { + "lastPaidHeight": 2129059 + } + }, + { + "1a7f988e2a277b78d80f8e02557fa42d171228528614ace74cc9cd42c62a84dc": { + "lastPaidHeight": 2129346 + } + }, + { + "6c50b2d79aecadb3925657b5b16d4ff8db8946b7a30ad3086b723cce65a278fc": { + "lastPaidHeight": 2128966 + } + }, + { + "b100a91cb9500ac9eeeaf95e7b63ff8af34cfe7023cded447a4417ebdcc31b9c": { + "lastPaidHeight": 2129140 + } + }, + { + "6ce438752f0e2983efb1b940f63b8633d03ad28c06f8b26888b7090f2e084d1c": { + "lastPaidHeight": 2129355 + } + }, + { + "e9aa3e868d01afb7b8051ca40d3941c46b076f6dda9bf3560a2af6657bbd65dc": { + "lastPaidHeight": 2128997 + } + }, + { + "08e7ef5559ebd0765772f3c97b37ebb0a1bc1edbb6aab48c9dfb50ac5b97c8f7": { + "lastPaidHeight": 2129375 + } + }, + { + "37a4bf11436043b691deeb394098824a3dc845f2d2cd0f8bc7ed858e7c1f31fc": { + "lastPaidHeight": 2129214 + } + }, + { + "aeb6dd0a9d21b5886edfd062caf2c064189dbe65981e0e774b4550cf4c383b7e": { + "PoSePenalty": 0 + } + }, + { + "ef123c64acce15bd8871074d7b1912d427d713db0706825a533fd7a4829fc61c": { + "lastPaidHeight": 2129407 + } + }, + { + "e59af9f5b45fbb1c365f8ab074062705711ea9c3a0c66e6dac7612850c43015d": { + "lastPaidHeight": 2129147 + } + }, + { + "3bceb972e8f224dce72c2aed5440a1afdc34abc75bd1b559a7fc023961d3e61c": { + "lastPaidHeight": 2129359 + } + } + ] +} diff --git a/packages/rs-drive-proof-verifier/Cargo.toml b/packages/rs-drive-proof-verifier/Cargo.toml index 42e46670e6d..325ed65235f 100644 --- a/packages/rs-drive-proof-verifier/Cargo.toml +++ b/packages/rs-drive-proof-verifier/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "drive-proof-verifier" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true crate-type = ["cdylib"] @@ -19,7 +19,7 @@ mocks = [ [dependencies] -thiserror = { version = "1.0.59" } +thiserror = { version = "1.0.63" } dapi-grpc = { path = "../dapi-grpc" } drive = { path = "../rs-drive", default-features = false, features = [ "verify", @@ -28,11 +28,12 @@ dpp = { path = "../rs-dpp", features = [ "bls-signatures", "document-value-conversion", "extended-document", + "core-types-serialization", ], default-features = false } bincode = { version = "2.0.0-rc.3", features = ["serde"], optional = true } platform-serialization-derive = { path = "../rs-platform-serialization-derive", optional = true } platform-serialization = { path = "../rs-platform-serialization", optional = true } -tenderdash-abci = { git = "https://github.com/dashpay/rs-tenderdash-abci", version = "1.1.0", tag = "v1.1.0", features = [ +tenderdash-abci = { git = "https://github.com/dashpay/rs-tenderdash-abci", version = "1.2.0+1.3.0", tag = "v1.2.0+1.3.0", features = [ "crypto", ], default-features = false } tracing = { version = "0.1.37" } diff --git a/packages/rs-drive-proof-verifier/src/error.rs b/packages/rs-drive-proof-verifier/src/error.rs index 7b7848f1dbd..02752a4b128 100644 --- a/packages/rs-drive-proof-verifier/src/error.rs +++ b/packages/rs-drive-proof-verifier/src/error.rs @@ -102,6 +102,10 @@ pub enum ContextProviderError { /// Provided quorum is invalid #[error("invalid quorum: {0}")] InvalidQuorum(String), + + /// Core Fork Error + #[error("activation fork error: {0}")] + ActivationForkError(String), } impl From for Error { diff --git a/packages/rs-drive-proof-verifier/src/from_request.rs b/packages/rs-drive-proof-verifier/src/from_request.rs index ff2a74de36c..4c6c4e6981c 100644 --- a/packages/rs-drive-proof-verifier/src/from_request.rs +++ b/packages/rs-drive-proof-verifier/src/from_request.rs @@ -71,6 +71,12 @@ impl TryFromRequest DriveResultType::Documents => GrpcResultType::Documents, DriveResultType::DocumentsAndVoteTally => GrpcResultType::DocumentsAndVoteTally, DriveResultType::VoteTally => GrpcResultType::VoteTally, + DriveResultType::SingleDocumentByContender(_) => { + return Err(Error::RequestError { + error: "can not perform a single document by contender query remotely" + .to_string(), + }) + } }) } } @@ -146,6 +152,9 @@ impl TryFromRequest for ContestedDocumentV ContestedDocumentVotePollDriveQueryResultType::Documents => GrpcResultType::Documents.into(), ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => GrpcResultType::DocumentsAndVoteTally.into(), ContestedDocumentVotePollDriveQueryResultType::VoteTally => GrpcResultType::VoteTally.into(), + ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(_) => return Err(Error::RequestError { + error: "can not perform a single document by contender query remotely".to_string(), + }), }, start_at_identifier_info, allow_include_locked_and_abstaining_vote_tally: self.allow_include_locked_and_abstaining_vote_tally, @@ -200,7 +209,7 @@ impl TryFromRequest } Ok(proto::get_contested_resource_identity_votes_request::GetContestedResourceIdentityVotesRequestV0 { - prove: true, + prove: true, identity_id: self.identity_id.to_vec(), offset: self.offset.map(|x| x as u32), limit: self.limit.map(|x| x as u32), diff --git a/packages/rs-drive-proof-verifier/src/lib.rs b/packages/rs-drive-proof-verifier/src/lib.rs index 7e28b6691fe..dfa6e414435 100644 --- a/packages/rs-drive-proof-verifier/src/lib.rs +++ b/packages/rs-drive-proof-verifier/src/lib.rs @@ -13,7 +13,10 @@ pub use proof::{FromProof, Length}; #[cfg(feature = "mocks")] pub use provider::MockContextProvider; pub use provider::{ContextProvider, DataContractProvider}; +/// From Request pub mod from_request; +/// Implementation of unproved verification +pub mod unproved; // Needed for #[derive(PlatformSerialize, PlatformDeserialize)] #[cfg(feature = "mocks")] diff --git a/packages/rs-drive-proof-verifier/src/proof.rs b/packages/rs-drive-proof-verifier/src/proof.rs index 14000f0a951..89fef813601 100644 --- a/packages/rs-drive-proof-verifier/src/proof.rs +++ b/packages/rs-drive-proof-verifier/src/proof.rs @@ -1,6 +1,8 @@ use crate::from_request::TryFromRequest; use crate::provider::DataContractProvider; +use crate::verify::verify_tenderdash_proof; use crate::{types, types::*, ContextProvider, Error}; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_by_range_request::get_evonodes_proposed_epoch_blocks_by_range_request_v0::Start; use dapi_grpc::platform::v0::get_identities_contract_keys_request::GetIdentitiesContractKeysRequestV0; use dapi_grpc::platform::v0::get_path_elements_request::GetPathElementsRequestV0; use dapi_grpc::platform::v0::get_protocol_version_upgrade_vote_status_request::{ @@ -8,16 +10,7 @@ use dapi_grpc::platform::v0::get_protocol_version_upgrade_vote_status_request::{ }; use dapi_grpc::platform::v0::security_level_map::KeyKindRequestType as GrpcKeyKind; use dapi_grpc::platform::v0::{ - get_contested_resource_identity_votes_request, get_data_contract_history_request, - get_data_contract_request, get_data_contracts_request, get_epochs_info_request, - get_identities_contract_keys_request, get_identity_balance_and_revision_request, - get_identity_balance_request, get_identity_by_public_key_hash_request, - get_identity_contract_nonce_request, get_identity_keys_request, get_identity_nonce_request, - get_identity_request, get_path_elements_request, get_prefunded_specialized_balance_request, - GetContestedResourceVotersForIdentityRequest, GetContestedResourceVotersForIdentityResponse, - GetPathElementsRequest, GetPathElementsResponse, GetProtocolVersionUpgradeStateRequest, - GetProtocolVersionUpgradeStateResponse, GetProtocolVersionUpgradeVoteStatusRequest, - GetProtocolVersionUpgradeVoteStatusResponse, Proof, ResponseMetadata, + get_contested_resource_identity_votes_request, get_data_contract_history_request, get_data_contract_request, get_data_contracts_request, get_epochs_info_request, get_evonodes_proposed_epoch_blocks_by_ids_request, get_evonodes_proposed_epoch_blocks_by_range_request, get_identities_balances_request, get_identities_contract_keys_request, get_identity_balance_and_revision_request, get_identity_balance_request, get_identity_by_public_key_hash_request, get_identity_contract_nonce_request, get_identity_keys_request, get_identity_nonce_request, get_identity_request, get_path_elements_request, get_prefunded_specialized_balance_request, GetContestedResourceVotersForIdentityRequest, GetContestedResourceVotersForIdentityResponse, GetPathElementsRequest, GetPathElementsResponse, GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeStateResponse, GetProtocolVersionUpgradeVoteStatusRequest, GetProtocolVersionUpgradeVoteStatusResponse, Proof, ResponseMetadata }; use dapi_grpc::platform::{ v0::{self as platform, key_request_type, KeyRequestType as GrpcKeyType}, @@ -26,8 +19,9 @@ use dapi_grpc::platform::{ use dpp::block::block_info::BlockInfo; use dpp::block::epoch::{EpochIndex, MAX_EPOCH}; use dpp::block::extended_epoch_info::ExtendedEpochInfo; +use dpp::core_subsidy::NetworkCoreSubsidy; use dpp::dashcore::hashes::Hash; -use dpp::dashcore::ProTxHash; +use dpp::dashcore::{Network, ProTxHash}; use dpp::document::{Document, DocumentV0Getters}; use dpp::identity::identities_contract_keys::IdentitiesContractKeys; use dpp::identity::Purpose; @@ -44,6 +38,7 @@ use drive::drive::identity::key::fetch::{ use drive::drive::Drive; use drive::error::proof::ProofError; use drive::query::contested_resource_votes_given_by_identity_query::ContestedResourceVotesGivenByIdentityQuery; +use drive::query::proposer_block_count_query::ProposerQueryType; use drive::query::vote_poll_contestant_votes_query::ContestedDocumentVotePollVotesDriveQuery; use drive::query::vote_poll_vote_state_query::ContestedDocumentVotePollDriveQuery; use drive::query::vote_polls_by_document_type_query::VotePollsByDocumentTypeQuery; @@ -52,8 +47,6 @@ use std::array::TryFromSliceError; use std::collections::BTreeMap; use std::num::TryFromIntError; -use crate::verify::verify_tenderdash_proof; - /// Parse and verify the received proof and retrieve the requested object, if any. /// /// Use [`FromProof::maybe_from_proof()`] or [`FromProof::from_proof()`] to parse and verify proofs received @@ -79,6 +72,7 @@ pub trait FromProof { /// /// * `request`: The request sent to the server. /// * `response`: The response received from the server. + /// * `network`: The network we are using, Mainnet/Testnet/Devnet or Regtest /// * `platform_version`: The platform version that should be used. /// * `provider`: A callback implementing [ContextProvider] that provides quorum details required to verify the proof. /// @@ -86,18 +80,19 @@ pub trait FromProof { /// /// * `Ok(Some(object, metadata))` when the requested object was found in the proof. /// * `Ok(None)` when the requested object was not found in the proof; this can be interpreted as proof of non-existence. - /// For collections, returns Ok(None) if none of the requested objects were found. + /// For collections, returns Ok(None) if none of the requested objects were found. /// * `Err(Error)` when either the provided data is invalid or proof validation failed. fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result, Error> where Self: Sized + 'a, { - Self::maybe_from_proof_with_metadata(request, response, platform_version, provider) + Self::maybe_from_proof_with_metadata(request, response, network, platform_version, provider) .map(|maybe_result| maybe_result.0) } @@ -107,6 +102,7 @@ pub trait FromProof { /// /// * `request`: The request sent to the server. /// * `response`: The response received from the server. + /// * `network`: The network we are using, Mainnet/Testnet/Devnet or Regtest /// * `platform_version`: The platform version that should be used. /// * `provider`: A callback implementing [ContextProvider] that provides quorum details required to verify the proof. /// @@ -114,11 +110,12 @@ pub trait FromProof { /// /// * `Ok(Some((object, metadata)))` when the requested object was found in the proof. /// * `Ok(None)` when the requested object was not found in the proof; this can be interpreted as proof of non-existence. - /// For collections, returns Ok(None) if none of the requested objects were found. + /// For collections, returns Ok(None) if none of the requested objects were found. /// * `Err(Error)` when either the provided data is invalid or proof validation failed. fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -136,6 +133,7 @@ pub trait FromProof { /// /// * `request`: The request sent to the server. /// * `response`: The response received from the server. + /// * `network`: The network we are using, Mainnet/Testnet/Devnet or Regtest /// * `platform_version`: The platform version that should be used. /// * `provider`: A callback implementing [ContextProvider] that provides quorum details required to verify the proof. /// @@ -147,13 +145,14 @@ pub trait FromProof { fn from_proof<'a, I: Into, O: Into>( request: I, response: O, + network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result where Self: Sized + 'a, { - Self::maybe_from_proof(request, response, platform_version, provider)? + Self::maybe_from_proof(request, response, network, platform_version, provider)? .ok_or(Error::NotFound) } @@ -168,6 +167,7 @@ pub trait FromProof { /// /// * `request`: The request sent to the server. /// * `response`: The response received from the server. + /// * `network`: The network we are using, Mainnet/Testnet/Devnet or Regtest /// * `platform_version`: The platform version that should be used. /// * `provider`: A callback implementing [ContextProvider] that provides quorum details required to verify the proof. /// @@ -179,14 +179,20 @@ pub trait FromProof { fn from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata), Error> where Self: Sized + 'a, { - let (main_item, response_metadata, _) = - Self::maybe_from_proof_with_metadata(request, response, platform_version, provider)?; + let (main_item, response_metadata, _) = Self::maybe_from_proof_with_metadata( + request, + response, + network, + platform_version, + provider, + )?; Ok((main_item.ok_or(Error::NotFound)?, response_metadata)) } @@ -201,6 +207,7 @@ pub trait FromProof { /// /// * `request`: The request sent to the server. /// * `response`: The response received from the server. + /// * `network`: The network we are using, Mainnet/Testnet/Devnet or Regtest /// * `platform_version`: The platform version that should be used. /// * `provider`: A callback implementing [ContextProvider] that provides quorum details required to verify the proof. /// @@ -212,14 +219,20 @@ pub trait FromProof { fn from_proof_with_metadata_and_proof<'a, I: Into, O: Into>( request: I, response: O, + network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata, Proof), Error> where Self: Sized + 'a, { - let (main_item, response_metadata, proof) = - Self::maybe_from_proof_with_metadata(request, response, platform_version, provider)?; + let (main_item, response_metadata, proof) = Self::maybe_from_proof_with_metadata( + request, + response, + network, + platform_version, + provider, + )?; Ok((main_item.ok_or(Error::NotFound)?, response_metadata, proof)) } } @@ -231,6 +244,7 @@ impl FromProof for Identity { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -277,8 +291,8 @@ impl FromProof for Identity { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -297,7 +311,7 @@ impl FromProof for Identity { v0.public_key_hash .try_into() .map_err(|_| Error::DriveError { - error: "Ivalid public key hash length".to_string(), + error: "Invalid public key hash length".to_string(), })?; public_key_hash } @@ -326,8 +340,8 @@ impl FromProof for IdentityPublicKeys { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -356,33 +370,13 @@ impl FromProof for IdentityPublicKeys { } }; - let key_request = match parse_key_request_type(&request_type)? { - KeyRequestType::SpecificKeys(specific_keys) => { - IdentityKeysRequest::new_specific_keys_query(&identity_id, specific_keys) - } - KeyRequestType::AllKeys => IdentityKeysRequest::new_all_keys_query(&identity_id, None), - KeyRequestType::SearchKey(criteria) => IdentityKeysRequest { - identity_id, - request_type: KeyRequestType::SearchKey(criteria), - limit, - offset, - }, - KeyRequestType::ContractBoundKey(id, purpose, kind) => IdentityKeysRequest { - identity_id, - request_type: KeyRequestType::ContractBoundKey(id, purpose, kind), - limit, - offset, - }, - KeyRequestType::ContractDocumentTypeBoundKey(id, s, purpose, kind) => { - IdentityKeysRequest { - identity_id, - request_type: KeyRequestType::ContractDocumentTypeBoundKey( - id, s, purpose, kind, - ), - limit, - offset, - } - } + let request_type = parse_key_request_type(&request_type)?; + + let key_request = IdentityKeysRequest { + identity_id, + request_type, + limit, + offset, }; tracing::debug!(?identity_id, "checking proof of identity keys"); @@ -493,8 +487,8 @@ impl FromProof for IdentityNonceFetcher { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -546,8 +540,8 @@ impl FromProof for IdentityContractNo fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -603,8 +597,8 @@ impl FromProof for IdentityBalance { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -642,6 +636,57 @@ impl FromProof for IdentityBalance { } } +impl FromProof for IdentityBalances { + type Request = platform::GetIdentitiesBalancesRequest; + type Response = platform::GetIdentitiesBalancesResponse; + + fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( + request: I, + response: O, + _network: Network, + platform_version: &PlatformVersion, + provider: &'a dyn ContextProvider, + ) -> Result<(Option, ResponseMetadata, Proof), Error> + where + IdentityBalances: 'a, + { + let request: Self::Request = request.into(); + let response: Self::Response = response.into(); + // Parse response to read proof and metadata + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let identities_ids = match request.version.ok_or(Error::EmptyVersion)? { + get_identities_balances_request::Version::V0(v0) => v0.ids, + }; + + let identity_ids = identities_ids + .into_iter() + .map(|identity_bytes| { + Identifier::from_bytes(&identity_bytes) + .map(|identifier| identifier.into_buffer()) + .map_err(|e| Error::RequestError { + error: format!("identities must be all 32 bytes {}", e), + }) + }) + .collect::, Error>>()?; + let (root_hash, balances) = Drive::verify_identity_balances_for_identity_ids( + &proof.grovedb_proof, + false, + &identity_ids, + platform_version, + ) + .map_err(|e| Error::DriveError { + error: e.to_string(), + })?; + + verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + + Ok((Some(balances), mtd.clone(), proof.clone())) + } +} + impl FromProof for IdentityBalanceAndRevision { type Request = platform::GetIdentityBalanceAndRevisionRequest; type Response = platform::GetIdentityBalanceAndRevisionResponse; @@ -649,8 +694,8 @@ impl FromProof for IdentityBalan fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -697,8 +742,8 @@ impl FromProof for DataContract { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -746,8 +791,8 @@ impl FromProof for DataContracts { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -817,8 +862,8 @@ impl FromProof for DataContractHistory fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -870,6 +915,7 @@ impl FromProof for StateTransitionPro fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -926,6 +972,7 @@ impl FromProof for ExtendedEpochInfo { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -935,6 +982,7 @@ impl FromProof for ExtendedEpochInfo { let epochs = ExtendedEpochInfos::maybe_from_proof_with_metadata( request, response, + network, platform_version, provider, )?; @@ -960,6 +1008,7 @@ impl FromProof for ExtendedEpochInfos { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1029,6 +1078,7 @@ impl FromProof for ProtocolVersionUpgrade fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( _request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1059,6 +1109,7 @@ impl FromProof for MasternodeProtoco fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1129,6 +1180,7 @@ impl FromProof for Elements { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1170,8 +1222,8 @@ where fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -1216,8 +1268,8 @@ impl FromProof for IdentitiesContrac fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, - provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> where @@ -1299,6 +1351,7 @@ impl FromProof for ContestedResources { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1340,6 +1393,7 @@ impl FromProof for Contenders { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1376,6 +1430,7 @@ impl FromProof for Contenders { .collect(); let response = Contenders { + winner: contested_resource_vote_state.winner, contenders, abstain_vote_tally: contested_resource_vote_state.abstaining_vote_tally, lock_vote_tally: contested_resource_vote_state.locked_vote_tally, @@ -1391,6 +1446,7 @@ impl FromProof for Voters { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1437,6 +1493,7 @@ impl FromProof for ResourceV fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1482,6 +1539,7 @@ impl FromProof for VotePollsGroupedByTim fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1522,6 +1580,7 @@ impl FromProof for PrefundedSpe fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1563,6 +1622,7 @@ impl FromProof for Vote { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), Error> @@ -1582,6 +1642,7 @@ impl FromProof for Vote { ResourceVotesByIdentity::maybe_from_proof_with_metadata( request, response, + network, platform_version, provider, )?; @@ -1610,6 +1671,163 @@ impl FromProof for Vote { } } +impl FromProof for TotalCreditsInPlatform { + type Request = platform::GetTotalCreditsInPlatformRequest; + type Response = platform::GetTotalCreditsInPlatformResponse; + + fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( + _request: I, + response: O, + network: Network, + platform_version: &PlatformVersion, + provider: &'a dyn ContextProvider, + ) -> Result<(Option, ResponseMetadata, Proof), Error> + where + Self: Sized + 'a, + { + let response: Self::Response = response.into(); + // Parse response to read proof and metadata + let proof = response.proof().or(Err(Error::NoProofInResult))?; + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let core_subsidy_halving_interval = network.core_subsidy_halving_interval(); + + let (root_hash, credits) = Drive::verify_total_credits_in_system( + &proof.grovedb_proof, + core_subsidy_halving_interval, + || { + provider.get_platform_activation_height().map_err(|e| { + drive::error::Error::Proof(ProofError::MissingContextRequirement(e.to_string())) + }) + }, + mtd.core_chain_locked_height, + platform_version, + ) + .map_err(|e| Error::DriveError { + error: e.to_string(), + })?; + + verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + + Ok(( + Some(TotalCreditsInPlatform(credits)), + mtd.clone(), + proof.clone(), + )) + } +} +impl FromProof for ProposerBlockCounts { + type Request = platform::GetEvonodesProposedEpochBlocksByIdsRequest; + type Response = platform::GetEvonodesProposedEpochBlocksResponse; + + fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( + request: I, + response: O, + _network: Network, + platform_version: &PlatformVersion, + provider: &'a dyn ContextProvider, + ) -> Result<(Option, ResponseMetadata, Proof), Error> + where + Self: Sized + 'a, + { + let request: Self::Request = request.into(); + let response: Self::Response = response.into(); + // Parse response to read proof and metadata + let proof = response.proof().or(Err(Error::NoProofInResult))?; + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let (ids, epoch) = match request.version.ok_or(Error::EmptyVersion)? { + get_evonodes_proposed_epoch_blocks_by_ids_request::Version::V0(v0) => { + (v0.ids, v0.epoch) + } + }; + + let (root_hash, proposer_block_counts) = Drive::verify_epoch_proposers( + &proof.grovedb_proof, + epoch + .map(|epoch_index| epoch_index as u16) + .unwrap_or_else(|| mtd.epoch as u16), + ProposerQueryType::ByIds(ids), + platform_version, + ) + .map_err(|e| Error::DriveError { + error: e.to_string(), + })?; + + verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + + Ok(( + Some(ProposerBlockCounts(proposer_block_counts)), + mtd.clone(), + proof.clone(), + )) + } +} + +impl FromProof for ProposerBlockCounts { + type Request = platform::GetEvonodesProposedEpochBlocksByRangeRequest; + type Response = platform::GetEvonodesProposedEpochBlocksResponse; + + fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( + request: I, + response: O, + _network: Network, + platform_version: &PlatformVersion, + provider: &'a dyn ContextProvider, + ) -> Result<(Option, ResponseMetadata, Proof), Error> + where + Self: Sized + 'a, + { + let request: Self::Request = request.into(); + let response: Self::Response = response.into(); + // Parse response to read proof and metadata + let proof = response.proof().or(Err(Error::NoProofInResult))?; + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let (epoch, limit, start) = match request.version.ok_or(Error::EmptyVersion)? { + get_evonodes_proposed_epoch_blocks_by_range_request::Version::V0(v0) => { + (v0.epoch, v0.limit, v0.start) + } + }; + + let formatted_start = match start { + None => None, + Some(Start::StartAfter(after)) => { + let id: [u8; 32] = after.try_into().map_err(|_| Error::DriveError { + error: "Invalid public key hash length".to_string(), + })?; + Some((id, false)) + } + Some(Start::StartAt(at)) => { + let id: [u8; 32] = at.try_into().map_err(|_| Error::DriveError { + error: "Invalid public key hash length".to_string(), + })?; + Some((id, true)) + } + }; + + let (root_hash, proposer_block_counts) = Drive::verify_epoch_proposers( + &proof.grovedb_proof, + epoch + .map(|epoch_index| epoch_index as u16) + .unwrap_or_else(|| mtd.epoch as u16), + ProposerQueryType::ByRange(limit.map(|l| l as u16), formatted_start), + platform_version, + ) + .map_err(|e| Error::DriveError { + error: e.to_string(), + })?; + + verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + + Ok(( + Some(ProposerBlockCounts(proposer_block_counts)), + mtd.clone(), + proof.clone(), + )) + } +} + /// Convert u32, if 0 return None, otherwise return Some(u16). /// Errors when value is out of range. fn u32_to_u16_opt(i: u32) -> Result, Error> { diff --git a/packages/rs-drive-proof-verifier/src/provider.rs b/packages/rs-drive-proof-verifier/src/provider.rs index bc60cfed2b1..ecead859946 100644 --- a/packages/rs-drive-proof-verifier/src/provider.rs +++ b/packages/rs-drive-proof-verifier/src/provider.rs @@ -1,5 +1,5 @@ use crate::error::ContextProviderError; -use dpp::prelude::{DataContract, Identifier}; +use dpp::prelude::{CoreBlockHeight, DataContract, Identifier}; use drive::{error::proof::ProofError, query::ContractLookupFn}; #[cfg(feature = "mocks")] use hex::ToHex; @@ -53,6 +53,14 @@ pub trait ContextProvider: Send + Sync { &self, id: &Identifier, ) -> Result>, ContextProviderError>; + + /// Gets the platform activation height from core. Once this has happened this can be hardcoded. + /// + /// # Returns + /// + /// * `Ok(CoreBlockHeight)`: On success, returns the platform activation height as defined by mn_rr + /// * `Err(Error)`: On failure, returns an error indicating why the operation failed. + fn get_platform_activation_height(&self) -> Result; } impl + Send + Sync> ContextProvider for C { @@ -72,6 +80,10 @@ impl + Send + Sync> ContextProvider for C { ) -> Result>, ContextProviderError> { self.as_ref().get_data_contract(id) } + + fn get_platform_activation_height(&self) -> Result { + self.as_ref().get_platform_activation_height() + } } impl<'a, T: ContextProvider + 'a> ContextProvider for std::sync::Mutex @@ -94,6 +106,11 @@ where let lock = self.lock().expect("lock poisoned"); lock.get_quorum_public_key(quorum_type, quorum_hash, core_chain_locked_height) } + + fn get_platform_activation_height(&self) -> Result { + let lock = self.lock().expect("lock poisoned"); + lock.get_platform_activation_height() + } } /// A trait that provides a function that can be used to look up a [DataContract] by its [Identifier]. @@ -226,6 +243,10 @@ impl ContextProvider for MockContextProvider { Ok(Some(Arc::new(dc))) } + + fn get_platform_activation_height(&self) -> Result { + Ok(1320) // This is the default activation height for a Regtest network + } } // the trait `std::convert::AsRef<(dyn drive_proof_verifier::ContextProvider + 'static)>` diff --git a/packages/rs-drive-proof-verifier/src/types.rs b/packages/rs-drive-proof-verifier/src/types.rs index df390d3cd2c..d49301720b3 100644 --- a/packages/rs-drive-proof-verifier/src/types.rs +++ b/packages/rs-drive-proof-verifier/src/types.rs @@ -5,6 +5,10 @@ //! In this case, the [FromProof](crate::FromProof) trait is implemented for dedicated object type //! defined in this module. +mod evonode_status; + +use dpp::block::block_info::BlockInfo; +use dpp::core_types::validator_set::ValidatorSet; use dpp::data_contract::document_type::DocumentType; use dpp::fee::Credits; use dpp::platform_value::Value; @@ -13,6 +17,7 @@ use dpp::version::PlatformVersion; pub use dpp::version::ProtocolVersionVoteCount; use dpp::voting::contender_structs::{Contender, ContenderWithSerializedDocument}; use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use dpp::voting::vote_info_storage::contested_document_vote_poll_winner_info::ContestedDocumentVotePollWinnerInfo; use dpp::voting::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePoll; use dpp::voting::vote_polls::VotePoll; use dpp::voting::votes::resource_vote::ResourceVote; @@ -24,6 +29,7 @@ use dpp::{ prelude::{DataContract, Identifier, IdentityPublicKey, Revision}, util::deserializer::ProtocolVersion, }; +use drive::grovedb::query_result_type::Path; use drive::grovedb::Element; use std::collections::{BTreeMap, BTreeSet}; @@ -35,6 +41,8 @@ use { platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}, }; +pub use evonode_status::*; + /// A data structure that holds a set of objects of a generic type `O`, indexed by a key of type `K`. /// /// This type is typically returned by functions that operate on multiple objects, such as fetching multiple objects @@ -51,6 +59,22 @@ use { /// * `O`: The type of the objects in the map. pub type RetrievedObjects = BTreeMap>; +/// A data structure that holds a set of objects of a generic type `O`, indexed by a key of type `K`. +/// +/// This type is typically returned by functions that operate on multiple objects, such as fetching multiple objects +/// from a server using [`FetchMany`](dash_sdk::platform::FetchMany) or parsing a proof that contains multiple objects +/// using [`FromProof`](crate::FromProof). +/// +/// Each key in the `RetrievedObjects` corresponds to an object of generic type `O`. +/// If a value is found for a given key, the value is `value`. +/// If no value is found for a given key, the value is `0`. +/// +/// # Generic Type Parameters +/// +/// * `K`: The type of the keys in the map. +/// * `I`: The type of the integer in the map. +pub type RetrievedIntegerValue = BTreeMap; + /// History of a data contract. /// /// Contains a map of data contract revisions to data contracts. @@ -72,6 +96,8 @@ pub type DataContracts = RetrievedObjects; platform_serialize(unversioned) )] pub struct Contenders { + /// The winner if the contest is finished + pub winner: Option<(ContestedDocumentVotePollWinnerInfo, BlockInfo)>, /// Contenders indexed by their identity IDs. pub contenders: BTreeMap, /// Tally of abstain votes. @@ -106,6 +132,7 @@ impl FromIterator<(Identifier, Option)> for Con iter: T, ) -> Self { Self { + winner: None, contenders: BTreeMap::from_iter( iter.into_iter().filter_map(|(k, v)| v.map(|v| (k, v))), ), @@ -156,6 +183,43 @@ pub type Elements = RetrievedObjects, Element>; /// Identity balance. pub type IdentityBalance = u64; + +/// Keys in a Path +#[derive(Debug, Clone)] +pub struct KeysInPath { + /// The path of the keys + pub path: Path, + /// The keys + pub keys: Vec>, +} + +/// The total credits on Platform. +#[derive(Debug, derive_more::From, Clone, Copy)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +pub struct TotalCreditsInPlatform(pub Credits); + +/// A query with no parameters +#[derive(Debug, Clone, Copy)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +pub struct NoParamQuery; + +/// The item of an element fetch request +#[derive(Debug, derive_more::From, Clone)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +pub struct ElementFetchRequestItem(pub Element); + /// Identity balance and revision of the identity. pub type IdentityBalanceAndRevision = (u64, Revision); @@ -266,6 +330,74 @@ pub struct ContestedVote(ContestedDocumentResourceVotePoll, ResourceVoteChoice); /// Votes casted by some identity. pub type ResourceVotesByIdentity = RetrievedObjects; +/// Represents the current state of quorums in the platform. +/// +/// This struct holds various information related to the current quorums, +/// including the list of quorum hashes, the current active quorum hash, +/// and details about the validators and their statuses. +/// +/// # Fields +/// +/// - `quorum_hashes`: A list of 32-byte hashes representing the active quorums. +/// - `current_quorum_hash`: A 32-byte hash identifying the currently active quorum. +/// This is the quorum that is currently responsible for platform operations. +/// - `validator_sets`: A collection of [`ValidatorSet`] structs, each representing +/// a set of validators for different quorums. This provides detailed information +/// about the members of each quorum. +/// - `last_block_proposer`: A vector of bytes representing the identity of the last +/// block proposer. This is typically the ProTxHash of the masternode that proposed +/// the most recent platform block. +/// - `last_platform_block_height`: The height of the most recent platform block. +/// This indicates the latest block height at the platform level, which may differ +/// from the core blockchain height. +/// - `last_core_block_height`: The height of the most recent core blockchain block +/// associated with the platform. This is the height of the blockchain where the +/// platform block was anchored. +/// +/// # Derives +/// +/// - `Debug`: Provides a debug representation of the `CurrentQuorumsInfo` struct, useful +/// for logging and debugging purposes. +/// - `Clone`: Allows the `CurrentQuorumsInfo` struct to be cloned, creating a deep copy +/// of its contents. +/// +/// # Conditional Derives +/// +/// When the `mocks` feature is enabled, the following derives and attributes are applied: +/// +/// - `Encode`: Allows the struct to be serialized into a binary format using the `bincode` crate. +/// - `Decode`: Allows the struct to be deserialized from a binary format using the `bincode` crate. +/// - `PlatformSerialize`: Enables serialization of the struct using the platform-specific +/// serialization format. +/// - `PlatformDeserialize`: Enables deserialization of the struct using the platform-specific +/// deserialization format. +/// - `platform_serialize(unversioned)`: Specifies that the struct should be serialized +/// without including a version field in the serialized data. +/// +/// This structure is typically used in scenarios where the state of the current quorums +/// needs to be accessed, for example, when validating or proposing new blocks, or when +/// determining the active set of validators. +#[derive(Debug, Clone)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +pub struct CurrentQuorumsInfo { + /// A list of 32-byte hashes representing the active quorums. + pub quorum_hashes: Vec<[u8; 32]>, + /// A 32-byte hash identifying the currently active quorum. + pub current_quorum_hash: [u8; 32], + /// A collection of [`ValidatorSet`] structs, each representing a set of validators for different quorums. + pub validator_sets: Vec, + /// A vector of bytes representing the identity of the last block proposer. + pub last_block_proposer: [u8; 32], + /// The height of the most recent platform block. + pub last_platform_block_height: u64, + /// The height of the most recent core blockchain block associated with the platform. + pub last_core_block_height: u32, +} + /// Prefunded specialized balance. #[derive(Debug, derive_more::From, Copy, Clone)] #[cfg_attr( @@ -369,6 +501,9 @@ pub type IdentityPublicKeys = RetrievedObjects; /// Collection of documents. pub type Documents = RetrievedObjects; +/// Collection of balances. +pub type IdentityBalances = RetrievedObjects; + /// Collection of epoch information pub type ExtendedEpochInfos = RetrievedObjects; @@ -429,3 +564,56 @@ impl PlatformVersionedDecode for MasternodeProtocolVote { /// Information about protocol version voted by each node, returned by [ProtocolVersion::fetch_many()]. /// Indexed by [ProTxHash] of nodes. pub type MasternodeProtocolVotes = RetrievedObjects; + +/// Proposer block counts +/// +/// Mapping between proposers and the blocks they might have proposed +#[derive(Debug, Default)] +#[cfg_attr(feature = "mocks", derive(serde::Serialize, serde::Deserialize))] +pub struct ProposerBlockCounts(pub RetrievedIntegerValue); + +impl FromIterator<(ProTxHash, Option)> for ProposerBlockCounts { + fn from_iter)>>( + iter: I, + ) -> Self { + let map = iter + .into_iter() + .map(|(pro_tx_hash, proposer_block_count_by_range)| { + let block_count = proposer_block_count_by_range + .map_or(0, |proposer_block_count| proposer_block_count.0); + let identifier = Identifier::from(pro_tx_hash.to_byte_array()); // Adjust this conversion logic as needed + (identifier, block_count) + }) + .collect::>(); + + ProposerBlockCounts(map) + } +} + +impl FromIterator<(ProTxHash, Option)> for ProposerBlockCounts { + fn from_iter)>>( + iter: I, + ) -> Self { + let map = iter + .into_iter() + .map(|(pro_tx_hash, proposer_block_count_by_range)| { + let block_count = proposer_block_count_by_range + .map_or(0, |proposer_block_count| proposer_block_count.0); + let identifier = Identifier::from(pro_tx_hash.to_byte_array()); // Adjust this conversion logic as needed + (identifier, block_count) + }) + .collect::>(); + + ProposerBlockCounts(map) + } +} + +/// A block count struct +#[derive(Debug)] +#[cfg_attr(feature = "mocks", derive(serde::Serialize, serde::Deserialize))] +pub struct ProposerBlockCountByRange(pub u64); + +/// A block count struct +#[derive(Debug)] +#[cfg_attr(feature = "mocks", derive(serde::Serialize, serde::Deserialize))] +pub struct ProposerBlockCountById(pub u64); diff --git a/packages/rs-drive-proof-verifier/src/types/evonode_status.rs b/packages/rs-drive-proof-verifier/src/types/evonode_status.rs new file mode 100644 index 00000000000..87831de0f6f --- /dev/null +++ b/packages/rs-drive-proof-verifier/src/types/evonode_status.rs @@ -0,0 +1,382 @@ +//! Status details of EvoNode, like version, current height, etc. + +use crate::Error; +use dapi_grpc::platform::v0::{ + get_status_response::{self}, + GetStatusResponse, +}; + +#[cfg(feature = "mocks")] +use { + bincode::{Decode, Encode}, + dpp::{version as platform_version, ProtocolError}, + platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}, +}; + +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +/// The status of an EvoNode. +pub struct EvoNodeStatus { + /// Information about protocol and software components versions. + pub version: Version, + /// Information about the node. + pub node: Node, + /// Layer 2 blockchain information + pub chain: Chain, + /// Node networking information. + pub network: Network, + /// Information about state synchronization progress. + pub state_sync: StateSync, + /// Information about current time used by the node. + pub time: Time, +} +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] + +/// Information about protocol and software components versions. +pub struct Version { + /// Information about software components versions. + pub software: Option, + /// Information about protocol version. + pub protocol: Option, +} +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +/// Information about software components versions. +pub struct Software { + /// DAPI version, semver-compatible string. + pub dapi: String, + /// Drive version, semver-compatible string. + pub drive: Option, + /// Tenderdash version, semver-compatible string. + pub tenderdash: Option, +} +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +/// Information about protocol-level versions used by the node +pub struct Protocol { + /// Tenderdash protocols version. + pub tenderdash: Option, + /// Drive protocols version. + pub drive: Option, +} +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +/// Tenderdash protocol versions. +pub struct TenderdashProtocol { + /// Tenderdash P2P protocol version. + pub p2p: u32, + /// Tenderdash block protocol version. + pub block: u32, +} + +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] + +/// Drive protocol versions. +pub struct DriveProtocol { + /// Latest version supported by the node. + pub latest: u32, + /// Current version used by the node. + pub current: u32, +} +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] + +/// Information about current time used by the node. +pub struct Time { + /// Local time of the node. Unix timestamp since epoch. + pub local: u64, + /// Time of the last block. Unix timestamp since epoch. + pub block: Option, + /// Genesis time. Unix timestamp since epoch. + pub genesis: Option, + /// Epoch number + pub epoch: Option, +} + +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] + +/// Evo node identification information. +pub struct Node { + /// Node ID + pub id: Vec, + /// ProTxHash of masternode; None for full nodes + pub pro_tx_hash: Option>, +} +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] + +/// Layer 2 blockchain information +pub struct Chain { + /// Whether the node is catching up with the network. + pub catching_up: bool, + /// Block hash of the latest block on the node. + pub latest_block_hash: Vec, + /// Latest app hash of the node, as visible in the latest block. + pub latest_app_hash: Vec, + /// Block hash of the earliest block available on the node. + pub earliest_block_hash: Vec, + /// Earliest app hash of the node, as visible in the earliest block. + pub earliest_app_hash: Vec, + /// Height of the latest block available on the node. + pub latest_block_height: u64, + /// Height of the earliest block available on the node. + pub earliest_block_height: u64, + /// Maximum block height of the peers connected to the node. + pub max_peer_block_height: u64, + /// Current core chain locked height. + pub core_chain_locked_height: Option, +} +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +/// Node networking information. +pub struct Network { + /// Identifier of chain the node is member of. + pub chain_id: String, + /// Number of peers in the address book. + pub peers_count: u32, + /// Whether the node is listening for incoming connections. + pub listening: bool, +} + +#[derive(Debug, Clone, Default)] +#[cfg_attr( + feature = "mocks", + derive(Encode, Decode, PlatformSerialize, PlatformDeserialize), + platform_serialize(unversioned) +)] +/// Information about state synchronization progress. +pub struct StateSync { + /// Total time spent on state synchronization. + pub total_synced_time: u64, + /// Estimated remaining time to finish state synchronization. + pub remaining_time: u64, + /// Total number of snapshots available. + pub total_snapshots: u32, + /// Average time spent on processing a chunk of snapshot data. + pub chunk_process_avg_time: u64, + /// Height of the latest snapshot. + pub snapshot_height: u64, + /// Number of chunks in the latest snapshot. + pub snapshot_chunks_count: u64, + /// Number of backfilled blocks. + pub backfilled_blocks: u64, + /// Total number of blocks to backfill. + pub backfill_blocks_total: u64, +} + +impl TryFrom for EvoNodeStatus { + type Error = Error; + + fn try_from(response: GetStatusResponse) -> Result { + Ok(Self { + version: Version::try_from(&response)?, + node: Node::try_from(&response)?, + chain: Chain::try_from(&response)?, + network: Network::try_from(&response)?, + state_sync: StateSync::try_from(&response)?, + time: Time::try_from(&response)?, + }) + } +} + +impl TryFrom<&GetStatusResponse> for Version { + type Error = Error; + + fn try_from(response: &GetStatusResponse) -> Result { + match &response.version { + Some(get_status_response::Version::V0(v0)) => { + let software = v0 + .version + .as_ref() + .and_then(|v| v.software.clone()) + .map(|s| Software { + dapi: s.dapi, + drive: s.drive, + tenderdash: s.tenderdash, + }); + + let protocol = v0 + .version + .as_ref() + .and_then(|v| v.protocol.clone()) + .map(|p| Protocol { + tenderdash: p.tenderdash.map(|t| TenderdashProtocol { + p2p: t.p2p, + block: t.block, + }), + drive: p.drive.map(|d| DriveProtocol { + latest: d.latest, + current: d.current, + }), + }); + + Ok(Self { software, protocol }) + } + _ => Err(Error::EmptyVersion), + } + } +} + +impl TryFrom<&GetStatusResponse> for Node { + type Error = Error; + + fn try_from(response: &GetStatusResponse) -> Result { + match &response.version { + Some(get_status_response::Version::V0(v0)) => { + let node = v0 + .node + .as_ref() + .map(|n| Self { + id: n.id.clone(), + pro_tx_hash: n.pro_tx_hash.clone(), + }) + .unwrap_or_default(); + Ok(node) + } + _ => Err(Error::EmptyVersion), + } + } +} + +impl TryFrom<&GetStatusResponse> for Chain { + type Error = Error; + + fn try_from(response: &GetStatusResponse) -> Result { + match &response.version { + Some(get_status_response::Version::V0(v0)) => { + let chain = v0 + .chain + .as_ref() + .map(|c| Self { + catching_up: c.catching_up, + latest_block_hash: c.latest_block_hash.clone(), + latest_app_hash: c.latest_app_hash.clone(), + earliest_block_hash: c.earliest_block_hash.clone(), + earliest_app_hash: c.earliest_app_hash.clone(), + latest_block_height: c.latest_block_height, + earliest_block_height: c.earliest_block_height, + max_peer_block_height: c.max_peer_block_height, + core_chain_locked_height: c.core_chain_locked_height, + }) + .unwrap_or_default(); + Ok(chain) + } + _ => Err(Error::EmptyVersion), + } + } +} + +impl TryFrom<&GetStatusResponse> for Network { + type Error = Error; + + fn try_from(response: &GetStatusResponse) -> Result { + match &response.version { + Some(get_status_response::Version::V0(v0)) => { + let network = v0 + .network + .as_ref() + .map(|n| Self { + chain_id: n.chain_id.clone(), + peers_count: n.peers_count, + listening: n.listening, + }) + .unwrap_or_default(); + Ok(network) + } + _ => Err(Error::EmptyVersion), + } + } +} + +impl TryFrom<&GetStatusResponse> for StateSync { + type Error = Error; + + fn try_from(response: &GetStatusResponse) -> Result { + match &response.version { + Some(get_status_response::Version::V0(v0)) => { + let state_sync = v0 + .state_sync + .as_ref() + .map(|s| Self { + total_synced_time: s.total_synced_time, + remaining_time: s.remaining_time, + total_snapshots: s.total_snapshots, + chunk_process_avg_time: s.chunk_process_avg_time, + snapshot_height: s.snapshot_height, + snapshot_chunks_count: s.snapshot_chunks_count, + backfilled_blocks: s.backfilled_blocks, + backfill_blocks_total: s.backfill_blocks_total, + }) + .unwrap_or_default(); + Ok(state_sync) + } + _ => Err(Error::EmptyVersion), + } + } +} + +impl TryFrom<&GetStatusResponse> for Time { + type Error = Error; + + fn try_from(response: &GetStatusResponse) -> Result { + match &response.version { + Some(get_status_response::Version::V0(v0)) => { + let time = v0 + .time + .as_ref() + .map(|t| Self { + local: t.local, + block: t.block, + genesis: t.genesis, + epoch: t.epoch, + }) + .unwrap_or_default(); + Ok(time) + } + _ => Err(Error::EmptyVersion), + } + } +} diff --git a/packages/rs-drive-proof-verifier/src/unproved.rs b/packages/rs-drive-proof-verifier/src/unproved.rs new file mode 100644 index 00000000000..d9fd37009c1 --- /dev/null +++ b/packages/rs-drive-proof-verifier/src/unproved.rs @@ -0,0 +1,296 @@ +use crate::types::{CurrentQuorumsInfo, EvoNodeStatus}; +use crate::Error; +use dapi_grpc::platform::v0::ResponseMetadata; +use dapi_grpc::platform::v0::{self as platform}; +use dapi_grpc::tonic::async_trait; +use dpp::bls_signatures::PublicKey as BlsPublicKey; +use dpp::core_types::validator::v0::ValidatorV0; +use dpp::core_types::validator_set::v0::ValidatorSetV0; +use dpp::core_types::validator_set::ValidatorSet; +use dpp::dashcore::hashes::Hash; +use dpp::dashcore::{Network, ProTxHash, PubkeyHash, QuorumHash}; +use dpp::version::PlatformVersion; +use std::collections::BTreeMap; + +/// Trait for parsing unproved responses from the Platform. +/// +/// This trait defines methods for extracting data from responses received from the Platform +/// without the need for cryptographic proof validation. It is primarily used for scenarios where +/// the proof data is not available or not required, and only the data itself is needed. +/// +/// ## Associated Types +/// +/// - `Request`: The type of the request sent to the server. This represents the format of the +/// data that the platform expects when making a query. +/// - `Response`: The type of the response received from the server. This represents the format of +/// the data returned by the platform after executing the query. +/// +/// ## Methods +/// +/// - `maybe_from_unproved`: Parses the response to retrieve the requested object, if any. +/// - `maybe_from_unproved_with_metadata`: Parses the response to retrieve the requested object +/// along with response metadata, if any. +/// - `from_unproved`: Retrieves the requested object from the response, returning an error if the +/// object is not found. +/// - `from_unproved_with_metadata`: Retrieves the requested object from the response along with +/// metadata, returning an error if the object is not found. +/// +/// ``` +pub trait FromUnproved { + /// Request type for which this trait is implemented. + type Request; + /// Response type for which this trait is implemented. + type Response; + + /// Parse the received response and retrieve the requested object, if any. + /// + /// # Arguments + /// + /// * `request`: The request sent to the server. + /// * `response`: The response received from the server. + /// * `network`: The network we are using (Mainnet/Testnet/Devnet/Regtest). + /// * `platform_version`: The platform version that should be used. + /// + /// # Returns + /// + /// * `Ok(Some(object))` when the requested object was found in the response. + /// * `Ok(None)` when the requested object was not found. + /// * `Err(Error)` when parsing fails or data is invalid. + fn maybe_from_unproved, O: Into>( + request: I, + response: O, + network: Network, + platform_version: &PlatformVersion, + ) -> Result, Error> + where + Self: Sized, + { + Self::maybe_from_unproved_with_metadata(request, response, network, platform_version) + .map(|maybe_result| maybe_result.0) + } + + /// Parse the received response and retrieve the requested object along with metadata, if any. + /// + /// # Arguments + /// + /// * `request`: The request sent to the server. + /// * `response`: The response received from the server. + /// * `network`: The network we are using (Mainnet/Testnet/Devnet/Regtest). + /// * `platform_version`: The platform version that should be used. + /// + /// # Returns + /// + /// * `Ok((Some(object), metadata))` when the requested object was found. + /// * `Ok((None, metadata))` when the requested object was not found. + /// * `Err(Error)` when parsing fails or data is invalid. + fn maybe_from_unproved_with_metadata, O: Into>( + request: I, + response: O, + network: Network, + platform_version: &PlatformVersion, + ) -> Result<(Option, ResponseMetadata), Error> + where + Self: Sized; + + /// Retrieve the requested object from the response. + /// + /// # Arguments + /// + /// * `request`: The request sent to the server. + /// * `response`: The response received from the server. + /// * `network`: The network we are using. + /// * `platform_version`: The platform version that should be used. + /// + /// # Returns + /// + /// * `Ok(object)` when the requested object was found. + /// * `Err(Error::NotFound)` when the requested object was not found. + /// * `Err(Error)` when parsing fails or data is invalid. + fn from_unproved, O: Into>( + request: I, + response: O, + network: Network, + platform_version: &PlatformVersion, + ) -> Result + where + Self: Sized, + { + Self::maybe_from_unproved(request, response, network, platform_version)? + .ok_or(Error::NotFound) + } + + /// Retrieve the requested object from the response along with metadata. + /// + /// # Arguments + /// + /// * `request`: The request sent to the server. + /// * `response`: The response received from the server. + /// * `network`: The network we are using. + /// * `platform_version`: The platform version that should be used. + /// + /// # Returns + /// + /// * `Ok((object, metadata))` when the requested object was found. + /// * `Err(Error::NotFound)` when the requested object was not found. + /// * `Err(Error)` when parsing fails or data is invalid. + fn from_unproved_with_metadata, O: Into>( + request: I, + response: O, + network: Network, + platform_version: &PlatformVersion, + ) -> Result<(Self, ResponseMetadata), Error> + where + Self: Sized, + { + let (main_item, response_metadata) = + Self::maybe_from_unproved_with_metadata(request, response, network, platform_version)?; + Ok((main_item.ok_or(Error::NotFound)?, response_metadata)) + } +} + +impl FromUnproved for CurrentQuorumsInfo { + type Request = platform::GetCurrentQuorumsInfoRequest; + type Response = platform::GetCurrentQuorumsInfoResponse; + + fn maybe_from_unproved_with_metadata, O: Into>( + _request: I, + response: O, + _network: Network, + _platform_version: &PlatformVersion, + ) -> Result<(Option, ResponseMetadata), Error> + where + Self: Sized, + { + // Convert the response into a GetCurrentQuorumsInfoResponse + let response: platform::GetCurrentQuorumsInfoResponse = response.into(); + + // Extract metadata from the response + let metadata = match &response.version { + Some(platform::get_current_quorums_info_response::Version::V0(ref v0)) => { + v0.metadata.clone() + } + None => None, + } + .ok_or(Error::EmptyResponseMetadata)?; + + // Parse response based on the version field + let info = match response.version.ok_or(Error::EmptyVersion)? { + platform::get_current_quorums_info_response::Version::V0(v0) => { + // Extract quorum hashes + let quorum_hashes = v0 + .quorum_hashes + .into_iter() + .map(|q_hash| { + let mut q_hash_array = [0u8; 32]; + if q_hash.len() != 32 { + return Err(Error::ProtocolError { + error: "Invalid quorum_hash length".to_string(), + }); + } + q_hash_array.copy_from_slice(&q_hash); + Ok(q_hash_array) + }) + .collect::, Error>>()?; + + // Extract current quorum hash + let mut current_quorum_hash = [0u8; 32]; + if v0.current_quorum_hash.len() != 32 { + return Err(Error::ProtocolError { + error: "Invalid current_quorum_hash length".to_string(), + }); + } + current_quorum_hash.copy_from_slice(&v0.current_quorum_hash); + + let mut last_block_proposer = [0u8; 32]; + if v0.last_block_proposer.len() != 32 { + return Err(Error::ProtocolError { + error: "Invalid last_block_proposer length".to_string(), + }); + } + last_block_proposer.copy_from_slice(&v0.last_block_proposer); + + // Extract validator sets + let validator_sets = + v0.validator_sets + .into_iter() + .map(|vs| { + // Parse the ValidatorSetV0 + let mut quorum_hash = [0u8; 32]; + quorum_hash.copy_from_slice(&vs.quorum_hash); + + // Parse ValidatorV0 members into a BTreeMap + let members = vs + .members + .into_iter() + .map(|member| { + let pro_tx_hash = ProTxHash::from_slice(&member.pro_tx_hash) + .map_err(|_| Error::ProtocolError { + error: "Invalid ProTxHash format".to_string(), + })?; + let validator = ValidatorV0 { + pro_tx_hash, + public_key: None, // Assuming it's not provided here + node_ip: member.node_ip, + node_id: PubkeyHash::from_slice(&[0; 32]).unwrap(), // Placeholder, since not provided + core_port: 0, // Placeholder, since not provided + platform_http_port: 0, // Placeholder, since not provided + platform_p2p_port: 0, // Placeholder, since not provided + is_banned: member.is_banned, + }; + Ok((pro_tx_hash, validator)) + }) + .collect::, Error>>()?; + + Ok(ValidatorSet::V0(ValidatorSetV0 { + quorum_hash: QuorumHash::from_slice(quorum_hash.as_slice()) + .map_err(|_| Error::ProtocolError { + error: "Invalid Quorum Hash format".to_string(), + })?, + quorum_index: None, // Assuming it's not provided here + core_height: vs.core_height, + members, + threshold_public_key: BlsPublicKey::from_bytes( + &vs.threshold_public_key, + ) + .map_err(|_| Error::ProtocolError { + error: "Invalid BlsPublicKey format".to_string(), + })?, + })) + }) + .collect::, Error>>()?; + + // Create the CurrentQuorumsInfo struct + Ok::(CurrentQuorumsInfo { + quorum_hashes, + current_quorum_hash, + validator_sets, + last_block_proposer, + last_platform_block_height: metadata.height, + last_core_block_height: metadata.core_chain_locked_height, + }) + } + }?; + + Ok((Some(info), metadata)) + } +} + +#[async_trait] +impl FromUnproved for EvoNodeStatus { + type Request = platform::GetStatusRequest; + type Response = platform::GetStatusResponse; + + fn maybe_from_unproved_with_metadata, O: Into>( + _request: I, + response: O, + _network: Network, + _platform_version: &PlatformVersion, + ) -> Result<(Option, ResponseMetadata), Error> + where + Self: Sized, + { + let status = Self::try_from(response.into())?; + // we use default response metadata, as this request does not return any metadata + Ok((Some(status), Default::default())) + } +} diff --git a/packages/rs-drive-verify-c-binding/Cargo.toml b/packages/rs-drive-verify-c-binding/Cargo.toml index 3a2ccf94a19..1f6d9b4f1e6 100644 --- a/packages/rs-drive-verify-c-binding/Cargo.toml +++ b/packages/rs-drive-verify-c-binding/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "rs-drive-verify-c-binding" -version = "0.25.16-rc.3" +version = "1.1.0" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] diff --git a/packages/rs-drive/Cargo.toml b/packages/rs-drive/Cargo.toml index 12b4b0d5720..15c207cc230 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 = "1.0.2" +version = "1.4.0-dev.1" authors = [ "Samuel Westrich ", "Ivan Shumkov ", @@ -9,7 +9,7 @@ authors = [ "Wisdom Ogwu Network { + Network::Dash + } + + /// The default testnet configuration + pub fn default_testnet() -> Self { + Self { + network: Network::Testnet, + ..Default::default() } } } diff --git a/packages/rs-drive/src/drive/balances/add_to_system_credits_operations/v0/mod.rs b/packages/rs-drive/src/drive/balances/add_to_system_credits_operations/v0/mod.rs index f105702160d..33b1740e104 100644 --- a/packages/rs-drive/src/drive/balances/add_to_system_credits_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/balances/add_to_system_credits_operations/v0/mod.rs @@ -8,7 +8,7 @@ use crate::fees::op::LowLevelDriveOperation::GroveOperation; use crate::util::grove_operations::DirectQueryType; use dpp::version::PlatformVersion; -use grovedb::batch::{GroveDbOp, KeyInfoPath}; +use grovedb::batch::{KeyInfoPath, QualifiedGroveDbOp}; use grovedb::Element::Item; use grovedb::{EstimatedLayerInformation, TransactionArg}; use integer_encoding::VarInt; @@ -52,7 +52,7 @@ impl Drive { "trying to add an amount that would overflow credits", )))?; let path_holding_total_credits_vec = misc_path_vec(); - let replace_op = GroveDbOp::replace_op( + let replace_op = QualifiedGroveDbOp::replace_op( path_holding_total_credits_vec, TOTAL_SYSTEM_CREDITS_STORAGE_KEY.to_vec(), Item(new_total.encode_var_vec(), None), diff --git a/packages/rs-drive/src/drive/balances/mod.rs b/packages/rs-drive/src/drive/balances/mod.rs index 38b6d2c13d2..0af170831e4 100644 --- a/packages/rs-drive/src/drive/balances/mod.rs +++ b/packages/rs-drive/src/drive/balances/mod.rs @@ -19,6 +19,8 @@ mod calculate_total_credits_balance; #[cfg(any(feature = "server", feature = "verify"))] use crate::drive::RootTree; +use crate::query::Query; +use grovedb::{PathQuery, SizedQuery}; /// Storage fee pool key #[cfg(any(feature = "server", feature = "verify"))] @@ -42,6 +44,19 @@ pub fn total_credits_path_vec() -> Vec> { ] } +/// A path query helper to get the total credits on Platform +#[cfg(any(feature = "server", feature = "verify"))] +pub fn total_credits_on_platform_path_query() -> PathQuery { + PathQuery { + path: vec![vec![RootTree::Misc as u8]], + query: SizedQuery { + query: Query::new_single_key(TOTAL_SYSTEM_CREDITS_STORAGE_KEY.to_vec()), + limit: Some(1), + offset: None, + }, + } +} + /// The path for the balances tree #[cfg(any(feature = "server", feature = "verify"))] pub(crate) fn balance_path() -> [&'static [u8]; 1] { diff --git a/packages/rs-drive/src/drive/balances/remove_from_system_credits_operations/v0/mod.rs b/packages/rs-drive/src/drive/balances/remove_from_system_credits_operations/v0/mod.rs index ebdda43ad23..8bdb989d21f 100644 --- a/packages/rs-drive/src/drive/balances/remove_from_system_credits_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/balances/remove_from_system_credits_operations/v0/mod.rs @@ -8,7 +8,7 @@ use crate::fees::op::LowLevelDriveOperation::GroveOperation; use crate::util::grove_operations::DirectQueryType; use dpp::version::PlatformVersion; -use grovedb::batch::{GroveDbOp, KeyInfoPath}; +use grovedb::batch::{KeyInfoPath, QualifiedGroveDbOp}; use grovedb::Element::Item; use grovedb::{EstimatedLayerInformation, TransactionArg}; use integer_encoding::VarInt; @@ -53,7 +53,7 @@ impl Drive { "trying to remove an amount that would underflow total system credits", )))?; let path_holding_total_credits_vec = misc_path_vec(); - let replace_op = GroveDbOp::replace_op( + let replace_op = QualifiedGroveDbOp::replace_op( path_holding_total_credits_vec, TOTAL_SYSTEM_CREDITS_STORAGE_KEY.to_vec(), Item(new_total.encode_var_vec(), None), diff --git a/packages/rs-drive/src/drive/contract/apply/apply_contract_with_serialization/v0/mod.rs b/packages/rs-drive/src/drive/contract/apply/apply_contract_with_serialization/v0/mod.rs index e3566f5fb86..816b660e324 100644 --- a/packages/rs-drive/src/drive/contract/apply/apply_contract_with_serialization/v0/mod.rs +++ b/packages/rs-drive/src/drive/contract/apply/apply_contract_with_serialization/v0/mod.rs @@ -111,7 +111,7 @@ impl Drive { }; // We can do a get direct because there are no references involved - match self.grove_get_raw( + match self.grove_get_raw_optional( (&contract_root_path(contract.id_ref().as_bytes())).into(), &[0], direct_query_type, diff --git a/packages/rs-drive/src/drive/contract/get_fetch/fetch_contract/v0/mod.rs b/packages/rs-drive/src/drive/contract/get_fetch/fetch_contract/v0/mod.rs index 19f51db1902..fa3a6fa1a88 100644 --- a/packages/rs-drive/src/drive/contract/get_fetch/fetch_contract/v0/mod.rs +++ b/packages/rs-drive/src/drive/contract/get_fetch/fetch_contract/v0/mod.rs @@ -105,6 +105,7 @@ impl Drive { let storage_flags = cost_return_on_error_no_add!( &cost, StorageFlags::map_some_element_flags_ref(&element_flag) + .map_err(Error::StorageFlags) ); let contract_fetch_info = Arc::new(DataContractFetchInfo { contract, @@ -161,6 +162,7 @@ impl Drive { let storage_flags = cost_return_on_error_no_add!( &cost, StorageFlags::map_some_element_flags_ref(&element_flag) + .map_err(Error::StorageFlags) ); let contract_fetch_info = Arc::new(DataContractFetchInfo { diff --git a/packages/rs-drive/src/drive/contract/paths.rs b/packages/rs-drive/src/drive/contract/paths.rs index 2221e398ebe..0baa4d5a226 100644 --- a/packages/rs-drive/src/drive/contract/paths.rs +++ b/packages/rs-drive/src/drive/contract/paths.rs @@ -1,6 +1,7 @@ use crate::drive::RootTree; use dpp::data_contract::accessors::v0::DataContractV0Getters; +use crate::drive::votes::paths::{ACTIVE_POLLS_TREE_KEY, CONTESTED_RESOURCE_TREE_KEY}; use dpp::data_contract::DataContract; /// The various GroveDB paths underneath a contract @@ -11,8 +12,15 @@ pub trait DataContractPaths { fn documents_path(&self) -> [&[u8]; 3]; /// The document type path, this is based on the document type name fn document_type_path<'a>(&'a self, document_type_name: &'a str) -> [&'a [u8]; 4]; + /// The contested document type path, this is based on the document type name + fn contested_document_type_path<'a>(&'a self, document_type_name: &'a str) -> [&'a [u8]; 5]; /// The document primary key path, this is under the document type fn documents_primary_key_path<'a>(&'a self, document_type_name: &'a str) -> [&'a [u8]; 5]; + /// The contested document primary key path, this is under the document type + fn contested_documents_primary_key_path<'a>( + &'a self, + document_type_name: &'a str, + ) -> [&'a [u8]; 6]; /// The underlying storage for documents that keep history fn documents_with_history_primary_key_path<'a>( &'a self, @@ -46,6 +54,16 @@ impl DataContractPaths for DataContract { ] } + fn contested_document_type_path<'a>(&'a self, document_type_name: &'a str) -> [&'a [u8]; 5] { + [ + Into::<&[u8; 1]>::into(RootTree::Votes), // 1 + &[CONTESTED_RESOURCE_TREE_KEY as u8], // 1 + &[ACTIVE_POLLS_TREE_KEY as u8], // 1 + self.id_ref().as_bytes(), // 32 + document_type_name.as_bytes(), + ] + } + fn documents_primary_key_path<'a>(&'a self, document_type_name: &'a str) -> [&'a [u8]; 5] { [ Into::<&[u8; 1]>::into(RootTree::DataContractDocuments), @@ -56,6 +74,20 @@ impl DataContractPaths for DataContract { ] } + fn contested_documents_primary_key_path<'a>( + &'a self, + document_type_name: &'a str, + ) -> [&'a [u8]; 6] { + [ + Into::<&[u8; 1]>::into(RootTree::Votes), // 1 + &[CONTESTED_RESOURCE_TREE_KEY as u8], // 1 + &[ACTIVE_POLLS_TREE_KEY as u8], // 1 + self.id_ref().as_bytes(), // 32 + document_type_name.as_bytes(), + &[0], + ] + } + fn documents_with_history_primary_key_path<'a>( &'a self, document_type_name: &'a str, diff --git a/packages/rs-drive/src/drive/contract/test_helpers.rs b/packages/rs-drive/src/drive/contract/test_helpers.rs index c2bb04fe38f..2fafdb1da16 100644 --- a/packages/rs-drive/src/drive/contract/test_helpers.rs +++ b/packages/rs-drive/src/drive/contract/test_helpers.rs @@ -3,9 +3,6 @@ use crate::util::batch::GroveDbOpBatch; use crate::drive::RootTree; -#[cfg(feature = "data-contract-cbor-conversion")] -use dpp::data_contract::conversion::cbor::DataContractCborConversionMethodsV0; - /// Adds operations to the op batch relevant to initializing the contract's structure. /// Namely it inserts an empty tree at the contract's root path. pub fn add_init_contracts_structure_operations(batch: &mut GroveDbOpBatch) { diff --git a/packages/rs-drive/src/drive/contract/update/update_contract/v0/mod.rs b/packages/rs-drive/src/drive/contract/update/update_contract/v0/mod.rs index 9c08aad8a13..d95decc3f96 100644 --- a/packages/rs-drive/src/drive/contract/update/update_contract/v0/mod.rs +++ b/packages/rs-drive/src/drive/contract/update/update_contract/v0/mod.rs @@ -65,7 +65,6 @@ impl Drive { platform_version, ); } - let _drive_version = &platform_version.drive; let mut drive_operations: Vec = vec![]; diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/operations_factory.rs b/packages/rs-drive/src/drive/credit_pools/epochs/operations_factory.rs index 46bb836ef2d..8274656c2b2 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/operations_factory.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/operations_factory.rs @@ -19,7 +19,7 @@ use dpp::block::epoch::Epoch; use dpp::fee::Credits; use dpp::util::deserializer::ProtocolVersion; use dpp::version::PlatformVersion; -use grovedb::batch::GroveDbOp; +use grovedb::batch::QualifiedGroveDbOp; use grovedb::{Element, TransactionArg}; /// Operations on Epochs @@ -32,7 +32,7 @@ pub trait EpochOperations { cached_previous_block_count: Option, transaction: TransactionArg, platform_version: &PlatformVersion, - ) -> Result; + ) -> Result; /// Adds to the groveDB op batch operations to insert an empty tree into the epoch fn add_init_empty_without_storage_operations(&self, batch: &mut GroveDbOpBatch); /// Adds to the groveDB op batch operations to insert an empty tree into the epoch @@ -51,36 +51,45 @@ pub trait EpochOperations { /// Adds to the groveDB op batch operations signifying that the epoch distribution fees were paid out. fn add_mark_as_paid_operations(&self, batch: &mut GroveDbOpBatch); /// Update Epoch's protocol version - fn update_protocol_version_operation(&self, protocol_version: ProtocolVersion) -> GroveDbOp; + fn update_protocol_version_operation( + &self, + protocol_version: ProtocolVersion, + ) -> QualifiedGroveDbOp; /// Returns a groveDB op which updates the epoch start time. - fn update_start_time_operation(&self, time_ms: u64) -> GroveDbOp; + fn update_start_time_operation(&self, time_ms: u64) -> QualifiedGroveDbOp; /// Returns a groveDB op which updates the epoch start block height. - fn update_start_block_height_operation(&self, start_block_height: u64) -> GroveDbOp; + fn update_start_block_height_operation(&self, start_block_height: u64) -> QualifiedGroveDbOp; /// Returns a groveDB op which updates the epoch start block height. - fn update_start_block_core_height_operation(&self, start_block_core_height: u32) -> GroveDbOp; + fn update_start_block_core_height_operation( + &self, + start_block_core_height: u32, + ) -> QualifiedGroveDbOp; /// Returns a groveDB op which updates the epoch fee multiplier. - fn update_fee_multiplier_operation(&self, multiplier_permille: u64) -> GroveDbOp; + fn update_fee_multiplier_operation(&self, multiplier_permille: u64) -> QualifiedGroveDbOp; /// Returns a groveDB op which updates the epoch processing credits for distribution. fn update_processing_fee_pool_operation( &self, processing_fee: Credits, - ) -> Result; + ) -> Result; /// Returns a groveDB op which deletes the epoch processing credits for distribution tree. - fn delete_processing_credits_for_distribution_operation(&self) -> GroveDbOp; + fn delete_processing_credits_for_distribution_operation(&self) -> QualifiedGroveDbOp; /// Returns a groveDB op which updates the epoch storage credits for distribution. - fn update_storage_fee_pool_operation(&self, storage_fee: Credits) -> Result; + fn update_storage_fee_pool_operation( + &self, + storage_fee: Credits, + ) -> Result; /// Returns a groveDB op which deletes the epoch storage credits for distribution tree. - fn delete_storage_credits_for_distribution_operation(&self) -> GroveDbOp; + fn delete_storage_credits_for_distribution_operation(&self) -> QualifiedGroveDbOp; /// Returns a groveDB op which updates the given epoch proposer's block count. fn update_proposer_block_count_operation( &self, proposer_pro_tx_hash: &[u8; 32], block_count: u64, - ) -> GroveDbOp; + ) -> QualifiedGroveDbOp; /// Returns a groveDB op which inserts an empty tree into the epoch proposers path. - fn init_proposers_tree_operation(&self) -> GroveDbOp; + fn init_proposers_tree_operation(&self) -> QualifiedGroveDbOp; /// Returns a groveDB op which deletes the epoch proposers tree. - fn delete_proposers_tree_operation(&self) -> GroveDbOp; + fn delete_proposers_tree_operation(&self) -> QualifiedGroveDbOp; /// Adds a groveDB op to the batch which deletes the given epoch proposers from the proposers tree. fn add_delete_proposers_operations( &self, @@ -98,7 +107,7 @@ impl EpochOperations for Epoch { cached_previous_block_count: Option, transaction: TransactionArg, platform_version: &PlatformVersion, - ) -> Result { + ) -> Result { // get current proposer's block count let proposed_block_count = if let Some(block_count) = cached_previous_block_count { block_count @@ -171,8 +180,11 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which updates the epoch start time. - fn update_protocol_version_operation(&self, protocol_version: ProtocolVersion) -> GroveDbOp { - GroveDbOp::insert_op( + fn update_protocol_version_operation( + &self, + protocol_version: ProtocolVersion, + ) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_PROTOCOL_VERSION.to_vec(), Element::Item(protocol_version.to_be_bytes().to_vec(), None), @@ -180,8 +192,8 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which updates the epoch start time. - fn update_start_time_operation(&self, time_ms: u64) -> GroveDbOp { - GroveDbOp::insert_op( + fn update_start_time_operation(&self, time_ms: u64) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_START_TIME.to_vec(), Element::Item(time_ms.to_be_bytes().to_vec(), None), @@ -189,8 +201,8 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which updates the epoch start block height. - fn update_start_block_height_operation(&self, start_block_height: u64) -> GroveDbOp { - GroveDbOp::insert_op( + fn update_start_block_height_operation(&self, start_block_height: u64) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_START_BLOCK_HEIGHT.to_vec(), Element::Item(start_block_height.to_be_bytes().to_vec(), None), @@ -198,8 +210,11 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which updates the epoch start block core height. - fn update_start_block_core_height_operation(&self, start_block_core_height: u32) -> GroveDbOp { - GroveDbOp::insert_op( + fn update_start_block_core_height_operation( + &self, + start_block_core_height: u32, + ) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_START_BLOCK_CORE_HEIGHT.to_vec(), Element::Item(start_block_core_height.to_be_bytes().to_vec(), None), @@ -207,8 +222,8 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which updates the epoch fee multiplier. - fn update_fee_multiplier_operation(&self, multiplier_permille: u64) -> GroveDbOp { - GroveDbOp::insert_op( + fn update_fee_multiplier_operation(&self, multiplier_permille: u64) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_FEE_MULTIPLIER.to_vec(), Element::Item(multiplier_permille.to_be_bytes().to_vec(), None), @@ -219,8 +234,8 @@ impl EpochOperations for Epoch { fn update_processing_fee_pool_operation( &self, processing_fee: Credits, - ) -> Result { - Ok(GroveDbOp::insert_op( + ) -> Result { + Ok(QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_POOL_PROCESSING_FEES.to_vec(), Element::new_sum_item(processing_fee.to_signed()?), @@ -228,13 +243,16 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which deletes the epoch processing credits for distribution tree. - fn delete_processing_credits_for_distribution_operation(&self) -> GroveDbOp { - GroveDbOp::delete_op(self.get_path_vec(), KEY_POOL_PROCESSING_FEES.to_vec()) + fn delete_processing_credits_for_distribution_operation(&self) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::delete_op(self.get_path_vec(), KEY_POOL_PROCESSING_FEES.to_vec()) } /// Returns a groveDB op which updates the epoch storage credits for distribution. - fn update_storage_fee_pool_operation(&self, storage_fee: Credits) -> Result { - Ok(GroveDbOp::insert_op( + fn update_storage_fee_pool_operation( + &self, + storage_fee: Credits, + ) -> Result { + Ok(QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_POOL_STORAGE_FEES.to_vec(), Element::new_sum_item(storage_fee.to_signed()?), @@ -242,8 +260,8 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which deletes the epoch storage credits for distribution tree. - fn delete_storage_credits_for_distribution_operation(&self) -> GroveDbOp { - GroveDbOp::delete_op(self.get_path_vec(), KEY_POOL_STORAGE_FEES.to_vec()) + fn delete_storage_credits_for_distribution_operation(&self) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::delete_op(self.get_path_vec(), KEY_POOL_STORAGE_FEES.to_vec()) } /// Returns a groveDB op which updates the given epoch proposer's block count. @@ -251,8 +269,8 @@ impl EpochOperations for Epoch { &self, proposer_pro_tx_hash: &[u8; 32], block_count: u64, - ) -> GroveDbOp { - GroveDbOp::insert_op( + ) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( self.get_proposers_path_vec(), proposer_pro_tx_hash.to_vec(), Element::Item(block_count.to_be_bytes().to_vec(), None), @@ -260,8 +278,8 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which inserts an empty tree into the epoch proposers path. - fn init_proposers_tree_operation(&self) -> GroveDbOp { - GroveDbOp::insert_op( + fn init_proposers_tree_operation(&self) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( self.get_path_vec(), KEY_PROPOSERS.to_vec(), Element::empty_tree(), @@ -269,8 +287,8 @@ impl EpochOperations for Epoch { } /// Returns a groveDB op which deletes the epoch proposers tree. - fn delete_proposers_tree_operation(&self) -> GroveDbOp { - GroveDbOp::delete_tree_op(self.get_path_vec(), KEY_PROPOSERS.to_vec(), false) + fn delete_proposers_tree_operation(&self) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::delete_tree_op(self.get_path_vec(), KEY_PROPOSERS.to_vec(), false) } /// Adds a groveDB op to the batch which deletes the given epoch proposers from the proposers tree. @@ -458,6 +476,7 @@ mod tests { mod add_init_current_operations { use super::*; + use crate::query::proposer_block_count_query::ProposerQueryType; #[test] fn test_values_are_set() { @@ -525,7 +544,12 @@ mod tests { .expect_err("should not get processing fee"); let proposers = drive - .get_epoch_proposers(&epoch, Some(1), Some(&transaction), platform_version) + .fetch_epoch_proposers( + &epoch, + ProposerQueryType::ByRange(Some(1), None), + Some(&transaction), + platform_version, + ) .expect("should get proposers"); assert_eq!(proposers, vec!()); @@ -877,6 +901,7 @@ mod tests { mod delete_proposers { use super::*; + use crate::query::proposer_block_count_query::ProposerQueryType; #[test] fn test_values_are_being_deleted() { @@ -910,7 +935,12 @@ mod tests { .expect("should apply batch"); let mut stored_proposers = drive - .get_epoch_proposers(&epoch, Some(20), Some(&transaction), platform_version) + .fetch_epoch_proposers( + &epoch, + ProposerQueryType::ByRange(Some(20), None), + Some(&transaction), + platform_version, + ) .expect("should get proposers"); let mut awaited_result = pro_tx_hashes @@ -943,7 +973,12 @@ mod tests { .expect("should apply batch"); let stored_proposers = drive - .get_epoch_proposers(&epoch, Some(20), Some(&transaction), platform_version) + .fetch_epoch_proposers( + &epoch, + ProposerQueryType::ByRange(Some(20), None), + Some(&transaction), + platform_version, + ) .expect("should get proposers"); let mut stored_hexes: Vec = stored_proposers diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/fetch_epoch_proposers/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/fetch_epoch_proposers/mod.rs new file mode 100644 index 00000000000..fd75a4c17cc --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/fetch_epoch_proposers/mod.rs @@ -0,0 +1,67 @@ +mod v0; + +use grovedb::TransactionArg; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; + +use dpp::block::epoch::Epoch; + +use crate::query::proposer_block_count_query::ProposerQueryType; +use dpp::version::PlatformVersion; + +impl Drive { + /// Retrieves the list of block proposers for a given epoch. + /// + /// This function fetches the proposers for a specified epoch, returning their transaction hashes and + /// the number of blocks they proposed. The query can either be limited by a range or a set of proposer IDs. + /// + /// # Parameters + /// + /// - `epoch_tree`: A reference to an `Epoch` instance representing the epoch for which to retrieve proposers. + /// - `query_type`: The type of query to perform (`ProposerQueryType`), which can either specify a range of + /// proposers or fetch specific proposers by their IDs. + /// - `transaction`: A `TransactionArg` that provides the transaction context for the query execution. + /// - `platform_version`: The version of the platform, represented by a `PlatformVersion` instance, ensuring compatibility + /// between different platform versions. + /// + /// # Returns + /// + /// A `Result` containing: + /// - `Vec<(Vec, u64)>`: A vector of tuples where each tuple contains: + /// - A byte vector (`Vec`) representing the proposer's transaction hash. + /// - A `u64` representing the number of blocks proposed by that proposer. + /// - `Error`: An error if the query fails due to an invalid platform version, transaction issues, or invalid epoch data. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// - The platform version is unknown or unsupported. + /// - There is an issue with retrieving the proposers, such as a database or transaction error. + /// - The provided epoch or query type is invalid. + pub fn fetch_epoch_proposers( + &self, + epoch_tree: &Epoch, + query_type: ProposerQueryType, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, u64)>, Error> { + match platform_version + .drive + .methods + .credit_pools + .epochs + .fetch_epoch_proposers + { + 0 => { + self.fetch_epoch_proposers_v0(epoch_tree, query_type, transaction, platform_version) + } + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "fetch_epoch_proposers".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/fetch_epoch_proposers/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/fetch_epoch_proposers/v0/mod.rs new file mode 100644 index 00000000000..e86547c225a --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/fetch_epoch_proposers/v0/mod.rs @@ -0,0 +1,168 @@ +use grovedb::query_result_type::QueryResultType::QueryKeyElementPairResultType; +use grovedb::{Element, TransactionArg}; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::query::proposer_block_count_query::ProposerQueryType; +use dpp::block::epoch::Epoch; +use platform_version::version::PlatformVersion; + +impl Drive { + /// Retrieves the list of block proposers for a given epoch. + /// + /// This function fetches the proposers for a specified epoch, returning their transaction hashes and + /// the number of blocks they proposed. The query can either be limited by a range or a set of proposer IDs. + /// + /// # Parameters + /// + /// - `epoch_tree`: A reference to an `Epoch` instance representing the epoch for which to retrieve proposers. + /// - `query_type`: The type of query to perform (`ProposerQueryType`), which can either specify a range of + /// proposers or fetch specific proposers by their IDs. + /// - `transaction`: A `TransactionArg` that provides the transaction context for the query execution. + /// - `platform_version`: The version of the platform, represented by a `PlatformVersion` instance, ensuring compatibility + /// between different platform versions. + /// + /// # Returns + /// + /// A `Result` containing: + /// - `Vec<(Vec, u64)>`: A vector of tuples where each tuple contains: + /// - A byte vector (`Vec`) representing the proposer's transaction hash. + /// - A `u64` representing the number of blocks proposed by that proposer. + /// - `Error`: An error if the query fails due to an invalid platform version, transaction issues, or invalid epoch data. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// - The platform version is unknown or unsupported. + /// - There is an issue with retrieving the proposers, such as a database or transaction error. + /// - The provided epoch or query type is invalid. + pub(super) fn fetch_epoch_proposers_v0( + &self, + epoch_tree: &Epoch, + query_type: ProposerQueryType, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, u64)>, Error> { + let use_optional = query_type.allows_optional(); + + let path_query = query_type.into_path_query(epoch_tree); + + let proposers = if use_optional { + let key_elements = self.grove_get_raw_path_query_with_optional( + &path_query, + true, + transaction, + &mut vec![], + &platform_version.drive, + )?; + + key_elements + .into_iter() + .map(|(_, pro_tx_hash, element)| { + let block_count = match element { + None => 0, + Some(Element::Item(encoded_block_count, _)) => u64::from_be_bytes( + encoded_block_count.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization(String::from( + "epochs proposer block count must be u64", + ))) + })?, + ), + _ => { + return Err(Error::Drive(DriveError::UnexpectedElementType( + "epochs proposer block count must be an item", + ))); + } + }; + + Ok((pro_tx_hash, block_count)) + }) + .collect::>() + } else { + let key_elements = self + .grove + .query_raw( + &path_query, + transaction.is_some(), + true, + true, + QueryKeyElementPairResultType, + transaction, + &platform_version.drive.grove_version, + ) + .unwrap() + .map_err(Error::GroveDB)? + .0 + .to_key_elements(); + + key_elements + .into_iter() + .map(|(pro_tx_hash, element)| { + let Element::Item(encoded_block_count, _) = element else { + return Err(Error::Drive(DriveError::UnexpectedElementType( + "epochs proposer block count must be an item", + ))); + }; + + let block_count = u64::from_be_bytes( + encoded_block_count.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization(String::from( + "epochs proposer block count must be u64", + ))) + })?, + ); + + Ok((pro_tx_hash, block_count)) + }) + .collect::>() + }?; + + Ok(proposers) + } +} + +#[cfg(test)] +mod tests { + use crate::drive::credit_pools::epochs::operations_factory::EpochOperations; + use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; + use crate::util::batch::GroveDbOpBatch; + use crate::util::test_helpers::setup::setup_drive_with_initial_state_structure; + use dpp::block::epoch::Epoch; + + use crate::query::proposer_block_count_query::ProposerQueryType; + use dpp::version::PlatformVersion; + + #[test] + fn test_value() { + let drive = setup_drive_with_initial_state_structure(); + let platform_version = PlatformVersion::latest(); + let transaction = drive.grove.start_transaction(); + + let pro_tx_hash: [u8; 32] = rand::random(); + let block_count = 42; + + let epoch = Epoch::new(0).unwrap(); + + let mut batch = GroveDbOpBatch::new(); + + batch.push(epoch.init_proposers_tree_operation()); + + batch.push(epoch.update_proposer_block_count_operation(&pro_tx_hash, block_count)); + + drive + .grove_apply_batch(batch, false, Some(&transaction), &platform_version.drive) + .expect("should apply batch"); + + let result = drive + .fetch_epoch_proposers( + &epoch, + ProposerQueryType::ByRange(Some(100), None), + Some(&transaction), + platform_version, + ) + .expect("should get proposers"); + + assert_eq!(result, vec!((pro_tx_hash.to_vec(), block_count))); + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/mod.rs deleted file mode 100644 index 5619f999363..00000000000 --- a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/mod.rs +++ /dev/null @@ -1,48 +0,0 @@ -mod v0; - -use grovedb::TransactionArg; - -use crate::drive::Drive; -use crate::error::drive::DriveError; -use crate::error::Error; - -use dpp::block::epoch::Epoch; - -use dpp::version::PlatformVersion; - -impl Drive { - /// Returns a list of the Epoch's block proposers - /// - /// # Arguments - /// - /// * `epoch_tree` - An Epoch instance. - /// * `limit` - An Option containing the limit of proposers to be fetched. - /// * `transaction` - A TransactionArg instance. - /// * `platform_version` - A PlatformVersion instance representing the version of the drive. - /// - /// # Returns - /// - /// A Result containing a vector of tuples with proposers' transaction hashes and block counts or an Error. - pub fn get_epoch_proposers( - &self, - epoch_tree: &Epoch, - limit: Option, - transaction: TransactionArg, - platform_version: &PlatformVersion, - ) -> Result, u64)>, Error> { - match platform_version - .drive - .methods - .credit_pools - .epochs - .get_epoch_proposers - { - 0 => self.get_epoch_proposers_v0(epoch_tree, limit, transaction, platform_version), - version => Err(Error::Drive(DriveError::UnknownVersionMismatch { - method: "get_epoch_proposers".to_string(), - known_versions: vec![0], - received: version, - })), - } - } -} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs deleted file mode 100644 index f60fc3d5ba5..00000000000 --- a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs +++ /dev/null @@ -1,105 +0,0 @@ -use grovedb::query_result_type::QueryResultType::QueryKeyElementPairResultType; -use grovedb::{Element, PathQuery, Query, SizedQuery, TransactionArg}; - -use crate::drive::credit_pools::epochs::paths::EpochProposers; -use crate::drive::Drive; -use crate::error::drive::DriveError; -use crate::error::Error; -use dpp::block::epoch::Epoch; -use platform_version::version::PlatformVersion; - -impl Drive { - /// Returns a list of the Epoch's block proposers - pub(super) fn get_epoch_proposers_v0( - &self, - epoch_tree: &Epoch, - limit: Option, - transaction: TransactionArg, - platform_version: &PlatformVersion, - ) -> Result, u64)>, Error> { - let path_as_vec = epoch_tree.get_proposers_path_vec(); - - let mut query = Query::new(); - query.insert_all(); - - let path_query = PathQuery::new(path_as_vec, SizedQuery::new(query, limit, None)); - - let key_elements = self - .grove - .query_raw( - &path_query, - transaction.is_some(), - true, - true, - QueryKeyElementPairResultType, - transaction, - &platform_version.drive.grove_version, - ) - .unwrap() - .map_err(Error::GroveDB)? - .0 - .to_key_elements(); - - let proposers = key_elements - .into_iter() - .map(|(pro_tx_hash, element)| { - let Element::Item(encoded_block_count, _) = element else { - return Err(Error::Drive(DriveError::UnexpectedElementType( - "epochs proposer block count must be an item", - ))); - }; - - let block_count = u64::from_be_bytes( - encoded_block_count.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization(String::from( - "epochs proposer block count must be u64", - ))) - })?, - ); - - Ok((pro_tx_hash, block_count)) - }) - .collect::>()?; - - Ok(proposers) - } -} - -#[cfg(test)] -mod tests { - use crate::drive::credit_pools::epochs::operations_factory::EpochOperations; - use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; - use crate::util::batch::GroveDbOpBatch; - use crate::util::test_helpers::setup::setup_drive_with_initial_state_structure; - use dpp::block::epoch::Epoch; - - use dpp::version::PlatformVersion; - - #[test] - fn test_value() { - let drive = setup_drive_with_initial_state_structure(); - let platform_version = PlatformVersion::latest(); - let transaction = drive.grove.start_transaction(); - - let pro_tx_hash: [u8; 32] = rand::random(); - let block_count = 42; - - let epoch = Epoch::new(0).unwrap(); - - let mut batch = GroveDbOpBatch::new(); - - batch.push(epoch.init_proposers_tree_operation()); - - batch.push(epoch.update_proposer_block_count_operation(&pro_tx_hash, block_count)); - - drive - .grove_apply_batch(batch, false, Some(&transaction), &platform_version.drive) - .expect("should apply batch"); - - let result = drive - .get_epoch_proposers(&epoch, Some(100), Some(&transaction), platform_version) - .expect("should get proposers"); - - assert_eq!(result, vec!((pro_tx_hash.to_vec(), block_count))); - } -} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/mod.rs index d7c9b646d90..4153947d101 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/mod.rs @@ -2,7 +2,7 @@ //! //! This module implements functions in Drive relevant to block proposers. //! - -mod get_epoch_proposers; +mod fetch_epoch_proposers; mod get_epochs_proposer_block_count; mod is_epochs_proposers_tree_empty; +mod prove_epoch_proposers; diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/prove_epoch_proposers/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/prove_epoch_proposers/mod.rs new file mode 100644 index 00000000000..05b4e3ca839 --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/prove_epoch_proposers/mod.rs @@ -0,0 +1,64 @@ +mod v0; + +use grovedb::TransactionArg; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; + +use dpp::block::epoch::Epoch; + +use crate::query::proposer_block_count_query::ProposerQueryType; +use dpp::version::PlatformVersion; + +impl Drive { + /// Generates a GroveDB proof of the block proposers for a given epoch. + /// + /// This function retrieves the list of block proposers for a specific epoch and returns + /// a proof that can be verified externally. The query can be limited by either a range or a set of proposer IDs. + /// + /// # Parameters + /// + /// - `epoch_tree`: A reference to an `Epoch` instance representing the epoch for which to retrieve proposers. + /// - `query_type`: The type of query to perform (`ProposerQueryType`), which can either be a range query with + /// an optional limit and starting point or a query by specific proposer IDs. + /// - `transaction`: A `TransactionArg` representing the transaction context for the query. + /// - `platform_version`: The version of the platform, represented by a `PlatformVersion` instance, to ensure compatibility. + /// + /// # Returns + /// + /// A `Result` containing: + /// - `Vec`: A byte vector representing the GroveDB proof of the proposers for the epoch. + /// - `Error`: If the proof generation fails due to invalid data, unsupported platform version, or other errors. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// - The platform version is unknown or unsupported. + /// - There is an issue generating the GroveDB proof for the epoch proposers. + /// - The epoch or query type is invalid. + pub fn prove_epoch_proposers( + &self, + epoch_tree: &Epoch, + query_type: ProposerQueryType, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, Error> { + match platform_version + .drive + .methods + .credit_pools + .epochs + .prove_epoch_proposers + { + 0 => { + self.prove_epoch_proposers_v0(epoch_tree, query_type, transaction, platform_version) + } + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "prove_epoch_proposers".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/prove_epoch_proposers/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/prove_epoch_proposers/v0/mod.rs new file mode 100644 index 00000000000..396591cea57 --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/prove_epoch_proposers/v0/mod.rs @@ -0,0 +1,112 @@ +use grovedb::TransactionArg; + +use crate::drive::Drive; +use crate::error::Error; +use crate::query::proposer_block_count_query::ProposerQueryType; +use dpp::block::epoch::Epoch; +use platform_version::version::PlatformVersion; + +impl Drive { + /// Generates a GroveDB proof of the block proposers for a given epoch. + /// + /// This function retrieves the list of block proposers for a specific epoch and returns + /// a proof that can be verified externally. The query can be limited by either a range or a set of proposer IDs. + /// + /// # Parameters + /// + /// - `epoch_tree`: A reference to an `Epoch` instance representing the epoch for which to retrieve proposers. + /// - `query_type`: The type of query to perform (`ProposerQueryType`), which can either be a range query with + /// an optional limit and starting point or a query by specific proposer IDs. + /// - `transaction`: A `TransactionArg` representing the transaction context for the query. + /// - `platform_version`: The version of the platform, represented by a `PlatformVersion` instance, to ensure compatibility. + /// + /// # Returns + /// + /// A `Result` containing: + /// - `Vec`: A byte vector representing the GroveDB proof of the proposers for the epoch. + /// - `Error`: If the proof generation fails due to invalid data, unsupported platform version, or other errors. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// - The platform version is unknown or unsupported. + /// - There is an issue generating the GroveDB proof for the epoch proposers. + /// - The epoch or query type is invalid. + pub(super) fn prove_epoch_proposers_v0( + &self, + epoch_tree: &Epoch, + query_type: ProposerQueryType, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let path_query = query_type.into_path_query(epoch_tree); + + self.grove_get_proved_path_query( + &path_query, + transaction, + &mut vec![], + &platform_version.drive, + ) + } +} + +#[cfg(test)] +mod tests { + use crate::drive::credit_pools::epochs::operations_factory::EpochOperations; + use crate::drive::Drive; + use crate::query::proposer_block_count_query::ProposerQueryType; + use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; + use crate::util::batch::GroveDbOpBatch; + use crate::util::test_helpers::setup::setup_drive_with_initial_state_structure; + use dpp::block::epoch::Epoch; + use dpp::version::PlatformVersion; + + #[test] + fn test_value() { + let drive = setup_drive_with_initial_state_structure(); + let platform_version = PlatformVersion::latest(); + let transaction = drive.grove.start_transaction(); + + let pro_tx_hash: [u8; 32] = rand::random(); + let block_count = 42; + + let epoch = Epoch::new(0).unwrap(); + + let mut batch = GroveDbOpBatch::new(); + + batch.push(epoch.init_proposers_tree_operation()); + + batch.push(epoch.update_proposer_block_count_operation(&pro_tx_hash, block_count)); + + drive + .grove_apply_batch(batch, false, Some(&transaction), &platform_version.drive) + .expect("should apply batch"); + + drive + .grove + .commit_transaction(transaction) + .unwrap() + .expect("expected to be able to commit a transaction"); + + let limit = 100; + + let proof = drive + .prove_epoch_proposers( + &epoch, + ProposerQueryType::ByRange(Some(limit), None), + None, + platform_version, + ) + .expect("should get proposers"); + + let (_, epoch_proposers): (_, Vec<([u8; 32], u64)>) = Drive::verify_epoch_proposers( + &proof, + epoch.index, + ProposerQueryType::ByRange(Some(100), None), + platform_version, + ) + .expect("expected to verify epoch proposers"); + + assert_eq!(epoch_proposers, vec!((pro_tx_hash, block_count))); + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/mod.rs index 9588637929f..bea94b346e0 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/mod.rs @@ -8,6 +8,7 @@ mod get_epoch_start_block_height; mod get_first_epoch_start_block_info_between_epochs; use dpp::block::epoch::EpochIndex; +use dpp::prelude::{BlockHeight, CoreBlockHeight}; /// `StartBlockInfo` contains information about the starting block of an epoch. #[derive(Debug, PartialEq, Eq)] @@ -16,10 +17,10 @@ pub struct StartBlockInfo { pub epoch_index: EpochIndex, /// The height of the starting block within the epoch. - pub start_block_height: u64, + pub start_block_height: BlockHeight, /// The core height of the starting block. - pub start_block_core_height: u32, + pub start_block_core_height: CoreBlockHeight, } #[cfg(feature = "server")] diff --git a/packages/rs-drive/src/drive/credit_pools/mod.rs b/packages/rs-drive/src/drive/credit_pools/mod.rs index eee25566e55..398980bc91f 100644 --- a/packages/rs-drive/src/drive/credit_pools/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/mod.rs @@ -190,7 +190,7 @@ mod tests { use dpp::fee::epoch::GENESIS_EPOCH_INDEX; use dpp::fee::Credits; use dpp::version::PlatformVersion; - use grovedb::batch::Op; + use grovedb::batch::GroveOp; #[test] fn should_do_nothing_if_credits_per_epoch_are_empty() { @@ -268,7 +268,7 @@ mod tests { Epoch::new(i as EpochIndex).unwrap().get_path_vec() ); - let Op::Insert { + let GroveOp::InsertOrReplace { element: Element::SumItem(credits, _), } = operation.op else { @@ -332,7 +332,7 @@ mod tests { let updated_credits: Vec<_> = batch .into_iter() .map(|operation| { - let Op::Insert { + let GroveOp::InsertOrReplace { element: Element::SumItem(credits, _), } = operation.op else { diff --git a/packages/rs-drive/src/drive/credit_pools/operations.rs b/packages/rs-drive/src/drive/credit_pools/operations.rs index 92b2cd2d4c7..7dd78802b55 100644 --- a/packages/rs-drive/src/drive/credit_pools/operations.rs +++ b/packages/rs-drive/src/drive/credit_pools/operations.rs @@ -8,7 +8,7 @@ use crate::util::batch::GroveDbOpBatch; use dpp::balances::credits::Creditable; use dpp::block::epoch::EpochIndex; use dpp::fee::Credits; -use grovedb::batch::GroveDbOp; +use grovedb::batch::QualifiedGroveDbOp; use grovedb::Element; #[cfg(feature = "server")] @@ -21,8 +21,8 @@ pub fn add_create_pending_epoch_refunds_tree_operations(batch: &mut GroveDbOpBat /// Updates the storage fee distribution pool with a new storage fee pub fn update_storage_fee_distribution_pool_operation( storage_fee: Credits, -) -> Result { - Ok(GroveDbOp::insert_op( +) -> Result { + Ok(QualifiedGroveDbOp::insert_or_replace_op( pools_vec_path(), KEY_STORAGE_FEE_POOL.to_vec(), Element::new_sum_item(storage_fee.to_signed()?), @@ -31,8 +31,8 @@ pub fn update_storage_fee_distribution_pool_operation( #[cfg(feature = "server")] /// Updates the unpaid epoch index -pub fn update_unpaid_epoch_index_operation(epoch_index: EpochIndex) -> GroveDbOp { - GroveDbOp::insert_op( +pub fn update_unpaid_epoch_index_operation(epoch_index: EpochIndex) -> QualifiedGroveDbOp { + QualifiedGroveDbOp::insert_or_replace_op( pools_vec_path(), KEY_UNPAID_EPOCH_INDEX.to_vec(), Element::new_item(epoch_index.to_be_bytes().to_vec()), diff --git a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs index 06144c766af..49cf61635e8 100644 --- a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs @@ -70,7 +70,7 @@ mod tests { use dpp::fee::epoch::CreditsPerEpoch; use dpp::version::PlatformVersion; - use grovedb::batch::Op; + use grovedb::batch::GroveOp; #[test] fn should_add_delete_operations_v0() { @@ -124,7 +124,7 @@ mod tests { assert_eq!(batch.len(), expected_pending_refunds.len()); for operation in batch.into_iter() { - assert!(matches!(operation.op, Op::Delete)); + assert!(matches!(operation.op, GroveOp::Delete)); assert_eq!(operation.path.to_path(), pending_epoch_refunds_path_vec()); diff --git a/packages/rs-drive/src/drive/document/insert/add_reference_for_index_level_for_contract_operations/v0/mod.rs b/packages/rs-drive/src/drive/document/insert/add_reference_for_index_level_for_contract_operations/v0/mod.rs index be2ec0515d1..00d3f872cd4 100644 --- a/packages/rs-drive/src/drive/document/insert/add_reference_for_index_level_for_contract_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/document/insert/add_reference_for_index_level_for_contract_operations/v0/mod.rs @@ -214,7 +214,7 @@ impl Drive { )?; if !inserted { return Err(Error::Drive(DriveError::CorruptedContractIndexes( - "reference already exists", + "reference already exists".to_string(), ))); } } diff --git a/packages/rs-drive/src/drive/document/insert/mod.rs b/packages/rs-drive/src/drive/document/insert/mod.rs index e2e2f378900..6b88440bf2c 100644 --- a/packages/rs-drive/src/drive/document/insert/mod.rs +++ b/packages/rs-drive/src/drive/document/insert/mod.rs @@ -35,12 +35,6 @@ mod add_indices_for_top_index_level_for_contract_operations; // This module contains functionality for adding a reference for an index level for contract operations mod add_reference_for_index_level_for_contract_operations; -#[cfg(all( - feature = "fixtures-and-mocks", - feature = "data-contract-cbor-conversion" -))] -use dpp::data_contract::conversion::cbor::DataContractCborConversionMethodsV0; - #[cfg(test)] mod tests { use std::borrow::Cow; diff --git a/packages/rs-drive/src/drive/document/insert_contested/add_contested_document_for_contract_operations/v0/mod.rs b/packages/rs-drive/src/drive/document/insert_contested/add_contested_document_for_contract_operations/v0/mod.rs index 6734a354ed9..d84d70a1a4f 100644 --- a/packages/rs-drive/src/drive/document/insert_contested/add_contested_document_for_contract_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/document/insert_contested/add_contested_document_for_contract_operations/v0/mod.rs @@ -4,6 +4,7 @@ use crate::error::Error; use crate::fees::op::LowLevelDriveOperation; use crate::util::object_size_info::DocumentAndContractInfo; use dpp::block::block_info::BlockInfo; +use dpp::dashcore::Network; use dpp::version::PlatformVersion; use dpp::voting::vote_info_storage::contested_document_vote_poll_stored_info::ContestedDocumentVotePollStoredInfo; use dpp::voting::vote_polls::VotePoll; @@ -50,12 +51,22 @@ impl Drive { platform_version, )?; - let end_date = block_info.time_ms.saturating_add( - platform_version - .dpp - .voting_versions - .default_vote_poll_time_duration_ms, - ); + let poll_time = match self.config.network { + Network::Dash => { + platform_version + .dpp + .voting_versions + .default_vote_poll_time_duration_mainnet_ms + } + _ => { + platform_version + .dpp + .voting_versions + .default_vote_poll_time_duration_test_network_ms + } + }; + + let end_date = block_info.time_ms.saturating_add(poll_time); let contest_already_existed = self.add_contested_indices_for_contract_operations( &document_and_contract_info, diff --git a/packages/rs-drive/src/drive/document/insert_contested/add_contested_reference_and_vote_subtree_to_document_operations/v0/mod.rs b/packages/rs-drive/src/drive/document/insert_contested/add_contested_reference_and_vote_subtree_to_document_operations/v0/mod.rs index 9caf559b176..3bc068d4f11 100644 --- a/packages/rs-drive/src/drive/document/insert_contested/add_contested_reference_and_vote_subtree_to_document_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/document/insert_contested/add_contested_reference_and_vote_subtree_to_document_operations/v0/mod.rs @@ -177,7 +177,7 @@ impl Drive { if !inserted { return Err(Error::Drive(DriveError::CorruptedContractIndexes( - "contested votes tree already exists", + "contested votes tree already exists".to_string(), ))); } diff --git a/packages/rs-drive/src/drive/document/insert_contested/add_contested_vote_subtrees_for_non_identities_operations/v0/mod.rs b/packages/rs-drive/src/drive/document/insert_contested/add_contested_vote_subtrees_for_non_identities_operations/v0/mod.rs index 21439d39c01..bb036014bd5 100644 --- a/packages/rs-drive/src/drive/document/insert_contested/add_contested_vote_subtrees_for_non_identities_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/document/insert_contested/add_contested_vote_subtrees_for_non_identities_operations/v0/mod.rs @@ -92,7 +92,7 @@ impl Drive { // here we are the tree that will contain the voting tree let inserted = self.batch_insert_empty_tree_if_not_exists( - votes_path_key_info, + votes_path_key_info.clone(), true, storage_flags, apply_type, @@ -104,7 +104,7 @@ impl Drive { if !inserted { return Err(Error::Drive(DriveError::CorruptedContractIndexes( - "contested votes tree already exists for a non identity (abstain or lock)", + format!("contested votes tree already exists for a non identity (abstain or lock), trying to insert empty tree at path {}", votes_path_key_info), ))); } diff --git a/packages/rs-drive/src/drive/document/insert_contested/mod.rs b/packages/rs-drive/src/drive/document/insert_contested/mod.rs index 7d38f3c056a..276c9d4aa71 100644 --- a/packages/rs-drive/src/drive/document/insert_contested/mod.rs +++ b/packages/rs-drive/src/drive/document/insert_contested/mod.rs @@ -36,12 +36,6 @@ mod add_contested_indices_for_contract_operations; mod add_contested_reference_and_vote_subtree_to_document_operations; mod add_contested_vote_subtrees_for_non_identities_operations; -#[cfg(all( - feature = "fixtures-and-mocks", - feature = "data-contract-cbor-conversion" -))] -use dpp::data_contract::conversion::cbor::DataContractCborConversionMethodsV0; - #[cfg(test)] mod tests { use std::option::Option::None; diff --git a/packages/rs-drive/src/drive/document/query/mod.rs b/packages/rs-drive/src/drive/document/query/mod.rs index cd75afdde3c..395cd73a084 100644 --- a/packages/rs-drive/src/drive/document/query/mod.rs +++ b/packages/rs-drive/src/drive/document/query/mod.rs @@ -3,10 +3,16 @@ //! Defines and implements in Drive functions relevant to querying. //! -mod query_contested_documents_vote_state; +/// query of the vote state +pub mod query_contested_documents_vote_state; mod query_documents; +mod query_documents_with_flags; + +/// query of the contested documents in their storage +pub mod query_contested_documents_storage; pub use query_documents::*; +pub use query_documents_with_flags::*; #[cfg(all(feature = "fixtures-and-mocks", feature = "cbor_query"))] use dpp::block::block_info::BlockInfo; @@ -30,11 +36,6 @@ use crate::fees::op::LowLevelDriveOperation; use crate::query::DriveDocumentQuery; #[cfg(all(feature = "fixtures-and-mocks", feature = "cbor_query"))] use crate::verify::RootHash; -#[cfg(all( - feature = "fixtures-and-mocks", - feature = "data-contract-cbor-conversion" -))] -use dpp::data_contract::conversion::cbor::DataContractCborConversionMethodsV0; #[cfg(all(feature = "fixtures-and-mocks", feature = "cbor_query"))] use dpp::data_contract::document_type::DocumentTypeRef; #[cfg(all(feature = "fixtures-and-mocks", feature = "cbor_query"))] diff --git a/packages/rs-drive/src/drive/document/query/query_contested_documents_storage/mod.rs b/packages/rs-drive/src/drive/document/query/query_contested_documents_storage/mod.rs new file mode 100644 index 00000000000..4a3844c871a --- /dev/null +++ b/packages/rs-drive/src/drive/document/query/query_contested_documents_storage/mod.rs @@ -0,0 +1,100 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use derive_more::From; +use dpp::block::epoch::Epoch; +use dpp::document::Document; +use dpp::version::{PlatformVersion, PlatformVersionCurrentVersion}; +use grovedb::TransactionArg; + +mod v0; + +use crate::query::drive_contested_document_query::DriveContestedDocumentQuery; +pub use v0::*; + +/// Represents the outcome of a query to retrieve documents. +/// +/// This enum provides versioning for the outcomes of querying documents. +/// As the system evolves, new versions of the outcome structure can be +/// added to this enum without breaking existing implementations. +#[derive(From, Debug)] +pub enum QueryContestedDocumentsOutcome { + /// Version 0 of the `QueryDocumentsOutcome`. + /// + /// This version contains a list of documents retrieved, the number of + /// skipped documents, and the cost associated with the query. + V0(QueryContestedDocumentsOutcomeV0), +} + +impl QueryContestedDocumentsOutcomeV0Methods for QueryContestedDocumentsOutcome { + fn documents(&self) -> &Vec { + match self { + QueryContestedDocumentsOutcome::V0(outcome) => outcome.documents(), + } + } + + fn documents_owned(self) -> Vec { + match self { + QueryContestedDocumentsOutcome::V0(outcome) => outcome.documents_owned(), + } + } + + fn cost(&self) -> u64 { + match self { + QueryContestedDocumentsOutcome::V0(outcome) => outcome.cost(), + } + } +} + +impl Drive { + /// Performs a specified drive query and returns the result, along with any skipped items and the cost. + /// + /// This function is used to execute a given [DriveDocumentQuery]. It has options to operate in a dry-run mode + /// and supports different protocol versions. In case an epoch is specified, it calculates the fee. + /// + /// # Arguments + /// + /// * `query` - The [DriveContestedDocumentQuery] being executed. + /// * `epoch` - An `Option<&Epoch>`. If provided, it will be used to calculate the processing fee. + /// * `dry_run` - If true, the function will not perform any actual operation and return a default `QueryDocumentsOutcome`. + /// * `transaction` - The `TransactionArg` holding the transaction data. + /// * `protocol_version` - An `Option` representing the protocol version. If not provided, the function falls back + /// to current or latest version. + /// + /// # Returns + /// + /// * `Result` - Returns `QueryDocumentsOutcome` on success with the list of documents, + /// number of skipped items, and cost. If the operation fails, it returns an `Error`. + pub fn query_contested_documents( + &self, + query: DriveContestedDocumentQuery, + epoch: Option<&Epoch>, + dry_run: bool, + transaction: TransactionArg, + protocol_version: Option, + ) -> Result { + let platform_version = PlatformVersion::get_version_or_current_or_latest(protocol_version)?; + + match platform_version + .drive + .methods + .document + .query + .query_contested_documents + { + 0 => self.query_contested_documents_v0( + query, + epoch, + dry_run, + transaction, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "query_contested_documents".to_string(), + known_versions: vec![0], + received: version, + })), + } + .map(|outcome| outcome.into()) + } +} diff --git a/packages/rs-drive/src/drive/document/query/query_contested_documents_storage/v0/mod.rs b/packages/rs-drive/src/drive/document/query/query_contested_documents_storage/v0/mod.rs new file mode 100644 index 00000000000..91a9aa0f906 --- /dev/null +++ b/packages/rs-drive/src/drive/document/query/query_contested_documents_storage/v0/mod.rs @@ -0,0 +1,107 @@ +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use crate::query::drive_contested_document_query::DriveContestedDocumentQuery; +use dpp::block::epoch::Epoch; +use dpp::document::serialization_traits::DocumentPlatformConversionMethodsV0; +use dpp::document::Document; +use dpp::version::PlatformVersion; +use dpp::ProtocolError; +use grovedb::TransactionArg; + +/// The outcome of a query +#[derive(Debug, Default)] +pub struct QueryContestedDocumentsOutcomeV0 { + documents: Vec, + cost: u64, +} + +/// Trait defining methods associated with `QueryDocumentsOutcomeV0`. +/// +/// This trait provides a set of methods to interact with and retrieve +/// details from an instance of `QueryDocumentsOutcomeV0`. These methods +/// include retrieving the documents, skipped count, and the associated cost +/// of the query. +pub trait QueryContestedDocumentsOutcomeV0Methods { + /// Returns a reference to the documents found from the query. + fn documents(&self) -> &Vec; + /// Consumes the instance to return the owned documents. + fn documents_owned(self) -> Vec; + /// Returns the processing cost associated with the query. + fn cost(&self) -> u64; +} + +impl QueryContestedDocumentsOutcomeV0Methods for QueryContestedDocumentsOutcomeV0 { + fn documents(&self) -> &Vec { + &self.documents + } + + fn documents_owned(self) -> Vec { + self.documents + } + + fn cost(&self) -> u64 { + self.cost + } +} + +impl Drive { + /// Performs a specified drive query and returns the result, along with any skipped items and the cost. + /// + /// This function is used to execute a given [DriveDocumentQuery]. It has options to operate in a dry-run mode + /// and supports different protocol versions. In case an epoch is specified, it calculates the fee. + /// + /// # Arguments + /// + /// * `query` - The [DriveContestedDocumentQuery] being executed. + /// * `epoch` - An `Option<&Epoch>`. If provided, it will be used to calculate the processing fee. + /// * `dry_run` - If true, the function will not perform any actual operation and return a default `QueryDocumentsOutcome`. + /// * `transaction` - The `TransactionArg` holding the transaction data. + /// * `platform_version` - A reference to the `PlatformVersion` object specifying the version of functions to call. + /// + /// # Returns + /// + /// * `Result` - Returns `QueryDocumentsOutcome` on success with the list of documents, + /// number of skipped items, and cost. If the operation fails, it returns an `Error`. + #[inline(always)] + pub(super) fn query_contested_documents_v0( + &self, + query: DriveContestedDocumentQuery, + epoch: Option<&Epoch>, + dry_run: bool, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result { + if dry_run { + return Ok(QueryContestedDocumentsOutcomeV0::default()); + } + let mut drive_operations: Vec = vec![]; + let (items, _) = query.execute_raw_results_no_proof_internal( + self, + transaction, + &mut drive_operations, + platform_version, + )?; + let documents = items + .into_iter() + .map(|serialized| { + Document::from_bytes(serialized.as_slice(), query.document_type, platform_version) + }) + .collect::, ProtocolError>>()?; + let cost = if let Some(epoch) = epoch { + let fee_result = Drive::calculate_fee( + None, + Some(drive_operations), + epoch, + self.config.epochs_per_era, + platform_version, + None, + )?; + fee_result.processing_fee + } else { + 0 + }; + + Ok(QueryContestedDocumentsOutcomeV0 { documents, cost }) + } +} diff --git a/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/mod.rs b/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/mod.rs index aaf7d749361..0af3e4b97c6 100644 --- a/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/mod.rs +++ b/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/mod.rs @@ -3,7 +3,7 @@ use crate::error::drive::DriveError; use crate::error::Error; use derive_more::From; use dpp::block::epoch::Epoch; -use dpp::version::{PlatformVersion, PlatformVersionCurrentVersion}; +use dpp::version::PlatformVersion; use dpp::voting::contender_structs::ContenderWithSerializedDocument; use grovedb::TransactionArg; @@ -70,20 +70,23 @@ impl Drive { query: ContestedDocumentVotePollDriveQuery, epoch: Option<&Epoch>, transaction: TransactionArg, - protocol_version: Option, + platform_version: &PlatformVersion, ) -> Result { - let platform_version = PlatformVersion::get_version_or_current_or_latest(protocol_version)?; - match platform_version .drive .methods .document .query - .query_documents + .query_contested_documents_vote_state { - 0 => self.query_contested_documents_v0(query, epoch, transaction, platform_version), + 0 => self.query_contested_documents_vote_state_v0( + query, + epoch, + transaction, + platform_version, + ), version => Err(Error::Drive(DriveError::UnknownVersionMismatch { - method: "query_documents".to_string(), + method: "query_contested_documents_vote_state".to_string(), known_versions: vec![0], received: version, })), diff --git a/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/v0/mod.rs b/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/v0/mod.rs index 105d93da60c..c9a36c4fba5 100644 --- a/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/v0/mod.rs +++ b/packages/rs-drive/src/drive/document/query/query_contested_documents_vote_state/v0/mod.rs @@ -64,7 +64,7 @@ impl Drive { /// * `Result` - Returns `QueryDocumentsOutcome` on success with the list of documents, /// number of skipped items, and cost. If the operation fails, it returns an `Error`. #[inline(always)] - pub(super) fn query_contested_documents_v0( + pub(super) fn query_contested_documents_vote_state_v0( &self, query: ContestedDocumentVotePollDriveQuery, epoch: Option<&Epoch>, diff --git a/packages/rs-drive/src/drive/document/query/query_documents_with_flags/mod.rs b/packages/rs-drive/src/drive/document/query/query_documents_with_flags/mod.rs new file mode 100644 index 00000000000..8e0dacdf825 --- /dev/null +++ b/packages/rs-drive/src/drive/document/query/query_documents_with_flags/mod.rs @@ -0,0 +1,107 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::query::DriveDocumentQuery; +use derive_more::From; +use dpp::block::epoch::Epoch; +use dpp::document::Document; +use dpp::version::{PlatformVersion, PlatformVersionCurrentVersion}; +use grovedb::TransactionArg; + +mod v0; + +use crate::util::storage_flags::StorageFlags; +pub use v0::*; + +/// Represents the outcome of a query to retrieve documents. +/// +/// This enum provides versioning for the outcomes of querying documents. +/// As the system evolves, new versions of the outcome structure can be +/// added to this enum without breaking existing implementations. +#[derive(From, Debug)] +pub enum QueryDocumentsWithFlagsOutcome { + /// Version 0 of the `QueryDocumentsOutcome`. + /// + /// This version contains a list of documents retrieved, the number of + /// skipped documents, and the cost associated with the query. + V0(QueryDocumentsWithFlagsOutcomeV0), +} + +impl QueryDocumentsWithFlagsOutcomeV0Methods for QueryDocumentsWithFlagsOutcome { + fn documents(&self) -> &Vec<(Document, Option)> { + match self { + QueryDocumentsWithFlagsOutcome::V0(outcome) => outcome.documents(), + } + } + + fn documents_owned(self) -> Vec<(Document, Option)> { + match self { + QueryDocumentsWithFlagsOutcome::V0(outcome) => outcome.documents_owned(), + } + } + + fn skipped(&self) -> u16 { + match self { + QueryDocumentsWithFlagsOutcome::V0(outcome) => outcome.skipped(), + } + } + + fn cost(&self) -> u64 { + match self { + QueryDocumentsWithFlagsOutcome::V0(outcome) => outcome.cost(), + } + } +} + +impl Drive { + /// Performs a specified drive query and returns the result, along with any skipped items and the cost. + /// + /// This function is used to execute a given [DriveDocumentQuery]. It has options to operate in a dry-run mode + /// and supports different protocol versions. In case an epoch is specified, it calculates the fee. + /// + /// # Arguments + /// + /// * `query` - The [DriveDocumentQuery] being executed. + /// * `epoch` - An `Option<&Epoch>`. If provided, it will be used to calculate the processing fee. + /// * `dry_run` - If true, the function will not perform any actual operation and return a default `QueryDocumentsOutcome`. + /// * `transaction` - The `TransactionArg` holding the transaction data. + /// * `protocol_version` - An `Option` representing the protocol version. If not provided, the function falls back + /// to current or latest version. + /// + /// # Returns + /// + /// * `Result` - Returns `QueryDocumentsOutcome` on success with the list of documents, + /// number of skipped items, and cost. If the operation fails, it returns an `Error`. + pub fn query_documents_with_flags( + &self, + query: DriveDocumentQuery, + epoch: Option<&Epoch>, + dry_run: bool, + transaction: TransactionArg, + protocol_version: Option, + ) -> Result { + let platform_version = PlatformVersion::get_version_or_current_or_latest(protocol_version)?; + + match platform_version + .drive + .methods + .document + .query + .query_documents_with_flags + { + 0 => self.query_documents_with_flags_v0( + query, + epoch, + dry_run, + transaction, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "query_documents_with_flags".to_string(), + known_versions: vec![0], + received: version, + })), + } + .map(|outcome| outcome.into()) + } +} diff --git a/packages/rs-drive/src/drive/document/query/query_documents_with_flags/v0/mod.rs b/packages/rs-drive/src/drive/document/query/query_documents_with_flags/v0/mod.rs new file mode 100644 index 00000000000..8ac9db22ee8 --- /dev/null +++ b/packages/rs-drive/src/drive/document/query/query_documents_with_flags/v0/mod.rs @@ -0,0 +1,125 @@ +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use crate::query::DriveDocumentQuery; +use crate::util::storage_flags::StorageFlags; +use dpp::block::epoch::Epoch; +use dpp::document::serialization_traits::DocumentPlatformConversionMethodsV0; +use dpp::document::Document; +use dpp::version::PlatformVersion; +use grovedb::query_result_type::QueryResultType; +use grovedb::TransactionArg; + +/// The outcome of a query +#[derive(Debug, Default)] +pub struct QueryDocumentsWithFlagsOutcomeV0 { + documents: Vec<(Document, Option)>, + skipped: u16, + cost: u64, +} + +/// Trait defining methods associated with `QueryDocumentsOutcomeV0`. +/// +/// This trait provides a set of methods to interact with and retrieve +/// details from an instance of `QueryDocumentsOutcomeV0`. These methods +/// include retrieving the documents, skipped count, and the associated cost +/// of the query. +pub trait QueryDocumentsWithFlagsOutcomeV0Methods { + /// Returns a reference to the documents and storage flags found from the query. + fn documents(&self) -> &Vec<(Document, Option)>; + /// Consumes the instance to return the owned documents with storage flags. + fn documents_owned(self) -> Vec<(Document, Option)>; + /// Returns the count of items that were skipped during the query. + fn skipped(&self) -> u16; + /// Returns the processing cost associated with the query. + fn cost(&self) -> u64; +} + +impl QueryDocumentsWithFlagsOutcomeV0Methods for QueryDocumentsWithFlagsOutcomeV0 { + fn documents(&self) -> &Vec<(Document, Option)> { + &self.documents + } + + fn documents_owned(self) -> Vec<(Document, Option)> { + self.documents + } + + fn skipped(&self) -> u16 { + self.skipped + } + + fn cost(&self) -> u64 { + self.cost + } +} + +impl Drive { + /// Performs a specified drive query and returns the result, along with any skipped items and the cost. + /// + /// This function is used to execute a given [DriveDocumentQuery]. It has options to operate in a dry-run mode + /// and supports different protocol versions. In case an epoch is specified, it calculates the fee. + /// + /// # Arguments + /// + /// * `query` - The [DriveDocumentQuery] being executed. + /// * `epoch` - An `Option<&Epoch>`. If provided, it will be used to calculate the processing fee. + /// * `dry_run` - If true, the function will not perform any actual operation and return a default `QueryDocumentsOutcome`. + /// * `transaction` - The `TransactionArg` holding the transaction data. + /// * `platform_version` - A reference to the `PlatformVersion` object specifying the version of functions to call. + /// + /// # Returns + /// + /// * `Result` - Returns `QueryDocumentsOutcome` on success with the list of documents, + /// number of skipped items, and cost. If the operation fails, it returns an `Error`. + #[inline(always)] + pub(super) fn query_documents_with_flags_v0( + &self, + query: DriveDocumentQuery, + epoch: Option<&Epoch>, + dry_run: bool, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result { + if dry_run { + return Ok(QueryDocumentsWithFlagsOutcomeV0::default()); + } + let mut drive_operations: Vec = vec![]; + let (items, skipped) = query.execute_no_proof_internal( + self, + QueryResultType::QueryElementResultType, + transaction, + &mut drive_operations, + platform_version, + )?; + let documents = items + .to_elements() + .into_iter() + .map(|element| { + let serialized_item = element.as_item_bytes()?; + let document = + Document::from_bytes(serialized_item, query.document_type, platform_version)?; + let storage_flags = StorageFlags::map_some_element_flags_ref(element.get_flags())?; + Ok((document, storage_flags)) + }) + .collect::)>, Error>>()?; + let cost = if let Some(epoch) = epoch { + let fee_result = Drive::calculate_fee( + None, + Some(drive_operations), + epoch, + self.config.epochs_per_era, + platform_version, + None, + )?; + fee_result.processing_fee + } else { + 0 + }; + + Ok(QueryDocumentsWithFlagsOutcomeV0 { + documents, + skipped, + cost, + }) + } +} diff --git a/packages/rs-drive/src/drive/document/update/internal/update_document_for_contract_operations/v0/mod.rs b/packages/rs-drive/src/drive/document/update/internal/update_document_for_contract_operations/v0/mod.rs index 7d33635c1a7..0c92a15651f 100644 --- a/packages/rs-drive/src/drive/document/update/internal/update_document_for_contract_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/document/update/internal/update_document_for_contract_operations/v0/mod.rs @@ -180,7 +180,7 @@ impl Drive { .map(|&x| Vec::from(x)) .collect(); let top_index_property = index.properties.first().ok_or(Error::Drive( - DriveError::CorruptedContractIndexes("invalid contract indices"), + DriveError::CorruptedContractIndexes("invalid contract indices".to_string()), ))?; index_path.push(Vec::from(top_index_property.name.as_bytes())); @@ -255,7 +255,7 @@ impl Drive { for i in 1..index.properties.len() { let index_property = index.properties.get(i).ok_or(Error::Drive( - DriveError::CorruptedContractIndexes("invalid contract indices"), + DriveError::CorruptedContractIndexes("invalid contract indices".to_string()), ))?; let document_index_field = document @@ -441,7 +441,7 @@ impl Drive { )?; if !inserted { return Err(Error::Drive(DriveError::CorruptedContractIndexes( - "index already exists", + "index already exists".to_string(), ))); } } diff --git a/packages/rs-drive/src/drive/identity/balance/prove.rs b/packages/rs-drive/src/drive/identity/balance/prove.rs index 0f23f06c97a..81542d575a7 100644 --- a/packages/rs-drive/src/drive/identity/balance/prove.rs +++ b/packages/rs-drive/src/drive/identity/balance/prove.rs @@ -38,8 +38,20 @@ impl Drive { transaction: TransactionArg, drive_version: &DriveVersion, ) -> Result, Error> { - let balance_query = - Self::balances_for_identity_ids_query(identity_ids, &drive_version.grove_version)?; + let balance_query = Self::balances_for_identity_ids_query(identity_ids); + self.grove_get_proved_path_query(&balance_query, transaction, &mut vec![], drive_version) + } + + /// Proves multiple Identity balances from the backing store by range + pub fn prove_many_identity_balances_by_range( + &self, + start_at: Option<([u8; 32], bool)>, + ascending: bool, + limit: u16, + transaction: TransactionArg, + drive_version: &DriveVersion, + ) -> Result, Error> { + let balance_query = Self::balances_for_range_query(start_at, ascending, limit); self.grove_get_proved_path_query(&balance_query, transaction, &mut vec![], drive_version) } } diff --git a/packages/rs-drive/src/drive/identity/balance/update.rs b/packages/rs-drive/src/drive/identity/balance/update.rs index cf5fd8800e7..df5644b5463 100644 --- a/packages/rs-drive/src/drive/identity/balance/update.rs +++ b/packages/rs-drive/src/drive/identity/balance/update.rs @@ -474,7 +474,7 @@ mod tests { use dpp::fee::fee_result::FeeResult; use dpp::fee::{Credits, SignedCredits}; use dpp::version::PlatformVersion; - use grovedb::batch::Op; + use grovedb::batch::GroveOp; use grovedb::Element; use nohash_hasher::IntMap; use std::collections::BTreeMap; @@ -549,15 +549,15 @@ mod tests { [ _, _, - LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::SumItem(refund_amount, None), }, .. }), .., - LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::SumItem(other_refund_amount, None), }, .. @@ -645,14 +645,14 @@ mod tests { [ _, _, - LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::SumItem(refund_amount, None), }, .. }), - LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::Item(debt_bytes, None), }, .. @@ -720,8 +720,8 @@ mod tests { [ _, _, - LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::Item(debt_bytes, None), }, .. @@ -775,8 +775,8 @@ mod tests { assert!(matches!( drive_operations[..], - [_, LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + [_, LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::SumItem(balance, None), }, .. @@ -834,14 +834,14 @@ mod tests { &drive_operations[..], [ _, - LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::SumItem(balance, None), }, .. }), - LowLevelDriveOperation::GroveOperation(grovedb::batch::GroveDbOp { - op: Op::Replace { + LowLevelDriveOperation::GroveOperation(grovedb::batch::QualifiedGroveDbOp { + op: GroveOp::Replace { element: Element::Item(debt_bytes, None), }, .. diff --git a/packages/rs-drive/src/drive/identity/contract_info/keys/mod.rs b/packages/rs-drive/src/drive/identity/contract_info/keys/mod.rs index 387c2ab02e4..f005f110f6d 100644 --- a/packages/rs-drive/src/drive/identity/contract_info/keys/mod.rs +++ b/packages/rs-drive/src/drive/identity/contract_info/keys/mod.rs @@ -14,6 +14,7 @@ use platform_version::version::PlatformVersion; use std::collections::BTreeMap; mod add_potential_contract_info_for_contract_bounded_key; +mod refresh_potential_contract_info_key_references; pub enum IdentityDataContractKeyApplyInfo { /// The root_id is either a contract id or an owner id diff --git a/packages/rs-drive/src/drive/identity/contract_info/keys/refresh_potential_contract_info_key_references/mod.rs b/packages/rs-drive/src/drive/identity/contract_info/keys/refresh_potential_contract_info_key_references/mod.rs new file mode 100644 index 00000000000..1ca7c91d3bf --- /dev/null +++ b/packages/rs-drive/src/drive/identity/contract_info/keys/refresh_potential_contract_info_key_references/mod.rs @@ -0,0 +1,71 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use dpp::block::epoch::Epoch; +use dpp::identity::IdentityPublicKey; +use grovedb::batch::KeyInfoPath; +use grovedb::{EstimatedLayerInformation, TransactionArg}; +use platform_version::version::PlatformVersion; +use std::collections::HashMap; + +mod v0; + +impl Drive { + /// Adds potential contract information for a contract-bounded key. + /// + /// This function considers the contract bounds associated with an identity key and forms the operations needed to process the contract information. + /// + /// # Arguments + /// + /// * `identity_id` - An array of bytes representing the identity id. + /// * `identity_key` - A reference to the `IdentityPublicKey` associated with the contract. + /// * `epoch` - The current epoch. + /// * `estimated_costs_only_with_layer_info` - A mutable reference to an optional `HashMap` that may contain estimated layer information. + /// * `transaction` - The transaction arguments. + /// * `drive_operations` - A mutable reference to a vector of `LowLevelDriveOperation` objects. + /// * `platform_version` - A reference to the platform version information. + /// + /// # Returns + /// + /// * `Result<(), Error>` - If successful, returns unit (`()`). If an error occurs during the operation, returns an `Error`. + /// + /// # Errors + /// + /// This function may return an `Error` if the operation creation process fails or if the platform version does not match any of the implemented method versions. + pub(crate) fn refresh_potential_contract_info_key_references( + &self, + identity_id: [u8; 32], + identity_key: &IdentityPublicKey, + epoch: &Epoch, + estimated_costs_only_with_layer_info: &mut Option< + HashMap, + >, + transaction: TransactionArg, + drive_operations: &mut Vec, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + match platform_version + .drive + .methods + .identity + .contract_info + .refresh_potential_contract_info_key_references + { + 0 => self.refresh_potential_contract_info_key_references_v0( + identity_id, + identity_key, + epoch, + estimated_costs_only_with_layer_info, + transaction, + drive_operations, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "refresh_potential_contract_info_key_references".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/identity/contract_info/keys/refresh_potential_contract_info_key_references/v0/mod.rs b/packages/rs-drive/src/drive/identity/contract_info/keys/refresh_potential_contract_info_key_references/v0/mod.rs new file mode 100644 index 00000000000..8183b3ae9ec --- /dev/null +++ b/packages/rs-drive/src/drive/identity/contract_info/keys/refresh_potential_contract_info_key_references/v0/mod.rs @@ -0,0 +1,337 @@ +use crate::drive::identity::contract_info::keys::IdentityDataContractKeyApplyInfo; +use crate::drive::identity::{ + identity_contract_info_group_keys_path_vec, identity_contract_info_group_path_key_purpose_vec, + identity_key_location_within_identity_vec, +}; +use crate::drive::Drive; +use crate::error::contract::DataContractError; +use crate::error::identity::IdentityError; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use dpp::block::epoch::Epoch; +use dpp::data_contract::accessors::v0::DataContractV0Getters; +use dpp::data_contract::config::v0::DataContractConfigGettersV0; +use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; +use dpp::data_contract::storage_requirements::keys_for_document_type::StorageKeyRequirements; +use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; +use dpp::identity::{IdentityPublicKey, Purpose}; +use dpp::version::PlatformVersion; +use grovedb::batch::KeyInfoPath; +use grovedb::reference_path::ReferencePathType::{SiblingReference, UpstreamRootHeightReference}; +use grovedb::{Element, EstimatedLayerInformation, TransactionArg}; +use grovedb_costs::OperationCost; +use integer_encoding::VarInt; +use std::collections::HashMap; + +impl Drive { + #[inline(always)] + pub(in crate::drive::identity::contract_info) fn refresh_potential_contract_info_key_references_v0( + &self, + identity_id: [u8; 32], + identity_key: &IdentityPublicKey, + epoch: &Epoch, + estimated_costs_only_with_layer_info: &mut Option< + HashMap, + >, + transaction: TransactionArg, + drive_operations: &mut Vec, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + if let Some(contract_bounds) = &identity_key.contract_bounds() { + // We need to get the contract + let contract_apply_info = IdentityDataContractKeyApplyInfo::new_from_single_key( + identity_key.id(), + identity_key.purpose(), + contract_bounds, + self, + epoch, + transaction, + drive_operations, + platform_version, + )?; + self.refresh_contract_info_operations_v0( + identity_id, + epoch, + vec![contract_apply_info], + estimated_costs_only_with_layer_info, + transaction, + drive_operations, + platform_version, + )?; + } + Ok(()) + } + + /// Refreshes keys for the contract info + fn refresh_contract_info_operations_v0( + &self, + identity_id: [u8; 32], + epoch: &Epoch, + contract_infos: Vec, + estimated_costs_only_with_layer_info: &mut Option< + HashMap, + >, + transaction: TransactionArg, + drive_operations: &mut Vec, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + if let Some(estimated_costs_only_with_layer_info) = estimated_costs_only_with_layer_info { + Self::add_estimation_costs_for_contract_info( + &identity_id, + estimated_costs_only_with_layer_info, + &platform_version.drive, + )?; + } + + for contract_info in contract_infos.into_iter() { + let root_id = contract_info.root_id(); + + let contract = if estimated_costs_only_with_layer_info.is_none() { + // we should start by fetching the contract + let (fee, contract) = self.get_contract_with_fetch_info_and_fee( + root_id, + Some(epoch), + true, + transaction, + platform_version, + )?; + + let fee = fee.ok_or(Error::Identity( + IdentityError::IdentityKeyDataContractNotFound, + ))?; + let contract = contract.ok_or(Error::Identity( + IdentityError::IdentityKeyDataContractNotFound, + ))?; + drive_operations.push(LowLevelDriveOperation::PreCalculatedFeeResult(fee)); + Some(contract) + } else { + drive_operations.push(LowLevelDriveOperation::CalculatedCostOperation( + OperationCost { + seek_count: 1, + storage_cost: Default::default(), + storage_loaded_bytes: 100, + hash_node_calls: 0, + }, + )); + None + }; + + let (document_keys, contract_or_family_keys) = contract_info.keys(); + + for (key_id, purpose) in contract_or_family_keys { + if let Some(estimated_costs_only_with_layer_info) = + estimated_costs_only_with_layer_info + { + Self::add_estimation_costs_for_contract_info_group_key_purpose( + &identity_id, + &root_id, + purpose, + estimated_costs_only_with_layer_info, + &platform_version.drive, + )?; + } + + // we need to add a reference to the key + let key_id_bytes = key_id.encode_var_vec(); + let key_reference = + identity_key_location_within_identity_vec(key_id_bytes.as_slice()); + + let reference_type_path = UpstreamRootHeightReference(2, key_reference); + + // at this point we want to know if the contract is single key or multiple key + let storage_key_requirements = contract + .as_ref() + .map(|contract| match purpose { + Purpose::ENCRYPTION => { + let encryption_storage_key_requirements = contract + .contract + .config() + .requires_identity_encryption_bounded_key() + .ok_or(Error::DataContract( + DataContractError::KeyBoundsExpectedButNotPresent( + "expected encryption key bounds for encryption", + ), + ))?; + Ok(encryption_storage_key_requirements) + } + Purpose::DECRYPTION => { + let decryption_storage_key_requirements = contract + .contract + .config() + .requires_identity_decryption_bounded_key() + .ok_or(Error::DataContract( + DataContractError::KeyBoundsExpectedButNotPresent( + "expected encryption key bounds for decryption", + ), + ))?; + Ok(decryption_storage_key_requirements) + } + _ => Err(Error::Identity(IdentityError::IdentityKeyBoundsError( + "purpose not available for key bounds", + ))), + }) + .transpose()? + .unwrap_or(StorageKeyRequirements::MultipleReferenceToLatest); + + // if we are multiple we refresh the key under the key bytes, otherwise it is under 0 + + let key = if storage_key_requirements == StorageKeyRequirements::Unique { + vec![] + } else { + key_id_bytes.clone() + }; + + self.batch_refresh_reference( + identity_contract_info_group_path_key_purpose_vec( + &identity_id, + &root_id, + purpose, + ), + key, + Element::Reference(reference_type_path, Some(1), None), + true, + drive_operations, + &platform_version.drive, + )?; + + if storage_key_requirements == StorageKeyRequirements::MultipleReferenceToLatest { + // we also refresh the sibling reference, so we can query the current key + + let sibling_ref_type_path = SiblingReference(key_id_bytes); + + self.batch_refresh_reference( + identity_contract_info_group_keys_path_vec(&identity_id, &root_id), + vec![], + Element::Reference(sibling_ref_type_path, Some(2), None), + true, + drive_operations, + &platform_version.drive, + )?; + } + } + + for (document_type_name, document_key_ids) in document_keys { + // The path is the concatenation of the contract_id and the document type name + let mut contract_id_bytes_with_document_type_name = root_id.to_vec(); + contract_id_bytes_with_document_type_name.extend(document_type_name.as_bytes()); + + if let Some(estimated_costs_only_with_layer_info) = + estimated_costs_only_with_layer_info + { + Self::add_estimation_costs_for_contract_info_group( + &identity_id, + &contract_id_bytes_with_document_type_name, + estimated_costs_only_with_layer_info, + &platform_version.drive, + )?; + + Self::add_estimation_costs_for_contract_info_group_keys( + &identity_id, + &contract_id_bytes_with_document_type_name, + estimated_costs_only_with_layer_info, + &platform_version.drive, + )?; + } + + for (key_id, purpose) in document_key_ids { + if let Some(estimated_costs_only_with_layer_info) = + estimated_costs_only_with_layer_info + { + Self::add_estimation_costs_for_contract_info_group_key_purpose( + &identity_id, + &contract_id_bytes_with_document_type_name, + purpose, + estimated_costs_only_with_layer_info, + &platform_version.drive, + )?; + } + + // we need to add a reference to the key + let key_id_bytes = key_id.encode_var_vec(); + let key_reference = + identity_key_location_within_identity_vec(key_id_bytes.as_slice()); + + let reference = UpstreamRootHeightReference(2, key_reference); + + // at this point we want to know if the contract is single key or multiple key + let storage_key_requirements = contract + .as_ref() + .map(|contract| match purpose { + Purpose::ENCRYPTION => { + let document_type = contract + .contract + .document_type_for_name(document_type_name.as_str())?; + let encryption_storage_key_requirements = document_type + .requires_identity_encryption_bounded_key() + .ok_or(Error::DataContract( + DataContractError::KeyBoundsExpectedButNotPresent( + "expected encryption key bounds in document type", + ), + ))?; + Ok(encryption_storage_key_requirements) + } + Purpose::DECRYPTION => { + let document_type = contract + .contract + .document_type_for_name(document_type_name.as_str())?; + let decryption_storage_key_requirements = document_type + .requires_identity_decryption_bounded_key() + .ok_or(Error::DataContract( + DataContractError::KeyBoundsExpectedButNotPresent( + "expected encryption key bounds in document type", + ), + ))?; + Ok(decryption_storage_key_requirements) + } + _ => Err(Error::Identity(IdentityError::IdentityKeyBoundsError( + "purpose not available for key bounds", + ))), + }) + .transpose()? + .unwrap_or(StorageKeyRequirements::MultipleReferenceToLatest); + + let key = if storage_key_requirements == StorageKeyRequirements::Unique { + vec![] + } else { + key_id_bytes.clone() + }; + + self.batch_refresh_reference( + identity_contract_info_group_path_key_purpose_vec( + &identity_id, + &contract_id_bytes_with_document_type_name, + purpose, + ), + key, + Element::Reference(reference, Some(1), None), + true, + drive_operations, + &platform_version.drive, + )?; + + if storage_key_requirements == StorageKeyRequirements::MultipleReferenceToLatest + { + // we also need to refresh the sibling reference, so we can query the current key + + let sibling_ref_type_path = SiblingReference(key_id_bytes); + + self.batch_refresh_reference( + identity_contract_info_group_path_key_purpose_vec( + &identity_id, + &contract_id_bytes_with_document_type_name, + purpose, + ), + vec![], + Element::Reference(sibling_ref_type_path, Some(2), None), + true, + drive_operations, + &platform_version.drive, + )?; + } + } + } + } + + Ok(()) + } +} diff --git a/packages/rs-drive/src/drive/identity/fetch/mod.rs b/packages/rs-drive/src/drive/identity/fetch/mod.rs index 01ad75add42..79270a3569f 100644 --- a/packages/rs-drive/src/drive/identity/fetch/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/mod.rs @@ -29,6 +29,10 @@ use grovedb::TransactionArg; #[cfg(any(feature = "server", feature = "verify"))] use grovedb::{PathQuery, SizedQuery}; +#[cfg(feature = "server")] +use dpp::fee::Credits; + +#[cfg(feature = "server")] use platform_version::version::PlatformVersion; #[cfg(feature = "server")] use std::collections::BTreeMap; @@ -160,52 +164,110 @@ impl Drive { .collect() } - // TODO: We deal with it in an upcoming PR (Sam!!) - // /// Given a vector of identities, fetches the identities with their keys - // /// matching the request from storage. - // pub fn fetch_identities_with_keys( - // &self, - // ids: Vec<[u8; 32]>, - // key_ref_request: KeyRequestType, - // transaction: TransactionArg, - // ) -> Result, Error> { - // let key_request = IdentityKeysRequest { - // identity_id: [], - // key_request: KeyRequestType::AllKeysRequest, - // limit: None, - // offset: None, - // } - // let mut query = Query::new(); - // query.set_subquery_key(IDENTITY_KEY.to_vec()); - // - // let (result_items, _) = self - // .grove - // .query_raw(&path_query, QueryElementResultType, transaction) - // .unwrap() - // .map_err(Error::GroveDB)?; - // - // result_items - // .to_elements() - // .into_iter() - // .map(|element| { - // if let Element::Item(identity_cbor, element_flags) = &element { - // let identity = - // Identity::from_buffer(identity_cbor.as_slice()).map_err(|_| { - // Error::Identity(IdentityError::IdentitySerialization( - // "failed to deserialize an identity", - // )) - // })?; - // - // Ok(( - // identity, - // StorageFlags::from_some_element_flags_ref(element_flags)?, - // )) - // } else { - // Err(Error::Drive(DriveError::CorruptedIdentityNotItem( - // "identity must be an item", - // ))) - // } - // }) - // .collect() - // } + #[cfg(feature = "server")] + /// Given a vector of identities, fetches the identities from storage. + pub fn fetch_optional_identities_balances( + &self, + ids: &Vec<[u8; 32]>, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let mut query = Query::new(); + for id in ids { + query.insert_item(QueryItem::Key(id.to_vec())); + } + let path_query = PathQuery { + path: vec![vec![RootTree::Balances as u8]], + query: SizedQuery { + query, + limit: Some(self.config.max_query_limit), + offset: None, + }, + }; + let results = self + .grove + .query_raw_keys_optional( + &path_query, + true, + true, + true, + transaction, + &platform_version.drive.grove_version, + ) + .unwrap() + .map_err(Error::GroveDB)?; + + results + .into_iter() + .map(|(_, key, element)| { + let identifier: [u8; 32] = key.try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization(String::from( + "expected 32 bytes", + ))) + })?; + + let balance = element + .map(|element| { + if let SumItem(balance, _) = &element { + Ok(*balance as u64) + } else { + Err(Error::Drive(DriveError::CorruptedIdentityNotItem( + "identity balance must be a sum item", + ))) + } + }) + .transpose()?; + + Ok((identifier, balance)) + }) + .collect() + } + + #[cfg(feature = "server")] + /// Given a vector of identities, fetches the identities from storage. + pub fn fetch_many_identity_balances_by_range( + &self, + start_at: Option<([u8; 32], bool)>, + ascending: bool, + limit: u16, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result + where + I: FromIterator<([u8; 32], u64)>, + { + let balance_query = Self::balances_for_range_query(start_at, ascending, limit); + let (result_items, _) = self + .grove + .query_raw( + &balance_query, + true, + true, + true, + QueryKeyElementPairResultType, + transaction, + &platform_version.drive.grove_version, + ) + .unwrap() + .map_err(Error::GroveDB)?; + + result_items + .to_key_elements() + .into_iter() + .map(|key_element| { + if let SumItem(balance, _) = &key_element.1 { + let identifier: [u8; 32] = key_element.0.try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization(String::from( + "expected 32 bytes", + ))) + })?; + Ok((identifier, *balance as u64)) + } else { + Err(Error::Drive(DriveError::CorruptedIdentityNotItem( + "identity balance must be a sum item", + ))) + } + }) + .collect() + } } diff --git a/packages/rs-drive/src/drive/identity/fetch/queries/mod.rs b/packages/rs-drive/src/drive/identity/fetch/queries/mod.rs index aa12b299102..f7832d2274f 100644 --- a/packages/rs-drive/src/drive/identity/fetch/queries/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/queries/mod.rs @@ -1,6 +1,7 @@ use crate::drive::balances::balance_path_vec; use crate::drive::identity::key::fetch::IdentityKeysRequest; use crate::drive::{identity_tree_path_vec, unique_key_hashes_tree_path_vec, Drive}; +use std::ops::RangeFull; use crate::error::Error; @@ -13,7 +14,7 @@ use crate::drive::identity::{ use crate::error::query::QuerySyntaxError; use dpp::identity::Purpose; use grovedb::query_result_type::Key; -use grovedb::{PathQuery, Query, SizedQuery}; +use grovedb::{PathQuery, Query, QueryItem, SizedQuery}; use grovedb_version::version::GroveVersion; /// An enumeration representing the types of identity prove requests. @@ -133,15 +134,55 @@ impl Drive { } /// The query getting all balances and revision - pub fn balances_for_identity_ids_query( - identity_ids: &[[u8; 32]], - grove_version: &GroveVersion, - ) -> Result { - let path_queries: Vec = identity_ids - .iter() - .map(Self::identity_balance_query) - .collect::>(); - PathQuery::merge(path_queries.iter().collect(), grove_version).map_err(Error::GroveDB) + pub fn balances_for_identity_ids_query(identity_ids: &[[u8; 32]]) -> PathQuery { + let balance_path = balance_path_vec(); + let mut query = Query::new(); + query.insert_keys(identity_ids.iter().map(|key| key.to_vec()).collect()); + PathQuery { + path: balance_path, + query: SizedQuery { + query, + limit: None, + offset: None, + }, + } + } + + /// The query getting all balances and revision + pub fn balances_for_range_query( + start_at: Option<([u8; 32], bool)>, + ascending: bool, + limit: u16, + ) -> PathQuery { + let balance_path = balance_path_vec(); + let mut query = Query::new_with_direction(ascending); + if ascending { + if let Some((start_at, start_at_included)) = start_at { + if start_at_included { + query.insert_item(QueryItem::RangeFrom(start_at.to_vec()..)) + } else { + query.insert_item(QueryItem::RangeAfter(start_at.to_vec()..)) + } + } else { + query.insert_item(QueryItem::RangeFull(RangeFull)) + } + } else if let Some((start_at, start_at_included)) = start_at { + if start_at_included { + query.insert_item(QueryItem::RangeToInclusive(..=start_at.to_vec())) + } else { + query.insert_item(QueryItem::RangeTo(..start_at.to_vec())) + } + } else { + query.insert_item(QueryItem::RangeFull(RangeFull)) + } + PathQuery { + path: balance_path, + query: SizedQuery { + query, + limit: Some(limit), + offset: None, + }, + } } /// The query getting all keys and balance and revision diff --git a/packages/rs-drive/src/drive/identity/insert/add_new_identity/v0/mod.rs b/packages/rs-drive/src/drive/identity/insert/add_new_identity/v0/mod.rs index 1665f79e9a8..6b6dfbf6d08 100644 --- a/packages/rs-drive/src/drive/identity/insert/add_new_identity/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/insert/add_new_identity/v0/mod.rs @@ -189,6 +189,7 @@ impl Drive { .iter() .map(|identity_public_key| identity_public_key.id()) .collect(), + &block_info.epoch, estimated_costs_only_with_layer_info, transaction, platform_version, diff --git a/packages/rs-drive/src/drive/identity/key/fetch/fetch_identity_keys/v0/mod.rs b/packages/rs-drive/src/drive/identity/key/fetch/fetch_identity_keys/v0/mod.rs index d9a4edf0fa5..877634eec00 100644 --- a/packages/rs-drive/src/drive/identity/key/fetch/fetch_identity_keys/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/fetch/fetch_identity_keys/v0/mod.rs @@ -1,5 +1,6 @@ use crate::drive::identity::key::fetch::KeyRequestType::{ - AllKeys, ContractBoundKey, ContractDocumentTypeBoundKey, SearchKey, SpecificKeys, + AllKeys, ContractBoundKey, ContractDocumentTypeBoundKey, RecentWithdrawalKeys, SearchKey, + SpecificKeys, }; use crate::drive::identity::key::fetch::{ IdentityKeysRequest, IdentityPublicKeyResult, KeyKindRequestType, @@ -79,10 +80,11 @@ impl Drive { T::try_from_path_key_optional(result, platform_version) } ContractBoundKey(_, _, KeyKindRequestType::AllKeysOfKindRequest) - | ContractDocumentTypeBoundKey(_, _, _, KeyKindRequestType::AllKeysOfKindRequest) => { + | ContractDocumentTypeBoundKey(_, _, _, KeyKindRequestType::AllKeysOfKindRequest) + | RecentWithdrawalKeys => { let path_query = key_request.into_path_query(); - let (result, _) = self.grove_get_raw_path_query( + let (result, _) = self.grove_get_path_query( &path_query, transaction, QueryPathKeyElementTrioResultType, diff --git a/packages/rs-drive/src/drive/identity/key/fetch/mod.rs b/packages/rs-drive/src/drive/identity/key/fetch/mod.rs index 4567278c784..248e7cd9046 100644 --- a/packages/rs-drive/src/drive/identity/key/fetch/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/fetch/mod.rs @@ -22,6 +22,7 @@ use { }; // Conditional imports for the feature "server" +use crate::drive::identity::identity_transfer_keys_path_vec; #[cfg(feature = "server")] use { crate::error::{drive::DriveError, fee::FeeError, identity::IdentityError, Error}, @@ -74,6 +75,8 @@ pub enum KeyRequestType { SpecificKeys(Vec), /// Search for keys on an identity SearchKey(BTreeMap>), + /// Recent withdrawal keys + RecentWithdrawalKeys, /// Search for contract bound keys ContractBoundKey([u8; 32], Purpose, KeyKindRequestType), /// Search for contract bound keys @@ -655,7 +658,9 @@ impl IdentityKeysRequest { .fee_version .processing .fetch_single_identity_key_processing_cost), - SearchKey(_search) => todo!(), + SearchKey(_) => Err(Error::Fee(FeeError::OperationNotAllowed( + "You can not get costs for requesting search key", + ))), ContractBoundKey(_, _, key_kind) | ContractDocumentTypeBoundKey(_, _, _, key_kind) => { match key_kind { CurrentKeyOfKindRequest => { @@ -670,6 +675,11 @@ impl IdentityKeysRequest { ))), } } + KeyRequestType::RecentWithdrawalKeys => Ok(self.limit.unwrap_or(10) as Credits + * platform_version + .fee_version + .processing + .fetch_single_identity_key_processing_cost), } } @@ -927,6 +937,19 @@ impl IdentityKeysRequest { }, } } + KeyRequestType::RecentWithdrawalKeys => { + let query_keys_path = identity_transfer_keys_path_vec(&identity_id); + let mut query = Query::new_with_direction(false); + query.insert_all(); + PathQuery { + path: query_keys_path, + query: SizedQuery { + query, + limit, + offset, + }, + } + } } } diff --git a/packages/rs-drive/src/drive/identity/key/insert/create_new_identity_key_query_trees/v0/mod.rs b/packages/rs-drive/src/drive/identity/key/insert/create_new_identity_key_query_trees/v0/mod.rs index 041ae38b51b..0e5c38f85cd 100644 --- a/packages/rs-drive/src/drive/identity/key/insert/create_new_identity_key_query_trees/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/insert/create_new_identity_key_query_trees/v0/mod.rs @@ -33,8 +33,9 @@ impl Drive { )?; } - // There are 4 Purposes: Authentication, Encryption, Decryption, Transfer - for purpose in Purpose::authentication_and_transfer() { + // There are 5 Purposes: Authentication, Encryption, Decryption, Transfer and Voting + // Searchable purposes are Authentication, Transfer and Voting + for purpose in Purpose::searchable_purposes() { self.batch_insert_empty_tree( identity_query_key_tree, DriveKeyInfo::Key(vec![purpose as u8]), diff --git a/packages/rs-drive/src/drive/identity/key/insert/insert_key_searchable_references/v0/mod.rs b/packages/rs-drive/src/drive/identity/key/insert/insert_key_searchable_references/v0/mod.rs index 07d076b007f..8ae39f8b345 100644 --- a/packages/rs-drive/src/drive/identity/key/insert/insert_key_searchable_references/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/insert/insert_key_searchable_references/v0/mod.rs @@ -1,7 +1,8 @@ use crate::drive::identity::{ identity_key_location_within_identity_vec, identity_query_keys_for_authentication_full_tree_path, - identity_query_keys_for_transfer_full_tree_path, identity_query_keys_purpose_tree_path, + identity_query_keys_for_direct_searchable_reference_full_tree_path, + identity_query_keys_purpose_tree_path, }; use crate::drive::Drive; use crate::error::Error; @@ -116,10 +117,13 @@ impl Drive { drive_version, ) } - Purpose::TRANSFER => { + Purpose::TRANSFER | Purpose::VOTING => { // Now let's set the reference let reference_path = - identity_query_keys_for_transfer_full_tree_path(identity_id.as_slice()); + identity_query_keys_for_direct_searchable_reference_full_tree_path( + purpose, + identity_id.as_slice(), + ); let key_reference = identity_key_location_within_identity_vec(key_id_bytes); self.batch_insert( PathFixedSizeKeyRefElement(( diff --git a/packages/rs-drive/src/drive/identity/key/insert/insert_new_non_unique_key/v0/mod.rs b/packages/rs-drive/src/drive/identity/key/insert/insert_new_non_unique_key/v0/mod.rs index 12ec7f22c74..9046e151ece 100644 --- a/packages/rs-drive/src/drive/identity/key/insert/insert_new_non_unique_key/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/insert/insert_new_non_unique_key/v0/mod.rs @@ -12,7 +12,7 @@ use platform_version::version::PlatformVersion; use std::collections::HashMap; impl Drive { - /// Insert a new non unique key into an identity operations + /// Insert a new non-unique key into an identity operations pub(super) fn insert_new_non_unique_key_operations_v0( &self, identity_id: [u8; 32], @@ -63,7 +63,7 @@ impl Drive { if with_searchable_inner_references && matches!( identity_key.purpose(), - Purpose::AUTHENTICATION | Purpose::TRANSFER + Purpose::AUTHENTICATION | Purpose::TRANSFER | Purpose::VOTING ) { self.insert_key_searchable_references_operations( diff --git a/packages/rs-drive/src/drive/identity/key/insert/insert_new_unique_key/v0/mod.rs b/packages/rs-drive/src/drive/identity/key/insert/insert_new_unique_key/v0/mod.rs index 5f2f2c906ef..ad12a17b3cc 100644 --- a/packages/rs-drive/src/drive/identity/key/insert/insert_new_unique_key/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/insert/insert_new_unique_key/v0/mod.rs @@ -59,7 +59,7 @@ impl Drive { if with_searchable_inner_references && matches!( identity_key.purpose(), - Purpose::AUTHENTICATION | Purpose::TRANSFER + Purpose::AUTHENTICATION | Purpose::TRANSFER | Purpose::VOTING ) { self.insert_key_searchable_references_operations( diff --git a/packages/rs-drive/src/drive/identity/key/insert_key_hash_identity_reference/insert_non_unique_public_key_hash_reference_to_identity/v0/mod.rs b/packages/rs-drive/src/drive/identity/key/insert_key_hash_identity_reference/insert_non_unique_public_key_hash_reference_to_identity/v0/mod.rs index 9bfbac8ff16..11affc461d7 100644 --- a/packages/rs-drive/src/drive/identity/key/insert_key_hash_identity_reference/insert_non_unique_public_key_hash_reference_to_identity/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/insert_key_hash_identity_reference/insert_non_unique_public_key_hash_reference_to_identity/v0/mod.rs @@ -13,11 +13,12 @@ use crate::fees::op::LowLevelDriveOperation; use dpp::version::drive_versions::DriveVersion; use grovedb::batch::KeyInfoPath; +use dpp::prelude::Identifier; use grovedb::{Element, EstimatedLayerInformation, TransactionArg}; use std::collections::HashMap; impl Drive { - /// Insert a non unique public key hash reference that contains an identity id + /// Insert a non-unique public key hash reference that contains an identity id /// Contrary to the name this is not a reference but an Item containing the identity /// identifier pub(super) fn insert_non_unique_public_key_hash_reference_to_identity_operations_v0( @@ -74,7 +75,7 @@ impl Drive { if already_exists_for_identity { return Err(Error::Identity(IdentityError::IdentityKeyAlreadyExists( - "the key already exists for this user", + format!("the key with a public hash of {} already exists for this identity {} ({})", hex::encode(public_key_hash) , Identifier::new(identity_id), hex::encode(identity_id.as_slice())) ))); } } diff --git a/packages/rs-drive/src/drive/identity/mod.rs b/packages/rs-drive/src/drive/identity/mod.rs index afd1b3461b6..1922e74b884 100644 --- a/packages/rs-drive/src/drive/identity/mod.rs +++ b/packages/rs-drive/src/drive/identity/mod.rs @@ -259,7 +259,6 @@ pub(crate) fn identity_query_keys_purpose_tree_path_vec( /// identity query keys security level tree path vec #[cfg(feature = "server")] -/// Identity query keys security level tree path vec pub(crate) fn identity_query_keys_security_level_tree_path_vec( identity_id: &[u8], security_level: SecurityLevel, @@ -276,16 +275,18 @@ pub(crate) fn identity_query_keys_security_level_tree_path_vec( /// identity query keys full tree path #[cfg(feature = "server")] /// Identity query keys full tree path -pub(crate) fn identity_query_keys_for_transfer_full_tree_path(identity_id: &[u8]) -> [&[u8]; 4] { +pub(crate) fn identity_query_keys_for_direct_searchable_reference_full_tree_path( + purpose: Purpose, + identity_id: &[u8], +) -> [&[u8]; 4] { [ Into::<&[u8; 1]>::into(RootTree::Identities), identity_id, Into::<&[u8; 1]>::into(IdentityRootStructure::IdentityTreeKeyReferences), - Into::<&[u8; 1]>::into(Purpose::TRANSFER), + Into::<&[u8; 1]>::into(purpose), ] } -/// identity query keys full tree path #[cfg(feature = "server")] /// Identity query keys full tree path pub(crate) fn identity_query_keys_for_authentication_full_tree_path<'a>( @@ -301,6 +302,28 @@ pub(crate) fn identity_query_keys_for_authentication_full_tree_path<'a>( ] } +/// Identity query keys for transfer full tree path +#[cfg(feature = "server")] +pub fn identity_transfer_keys_tree_path(identity_id: &[u8]) -> [&[u8]; 5] { + [ + Into::<&[u8; 1]>::into(RootTree::Identities), + identity_id, + Into::<&[u8; 1]>::into(IdentityRootStructure::IdentityTreeKeyReferences), + Into::<&[u8; 1]>::into(Purpose::TRANSFER), + Into::<&[u8; 1]>::into(SecurityLevel::CRITICAL), + ] +} + +/// Identity query keys for transfer full tree path as vec +pub fn identity_transfer_keys_path_vec(identity_id: &[u8]) -> Vec> { + vec![ + vec![RootTree::Identities as u8], + identity_id.to_vec(), + vec![IdentityRootStructure::IdentityTreeKeyReferences as u8], + vec![Purpose::TRANSFER as u8], + ] +} + /// The root structure of identities #[cfg(any(feature = "server", feature = "verify"))] #[repr(u8)] diff --git a/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/mod.rs b/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/mod.rs index 127c020f27c..9305f6c3544 100644 --- a/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/mod.rs +++ b/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/mod.rs @@ -13,6 +13,7 @@ use dpp::version::PlatformVersion; use grovedb::batch::KeyInfoPath; use grovedb::{EstimatedLayerInformation, TransactionArg}; +use dpp::block::epoch::Epoch; use std::collections::HashMap; impl Drive { @@ -84,6 +85,7 @@ impl Drive { identity_id: [u8; 32], key_ids: Vec, disable_at: TimestampMillis, + epoch: &Epoch, estimated_costs_only_with_layer_info: &mut Option< HashMap, >, @@ -101,6 +103,7 @@ impl Drive { identity_id, key_ids, disable_at, + epoch, estimated_costs_only_with_layer_info, transaction, platform_version, diff --git a/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/v0/mod.rs b/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/v0/mod.rs index 4f4052dac99..f1505c71d36 100644 --- a/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/update/methods/disable_identity_keys/v0/mod.rs @@ -16,6 +16,7 @@ use dpp::identity::identity_public_key::accessors::v0::{ use dpp::identity::{IdentityPublicKey, KeyID}; use dpp::prelude::TimestampMillis; +use dpp::block::epoch::Epoch; use dpp::version::PlatformVersion; use dpp::ProtocolError; use grovedb::{EstimatedLayerInformation, TransactionArg}; @@ -44,6 +45,7 @@ impl Drive { identity_id, keys_ids, disable_at, + &block_info.epoch, &mut estimated_costs_only_with_layer_info, transaction, platform_version, @@ -99,6 +101,7 @@ impl Drive { identity_id: [u8; 32], key_ids: Vec, disable_at: TimestampMillis, + epoch: &Epoch, estimated_costs_only_with_layer_info: &mut Option< HashMap, >, @@ -120,6 +123,11 @@ impl Drive { estimated_costs_only_with_layer_info, drive_version, )?; + Self::add_estimation_costs_for_root_key_reference_tree( + identity_id, + estimated_costs_only_with_layer_info, + drive_version, + )?; key_ids .into_iter() .map(|key_id| { @@ -167,6 +175,16 @@ impl Drive { &mut drive_operations, drive_version, )?; + + self.refresh_identity_key_reference_operations( + identity_id, + &key, + epoch, + estimated_costs_only_with_layer_info, + transaction, + &mut drive_operations, + platform_version, + )? } Ok(drive_operations) diff --git a/packages/rs-drive/src/drive/identity/update/methods/mod.rs b/packages/rs-drive/src/drive/identity/update/methods/mod.rs index 4de31c83ffa..a0145681117 100644 --- a/packages/rs-drive/src/drive/identity/update/methods/mod.rs +++ b/packages/rs-drive/src/drive/identity/update/methods/mod.rs @@ -7,5 +7,6 @@ mod apply_balance_change_from_fee_to_identity; mod disable_identity_keys; pub(crate) mod merge_identity_nonce; mod re_enable_identity_keys; +mod refresh_identity_key_reference_operations; mod remove_from_identity_balance; mod update_identity_revision; diff --git a/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/mod.rs b/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/mod.rs index ac2bba2f825..dd89d99f60f 100644 --- a/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/mod.rs +++ b/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/mod.rs @@ -10,6 +10,7 @@ use dpp::version::PlatformVersion; use grovedb::batch::KeyInfoPath; use grovedb::{EstimatedLayerInformation, TransactionArg}; +use dpp::block::epoch::Epoch; use std::collections::HashMap; impl Drive { @@ -35,6 +36,7 @@ impl Drive { &self, identity_id: [u8; 32], key_ids: Vec, + epoch: &Epoch, estimated_costs_only_with_layer_info: &mut Option< HashMap, >, @@ -51,6 +53,7 @@ impl Drive { 0 => self.re_enable_identity_keys_operations_v0( identity_id, key_ids, + epoch, estimated_costs_only_with_layer_info, transaction, platform_version, diff --git a/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/v0/mod.rs b/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/v0/mod.rs index 9d81926d17a..1434691be2f 100644 --- a/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/update/methods/re_enable_identity_keys/v0/mod.rs @@ -10,6 +10,7 @@ use dpp::identity::identity_public_key::accessors::v0::{ }; use dpp::identity::{IdentityPublicKey, KeyID}; +use dpp::block::epoch::Epoch; use dpp::version::PlatformVersion; use dpp::ProtocolError; use grovedb::batch::KeyInfoPath; @@ -45,6 +46,7 @@ impl Drive { &self, identity_id: [u8; 32], key_ids: Vec, + epoch: &Epoch, estimated_costs_only_with_layer_info: &mut Option< HashMap, >, @@ -112,6 +114,16 @@ impl Drive { &mut drive_operations, drive_version, )?; + + self.refresh_identity_key_reference_operations( + identity_id, + &key, + epoch, + estimated_costs_only_with_layer_info, + transaction, + &mut drive_operations, + platform_version, + )? } Ok(drive_operations) diff --git a/packages/rs-drive/src/drive/identity/update/methods/refresh_identity_key_reference_operations/mod.rs b/packages/rs-drive/src/drive/identity/update/methods/refresh_identity_key_reference_operations/mod.rs new file mode 100644 index 00000000000..cf10dce2368 --- /dev/null +++ b/packages/rs-drive/src/drive/identity/update/methods/refresh_identity_key_reference_operations/mod.rs @@ -0,0 +1,53 @@ +mod v0; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; + +use dpp::version::PlatformVersion; +use grovedb::batch::KeyInfoPath; +use grovedb::{EstimatedLayerInformation, TransactionArg}; + +use dpp::block::epoch::Epoch; +use dpp::identity::IdentityPublicKey; +use std::collections::HashMap; + +impl Drive { + /// Refreshes the identity key reference + pub fn refresh_identity_key_reference_operations( + &self, + identity_id: [u8; 32], + key: &IdentityPublicKey, + epoch: &Epoch, + estimated_costs_only_with_layer_info: &mut Option< + HashMap, + >, + transaction: TransactionArg, + drive_operations: &mut Vec, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + match platform_version + .drive + .methods + .identity + .update + .refresh_identity_key_reference_operations + { + 0 => self.refresh_identity_key_reference_operations_v0( + identity_id, + key, + epoch, + estimated_costs_only_with_layer_info, + transaction, + drive_operations, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "refresh_identity_key_reference_v0".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/identity/update/methods/refresh_identity_key_reference_operations/v0/mod.rs b/packages/rs-drive/src/drive/identity/update/methods/refresh_identity_key_reference_operations/v0/mod.rs new file mode 100644 index 00000000000..9c1a800722a --- /dev/null +++ b/packages/rs-drive/src/drive/identity/update/methods/refresh_identity_key_reference_operations/v0/mod.rs @@ -0,0 +1,110 @@ +use crate::drive::identity::{ + identity_key_location_within_identity_vec, identity_query_keys_purpose_tree_path_vec, + identity_query_keys_security_level_tree_path_vec, +}; +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use dpp::block::epoch::Epoch; +use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; +use dpp::identity::{IdentityPublicKey, Purpose}; +use grovedb::batch::KeyInfoPath; +use grovedb::reference_path::ReferencePathType; +use grovedb::{Element, EstimatedLayerInformation, TransactionArg}; +use integer_encoding::VarInt; +use platform_version::version::PlatformVersion; +use std::collections::HashMap; + +impl Drive { + /// Refreshes identity key reference operations. + pub fn refresh_identity_key_reference_operations_v0( + &self, + identity_id: [u8; 32], + key: &IdentityPublicKey, + epoch: &Epoch, + estimated_costs_only_with_layer_info: &mut Option< + HashMap, + >, + transaction: TransactionArg, + drive_operations: &mut Vec, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + // At this point, we need to refresh reference to that Identity key that was just updated (disable is an update) + + let key_id_bytes = key.id().encode_var_vec(); + + let key_reference = identity_key_location_within_identity_vec(&key_id_bytes); + + let identity_key_reference = Element::new_reference_with_flags( + ReferencePathType::UpstreamRootHeightReference(2, key_reference), + None, + ); + + let trust_refresh_reference = true; // todo: check if this needs to be false + + let purpose = key.purpose(); + let security_level = key.security_level(); + + if let Some(estimated_costs_only_with_layer_info) = estimated_costs_only_with_layer_info { + Self::add_estimation_costs_for_purpose_in_key_reference_tree( + identity_id, + estimated_costs_only_with_layer_info, + key.purpose(), + &platform_version.drive, + )?; + + if matches!(purpose, Purpose::AUTHENTICATION) { + Self::add_estimation_costs_for_authentication_keys_security_level_in_key_reference_tree( + identity_id, + estimated_costs_only_with_layer_info, + key.security_level(), + &platform_version.drive, + )?; + } + } + + let key_path_for_refresh = match purpose { + Purpose::AUTHENTICATION => { + // Now let's set the reference + Some(identity_query_keys_security_level_tree_path_vec( + identity_id.as_slice(), + security_level, + )) + } + Purpose::TRANSFER | Purpose::VOTING => { + // Now let's set the reference + Some(identity_query_keys_purpose_tree_path_vec( + identity_id.as_slice(), + purpose, + )) + } + _ => None, + }; + + if let Some(key_path) = key_path_for_refresh { + self.batch_refresh_reference( + key_path, + key_id_bytes.to_vec(), + identity_key_reference.clone(), + trust_refresh_reference, + drive_operations, + &platform_version.drive, + )?; + } + + if key.contract_bounds().is_some() { + // if there are contract bounds we need to insert them + self.refresh_potential_contract_info_key_references( + identity_id, + &key, + epoch, + estimated_costs_only_with_layer_info, + transaction, + drive_operations, + platform_version, + )?; + } + + Ok(()) + } +} diff --git a/packages/rs-drive/src/drive/identity/update/mod.rs b/packages/rs-drive/src/drive/identity/update/mod.rs index e7ebcc7d2b3..b28d7f31340 100644 --- a/packages/rs-drive/src/drive/identity/update/mod.rs +++ b/packages/rs-drive/src/drive/identity/update/mod.rs @@ -61,7 +61,7 @@ mod tests { fee_result, FeeResult { storage_fee: 14202000, - processing_fee: 1097520, + processing_fee: 1098260, ..Default::default() } ); @@ -121,7 +121,7 @@ mod tests { fee_result, FeeResult { storage_fee: 347382000, - processing_fee: 6818480, + processing_fee: 6819220, ..Default::default() } ); @@ -255,7 +255,7 @@ mod tests { fee_result, FeeResult { storage_fee: 513000, - processing_fee: 499220, + processing_fee: 869380, ..Default::default() } ); @@ -320,7 +320,7 @@ mod tests { fee_result, FeeResult { storage_fee: 486000, - processing_fee: 2429120, + processing_fee: 3216860, ..Default::default() } ); @@ -374,7 +374,7 @@ mod tests { ) .expect("should get the cost of the disabling a few keys"); - assert_eq!(expected_fee_result.storage_fee, fee_result.storage_fee,); + assert_eq!(expected_fee_result.storage_fee, fee_result.storage_fee); } } diff --git a/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/mod.rs index a3545ad5397..d4214a53e70 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/mod.rs @@ -1,11 +1,11 @@ mod v0; -use crate::drive::identity::withdrawals::WithdrawalTransactionIndex; use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; use dpp::data_contracts::withdrawals_contract; use dpp::document::Document; +use dpp::withdrawal::WithdrawalTransactionIndex; use grovedb::TransactionArg; use platform_version::version::PlatformVersion; diff --git a/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/v0/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/v0/mod.rs index 0d0dda43ed6..b04bc85b5b4 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/document/find_withdrawal_documents_by_status_and_transaction_indices/v0/mod.rs @@ -1,5 +1,4 @@ use crate::drive::document::query::QueryDocumentsOutcomeV0Methods; -use crate::drive::identity::withdrawals::WithdrawalTransactionIndex; use crate::drive::Drive; use crate::error::Error; use crate::query::{DriveDocumentQuery, InternalClauses, OrderClause, WhereClause}; @@ -8,6 +7,7 @@ use dpp::data_contracts::withdrawals_contract; use dpp::data_contracts::withdrawals_contract::v1::document_types::withdrawal; use dpp::document::Document; use dpp::platform_value::Value; +use dpp::withdrawal::WithdrawalTransactionIndex; use grovedb::TransactionArg; use indexmap::IndexMap; use platform_version::version::PlatformVersion; @@ -97,7 +97,6 @@ impl Drive { #[cfg(test)] mod tests { use crate::config::DEFAULT_QUERY_LIMIT; - use crate::drive::identity::withdrawals::WithdrawalTransactionIndex; use crate::util::test_helpers::setup::{ setup_document, setup_drive_with_initial_state_structure, setup_system_data_contract, }; @@ -110,6 +109,7 @@ mod tests { use dpp::tests::fixtures::get_withdrawal_document_fixture; use dpp::version::PlatformVersion; use dpp::withdrawal::Pooling; + use dpp::withdrawal::WithdrawalTransactionIndex; use super::*; diff --git a/packages/rs-drive/src/drive/identity/withdrawals/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/mod.rs index 57f26a5b5ef..1571e0e230a 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/mod.rs @@ -5,8 +5,3 @@ pub mod document; pub mod paths; /// Functions related to withdrawal transactions pub mod transaction; - -/// Simple type alias for withdrawal transaction with it's index -pub type WithdrawalTransactionIndexAndBytes = (WithdrawalTransactionIndex, Vec); -/// Transaction index type -pub type WithdrawalTransactionIndex = u64; diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/mod.rs index 5554f8a4f6d..59c820433d8 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/mod.rs @@ -1,10 +1,10 @@ mod v0; -use crate::drive::identity::withdrawals::WithdrawalTransactionIndex; use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; use crate::util::batch::DriveOperation; +use dpp::withdrawal::WithdrawalTransactionIndex; use platform_version::version::PlatformVersion; impl Drive { diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/v0/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/v0/mod.rs index 4c162fd5ea3..fb4b7f39c0f 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/add_update_next_withdrawal_transaction_index_operation/v0/mod.rs @@ -1,7 +1,7 @@ -use crate::drive::identity::withdrawals::WithdrawalTransactionIndex; use crate::drive::Drive; use crate::util::batch::drive_op_batch::WithdrawalOperationType; use crate::util::batch::DriveOperation; +use dpp::withdrawal::WithdrawalTransactionIndex; impl Drive { pub(super) fn add_update_next_withdrawal_transaction_index_operation_v0( diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/mod.rs index c3ae1dae3cd..bc8268b2570 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/mod.rs @@ -1,7 +1,7 @@ -use crate::drive::identity::withdrawals::WithdrawalTransactionIndex; use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; +use dpp::withdrawal::WithdrawalTransactionIndex; use grovedb::TransactionArg; use platform_version::version::PlatformVersion; diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/v0/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/v0/mod.rs index bdc01546ddc..e0ca52ed8b5 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/index/fetch_next_withdrawal_transaction_index/v0/mod.rs @@ -1,8 +1,8 @@ use crate::drive::identity::withdrawals::paths::WITHDRAWAL_TRANSACTIONS_NEXT_INDEX_KEY; -use crate::drive::identity::withdrawals::WithdrawalTransactionIndex; use crate::drive::{Drive, RootTree}; use crate::error::drive::DriveError; use crate::error::Error; +use dpp::withdrawal::WithdrawalTransactionIndex; use grovedb::{Element, TransactionArg}; use platform_version::version::PlatformVersion; diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/mod.rs index d0e8168790e..1b6a52728c1 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/mod.rs @@ -1,8 +1,8 @@ -use crate::drive::identity::withdrawals::WithdrawalTransactionIndexAndBytes; use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; use crate::util::batch::DriveOperation; +use dpp::withdrawal::WithdrawalTransactionIndexAndBytes; use platform_version::version::PlatformVersion; mod v0; diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/v0/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/v0/mod.rs index b14f505218c..a9d8a604e2d 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/add_enqueue_untied_withdrawal_transaction_operations/v0/mod.rs @@ -1,7 +1,7 @@ -use crate::drive::identity::withdrawals::WithdrawalTransactionIndexAndBytes; use crate::drive::Drive; use crate::util::batch::drive_op_batch::WithdrawalOperationType; use crate::util::batch::DriveOperation; +use dpp::withdrawal::WithdrawalTransactionIndexAndBytes; impl Drive { pub(super) fn add_enqueue_untied_withdrawal_transaction_operations_v0( diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/mod.rs index 3fadfcc5c82..3423114aaf4 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/mod.rs @@ -1,10 +1,10 @@ mod v0; -use crate::drive::identity::withdrawals::WithdrawalTransactionIndexAndBytes; use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; use crate::util::batch::DriveOperation; +use dpp::withdrawal::WithdrawalTransactionIndexAndBytes; use grovedb::TransactionArg; use platform_version::version::PlatformVersion; diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/v0/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/v0/mod.rs index a89b788b109..6edeaa98220 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/dequeue_untied_withdrawal_transactions/v0/mod.rs @@ -1,13 +1,11 @@ use crate::drive::identity::withdrawals::paths::get_withdrawal_transactions_queue_path_vec; -use crate::drive::identity::withdrawals::{ - WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes, -}; use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; use crate::query::{Query, QueryItem}; use crate::util::batch::drive_op_batch::WithdrawalOperationType; use crate::util::batch::DriveOperation; +use dpp::withdrawal::{WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes}; use grovedb::query_result_type::QueryResultType; use grovedb::{Element, PathQuery, SizedQuery, TransactionArg}; use platform_version::version::PlatformVersion; @@ -22,7 +20,7 @@ impl Drive { drive_operation_types: &mut Vec, platform_version: &PlatformVersion, ) -> Result, Error> { - let mut query = Query::new(); + let mut query = Query::new_with_direction(true); query.insert_item(QueryItem::RangeFull(RangeFull)); @@ -39,7 +37,7 @@ impl Drive { .grove .query_raw( &path_query, - transaction.is_some(), + true, true, true, QueryResultType::QueryKeyElementPairResultType, diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/mod.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/mod.rs index 85621a35e4d..e519f56bd50 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/mod.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction/queue/mod.rs @@ -5,15 +5,13 @@ pub mod dequeue_untied_withdrawal_transactions; #[cfg(test)] mod tests { - use crate::drive::identity::withdrawals::{ - WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes, - }; use crate::util::batch::DriveOperation; use dpp::block::block_info::BlockInfo; use dpp::block::epoch::Epoch; use crate::util::test_helpers::setup::setup_drive_with_initial_state_structure; use dpp::version::PlatformVersion; + use dpp::withdrawal::{WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes}; #[test] fn test_enqueue_and_dequeue() { diff --git a/packages/rs-drive/src/drive/initialization/genesis_core_height/mod.rs b/packages/rs-drive/src/drive/initialization/genesis_core_height/mod.rs new file mode 100644 index 00000000000..5e8f21d95e4 --- /dev/null +++ b/packages/rs-drive/src/drive/initialization/genesis_core_height/mod.rs @@ -0,0 +1,105 @@ +//! Drive Initialization + +use crate::drive::Drive; +use crate::error::Error; + +use crate::drive::system::{misc_path, misc_path_vec}; +use crate::error::drive::DriveError; +use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; +use crate::util::batch::GroveDbOpBatch; +use crate::util::grove_operations::QueryType; +use dpp::prelude::CoreBlockHeight; +use dpp::version::PlatformVersion; +use grovedb::{Element, TransactionArg}; + +/// Genesis Core Height Key +#[cfg(any(feature = "server", feature = "verify"))] +pub const GENESIS_CORE_HEIGHT_KEY: &[u8; 1] = b"C"; + +impl Drive { + /// Stores the genesis core height in groveDB + pub fn store_genesis_core_height( + &self, + genesis_core_height: CoreBlockHeight, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + let drive_version = &platform_version.drive; + let mut batch = GroveDbOpBatch::new(); + + // In Misc + batch.add_insert( + misc_path_vec(), + GENESIS_CORE_HEIGHT_KEY.to_vec(), + Element::Item(genesis_core_height.to_be_bytes().to_vec(), None), + ); + + self.grove_apply_batch(batch, false, transaction, drive_version)?; + + Ok(()) + } + + /// Fetches the genesis core height in groveDB + pub fn fetch_genesis_core_height( + &self, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result { + let drive_version = &platform_version.drive; + + let genesis_core_height_vec = self + .grove_get( + (&misc_path()).into(), + GENESIS_CORE_HEIGHT_KEY, + QueryType::StatefulQuery, + transaction, + &mut vec![], + drive_version, + )? + .ok_or(Error::Drive(DriveError::CorruptedCodeExecution( + "genesis core height must exist", + ))) + .and_then(|element| element.into_item_bytes().map_err(Error::GroveDB))?; + + let genesis_core_height = + u32::from_be_bytes(genesis_core_height_vec.try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "storage value must be a u32".to_string(), + )) + })?); + + Ok(genesis_core_height) + } +} + +#[cfg(feature = "server")] +#[cfg(test)] +mod tests { + use crate::util::test_helpers::setup::setup_drive_with_initial_state_structure; + use dpp::prelude::CoreBlockHeight; + use dpp::version::PlatformVersion; + + #[test] + fn test_initial_state_structure_proper_heights() { + let drive = setup_drive_with_initial_state_structure(); + + let db_transaction = drive.grove.start_transaction(); + + let platform_version = PlatformVersion::latest(); + + let core_genesis_height: CoreBlockHeight = 1320; + drive + .store_genesis_core_height( + core_genesis_height, + Some(&db_transaction), + &platform_version, + ) + .expect("expected to store genesis core height"); + + let read_core_genesis_height = drive + .fetch_genesis_core_height(Some(&db_transaction), &platform_version) + .expect("expected to fetch genesis core height"); + + assert_eq!(core_genesis_height, read_core_genesis_height); + } +} diff --git a/packages/rs-drive/src/drive/initialization/mod.rs b/packages/rs-drive/src/drive/initialization/mod.rs index 5ee4f4ca7e9..97159a53ba9 100644 --- a/packages/rs-drive/src/drive/initialization/mod.rs +++ b/packages/rs-drive/src/drive/initialization/mod.rs @@ -1,5 +1,6 @@ //! Drive Initialization +mod genesis_core_height; mod v0; use crate::drive::Drive; diff --git a/packages/rs-drive/src/drive/mod.rs b/packages/rs-drive/src/drive/mod.rs index cf49c56e417..fc28c49647a 100644 --- a/packages/rs-drive/src/drive/mod.rs +++ b/packages/rs-drive/src/drive/mod.rs @@ -33,8 +33,10 @@ pub mod initialization; /// Protocol upgrade module #[cfg(any(feature = "server", feature = "verify"))] pub mod protocol_upgrade; + +/// System module #[cfg(feature = "server")] -mod system; +pub mod system; #[cfg(feature = "server")] mod asset_lock; @@ -73,13 +75,13 @@ pub struct Drive { // is at the top of the tree in order to reduce proof size // the most import tree is theDataContract Documents tree -// DataContract_Documents 64 -// / \ -// Identities 32 Balances 96 -// / \ / \ -// Token_Balances 16 Pools 48 WithdrawalTransactions 80 Votes 112 -// / \ / / / \ -// NUPKH->I 8 UPKH->I 24 PreFundedSpecializedBalances 40 SpentAssetLockTransactions 72 Misc 104 Versions 120 +// DataContract_Documents 64 +// / \ +// Identities 32 Balances 96 +// / \ / \ +// Token_Balances 16 Pools 48 WithdrawalTransactions 80 Votes 112 +// / \ / \ / / \ +// NUPKH->I 8 UPKH->I 24 PreFundedSpecializedBalances 40 Masternode Lists 56 (reserved) SpentAssetLockTransactions 72 Misc 104 Versions 120 /// Keys for the root tree. #[cfg(any(feature = "server", feature = "verify"))] @@ -99,6 +101,9 @@ pub enum RootTree { /// PreFundedSpecializedBalances are balances that can fund specific state transitions that match /// predefined criteria PreFundedSpecializedBalances = 40, + // todo: reserved + // MasternodeLists contain the current masternode list as well as the evonode masternode list + // MasternodeLists = 56, /// Spent Asset Lock Transactions SpentAssetLockTransactions = 72, /// Misc @@ -127,6 +132,7 @@ impl fmt::Display for RootTree { } RootTree::Pools => "Pools", RootTree::PreFundedSpecializedBalances => "PreFundedSpecializedBalances", + // RootTree::MasternodeLists => "MasternodeLists", RootTree::SpentAssetLockTransactions => "SpentAssetLockTransactions", RootTree::Misc => "Misc", RootTree::WithdrawalTransactions => "WithdrawalTransactions", @@ -168,6 +174,7 @@ impl TryFrom for RootTree { 24 => Ok(RootTree::UniquePublicKeyHashesToIdentities), 8 => Ok(RootTree::NonUniquePublicKeyKeyHashesToIdentities), 48 => Ok(RootTree::Pools), + // 56 => Ok(RootTree::MasternodeLists), //todo (reserved) 40 => Ok(RootTree::PreFundedSpecializedBalances), 72 => Ok(RootTree::SpentAssetLockTransactions), 104 => Ok(RootTree::Misc), @@ -193,6 +200,7 @@ impl From for &'static [u8; 1] { RootTree::SpentAssetLockTransactions => &[72], RootTree::Pools => &[48], RootTree::PreFundedSpecializedBalances => &[40], + // RootTree::MasternodeLists => &[56], RootTree::Misc => &[104], RootTree::WithdrawalTransactions => &[80], RootTree::Balances => &[96], diff --git a/packages/rs-drive/src/drive/prefunded_specialized_balances/add_prefunded_specialized_balance_operations/v0/mod.rs b/packages/rs-drive/src/drive/prefunded_specialized_balances/add_prefunded_specialized_balance_operations/v0/mod.rs index 8a0c24ea12f..25d0abc4833 100644 --- a/packages/rs-drive/src/drive/prefunded_specialized_balances/add_prefunded_specialized_balance_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/prefunded_specialized_balances/add_prefunded_specialized_balance_operations/v0/mod.rs @@ -13,7 +13,7 @@ use crate::error::identity::IdentityError; use dpp::balances::credits::MAX_CREDITS; use dpp::identifier::Identifier; use dpp::version::PlatformVersion; -use grovedb::batch::{GroveDbOp, KeyInfoPath}; +use grovedb::batch::{KeyInfoPath, QualifiedGroveDbOp}; use grovedb::{Element, EstimatedLayerInformation, TransactionArg}; use std::collections::HashMap; @@ -62,13 +62,13 @@ impl Drive { }; let path_holding_total_credits_vec = prefunded_specialized_balances_for_voting_path_vec(); let op = if had_previous_balance { - GroveDbOp::replace_op( + QualifiedGroveDbOp::replace_op( path_holding_total_credits_vec, specialized_balance_id.to_vec(), Element::new_sum_item(new_total as i64), ) } else { - GroveDbOp::insert_op( + QualifiedGroveDbOp::insert_or_replace_op( path_holding_total_credits_vec, specialized_balance_id.to_vec(), Element::new_sum_item(new_total as i64), diff --git a/packages/rs-drive/src/drive/prefunded_specialized_balances/deduct_from_prefunded_specialized_balance_operations/v0/mod.rs b/packages/rs-drive/src/drive/prefunded_specialized_balances/deduct_from_prefunded_specialized_balance_operations/v0/mod.rs index e4ffb036029..a6adec95841 100644 --- a/packages/rs-drive/src/drive/prefunded_specialized_balances/deduct_from_prefunded_specialized_balance_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/prefunded_specialized_balances/deduct_from_prefunded_specialized_balance_operations/v0/mod.rs @@ -11,7 +11,7 @@ use crate::drive::prefunded_specialized_balances::{ }; use dpp::identifier::Identifier; use dpp::version::PlatformVersion; -use grovedb::batch::{GroveDbOp, KeyInfoPath}; +use grovedb::batch::{KeyInfoPath, QualifiedGroveDbOp}; use grovedb::{Element, EstimatedLayerInformation, TransactionArg}; use std::collections::HashMap; @@ -60,7 +60,7 @@ impl Drive { ), ))?; let path_holding_total_credits_vec = prefunded_specialized_balances_for_voting_path_vec(); - let replace_op = GroveDbOp::replace_op( + let replace_op = QualifiedGroveDbOp::replace_op( path_holding_total_credits_vec, specialized_balance_id.to_vec(), Element::new_sum_item(new_total as i64), diff --git a/packages/rs-drive/src/drive/system/mod.rs b/packages/rs-drive/src/drive/system/mod.rs index 34b56c324d3..2e0b4d074b3 100644 --- a/packages/rs-drive/src/drive/system/mod.rs +++ b/packages/rs-drive/src/drive/system/mod.rs @@ -9,11 +9,11 @@ pub mod protocol_version; use crate::drive::RootTree; /// misc path -pub(crate) fn misc_path() -> [&'static [u8]; 1] { +pub fn misc_path() -> [&'static [u8]; 1] { [Into::<&[u8; 1]>::into(RootTree::Misc)] } /// misc path vector -pub(crate) fn misc_path_vec() -> Vec> { +pub fn misc_path_vec() -> Vec> { vec![Into::<&[u8; 1]>::into(RootTree::Misc).to_vec()] } diff --git a/packages/rs-drive/src/drive/votes/cleanup/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/mod.rs index 55b79c84459..e425c9a6c4e 100644 --- a/packages/rs-drive/src/drive/votes/cleanup/mod.rs +++ b/packages/rs-drive/src/drive/votes/cleanup/mod.rs @@ -2,5 +2,7 @@ mod remove_all_votes_given_by_identities; mod remove_contested_resource_vote_poll_contenders_operations; mod remove_contested_resource_vote_poll_documents_operations; mod remove_contested_resource_vote_poll_end_date_query_operations; +mod remove_contested_resource_vote_poll_info_operations; +mod remove_contested_resource_vote_poll_top_level_index_operations; mod remove_contested_resource_vote_poll_votes_operations; mod remove_specific_votes_given_by_identity; diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_contenders_operations/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_contenders_operations/mod.rs index 21dcf70e236..82fcda8cb05 100644 --- a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_contenders_operations/mod.rs +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_contenders_operations/mod.rs @@ -1,4 +1,5 @@ mod v0; +mod v1; use crate::drive::Drive; use std::collections::BTreeMap; @@ -41,9 +42,15 @@ impl Drive { transaction, platform_version, ), + 1 => self.remove_contested_resource_vote_poll_contenders_operations_v1( + vote_polls, + batch_operations, + transaction, + platform_version, + ), version => Err(Error::Drive(DriveError::UnknownVersionMismatch { method: "remove_contested_resource_vote_poll_contenders_operations".to_string(), - known_versions: vec![0], + known_versions: vec![0, 1], received: version, })), } diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_contenders_operations/v1/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_contenders_operations/v1/mod.rs new file mode 100644 index 00000000000..7440aaadce6 --- /dev/null +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_contenders_operations/v1/mod.rs @@ -0,0 +1,71 @@ +use crate::drive::votes::paths::{ + VotePollPaths, RESOURCE_ABSTAIN_VOTE_TREE_KEY_U8_32, RESOURCE_LOCK_VOTE_TREE_KEY_U8_32, +}; +use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; +use crate::drive::votes::ResourceVoteChoiceToKeyTrait; +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use crate::util::grove_operations::BatchDeleteApplyType; +use dpp::identifier::Identifier; +use dpp::identity::TimestampMillis; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use grovedb::TransactionArg; +use platform_version::version::PlatformVersion; +use std::collections::BTreeMap; + +impl Drive { + /// We add votes poll references by end date in order to be able to check on every new block if + /// any vote polls should be closed. + pub(in crate::drive::votes) fn remove_contested_resource_vote_poll_contenders_operations_v1( + &self, + vote_polls: &[( + &ContestedDocumentResourceVotePollWithContractInfo, + &TimestampMillis, + &BTreeMap>, + )], + batch_operations: &mut Vec, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + for (vote_poll, _, votes) in vote_polls { + let path = vote_poll.contenders_path(platform_version)?; + for (resource_vote_choice, _) in *votes { + self.batch_delete( + path.as_slice().into(), + resource_vote_choice.to_key().as_slice(), + BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }, + transaction, + batch_operations, + &platform_version.drive, + )?; + } + + self.batch_delete( + path.as_slice().into(), + &RESOURCE_ABSTAIN_VOTE_TREE_KEY_U8_32, + BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }, + transaction, + batch_operations, + &platform_version.drive, + )?; + + self.batch_delete( + path.as_slice().into(), + &RESOURCE_LOCK_VOTE_TREE_KEY_U8_32, + BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }, + transaction, + batch_operations, + &platform_version.drive, + )?; + } + + Ok(()) + } +} diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/mod.rs index 235010a2362..8fbd57c83ff 100644 --- a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/mod.rs +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/mod.rs @@ -1,4 +1,5 @@ mod v0; +mod v1; use crate::drive::Drive; use std::collections::BTreeMap; @@ -24,6 +25,7 @@ impl Drive { &TimestampMillis, &BTreeMap>, )], + clean_up_testnet_corrupted_reference_issue: bool, batch_operations: &mut Vec, transaction: TransactionArg, platform_version: &PlatformVersion, @@ -41,9 +43,16 @@ impl Drive { transaction, platform_version, ), + 1 => self.remove_contested_resource_vote_poll_documents_operations_v1( + vote_polls, + clean_up_testnet_corrupted_reference_issue, + batch_operations, + transaction, + platform_version, + ), version => Err(Error::Drive(DriveError::UnknownVersionMismatch { method: "remove_contested_resource_vote_poll_documents_operations".to_string(), - known_versions: vec![0], + known_versions: vec![0, 1], received: version, })), } diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/v0/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/v0/mod.rs index dba3c5369f1..cb25558a382 100644 --- a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/v0/mod.rs @@ -17,6 +17,8 @@ use std::ops::RangeFull; impl Drive { /// We add documents poll references by end date in order to be able to check on every new block if /// any vote polls should be closed. + /// !!!!! THIS VERSION CONTAINED A SERIOUS ISSUE !!!!! + /// However, it should never have made it to mainnet. pub(in crate::drive::votes) fn remove_contested_resource_vote_poll_documents_operations_v0( &self, vote_polls: &[( diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/v1/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/v1/mod.rs new file mode 100644 index 00000000000..f6722670348 --- /dev/null +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_documents_operations/v1/mod.rs @@ -0,0 +1,104 @@ +use crate::drive::votes::paths::VotePollPaths; +use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use crate::query::vote_poll_vote_state_query::{ + ContestedDocumentVotePollDriveQueryResultType, ResolvedContestedDocumentVotePollDriveQuery, +}; +use crate::util::grove_operations::BatchDeleteApplyType; +use dpp::document::DocumentV0Getters; +use dpp::identifier::Identifier; +use dpp::identity::TimestampMillis; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use grovedb::TransactionArg; +use platform_version::version::PlatformVersion; +use std::collections::BTreeMap; + +impl Drive { + /// We add documents poll references by end date in order to be able to check on every new block if + /// any vote polls should be closed. + pub(in crate::drive::votes) fn remove_contested_resource_vote_poll_documents_operations_v1( + &self, + vote_polls: &[( + &ContestedDocumentResourceVotePollWithContractInfo, + &TimestampMillis, + &BTreeMap>, + )], + clean_up_testnet_corrupted_reference_issue: bool, + batch_operations: &mut Vec, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + for (vote_poll, _, vote_choices) in vote_polls { + if !clean_up_testnet_corrupted_reference_issue { + // if we are in clean up we keep all documents + let query = ResolvedContestedDocumentVotePollDriveQuery { + vote_poll: (*vote_poll).into(), + result_type: ContestedDocumentVotePollDriveQueryResultType::Documents, + offset: None, + limit: None, + start_at: None, + allow_include_locked_and_abstaining_vote_tally: false, + }; + + let contested_document_vote_poll_drive_query_execution_result = + query.execute(self, transaction, &mut vec![], platform_version)?; + + let document_type = vote_poll.document_type()?; + let document_keys = contested_document_vote_poll_drive_query_execution_result + .contenders + .into_iter() + .filter_map(|contender| { + let maybe_document_result = + match contender.try_into_contender(document_type, platform_version) { + Ok(mut contender) => contender.take_document(), + Err(e) => return Some(Err(e.into())), + }; + + match maybe_document_result { + Some(document) => Some(Ok(document.id().to_vec())), // Assuming document.id holds the document key + None => None, // Handle the case where no document is found + } + }) + .collect::>, Error>>()?; + + let documents_storage_path = vote_poll.documents_storage_path_vec(); + + for document_key in document_keys { + self.batch_delete( + documents_storage_path.as_slice().into(), + document_key.as_slice(), + BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }, + transaction, + batch_operations, + &platform_version.drive, + )?; + } + } + + // We also need to delete all the references + + for resource_vote_choice in vote_choices.keys() { + if matches!(resource_vote_choice, ResourceVoteChoice::TowardsIdentity(_)) { + let contender_path = + vote_poll.contender_path(resource_vote_choice, platform_version)?; + self.batch_delete( + contender_path.as_slice().into(), + vec![0].as_slice(), + BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }, + transaction, + batch_operations, + &platform_version.drive, + )?; + } + } + } + + Ok(()) + } +} diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_end_date_query_operations/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_end_date_query_operations/mod.rs index 73ef67bc5b5..15fba02e814 100644 --- a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_end_date_query_operations/mod.rs +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_end_date_query_operations/mod.rs @@ -1,4 +1,5 @@ mod v0; +mod v1; use crate::drive::Drive; use std::collections::BTreeMap; @@ -41,6 +42,12 @@ impl Drive { transaction, platform_version, ), + 1 => self.remove_contested_resource_vote_poll_end_date_query_operations_v1( + vote_polls, + batch_operations, + transaction, + platform_version, + ), version => Err(Error::Drive(DriveError::UnknownVersionMismatch { method: "remove_contested_resource_vote_poll_end_date_query_operations".to_string(), known_versions: vec![0], diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_end_date_query_operations/v1/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_end_date_query_operations/v1/mod.rs new file mode 100644 index 00000000000..b47e5feb605 --- /dev/null +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_end_date_query_operations/v1/mod.rs @@ -0,0 +1,116 @@ +use crate::drive::votes::paths::{ + vote_contested_resource_end_date_queries_at_time_tree_path_vec, + vote_end_date_queries_tree_path_vec, +}; +use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use crate::query::VotePollsByEndDateDriveQuery; +use crate::util::common::encode::encode_u64; +use crate::util::grove_operations::BatchDeleteApplyType; +use dpp::identifier::Identifier; +use dpp::identity::TimestampMillis; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use grovedb::TransactionArg; +use platform_version::version::PlatformVersion; +use std::collections::BTreeMap; + +impl Drive { + /// We add votes poll references by end date in order to be able to check on every new block if + /// any vote polls should be closed. + pub(in crate::drive::votes) fn remove_contested_resource_vote_poll_end_date_query_operations_v1( + &self, + vote_polls: &[( + &ContestedDocumentResourceVotePollWithContractInfo, + &TimestampMillis, + &BTreeMap>, + )], + batch_operations: &mut Vec, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + // This is a GroveDB Tree (Not Sub Tree Merk representation) + // End Date queries + // / \ + // 15/08/2025 5PM 15/08/2025 6PM + // / \ | + // VotePoll Info 1 VotePoll Info 2 VotePoll Info 3 + + let delete_apply_type = BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }; + + let mut by_end_date: BTreeMap> = BTreeMap::new(); + + for (vote_poll, end_date, _) in vote_polls { + let vote_polls_unique_ids = by_end_date.entry(**end_date).or_default(); + + vote_polls_unique_ids.push(vote_poll.unique_id()?); + } + + for (end_date, unique_ids) in by_end_date { + let time_path = + vote_contested_resource_end_date_queries_at_time_tree_path_vec(end_date); + + let count = unique_ids.len(); + + for unique_id in unique_ids { + self.batch_delete( + time_path.as_slice().into(), + unique_id.as_bytes(), + delete_apply_type.clone(), + transaction, + batch_operations, + &platform_version.drive, + )?; + } + + let should_delete_parent_time_tree = if count + < platform_version + .drive_abci + .validation_and_processing + .event_constants + .maximum_vote_polls_to_process as usize + { + true + } else { + // We need to see if we have more to process + let increased_limit = platform_version + .drive_abci + .validation_and_processing + .event_constants + .maximum_vote_polls_to_process + + 1; + let total_count = + VotePollsByEndDateDriveQuery::execute_no_proof_for_specialized_end_time_query_only_check_end_time( + end_date, + increased_limit, + self, + transaction, + &mut vec![], + platform_version, + )?.len(); + + if total_count <= count { + true + } else { + false + } + }; + + if should_delete_parent_time_tree { + self.batch_delete( + vote_end_date_queries_tree_path_vec().as_slice().into(), + encode_u64(end_date).as_slice(), + delete_apply_type.clone(), + transaction, + batch_operations, + &platform_version.drive, + )?; + } + } + + Ok(()) + } +} diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_info_operations/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_info_operations/mod.rs new file mode 100644 index 00000000000..f67d7983093 --- /dev/null +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_info_operations/mod.rs @@ -0,0 +1,50 @@ +mod v0; + +use crate::drive::Drive; +use std::collections::BTreeMap; + +use crate::error::drive::DriveError; +use crate::error::Error; + +use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; +use crate::fees::op::LowLevelDriveOperation; +use dpp::identifier::Identifier; +use dpp::prelude::TimestampMillis; +use dpp::version::PlatformVersion; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use grovedb::TransactionArg; + +impl Drive { + /// We remove the entire vote poll + pub fn remove_contested_resource_info_operations( + &self, + vote_polls: &[( + &ContestedDocumentResourceVotePollWithContractInfo, + &TimestampMillis, + &BTreeMap>, + )], + batch_operations: &mut Vec, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + match platform_version + .drive + .methods + .vote + .cleanup + .remove_contested_resource_info_operations + { + 0 => self.remove_contested_resource_info_operations_v0( + vote_polls, + batch_operations, + transaction, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "remove_contested_resource_info_operations".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_info_operations/v0/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_info_operations/v0/mod.rs new file mode 100644 index 00000000000..141fd3c766e --- /dev/null +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_info_operations/v0/mod.rs @@ -0,0 +1,42 @@ +use crate::drive::votes::paths::{VotePollPaths, RESOURCE_STORED_INFO_KEY_U8_32}; +use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use crate::util::grove_operations::BatchDeleteApplyType; +use dpp::identifier::Identifier; +use dpp::identity::TimestampMillis; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use grovedb::TransactionArg; +use platform_version::version::PlatformVersion; +use std::collections::BTreeMap; + +impl Drive { + pub(in crate::drive::votes) fn remove_contested_resource_info_operations_v0( + &self, + vote_polls: &[( + &ContestedDocumentResourceVotePollWithContractInfo, + &TimestampMillis, + &BTreeMap>, + )], + batch_operations: &mut Vec, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + for (vote_poll, _, _) in vote_polls { + let path = vote_poll.contenders_path(platform_version)?; + self.batch_delete( + path.as_slice().into(), + &RESOURCE_STORED_INFO_KEY_U8_32, + BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }, + transaction, + batch_operations, + &platform_version.drive, + )?; + } + + Ok(()) + } +} diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_top_level_index_operations/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_top_level_index_operations/mod.rs new file mode 100644 index 00000000000..f91c6040646 --- /dev/null +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_top_level_index_operations/mod.rs @@ -0,0 +1,50 @@ +mod v0; + +use crate::drive::Drive; +use std::collections::BTreeMap; + +use crate::error::drive::DriveError; +use crate::error::Error; + +use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; +use crate::fees::op::LowLevelDriveOperation; +use dpp::identifier::Identifier; +use dpp::prelude::TimestampMillis; +use dpp::version::PlatformVersion; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use grovedb::TransactionArg; + +impl Drive { + /// We remove the entire vote poll + pub fn remove_contested_resource_top_level_index_operations( + &self, + vote_polls: &[( + &ContestedDocumentResourceVotePollWithContractInfo, + &TimestampMillis, + &BTreeMap>, + )], + batch_operations: &mut Vec, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + match platform_version + .drive + .methods + .vote + .cleanup + .remove_contested_resource_top_level_index_operations + { + 0 => self.remove_contested_resource_top_level_index_operations_v0( + vote_polls, + batch_operations, + transaction, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "remove_contested_resource_top_level_index_operations".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_top_level_index_operations/v0/mod.rs b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_top_level_index_operations/v0/mod.rs new file mode 100644 index 00000000000..13d3832592c --- /dev/null +++ b/packages/rs-drive/src/drive/votes/cleanup/remove_contested_resource_vote_poll_top_level_index_operations/v0/mod.rs @@ -0,0 +1,44 @@ +use crate::drive::votes::paths::VotePollPaths; +use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; +use crate::drive::Drive; +use crate::error::Error; +use crate::fees::op::LowLevelDriveOperation; +use crate::util::grove_operations::BatchDeleteApplyType; +use dpp::identifier::Identifier; +use dpp::identity::TimestampMillis; +use dpp::voting::vote_choices::resource_vote_choice::ResourceVoteChoice; +use grovedb::TransactionArg; +use platform_version::version::PlatformVersion; +use std::collections::BTreeMap; + +impl Drive { + pub(in crate::drive::votes) fn remove_contested_resource_top_level_index_operations_v0( + &self, + vote_polls: &[( + &ContestedDocumentResourceVotePollWithContractInfo, + &TimestampMillis, + &BTreeMap>, + )], + batch_operations: &mut Vec, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(), Error> { + for (vote_poll, _, _) in vote_polls { + let (path, last_index_path) = vote_poll.last_index_path(platform_version)?; + if let Some(last_index_path) = last_index_path { + self.batch_delete( + path.as_slice().into(), + last_index_path.as_slice(), + BatchDeleteApplyType::StatefulBatchDelete { + is_known_to_be_subtree_with_sum: Some((false, false)), + }, + transaction, + batch_operations, + &platform_version.drive, + )?; + } + } + + Ok(()) + } +} diff --git a/packages/rs-drive/src/drive/votes/insert/vote_poll/add_vote_poll_end_date_query_operations/v0/mod.rs b/packages/rs-drive/src/drive/votes/insert/vote_poll/add_vote_poll_end_date_query_operations/v0/mod.rs index ea2fc698ff1..1c5fb593e9c 100644 --- a/packages/rs-drive/src/drive/votes/insert/vote_poll/add_vote_poll_end_date_query_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/votes/insert/vote_poll/add_vote_poll_end_date_query_operations/v0/mod.rs @@ -92,6 +92,8 @@ impl Drive { let drive_key = DriveKeyInfo::Key(encode_u64(end_date)); + // println!("adding end vote date at end_date {} ({})", end_date, if estimated_costs_only_with_layer_info.is_some() { "costs"} else {"apply"}); + let path_key_info = drive_key.add_path_info::<0>(PathInfo::PathAsVec(end_date_query_path)); let apply_type = if estimated_costs_only_with_layer_info.is_none() { diff --git a/packages/rs-drive/src/drive/votes/paths.rs b/packages/rs-drive/src/drive/votes/paths.rs index 35874e6f60f..08e73e0a7c0 100644 --- a/packages/rs-drive/src/drive/votes/paths.rs +++ b/packages/rs-drive/src/drive/votes/paths.rs @@ -88,6 +88,20 @@ pub trait VotePollPaths { /// The contenders path as a vec fn contenders_path(&self, platform_version: &PlatformVersion) -> Result>, Error>; + /// the last index path as a path vec and a key + fn last_index_path( + &self, + platform_version: &PlatformVersion, + ) -> Result<(Vec>, Option>), Error> { + let mut contenders_path = self.contenders_path(platform_version)?; + if contenders_path.is_empty() { + Ok((vec![], None)) + } else { + let last_index = contenders_path.remove(contenders_path.len() - 1); + Ok((contenders_path, Some(last_index))) + } + } + /// The path that would store the contender information for a single contender fn contender_path( &self, diff --git a/packages/rs-drive/src/error/drive.rs b/packages/rs-drive/src/error/drive.rs index 74bd830129a..922cc5b8e4b 100644 --- a/packages/rs-drive/src/error/drive.rs +++ b/packages/rs-drive/src/error/drive.rs @@ -107,7 +107,7 @@ pub enum DriveError { CorruptedContractPath(&'static str), /// Error #[error("corrupted contract indexes error: {0}")] - CorruptedContractIndexes(&'static str), + CorruptedContractIndexes(String), /// Error #[error("corrupted document path error: {0}")] CorruptedDocumentPath(&'static str), diff --git a/packages/rs-drive/src/error/identity.rs b/packages/rs-drive/src/error/identity.rs index c1a888b6dad..b3c3b8d0fca 100644 --- a/packages/rs-drive/src/error/identity.rs +++ b/packages/rs-drive/src/error/identity.rs @@ -7,7 +7,7 @@ pub enum IdentityError { /// Identity already exists error #[error("identity key already exists for user error: {0}")] - IdentityKeyAlreadyExists(&'static str), + IdentityKeyAlreadyExists(String), /// A user is requesting an unknown key error #[error("identity public key not found: {0}")] diff --git a/packages/rs-drive/src/error/mod.rs b/packages/rs-drive/src/error/mod.rs index 456e759d0cb..28ecd0f9921 100644 --- a/packages/rs-drive/src/error/mod.rs +++ b/packages/rs-drive/src/error/mod.rs @@ -2,12 +2,12 @@ use self::drive::DriveError; use crate::error::cache::CacheError; use crate::error::contract::DataContractError; use crate::error::proof::ProofError; -use crate::error::storage_flags::StorageFlagsError; use document::DocumentError; use dpp::data_contract::errors::DataContractError as ProtocolDataContractError; use dpp::platform_value::Error as ValueError; use dpp::ProtocolError; use fee::FeeError; +use grovedb_epoch_based_storage_flags::error::StorageFlagsError; use identity::IdentityError; use query::QuerySyntaxError; @@ -27,8 +27,6 @@ pub mod identity; pub mod proof; /// Query module pub mod query; -/// Storage flags module -pub mod storage_flags; /// Errors #[derive(Debug, thiserror::Error)] diff --git a/packages/rs-drive/src/error/proof.rs b/packages/rs-drive/src/error/proof.rs index f482f95bff6..504aa11f559 100644 --- a/packages/rs-drive/src/error/proof.rs +++ b/packages/rs-drive/src/error/proof.rs @@ -46,6 +46,10 @@ pub enum ProofError { #[error("the contract could not be retrieved during verification: {0}")] ErrorRetrievingContract(String), + /// We are missing a context requirement + #[error("missing context requirement error: {0}")] + MissingContextRequirement(String), + /// Incomplete proof error #[error("incomplete proof error: {0}")] IncompleteProof(&'static str), @@ -80,5 +84,6 @@ fn get_error_code(error: &ProofError) -> u32 { ProofError::UnknownContract(_) => 6009, ProofError::ErrorRetrievingContract(_) => 6010, ProofError::InvalidMetadata(_) => 6011, + ProofError::MissingContextRequirement(_) => 6012, } } diff --git a/packages/rs-drive/src/error/storage_flags.rs b/packages/rs-drive/src/error/storage_flags.rs deleted file mode 100644 index dacc711f21d..00000000000 --- a/packages/rs-drive/src/error/storage_flags.rs +++ /dev/null @@ -1,22 +0,0 @@ -/// Storage flag errors -#[derive(Debug, thiserror::Error)] -pub enum StorageFlagsError { - /// Error - #[error("deserialize unknown storage flags type error: {0}")] - DeserializeUnknownStorageFlagsType(&'static str), - /// Error - #[error("storage flags wrong size error: {0}")] - StorageFlagsWrongSize(&'static str), - /// Error - #[error("removing at epoch with no associated storage error: {0}")] - RemovingAtEpochWithNoAssociatedStorage(&'static str), - /// Error - #[error("storage flags overflow error: {0}")] - StorageFlagsOverflow(&'static str), - /// Error - #[error("merging storage flags from different owners error: {0}")] - MergingStorageFlagsFromDifferentOwners(&'static str), - /// Error - #[error("merging storage flags with different base epoch: {0}")] - MergingStorageFlagsWithDifferentBaseEpoch(&'static str), -} diff --git a/packages/rs-drive/src/fees/op.rs b/packages/rs-drive/src/fees/op.rs index 3a7b726d190..c28ea60caa2 100644 --- a/packages/rs-drive/src/fees/op.rs +++ b/packages/rs-drive/src/fees/op.rs @@ -9,7 +9,7 @@ use grovedb::batch::key_info::KeyInfo; use grovedb::batch::KeyInfoPath; use grovedb::element::MaxReferenceHop; use grovedb::reference_path::ReferencePathType; -use grovedb::{batch::GroveDbOp, Element, ElementFlags}; +use grovedb::{batch::QualifiedGroveDbOp, Element, ElementFlags}; use grovedb_costs::OperationCost; use itertools::Itertools; @@ -198,7 +198,7 @@ impl FunctionOp { #[derive(Debug, Eq, PartialEq)] pub enum LowLevelDriveOperation { /// Grove operation - GroveOperation(GroveDbOp), + GroveOperation(QualifiedGroveDbOp), /// A drive operation FunctionOperation(FunctionOp), /// Calculated cost operation @@ -337,10 +337,10 @@ impl LowLevelDriveOperation { ) } - /// Filters the groveDB ops from a list of operations and collects them in a `Vec`. + /// Filters the groveDB ops from a list of operations and collects them in a `Vec`. pub fn grovedb_operations_consume( insert_operations: Vec, - ) -> Vec { + ) -> Vec { insert_operations .into_iter() .filter_map(|op| match op { @@ -404,7 +404,7 @@ impl LowLevelDriveOperation { key: Vec, element: Element, ) -> Self { - GroveOperation(GroveDbOp::insert_op(path, key, element)) + GroveOperation(QualifiedGroveDbOp::insert_or_replace_op(path, key, element)) } /// Sets `GroveOperation` for replacement of an element at the given path and key @@ -413,7 +413,7 @@ impl LowLevelDriveOperation { key: Vec, element: Element, ) -> Self { - GroveOperation(GroveDbOp::replace_op(path, key, element)) + GroveOperation(QualifiedGroveDbOp::replace_op(path, key, element)) } /// Sets `GroveOperation` for patching of an element at the given path and key @@ -424,7 +424,12 @@ impl LowLevelDriveOperation { element: Element, change_in_bytes: i32, ) -> Self { - GroveOperation(GroveDbOp::patch_op(path, key, element, change_in_bytes)) + GroveOperation(QualifiedGroveDbOp::patch_op( + path, + key, + element, + change_in_bytes, + )) } /// Sets `GroveOperation` for inserting an element at an unknown estimated path and key @@ -433,7 +438,7 @@ impl LowLevelDriveOperation { key: KeyInfo, element: Element, ) -> Self { - GroveOperation(GroveDbOp::insert_estimated_op(path, key, element)) + GroveOperation(QualifiedGroveDbOp::insert_estimated_op(path, key, element)) } /// Sets `GroveOperation` for replacement of an element at an unknown estimated path and key @@ -442,7 +447,7 @@ impl LowLevelDriveOperation { key: KeyInfo, element: Element, ) -> Self { - GroveOperation(GroveDbOp::replace_estimated_op(path, key, element)) + GroveOperation(QualifiedGroveDbOp::replace_estimated_op(path, key, element)) } /// Sets `GroveOperation` for refresh of a reference at the given path and key @@ -454,7 +459,7 @@ impl LowLevelDriveOperation { flags: Option, trust_refresh_reference: bool, ) -> Self { - GroveOperation(GroveDbOp::refresh_reference_op( + GroveOperation(QualifiedGroveDbOp::refresh_reference_op( path, key, reference_path_type, diff --git a/packages/rs-drive/src/query/conditions.rs b/packages/rs-drive/src/query/conditions.rs index 24b5600f9f5..2f565968dbf 100644 --- a/packages/rs-drive/src/query/conditions.rs +++ b/packages/rs-drive/src/query/conditions.rs @@ -1048,7 +1048,6 @@ impl<'a> WhereClause { Ok(query) } - /// Build where clauses from operations pub(crate) fn build_where_clauses_from_operations( binary_operation: &ast::Expr, document_type: &DocumentType, @@ -1078,13 +1077,16 @@ impl<'a> WhereClause { "$id" | "$ownerId" => Cow::Owned(DocumentPropertyType::Identifier), "$createdAt" | "$updatedAt" => Cow::Owned(DocumentPropertyType::Date), "$revision" => Cow::Owned(DocumentPropertyType::U64), - property_name => { - let Some(property) = document_type.properties().get(property_name) else { - return Err(Error::Query(QuerySyntaxError::InvalidInClause( - "Invalid query: in clause property not in document type" - .to_string(), - ))); - }; + _ => { + let property = document_type + .flattened_properties() + .get(&field_name) + .ok_or_else(|| { + Error::Query(QuerySyntaxError::InvalidSQL(format!( + "Invalid query: property named {} not in document type", + field_name + ))) + })?; Cow::Borrowed(&property.property_type) } }; @@ -1213,14 +1215,16 @@ impl<'a> WhereClause { "$id" | "$ownerId" => Cow::Owned(DocumentPropertyType::Identifier), "$createdAt" | "$updatedAt" => Cow::Owned(DocumentPropertyType::Date), "$revision" => Cow::Owned(DocumentPropertyType::U64), - property_name => { - let Some(property) = document_type.properties().get(property_name) - else { - return Err(Error::Query(QuerySyntaxError::InvalidSQL(format!( - "Invalid query: property named {} not in document type", - field_name.as_str() - )))); - }; + _ => { + let property = document_type + .flattened_properties() + .get(&field_name) + .ok_or_else(|| { + Error::Query(QuerySyntaxError::InvalidSQL(format!( + "Invalid query: property named {} not in document type", + field_name + ))) + })?; Cow::Borrowed(&property.property_type) } }; diff --git a/packages/rs-drive/src/query/drive_contested_document_query.rs b/packages/rs-drive/src/query/drive_contested_document_query.rs new file mode 100644 index 00000000000..e83950d6e0d --- /dev/null +++ b/packages/rs-drive/src/query/drive_contested_document_query.rs @@ -0,0 +1,160 @@ +use crate::drive::contract::paths::DataContractPaths; +use crate::drive::Drive; +use crate::error::Error; +#[cfg(feature = "server")] +use crate::fees::op::LowLevelDriveOperation; +#[cfg(feature = "server")] +use crate::query::GroveError; +use crate::query::Query; +use dpp::block::block_info::BlockInfo; +use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; +use dpp::data_contract::document_type::DocumentTypeRef; +use dpp::data_contract::DataContract; +use dpp::prelude::Identifier; +#[cfg(feature = "server")] +use grovedb::TransactionArg; +#[cfg(any(feature = "server", feature = "verify"))] +use grovedb::{PathQuery, SizedQuery}; +use platform_version::version::PlatformVersion; +use std::ops::BitXor; + +#[cfg(any(feature = "server", feature = "verify"))] +/// Internal clauses struct +#[derive(Clone, Debug, PartialEq, Default)] +pub struct PrimaryContestedInternalClauses { + /// Primary key in clause + pub primary_key_in_clause: Option>, + /// Primary key equal clause + pub primary_key_equal_clause: Option, +} + +impl PrimaryContestedInternalClauses { + #[cfg(any(feature = "server", feature = "verify"))] + /// Returns true if the clause is a valid format. + pub fn verify(&self) -> bool { + // There can only be 1 primary key clause + self.primary_key_in_clause + .is_some() + .bitxor(self.primary_key_equal_clause.is_some()) + } +} + +#[cfg(any(feature = "server", feature = "verify"))] +/// Drive query struct +#[derive(Debug, PartialEq, Clone)] +pub struct DriveContestedDocumentQuery<'a> { + ///DataContract + pub contract: &'a DataContract, + /// Document type + pub document_type: DocumentTypeRef<'a>, + /// Internal clauses + pub internal_clauses: PrimaryContestedInternalClauses, +} + +impl<'a> DriveContestedDocumentQuery<'a> { + #[cfg(any(feature = "server", feature = "verify"))] + /// Returns a path query given a document type path and starting document. + pub fn construct_path_query( + &self, + _platform_version: &PlatformVersion, + ) -> Result { + // First we should get the overall document_type_path + let mut path = self + .contract + .contested_document_type_path(self.document_type.name().as_str()) + .into_iter() + .map(|a| a.to_vec()) + .collect::>>(); + + // Add primary key ($id) subtree + path.push(vec![0]); + + if let Some(primary_key_equal_clause) = &self.internal_clauses.primary_key_equal_clause { + let mut query = Query::new(); + query.insert_key(primary_key_equal_clause.to_vec()); + + Ok(PathQuery::new(path, SizedQuery::new(query, Some(1), None))) + } else { + let mut query = Query::new(); + + if let Some(primary_key_in_clause) = &self.internal_clauses.primary_key_in_clause { + query.insert_keys( + primary_key_in_clause + .iter() + .map(|identifier| identifier.to_vec()) + .collect(), + ); + + Ok(PathQuery::new( + path, + SizedQuery::new(query, Some(primary_key_in_clause.len() as u16), None), + )) + } else { + query.insert_all(); + + Ok(PathQuery::new(path, SizedQuery::new(query, None, None))) + } + } + } + + #[cfg(feature = "server")] + /// Executes a query with no proof and returns the items, skipped items, and fee. + pub fn execute_raw_results_no_proof( + &self, + drive: &Drive, + block_info: Option, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result<(Vec>, u64), Error> { + let mut drive_operations = vec![]; + let (items, _skipped) = self.execute_raw_results_no_proof_internal( + drive, + transaction, + &mut drive_operations, + platform_version, + )?; + let cost = if let Some(block_info) = block_info { + let fee_result = Drive::calculate_fee( + None, + Some(drive_operations), + &block_info.epoch, + drive.config.epochs_per_era, + platform_version, + None, + )?; + fee_result.processing_fee + } else { + 0 + }; + Ok((items, cost)) + } + + #[cfg(feature = "server")] + /// Executes an internal query with no proof and returns the values and skipped items. + pub(crate) fn execute_raw_results_no_proof_internal( + &self, + drive: &Drive, + transaction: TransactionArg, + drive_operations: &mut Vec, + platform_version: &PlatformVersion, + ) -> Result<(Vec>, u16), Error> { + let path_query = self.construct_path_query(platform_version)?; + let query_result = drive.grove_get_path_query_serialized_results( + &path_query, + transaction, + drive_operations, + &platform_version.drive, + ); + match query_result { + Err(Error::GroveDB(GroveError::PathKeyNotFound(_))) + | Err(Error::GroveDB(GroveError::PathNotFound(_))) + | Err(Error::GroveDB(GroveError::PathParentLayerNotFound(_))) => Ok((Vec::new(), 0)), + _ => { + let (data, skipped) = query_result?; + { + Ok((data, skipped)) + } + } + } + } +} diff --git a/packages/rs-drive/src/query/mod.rs b/packages/rs-drive/src/query/mod.rs index 72b46a54f7c..456b4fc411f 100644 --- a/packages/rs-drive/src/query/mod.rs +++ b/packages/rs-drive/src/query/mod.rs @@ -50,12 +50,13 @@ pub use grovedb::{ Element, Error as GroveError, TransactionArg, }; +use dpp::document; +use dpp::prelude::Identifier; #[cfg(feature = "server")] use { crate::{drive::Drive, error::Error::GroveDB, fees::op::LowLevelDriveOperation}, dpp::block::block_info::BlockInfo, }; - // Crate-local unconditional imports use crate::config::DriveConfig; // Crate-local unconditional imports @@ -132,6 +133,13 @@ pub fn contract_lookup_fn_for_contract<'a>( #[cfg(any(feature = "server", feature = "verify"))] /// A query to get the votes given out by an identity pub mod contested_resource_votes_given_by_identity_query; +#[cfg(any(feature = "server", feature = "verify"))] +/// A query to get contested documents before they have been awarded +pub mod drive_contested_document_query; + +#[cfg(any(feature = "server", feature = "verify"))] +/// A query to get the block counts of proposers in an epoch +pub mod proposer_block_count_query; #[cfg(any(feature = "server", feature = "verify"))] /// Internal clauses struct @@ -305,6 +313,36 @@ pub struct DriveDocumentQuery<'a> { } impl<'a> DriveDocumentQuery<'a> { + /// Gets a document by their primary key + #[cfg(any(feature = "server", feature = "verify"))] + pub fn new_primary_key_single_item_query( + contract: &'a DataContract, + document_type: DocumentTypeRef<'a>, + id: Identifier, + ) -> Self { + DriveDocumentQuery { + contract, + document_type, + internal_clauses: InternalClauses { + primary_key_in_clause: None, + primary_key_equal_clause: Some(WhereClause { + field: document::property_names::ID.to_string(), + operator: WhereOperator::Equal, + value: Value::Identifier(id.to_buffer()), + }), + in_clause: None, + range_clause: None, + equal_clauses: Default::default(), + }, + offset: None, + limit: None, + order_by: Default::default(), + start_at: None, + start_at_included: false, + block_time_ms: None, + } + } + #[cfg(feature = "server")] /// Returns any item pub fn any_item_query(contract: &'a DataContract, document_type: DocumentTypeRef<'a>) -> Self { @@ -321,6 +359,26 @@ impl<'a> DriveDocumentQuery<'a> { } } + #[cfg(feature = "server")] + /// Returns all items + pub fn all_items_query( + contract: &'a DataContract, + document_type: DocumentTypeRef<'a>, + limit: Option, + ) -> Self { + DriveDocumentQuery { + contract, + document_type, + internal_clauses: Default::default(), + offset: None, + limit, + order_by: Default::default(), + start_at: None, + start_at_included: true, + block_time_ms: None, + } + } + #[cfg(any(feature = "server", feature = "verify"))] /// Returns true if the query clause if for primary keys. pub fn is_for_primary_key(&self) -> bool { @@ -1493,7 +1551,7 @@ impl<'a> DriveDocumentQuery<'a> { // There is no last_clause which means we are using an index most likely because of an order_by, however we have no // clauses, in this case we should use the first value of the index. let first_index = index.properties.first().ok_or(Error::Drive( - DriveError::CorruptedContractIndexes("index must have properties"), + DriveError::CorruptedContractIndexes("index must have properties".to_string()), ))?; // Index must have properties Self::recursive_insert_on_query( None, @@ -1547,7 +1605,7 @@ impl<'a> DriveDocumentQuery<'a> { .iter() .find(|field| where_clause.field == field.name) .ok_or(Error::Drive(DriveError::CorruptedContractIndexes( - "index must have last_clause field", + "index must have last_clause field".to_string(), )))?; Self::recursive_insert_on_query( Some(&mut query), @@ -1579,7 +1637,7 @@ impl<'a> DriveDocumentQuery<'a> { .iter() .find(|field| subquery_where_clause.field == field.name) .ok_or(Error::Drive(DriveError::CorruptedContractIndexes( - "index must have subquery_clause field", + "index must have subquery_clause field".to_string(), )))?; Self::recursive_insert_on_query( Some(&mut subquery), @@ -1811,7 +1869,6 @@ impl<'a> DriveDocumentQuery<'a> { } #[cfg(feature = "server")] - #[allow(unused)] /// Executes an internal query with no proof and returns the values and skipped items. pub(crate) fn execute_no_proof_internal( &self, @@ -1919,13 +1976,18 @@ mod tests { use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; use dpp::prelude::Identifier; + use rand::prelude::StdRng; + use rand::SeedableRng; use serde_json::json; use std::borrow::Cow; + use std::collections::BTreeMap; use std::option::Option::None; use tempfile::TempDir; use crate::drive::Drive; - use crate::query::DriveDocumentQuery; + use crate::query::{ + DriveDocumentQuery, InternalClauses, OrderClause, WhereClause, WhereOperator, + }; use crate::util::storage_flags::StorageFlags; use dpp::data_contract::DataContract; @@ -1936,7 +1998,9 @@ mod tests { use crate::util::test_helpers::setup::setup_drive_with_initial_state_structure; use dpp::block::block_info::BlockInfo; use dpp::data_contract::accessors::v0::DataContractV0Getters; - use dpp::tests::fixtures::get_data_contract_fixture; + use dpp::platform_value::string_encoding::Encoding; + use dpp::platform_value::Value; + use dpp::tests::fixtures::{get_data_contract_fixture, get_dpns_data_contract_fixture}; use dpp::tests::json_document::json_document_to_contract; use dpp::util::cbor_serializer; use dpp::version::PlatformVersion; @@ -2190,6 +2254,70 @@ mod tests { .expect("query should be fine for a 255 byte long string"); } + #[test] + fn test_valid_query_drive_document_query() { + let platform_version = PlatformVersion::latest(); + let mut rng = StdRng::seed_from_u64(5); + let contract = + get_dpns_data_contract_fixture(Some(Identifier::random_with_rng(&mut rng)), 0, 1) + .data_contract_owned(); + let domain = contract + .document_type_for_name("domain") + .expect("expected to get domain"); + + let query_asc = DriveDocumentQuery { + contract: &contract, + document_type: domain, + internal_clauses: InternalClauses { + primary_key_in_clause: None, + primary_key_equal_clause: None, + in_clause: None, + range_clause: Some(WhereClause { + field: "records.identity".to_string(), + operator: WhereOperator::LessThan, + value: Value::Identifier( + Identifier::from_string( + "AYN4srupPWDrp833iG5qtmaAsbapNvaV7svAdncLN5Rh", + Encoding::Base58, + ) + .unwrap() + .to_buffer(), + ), + }), + equal_clauses: BTreeMap::new(), + }, + offset: None, + limit: Some(6), + order_by: vec![( + "records.identity".to_string(), + OrderClause { + field: "records.identity".to_string(), + ascending: false, + }, + )] + .into_iter() + .collect(), + start_at: None, + start_at_included: false, + block_time_ms: None, + }; + + let path_query = query_asc + .construct_path_query(None, platform_version) + .expect("expected to create path query"); + + assert_eq!(path_query.to_string(), "PathQuery { path: [@, 0x1da29f488023e306ff9a680bc9837153fb0778c8ee9c934a87dc0de1d69abd3c, 0x01, domain, 0x7265636f7264732e6964656e74697479], query: SizedQuery { query: Query {\n items: [\n RangeTo(.. 8dc201fd7ad7905f8a84d66218e2b387daea7fe4739ae0e21e8c3ee755e6a2c0),\n ],\n default_subquery_branch: SubqueryBranch { subquery_path: [00], subquery: Query {\n items: [\n RangeFull,\n ],\n default_subquery_branch: SubqueryBranch { subquery_path: None subquery: None },\n left_to_right: false,\n} },\n conditional_subquery_branches: {\n Key(): SubqueryBranch { subquery_path: [00], subquery: Query {\n items: [\n RangeFull,\n ],\n default_subquery_branch: SubqueryBranch { subquery_path: None subquery: None },\n left_to_right: false,\n} },\n },\n left_to_right: false,\n}, limit: 6 } }"); + + // Serialize the PathQuery to a Vec + let encoded = bincode::encode_to_vec(&path_query, bincode::config::standard()) + .expect("Failed to serialize PathQuery"); + + // Convert the encoded bytes to a hex string + let hex_string = hex::encode(encoded); + + assert_eq!(hex_string, "050140201da29f488023e306ff9a680bc9837153fb0778c8ee9c934a87dc0de1d69abd3c010106646f6d61696e107265636f7264732e6964656e746974790105208dc201fd7ad7905f8a84d66218e2b387daea7fe4739ae0e21e8c3ee755e6a2c0010101000101030000000001010000010101000101030000000000010600"); + } + #[test] fn test_invalid_query_field_too_long() { let (drive, contract) = setup_family_contract(); diff --git a/packages/rs-drive/src/query/proposer_block_count_query.rs b/packages/rs-drive/src/query/proposer_block_count_query.rs new file mode 100644 index 00000000000..7e8da131bb9 --- /dev/null +++ b/packages/rs-drive/src/query/proposer_block_count_query.rs @@ -0,0 +1,82 @@ +use crate::drive::credit_pools::epochs::paths::EpochProposers; +use crate::query::Query; +use dpp::block::epoch::Epoch; +use grovedb::{PathQuery, SizedQuery}; + +/// Represents an optional limit for the number of proposers to retrieve in a query. +/// +/// - `Some(u16)`: Limits the number of proposers returned. +/// - `None`: No limit on the number of proposers. +pub type ProposerQueryLimit = Option; +/// Indicates whether the query should include the starting proposer in the results. +/// +/// - `true`: The starting proposer is included in the results. +/// - `false`: The starting proposer is excluded. +pub type ProposerQueryStartAtIncluded = bool; +/// Represents an optional starting point for a proposer query, consisting of: +/// +/// - A tuple of a 32-byte array representing the start proposer's identifier and +/// a boolean indicating whether to include the starting proposer. +/// +/// - `Some(([u8; 32], bool))`: A specific proposer to start from, with an inclusion flag. +/// - `None`: The query will start from the beginning or a default point. +pub type ProposerQueryStartAt = Option<([u8; 32], ProposerQueryStartAtIncluded)>; + +/// Specifies the type of query to retrieve proposers, with two options: +/// +/// - `ByRange(ProposerQueryLimit, ProposerQueryStartAt)`: Query proposers within a range, +/// with an optional limit and an optional starting point. +/// +/// - `ByIds(Vec>)`: Query specific proposers by their identifiers. +pub enum ProposerQueryType { + /// Queries proposers within a specified range. + /// + /// - `ProposerQueryLimit`: Limits the number of proposers returned. If `None`, there is no limit. + /// - `ProposerQueryStartAt`: Specifies the proposer to start from. If `None`, the query starts at the beginning. + ByRange(ProposerQueryLimit, ProposerQueryStartAt), + + /// Queries specific proposers by their identifiers. + /// + /// - `Vec>`: A vector of proposer IDs (byte arrays) to retrieve. + ByIds(Vec>), +} + +impl ProposerQueryType { + /// Should we get optional elements? + pub fn allows_optional(&self) -> bool { + match self { + ProposerQueryType::ByRange(_, _) => false, + ProposerQueryType::ByIds(_) => true, + } + } + + /// Gets the path query for the proposer query type + pub fn into_path_query(self, epoch: &Epoch) -> PathQuery { + let path_as_vec = epoch.get_proposers_path_vec(); + + let mut query = Query::new(); + + match self { + ProposerQueryType::ByRange(limit, start_at) => { + match start_at { + None => { + query.insert_all(); + } + Some((identity_id, included)) => { + if included { + query.insert_range_from(identity_id.to_vec()..); + } else { + query.insert_range_after(identity_id.to_vec()..); + } + } + } + PathQuery::new(path_as_vec, SizedQuery::new(query, limit, None)) + } + ProposerQueryType::ByIds(ids) => { + let len = ids.len(); + query.insert_keys(ids); + PathQuery::new(path_as_vec, SizedQuery::new(query, Some(len as u16), None)) + } + } + } +} diff --git a/packages/rs-drive/src/query/vote_poll_vote_state_query.rs b/packages/rs-drive/src/query/vote_poll_vote_state_query.rs index 949d112a671..b1fa7413a13 100644 --- a/packages/rs-drive/src/query/vote_poll_vote_state_query.rs +++ b/packages/rs-drive/src/query/vote_poll_vote_state_query.rs @@ -44,6 +44,8 @@ pub enum ContestedDocumentVotePollDriveQueryResultType { VoteTally, /// Both the documents and the vote tally results are returned in the query result. DocumentsAndVoteTally, + /// We are searching for a single document only. + SingleDocumentByContender(Identifier), } impl ContestedDocumentVotePollDriveQueryResultType { @@ -51,6 +53,7 @@ impl ContestedDocumentVotePollDriveQueryResultType { pub fn has_vote_tally(&self) -> bool { match self { ContestedDocumentVotePollDriveQueryResultType::Documents => false, + ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(_) => false, ContestedDocumentVotePollDriveQueryResultType::VoteTally => true, ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => true, } @@ -60,6 +63,7 @@ impl ContestedDocumentVotePollDriveQueryResultType { pub fn has_documents(&self) -> bool { match self { ContestedDocumentVotePollDriveQueryResultType::Documents => true, + ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(_) => true, ContestedDocumentVotePollDriveQueryResultType::VoteTally => false, ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => true, } @@ -74,6 +78,9 @@ impl TryFrom for ContestedDocumentVotePollDriveQueryResultType { 0 => Ok(ContestedDocumentVotePollDriveQueryResultType::Documents), 1 => Ok(ContestedDocumentVotePollDriveQueryResultType::VoteTally), 2 => Ok(ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally), + 3 => Err(Error::Query(QuerySyntaxError::Unsupported( + "unsupported to get SingleDocumentByContender query result type".to_string() + ))), n => Err(Error::Query(QuerySyntaxError::Unsupported(format!( "unsupported contested document vote poll drive query result type {}, only 0, 1, 2 and 3 are supported", n @@ -397,62 +404,73 @@ impl<'a> ResolvedContestedDocumentVotePollDriveQuery<'a> { // Stored Info [[0;31],0] Abstain votes [[0;31],1] Lock Votes [[0;31],2] // this is a range on all elements - let limit = - match &self.start_at { - None => { - if allow_include_locked_and_abstaining_vote_tally { - match &self.result_type { - ContestedDocumentVotePollDriveQueryResultType::Documents => { - // Documents don't care about the vote tallies - query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); - self.limit - } - ContestedDocumentVotePollDriveQueryResultType::VoteTally => { - query.insert_all(); - self.limit.map(|limit| limit.saturating_add(3)) - } - ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => { - query.insert_all(); - self.limit.map(|limit| limit.saturating_mul(2).saturating_add(3)) - } - } - } else { - match &self.result_type { - ContestedDocumentVotePollDriveQueryResultType::Documents => { - query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); - self.limit - } - ContestedDocumentVotePollDriveQueryResultType::VoteTally => { - query.insert_key(RESOURCE_STORED_INFO_KEY_U8_32.to_vec()); - query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); - self.limit.map(|limit| limit.saturating_add(1)) - } - ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => { - query.insert_key(RESOURCE_STORED_INFO_KEY_U8_32.to_vec()); - query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); - self.limit.map(|limit| limit.saturating_mul(2).saturating_add(1)) + let limit = match &self.start_at { + None => { + if allow_include_locked_and_abstaining_vote_tally { + match &self.result_type { + ContestedDocumentVotePollDriveQueryResultType::Documents => { + // Documents don't care about the vote tallies + query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); + self.limit + } + ContestedDocumentVotePollDriveQueryResultType::VoteTally => { + query.insert_all(); + self.limit.map(|limit| limit.saturating_add(3)) + } + ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => { + query.insert_all(); + self.limit.map(|limit| limit.saturating_mul(2).saturating_add(3)) + } + ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(contender_id) => { + query.insert_key(contender_id.to_vec()); + self.limit + } } - } - } - } - Some((starts_at_key_bytes, start_at_included)) => { - let starts_at_key = starts_at_key_bytes.to_vec(); - match start_at_included { - true => query.insert_range_from(starts_at_key..), - false => query.insert_range_after(starts_at_key..), - } + } else { match &self.result_type { - ContestedDocumentVotePollDriveQueryResultType::Documents - | ContestedDocumentVotePollDriveQueryResultType::VoteTally => self.limit, - ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => { - self.limit.map(|limit| limit.saturating_mul(2)) + ContestedDocumentVotePollDriveQueryResultType::Documents => { + query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); + self.limit + } + ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(contender_id) => { + query.insert_key(contender_id.to_vec()); + self.limit + } + ContestedDocumentVotePollDriveQueryResultType::VoteTally => { + query.insert_key(RESOURCE_STORED_INFO_KEY_U8_32.to_vec()); + query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); + self.limit.map(|limit| limit.saturating_add(1)) + } + ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => { + query.insert_key(RESOURCE_STORED_INFO_KEY_U8_32.to_vec()); + query.insert_range_after(RESOURCE_LOCK_VOTE_TREE_KEY_U8_32.to_vec()..); + self.limit.map(|limit| limit.saturating_mul(2).saturating_add(1)) + } } + } + } + Some((starts_at_key_bytes, start_at_included)) => { + let starts_at_key = starts_at_key_bytes.to_vec(); + match start_at_included { + true => query.insert_range_from(starts_at_key..), + false => query.insert_range_after(starts_at_key..), + } + match &self.result_type { + ContestedDocumentVotePollDriveQueryResultType::Documents + | ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(_) + | ContestedDocumentVotePollDriveQueryResultType::VoteTally => self.limit, + ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => { + self.limit.map(|limit| limit.saturating_mul(2)) } } - }; + } + }; let (subquery_path, subquery) = match self.result_type { - ContestedDocumentVotePollDriveQueryResultType::Documents => (Some(vec![vec![0]]), None), + ContestedDocumentVotePollDriveQueryResultType::Documents + | ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(_) => { + (Some(vec![vec![0]]), None) + } ContestedDocumentVotePollDriveQueryResultType::VoteTally => (Some(vec![vec![1]]), None), ContestedDocumentVotePollDriveQueryResultType::DocumentsAndVoteTally => { let mut query = Query::new(); @@ -520,7 +538,9 @@ impl<'a> ResolvedContestedDocumentVotePollDriveQuery<'a> { Err(e) => Err(e), Ok((query_result_elements, skipped)) => { match self.result_type { - ContestedDocumentVotePollDriveQueryResultType::Documents => { + ContestedDocumentVotePollDriveQueryResultType::Documents + | ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(_) => + { // with documents only we don't need to work about lock and abstaining tree let contenders = query_result_elements .to_path_key_elements() diff --git a/packages/rs-drive/src/query/vote_polls_by_end_date_query.rs b/packages/rs-drive/src/query/vote_polls_by_end_date_query.rs index 0fc4a1ca9fd..fb34e8a619d 100644 --- a/packages/rs-drive/src/query/vote_polls_by_end_date_query.rs +++ b/packages/rs-drive/src/query/vote_polls_by_end_date_query.rs @@ -44,7 +44,7 @@ pub struct VotePollsByEndDateDriveQuery { } impl VotePollsByEndDateDriveQuery { - /// Get the path query for an abci query that gets vote polls by the end time + /// Get the path query for an abci query that gets vote polls until an end time pub fn path_query_for_end_time_included(end_time: TimestampMillis, limit: u16) -> PathQuery { let path = vote_end_date_queries_tree_path_vec(); @@ -70,6 +70,32 @@ impl VotePollsByEndDateDriveQuery { } } + /// Get the path query for an abci query that gets vote polls at an the end time + pub fn path_query_for_single_end_time(end_time: TimestampMillis, limit: u16) -> PathQuery { + let path = vote_end_date_queries_tree_path_vec(); + + let mut query = Query::new_with_direction(true); + + let encoded_time = encode_u64(end_time); + + query.insert_key(encoded_time); + + let mut sub_query = Query::new(); + + sub_query.insert_all(); + + query.default_subquery_branch.subquery = Some(sub_query.into()); + + PathQuery { + path, + query: SizedQuery { + query, + limit: Some(limit), + offset: None, + }, + } + } + #[cfg(feature = "server")] /// Executes a special query with no proof to get contested document resource vote polls. /// This is meant for platform abci to get votes that have finished @@ -126,6 +152,48 @@ impl VotePollsByEndDateDriveQuery { } } + #[cfg(feature = "server")] + /// Executes a special query with no proof to get contested document resource vote polls. + /// This is meant for platform abci to get votes that have finished + pub fn execute_no_proof_for_specialized_end_time_query_only_check_end_time( + end_time: TimestampMillis, + limit: u16, + drive: &Drive, + transaction: TransactionArg, + drive_operations: &mut Vec, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let path_query = Self::path_query_for_single_end_time(end_time, limit); + let query_result = drive.grove_get_path_query( + &path_query, + transaction, + QueryResultType::QueryPathKeyElementTrioResultType, + drive_operations, + &platform_version.drive, + ); + match query_result { + Err(Error::GroveDB(GroveError::PathKeyNotFound(_))) + | Err(Error::GroveDB(GroveError::PathNotFound(_))) + | Err(Error::GroveDB(GroveError::PathParentLayerNotFound(_))) => Ok(vec![]), + Err(e) => Err(e), + Ok((query_result_elements, _)) => { + // Process the query result elements and collect VotePolls + let vote_polls = query_result_elements + .to_path_key_elements() + .into_iter() + .map(|(_, _, element)| { + // Extract the bytes from the element + let vote_poll_bytes = element.into_item_bytes().map_err(Error::from)?; + // Deserialize the bytes into a VotePoll + let vote_poll = VotePoll::deserialize_from_bytes(&vote_poll_bytes)?; + Ok(vote_poll) + }) + .collect::, Error>>()?; + Ok(vote_polls) + } + } + } + /// Operations to construct a path query. pub fn construct_path_query(&self) -> PathQuery { let path = vote_end_date_queries_tree_path_vec(); diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/transformer.rs b/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/transformer.rs index 6ea2449408f..5f619841bb8 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/transformer.rs @@ -1,20 +1,43 @@ +use crate::drive::Drive; +use crate::error::Error; use crate::state_transition_action::identity::identity_credit_withdrawal::v0::IdentityCreditWithdrawalTransitionActionV0; use crate::state_transition_action::identity::identity_credit_withdrawal::IdentityCreditWithdrawalTransitionAction; +use dpp::block::block_info::BlockInfo; use dpp::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; +use dpp::validation::ConsensusValidationResult; +use grovedb::TransactionArg; +use platform_version::version::PlatformVersion; impl IdentityCreditWithdrawalTransitionAction { - /// from - pub fn from_identity_credit_withdrawal( + /// try from an identity credit withdrawal + pub fn try_from_identity_credit_withdrawal( + drive: &Drive, + tx: TransactionArg, identity_credit_withdrawal: &IdentityCreditWithdrawalTransition, - creation_time_ms: u64, - ) -> Self { + block_info: &BlockInfo, + platform_version: &PlatformVersion, + ) -> Result, Error> { match identity_credit_withdrawal { IdentityCreditWithdrawalTransition::V0(v0) => { - IdentityCreditWithdrawalTransitionActionV0::from_identity_credit_withdrawal( - v0, - creation_time_ms, + Ok(ConsensusValidationResult::new_with_data( + IdentityCreditWithdrawalTransitionActionV0::from_identity_credit_withdrawal_v0( + v0, + block_info.time_ms, + ) + .into(), + )) + } + IdentityCreditWithdrawalTransition::V1(v1) => { + IdentityCreditWithdrawalTransitionActionV0::try_from_identity_credit_withdrawal_v1( + drive, + tx, + v1, + block_info, + platform_version, ) - .into() + .map(|consensus_validation_result| { + consensus_validation_result.map(|withdrawal| withdrawal.into()) + }) } } } diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/v0/transformer.rs b/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/v0/transformer.rs index 742476740cc..8da24e5759a 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/v0/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_credit_withdrawal/v0/transformer.rs @@ -1,14 +1,33 @@ +use crate::drive::identity::key::fetch::{ + IdentityKeysRequest, KeyIDIdentityPublicKeyPairBTreeMap, KeyRequestType, +}; +use crate::drive::Drive; +use crate::error::Error; use crate::state_transition_action::identity::identity_credit_withdrawal::v0::IdentityCreditWithdrawalTransitionActionV0; +use dpp::block::block_info::BlockInfo; +use dpp::consensus::state::identity::identity_public_key_is_disabled_error::IdentityPublicKeyIsDisabledError; +use dpp::consensus::state::identity::missing_transfer_key_error::MissingTransferKeyError; +use dpp::consensus::state::identity::no_transfer_key_for_core_withdrawal_available_error::NoTransferKeyForCoreWithdrawalAvailableError; +use dpp::consensus::state::state_error::StateError; +use dpp::consensus::ConsensusError; use dpp::data_contracts::withdrawals_contract; use dpp::data_contracts::withdrawals_contract::v1::document_types::withdrawal; use dpp::document::{Document, DocumentV0}; +use dpp::identity::core_script::CoreScript; +use dpp::identity::hash::IdentityPublicKeyHashMethodsV0; +use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; +use dpp::identity::IdentityPublicKey; use dpp::platform_value::platform_value; +use dpp::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; use dpp::state_transition::state_transitions::identity::identity_credit_withdrawal_transition::v0::IdentityCreditWithdrawalTransitionV0; +use dpp::validation::ConsensusValidationResult; use dpp::withdrawal::Pooling; +use grovedb::TransactionArg; +use platform_version::version::PlatformVersion; impl IdentityCreditWithdrawalTransitionActionV0 { /// from identity credit withdrawal - pub fn from_identity_credit_withdrawal( + pub fn from_identity_credit_withdrawal_v0( identity_credit_withdrawal: &IdentityCreditWithdrawalTransitionV0, creation_time_ms: u64, ) -> Self { @@ -57,4 +76,121 @@ impl IdentityCreditWithdrawalTransitionActionV0 { user_fee_increase: identity_credit_withdrawal.user_fee_increase, } } + + /// from identity credit withdrawal v1 + pub fn try_from_identity_credit_withdrawal_v1( + drive: &Drive, + tx: TransactionArg, + identity_credit_withdrawal: &IdentityCreditWithdrawalTransitionV1, + block_info: &BlockInfo, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let output_script_bytes = if let Some(output_script) = + &identity_credit_withdrawal.output_script + { + output_script.to_bytes() + } else { + let key_request = IdentityKeysRequest { + identity_id: identity_credit_withdrawal.identity_id.to_buffer(), + request_type: KeyRequestType::RecentWithdrawalKeys, + limit: None, + offset: None, + }; + let key: Option = + drive.fetch_identity_keys(key_request, tx, platform_version)?; + let Some(mut key) = key else { + return Ok(ConsensusValidationResult::new_with_error( + ConsensusError::StateError(StateError::MissingTransferKeyError( + MissingTransferKeyError::new(identity_credit_withdrawal.identity_id), + )), + )); + }; + if key.is_disabled() { + // The first key is disabled, let's look at some more withdrawal keys to find one that isn't disabled + let after_first_key_request = IdentityKeysRequest { + identity_id: identity_credit_withdrawal.identity_id.to_buffer(), + request_type: KeyRequestType::RecentWithdrawalKeys, + limit: Some(5), + offset: Some(1), + }; + let other_keys: KeyIDIdentityPublicKeyPairBTreeMap = + drive.fetch_identity_keys(after_first_key_request, tx, platform_version)?; + + if let Some(found_non_disabled_key) = other_keys + .values() + .rev() + .find(|identity_public_key| !identity_public_key.is_disabled()) + .cloned() + { + key = found_non_disabled_key + } else { + return Ok(ConsensusValidationResult::new_with_error( + ConsensusError::StateError(StateError::IdentityPublicKeyIsDisabledError( + IdentityPublicKeyIsDisabledError::new(key.id()), + )), + )); + } + } + if !key.key_type().is_core_address_key_type() { + return Ok(ConsensusValidationResult::new_with_error( + ConsensusError::StateError( + StateError::NoTransferKeyForCoreWithdrawalAvailableError( + NoTransferKeyForCoreWithdrawalAvailableError::new( + identity_credit_withdrawal.identity_id, + ), + ), + ), + )); + } + // We should get the withdrawal address + CoreScript::new_p2pkh(key.public_key_hash()?).to_bytes() + }; + + let mut entropy = Vec::new(); + entropy.extend_from_slice(&identity_credit_withdrawal.nonce.to_be_bytes()); + entropy.extend_from_slice(output_script_bytes.as_slice()); + + let document_id = Document::generate_document_id_v0( + &withdrawals_contract::ID, + &identity_credit_withdrawal.identity_id, + withdrawal::NAME, + &entropy, + ); + + let document_data = platform_value!({ + withdrawal::properties::AMOUNT: identity_credit_withdrawal.amount, + withdrawal::properties::CORE_FEE_PER_BYTE: identity_credit_withdrawal.core_fee_per_byte, + // TODO(withdrawals): replace with actual value from state transition once pooling is done + withdrawal::properties::POOLING: Pooling::Never, + withdrawal::properties::OUTPUT_SCRIPT: output_script_bytes, + withdrawal::properties::STATUS: withdrawals_contract::WithdrawalStatus::QUEUED, + }); + + let withdrawal_document = DocumentV0 { + id: document_id, + owner_id: identity_credit_withdrawal.identity_id, + properties: document_data.into_btree_string_map().unwrap(), + revision: Some(1), + created_at: Some(block_info.time_ms), + updated_at: Some(block_info.time_ms), + transferred_at: None, + created_at_block_height: None, + updated_at_block_height: None, + transferred_at_block_height: None, + created_at_core_block_height: None, + updated_at_core_block_height: None, + transferred_at_core_block_height: None, + } + .into(); + + Ok(ConsensusValidationResult::new_with_data( + IdentityCreditWithdrawalTransitionActionV0 { + identity_id: identity_credit_withdrawal.identity_id, + nonce: identity_credit_withdrawal.nonce, + prepared_withdrawal_document: withdrawal_document, + amount: identity_credit_withdrawal.amount, + user_fee_increase: identity_credit_withdrawal.user_fee_increase, + }, + )) + } } diff --git a/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/transformer.rs b/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/transformer.rs index 674fb61d3b7..ae5afef5ff1 100644 --- a/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/transformer.rs @@ -137,22 +137,14 @@ impl BumpIdentityNonceAction { pub fn from_identity_credit_withdrawal_transition( value: IdentityCreditWithdrawalTransition, ) -> Self { - match value { - IdentityCreditWithdrawalTransition::V0(v0) => { - BumpIdentityNonceActionV0::from_identity_credit_withdrawal(v0).into() - } - } + BumpIdentityNonceActionV0::from_identity_credit_withdrawal(value).into() } /// from borrowed identity withdrawal pub fn from_borrowed_identity_credit_withdrawal_transition( value: &IdentityCreditWithdrawalTransition, ) -> Self { - match value { - IdentityCreditWithdrawalTransition::V0(v0) => { - BumpIdentityNonceActionV0::from_borrowed_identity_credit_withdrawal(v0).into() - } - } + BumpIdentityNonceActionV0::from_borrowed_identity_credit_withdrawal(value).into() } /// from identity withdrawal action diff --git a/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/v0/transformer.rs b/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/v0/transformer.rs index 99cb8340328..8c5520f7d7d 100644 --- a/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/v0/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/system/bump_identity_nonce_action/v0/transformer.rs @@ -6,8 +6,10 @@ use crate::state_transition_action::system::bump_identity_nonce_action::BumpIden use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::state_transition::data_contract_create_transition::DataContractCreateTransitionV0; use dpp::state_transition::identity_credit_transfer_transition::v0::IdentityCreditTransferTransitionV0; -use dpp::state_transition::identity_credit_withdrawal_transition::v0::IdentityCreditWithdrawalTransitionV0; +use dpp::state_transition::identity_credit_withdrawal_transition::accessors::IdentityCreditWithdrawalTransitionAccessorsV0; +use dpp::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; use dpp::state_transition::identity_update_transition::v0::IdentityUpdateTransitionV0; +use dpp::state_transition::StateTransitionLike; impl BumpIdentityNonceActionV0 { /// from identity update @@ -199,34 +201,22 @@ impl BumpIdentityNonceActionV0 { } /// from identity credit withdrawal - pub fn from_identity_credit_withdrawal(value: IdentityCreditWithdrawalTransitionV0) -> Self { - let IdentityCreditWithdrawalTransitionV0 { - identity_id, - nonce, - user_fee_increase, - .. - } = value; + pub fn from_identity_credit_withdrawal(value: IdentityCreditWithdrawalTransition) -> Self { BumpIdentityNonceActionV0 { - identity_id, - identity_nonce: nonce, - user_fee_increase, + identity_id: value.identity_id(), + identity_nonce: value.nonce(), + user_fee_increase: value.user_fee_increase(), } } /// from borrowed identity credit withdrawal pub fn from_borrowed_identity_credit_withdrawal( - value: &IdentityCreditWithdrawalTransitionV0, + value: &IdentityCreditWithdrawalTransition, ) -> Self { - let IdentityCreditWithdrawalTransitionV0 { - identity_id, - nonce, - user_fee_increase, - .. - } = value; BumpIdentityNonceActionV0 { - identity_id: *identity_id, - identity_nonce: *nonce, - user_fee_increase: *user_fee_increase, + identity_id: value.identity_id(), + identity_nonce: value.nonce(), + user_fee_increase: value.user_fee_increase(), } } diff --git a/packages/rs-drive/src/util/batch/drive_op_batch/drive_methods/convert_drive_operations_to_grove_operations/v0/mod.rs b/packages/rs-drive/src/util/batch/drive_op_batch/drive_methods/convert_drive_operations_to_grove_operations/v0/mod.rs index 7a8a910d1bf..de4fecc4c41 100644 --- a/packages/rs-drive/src/util/batch/drive_op_batch/drive_methods/convert_drive_operations_to_grove_operations/v0/mod.rs +++ b/packages/rs-drive/src/util/batch/drive_op_batch/drive_methods/convert_drive_operations_to_grove_operations/v0/mod.rs @@ -7,7 +7,7 @@ use crate::util::batch::{DriveOperation, GroveDbOpBatch}; use dpp::block::block_info::BlockInfo; use dpp::version::PlatformVersion; -use grovedb::batch::GroveDbOp; +use grovedb::batch::QualifiedGroveDbOp; use grovedb::TransactionArg; use itertools::Itertools; @@ -52,7 +52,7 @@ impl Drive { )) }) .flatten_ok() - .collect::, Error>>()?; + .collect::, Error>>()?; Ok(GroveDbOpBatch::from_operations(ops)) } } diff --git a/packages/rs-drive/src/util/batch/drive_op_batch/identity.rs b/packages/rs-drive/src/util/batch/drive_op_batch/identity.rs index 22d407f79ca..e3ed135a519 100644 --- a/packages/rs-drive/src/util/batch/drive_op_batch/identity.rs +++ b/packages/rs-drive/src/util/batch/drive_op_batch/identity.rs @@ -172,6 +172,7 @@ impl DriveLowLevelOperationConverter for IdentityOperationType { identity_id, keys_ids, block_info.time_ms, + &block_info.epoch, estimated_costs_only_with_layer_info, transaction, platform_version, @@ -182,6 +183,7 @@ impl DriveLowLevelOperationConverter for IdentityOperationType { } => drive.re_enable_identity_keys_operations( identity_id, keys_ids, + &block_info.epoch, estimated_costs_only_with_layer_info, transaction, platform_version, diff --git a/packages/rs-drive/src/util/batch/drive_op_batch/mod.rs b/packages/rs-drive/src/util/batch/drive_op_batch/mod.rs index b5b10357717..144bcda787a 100644 --- a/packages/rs-drive/src/util/batch/drive_op_batch/mod.rs +++ b/packages/rs-drive/src/util/batch/drive_op_batch/mod.rs @@ -29,7 +29,7 @@ use grovedb::{EstimatedLayerInformation, TransactionArg}; use crate::fees::op::LowLevelDriveOperation::GroveOperation; use dpp::version::PlatformVersion; -use grovedb::batch::{GroveDbOp, KeyInfoPath}; +use grovedb::batch::{KeyInfoPath, QualifiedGroveDbOp}; use crate::error::drive::DriveError; use crate::util::batch::drive_op_batch::finalize_task::{ @@ -78,7 +78,7 @@ pub enum DriveOperation<'a> { /// A system operation SystemOperation(SystemOperationType), /// A single low level groveDB operation - GroveDBOperation(GroveDbOp), + GroveDBOperation(QualifiedGroveDbOp), /// Multiple low level groveDB operations GroveDBOpBatch(GroveDbOpBatch), } diff --git a/packages/rs-drive/src/util/batch/drive_op_batch/withdrawals.rs b/packages/rs-drive/src/util/batch/drive_op_batch/withdrawals.rs index 972f6be00e8..7ad820d6013 100644 --- a/packages/rs-drive/src/util/batch/drive_op_batch/withdrawals.rs +++ b/packages/rs-drive/src/util/batch/drive_op_batch/withdrawals.rs @@ -4,20 +4,17 @@ use crate::drive::identity::withdrawals::paths::{ get_withdrawal_root_path_vec, get_withdrawal_transactions_queue_path, get_withdrawal_transactions_queue_path_vec, WITHDRAWAL_TRANSACTIONS_NEXT_INDEX_KEY, }; -use crate::drive::identity::withdrawals::{ - WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes, -}; use crate::util::grove_operations::BatchDeleteApplyType; use crate::util::object_size_info::PathKeyElementInfo; use crate::{drive::Drive, error::Error, fees::op::LowLevelDriveOperation}; use dpp::block::block_info::BlockInfo; +use super::DriveLowLevelOperationConverter; use dpp::version::PlatformVersion; +use dpp::withdrawal::{WithdrawalTransactionIndex, WithdrawalTransactionIndexAndBytes}; use grovedb::Element; use grovedb::{batch::KeyInfoPath, EstimatedLayerInformation, TransactionArg}; -use super::DriveLowLevelOperationConverter; - /// Operations for Withdrawals #[derive(Clone, Debug)] pub enum WithdrawalOperationType { diff --git a/packages/rs-drive/src/util/batch/grovedb_op_batch/mod.rs b/packages/rs-drive/src/util/batch/grovedb_op_batch/mod.rs index e467aa336d5..67d5f8908ea 100644 --- a/packages/rs-drive/src/util/batch/grovedb_op_batch/mod.rs +++ b/packages/rs-drive/src/util/batch/grovedb_op_batch/mod.rs @@ -11,7 +11,7 @@ use dpp::block::epoch::Epoch; use dpp::identity::{Purpose, SecurityLevel}; use dpp::prelude::Identifier; use grovedb::batch::key_info::KeyInfo; -use grovedb::batch::{GroveDbOp, GroveDbOpConsistencyResults, KeyInfoPath, Op}; +use grovedb::batch::{GroveDbOpConsistencyResults, GroveOp, KeyInfoPath, QualifiedGroveDbOp}; use grovedb::operations::proof::util::hex_to_ascii; use grovedb::Element; use std::borrow::Cow; @@ -22,7 +22,7 @@ use std::fmt; #[derive(Debug, Default, Clone)] pub struct GroveDbOpBatch { /// Operations - pub(crate) operations: Vec, + pub(crate) operations: Vec, } #[derive(Debug, PartialEq, Eq, Copy, Clone)] @@ -263,7 +263,7 @@ impl fmt::Display for GroveDbOpBatch { writeln!(f, " Path: {}", path_string)?; writeln!(f, " Key: {}", key_string)?; match &op.op { - Op::Insert { element } => { + GroveOp::InsertOrReplace { element } | GroveOp::InsertOnly { element } => { let flags = element.get_flags(); let flag_info = match flags { None => "No Flags".to_string(), @@ -321,16 +321,16 @@ pub trait GroveDbOpBatchV0Methods { fn is_empty(&self) -> bool; /// Pushes an operation into a list of GroveDB ops. - fn push(&mut self, op: GroveDbOp); + fn push(&mut self, op: QualifiedGroveDbOp); /// Appends operations into a list of GroveDB ops. fn append(&mut self, other: &mut Self); /// Extend operations into a list of GroveDB ops. - fn extend>(&mut self, other_ops: I); + fn extend>(&mut self, other_ops: I); /// Puts a list of GroveDB operations into a batch. - fn from_operations(operations: Vec) -> Self; + fn from_operations(operations: Vec) -> Self; /// Adds an `Insert` operation with an empty tree at the specified path and key to a list of GroveDB ops. fn add_insert_empty_tree(&mut self, path: Vec>, key: Vec); @@ -376,7 +376,7 @@ pub trait GroveDbOpBatchV0Methods { /// # Returns /// /// * `Option<&Op>` - Returns a reference to the `Op` if found, or `None` otherwise. - fn contains<'c, P>(&self, path: P, key: &[u8]) -> Option<&Op> + fn contains<'c, P>(&self, path: P, key: &[u8]) -> Option<&GroveOp> where P: IntoIterator,

::IntoIter: ExactSizeIterator + DoubleEndedIterator + Clone; @@ -391,13 +391,13 @@ pub trait GroveDbOpBatchV0Methods { /// # Returns /// /// * `Option` - Returns the removed `Op` if found, or `None` otherwise. - fn remove<'c, P>(&mut self, path: P, key: &[u8]) -> Option + fn remove<'c, P>(&mut self, path: P, key: &[u8]) -> Option where P: IntoIterator,

::IntoIter: ExactSizeIterator + DoubleEndedIterator + Clone; /// Find and remove a specific path and key from the batch if it is an - /// `Op::Insert`, `Op::Replace`, or `Op::Patch`. Return the found `Op` regardless of whether it was removed. + /// `GroveOp::InsertOrReplace`, `GroveOp::Replace`, or `GroveOp::Patch`. Return the found `Op` regardless of whether it was removed. /// /// # Arguments /// @@ -406,9 +406,9 @@ pub trait GroveDbOpBatchV0Methods { /// /// # Returns /// - /// * `Option` - Returns the found `Op` if it exists. If the `Op` is an `Op::Insert`, `Op::Replace`, - /// or `Op::Patch`, it will be removed from the batch. - fn remove_if_insert(&mut self, path: Vec>, key: &[u8]) -> Option; + /// * `Option` - Returns the found `Op` if it exists. If the `Op` is an `GroveOp::InsertOrReplace`, `GroveOp::Replace`, + /// or `GroveOp::Patch`, it will be removed from the batch. + fn remove_if_insert(&mut self, path: Vec>, key: &[u8]) -> Option; } impl GroveDbOpBatchV0Methods for GroveDbOpBatch { @@ -430,7 +430,7 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { } /// Pushes an operation into a list of GroveDB ops. - fn push(&mut self, op: GroveDbOp) { + fn push(&mut self, op: QualifiedGroveDbOp) { self.operations.push(op); } @@ -440,19 +440,23 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { } /// Extend operations into a list of GroveDB ops. - fn extend>(&mut self, other_ops: I) { + fn extend>(&mut self, other_ops: I) { self.operations.extend(other_ops); } /// Puts a list of GroveDB operations into a batch. - fn from_operations(operations: Vec) -> Self { + fn from_operations(operations: Vec) -> Self { GroveDbOpBatch { operations } } /// Adds an `Insert` operation with an empty tree at the specified path and key to a list of GroveDB ops. fn add_insert_empty_tree(&mut self, path: Vec>, key: Vec) { self.operations - .push(GroveDbOp::insert_op(path, key, Element::empty_tree())) + .push(QualifiedGroveDbOp::insert_or_replace_op( + path, + key, + Element::empty_tree(), + )) } /// Adds an `Insert` operation with an empty tree with storage flags to a list of GroveDB ops. @@ -462,19 +466,24 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { key: Vec, storage_flags: &Option>, ) { - self.operations.push(GroveDbOp::insert_op( - path, - key, - Element::empty_tree_with_flags(StorageFlags::map_borrowed_cow_to_some_element_flags( - storage_flags, - )), - )) + self.operations + .push(QualifiedGroveDbOp::insert_or_replace_op( + path, + key, + Element::empty_tree_with_flags( + StorageFlags::map_borrowed_cow_to_some_element_flags(storage_flags), + ), + )) } /// Adds an `Insert` operation with an empty sum tree at the specified path and key to a list of GroveDB ops. fn add_insert_empty_sum_tree(&mut self, path: Vec>, key: Vec) { self.operations - .push(GroveDbOp::insert_op(path, key, Element::empty_sum_tree())) + .push(QualifiedGroveDbOp::insert_or_replace_op( + path, + key, + Element::empty_sum_tree(), + )) } /// Adds an `Insert` operation with an empty sum tree with storage flags to a list of GroveDB ops. @@ -484,35 +493,37 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { key: Vec, storage_flags: &Option>, ) { - self.operations.push(GroveDbOp::insert_op( - path, - key, - Element::empty_sum_tree_with_flags( - StorageFlags::map_borrowed_cow_to_some_element_flags(storage_flags), - ), - )) + self.operations + .push(QualifiedGroveDbOp::insert_or_replace_op( + path, + key, + Element::empty_sum_tree_with_flags( + StorageFlags::map_borrowed_cow_to_some_element_flags(storage_flags), + ), + )) } /// Adds a `Delete` operation to a list of GroveDB ops. fn add_delete(&mut self, path: Vec>, key: Vec) { - self.operations.push(GroveDbOp::delete_op(path, key)) + self.operations + .push(QualifiedGroveDbOp::delete_op(path, key)) } /// Adds a `Delete` tree operation to a list of GroveDB ops. fn add_delete_tree(&mut self, path: Vec>, key: Vec, is_sum_tree: bool) { self.operations - .push(GroveDbOp::delete_tree_op(path, key, is_sum_tree)) + .push(QualifiedGroveDbOp::delete_tree_op(path, key, is_sum_tree)) } /// Adds an `Insert` operation with an element to a list of GroveDB ops. fn add_insert(&mut self, path: Vec>, key: Vec, element: Element) { self.operations - .push(GroveDbOp::insert_op(path, key, element)) + .push(QualifiedGroveDbOp::insert_or_replace_op(path, key, element)) } /// Verify consistency of operations fn verify_consistency_of_operations(&self) -> GroveDbOpConsistencyResults { - GroveDbOp::verify_consistency_of_operations(&self.operations) + QualifiedGroveDbOp::verify_consistency_of_operations(&self.operations) } /// Check if the batch contains a specific path and key. @@ -525,7 +536,7 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { /// # Returns /// /// * `Option<&Op>` - Returns a reference to the `Op` if found, or `None` otherwise. - fn contains<'c, P>(&self, path: P, key: &[u8]) -> Option<&Op> + fn contains<'c, P>(&self, path: P, key: &[u8]) -> Option<&GroveOp> where P: IntoIterator,

::IntoIter: ExactSizeIterator + DoubleEndedIterator + Clone, @@ -555,7 +566,7 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { /// # Returns /// /// * `Option` - Returns the removed `Op` if found, or `None` otherwise. - fn remove<'c, P>(&mut self, path: P, key: &[u8]) -> Option + fn remove<'c, P>(&mut self, path: P, key: &[u8]) -> Option where P: IntoIterator,

::IntoIter: ExactSizeIterator + DoubleEndedIterator + Clone, @@ -578,7 +589,7 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { } /// Find and remove a specific path and key from the batch if it is an - /// `Op::Insert`, `Op::Replace`, or `Op::Patch`. Return the found `Op` regardless of whether it was removed. + /// `GroveOp::InsertOrReplace`, `GroveOp::Replace`, or `GroveOp::Patch`. Return the found `Op` regardless of whether it was removed. /// /// # Arguments /// @@ -587,9 +598,9 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { /// /// # Returns /// - /// * `Option` - Returns the found `Op` if it exists. If the `Op` is an `Op::Insert`, `Op::Replace`, - /// or `Op::Patch`, it will be removed from the batch. - fn remove_if_insert(&mut self, path: Vec>, key: &[u8]) -> Option { + /// * `Option` - Returns the found `Op` if it exists. If the `Op` is an `GroveOp::InsertOrReplace`, `GroveOp::Replace`, + /// or `GroveOp::Patch`, it will be removed from the batch. + fn remove_if_insert(&mut self, path: Vec>, key: &[u8]) -> Option { let path = KeyInfoPath( path.into_iter() .map(|item| KeyInfo::KnownKey(item.to_vec())) @@ -604,7 +615,10 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { let op = &self.operations[index].op; let op = if matches!( op, - &Op::Insert { .. } | &Op::Replace { .. } | &Op::Patch { .. } + &GroveOp::InsertOrReplace { .. } + | &GroveOp::InsertOnly { .. } + | &GroveOp::Replace { .. } + | &GroveOp::Patch { .. } ) { self.operations.remove(index).op } else { @@ -618,8 +632,8 @@ impl GroveDbOpBatchV0Methods for GroveDbOpBatch { } impl IntoIterator for GroveDbOpBatch { - type Item = GroveDbOp; - type IntoIter = std::vec::IntoIter; + type Item = QualifiedGroveDbOp; + type IntoIter = std::vec::IntoIter; fn into_iter(self) -> Self::IntoIter { self.operations.into_iter() diff --git a/packages/rs-drive/src/util/grove_operations/batch_insert_empty_tree_if_not_exists/v0/mod.rs b/packages/rs-drive/src/util/grove_operations/batch_insert_empty_tree_if_not_exists/v0/mod.rs index cdc2021b8b3..4f2c30664c7 100644 --- a/packages/rs-drive/src/util/grove_operations/batch_insert_empty_tree_if_not_exists/v0/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/batch_insert_empty_tree_if_not_exists/v0/mod.rs @@ -10,7 +10,7 @@ use crate::util::object_size_info::PathKeyInfo::{ }; use crate::util::storage_flags::StorageFlags; use dpp::version::drive_versions::DriveVersion; -use grovedb::batch::Op; +use grovedb::batch::GroveOp; use grovedb::TransactionArg; impl Drive { @@ -58,7 +58,7 @@ impl Drive { } else if let GroveOperation(grove_op) = previous_drive_operation { if grove_op.key == key && grove_op.path == path - && matches!(grove_op.op, Op::DeleteTree) + && matches!(grove_op.op, GroveOp::DeleteTree) { found = true; existing_operations.remove(i); @@ -133,7 +133,7 @@ impl Drive { } else if let GroveOperation(grove_op) = previous_drive_operation { if grove_op.key == key && grove_op.path == path - && matches!(grove_op.op, Op::DeleteTree) + && matches!(grove_op.op, GroveOp::DeleteTree) { found = true; existing_operations.remove(i); @@ -206,7 +206,7 @@ impl Drive { } else if let GroveOperation(grove_op) = previous_drive_operation { if grove_op.key == key && grove_op.path == path - && matches!(grove_op.op, Op::DeleteTree) + && matches!(grove_op.op, GroveOp::DeleteTree) { found = true; existing_operations.remove(i); @@ -279,7 +279,7 @@ impl Drive { } else if let GroveOperation(grove_op) = previous_drive_operation { if grove_op.key == key && grove_op.path == path - && matches!(grove_op.op, Op::DeleteTree) + && matches!(grove_op.op, GroveOp::DeleteTree) { found = true; existing_operations.remove(i); diff --git a/packages/rs-drive/src/util/grove_operations/batch_remove_raw/v0/mod.rs b/packages/rs-drive/src/util/grove_operations/batch_remove_raw/v0/mod.rs index 82316bde936..d6ef95dad2c 100644 --- a/packages/rs-drive/src/util/grove_operations/batch_remove_raw/v0/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/batch_remove_raw/v0/mod.rs @@ -7,7 +7,7 @@ use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; use crate::util::grove_operations::{push_drive_operation_result, BatchDeleteApplyType}; use dpp::version::drive_versions::DriveVersion; use grovedb::batch::key_info::KeyInfo; -use grovedb::batch::{KeyInfoPath, Op}; +use grovedb::batch::{GroveOp, KeyInfoPath}; use grovedb::operations::delete::DeleteOptions; use grovedb::{Element, GroveDb, TransactionArg}; use grovedb_path::SubtreePath; @@ -37,17 +37,17 @@ impl Drive { let needs_removal_from_state = match current_batch_operations.remove_if_insert(path.to_vec(), key) { - Some(Op::Insert { element }) - | Some(Op::Replace { element }) - | Some(Op::Patch { element, .. }) => return Ok(Some(element)), - Some(Op::InsertTreeWithRootHash { .. }) => { + Some(GroveOp::InsertOrReplace { element }) + | Some(GroveOp::Replace { element }) + | Some(GroveOp::Patch { element, .. }) => return Ok(Some(element)), + Some(GroveOp::InsertTreeWithRootHash { .. }) => { return Err(Error::Drive(DriveError::CorruptedCodeExecution( "we should not be seeing internal grovedb operations", ))); } - Some(Op::Delete { .. }) - | Some(Op::DeleteTree { .. }) - | Some(Op::DeleteSumTree { .. }) => false, + Some(GroveOp::Delete { .. }) + | Some(GroveOp::DeleteTree { .. }) + | Some(GroveOp::DeleteSumTree { .. }) => false, _ => true, }; diff --git a/packages/rs-drive/src/util/grove_operations/grove_apply_batch_with_add_costs/v0/mod.rs b/packages/rs-drive/src/util/grove_operations/grove_apply_batch_with_add_costs/v0/mod.rs index ad45165f0bc..c0afbdaa794 100644 --- a/packages/rs-drive/src/util/grove_operations/grove_apply_batch_with_add_costs/v0/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/grove_apply_batch_with_add_costs/v0/mod.rs @@ -6,11 +6,9 @@ use crate::query::GroveError; use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; use crate::util::batch::GroveDbOpBatch; use crate::util::grove_operations::push_drive_operation_result; -use crate::util::storage_flags::{MergingOwnersStrategy, StorageFlags}; -use grovedb::batch::{BatchApplyOptions, GroveDbOp}; +use crate::util::storage_flags::StorageFlags; +use grovedb::batch::{BatchApplyOptions, QualifiedGroveDbOp}; use grovedb::TransactionArg; -use grovedb_costs::storage_cost::removal::StorageRemovedBytes::BasicStorageRemoval; -use grovedb_costs::storage_cost::transition::OperationStorageTransitionType; use platform_version::version::drive_versions::DriveVersion; impl Drive { @@ -34,7 +32,8 @@ impl Drive { // } if self.config.batching_consistency_verification { - let consistency_results = GroveDbOp::verify_consistency_of_operations(&ops.operations); + let consistency_results = + QualifiedGroveDbOp::verify_consistency_of_operations(&ops.operations); if !consistency_results.is_empty() { tracing::error!( ?consistency_results, @@ -73,95 +72,12 @@ impl Drive { batch_pause_height: None, }), |cost, old_flags, new_flags| { - // if there were no flags before then the new flags are used - if old_flags.is_none() { - return Ok(false); - } - // This could be none only because the old element didn't exist - // If they were empty we get an error - let maybe_old_storage_flags = StorageFlags::map_some_element_flags_ref(&old_flags) - .map_err(|e| { - GroveError::JustInTimeElementFlagsClientError( - format!("drive did not understand flags of old item being updated: {}", e) - ) - })?; - let new_storage_flags = StorageFlags::from_element_flags_ref(new_flags) - .map_err(|e| { - GroveError::JustInTimeElementFlagsClientError( - format!("drive did not understand updated item flag information: {}",e) - ) - })? - .ok_or(GroveError::JustInTimeElementFlagsClientError( - "removing flags from an item with flags is not allowed".to_string() - ))?; - match &cost.transition_type() { - OperationStorageTransitionType::OperationUpdateBiggerSize => { - // In the case that the owners do not match up this means that there has been a transfer - // of ownership of the underlying document, the value held is transferred to the new owner - let combined_storage_flags = StorageFlags::optional_combine_added_bytes( - maybe_old_storage_flags, - new_storage_flags, - cost.added_bytes, - MergingOwnersStrategy::UseTheirs, - ) - .map_err(|e| { - GroveError::JustInTimeElementFlagsClientError( - format!("drive could not combine storage flags (new flags were bigger): {}",e) - ) - })?; - let combined_flags = combined_storage_flags.to_element_flags(); - // it's possible they got bigger in the same epoch - if combined_flags == *new_flags { - // they are the same there was no update - Ok(false) - } else { - *new_flags = combined_flags; - Ok(true) - } - } - OperationStorageTransitionType::OperationUpdateSmallerSize => { - // In the case that the owners do not match up this means that there has been a transfer - // of ownership of the underlying document, the value held is transferred to the new owner - let combined_storage_flags = StorageFlags::optional_combine_removed_bytes( - maybe_old_storage_flags, - new_storage_flags, - &cost.removed_bytes, - MergingOwnersStrategy::UseTheirs, - ) - .map_err(|e| { - GroveError::JustInTimeElementFlagsClientError( - format!("drive could not combine storage flags (new flags were smaller): {}", e) - ) - })?; - let combined_flags = combined_storage_flags.to_element_flags(); - // it's possible they got bigger in the same epoch - if combined_flags == *new_flags { - // they are the same there was no update - Ok(false) - } else { - *new_flags = combined_flags; - Ok(true) - } - } - _ => Ok(false), - } + StorageFlags::update_element_flags(cost, old_flags, new_flags) + .map_err(|e| GroveError::JustInTimeElementFlagsClientError(e.to_string())) }, |flags, removed_key_bytes, removed_value_bytes| { - let maybe_storage_flags = - StorageFlags::from_element_flags_ref(flags).map_err(|e| { - GroveError::SplitRemovalBytesClientError( - format!("drive did not understand flags of item being updated: {}",e) - ) - })?; - // if there were no flags before then the new flags are used - match maybe_storage_flags { - None => Ok(( - BasicStorageRemoval(removed_key_bytes), - BasicStorageRemoval(removed_value_bytes), - )), - Some(storage_flags) => storage_flags - .split_storage_removed_bytes(removed_key_bytes, removed_value_bytes), - } + StorageFlags::split_removal_bytes(flags, removed_key_bytes, removed_value_bytes) + .map_err(|e| GroveError::SplitRemovalBytesClientError(e.to_string())) }, transaction, &drive_version.grove_version, diff --git a/packages/rs-drive/src/util/grove_operations/grove_apply_operation/mod.rs b/packages/rs-drive/src/util/grove_operations/grove_apply_operation/mod.rs index 4390e4197aa..f77862a3591 100644 --- a/packages/rs-drive/src/util/grove_operations/grove_apply_operation/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/grove_apply_operation/mod.rs @@ -4,7 +4,7 @@ use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; use dpp::version::drive_versions::DriveVersion; -use grovedb::batch::GroveDbOp; +use grovedb::batch::QualifiedGroveDbOp; use grovedb::TransactionArg; impl Drive { @@ -21,7 +21,7 @@ impl Drive { /// * `Err(DriveError::UnknownVersionMismatch)` if the drive version does not match known versions. pub fn grove_apply_operation( &self, - operation: GroveDbOp, + operation: QualifiedGroveDbOp, validate: bool, transaction: TransactionArg, drive_version: &DriveVersion, diff --git a/packages/rs-drive/src/util/grove_operations/grove_apply_operation/v0/mod.rs b/packages/rs-drive/src/util/grove_operations/grove_apply_operation/v0/mod.rs index 1a5702eb0c4..dbbb7613493 100644 --- a/packages/rs-drive/src/util/grove_operations/grove_apply_operation/v0/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/grove_apply_operation/v0/mod.rs @@ -2,14 +2,14 @@ use crate::drive::Drive; use crate::error::Error; use crate::util::batch::GroveDbOpBatch; use dpp::version::drive_versions::DriveVersion; -use grovedb::batch::GroveDbOp; +use grovedb::batch::QualifiedGroveDbOp; use grovedb::TransactionArg; impl Drive { /// Applies the given groveDB operation pub(crate) fn grove_apply_operation_v0( &self, - operation: GroveDbOp, + operation: QualifiedGroveDbOp, validate: bool, transaction: TransactionArg, drive_version: &DriveVersion, diff --git a/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch/mod.rs b/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch/mod.rs index 7e7b3194c65..8174d224c34 100644 --- a/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch/mod.rs @@ -3,7 +3,7 @@ use crate::error::Error; use crate::query::GroveError; use crate::util::batch::GroveDbOpBatch; use dpp::version::drive_versions::DriveVersion; -use grovedb::batch::{GroveDbOp, OpsByLevelPath}; +use grovedb::batch::{OpsByLevelPath, QualifiedGroveDbOp}; use grovedb::TransactionArg; use grovedb_costs::OperationCost; @@ -29,7 +29,7 @@ impl Drive { add_on_operations: impl FnMut( &OperationCost, &Option, - ) -> Result, GroveError>, + ) -> Result, GroveError>, drive_version: &DriveVersion, ) -> Result<(), Error> { self.grove_apply_partial_batch_with_add_costs( diff --git a/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/mod.rs b/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/mod.rs index 050093592e6..7ba94976f5b 100644 --- a/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/mod.rs @@ -9,7 +9,7 @@ use crate::fees::op::LowLevelDriveOperation; use crate::query::GroveError; use dpp::version::drive_versions::DriveVersion; -use grovedb::batch::{GroveDbOp, OpsByLevelPath}; +use grovedb::batch::{OpsByLevelPath, QualifiedGroveDbOp}; use grovedb::TransactionArg; use grovedb_costs::OperationCost; @@ -36,7 +36,7 @@ impl Drive { add_on_operations: impl FnMut( &OperationCost, &Option, - ) -> Result, GroveError>, + ) -> Result, GroveError>, drive_operations: &mut Vec, drive_version: &DriveVersion, ) -> Result<(), Error> { diff --git a/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/v0/mod.rs b/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/v0/mod.rs index 092a6d3036a..a734e406dba 100644 --- a/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/v0/mod.rs +++ b/packages/rs-drive/src/util/grove_operations/grove_apply_partial_batch_with_add_costs/v0/mod.rs @@ -7,7 +7,7 @@ use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; use crate::util::batch::GroveDbOpBatch; use crate::util::grove_operations::push_drive_operation_result; use crate::util::storage_flags::{MergingOwnersStrategy, StorageFlags}; -use grovedb::batch::{BatchApplyOptions, GroveDbOp, OpsByLevelPath}; +use grovedb::batch::{BatchApplyOptions, OpsByLevelPath, QualifiedGroveDbOp}; use grovedb::TransactionArg; use grovedb_costs::storage_cost::removal::StorageRemovedBytes::BasicStorageRemoval; use grovedb_costs::storage_cost::transition::OperationStorageTransitionType; @@ -24,7 +24,7 @@ impl Drive { add_on_operations: impl FnMut( &OperationCost, &Option, - ) -> Result, GroveError>, + ) -> Result, GroveError>, drive_operations: &mut Vec, drive_version: &DriveVersion, ) -> Result<(), Error> { @@ -35,7 +35,8 @@ impl Drive { } // println!("batch {:#?}", ops); if self.config.batching_consistency_verification { - let consistency_results = GroveDbOp::verify_consistency_of_operations(&ops.operations); + let consistency_results = + QualifiedGroveDbOp::verify_consistency_of_operations(&ops.operations); if !consistency_results.is_empty() { // println!("consistency_results {:#?}", consistency_results); return Err(Error::Drive(DriveError::GroveDBInsertion( @@ -138,8 +139,8 @@ impl Drive { BasicStorageRemoval(removed_key_bytes), BasicStorageRemoval(removed_value_bytes), )), - Some(storage_flags) => storage_flags - .split_storage_removed_bytes(removed_key_bytes, removed_value_bytes), + Some(storage_flags) => Ok(storage_flags + .split_storage_removed_bytes(removed_key_bytes, removed_value_bytes)), } }, add_on_operations, diff --git a/packages/rs-drive/src/util/mod.rs b/packages/rs-drive/src/util/mod.rs index bbf86f059e9..4f15e99d0a6 100644 --- a/packages/rs-drive/src/util/mod.rs +++ b/packages/rs-drive/src/util/mod.rs @@ -13,6 +13,8 @@ pub mod object_size_info; pub mod common; #[cfg(feature = "server")] mod operations; + +/// Storage flags #[cfg(any(feature = "server", feature = "verify"))] pub mod storage_flags; /// Test helpers diff --git a/packages/rs-drive/src/util/object_size_info/path_key_info.rs b/packages/rs-drive/src/util/object_size_info/path_key_info.rs index c417ef602d0..b75813547bc 100644 --- a/packages/rs-drive/src/util/object_size_info/path_key_info.rs +++ b/packages/rs-drive/src/util/object_size_info/path_key_info.rs @@ -6,8 +6,10 @@ use crate::util::object_size_info::path_key_info::PathKeyInfo::{ use grovedb::batch::key_info::KeyInfo; use grovedb::batch::key_info::KeyInfo::KnownKey; use grovedb::batch::KeyInfoPath; +use grovedb::operations::proof::util::hex_to_ascii; use grovedb_storage::worst_case_costs::WorstKeyLength; use std::collections::HashSet; +use std::fmt; /// Path key info #[derive(Clone, Debug)] @@ -25,6 +27,79 @@ pub enum PathKeyInfo<'a, const N: usize> { PathKeySize(KeyInfoPath, KeyInfo), } +/// Assume KeyInfoPath and KeyInfo implement Display. +/// If they do not, you need to implement Display for them as well. +impl<'a, const N: usize> fmt::Display for PathKeyInfo<'a, N> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + // Helper function to format KeyInfo + fn format_key_info(key_info: &KeyInfo) -> String { + match key_info { + KeyInfo::KnownKey(vec) => format!("KnownKey(\"{}\")", hex_to_ascii(vec)), + KeyInfo::MaxKeySize { + unique_id, + max_size, + } => { + format!( + "MaxKeySize(unique_id: \"{}\", max_size: {})", + hex_to_ascii(unique_id), + max_size + ) + } + } + } + + // Helper function to format KeyInfoPath + fn format_key_info_path(key_info_path: &KeyInfoPath) -> String { + let formatted_keys: Vec = key_info_path + .0 + .iter() + .map(|key_info| format_key_info(key_info)) + .collect(); + format!("[{}]", formatted_keys.join(", ")) + } + + match self { + PathKeyInfo::PathFixedSizeKey((path, key)) => { + write!(f, "PathFixedSizeKey(path: [")?; + for p in path.iter() { + write!(f, "\"{}\" ", hex_to_ascii(p))?; + } + write!(f, "], key: \"{}\")", hex_to_ascii(key)) + } + PathKeyInfo::PathFixedSizeKeyRef((path, key)) => { + write!(f, "PathFixedSizeKeyRef(path: [")?; + for p in path.iter() { + write!(f, "\"{}\" ", hex_to_ascii(p))?; + } + write!(f, "], key: \"{}\")", hex_to_ascii(key)) + } + PathKeyInfo::PathKey((path, key)) => { + write!(f, "PathKey(path: [")?; + for p in path.iter() { + write!(f, "\"{}\" ", hex_to_ascii(p))?; + } + write!(f, "], key: \"{}\")", hex_to_ascii(key)) + } + PathKeyInfo::PathKeyRef((path, key)) => { + write!(f, "PathKeyRef(path: [")?; + for p in path.iter() { + write!(f, "\"{}\" ", hex_to_ascii(p))?; + } + write!(f, "], key: \"{}\")", hex_to_ascii(key)) + } + PathKeyInfo::PathKeySize(path_info, key_info) => { + let formatted_path_info = format_key_info_path(path_info); + let formatted_key_info = format_key_info(key_info); + write!( + f, + "PathKeySize(path_info: {}, key_info: {})", + formatted_path_info, formatted_key_info + ) + } + } + } +} + impl<'a> TryFrom>> for PathKeyInfo<'a, 0> { type Error = Error; diff --git a/packages/rs-drive/src/util/operations/apply_batch_low_level_drive_operations/v0/mod.rs b/packages/rs-drive/src/util/operations/apply_batch_low_level_drive_operations/v0/mod.rs index 4932c000316..74c318ee83e 100644 --- a/packages/rs-drive/src/util/operations/apply_batch_low_level_drive_operations/v0/mod.rs +++ b/packages/rs-drive/src/util/operations/apply_batch_low_level_drive_operations/v0/mod.rs @@ -1,6 +1,7 @@ use crate::drive::Drive; use crate::error::Error; use crate::fees::op::LowLevelDriveOperation; +use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; use dpp::version::drive_versions::DriveVersion; use grovedb::batch::KeyInfoPath; use grovedb::{EstimatedLayerInformation, TransactionArg}; @@ -22,13 +23,15 @@ impl Drive { LowLevelDriveOperation::grovedb_operations_batch_consume_with_leftovers( batch_operations, ); - self.apply_batch_grovedb_operations( - estimated_costs_only_with_layer_info, - transaction, - grove_db_operations, - drive_operations, - drive_version, - )?; + if !grove_db_operations.is_empty() { + self.apply_batch_grovedb_operations( + estimated_costs_only_with_layer_info, + transaction, + grove_db_operations, + drive_operations, + drive_version, + )?; + } drive_operations.append(&mut other_operations); Ok(()) } diff --git a/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/mod.rs b/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/mod.rs index df356acd35f..20230350437 100644 --- a/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/mod.rs +++ b/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/mod.rs @@ -7,7 +7,7 @@ use crate::query::GroveError; use crate::util::batch::GroveDbOpBatch; use dpp::version::drive_versions::DriveVersion; -use grovedb::batch::{GroveDbOp, KeyInfoPath, OpsByLevelPath}; +use grovedb::batch::{KeyInfoPath, OpsByLevelPath, QualifiedGroveDbOp}; use grovedb::{EstimatedLayerInformation, TransactionArg}; use grovedb_costs::OperationCost; use std::collections::HashMap; @@ -44,7 +44,7 @@ impl Drive { add_on_operations: impl FnMut( &OperationCost, &Option, - ) -> Result, GroveError>, + ) -> Result, GroveError>, drive_operations: &mut Vec, drive_version: &DriveVersion, ) -> Result<(), Error> { diff --git a/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/v0/mod.rs b/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/v0/mod.rs index 30212e27233..129f74eb746 100644 --- a/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/v0/mod.rs +++ b/packages/rs-drive/src/util/operations/apply_partial_batch_grovedb_operations/v0/mod.rs @@ -5,7 +5,7 @@ use crate::query::GroveError; use crate::util::batch::grovedb_op_batch::GroveDbOpBatchV0Methods; use crate::util::batch::GroveDbOpBatch; use dpp::version::drive_versions::DriveVersion; -use grovedb::batch::{GroveDbOp, KeyInfoPath, OpsByLevelPath}; +use grovedb::batch::{KeyInfoPath, OpsByLevelPath, QualifiedGroveDbOp}; use grovedb::{EstimatedLayerInformation, TransactionArg}; use grovedb_costs::storage_cost::StorageCost; use grovedb_costs::OperationCost; @@ -26,7 +26,7 @@ impl Drive { mut add_on_operations: impl FnMut( &OperationCost, &Option, - ) -> Result, GroveError>, + ) -> Result, GroveError>, drive_operations: &mut Vec, drive_version: &DriveVersion, ) -> Result<(), Error> { diff --git a/packages/rs-drive/src/util/storage_flags.rs b/packages/rs-drive/src/util/storage_flags.rs new file mode 100644 index 00000000000..d933d14dac3 --- /dev/null +++ b/packages/rs-drive/src/util/storage_flags.rs @@ -0,0 +1,3 @@ +pub use grovedb_epoch_based_storage_flags::{ + MergingOwnersStrategy, StorageFlags, SINGLE_EPOCH_FLAGS_SIZE, +}; diff --git a/packages/rs-drive/src/util/storage_flags/mod.rs b/packages/rs-drive/src/util/storage_flags/mod.rs deleted file mode 100644 index 3f85b2602de..00000000000 --- a/packages/rs-drive/src/util/storage_flags/mod.rs +++ /dev/null @@ -1,786 +0,0 @@ -//! Flags -//! - -#[cfg(feature = "server")] -use crate::util::storage_flags::StorageFlags::{ - MultiEpoch, MultiEpochOwned, SingleEpoch, SingleEpochOwned, -}; -#[cfg(feature = "server")] -use crate::util::type_constants::DEFAULT_HASH_SIZE; -#[cfg(feature = "server")] -use grovedb::ElementFlags; -#[cfg(feature = "server")] -use grovedb_costs::storage_cost::removal::StorageRemovedBytes::SectionedStorageRemoval; -#[cfg(feature = "server")] -use grovedb_costs::storage_cost::removal::{ - StorageRemovalPerEpochByIdentifier, StorageRemovedBytes, -}; -#[cfg(feature = "server")] -use integer_encoding::VarInt; -#[cfg(feature = "server")] -use intmap::IntMap; -#[cfg(feature = "server")] -use std::borrow::Cow; -#[cfg(feature = "server")] -use std::cmp::Ordering; -#[cfg(any(feature = "server", feature = "verify"))] -use std::collections::BTreeMap; - -#[cfg(feature = "server")] -use crate::error::storage_flags::StorageFlagsError; -#[cfg(feature = "server")] -use crate::error::Error; - -#[cfg(any(feature = "server", feature = "verify"))] -type EpochIndex = u16; - -#[cfg(any(feature = "server", feature = "verify"))] -type BaseEpoch = EpochIndex; - -#[cfg(any(feature = "server", feature = "verify"))] -type BytesAddedInEpoch = u32; - -#[cfg(any(feature = "server", feature = "verify"))] -type OwnerId = [u8; 32]; - -#[cfg(feature = "server")] -/// The size of single epoch flags -pub const SINGLE_EPOCH_FLAGS_SIZE: u32 = 3; - -#[cfg(any(feature = "server", feature = "verify"))] -/// Storage flags -#[derive(Clone, Debug, PartialEq, Eq)] -pub enum StorageFlags { - /// Single epoch - /// represented as byte 0 - SingleEpoch(BaseEpoch), - - /// Multi epoch - /// represented as byte 1 - MultiEpoch(BaseEpoch, BTreeMap), - - /// Single epoch owned - /// represented as byte 2 - SingleEpochOwned(BaseEpoch, OwnerId), - - /// Multi epoch owned - /// represented as byte 3 - MultiEpochOwned(BaseEpoch, BTreeMap, OwnerId), -} - -#[cfg(any(feature = "server", feature = "verify"))] -/// MergingOwnersStrategy decides which owner to keep during a merge -#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)] -pub enum MergingOwnersStrategy { - #[default] - /// Raise an issue that owners of nodes are different - RaiseIssue, - /// Use the original owner id - UseOurs, - /// Use the new owner id - UseTheirs, -} - -#[cfg(feature = "server")] -impl StorageFlags { - /// Create new single epoch storage flags - pub fn new_single_epoch(epoch: BaseEpoch, maybe_owner_id: Option) -> Self { - match maybe_owner_id { - None => SingleEpoch(epoch), - Some(owner_id) => SingleEpochOwned(epoch, owner_id), - } - } - - fn combine_owner_id<'a>( - &'a self, - rhs: &'a Self, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result, Error> { - if let Some(our_owner_id) = self.owner_id() { - if let Some(other_owner_id) = rhs.owner_id() { - if our_owner_id != other_owner_id { - match merging_owners_strategy { - MergingOwnersStrategy::RaiseIssue => Err(Error::StorageFlags( - StorageFlagsError::MergingStorageFlagsFromDifferentOwners( - "can not merge from different owners", - ), - )), - MergingOwnersStrategy::UseOurs => Ok(Some(our_owner_id)), - MergingOwnersStrategy::UseTheirs => Ok(Some(other_owner_id)), - } - } else { - Ok(Some(our_owner_id)) - } - } else { - Ok(Some(our_owner_id)) - } - } else if let Some(other_owner_id) = rhs.owner_id() { - Ok(Some(other_owner_id)) - } else { - Ok(None) - } - } - - fn combine_non_base_epoch_bytes( - &self, - rhs: &Self, - ) -> Option> { - if let Some(our_epoch_index_map) = self.epoch_index_map() { - if let Some(other_epoch_index_map) = rhs.epoch_index_map() { - let mut combined_index_map = our_epoch_index_map.clone(); - other_epoch_index_map - .iter() - .for_each(|(epoch_index, bytes_added)| { - let original_value = combined_index_map.remove(epoch_index); - match original_value { - None => combined_index_map.insert(*epoch_index, *bytes_added), - Some(original_bytes) => combined_index_map - .insert(*epoch_index, original_bytes + *bytes_added), - }; - }); - Some(combined_index_map) - } else { - Some(our_epoch_index_map.clone()) - } - } else { - rhs.epoch_index_map().cloned() - } - } - - fn combine_same_base_epoch( - &self, - rhs: Self, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result { - let base_epoch = *self.base_epoch(); - let owner_id = self.combine_owner_id(&rhs, merging_owners_strategy)?; - let other_epoch_bytes = self.combine_non_base_epoch_bytes(&rhs); - - match (owner_id, other_epoch_bytes) { - (None, None) => Ok(SingleEpoch(base_epoch)), - (Some(owner_id), None) => Ok(SingleEpochOwned(base_epoch, *owner_id)), - (None, Some(other_epoch_bytes)) => Ok(MultiEpoch(base_epoch, other_epoch_bytes)), - (Some(owner_id), Some(other_epoch_bytes)) => { - Ok(MultiEpochOwned(base_epoch, other_epoch_bytes, *owner_id)) - } - } - } - - fn combine_with_higher_base_epoch( - &self, - rhs: Self, - added_bytes: u32, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result { - let base_epoch = *self.base_epoch(); - let epoch_with_adding_bytes = rhs.base_epoch(); - let owner_id = self.combine_owner_id(&rhs, merging_owners_strategy)?; - let mut other_epoch_bytes = self.combine_non_base_epoch_bytes(&rhs).unwrap_or_default(); - let original_value = other_epoch_bytes.remove(epoch_with_adding_bytes); - match original_value { - None => other_epoch_bytes.insert(*epoch_with_adding_bytes, added_bytes), - Some(original_bytes) => { - other_epoch_bytes.insert(*epoch_with_adding_bytes, original_bytes + added_bytes) - } - }; - - match owner_id { - None => Ok(MultiEpoch(base_epoch, other_epoch_bytes)), - Some(owner_id) => Ok(MultiEpochOwned(base_epoch, other_epoch_bytes, *owner_id)), - } - } - - fn combine_with_higher_base_epoch_remove_bytes( - self, - rhs: Self, - removed_bytes: &StorageRemovedBytes, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result { - if matches!(&self, &SingleEpoch(_) | &SingleEpochOwned(..)) { - return Ok(self); - } - let base_epoch = *self.base_epoch(); - let owner_id = self.combine_owner_id(&rhs, merging_owners_strategy)?; - let mut other_epoch_bytes = self.combine_non_base_epoch_bytes(&rhs).unwrap_or_default(); - if let SectionedStorageRemoval(sectioned_bytes_by_identifier) = removed_bytes { - if sectioned_bytes_by_identifier.len() > 1 { - return Err(Error::StorageFlags( - StorageFlagsError::MergingStorageFlagsFromDifferentOwners( - "can not remove bytes when there is no epoch", - ), - )); - } - let identifier = owner_id.copied().unwrap_or_default(); - let sectioned_bytes = - sectioned_bytes_by_identifier - .get(&identifier) - .ok_or(Error::StorageFlags( - StorageFlagsError::MergingStorageFlagsFromDifferentOwners( - "can not remove bytes when there is no epoch", - ), - ))?; - sectioned_bytes - .iter() - .try_for_each(|(epoch, removed_bytes)| { - let bytes_added_in_epoch = - other_epoch_bytes - .get_mut(&(*epoch as u16)) - .ok_or(Error::StorageFlags( - StorageFlagsError::RemovingAtEpochWithNoAssociatedStorage( - "can not remove bytes when there is no epoch", - ), - ))?; - *bytes_added_in_epoch = - bytes_added_in_epoch.checked_sub(*removed_bytes).ok_or( - Error::StorageFlags(StorageFlagsError::StorageFlagsOverflow( - "can't remove more bytes than exist at that epoch", - )), - )?; - Ok::<(), Error>(()) - })?; - } - - match owner_id { - None => Ok(MultiEpoch(base_epoch, other_epoch_bytes)), - Some(owner_id) => Ok(MultiEpochOwned(base_epoch, other_epoch_bytes, *owner_id)), - } - } - - /// Optional combine added bytes - pub fn optional_combine_added_bytes( - ours: Option, - theirs: Self, - added_bytes: u32, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result { - match ours { - None => Ok(theirs), - Some(ours) => { - Ok(ours.combine_added_bytes(theirs, added_bytes, merging_owners_strategy)?) - } - } - } - - /// Optional combine removed bytes - pub fn optional_combine_removed_bytes( - ours: Option, - theirs: Self, - removed_bytes: &StorageRemovedBytes, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result { - match ours { - None => Ok(theirs), - Some(ours) => { - Ok(ours.combine_removed_bytes(theirs, removed_bytes, merging_owners_strategy)?) - } - } - } - - /// Combine added bytes - pub fn combine_added_bytes( - self, - rhs: Self, - added_bytes: u32, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result { - match self.base_epoch().cmp(rhs.base_epoch()) { - Ordering::Equal => self.combine_same_base_epoch(rhs, merging_owners_strategy), - Ordering::Less => { - self.combine_with_higher_base_epoch(rhs, added_bytes, merging_owners_strategy) - } - Ordering::Greater => Err(Error::StorageFlags( - StorageFlagsError::MergingStorageFlagsWithDifferentBaseEpoch( - "can not merge with new item in older base epoch", - ), - )), - } - } - - /// Combine removed bytes - pub fn combine_removed_bytes( - self, - rhs: Self, - removed_bytes: &StorageRemovedBytes, - merging_owners_strategy: MergingOwnersStrategy, - ) -> Result { - match self.base_epoch().cmp(rhs.base_epoch()) { - Ordering::Equal => self.combine_same_base_epoch(rhs, merging_owners_strategy), - Ordering::Less => self.combine_with_higher_base_epoch_remove_bytes( - rhs, - removed_bytes, - merging_owners_strategy, - ), - Ordering::Greater => Err(Error::StorageFlags( - StorageFlagsError::MergingStorageFlagsWithDifferentBaseEpoch( - "can not merge with new item in older base epoch", - ), - )), - } - } - - /// Returns base epoch - pub fn base_epoch(&self) -> &BaseEpoch { - match self { - SingleEpoch(base_epoch) - | MultiEpoch(base_epoch, _) - | SingleEpochOwned(base_epoch, _) - | MultiEpochOwned(base_epoch, _, _) => base_epoch, - } - } - - /// Returns owner id - pub fn owner_id(&self) -> Option<&OwnerId> { - match self { - SingleEpochOwned(_, owner_id) | MultiEpochOwned(_, _, owner_id) => Some(owner_id), - _ => None, - } - } - - /// Returns epoch index map - pub fn epoch_index_map(&self) -> Option<&BTreeMap> { - match self { - MultiEpoch(_, epoch_int_map) | MultiEpochOwned(_, epoch_int_map, _) => { - Some(epoch_int_map) - } - _ => None, - } - } - - /// Returns optional default storage flags - pub fn optional_default() -> Option { - None - } - - /// Returns default optional storage flag as ref - pub fn optional_default_as_ref() -> Option<&'static Self> { - None - } - - /// Returns default optional storage flag as ref - pub fn optional_default_as_cow() -> Option> { - None - } - - /// Returns type byte - pub fn type_byte(&self) -> u8 { - match self { - SingleEpoch(_) => 0, - MultiEpoch(..) => 1, - SingleEpochOwned(..) => 2, - MultiEpochOwned(..) => 3, - } - } - - fn append_to_vec_base_epoch(&self, buffer: &mut Vec) { - match self { - SingleEpoch(base_epoch) - | MultiEpoch(base_epoch, ..) - | SingleEpochOwned(base_epoch, ..) - | MultiEpochOwned(base_epoch, ..) => buffer.extend(base_epoch.to_be_bytes()), - } - } - - fn maybe_append_to_vec_epoch_map(&self, buffer: &mut Vec) { - match self { - MultiEpoch(_, epoch_map) | MultiEpochOwned(_, epoch_map, _) => { - if epoch_map.is_empty() { - panic!("this should not be empty"); - } - epoch_map.iter().for_each(|(epoch_index, bytes_added)| { - buffer.extend(epoch_index.to_be_bytes()); - buffer.extend(bytes_added.encode_var_vec()); - }) - } - _ => {} - } - } - - fn maybe_epoch_map_size(&self) -> u32 { - let mut size = 0; - match self { - MultiEpoch(_, epoch_map) | MultiEpochOwned(_, epoch_map, _) => { - epoch_map.iter().for_each(|(_epoch_index, bytes_added)| { - size += 2; - size += bytes_added.encode_var_vec().len() as u32; - }) - } - _ => {} - } - size - } - - fn maybe_append_to_vec_owner_id(&self, buffer: &mut Vec) { - match self { - SingleEpochOwned(_, owner_id) | MultiEpochOwned(_, _, owner_id) => { - buffer.extend(owner_id); - } - _ => {} - } - } - - fn maybe_owner_id_size(&self) -> u32 { - match self { - SingleEpochOwned(..) | MultiEpochOwned(..) => DEFAULT_HASH_SIZE, - _ => 0, - } - } - - /// ApproximateSize - pub fn approximate_size( - has_owner_id: bool, - approximate_changes_and_bytes_count: Option<(u16, u8)>, - ) -> u32 { - let mut size = 3; // 1 for type byte, 2 for epoch number - if has_owner_id { - size += DEFAULT_HASH_SIZE; - } - if let Some((approximate_change_count, bytes_changed_required_size)) = - approximate_changes_and_bytes_count - { - size += (approximate_change_count as u32) * (2 + bytes_changed_required_size as u32) - } - size - } - - /// Serialize storage flags - pub fn serialize(&self) -> Vec { - let mut buffer = vec![self.type_byte()]; - self.maybe_append_to_vec_owner_id(&mut buffer); - self.append_to_vec_base_epoch(&mut buffer); - self.maybe_append_to_vec_epoch_map(&mut buffer); - buffer - } - - /// Serialize storage flags - pub fn serialized_size(&self) -> u32 { - let mut buffer_len = 3; //for type byte and base epoch - buffer_len += self.maybe_owner_id_size(); - buffer_len += self.maybe_epoch_map_size(); - buffer_len - } - - /// Deserialize single epoch storage flags from bytes - pub fn deserialize_single_epoch(data: &[u8]) -> Result { - if data.len() != 3 { - Err(Error::StorageFlags( - StorageFlagsError::StorageFlagsWrongSize("single epoch must be 3 bytes total"), - )) - } else { - let epoch = u16::from_be_bytes(data[1..3].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "single epoch must be 3 bytes total", - )) - })?); - Ok(SingleEpoch(epoch)) - } - } - - /// Deserialize multi epoch storage flags from bytes - pub fn deserialize_multi_epoch(data: &[u8]) -> Result { - let len = data.len(); - if len < 6 { - Err(Error::StorageFlags( - StorageFlagsError::StorageFlagsWrongSize( - "multi epoch must be at least 6 bytes total", - ), - )) - } else { - let base_epoch = u16::from_be_bytes(data[1..3].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "multi epoch must have enough bytes for the base epoch", - )) - })?); - let mut offset = 3; - let mut bytes_per_epoch: BTreeMap = BTreeMap::default(); - while offset + 2 < len { - // 2 for epoch size - let epoch_index = - u16::from_be_bytes(data[offset..offset + 2].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "multi epoch must have enough bytes epoch indexes", - )) - })?); - offset += 2; - let (bytes_at_epoch, bytes_used) = u32::decode_var(&data[offset..]).ok_or( - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "multi epoch must have enough bytes for the amount of bytes used", - )), - )?; - offset += bytes_used; - bytes_per_epoch.insert(epoch_index, bytes_at_epoch); - } - Ok(MultiEpoch(base_epoch, bytes_per_epoch)) - } - } - - /// Deserialize single epoch owned storage flags from bytes - pub fn deserialize_single_epoch_owned(data: &[u8]) -> Result { - if data.len() != 35 { - Err(Error::StorageFlags( - StorageFlagsError::StorageFlagsWrongSize( - "single epoch owned must be 35 bytes total", - ), - )) - } else { - let owner_id: OwnerId = data[1..33].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "single epoch owned must be 35 bytes total for owner id", - )) - })?; - let epoch = u16::from_be_bytes(data[33..35].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "single epoch owned must be 35 bytes total for epoch", - )) - })?); - Ok(SingleEpochOwned(epoch, owner_id)) - } - } - - /// Deserialize multi epoch owned storage flags from bytes - pub fn deserialize_multi_epoch_owned(data: &[u8]) -> Result { - let len = data.len(); - if len < 38 { - Err(Error::StorageFlags( - StorageFlagsError::StorageFlagsWrongSize( - "multi epoch owned must be at least 38 bytes total", - ), - )) - } else { - let owner_id: OwnerId = data[1..33].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "multi epoch owned must be 38 bytes total for owner id", - )) - })?; - let base_epoch = u16::from_be_bytes(data[33..35].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "multi epoch must have enough bytes for the base epoch", - )) - })?); - let mut offset = 35; - let mut bytes_per_epoch: BTreeMap = BTreeMap::default(); - while offset + 2 < len { - // 2 for epoch size - let epoch_index = - u16::from_be_bytes(data[offset..offset + 2].try_into().map_err(|_| { - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "multi epoch must have enough bytes epoch indexes", - )) - })?); - offset += 2; - let (bytes_at_epoch, bytes_used) = u32::decode_var(&data[offset..]).ok_or( - Error::StorageFlags(StorageFlagsError::StorageFlagsWrongSize( - "multi epoch must have enough bytes for the amount of bytes used", - )), - )?; - offset += bytes_used; - bytes_per_epoch.insert(epoch_index, bytes_at_epoch); - } - Ok(MultiEpochOwned(base_epoch, bytes_per_epoch, owner_id)) - } - } - - /// Deserialize storage flags from bytes - pub fn deserialize(data: &[u8]) -> Result, Error> { - let first_byte = data.first(); - match first_byte { - None => Ok(None), - Some(first_byte) => match *first_byte { - 0 => Ok(Some(Self::deserialize_single_epoch(data)?)), - 1 => Ok(Some(Self::deserialize_multi_epoch(data)?)), - 2 => Ok(Some(Self::deserialize_single_epoch_owned(data)?)), - 3 => Ok(Some(Self::deserialize_multi_epoch_owned(data)?)), - _ => Err(Error::StorageFlags( - StorageFlagsError::DeserializeUnknownStorageFlagsType( - "unknown storage flags serialization", - ), - )), - }, - } - } - - /// Creates storage flags from a slice. - pub fn from_slice(data: &[u8]) -> Result, Error> { - Self::deserialize(data) - } - - /// Creates storage flags from element flags. - pub fn from_element_flags_ref(data: &ElementFlags) -> Result, Error> { - Self::from_slice(data.as_slice()) - } - - /// Create Storage flags from optional element flags ref - pub fn map_some_element_flags_ref(data: &Option) -> Result, Error> { - match data { - None => Ok(None), - Some(data) => Self::from_slice(data.as_slice()), - } - } - - /// Create Storage flags from optional element flags ref - pub fn map_cow_some_element_flags_ref( - data: &Option, - ) -> Result>, Error> { - match data { - None => Ok(None), - Some(data) => Self::from_slice(data.as_slice()).map(|option| option.map(Cow::Owned)), - } - } - - /// Map to owned optional element flags - pub fn map_owned_to_element_flags(maybe_storage_flags: Option) -> ElementFlags { - maybe_storage_flags - .map(|storage_flags| storage_flags.serialize()) - .unwrap_or_default() - } - - /// Map to optional element flags - pub fn map_to_some_element_flags(maybe_storage_flags: Option<&Self>) -> Option { - maybe_storage_flags.map(|storage_flags| storage_flags.serialize()) - } - - /// Map to optional element flags - pub fn map_cow_to_some_element_flags( - maybe_storage_flags: Option>, - ) -> Option { - maybe_storage_flags.map(|storage_flags| storage_flags.serialize()) - } - - /// Map to optional element flags - pub fn map_borrowed_cow_to_some_element_flags( - maybe_storage_flags: &Option>, - ) -> Option { - maybe_storage_flags - .as_ref() - .map(|storage_flags| storage_flags.serialize()) - } - - /// Creates optional element flags - pub fn to_some_element_flags(&self) -> Option { - Some(self.serialize()) - } - - /// Creates element flags. - pub fn to_element_flags(&self) -> ElementFlags { - self.serialize() - } - - /// split_storage_removed_bytes removes bytes as LIFO - pub fn split_storage_removed_bytes( - &self, - removed_key_bytes: u32, - removed_value_bytes: u32, - ) -> Result<(StorageRemovedBytes, StorageRemovedBytes), grovedb::Error> { - fn single_storage_removal( - removed_bytes: u32, - base_epoch: &BaseEpoch, - owner_id: Option<&OwnerId>, - ) -> StorageRemovedBytes { - let bytes_left = removed_bytes; - let mut sectioned_storage_removal: IntMap = IntMap::default(); - if bytes_left > 0 { - // We need to take some from the base epoch - sectioned_storage_removal.insert(*base_epoch as u64, removed_bytes); - } - let mut sectioned_storage_removal_by_identifier: StorageRemovalPerEpochByIdentifier = - BTreeMap::new(); - if let Some(owner_id) = owner_id { - sectioned_storage_removal_by_identifier - .insert(*owner_id, sectioned_storage_removal); - } else { - let default = [0u8; 32]; - sectioned_storage_removal_by_identifier.insert(default, sectioned_storage_removal); - } - SectionedStorageRemoval(sectioned_storage_removal_by_identifier) - } - - fn sectioned_storage_removal( - removed_bytes: u32, - base_epoch: &BaseEpoch, - other_epoch_bytes: &BTreeMap, - owner_id: Option<&OwnerId>, - ) -> StorageRemovedBytes { - let mut bytes_left = removed_bytes; - let mut rev_iter = other_epoch_bytes.iter().rev(); - let mut sectioned_storage_removal: IntMap = IntMap::default(); - while bytes_left > 0 { - if let Some((epoch_index, bytes_in_epoch)) = rev_iter.next_back() { - if *bytes_in_epoch < bytes_left { - bytes_left -= bytes_in_epoch; - sectioned_storage_removal.insert(*epoch_index as u64, *bytes_in_epoch); - } else if *bytes_in_epoch >= bytes_left { - //take all bytes - bytes_left = 0; - sectioned_storage_removal.insert(*epoch_index as u64, bytes_left); - } - } else { - break; - } - } - if bytes_left > 0 { - // We need to take some from the base epoch - sectioned_storage_removal.insert(*base_epoch as u64, bytes_left); - } - let mut sectioned_storage_removal_by_identifier: StorageRemovalPerEpochByIdentifier = - BTreeMap::new(); - if let Some(owner_id) = owner_id { - sectioned_storage_removal_by_identifier - .insert(*owner_id, sectioned_storage_removal); - } else { - let default = [0u8; 32]; - sectioned_storage_removal_by_identifier.insert(default, sectioned_storage_removal); - } - SectionedStorageRemoval(sectioned_storage_removal_by_identifier) - } - match self { - SingleEpoch(base_epoch) => { - let value_storage_removal = - single_storage_removal(removed_value_bytes, base_epoch, None); - let key_storage_removal = - single_storage_removal(removed_key_bytes, base_epoch, None); - Ok((key_storage_removal, value_storage_removal)) - } - SingleEpochOwned(base_epoch, owner_id) => { - let value_storage_removal = - single_storage_removal(removed_value_bytes, base_epoch, Some(owner_id)); - let key_storage_removal = - single_storage_removal(removed_key_bytes, base_epoch, Some(owner_id)); - Ok((key_storage_removal, value_storage_removal)) - } - MultiEpoch(base_epoch, other_epoch_bytes) => { - let value_storage_removal = sectioned_storage_removal( - removed_value_bytes, - base_epoch, - other_epoch_bytes, - None, - ); - let key_storage_removal = sectioned_storage_removal( - removed_key_bytes, - base_epoch, - other_epoch_bytes, - None, - ); - Ok((key_storage_removal, value_storage_removal)) - } - MultiEpochOwned(base_epoch, other_epoch_bytes, owner_id) => { - let value_storage_removal = sectioned_storage_removal( - removed_value_bytes, - base_epoch, - other_epoch_bytes, - Some(owner_id), - ); - let key_storage_removal = sectioned_storage_removal( - removed_key_bytes, - base_epoch, - other_epoch_bytes, - Some(owner_id), - ); - Ok((key_storage_removal, value_storage_removal)) - } - } - } - - /// Wrap Storage Flags into optional owned cow - pub fn into_optional_cow<'a>(self) -> Option> { - Some(Cow::Owned(self)) - } -} diff --git a/packages/rs-drive/src/util/type_constants.rs b/packages/rs-drive/src/util/type_constants.rs index bd551f6a5c3..517a08a2751 100644 --- a/packages/rs-drive/src/util/type_constants.rs +++ b/packages/rs-drive/src/util/type_constants.rs @@ -1,6 +1,4 @@ /// Default hash size -pub const DEFAULT_HASH_SIZE: u32 = 32; -/// Default hash size pub const DEFAULT_HASH_SIZE_USIZE: usize = 32; /// Default hash 160 size as u8 pub const DEFAULT_HASH_160_SIZE_U8: u8 = 20; diff --git a/packages/rs-drive/src/verify/contract/verify_contract/v0/mod.rs b/packages/rs-drive/src/verify/contract/verify_contract/v0/mod.rs index 3d47e9504ee..a2976fa5a85 100644 --- a/packages/rs-drive/src/verify/contract/verify_contract/v0/mod.rs +++ b/packages/rs-drive/src/verify/contract/verify_contract/v0/mod.rs @@ -35,7 +35,7 @@ impl Drive { /// - The proof is corrupted. /// - The GroveDb query fails. #[inline(always)] - pub(crate) fn verify_contract_v0( + pub(super) fn verify_contract_v0( proof: &[u8], contract_known_keeps_history: Option, is_proof_subset: bool, diff --git a/packages/rs-drive/src/verify/contract/verify_contract_history/v0/mod.rs b/packages/rs-drive/src/verify/contract/verify_contract_history/v0/mod.rs index 9ce908c3cd5..18fea92ee43 100644 --- a/packages/rs-drive/src/verify/contract/verify_contract_history/v0/mod.rs +++ b/packages/rs-drive/src/verify/contract/verify_contract_history/v0/mod.rs @@ -37,7 +37,7 @@ impl Drive { /// - The GroveDb query fails. /// - The contract serialization fails. #[inline(always)] - pub(crate) fn verify_contract_history_v0( + pub(super) fn verify_contract_history_v0( proof: &[u8], contract_id: [u8; 32], start_at_date: u64, diff --git a/packages/rs-drive/src/verify/document/verify_proof/v0/mod.rs b/packages/rs-drive/src/verify/document/verify_proof/v0/mod.rs index a9e5d2771c4..4de205ccb4a 100644 --- a/packages/rs-drive/src/verify/document/verify_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/document/verify_proof/v0/mod.rs @@ -30,7 +30,7 @@ impl<'a> DriveDocumentQuery<'a> { /// 1. The proof verification fails. /// 2. There is a deserialization error when parsing the serialized document(s) into `Document` struct(s). #[inline(always)] - pub(crate) fn verify_proof_v0( + pub(super) fn verify_proof_v0( &self, proof: &[u8], platform_version: &PlatformVersion, diff --git a/packages/rs-drive/src/verify/document/verify_proof_keep_serialized/v0/mod.rs b/packages/rs-drive/src/verify/document/verify_proof_keep_serialized/v0/mod.rs index 31bcdc941bf..dc362c7ead9 100644 --- a/packages/rs-drive/src/verify/document/verify_proof_keep_serialized/v0/mod.rs +++ b/packages/rs-drive/src/verify/document/verify_proof_keep_serialized/v0/mod.rs @@ -24,7 +24,7 @@ impl<'a> DriveDocumentQuery<'a> { /// * The path query fails to verify against the given proof. /// * Converting the element into bytes fails. #[inline(always)] - pub(crate) fn verify_proof_keep_serialized_v0( + pub(super) fn verify_proof_keep_serialized_v0( &self, proof: &[u8], platform_version: &PlatformVersion, diff --git a/packages/rs-drive/src/verify/document/verify_start_at_document_in_proof/v0/mod.rs b/packages/rs-drive/src/verify/document/verify_start_at_document_in_proof/v0/mod.rs index 592b04ee9db..1142be78e51 100644 --- a/packages/rs-drive/src/verify/document/verify_start_at_document_in_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/document/verify_start_at_document_in_proof/v0/mod.rs @@ -30,7 +30,7 @@ impl<'a> DriveDocumentQuery<'a> { /// * If the proof is corrupted (wrong path, wrong key, etc.). /// * If the provided proof has an incorrect number of elements. #[inline(always)] - pub(crate) fn verify_start_at_document_in_proof_v0( + pub(super) fn verify_start_at_document_in_proof_v0( &self, proof: &[u8], is_proof_subset: bool, diff --git a/packages/rs-drive/src/verify/identity/verify_full_identities_by_public_key_hashes/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_full_identities_by_public_key_hashes/v0/mod.rs index 939b76b5a89..7c1f0545d05 100644 --- a/packages/rs-drive/src/verify/identity/verify_full_identities_by_public_key_hashes/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_full_identities_by_public_key_hashes/v0/mod.rs @@ -40,7 +40,7 @@ impl Drive { /// - Any of the public key hashes do not correspond to a valid identity ID. /// - Any of the identity IDs do not correspond to a valid full identity. /// - pub(crate) fn verify_full_identities_by_public_key_hashes_v0< + pub(super) fn verify_full_identities_by_public_key_hashes_v0< T: FromIterator<([u8; 20], Option)>, >( proof: &[u8], diff --git a/packages/rs-drive/src/verify/identity/verify_full_identity_by_identity_id/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_full_identity_by_identity_id/v0/mod.rs index 84e5a768300..e9fefdaaf2f 100644 --- a/packages/rs-drive/src/verify/identity/verify_full_identity_by_identity_id/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_full_identity_by_identity_id/v0/mod.rs @@ -41,7 +41,7 @@ impl Drive { /// - The balance, revision, or keys information is missing or incorrect. /// #[inline(always)] - pub(crate) fn verify_full_identity_by_identity_id_v0( + pub(super) fn verify_full_identity_by_identity_id_v0( proof: &[u8], is_proof_subset: bool, identity_id: [u8; 32], diff --git a/packages/rs-drive/src/verify/identity/verify_full_identity_by_public_key_hash/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_full_identity_by_public_key_hash/v0/mod.rs index dd5c1f1ee00..e481343470a 100644 --- a/packages/rs-drive/src/verify/identity/verify_full_identity_by_public_key_hash/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_full_identity_by_public_key_hash/v0/mod.rs @@ -38,7 +38,7 @@ impl Drive { /// * The identity ID does not correspond to a valid full identity. /// #[inline(always)] - pub(crate) fn verify_full_identity_by_public_key_hash_v0( + pub(super) fn verify_full_identity_by_public_key_hash_v0( proof: &[u8], public_key_hash: [u8; 20], platform_version: &PlatformVersion, diff --git a/packages/rs-drive/src/verify/identity/verify_identities_contract_keys/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identities_contract_keys/v0/mod.rs index 1b8cc605eb3..2ea58065062 100644 --- a/packages/rs-drive/src/verify/identity/verify_identities_contract_keys/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identities_contract_keys/v0/mod.rs @@ -37,7 +37,7 @@ impl Drive { /// - The keys information is missing or incorrect. /// #[inline(always)] - pub(crate) fn verify_identities_contract_keys_v0( + pub(super) fn verify_identities_contract_keys_v0( proof: &[u8], identity_ids: &[[u8; 32]], contract_id: &[u8; 32], diff --git a/packages/rs-drive/src/verify/identity/verify_identity_balance_and_revision_for_identity_id/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_balance_and_revision_for_identity_id/v0/mod.rs index 88f7350d900..7a90ff4df78 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_balance_and_revision_for_identity_id/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_balance_and_revision_for_identity_id/v0/mod.rs @@ -38,14 +38,14 @@ impl Drive { _verify_subset_of_proof: bool, platform_version: &PlatformVersion, ) -> Result<(RootHash, Option<(u64, u64)>), Error> { - let (root_hash_0, signed_balance) = Self::verify_identity_balance_for_identity_id_v0( + let (root_hash_0, signed_balance) = Self::verify_identity_balance_for_identity_id( proof, identity_id, true, platform_version, )?; - let (root_hash_1, revision) = Self::verify_identity_revision_for_identity_id_v0( + let (root_hash_1, revision) = Self::verify_identity_revision_for_identity_id( proof, identity_id, true, diff --git a/packages/rs-drive/src/verify/identity/verify_identity_balance_for_identity_id/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_balance_for_identity_id/v0/mod.rs index 91712e7d409..1648d74ba8f 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_balance_for_identity_id/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_balance_for_identity_id/v0/mod.rs @@ -38,7 +38,7 @@ impl Drive { /// - The proved key value is not for the correct path or key in balances. /// - More than one balance is found. /// - pub(crate) fn verify_identity_balance_for_identity_id_v0( + pub(super) fn verify_identity_balance_for_identity_id_v0( proof: &[u8], identity_id: [u8; 32], verify_subset_of_proof: bool, diff --git a/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/mod.rs index 108efea2378..553f64661c6 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/mod.rs @@ -38,7 +38,8 @@ impl Drive { /// - Any other error as documented in the specific versioned function. /// pub fn verify_identity_balances_for_identity_ids< - T: FromIterator<([u8; 32], Option)>, + T: FromIterator<(I, Option)>, + I: From<[u8; 32]>, >( proof: &[u8], is_proof_subset: bool, @@ -52,7 +53,7 @@ impl Drive { .identity .verify_identity_balances_for_identity_ids { - 0 => Self::verify_identity_balances_for_identity_ids_v0::( + 0 => Self::verify_identity_balances_for_identity_ids_v0::( proof, is_proof_subset, identity_ids, diff --git a/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/v0/mod.rs index ac5d2114708..b7742ebbb3c 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_balances_for_identity_ids/v0/mod.rs @@ -39,17 +39,15 @@ impl Drive { /// - The value size of the balance is incorrect. /// pub(crate) fn verify_identity_balances_for_identity_ids_v0< - T: FromIterator<([u8; 32], Option)>, + T: FromIterator<(I, Option)>, + I: From<[u8; 32]>, >( proof: &[u8], is_proof_subset: bool, identity_ids: &[[u8; 32]], platform_version: &PlatformVersion, ) -> Result<(RootHash, T), Error> { - let mut path_query = Self::balances_for_identity_ids_query( - identity_ids, - &platform_version.drive.grove_version, - )?; + let mut path_query = Self::balances_for_identity_ids_query(identity_ids); path_query.query.limit = Some(identity_ids.len() as u16); let (root_hash, proved_key_values) = if is_proof_subset { GroveDb::verify_subset_query_with_absence_proof( @@ -74,7 +72,7 @@ impl Drive { .map_err(|_| Error::Proof(ProofError::IncorrectValueSize("value size")))?; let maybe_element = proved_key_value.2; match maybe_element { - None => Ok((key, None)), + None => Ok((key.into(), None)), Some(element) => { let balance: Credits = element .as_sum_item_value() @@ -85,7 +83,7 @@ impl Drive { "balance was negative", )) })?; - Ok((key, Some(balance))) + Ok((key.into(), Some(balance))) } } }) diff --git a/packages/rs-drive/src/verify/identity/verify_identity_contract_nonce/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_contract_nonce/v0/mod.rs index 8e8da0eb938..5963c503f91 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_contract_nonce/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_contract_nonce/v0/mod.rs @@ -37,7 +37,7 @@ impl Drive { /// - The proof of authentication is not valid. /// - The identity ID does not correspond to a valid identity. /// - pub(crate) fn verify_identity_contract_nonce_v0( + pub(super) fn verify_identity_contract_nonce_v0( proof: &[u8], identity_id: [u8; 32], contract_id: [u8; 32], diff --git a/packages/rs-drive/src/verify/identity/verify_identity_id_by_public_key_hash/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_id_by_public_key_hash/v0/mod.rs index 1f586154044..ceb8ae05b07 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_id_by_public_key_hash/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_id_by_public_key_hash/v0/mod.rs @@ -33,7 +33,7 @@ impl Drive { /// - More than one identity ID is found. /// #[inline(always)] - pub(crate) fn verify_identity_id_by_public_key_hash_v0( + pub(super) fn verify_identity_id_by_public_key_hash_v0( proof: &[u8], is_proof_subset: bool, public_key_hash: [u8; 20], diff --git a/packages/rs-drive/src/verify/identity/verify_identity_keys_by_identity_id/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_keys_by_identity_id/v0/mod.rs index 1348cea2839..9452a0b19db 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_keys_by_identity_id/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_keys_by_identity_id/v0/mod.rs @@ -41,7 +41,7 @@ impl Drive { /// - The keys information is missing or incorrect. /// #[inline(always)] - pub(crate) fn verify_identity_keys_by_identity_id_v0( + pub(super) fn verify_identity_keys_by_identity_id_v0( proof: &[u8], key_request: IdentityKeysRequest, with_revision: bool, diff --git a/packages/rs-drive/src/verify/identity/verify_identity_nonce/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_nonce/v0/mod.rs index ba512647f4c..bbf91a01405 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_nonce/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_nonce/v0/mod.rs @@ -37,7 +37,7 @@ impl Drive { /// - The proof of authentication is not valid. /// - The identity ID does not correspond to a valid identity. /// - pub(crate) fn verify_identity_nonce_v0( + pub(super) fn verify_identity_nonce_v0( proof: &[u8], identity_id: [u8; 32], verify_subset_of_proof: bool, diff --git a/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/mod.rs index e084dffc38f..7d619f0dcbc 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/mod.rs @@ -1 +1,59 @@ mod v0; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::verify::RootHash; +use platform_version::version::PlatformVersion; + +impl Drive { + /// Verifies the revision of an identity by their identity ID. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof of authentication from the user. + /// - `identity_id`: A 32-byte array representing the identity ID of the user. + /// - `verify_subset_of_proof`: A boolean indicating whether we are verifying a subset of a larger proof. + /// - `platform_version`: The version of the platform used to verify the identity revision. + /// + /// # Returns + /// + /// If the verification is successful, it returns a `Result` with a tuple of `RootHash` and + /// an `Option`. The `RootHash` represents the root hash of GroveDB, and the + /// `Option` represents the revision of the user's identity if it exists. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof of authentication is not valid. + /// - The identity ID does not correspond to a valid revision. + /// - The proof contains elements unrelated to the requested revision. + /// + pub fn verify_identity_revision_for_identity_id( + proof: &[u8], + identity_id: [u8; 32], + verify_subset_of_proof: bool, + platform_version: &PlatformVersion, + ) -> Result<(RootHash, Option), Error> { + match platform_version + .drive + .methods + .verify + .identity + .verify_identity_revision_for_identity_id + { + 0 => Self::verify_identity_revision_for_identity_id_v0( + proof, + identity_id, + verify_subset_of_proof, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "verify_identity_revision_for_identity_id".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/v0/mod.rs b/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/v0/mod.rs index 42700b4fc0e..47e7f2839fe 100644 --- a/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/v0/mod.rs +++ b/packages/rs-drive/src/verify/identity/verify_identity_revision_for_identity_id/v0/mod.rs @@ -36,7 +36,8 @@ impl Drive { /// - The proved key value is not for the correct path or key in balances. /// - More than one balance is found. /// - pub fn verify_identity_revision_for_identity_id_v0( + #[inline(always)] + pub(super) fn verify_identity_revision_for_identity_id_v0( proof: &[u8], identity_id: [u8; 32], verify_subset_of_proof: bool, diff --git a/packages/rs-drive/src/verify/single_document/verify_proof/v0/mod.rs b/packages/rs-drive/src/verify/single_document/verify_proof/v0/mod.rs index aa9937819c4..480df57edac 100644 --- a/packages/rs-drive/src/verify/single_document/verify_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/single_document/verify_proof/v0/mod.rs @@ -32,7 +32,7 @@ impl SingleDocumentDriveQuery { /// - The GroveDb query fails. /// - The document serialization fails. #[inline(always)] - pub(crate) fn verify_proof_v0( + pub(super) fn verify_proof_v0( &self, is_subset: bool, proof: &[u8], diff --git a/packages/rs-drive/src/verify/single_document/verify_proof_keep_serialized/v0/mod.rs b/packages/rs-drive/src/verify/single_document/verify_proof_keep_serialized/v0/mod.rs index 39f16f49cef..59e3d4160ac 100644 --- a/packages/rs-drive/src/verify/single_document/verify_proof_keep_serialized/v0/mod.rs +++ b/packages/rs-drive/src/verify/single_document/verify_proof_keep_serialized/v0/mod.rs @@ -30,7 +30,7 @@ impl SingleDocumentDriveQuery { /// - The GroveDb verification fails. /// - The elements returned are not items, the proof is incorrect. #[inline(always)] - pub(crate) fn verify_proof_keep_serialized_v0( + pub(super) fn verify_proof_keep_serialized_v0( &self, is_subset: bool, proof: &[u8], diff --git a/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs b/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs index 09af028c47d..d424fbe3289 100644 --- a/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs @@ -45,7 +45,7 @@ use crate::query::{ContractLookupFn, SingleDocumentDriveQuery, SingleDocumentDri impl Drive { #[inline(always)] - pub(crate) fn verify_state_transition_was_executed_with_proof_v0( + pub(super) fn verify_state_transition_was_executed_with_proof_v0( state_transition: &StateTransition, block_info: &BlockInfo, proof: &[u8], diff --git a/packages/rs-drive/src/verify/system/mod.rs b/packages/rs-drive/src/verify/system/mod.rs index 69dceb54a89..25d09693885 100644 --- a/packages/rs-drive/src/verify/system/mod.rs +++ b/packages/rs-drive/src/verify/system/mod.rs @@ -1,4 +1,6 @@ mod verify_elements; mod verify_epoch_infos; +mod verify_epoch_proposers; +mod verify_total_credits_in_system; mod verify_upgrade_state; mod verify_upgrade_vote_status; diff --git a/packages/rs-drive/src/verify/system/verify_elements/mod.rs b/packages/rs-drive/src/verify/system/verify_elements/mod.rs index 5d17c970435..ddddd08d677 100644 --- a/packages/rs-drive/src/verify/system/verify_elements/mod.rs +++ b/packages/rs-drive/src/verify/system/verify_elements/mod.rs @@ -9,7 +9,7 @@ use std::collections::BTreeMap; mod v0; impl Drive { - /// Verifies a proof containing potentially multiple epoch infos. + /// Verifies a proof and returns elements matching keys for a path. /// /// # Parameters /// @@ -20,7 +20,7 @@ impl Drive { /// /// # Returns /// - /// Returns a `Result` with a tuple of `RootHash` and `Vec`. The `BTreeMap, Option>` + /// Returns a `Result` with a tuple of `RootHash` and `BTreeMap, Option>`. The `BTreeMap, Option>` /// is the map of elements we get back. /// /// # Errors diff --git a/packages/rs-drive/src/verify/system/verify_elements/v0/mod.rs b/packages/rs-drive/src/verify/system/verify_elements/v0/mod.rs index 6ae60b6e980..ae9f00b2c3d 100644 --- a/packages/rs-drive/src/verify/system/verify_elements/v0/mod.rs +++ b/packages/rs-drive/src/verify/system/verify_elements/v0/mod.rs @@ -9,7 +9,7 @@ use platform_version::version::PlatformVersion; use std::collections::BTreeMap; impl Drive { - /// Verifies that the contract is included in the proof. + /// Verifies a proof and returns elements matching keys for a path. /// /// # Parameters /// @@ -29,7 +29,7 @@ impl Drive { /// - The proof is corrupted. /// - The GroveDb query fails. #[inline(always)] - pub(crate) fn verify_elements_v0( + pub(super) fn verify_elements_v0( proof: &[u8], path: Vec>, keys: Vec>, diff --git a/packages/rs-drive/src/verify/system/verify_epoch_infos/v0/mod.rs b/packages/rs-drive/src/verify/system/verify_epoch_infos/v0/mod.rs index 41185817d2a..d9f77b376e1 100644 --- a/packages/rs-drive/src/verify/system/verify_epoch_infos/v0/mod.rs +++ b/packages/rs-drive/src/verify/system/verify_epoch_infos/v0/mod.rs @@ -41,7 +41,7 @@ impl Drive { /// - The proof is corrupted. /// - The GroveDb query fails. #[inline(always)] - pub(crate) fn verify_epoch_infos_v0( + pub(super) fn verify_epoch_infos_v0( proof: &[u8], current_epoch: EpochIndex, start_epoch: Option, diff --git a/packages/rs-drive/src/verify/system/verify_epoch_proposers/mod.rs b/packages/rs-drive/src/verify/system/verify_epoch_proposers/mod.rs new file mode 100644 index 00000000000..f344a9f982f --- /dev/null +++ b/packages/rs-drive/src/verify/system/verify_epoch_proposers/mod.rs @@ -0,0 +1,62 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::query::proposer_block_count_query::ProposerQueryType; +use crate::verify::RootHash; +use dpp::block::epoch::EpochIndex; +use dpp::version::PlatformVersion; + +mod v0; + +impl Drive { + /// Verifies a proof containing a single epochs proposers. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `epoch_index`: The epoch index, can be acquired from metadata. + /// - `limit`: The amount of proposers to get. + /// - `platform_version`: the platform version, + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `Vec`. The `Vec` + /// represents verified epoch information if it exists. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + pub fn verify_epoch_proposers( + proof: &[u8], + epoch_index: EpochIndex, + proposer_query_type: ProposerQueryType, + platform_version: &PlatformVersion, + ) -> Result<(RootHash, I), Error> + where + I: FromIterator<(P, u64)>, + P: TryFrom, Error = E>, + { + match platform_version + .drive + .methods + .verify + .system + .verify_epoch_infos + { + 0 => Drive::verify_epoch_proposers_v0( + proof, + epoch_index, + proposer_query_type, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "verify_epoch_proposers".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/verify/system/verify_epoch_proposers/v0/mod.rs b/packages/rs-drive/src/verify/system/verify_epoch_proposers/v0/mod.rs new file mode 100644 index 00000000000..8d079468360 --- /dev/null +++ b/packages/rs-drive/src/verify/system/verify_epoch_proposers/v0/mod.rs @@ -0,0 +1,90 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::query::proposer_block_count_query::ProposerQueryType; +use crate::verify::RootHash; +use dpp::block::epoch::{Epoch, EpochIndex}; +use grovedb::{Element, GroveDb}; +use platform_version::version::PlatformVersion; + +impl Drive { + /// Verifies the proposers for a given epoch using the provided proof. + /// + /// This function checks if the proposers for the specified epoch are correctly included + /// in the provided proof by querying GroveDB and returns the root hash along with the + /// list of proposers and their corresponding block counts. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the Merkle proof used to verify the data. + /// - `epoch_index`: The index of the epoch for which the proposers are being verified. + /// - `limit`: The maximum number of proposers to retrieve. + /// - `platform_version`: The current version of the platform to ensure compatibility during verification. + /// + /// # Returns + /// + /// A `Result` containing a tuple: + /// + /// - `RootHash`: The calculated root hash from the verified proof. + /// - `I`: An iterator over the proposers, each paired with their block count. The type `I` + /// is expected to be constructed using the `FromIterator` trait. + /// + /// # Errors + /// + /// This function returns an error if: + /// + /// - The proof is invalid or corrupted. + /// - The GroveDB query fails. + /// - A proposer’s block count cannot be parsed as a `u64`. + /// - An unexpected element type is encountered during verification. + /// + /// ``` + #[inline(always)] + pub(super) fn verify_epoch_proposers_v0( + proof: &[u8], + epoch_index: EpochIndex, + proposer_query_type: ProposerQueryType, + platform_version: &PlatformVersion, + ) -> Result<(RootHash, I), Error> + where + I: FromIterator<(P, u64)>, + P: TryFrom, Error = E>, + { + let epoch = Epoch::new(epoch_index)?; + + let path_query = proposer_query_type.into_path_query(&epoch); + + let (root_hash, elements) = + GroveDb::verify_query(proof, &path_query, &platform_version.drive.grove_version)?; + + let proposers = elements + .into_iter() + .map(|(_, pro_tx_hash, element)| { + let Some(Element::Item(encoded_block_count, _)) = element else { + return Err(Error::Drive(DriveError::UnexpectedElementType( + "epochs proposer block count must be an item", + ))); + }; + + let block_count = u64::from_be_bytes( + encoded_block_count.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization(String::from( + "epochs proposer block count must be u64", + ))) + })?, + ); + + Ok(( + pro_tx_hash.try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "item has an invalid length".to_string(), + )) + })?, + block_count, + )) + }) + .collect::>()?; + + Ok((root_hash, proposers)) + } +} diff --git a/packages/rs-drive/src/verify/system/verify_total_credits_in_system/mod.rs b/packages/rs-drive/src/verify/system/verify_total_credits_in_system/mod.rs new file mode 100644 index 00000000000..337cf536296 --- /dev/null +++ b/packages/rs-drive/src/verify/system/verify_total_credits_in_system/mod.rs @@ -0,0 +1,60 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use crate::verify::RootHash; +use dpp::fee::Credits; +use dpp::prelude::CoreBlockHeight; +use dpp::version::PlatformVersion; + +mod v0; + +impl Drive { + /// Verifies a proof containing the total credits in the platform. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `core_distribution_multiplier`: A multiplier for the core distribution. This is 1 for mainnet. And 10 for testnet. + /// - `current_core_height`: The current core block height. + /// - `platform_version`: The platform version. + /// + /// # Returns + /// + /// Returns a `Result` containing a tuple of `RootHash` and `Credits`. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + /// - The platform version is unknown. + pub fn verify_total_credits_in_system( + proof: &[u8], + core_subsidy_halving_interval: u32, + request_activation_core_height: impl Fn() -> Result, + current_core_height: CoreBlockHeight, + platform_version: &PlatformVersion, + ) -> Result<(RootHash, Credits), Error> { + match platform_version + .drive + .methods + .verify + .system + .verify_total_credits_in_system + { + 0 => Drive::verify_total_credits_in_system_v0( + proof, + core_subsidy_halving_interval, + request_activation_core_height, + current_core_height, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "verify_total_credits_in_system".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/verify/system/verify_total_credits_in_system/v0/mod.rs b/packages/rs-drive/src/verify/system/verify_total_credits_in_system/v0/mod.rs new file mode 100644 index 00000000000..953e793d95b --- /dev/null +++ b/packages/rs-drive/src/verify/system/verify_total_credits_in_system/v0/mod.rs @@ -0,0 +1,199 @@ +use crate::drive::balances::{ + total_credits_on_platform_path_query, TOTAL_SYSTEM_CREDITS_STORAGE_KEY, +}; +use crate::drive::credit_pools::epochs::epoch_key_constants::KEY_START_BLOCK_CORE_HEIGHT; +use crate::drive::credit_pools::epochs::epochs_root_tree_key_constants::KEY_UNPAID_EPOCH_INDEX; +use crate::drive::credit_pools::epochs::paths::EpochProposers; +use crate::drive::{Drive, RootTree}; +use crate::error::proof::ProofError; +use crate::error::Error; +use crate::query::Query; +use crate::verify::RootHash; +use dpp::block::epoch::{Epoch, EpochIndex}; +use dpp::core_subsidy::epoch_core_reward_credits_for_distribution::epoch_core_reward_credits_for_distribution; +use dpp::fee::Credits; +use dpp::prelude::CoreBlockHeight; +use grovedb::{Element, GroveDb, PathQuery, SizedQuery}; +use integer_encoding::VarInt; +use platform_version::version::PlatformVersion; + +impl Drive { + /// Verifies a proof for the total credits in the system and returns + /// them if they are in the proof. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `path`: The path where elements should be. + /// - `keys`: The requested keys. + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `Credits`. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + #[inline(always)] + pub(super) fn verify_total_credits_in_system_v0( + proof: &[u8], + core_subsidy_halving_interval: u32, + request_activation_core_height: impl Fn() -> Result, + current_core_height: CoreBlockHeight, + platform_version: &PlatformVersion, + ) -> Result<(RootHash, Credits), Error> { + let total_credits_on_platform_path_query = total_credits_on_platform_path_query(); + + let (root_hash, mut proved_path_key_values) = GroveDb::verify_subset_query( + proof, + &total_credits_on_platform_path_query, + &platform_version.drive.grove_version, + )?; + if proved_path_key_values.len() > 1 { + return Err(Error::Proof(ProofError::TooManyElements("We should only get back at most 1 element in the proof for the total credits in the system"))); + } + + let Some(proved_path_key_value) = proved_path_key_values.pop() else { + return Err(Error::Proof(ProofError::IncorrectProof( + "This proof would show that Platform has not yet been initialized".to_string(), + ))); + }; + + if proved_path_key_value.0 != total_credits_on_platform_path_query.path { + return Err(Error::Proof(ProofError::CorruptedProof( + "The result of this proof is not what we asked for (path)".to_string(), + ))); + } + + if proved_path_key_value.1 != TOTAL_SYSTEM_CREDITS_STORAGE_KEY.to_vec() { + return Err(Error::Proof(ProofError::CorruptedProof( + "The result of this proof is not what we asked for (key)".to_string(), + ))); + } + + let Some(Element::Item(bytes, _)) = proved_path_key_value.2 else { + return Err(Error::Proof(ProofError::CorruptedProof( + "We are expecting an item for the total credits in platform field".to_string(), + ))); + }; + + let credits = Credits::decode_var(bytes.as_slice()).ok_or(Error::Proof(ProofError::CorruptedProof("The result of this proof does not contain an encoded var integer for total credits".to_string())))?.0; + + // we also need the path_query for the start_core_height of this unpaid epoch + let unpaid_epoch_index = PathQuery { + path: vec![vec![RootTree::Pools as u8]], + query: SizedQuery { + query: Query::new_single_key(KEY_UNPAID_EPOCH_INDEX.to_vec()), + limit: Some(1), + offset: None, + }, + }; + + let (_, mut proved_path_key_values) = GroveDb::verify_subset_query( + proof, + &unpaid_epoch_index, + &platform_version.drive.grove_version, + )?; + + let Some(proved_path_key_value) = proved_path_key_values.pop() else { + return Err(Error::Proof(ProofError::IncorrectProof("This proof would show that Platform has not yet been initialized as we can not find a start index".to_string()))); + }; + + if proved_path_key_value.0 != unpaid_epoch_index.path { + return Err(Error::Proof(ProofError::CorruptedProof( + "The result of this proof is not what we asked for (unpaid epoch path)".to_string(), + ))); + } + + if proved_path_key_value.1 != KEY_UNPAID_EPOCH_INDEX.to_vec() { + return Err(Error::Proof(ProofError::CorruptedProof( + "The result of this proof is not what we asked for (unpaid epoch key)".to_string(), + ))); + } + + let Some(Element::Item(bytes, _)) = proved_path_key_value.2 else { + return Err(Error::Proof(ProofError::CorruptedProof( + "We are expecting an item for the epoch index".to_string(), + ))); + }; + + let epoch_index = EpochIndex::from_be_bytes(bytes.as_slice().try_into().map_err(|_| { + Error::Proof(ProofError::CorruptedProof( + "epoch index invalid length".to_string(), + )) + })?); + + let start_core_height = if epoch_index == 0 { + request_activation_core_height()? + } else { + let epoch = Epoch::new(epoch_index).map_err(|_| { + Error::Proof(ProofError::CorruptedProof( + "Epoch index out of bounds".to_string(), + )) + })?; + + let start_core_height_query = PathQuery { + path: epoch.get_path_vec(), + query: SizedQuery { + query: Query::new_single_key(KEY_START_BLOCK_CORE_HEIGHT.to_vec()), + limit: None, + offset: None, + }, + }; + + let (_, mut proved_path_key_values) = GroveDb::verify_subset_query( + proof, + &start_core_height_query, + &platform_version.drive.grove_version, + )?; + + let Some(proved_path_key_value) = proved_path_key_values.pop() else { + return Err(Error::Proof(ProofError::IncorrectProof( + "We can not find the start core height of the unpaid epoch".to_string(), + ))); + }; + + if proved_path_key_value.0 != start_core_height_query.path { + return Err(Error::Proof(ProofError::CorruptedProof( + "The result of this proof is not what we asked for (start core height path)" + .to_string(), + ))); + } + + if proved_path_key_value.1 != KEY_START_BLOCK_CORE_HEIGHT.to_vec() { + return Err(Error::Proof(ProofError::CorruptedProof( + "The result of this proof is not what we asked for (start core height key)" + .to_string(), + ))); + } + + let Some(Element::Item(bytes, _)) = proved_path_key_value.2 else { + return Err(Error::Proof(ProofError::CorruptedProof( + "We are expecting an item for the start core height of the unpaid epoch" + .to_string(), + ))); + }; + + u32::from_be_bytes(bytes.as_slice().try_into().map_err(|_| { + Error::Proof(ProofError::CorruptedProof( + "start core height invalid length".to_string(), + )) + })?) + 1 // We need a plus one here, because we already distribute the first block on epoch change + }; + + let reward_credits_accumulated_during_current_epoch = + epoch_core_reward_credits_for_distribution( + start_core_height, + current_core_height, + core_subsidy_halving_interval, + platform_version, + )?; + + let total_credits = credits.checked_add(reward_credits_accumulated_during_current_epoch).ok_or(Error::Proof(ProofError::CorruptedProof("overflow while adding platform credits with reward credits accumulated during current epoch".to_string())))?; + + Ok((root_hash, total_credits)) + } +} diff --git a/packages/rs-drive/src/verify/system/verify_upgrade_state/v0/mod.rs b/packages/rs-drive/src/verify/system/verify_upgrade_state/v0/mod.rs index 17d447a549d..0e2af0cfd7b 100644 --- a/packages/rs-drive/src/verify/system/verify_upgrade_state/v0/mod.rs +++ b/packages/rs-drive/src/verify/system/verify_upgrade_state/v0/mod.rs @@ -31,7 +31,7 @@ impl Drive { /// - The proof is corrupted. /// - The GroveDb query fails. #[inline(always)] - pub(crate) fn verify_upgrade_state_v0( + pub(super) fn verify_upgrade_state_v0( proof: &[u8], platform_version: &PlatformVersion, ) -> Result<(RootHash, IntMap), Error> { diff --git a/packages/rs-drive/src/verify/system/verify_upgrade_vote_status/v0/mod.rs b/packages/rs-drive/src/verify/system/verify_upgrade_vote_status/v0/mod.rs index 8f6a4361999..5a326e24162 100644 --- a/packages/rs-drive/src/verify/system/verify_upgrade_vote_status/v0/mod.rs +++ b/packages/rs-drive/src/verify/system/verify_upgrade_vote_status/v0/mod.rs @@ -32,7 +32,7 @@ impl Drive { /// - The proof is corrupted. /// - The GroveDb query fails. #[inline(always)] - pub(crate) fn verify_upgrade_vote_status_v0( + pub(super) fn verify_upgrade_vote_status_v0( proof: &[u8], start_protx_hash: Option<[u8; 32]>, count: u16, diff --git a/packages/rs-drive/src/verify/voting/verify_contests_proof/v0/mod.rs b/packages/rs-drive/src/verify/voting/verify_contests_proof/v0/mod.rs index 6bdcfde8ab0..35a7fb56158 100644 --- a/packages/rs-drive/src/verify/voting/verify_contests_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/voting/verify_contests_proof/v0/mod.rs @@ -32,7 +32,7 @@ impl<'a> ResolvedVotePollsByDocumentTypeQuery<'a> { /// 1. The proof verification fails. /// 2. There is a deserialization error when parsing the serialized document(s) into `Document` struct(s). #[inline(always)] - pub(crate) fn verify_contests_proof_v0( + pub(super) fn verify_contests_proof_v0( &self, proof: &[u8], platform_version: &PlatformVersion, diff --git a/packages/rs-drive/src/verify/voting/verify_masternode_vote/v0/mod.rs b/packages/rs-drive/src/verify/voting/verify_masternode_vote/v0/mod.rs index cf00e602c3e..daa9effbcc2 100644 --- a/packages/rs-drive/src/verify/voting/verify_masternode_vote/v0/mod.rs +++ b/packages/rs-drive/src/verify/voting/verify_masternode_vote/v0/mod.rs @@ -44,7 +44,7 @@ impl Drive { /// - The identity ID does not correspond to a valid balance. /// - The proved key value is not for the correct path or key in balances. /// - More than one balance is found. - pub(crate) fn verify_masternode_vote_v0( + pub(super) fn verify_masternode_vote_v0( proof: &[u8], masternode_pro_tx_hash: [u8; 32], vote: &Vote, diff --git a/packages/rs-drive/src/verify/voting/verify_specialized_balance/v0/mod.rs b/packages/rs-drive/src/verify/voting/verify_specialized_balance/v0/mod.rs index 35fb2cdcf51..b28bc3fb4fb 100644 --- a/packages/rs-drive/src/verify/voting/verify_specialized_balance/v0/mod.rs +++ b/packages/rs-drive/src/verify/voting/verify_specialized_balance/v0/mod.rs @@ -37,7 +37,7 @@ impl Drive { /// - The proved key value is not for the correct path or key in balances. /// - More than one balance is found. /// - pub(crate) fn verify_specialized_balance_v0( + pub(super) fn verify_specialized_balance_v0( proof: &[u8], balance_id: [u8; 32], verify_subset_of_proof: bool, diff --git a/packages/rs-drive/src/verify/voting/verify_vote_poll_vote_state_proof/v0/mod.rs b/packages/rs-drive/src/verify/voting/verify_vote_poll_vote_state_proof/v0/mod.rs index 100e7b827a5..6b82deffe84 100644 --- a/packages/rs-drive/src/verify/voting/verify_vote_poll_vote_state_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/voting/verify_vote_poll_vote_state_proof/v0/mod.rs @@ -45,7 +45,7 @@ impl<'a> ResolvedContestedDocumentVotePollDriveQuery<'a> { /// 1. The proof verification fails. /// 2. There is a deserialization error when parsing the serialized document(s) into `Document` struct(s). #[inline(always)] - pub(crate) fn verify_vote_poll_vote_state_proof_v0( + pub(super) fn verify_vote_poll_vote_state_proof_v0( &self, proof: &[u8], platform_version: &PlatformVersion, @@ -56,7 +56,8 @@ impl<'a> ResolvedContestedDocumentVotePollDriveQuery<'a> { GroveDb::verify_query(proof, &path_query, &platform_version.drive.grove_version)?; match self.result_type { - ContestedDocumentVotePollDriveQueryResultType::Documents => { + ContestedDocumentVotePollDriveQueryResultType::Documents + | ContestedDocumentVotePollDriveQueryResultType::SingleDocumentByContender(_) => { let contenders = proved_key_values .into_iter() .map(|(mut path, _key, document)| { diff --git a/packages/rs-drive/src/verify/voting/verify_vote_poll_votes_proof/v0/mod.rs b/packages/rs-drive/src/verify/voting/verify_vote_poll_votes_proof/v0/mod.rs index f46732d4f3e..091cc146949 100644 --- a/packages/rs-drive/src/verify/voting/verify_vote_poll_votes_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/voting/verify_vote_poll_votes_proof/v0/mod.rs @@ -31,7 +31,7 @@ impl<'a> ResolvedContestedDocumentVotePollVotesDriveQuery<'a> { /// 1. The proof verification fails. /// 2. There is a deserialization error when parsing the serialized document(s) into `Document` struct(s). #[inline(always)] - pub(crate) fn verify_vote_poll_votes_proof_v0( + pub(super) fn verify_vote_poll_votes_proof_v0( &self, proof: &[u8], platform_version: &PlatformVersion, diff --git a/packages/rs-drive/tests/query_tests.rs b/packages/rs-drive/tests/query_tests.rs index f29741e83d1..0850fc8d621 100644 --- a/packages/rs-drive/tests/query_tests.rs +++ b/packages/rs-drive/tests/query_tests.rs @@ -2342,7 +2342,7 @@ fn test_family_person_update() { .add_document_for_contract( DocumentAndContractInfo { owned_document_info: OwnedDocumentInfo { - document_info: DocumentRefInfo((&document, storage_flags)), + document_info: DocumentRefInfo((&document, storage_flags.clone())), owner_id: None, }, contract: &contract, @@ -2379,7 +2379,7 @@ fn test_family_person_update() { None, BlockInfo::genesis(), true, - None, + storage_flags, Some(&db_transaction), platform_version, Some(&epoch_change_fee_version_test), diff --git a/packages/rs-json-schema-compatibility-validator/Cargo.toml b/packages/rs-json-schema-compatibility-validator/Cargo.toml index 5ed50682eb1..d31332bb208 100644 --- a/packages/rs-json-schema-compatibility-validator/Cargo.toml +++ b/packages/rs-json-schema-compatibility-validator/Cargo.toml @@ -1,11 +1,9 @@ [package] name = "json-schema-compatibility-validator" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" -authors = [ - "Ivan Shumkov ", -] +rust-version.workspace = true +authors = ["Ivan Shumkov "] [dependencies] json-patch = "1.2.0" diff --git a/packages/rs-platform-serialization-derive/Cargo.toml b/packages/rs-platform-serialization-derive/Cargo.toml index b56c100bcc8..f18ea08c619 100644 --- a/packages/rs-platform-serialization-derive/Cargo.toml +++ b/packages/rs-platform-serialization-derive/Cargo.toml @@ -2,9 +2,9 @@ name = "platform-serialization-derive" authors = ["Samuel Westrich "] description = "Bincode serialization and deserialization derivations" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [lib] diff --git a/packages/rs-platform-serialization/Cargo.toml b/packages/rs-platform-serialization/Cargo.toml index bfec66d726a..89f2c732de1 100644 --- a/packages/rs-platform-serialization/Cargo.toml +++ b/packages/rs-platform-serialization/Cargo.toml @@ -2,9 +2,9 @@ name = "platform-serialization" authors = ["Samuel Westrich "] description = "Bincode based serialization and deserialization" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/rs-platform-value-convertible/Cargo.toml b/packages/rs-platform-value-convertible/Cargo.toml index eddc2bb49ee..245855ba13d 100644 --- a/packages/rs-platform-value-convertible/Cargo.toml +++ b/packages/rs-platform-value-convertible/Cargo.toml @@ -2,9 +2,9 @@ name = "platform-value-convertible" authors = ["Samuel Westrich "] description = "Convertion to and from platform values" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [lib] diff --git a/packages/rs-platform-value/Cargo.toml b/packages/rs-platform-value/Cargo.toml index 03d95e6e96b..604a4dae4b9 100644 --- a/packages/rs-platform-value/Cargo.toml +++ b/packages/rs-platform-value/Cargo.toml @@ -2,9 +2,9 @@ name = "platform-value" authors = ["Samuel Westrich "] description = "A simple value module" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/rs-platform-version/Cargo.toml b/packages/rs-platform-version/Cargo.toml index f925997c1fa..267c4275141 100644 --- a/packages/rs-platform-version/Cargo.toml +++ b/packages/rs-platform-version/Cargo.toml @@ -2,16 +2,16 @@ name = "platform-version" authors = ["Samuel Westrich "] description = "Versioning library for Platform" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] -thiserror = { version = "1.0.59" } +thiserror = { version = "1.0.63" } bincode = { version = "2.0.0-rc.3"} versioned-feature-core = { git = "https://github.com/dashpay/versioned-feature-core", version = "1.0.0" } -grovedb-version = "1.0.0-rc.2" +grovedb-version = { version = "2.0.3"} once_cell = "1.19.0" [features] diff --git a/packages/rs-platform-version/src/version/consensus_versions.rs b/packages/rs-platform-version/src/version/consensus_versions.rs new file mode 100644 index 00000000000..af2177ecded --- /dev/null +++ b/packages/rs-platform-version/src/version/consensus_versions.rs @@ -0,0 +1,6 @@ +use versioned_feature_core::FeatureVersion; + +#[derive(Clone, Debug, Default)] +pub struct ConsensusVersions { + pub tenderdash_consensus_version: FeatureVersion, +} diff --git a/packages/rs-platform-version/src/version/dpp_versions.rs b/packages/rs-platform-version/src/version/dpp_versions.rs index 98254686ef4..b42befd472b 100644 --- a/packages/rs-platform-version/src/version/dpp_versions.rs +++ b/packages/rs-platform-version/src/version/dpp_versions.rs @@ -14,6 +14,7 @@ pub struct DPPVersion { pub identity_versions: IdentityVersions, pub voting_versions: VotingVersions, pub asset_lock_versions: AssetLockVersions, + pub methods: DPPMethodVersions, } #[derive(Clone, Debug, Default)] @@ -78,7 +79,9 @@ pub struct DataContractValidationVersions { #[derive(Clone, Debug, Default)] pub struct VotingValidationVersions { /// How long do we allow other contenders to join a contest after the first contender - pub allow_other_contenders_time_ms: u64, + pub allow_other_contenders_time_mainnet_ms: u64, + /// How long do we allow other contenders to join a contest after the first contender in a testing environment + pub allow_other_contenders_time_testing_ms: u64, /// How many votes do we allow from the same masternode? pub votes_allowed_per_masternode: u16, } @@ -234,7 +237,8 @@ pub struct IdentityVersions { #[derive(Clone, Debug, Default)] pub struct VotingVersions { - pub default_vote_poll_time_duration_ms: u64, + pub default_vote_poll_time_duration_mainnet_ms: u64, + pub default_vote_poll_time_duration_test_network_ms: u64, pub contested_document_vote_poll_stored_info_version: FeatureVersion, } @@ -261,4 +265,10 @@ pub struct DocumentMethodVersions { pub hash: FeatureVersion, pub get_raw_for_contract: FeatureVersion, pub get_raw_for_document_type: FeatureVersion, + pub try_into_asset_unlock_base_transaction_info: FeatureVersion, +} + +#[derive(Clone, Debug, Default)] +pub struct DPPMethodVersions { + pub epoch_core_reward_credits_for_distribution: FeatureVersion, } diff --git a/packages/rs-platform-version/src/version/drive_abci_versions.rs b/packages/rs-platform-version/src/version/drive_abci_versions.rs index 92ce6bdac83..3d60df57366 100644 --- a/packages/rs-platform-version/src/version/drive_abci_versions.rs +++ b/packages/rs-platform-version/src/version/drive_abci_versions.rs @@ -16,6 +16,7 @@ pub struct DriveAbciQueryVersions { pub document_query: FeatureVersionBounds, pub prefunded_specialized_balances: DriveAbciQueryPrefundedSpecializedBalancesVersions, pub identity_based_queries: DriveAbciQueryIdentityVersions, + pub validator_queries: DriveAbciQueryValidatorVersions, pub data_contract_based_queries: DriveAbciQueryDataContractVersions, pub voting_based_queries: DriveAbciQueryVotingVersions, pub system: DriveAbciQuerySystemVersions, @@ -34,10 +35,17 @@ pub struct DriveAbciQueryIdentityVersions { pub identity_nonce: FeatureVersionBounds, pub identity_contract_nonce: FeatureVersionBounds, pub balance: FeatureVersionBounds, + pub identities_balances: FeatureVersionBounds, pub balance_and_revision: FeatureVersionBounds, pub identity_by_public_key_hash: FeatureVersionBounds, } +#[derive(Clone, Debug, Default)] +pub struct DriveAbciQueryValidatorVersions { + pub proposed_block_counts_by_evonode_ids: FeatureVersionBounds, + pub proposed_block_counts_by_range: FeatureVersionBounds, +} + #[derive(Clone, Debug, Default)] pub struct DriveAbciQueryVotingVersions { pub vote_polls_by_end_date_query: FeatureVersionBounds, @@ -59,7 +67,10 @@ pub struct DriveAbciQuerySystemVersions { pub version_upgrade_state: FeatureVersionBounds, pub version_upgrade_vote_status: FeatureVersionBounds, pub epoch_infos: FeatureVersionBounds, + pub current_quorums_info: FeatureVersionBounds, + pub partial_status: FeatureVersionBounds, pub path_elements: FeatureVersionBounds, + pub total_credits_in_platform: FeatureVersionBounds, } #[derive(Clone, Debug, Default)] @@ -79,7 +90,6 @@ pub struct DriveAbciMethodVersions { pub core_based_updates: DriveAbciCoreBasedUpdatesMethodVersions, pub protocol_upgrade: DriveAbciProtocolUpgradeMethodVersions, pub block_fee_processing: DriveAbciBlockFeeProcessingMethodVersions, - pub core_subsidy: DriveAbciCoreSubsidyMethodVersions, pub core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants, pub core_instant_send_lock: DriveAbciCoreInstantSendLockMethodVersions, pub fee_pool_inwards_distribution: DriveAbciFeePoolInwardsDistributionMethodVersions, @@ -132,6 +142,7 @@ pub struct DriveAbciDocumentsStateTransitionValidationVersions { pub state: FeatureVersion, pub transform_into_action: FeatureVersion, pub data_triggers: DriveAbciValidationDataTriggerAndBindingVersions, + pub is_allowed: FeatureVersion, pub document_create_transition_structure_validation: FeatureVersion, pub document_delete_transition_structure_validation: FeatureVersion, pub document_replace_transition_structure_validation: FeatureVersion, @@ -213,6 +224,7 @@ pub struct DriveAbciEngineMethodVersions { pub check_tx: FeatureVersion, pub run_block_proposal: FeatureVersion, pub finalize_block_proposal: FeatureVersion, + pub consensus_params_update: FeatureVersion, } #[derive(Clone, Debug, Default)] @@ -227,7 +239,7 @@ pub struct DriveAbciCoreBasedUpdatesMethodVersions { pub struct DriveAbciMasternodeIdentitiesUpdatesMethodVersions { pub get_voter_identity_key: FeatureVersion, pub get_operator_identity_keys: FeatureVersion, - pub get_owner_identity_key: FeatureVersion, + pub get_owner_identity_withdrawal_key: FeatureVersion, pub get_voter_identifier_from_masternode_list_item: FeatureVersion, pub get_operator_identifier_from_masternode_list_item: FeatureVersion, pub create_operator_identity: FeatureVersion, @@ -252,11 +264,6 @@ pub struct DriveAbciBlockFeeProcessingMethodVersions { pub process_block_fees: FeatureVersion, } -#[derive(Clone, Debug, Default)] -pub struct DriveAbciCoreSubsidyMethodVersions { - pub epoch_core_reward_credits_for_distribution: FeatureVersion, -} - #[derive(Clone, Debug, Default)] pub struct DriveAbciCoreInstantSendLockMethodVersions { pub verify_recent_signature_locally: FeatureVersion, diff --git a/packages/rs-platform-version/src/version/drive_versions.rs b/packages/rs-platform-version/src/version/drive_versions.rs index 41a0061a791..5e67347b443 100644 --- a/packages/rs-platform-version/src/version/drive_versions.rs +++ b/packages/rs-platform-version/src/version/drive_versions.rs @@ -127,6 +127,7 @@ pub struct DriveVerifyIdentityMethodVersions { pub verify_identity_nonce: FeatureVersion, pub verify_identity_contract_nonce: FeatureVersion, pub verify_identities_contract_keys: FeatureVersion, + pub verify_identity_revision_for_identity_id: FeatureVersion, } #[derive(Clone, Debug, Default)] @@ -144,7 +145,9 @@ pub struct DriveVerifyVoteMethodVersions { #[derive(Clone, Debug, Default)] pub struct DriveVerifySystemMethodVersions { pub verify_epoch_infos: FeatureVersion, + pub verify_epoch_proposers: FeatureVersion, pub verify_elements: FeatureVersion, + pub verify_total_credits_in_system: FeatureVersion, pub verify_upgrade_state: FeatureVersion, pub verify_upgrade_vote_status: FeatureVersion, } @@ -318,6 +321,8 @@ pub struct DriveVoteCleanupMethodVersions { pub remove_contested_resource_vote_poll_votes_operations: FeatureVersion, pub remove_contested_resource_vote_poll_documents_operations: FeatureVersion, pub remove_contested_resource_vote_poll_contenders_operations: FeatureVersion, + pub remove_contested_resource_top_level_index_operations: FeatureVersion, + pub remove_contested_resource_info_operations: FeatureVersion, } #[derive(Clone, Debug, Default)] @@ -347,6 +352,9 @@ pub struct DriveDocumentMethodVersions { #[derive(Clone, Debug, Default)] pub struct DriveDocumentQueryMethodVersions { pub query_documents: FeatureVersion, + pub query_contested_documents: FeatureVersion, + pub query_contested_documents_vote_state: FeatureVersion, + pub query_documents_with_flags: FeatureVersion, } #[derive(Clone, Debug, Default)] @@ -495,7 +503,8 @@ pub struct DriveCreditPoolEpochsMethodVersions { pub get_epoch_start_block_core_height: FeatureVersion, pub get_epoch_start_block_height: FeatureVersion, pub get_first_epoch_start_block_info_between_epochs: FeatureVersion, - pub get_epoch_proposers: FeatureVersion, + pub fetch_epoch_proposers: FeatureVersion, + pub prove_epoch_proposers: FeatureVersion, pub get_epochs_proposer_block_count: FeatureVersion, pub add_update_pending_epoch_refunds_operations: FeatureVersion, pub is_epochs_proposers_tree_empty: FeatureVersion, @@ -582,6 +591,7 @@ pub struct DriveIdentityWithdrawalTransactionQueueMethodVersions { #[derive(Clone, Debug, Default)] pub struct DriveIdentityContractInfoMethodVersions { pub add_potential_contract_info_for_contract_bounded_key: FeatureVersion, + pub refresh_potential_contract_info_key_references: FeatureVersion, pub merge_identity_contract_nonce: FeatureVersion, } @@ -726,6 +736,7 @@ pub struct DriveIdentityUpdateMethodVersions { pub add_to_previous_balance: FeatureVersion, pub apply_balance_change_from_fee_to_identity: FeatureVersion, pub remove_from_identity_balance: FeatureVersion, + pub refresh_identity_key_reference_operations: FeatureVersion, } #[derive(Clone, Debug, Default)] diff --git a/packages/rs-platform-version/src/version/limits.rs b/packages/rs-platform-version/src/version/limits.rs index 7035d6ae7c1..207cde0d1ed 100644 --- a/packages/rs-platform-version/src/version/limits.rs +++ b/packages/rs-platform-version/src/version/limits.rs @@ -4,4 +4,5 @@ pub struct SystemLimits { pub max_field_value_size: u32, pub max_state_transition_size: u64, pub max_transitions_in_documents_batch: u16, + pub withdrawal_transactions_per_block_limit: u16, } diff --git a/packages/rs-platform-version/src/version/mocks/v2_test.rs b/packages/rs-platform-version/src/version/mocks/v2_test.rs index 5540862126f..bb83ecba960 100644 --- a/packages/rs-platform-version/src/version/mocks/v2_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v2_test.rs @@ -1,11 +1,12 @@ +use crate::version::consensus_versions::ConsensusVersions; use crate::version::contracts::SystemDataContractVersions; use crate::version::dpp_versions::{ - AssetLockVersions, ContractVersions, CostVersions, DPPValidationVersions, DPPVersion, - DataContractMethodVersions, DataContractValidationVersions, DocumentFeatureVersionBounds, - DocumentMethodVersions, DocumentTransitionVersions, DocumentTypeClassMethodVersions, - DocumentTypeIndexVersions, DocumentTypeMethodVersions, DocumentTypeSchemaVersions, - DocumentTypeValidationVersions, DocumentTypeVersions, DocumentVersions, - DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, + AssetLockVersions, ContractVersions, CostVersions, DPPMethodVersions, DPPValidationVersions, + DPPVersion, DataContractMethodVersions, DataContractValidationVersions, + DocumentFeatureVersionBounds, DocumentMethodVersions, DocumentTransitionVersions, + DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, + DocumentTypeSchemaVersions, DocumentTypeValidationVersions, DocumentTypeVersions, + DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, @@ -16,7 +17,7 @@ use crate::version::drive_abci_versions::{ DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreChainLockMethodVersionsAndConstants, - DriveAbciCoreInstantSendLockMethodVersions, DriveAbciCoreSubsidyMethodVersions, + DriveAbciCoreInstantSendLockMethodVersions, DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, DriveAbciFeePoolOutwardsDistributionMethodVersions, @@ -25,7 +26,7 @@ use crate::version::drive_abci_versions::{ DriveAbciPlatformStateStorageMethodVersions, DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, DriveAbciQueryIdentityVersions, DriveAbciQueryPrefundedSpecializedBalancesVersions, DriveAbciQuerySystemVersions, - DriveAbciQueryVersions, DriveAbciQueryVotingVersions, + DriveAbciQueryValidatorVersions, DriveAbciQueryVersions, DriveAbciQueryVotingVersions, DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, @@ -127,7 +128,8 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { get_epoch_start_block_core_height: 0, get_epoch_start_block_height: 0, get_first_epoch_start_block_info_between_epochs: 0, - get_epoch_proposers: 0, + fetch_epoch_proposers: 0, + prove_epoch_proposers: 0, get_epochs_proposer_block_count: 0, add_update_pending_epoch_refunds_operations: 0, is_epochs_proposers_tree_empty: 0, @@ -139,9 +141,9 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { add_update_pending_epoch_refunds_operations: 0, }, storage_fee_distribution_pool: - DriveCreditPoolStorageFeeDistributionPoolMethodVersions { - get_storage_fees_from_distribution_pool: 0, - }, + DriveCreditPoolStorageFeeDistributionPoolMethodVersions { + get_storage_fees_from_distribution_pool: 0, + }, unpaid_epoch: DriveCreditPoolUnpaidEpochMethodVersions { get_unpaid_epoch_index: 0, }, @@ -167,7 +169,7 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { calculate_total_credits_balance: 0, }, document: DriveDocumentMethodVersions { - query: DriveDocumentQueryMethodVersions { query_documents: 0 }, + query: DriveDocumentQueryMethodVersions { query_documents: 0, query_contested_documents: 0, query_contested_documents_vote_state: 0, query_documents_with_flags: 0 }, delete: DriveDocumentDeleteMethodVersions { add_estimation_costs_for_remove_document_to_primary_storage: 0, delete_document_for_contract: 0, @@ -242,6 +244,8 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { remove_contested_resource_vote_poll_votes_operations: 0, remove_contested_resource_vote_poll_documents_operations: 0, remove_contested_resource_vote_poll_contenders_operations: 0, + remove_contested_resource_top_level_index_operations: 0, + remove_contested_resource_info_operations: 0, }, setup: DriveVoteSetupMethodVersions { add_initial_vote_tree_main_structure_operations: 0, @@ -315,6 +319,7 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { verify_identity_nonce: 0, verify_identity_contract_nonce: 0, verify_identities_contract_keys: 0, + verify_identity_revision_for_identity_id: 0, }, single_document: DriveVerifySingleDocumentMethodVersions { verify_proof: 0, @@ -322,7 +327,9 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { }, system: DriveVerifySystemMethodVersions { verify_epoch_infos: 0, + verify_epoch_proposers: 0, verify_elements: 0, + verify_total_credits_in_system: 0, verify_upgrade_state: 0, verify_upgrade_vote_status: 0, }, @@ -407,14 +414,14 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { replace_key_in_storage: 0, }, insert_key_hash_identity_reference: - DriveIdentityKeyHashesToIdentityInsertMethodVersions { - add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, - add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, - insert_non_unique_public_key_hash_reference_to_identity: 0, - insert_reference_to_non_unique_key: 0, - insert_reference_to_unique_key: 0, - insert_unique_public_key_hash_reference_to_identity: 0, - }, + DriveIdentityKeyHashesToIdentityInsertMethodVersions { + add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, + add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, + insert_non_unique_public_key_hash_reference_to_identity: 0, + insert_reference_to_non_unique_key: 0, + insert_reference_to_unique_key: 0, + insert_unique_public_key_hash_reference_to_identity: 0, + }, }, update: DriveIdentityUpdateMethodVersions { update_identity_revision: 0, @@ -432,12 +439,14 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { add_to_previous_balance: 0, apply_balance_change_from_fee_to_identity: 0, remove_from_identity_balance: 0, + refresh_identity_key_reference_operations: 0, }, insert: DriveIdentityInsertMethodVersions { add_new_identity: 0, }, contract_info: DriveIdentityContractInfoMethodVersions { add_potential_contract_info_for_contract_bounded_key: 0, + refresh_potential_contract_info_key_references: 0, merge_identity_contract_nonce: 0, }, cost_estimation: DriveIdentityCostEstimationMethodVersions { @@ -496,26 +505,26 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { }, }, convert_to_high_level_operations: - DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { - data_contract_create_transition: 0, - data_contract_update_transition: 0, - document_create_transition: 0, - document_delete_transition: 0, - document_purchase_transition: 0, - document_replace_transition: 0, - document_transfer_transition: 0, - document_update_price_transition: 0, - documents_batch_transition: 0, - identity_create_transition: 0, - identity_credit_transfer_transition: 0, - identity_credit_withdrawal_transition: 0, - identity_top_up_transition: 0, - identity_update_transition: 0, - masternode_vote_transition: 0, - bump_identity_data_contract_nonce: 0, - bump_identity_nonce: 0, - partially_use_asset_lock: 0, - }, + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { + data_contract_create_transition: 0, + data_contract_update_transition: 0, + document_create_transition: 0, + document_delete_transition: 0, + document_purchase_transition: 0, + document_replace_transition: 0, + document_transfer_transition: 0, + document_update_price_transition: 0, + documents_batch_transition: 0, + identity_create_transition: 0, + identity_credit_transfer_transition: 0, + identity_credit_withdrawal_transition: 0, + identity_top_up_transition: 0, + identity_update_transition: 0, + masternode_vote_transition: 0, + bump_identity_data_contract_nonce: 0, + bump_identity_nonce: 0, + partially_use_asset_lock: 0, + }, }, platform_state: DrivePlatformStateMethodVersions { fetch_platform_state_bytes: 0, @@ -598,6 +607,7 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { check_tx: 0, run_block_proposal: 0, finalize_block_proposal: 0, + consensus_params_update: 0, }, initialization: DriveAbciInitializationMethodVersions { initial_core_height_and_time: 0, @@ -610,7 +620,7 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions { get_voter_identity_key: 0, get_operator_identity_keys: 0, - get_owner_identity_key: 0, + get_owner_identity_withdrawal_key: 0, get_voter_identifier_from_masternode_list_item: 0, get_operator_identifier_from_masternode_list_item: 0, create_operator_identity: 0, @@ -632,9 +642,6 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { add_process_epoch_change_operations: 0, process_block_fees: 0, }, - core_subsidy: DriveAbciCoreSubsidyMethodVersions { - epoch_core_reward_credits_for_distribution: 0, - }, core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants { choose_quorum: 0, verify_chain_lock: 0, @@ -742,25 +749,25 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { transform_into_action: 0, }, identity_credit_withdrawal_state_transition: - DriveAbciStateTransitionValidationVersion { - basic_structure: Some(0), - advanced_structure: None, - identity_signatures: None, - advanced_minimum_balance_pre_check: Some(0), - nonce: Some(0), - state: 0, - transform_into_action: 0, - }, + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, identity_credit_transfer_state_transition: - DriveAbciStateTransitionValidationVersion { - basic_structure: Some(0), - advanced_structure: None, - identity_signatures: None, - advanced_minimum_balance_pre_check: Some(0), - nonce: Some(0), - state: 0, - transform_into_action: 0, - }, + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, masternode_vote_state_transition: DriveAbciStateTransitionValidationVersion { basic_structure: None, advanced_structure: Some(0), @@ -789,38 +796,39 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { transform_into_action: 0, }, documents_batch_state_transition: - DriveAbciDocumentsStateTransitionValidationVersions { - balance_pre_check: 0, - basic_structure: 0, - advanced_structure: 0, - state: 0, - revision: 0, - transform_into_action: 0, - data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { - bindings: 0, - triggers: DriveAbciValidationDataTriggerVersions { - create_contact_request_data_trigger: 0, - create_domain_data_trigger: 0, - create_identity_data_trigger: 0, - create_feature_flag_data_trigger: 0, - create_masternode_reward_shares_data_trigger: 0, - delete_withdrawal_data_trigger: 0, - reject_data_trigger: 0, - }, + DriveAbciDocumentsStateTransitionValidationVersions { + balance_pre_check: 0, + basic_structure: 0, + advanced_structure: 0, + state: 0, + revision: 0, + transform_into_action: 0, + data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { + bindings: 0, + triggers: DriveAbciValidationDataTriggerVersions { + create_contact_request_data_trigger: 0, + create_domain_data_trigger: 0, + create_identity_data_trigger: 0, + create_feature_flag_data_trigger: 0, + create_masternode_reward_shares_data_trigger: 0, + delete_withdrawal_data_trigger: 0, + reject_data_trigger: 0, }, - document_create_transition_structure_validation: 0, - document_delete_transition_structure_validation: 0, - document_replace_transition_structure_validation: 0, - document_transfer_transition_structure_validation: 0, - document_purchase_transition_structure_validation: 0, - document_update_price_transition_structure_validation: 0, - document_create_transition_state_validation: 0, - document_delete_transition_state_validation: 0, - document_replace_transition_state_validation: 0, - document_transfer_transition_state_validation: 0, - document_purchase_transition_state_validation: 0, - document_update_price_transition_state_validation: 0, }, + is_allowed: 0, + document_create_transition_structure_validation: 0, + document_delete_transition_structure_validation: 0, + document_replace_transition_structure_validation: 0, + document_transfer_transition_structure_validation: 0, + document_purchase_transition_structure_validation: 0, + document_update_price_transition_structure_validation: 0, + document_create_transition_state_validation: 0, + document_delete_transition_state_validation: 0, + document_replace_transition_state_validation: 0, + document_transfer_transition_state_validation: 0, + document_purchase_transition_state_validation: 0, + document_update_price_transition_state_validation: 0, + }, }, process_state_transition: 0, state_transition_to_execution_event_for_check_tx: 0, @@ -881,6 +889,11 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + identities_balances: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, balance_and_revision: FeatureVersionBounds { min_version: 0, max_version: 0, @@ -897,6 +910,18 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + validator_queries: DriveAbciQueryValidatorVersions { + proposed_block_counts_by_evonode_ids: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + proposed_block_counts_by_range: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, data_contract_based_queries: DriveAbciQueryDataContractVersions { data_contract: FeatureVersionBounds { min_version: 0, @@ -957,11 +982,26 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + current_quorums_info: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + partial_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, path_elements: FeatureVersionBounds { min_version: 0, max_version: 0, default_current_version: 0, }, + total_credits_in_platform: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, }, }, }, @@ -990,7 +1030,8 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { unique_index_limit: 10, }, voting: VotingValidationVersions { - allow_other_contenders_time_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_mainnet_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_testing_ms: 2_700_000, //45 minutes votes_allowed_per_masternode: 5, }, }, @@ -1122,9 +1163,9 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { max_public_keys_in_creation: 6, asset_locks: IdentityTransitionAssetLockVersions { required_asset_lock_duff_balance_for_processing_start_for_identity_create: - 200000, + 200000, required_asset_lock_duff_balance_for_processing_start_for_identity_top_up: - 50000, + 50000, validate_asset_lock_transaction_structure: 0, validate_instant_asset_lock_proof_structure: 0, }, @@ -1200,6 +1241,7 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { hash: 0, get_raw_for_contract: 0, get_raw_for_document_type: 0, + try_into_asset_unlock_base_transaction_info: 0, }, }, identity_versions: IdentityVersions { @@ -1211,7 +1253,8 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { }, }, voting_versions: VotingVersions { - default_vote_poll_time_duration_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_mainnet_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_test_network_ms: 5_400_000, //90 minutes contested_document_vote_poll_stored_info_version: 0, }, asset_lock_versions: AssetLockVersions { @@ -1221,6 +1264,7 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + methods: DPPMethodVersions { epoch_core_reward_credits_for_distribution: 0 }, }, system_data_contracts: SystemDataContractVersions { withdrawals: 1, @@ -1235,5 +1279,9 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { max_field_value_size: 5000, max_state_transition_size: 20000, max_transitions_in_documents_batch: 1, + withdrawal_transactions_per_block_limit: 4, + }, + consensus: ConsensusVersions { + tenderdash_consensus_version: 0, }, }; diff --git a/packages/rs-platform-version/src/version/mocks/v3_test.rs b/packages/rs-platform-version/src/version/mocks/v3_test.rs index c6b940b88a6..d1366771292 100644 --- a/packages/rs-platform-version/src/version/mocks/v3_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v3_test.rs @@ -1,11 +1,12 @@ +use crate::version::consensus_versions::ConsensusVersions; use crate::version::contracts::SystemDataContractVersions; use crate::version::dpp_versions::{ - AssetLockVersions, ContractVersions, CostVersions, DPPValidationVersions, DPPVersion, - DataContractMethodVersions, DataContractValidationVersions, DocumentFeatureVersionBounds, - DocumentMethodVersions, DocumentTransitionVersions, DocumentTypeClassMethodVersions, - DocumentTypeIndexVersions, DocumentTypeMethodVersions, DocumentTypeSchemaVersions, - DocumentTypeValidationVersions, DocumentTypeVersions, DocumentVersions, - DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, + AssetLockVersions, ContractVersions, CostVersions, DPPMethodVersions, DPPValidationVersions, + DPPVersion, DataContractMethodVersions, DataContractValidationVersions, + DocumentFeatureVersionBounds, DocumentMethodVersions, DocumentTransitionVersions, + DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, + DocumentTypeSchemaVersions, DocumentTypeValidationVersions, DocumentTypeVersions, + DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, @@ -16,7 +17,7 @@ use crate::version::drive_abci_versions::{ DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreChainLockMethodVersionsAndConstants, - DriveAbciCoreInstantSendLockMethodVersions, DriveAbciCoreSubsidyMethodVersions, + DriveAbciCoreInstantSendLockMethodVersions, DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, DriveAbciFeePoolOutwardsDistributionMethodVersions, @@ -25,7 +26,7 @@ use crate::version::drive_abci_versions::{ DriveAbciPlatformStateStorageMethodVersions, DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, DriveAbciQueryIdentityVersions, DriveAbciQueryPrefundedSpecializedBalancesVersions, DriveAbciQuerySystemVersions, - DriveAbciQueryVersions, DriveAbciQueryVotingVersions, + DriveAbciQueryValidatorVersions, DriveAbciQueryVersions, DriveAbciQueryVotingVersions, DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, @@ -127,7 +128,8 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { get_epoch_start_block_core_height: 0, get_epoch_start_block_height: 0, get_first_epoch_start_block_info_between_epochs: 0, - get_epoch_proposers: 0, + fetch_epoch_proposers: 0, + prove_epoch_proposers: 0, get_epochs_proposer_block_count: 0, add_update_pending_epoch_refunds_operations: 0, is_epochs_proposers_tree_empty: 0, @@ -139,9 +141,9 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { add_update_pending_epoch_refunds_operations: 0, }, storage_fee_distribution_pool: - DriveCreditPoolStorageFeeDistributionPoolMethodVersions { - get_storage_fees_from_distribution_pool: 0, - }, + DriveCreditPoolStorageFeeDistributionPoolMethodVersions { + get_storage_fees_from_distribution_pool: 0, + }, unpaid_epoch: DriveCreditPoolUnpaidEpochMethodVersions { get_unpaid_epoch_index: 0, }, @@ -166,37 +168,8 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { remove_from_system_credits_operations: 0, calculate_total_credits_balance: 0, }, - state_transitions: DriveStateTransitionMethodVersions { - operations: DriveStateTransitionOperationMethodVersions { - finalization_tasks: 0, - contracts: DriveDataContractOperationMethodVersions { - finalization_tasks: 0, - }, - }, - convert_to_high_level_operations: - DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { - data_contract_create_transition: 0, - data_contract_update_transition: 0, - document_create_transition: 0, - document_delete_transition: 0, - document_purchase_transition: 0, - document_replace_transition: 0, - document_transfer_transition: 0, - document_update_price_transition: 0, - documents_batch_transition: 0, - identity_create_transition: 0, - identity_credit_transfer_transition: 0, - identity_credit_withdrawal_transition: 0, - identity_top_up_transition: 0, - identity_update_transition: 0, - masternode_vote_transition: 0, - bump_identity_data_contract_nonce: 0, - bump_identity_nonce: 0, - partially_use_asset_lock: 0, - }, - }, document: DriveDocumentMethodVersions { - query: DriveDocumentQueryMethodVersions { query_documents: 0 }, + query: DriveDocumentQueryMethodVersions { query_documents: 0, query_contested_documents: 0, query_contested_documents_vote_state: 0, query_documents_with_flags: 0 }, delete: DriveDocumentDeleteMethodVersions { add_estimation_costs_for_remove_document_to_primary_storage: 0, delete_document_for_contract: 0, @@ -267,10 +240,12 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { cleanup: DriveVoteCleanupMethodVersions { remove_specific_vote_references_given_by_identity: 0, remove_specific_votes_given_by_identity: 0, - remove_contested_resource_vote_poll_end_date_query_operations: 0, + remove_contested_resource_vote_poll_end_date_query_operations: 1, remove_contested_resource_vote_poll_votes_operations: 0, - remove_contested_resource_vote_poll_documents_operations: 0, - remove_contested_resource_vote_poll_contenders_operations: 0, + remove_contested_resource_vote_poll_documents_operations: 1, + remove_contested_resource_vote_poll_contenders_operations: 1, + remove_contested_resource_top_level_index_operations: 0, + remove_contested_resource_info_operations: 0, }, setup: DriveVoteSetupMethodVersions { add_initial_vote_tree_main_structure_operations: 0, @@ -344,6 +319,7 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { verify_identity_nonce: 0, verify_identity_contract_nonce: 0, verify_identities_contract_keys: 0, + verify_identity_revision_for_identity_id: 0, }, single_document: DriveVerifySingleDocumentMethodVersions { verify_proof: 0, @@ -351,7 +327,9 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { }, system: DriveVerifySystemMethodVersions { verify_epoch_infos: 0, + verify_epoch_proposers: 0, verify_elements: 0, + verify_total_credits_in_system: 0, verify_upgrade_state: 0, verify_upgrade_vote_status: 0, }, @@ -436,14 +414,14 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { replace_key_in_storage: 0, }, insert_key_hash_identity_reference: - DriveIdentityKeyHashesToIdentityInsertMethodVersions { - add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, - add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, - insert_non_unique_public_key_hash_reference_to_identity: 0, - insert_reference_to_non_unique_key: 0, - insert_reference_to_unique_key: 0, - insert_unique_public_key_hash_reference_to_identity: 0, - }, + DriveIdentityKeyHashesToIdentityInsertMethodVersions { + add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, + add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, + insert_non_unique_public_key_hash_reference_to_identity: 0, + insert_reference_to_non_unique_key: 0, + insert_reference_to_unique_key: 0, + insert_unique_public_key_hash_reference_to_identity: 0, + }, }, update: DriveIdentityUpdateMethodVersions { update_identity_revision: 0, @@ -461,12 +439,14 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { add_to_previous_balance: 0, apply_balance_change_from_fee_to_identity: 0, remove_from_identity_balance: 0, + refresh_identity_key_reference_operations: 0, }, insert: DriveIdentityInsertMethodVersions { add_new_identity: 0, }, contract_info: DriveIdentityContractInfoMethodVersions { add_potential_contract_info_for_contract_bounded_key: 0, + refresh_potential_contract_info_key_references: 0, merge_identity_contract_nonce: 0, }, cost_estimation: DriveIdentityCostEstimationMethodVersions { @@ -513,6 +493,35 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { apply_batch_low_level_drive_operations: 0, apply_batch_grovedb_operations: 0, }, + state_transitions: DriveStateTransitionMethodVersions { + operations: DriveStateTransitionOperationMethodVersions { + finalization_tasks: 0, + contracts: DriveDataContractOperationMethodVersions { + finalization_tasks: 0, + }, + }, + convert_to_high_level_operations: + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { + data_contract_create_transition: 0, + data_contract_update_transition: 0, + document_create_transition: 0, + document_delete_transition: 0, + document_purchase_transition: 0, + document_replace_transition: 0, + document_transfer_transition: 0, + document_update_price_transition: 0, + documents_batch_transition: 0, + identity_create_transition: 0, + identity_credit_transfer_transition: 0, + identity_credit_withdrawal_transition: 0, + identity_top_up_transition: 0, + identity_update_transition: 0, + masternode_vote_transition: 0, + bump_identity_data_contract_nonce: 0, + bump_identity_nonce: 0, + partially_use_asset_lock: 0, + }, + }, batch_operations: DriveBatchOperationsMethodVersion { convert_drive_operations_to_grove_operations: 0, apply_drive_operations: 0, @@ -598,6 +607,7 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { check_tx: 0, run_block_proposal: 0, finalize_block_proposal: 0, + consensus_params_update: 0, }, initialization: DriveAbciInitializationMethodVersions { initial_core_height_and_time: 0, @@ -610,7 +620,7 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions { get_voter_identity_key: 0, get_operator_identity_keys: 0, - get_owner_identity_key: 0, + get_owner_identity_withdrawal_key: 0, get_voter_identifier_from_masternode_list_item: 0, get_operator_identifier_from_masternode_list_item: 0, create_operator_identity: 0, @@ -624,17 +634,14 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { }, }, protocol_upgrade: DriveAbciProtocolUpgradeMethodVersions { - check_for_desired_protocol_upgrade: 0, + check_for_desired_protocol_upgrade: 1, upgrade_protocol_version_on_epoch_change: 0, - protocol_version_upgrade_percentage_needed: 75, + protocol_version_upgrade_percentage_needed: 67, }, block_fee_processing: DriveAbciBlockFeeProcessingMethodVersions { add_process_epoch_change_operations: 0, process_block_fees: 0, }, - core_subsidy: DriveAbciCoreSubsidyMethodVersions { - epoch_core_reward_credits_for_distribution: 0, - }, core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants { choose_quorum: 0, verify_chain_lock: 0, @@ -660,7 +667,7 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { build_untied_withdrawal_transactions_from_documents: 0, dequeue_and_build_unsigned_withdrawal_transactions: 0, fetch_transactions_block_inclusion_status: 0, - pool_withdrawals_into_transactions_queue: 0, + pool_withdrawals_into_transactions_queue: 1, update_broadcasted_withdrawal_statuses: 0, append_signatures_and_broadcast_withdrawal_transactions: 0, }, @@ -742,25 +749,25 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { transform_into_action: 0, }, identity_credit_withdrawal_state_transition: - DriveAbciStateTransitionValidationVersion { - basic_structure: Some(0), - advanced_structure: None, - identity_signatures: None, - advanced_minimum_balance_pre_check: Some(0), - nonce: Some(0), - state: 0, - transform_into_action: 0, - }, + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(1), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, identity_credit_transfer_state_transition: - DriveAbciStateTransitionValidationVersion { - basic_structure: Some(0), - advanced_structure: None, - identity_signatures: None, - advanced_minimum_balance_pre_check: Some(0), - nonce: Some(0), - state: 0, - transform_into_action: 0, - }, + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, masternode_vote_state_transition: DriveAbciStateTransitionValidationVersion { basic_structure: None, advanced_structure: Some(0), @@ -789,38 +796,39 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { transform_into_action: 0, }, documents_batch_state_transition: - DriveAbciDocumentsStateTransitionValidationVersions { - balance_pre_check: 0, - basic_structure: 0, - advanced_structure: 0, - state: 0, - revision: 0, - transform_into_action: 0, - data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { - bindings: 0, - triggers: DriveAbciValidationDataTriggerVersions { - create_contact_request_data_trigger: 0, - create_domain_data_trigger: 0, - create_identity_data_trigger: 0, - create_feature_flag_data_trigger: 0, - create_masternode_reward_shares_data_trigger: 0, - delete_withdrawal_data_trigger: 0, - reject_data_trigger: 0, - }, + DriveAbciDocumentsStateTransitionValidationVersions { + balance_pre_check: 0, + basic_structure: 0, + advanced_structure: 0, + state: 0, + revision: 0, + transform_into_action: 0, + data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { + bindings: 0, + triggers: DriveAbciValidationDataTriggerVersions { + create_contact_request_data_trigger: 0, + create_domain_data_trigger: 0, + create_identity_data_trigger: 0, + create_feature_flag_data_trigger: 0, + create_masternode_reward_shares_data_trigger: 0, + delete_withdrawal_data_trigger: 0, + reject_data_trigger: 0, }, - document_create_transition_structure_validation: 0, - document_delete_transition_structure_validation: 0, - document_replace_transition_structure_validation: 0, - document_transfer_transition_structure_validation: 0, - document_purchase_transition_structure_validation: 0, - document_update_price_transition_structure_validation: 0, - document_create_transition_state_validation: 0, - document_delete_transition_state_validation: 0, - document_replace_transition_state_validation: 0, - document_transfer_transition_state_validation: 0, - document_purchase_transition_state_validation: 0, - document_update_price_transition_state_validation: 0, }, + is_allowed: 0, + document_create_transition_structure_validation: 0, + document_delete_transition_structure_validation: 0, + document_replace_transition_structure_validation: 0, + document_transfer_transition_structure_validation: 0, + document_purchase_transition_structure_validation: 0, + document_update_price_transition_structure_validation: 0, + document_create_transition_state_validation: 1, + document_delete_transition_state_validation: 0, + document_replace_transition_state_validation: 0, + document_transfer_transition_state_validation: 0, + document_purchase_transition_state_validation: 0, + document_update_price_transition_state_validation: 0, + }, }, process_state_transition: 0, state_transition_to_execution_event_for_check_tx: 0, @@ -866,6 +874,11 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + identities_contract_keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, identity_nonce: FeatureVersionBounds { min_version: 0, max_version: 0, @@ -881,6 +894,11 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + identities_balances: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, balance_and_revision: FeatureVersionBounds { min_version: 0, max_version: 0, @@ -891,7 +909,14 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, - identities_contract_keys: FeatureVersionBounds { + }, + validator_queries: DriveAbciQueryValidatorVersions { + proposed_block_counts_by_evonode_ids: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + proposed_block_counts_by_range: FeatureVersionBounds { min_version: 0, max_version: 0, default_current_version: 0, @@ -957,11 +982,26 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + current_quorums_info: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + partial_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, path_elements: FeatureVersionBounds { min_version: 0, max_version: 0, default_current_version: 0, }, + total_credits_in_platform: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, }, }, }, @@ -990,7 +1030,8 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { unique_index_limit: 10, }, voting: VotingValidationVersions { - allow_other_contenders_time_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_mainnet_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_testing_ms: 2_700_000, //45 minutes votes_allowed_per_masternode: 5, }, }, @@ -1096,7 +1137,7 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { state_transition_conversion_versions: StateTransitionConversionVersions { identity_to_identity_create_transition: 0, identity_to_identity_top_up_transition: 0, - identity_to_identity_withdrawal_transition: 0, + identity_to_identity_withdrawal_transition: 1, identity_to_identity_create_transition_with_signer: 0, }, state_transition_method_versions: StateTransitionMethodVersions { @@ -1122,9 +1163,9 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { max_public_keys_in_creation: 6, asset_locks: IdentityTransitionAssetLockVersions { required_asset_lock_duff_balance_for_processing_start_for_identity_create: - 200000, + 200000, required_asset_lock_duff_balance_for_processing_start_for_identity_top_up: - 50000, + 50000, validate_asset_lock_transaction_structure: 0, validate_instant_asset_lock_proof_structure: 0, }, @@ -1200,6 +1241,7 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { hash: 0, get_raw_for_contract: 0, get_raw_for_document_type: 0, + try_into_asset_unlock_base_transaction_info: 0, }, }, identity_versions: IdentityVersions { @@ -1211,7 +1253,8 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { }, }, voting_versions: VotingVersions { - default_vote_poll_time_duration_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_mainnet_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_test_network_ms: 5_400_000, //90 minutes contested_document_vote_poll_stored_info_version: 0, }, asset_lock_versions: AssetLockVersions { @@ -1221,6 +1264,9 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + methods: DPPMethodVersions { + epoch_core_reward_credits_for_distribution: 0, + }, }, system_data_contracts: SystemDataContractVersions { withdrawals: 1, @@ -1232,8 +1278,12 @@ pub const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { fee_version: FEE_VERSION1, system_limits: SystemLimits { estimated_contract_max_serialized_size: 16384, - max_field_value_size: 5000, - max_state_transition_size: 20000, + max_field_value_size: 5120, //5 KiB + max_state_transition_size: 20480, //20 KiB max_transitions_in_documents_batch: 1, + withdrawal_transactions_per_block_limit: 4, + }, + consensus: ConsensusVersions { + tenderdash_consensus_version: 1, }, }; diff --git a/packages/rs-platform-version/src/version/mod.rs b/packages/rs-platform-version/src/version/mod.rs index 6422228b1d0..9ee62577518 100644 --- a/packages/rs-platform-version/src/version/mod.rs +++ b/packages/rs-platform-version/src/version/mod.rs @@ -1,7 +1,8 @@ mod protocol_version; -use crate::version::v1::PROTOCOL_VERSION_1; +use crate::version::v4::PROTOCOL_VERSION_4; pub use protocol_version::*; +mod consensus_versions; pub mod contracts; pub mod dpp_versions; pub mod drive_abci_versions; @@ -12,8 +13,11 @@ mod limits; pub mod mocks; pub mod patches; pub mod v1; +pub mod v2; +pub mod v3; +pub mod v4; pub type ProtocolVersion = u32; -pub const LATEST_VERSION: ProtocolVersion = PROTOCOL_VERSION_1; +pub const LATEST_VERSION: ProtocolVersion = PROTOCOL_VERSION_4; pub const INITIAL_PROTOCOL_VERSION: ProtocolVersion = 1; diff --git a/packages/rs-platform-version/src/version/protocol_version.rs b/packages/rs-platform-version/src/version/protocol_version.rs index dcb62784b23..c6af2ec88c0 100644 --- a/packages/rs-platform-version/src/version/protocol_version.rs +++ b/packages/rs-platform-version/src/version/protocol_version.rs @@ -14,7 +14,11 @@ use crate::version::v1::PLATFORM_V1; #[cfg(feature = "mock-versions")] use std::sync::OnceLock; +use crate::version::consensus_versions::ConsensusVersions; use crate::version::limits::SystemLimits; +use crate::version::v2::PLATFORM_V2; +use crate::version::v3::PLATFORM_V3; +use crate::version::v4::PLATFORM_V4; use crate::version::ProtocolVersion; pub use versioned_feature_core::*; @@ -31,13 +35,15 @@ pub struct PlatformVersion { pub dpp: DPPVersion, pub drive: DriveVersion, pub drive_abci: DriveAbciVersion, + pub consensus: ConsensusVersions, pub fee_version: FeeVersion, pub platform_architecture: PlatformArchitectureVersion, pub system_data_contracts: SystemDataContractVersions, pub system_limits: SystemLimits, } -pub const PLATFORM_VERSIONS: &[PlatformVersion] = &[PLATFORM_V1]; +pub const PLATFORM_VERSIONS: &[PlatformVersion] = + &[PLATFORM_V1, PLATFORM_V2, PLATFORM_V3, PLATFORM_V4]; #[cfg(feature = "mock-versions")] // We use OnceLock to be able to modify the version mocks @@ -45,7 +51,9 @@ pub static PLATFORM_TEST_VERSIONS: OnceLock> = OnceLock::ne #[cfg(feature = "mock-versions")] const DEFAULT_PLATFORM_TEST_VERSIONS: &[PlatformVersion] = &[TEST_PLATFORM_V2, TEST_PLATFORM_V3]; -pub const LATEST_PLATFORM_VERSION: &PlatformVersion = &PLATFORM_V1; +pub const LATEST_PLATFORM_VERSION: &PlatformVersion = &PLATFORM_V4; + +pub const DESIRED_PLATFORM_VERSION: &PlatformVersion = LATEST_PLATFORM_VERSION; impl PlatformVersion { pub fn get<'a>(version: ProtocolVersion) -> Result<&'a Self, PlatformVersionError> { @@ -76,6 +84,26 @@ impl PlatformVersion { } } + pub fn get_optional<'a>(version: ProtocolVersion) -> Option<&'a Self> { + if version > 0 { + #[cfg(feature = "mock-versions")] + { + if version >> TEST_PROTOCOL_VERSION_SHIFT_BYTES > 0 { + let test_version = version - (1 << TEST_PROTOCOL_VERSION_SHIFT_BYTES); + + // Init default set of test versions + let versions = PLATFORM_TEST_VERSIONS + .get_or_init(|| vec![TEST_PLATFORM_V2, TEST_PLATFORM_V3]); + + return versions.get(test_version as usize - 2); + } + } + PLATFORM_VERSIONS.get(version as usize - 1) + } else { + None + } + } + pub fn get_version_or_latest<'a>( version: Option, ) -> Result<&'a Self, PlatformVersionError> { diff --git a/packages/rs-platform-version/src/version/v1.rs b/packages/rs-platform-version/src/version/v1.rs index e0b890a43b2..b9d9eda4648 100644 --- a/packages/rs-platform-version/src/version/v1.rs +++ b/packages/rs-platform-version/src/version/v1.rs @@ -1,11 +1,12 @@ +use crate::version::consensus_versions::ConsensusVersions; use crate::version::contracts::SystemDataContractVersions; use crate::version::dpp_versions::{ - AssetLockVersions, ContractVersions, CostVersions, DPPValidationVersions, DPPVersion, - DataContractMethodVersions, DataContractValidationVersions, DocumentFeatureVersionBounds, - DocumentMethodVersions, DocumentTransitionVersions, DocumentTypeClassMethodVersions, - DocumentTypeIndexVersions, DocumentTypeMethodVersions, DocumentTypeSchemaVersions, - DocumentTypeValidationVersions, DocumentTypeVersions, DocumentVersions, - DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, + AssetLockVersions, ContractVersions, CostVersions, DPPMethodVersions, DPPValidationVersions, + DPPVersion, DataContractMethodVersions, DataContractValidationVersions, + DocumentFeatureVersionBounds, DocumentMethodVersions, DocumentTransitionVersions, + DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, + DocumentTypeSchemaVersions, DocumentTypeValidationVersions, DocumentTypeVersions, + DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, @@ -16,7 +17,7 @@ use crate::version::drive_abci_versions::{ DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreChainLockMethodVersionsAndConstants, - DriveAbciCoreInstantSendLockMethodVersions, DriveAbciCoreSubsidyMethodVersions, + DriveAbciCoreInstantSendLockMethodVersions, DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, DriveAbciFeePoolOutwardsDistributionMethodVersions, @@ -25,7 +26,7 @@ use crate::version::drive_abci_versions::{ DriveAbciPlatformStateStorageMethodVersions, DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, DriveAbciQueryIdentityVersions, DriveAbciQueryPrefundedSpecializedBalancesVersions, DriveAbciQuerySystemVersions, - DriveAbciQueryVersions, DriveAbciQueryVotingVersions, + DriveAbciQueryValidatorVersions, DriveAbciQueryVersions, DriveAbciQueryVotingVersions, DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, @@ -126,7 +127,8 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { get_epoch_start_block_core_height: 0, get_epoch_start_block_height: 0, get_first_epoch_start_block_info_between_epochs: 0, - get_epoch_proposers: 0, + fetch_epoch_proposers: 0, + prove_epoch_proposers: 0, get_epochs_proposer_block_count: 0, add_update_pending_epoch_refunds_operations: 0, is_epochs_proposers_tree_empty: 0, @@ -138,9 +140,9 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { add_update_pending_epoch_refunds_operations: 0, }, storage_fee_distribution_pool: - DriveCreditPoolStorageFeeDistributionPoolMethodVersions { - get_storage_fees_from_distribution_pool: 0, - }, + DriveCreditPoolStorageFeeDistributionPoolMethodVersions { + get_storage_fees_from_distribution_pool: 0, + }, unpaid_epoch: DriveCreditPoolUnpaidEpochMethodVersions { get_unpaid_epoch_index: 0, }, @@ -166,7 +168,7 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { calculate_total_credits_balance: 0, }, document: DriveDocumentMethodVersions { - query: DriveDocumentQueryMethodVersions { query_documents: 0 }, + query: DriveDocumentQueryMethodVersions { query_documents: 0, query_contested_documents: 0, query_contested_documents_vote_state: 0, query_documents_with_flags: 0 }, delete: DriveDocumentDeleteMethodVersions { add_estimation_costs_for_remove_document_to_primary_storage: 0, delete_document_for_contract: 0, @@ -241,6 +243,8 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { remove_contested_resource_vote_poll_votes_operations: 0, remove_contested_resource_vote_poll_documents_operations: 0, remove_contested_resource_vote_poll_contenders_operations: 0, + remove_contested_resource_top_level_index_operations: 0, + remove_contested_resource_info_operations: 0, }, setup: DriveVoteSetupMethodVersions { add_initial_vote_tree_main_structure_operations: 0, @@ -314,6 +318,7 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { verify_identity_nonce: 0, verify_identity_contract_nonce: 0, verify_identities_contract_keys: 0, + verify_identity_revision_for_identity_id: 0, }, single_document: DriveVerifySingleDocumentMethodVersions { verify_proof: 0, @@ -321,7 +326,9 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { }, system: DriveVerifySystemMethodVersions { verify_epoch_infos: 0, + verify_epoch_proposers: 0, verify_elements: 0, + verify_total_credits_in_system: 0, verify_upgrade_state: 0, verify_upgrade_vote_status: 0, }, @@ -406,14 +413,14 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { replace_key_in_storage: 0, }, insert_key_hash_identity_reference: - DriveIdentityKeyHashesToIdentityInsertMethodVersions { - add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, - add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, - insert_non_unique_public_key_hash_reference_to_identity: 0, - insert_reference_to_non_unique_key: 0, - insert_reference_to_unique_key: 0, - insert_unique_public_key_hash_reference_to_identity: 0, - }, + DriveIdentityKeyHashesToIdentityInsertMethodVersions { + add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, + add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, + insert_non_unique_public_key_hash_reference_to_identity: 0, + insert_reference_to_non_unique_key: 0, + insert_reference_to_unique_key: 0, + insert_unique_public_key_hash_reference_to_identity: 0, + }, }, update: DriveIdentityUpdateMethodVersions { update_identity_revision: 0, @@ -431,12 +438,14 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { add_to_previous_balance: 0, apply_balance_change_from_fee_to_identity: 0, remove_from_identity_balance: 0, + refresh_identity_key_reference_operations: 0, }, insert: DriveIdentityInsertMethodVersions { add_new_identity: 0, }, contract_info: DriveIdentityContractInfoMethodVersions { add_potential_contract_info_for_contract_bounded_key: 0, + refresh_potential_contract_info_key_references: 0, merge_identity_contract_nonce: 0, }, cost_estimation: DriveIdentityCostEstimationMethodVersions { @@ -491,26 +500,26 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { }, }, convert_to_high_level_operations: - DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { - data_contract_create_transition: 0, - data_contract_update_transition: 0, - document_create_transition: 0, - document_delete_transition: 0, - document_purchase_transition: 0, - document_replace_transition: 0, - document_transfer_transition: 0, - document_update_price_transition: 0, - documents_batch_transition: 0, - identity_create_transition: 0, - identity_credit_transfer_transition: 0, - identity_credit_withdrawal_transition: 0, - identity_top_up_transition: 0, - identity_update_transition: 0, - masternode_vote_transition: 0, - bump_identity_data_contract_nonce: 0, - bump_identity_nonce: 0, - partially_use_asset_lock: 0, - }, + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { + data_contract_create_transition: 0, + data_contract_update_transition: 0, + document_create_transition: 0, + document_delete_transition: 0, + document_purchase_transition: 0, + document_replace_transition: 0, + document_transfer_transition: 0, + document_update_price_transition: 0, + documents_batch_transition: 0, + identity_create_transition: 0, + identity_credit_transfer_transition: 0, + identity_credit_withdrawal_transition: 0, + identity_top_up_transition: 0, + identity_update_transition: 0, + masternode_vote_transition: 0, + bump_identity_data_contract_nonce: 0, + bump_identity_nonce: 0, + partially_use_asset_lock: 0, + }, }, batch_operations: DriveBatchOperationsMethodVersion { convert_drive_operations_to_grove_operations: 0, @@ -597,6 +606,7 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { check_tx: 0, run_block_proposal: 0, finalize_block_proposal: 0, + consensus_params_update: 0, }, initialization: DriveAbciInitializationMethodVersions { initial_core_height_and_time: 0, @@ -609,7 +619,7 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions { get_voter_identity_key: 0, get_operator_identity_keys: 0, - get_owner_identity_key: 0, + get_owner_identity_withdrawal_key: 0, get_voter_identifier_from_masternode_list_item: 0, get_operator_identifier_from_masternode_list_item: 0, create_operator_identity: 0, @@ -631,9 +641,6 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { add_process_epoch_change_operations: 0, process_block_fees: 0, }, - core_subsidy: DriveAbciCoreSubsidyMethodVersions { - epoch_core_reward_credits_for_distribution: 0, - }, core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants { choose_quorum: 0, verify_chain_lock: 0, @@ -741,25 +748,25 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { transform_into_action: 0, }, identity_credit_withdrawal_state_transition: - DriveAbciStateTransitionValidationVersion { - basic_structure: Some(0), - advanced_structure: None, - identity_signatures: None, - advanced_minimum_balance_pre_check: Some(0), - nonce: Some(0), - state: 0, - transform_into_action: 0, - }, + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, identity_credit_transfer_state_transition: - DriveAbciStateTransitionValidationVersion { - basic_structure: Some(0), - advanced_structure: None, - identity_signatures: None, - advanced_minimum_balance_pre_check: Some(0), - nonce: Some(0), - state: 0, - transform_into_action: 0, - }, + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, masternode_vote_state_transition: DriveAbciStateTransitionValidationVersion { basic_structure: None, advanced_structure: Some(0), @@ -788,38 +795,39 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { transform_into_action: 0, }, documents_batch_state_transition: - DriveAbciDocumentsStateTransitionValidationVersions { - balance_pre_check: 0, - basic_structure: 0, - advanced_structure: 0, - state: 0, - revision: 0, - transform_into_action: 0, - data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { - bindings: 0, - triggers: DriveAbciValidationDataTriggerVersions { - create_contact_request_data_trigger: 0, - create_domain_data_trigger: 0, - create_identity_data_trigger: 0, - create_feature_flag_data_trigger: 0, - create_masternode_reward_shares_data_trigger: 0, - delete_withdrawal_data_trigger: 0, - reject_data_trigger: 0, - }, + DriveAbciDocumentsStateTransitionValidationVersions { + balance_pre_check: 0, + basic_structure: 0, + advanced_structure: 0, + state: 0, + revision: 0, + transform_into_action: 0, + data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { + bindings: 0, + triggers: DriveAbciValidationDataTriggerVersions { + create_contact_request_data_trigger: 0, + create_domain_data_trigger: 0, + create_identity_data_trigger: 0, + create_feature_flag_data_trigger: 0, + create_masternode_reward_shares_data_trigger: 0, + delete_withdrawal_data_trigger: 0, + reject_data_trigger: 0, }, - document_create_transition_structure_validation: 0, - document_delete_transition_structure_validation: 0, - document_replace_transition_structure_validation: 0, - document_transfer_transition_structure_validation: 0, - document_purchase_transition_structure_validation: 0, - document_update_price_transition_structure_validation: 0, - document_create_transition_state_validation: 0, - document_delete_transition_state_validation: 0, - document_replace_transition_state_validation: 0, - document_transfer_transition_state_validation: 0, - document_purchase_transition_state_validation: 0, - document_update_price_transition_state_validation: 0, }, + is_allowed: 0, + document_create_transition_structure_validation: 0, + document_delete_transition_structure_validation: 0, + document_replace_transition_structure_validation: 0, + document_transfer_transition_structure_validation: 0, + document_purchase_transition_structure_validation: 0, + document_update_price_transition_structure_validation: 0, + document_create_transition_state_validation: 0, + document_delete_transition_state_validation: 0, + document_replace_transition_state_validation: 0, + document_transfer_transition_state_validation: 0, + document_purchase_transition_state_validation: 0, + document_update_price_transition_state_validation: 0, + }, }, process_state_transition: 0, state_transition_to_execution_event_for_check_tx: 0, @@ -885,6 +893,11 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + identities_balances: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, balance_and_revision: FeatureVersionBounds { min_version: 0, max_version: 0, @@ -896,6 +909,18 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + validator_queries: DriveAbciQueryValidatorVersions { + proposed_block_counts_by_evonode_ids: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + proposed_block_counts_by_range: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, data_contract_based_queries: DriveAbciQueryDataContractVersions { data_contract: FeatureVersionBounds { min_version: 0, @@ -956,11 +981,26 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + current_quorums_info: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + partial_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, path_elements: FeatureVersionBounds { min_version: 0, max_version: 0, default_current_version: 0, }, + total_credits_in_platform: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, }, }, }, @@ -989,7 +1029,8 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { unique_index_limit: 10, }, voting: VotingValidationVersions { - allow_other_contenders_time_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_mainnet_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_testing_ms: 604_800_000, // 1 week in ms for v1 (changes in v2) votes_allowed_per_masternode: 5, }, }, @@ -1121,9 +1162,9 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { max_public_keys_in_creation: 6, asset_locks: IdentityTransitionAssetLockVersions { required_asset_lock_duff_balance_for_processing_start_for_identity_create: - 200000, + 200000, required_asset_lock_duff_balance_for_processing_start_for_identity_top_up: - 50000, + 50000, validate_asset_lock_transaction_structure: 0, validate_instant_asset_lock_proof_structure: 0, }, @@ -1199,6 +1240,7 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { hash: 0, get_raw_for_contract: 0, get_raw_for_document_type: 0, + try_into_asset_unlock_base_transaction_info: 0, }, }, identity_versions: IdentityVersions { @@ -1210,7 +1252,8 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { }, }, voting_versions: VotingVersions { - default_vote_poll_time_duration_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_mainnet_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_test_network_ms: 1_209_600_000, //2 weeks contested_document_vote_poll_stored_info_version: 0, }, asset_lock_versions: AssetLockVersions { @@ -1220,6 +1263,9 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + methods: DPPMethodVersions { + epoch_core_reward_credits_for_distribution: 0, + }, }, system_data_contracts: SystemDataContractVersions { withdrawals: 1, @@ -1234,5 +1280,9 @@ pub const PLATFORM_V1: PlatformVersion = PlatformVersion { max_field_value_size: 5120, //5 KiB max_state_transition_size: 20480, //20 KiB max_transitions_in_documents_batch: 1, + withdrawal_transactions_per_block_limit: 4, + }, + consensus: ConsensusVersions { + tenderdash_consensus_version: 0, }, }; diff --git a/packages/rs-platform-version/src/version/v2.rs b/packages/rs-platform-version/src/version/v2.rs new file mode 100644 index 00000000000..2f80cedf64a --- /dev/null +++ b/packages/rs-platform-version/src/version/v2.rs @@ -0,0 +1,1288 @@ +use crate::version::consensus_versions::ConsensusVersions; +use crate::version::contracts::SystemDataContractVersions; +use crate::version::dpp_versions::{ + AssetLockVersions, ContractVersions, CostVersions, DPPMethodVersions, DPPValidationVersions, + DPPVersion, DataContractMethodVersions, DataContractValidationVersions, + DocumentFeatureVersionBounds, DocumentMethodVersions, DocumentTransitionVersions, + DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, + DocumentTypeSchemaVersions, DocumentTypeValidationVersions, DocumentTypeVersions, + DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, + IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, + IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, + RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, + StateTransitionMethodVersions, StateTransitionSerializationVersions, StateTransitionVersions, + VotingValidationVersions, VotingVersions, +}; +use crate::version::drive_abci_versions::{ + DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, + DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, + DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreChainLockMethodVersionsAndConstants, + DriveAbciCoreInstantSendLockMethodVersions, + DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, + DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, + DriveAbciFeePoolOutwardsDistributionMethodVersions, + DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, + DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, + DriveAbciPlatformStateStorageMethodVersions, DriveAbciProtocolUpgradeMethodVersions, + DriveAbciQueryDataContractVersions, DriveAbciQueryIdentityVersions, + DriveAbciQueryPrefundedSpecializedBalancesVersions, DriveAbciQuerySystemVersions, + DriveAbciQueryValidatorVersions, DriveAbciQueryVersions, DriveAbciQueryVotingVersions, + DriveAbciStateTransitionCommonValidationVersions, + DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, + DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, + DriveAbciValidationConstants, DriveAbciValidationDataTriggerAndBindingVersions, + DriveAbciValidationDataTriggerVersions, DriveAbciValidationVersions, DriveAbciVersion, + DriveAbciVotingMethodVersions, PenaltyAmounts, +}; +use crate::version::drive_versions::{ + DriveAssetLockMethodVersions, DriveBalancesMethodVersions, DriveBatchOperationsMethodVersion, + DriveContractApplyMethodVersions, DriveContractCostsMethodVersions, + DriveContractGetMethodVersions, DriveContractInsertMethodVersions, DriveContractMethodVersions, + DriveContractProveMethodVersions, DriveContractUpdateMethodVersions, + DriveCreditPoolEpochsMethodVersions, DriveCreditPoolMethodVersions, + DriveCreditPoolPendingEpochRefundsMethodVersions, + DriveCreditPoolStorageFeeDistributionPoolMethodVersions, + DriveCreditPoolUnpaidEpochMethodVersions, DriveDataContractOperationMethodVersions, + DriveDocumentDeleteMethodVersions, DriveDocumentEstimationCostsMethodVersions, + DriveDocumentIndexUniquenessMethodVersions, DriveDocumentInsertContestedMethodVersions, + DriveDocumentInsertMethodVersions, DriveDocumentMethodVersions, + DriveDocumentQueryMethodVersions, DriveDocumentUpdateMethodVersions, + DriveEstimatedCostsMethodVersions, DriveFeesMethodVersions, DriveFetchMethodVersions, + DriveGroveApplyMethodVersions, DriveGroveBasicMethodVersions, DriveGroveBatchMethodVersions, + DriveGroveCostMethodVersions, DriveGroveMethodVersions, + DriveIdentityContractInfoMethodVersions, DriveIdentityCostEstimationMethodVersions, + DriveIdentityFetchAttributesMethodVersions, DriveIdentityFetchFullIdentityMethodVersions, + DriveIdentityFetchMethodVersions, DriveIdentityFetchPartialIdentityMethodVersions, + DriveIdentityFetchPublicKeyHashesMethodVersions, DriveIdentityInsertMethodVersions, + DriveIdentityKeyHashesToIdentityInsertMethodVersions, DriveIdentityKeysFetchMethodVersions, + DriveIdentityKeysInsertMethodVersions, DriveIdentityKeysMethodVersions, + DriveIdentityKeysProveMethodVersions, DriveIdentityMethodVersions, + DriveIdentityProveMethodVersions, DriveIdentityUpdateMethodVersions, + DriveIdentityWithdrawalDocumentMethodVersions, DriveIdentityWithdrawalMethodVersions, + DriveIdentityWithdrawalTransactionIndexMethodVersions, + DriveIdentityWithdrawalTransactionMethodVersions, + DriveIdentityWithdrawalTransactionQueueMethodVersions, DriveInitializationMethodVersions, + DriveMethodVersions, DriveOperationsMethodVersion, DrivePlatformStateMethodVersions, + DrivePlatformSystemMethodVersions, DrivePrefundedSpecializedMethodVersions, + DriveProtocolUpgradeVersions, DriveProveMethodVersions, + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions, + DriveStateTransitionMethodVersions, DriveStateTransitionOperationMethodVersions, + DriveStructureVersion, DriveSystemEstimationCostsMethodVersions, + DriveVerifyContractMethodVersions, DriveVerifyDocumentMethodVersions, + DriveVerifyIdentityMethodVersions, DriveVerifyMethodVersions, + DriveVerifySingleDocumentMethodVersions, DriveVerifyStateTransitionMethodVersions, + DriveVerifySystemMethodVersions, DriveVerifyVoteMethodVersions, DriveVersion, + DriveVoteCleanupMethodVersions, DriveVoteContestedResourceInsertMethodVersions, + DriveVoteFetchMethodVersions, DriveVoteInsertMethodVersions, DriveVoteMethodVersions, + DriveVoteSetupMethodVersions, DriveVoteStorageFormMethodVersions, +}; +use crate::version::fee::v1::FEE_VERSION1; +use crate::version::limits::SystemLimits; +use crate::version::protocol_version::{FeatureVersionBounds, PlatformVersion}; +use crate::version::{PlatformArchitectureVersion, ProtocolVersion}; +use grovedb_version::version::v1::GROVE_V1; + +pub const PROTOCOL_VERSION_2: ProtocolVersion = 2; + +pub const PLATFORM_V2: PlatformVersion = PlatformVersion { + protocol_version: 2, + proofs: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + drive: DriveVersion { + structure: DriveStructureVersion { + document_indexes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_indexes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + pools: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + methods: DriveMethodVersions { + initialization: DriveInitializationMethodVersions { + create_initial_state_structure: 0, + }, + credit_pools: DriveCreditPoolMethodVersions { + epochs: DriveCreditPoolEpochsMethodVersions { + get_epochs_infos: 0, + get_epochs_protocol_versions: 0, + prove_epochs_infos: 0, + get_epoch_fee_multiplier: 0, + get_epoch_processing_credits_for_distribution: 0, + get_epoch_storage_credits_for_distribution: 0, + get_epoch_total_credits_for_distribution: 0, + get_storage_credits_for_distribution_for_epochs_in_range: 0, + get_epoch_start_time: 0, + get_epoch_start_block_core_height: 0, + get_epoch_start_block_height: 0, + get_first_epoch_start_block_info_between_epochs: 0, + fetch_epoch_proposers: 0, + prove_epoch_proposers: 0, + get_epochs_proposer_block_count: 0, + add_update_pending_epoch_refunds_operations: 0, + is_epochs_proposers_tree_empty: 0, + }, + pending_epoch_refunds: DriveCreditPoolPendingEpochRefundsMethodVersions { + add_delete_pending_epoch_refunds_except_specified: 0, + fetch_and_add_pending_epoch_refunds_to_collection: 0, + fetch_pending_epoch_refunds: 0, + add_update_pending_epoch_refunds_operations: 0, + }, + storage_fee_distribution_pool: + DriveCreditPoolStorageFeeDistributionPoolMethodVersions { + get_storage_fees_from_distribution_pool: 0, + }, + unpaid_epoch: DriveCreditPoolUnpaidEpochMethodVersions { + get_unpaid_epoch_index: 0, + }, + }, + protocol_upgrade: DriveProtocolUpgradeVersions { + clear_version_information: 0, + fetch_versions_with_counter: 0, + fetch_proved_versions_with_counter: 0, + fetch_validator_version_votes: 0, + fetch_proved_validator_version_votes: 0, + remove_validators_proposed_app_versions: 0, + update_validator_proposed_app_version: 0, + }, + prove: DriveProveMethodVersions { + prove_elements: 0, + prove_multiple_state_transition_results: 0, + }, + balances: DriveBalancesMethodVersions { + add_to_system_credits: 0, + add_to_system_credits_operations: 0, + remove_from_system_credits: 0, + remove_from_system_credits_operations: 0, + calculate_total_credits_balance: 0, + }, + document: DriveDocumentMethodVersions { + query: DriveDocumentQueryMethodVersions { query_documents: 0, query_contested_documents: 0, query_contested_documents_vote_state: 0, query_documents_with_flags: 0 }, + delete: DriveDocumentDeleteMethodVersions { + add_estimation_costs_for_remove_document_to_primary_storage: 0, + delete_document_for_contract: 0, + delete_document_for_contract_id: 0, + delete_document_for_contract_apply_and_add_to_operations: 0, + remove_document_from_primary_storage: 0, + remove_reference_for_index_level_for_contract_operations: 0, + remove_indices_for_index_level_for_contract_operations: 0, + remove_indices_for_top_index_level_for_contract_operations: 0, + delete_document_for_contract_id_with_named_type_operations: 0, + delete_document_for_contract_with_named_type_operations: 0, + delete_document_for_contract_operations: 0, + }, + insert: DriveDocumentInsertMethodVersions { + add_document: 0, + add_document_for_contract: 0, + add_document_for_contract_apply_and_add_to_operations: 0, + add_document_for_contract_operations: 0, + add_document_to_primary_storage: 0, + add_indices_for_index_level_for_contract_operations: 0, + add_indices_for_top_index_level_for_contract_operations: 0, + add_reference_for_index_level_for_contract_operations: 0, + }, + insert_contested: DriveDocumentInsertContestedMethodVersions { + add_contested_document: 0, + add_contested_document_for_contract: 0, + add_contested_document_for_contract_apply_and_add_to_operations: 0, + add_contested_document_for_contract_operations: 0, + add_contested_document_to_primary_storage: 0, + add_contested_indices_for_contract_operations: 0, + add_contested_reference_and_vote_subtree_to_document_operations: 0, + add_contested_vote_subtree_for_non_identities_operations: 0, + }, + update: DriveDocumentUpdateMethodVersions { + add_update_multiple_documents_operations: 0, + update_document_for_contract: 0, + update_document_for_contract_apply_and_add_to_operations: 0, + update_document_for_contract_id: 0, + update_document_for_contract_operations: 0, + update_document_with_serialization_for_contract: 0, + update_serialized_document_for_contract: 0, + }, + estimation_costs: DriveDocumentEstimationCostsMethodVersions { + add_estimation_costs_for_add_document_to_primary_storage: 0, + add_estimation_costs_for_add_contested_document_to_primary_storage: 0, + stateless_delete_of_non_tree_for_costs: 0, + }, + index_uniqueness: DriveDocumentIndexUniquenessMethodVersions { + validate_document_uniqueness: 0, + validate_document_create_transition_action_uniqueness: 0, + validate_document_replace_transition_action_uniqueness: 0, + validate_document_transfer_transition_action_uniqueness: 0, + validate_document_purchase_transition_action_uniqueness: 0, + validate_document_update_price_transition_action_uniqueness: 0, + validate_uniqueness_of_data: 0, + }, + }, + vote: DriveVoteMethodVersions { + insert: DriveVoteInsertMethodVersions { + register_identity_vote: 0, + }, + contested_resource_insert: DriveVoteContestedResourceInsertMethodVersions { + register_contested_resource_identity_vote: 0, + insert_stored_info_for_contested_resource_vote_poll: 0, + register_identity_vote: 0, + add_vote_poll_end_date_query_operations: 0, + }, + cleanup: DriveVoteCleanupMethodVersions { + remove_specific_vote_references_given_by_identity: 0, + remove_specific_votes_given_by_identity: 0, + remove_contested_resource_vote_poll_end_date_query_operations: 1, + remove_contested_resource_vote_poll_votes_operations: 0, + remove_contested_resource_vote_poll_documents_operations: 1, + remove_contested_resource_vote_poll_contenders_operations: 1, + remove_contested_resource_top_level_index_operations: 0, + remove_contested_resource_info_operations: 0, + }, + setup: DriveVoteSetupMethodVersions { + add_initial_vote_tree_main_structure_operations: 0, + }, + storage_form: DriveVoteStorageFormMethodVersions { + resolve_with_contract: 0, + }, + fetch: DriveVoteFetchMethodVersions { + fetch_identities_voting_for_contenders: 0, + fetch_contested_document_vote_poll_stored_info: 0, + fetch_identity_contested_resource_vote: 0, + }, + }, + contract: DriveContractMethodVersions { + prove: DriveContractProveMethodVersions { + prove_contract: 0, + prove_contract_history: 0, + prove_contracts: 0, + }, + apply: DriveContractApplyMethodVersions { + apply_contract: 0, + apply_contract_with_serialization: 0, + }, + insert: DriveContractInsertMethodVersions { + add_contract_to_storage: 0, + insert_contract: 0, + }, + update: DriveContractUpdateMethodVersions { update_contract: 0 }, + costs: DriveContractCostsMethodVersions { + add_estimation_costs_for_contract_insertion: 0, + }, + get: DriveContractGetMethodVersions { + fetch_contract: 0, + fetch_contract_with_history: 0, + get_cached_contract_with_fetch_info: 0, + get_contract_with_fetch_info: 0, + get_contracts_with_fetch_info: 0, + }, + }, + fees: DriveFeesMethodVersions { calculate_fee: 0 }, + estimated_costs: DriveEstimatedCostsMethodVersions { + add_estimation_costs_for_levels_up_to_contract: 0, + add_estimation_costs_for_levels_up_to_contract_document_type_excluded: 0, + add_estimation_costs_for_contested_document_tree_levels_up_to_contract: 0, + add_estimation_costs_for_contested_document_tree_levels_up_to_contract_document_type_excluded: 0, + }, + asset_lock: DriveAssetLockMethodVersions { + add_asset_lock_outpoint: 0, + add_estimation_costs_for_adding_asset_lock: 0, + fetch_asset_lock_outpoint_info: 0, + }, + verify: DriveVerifyMethodVersions { + contract: DriveVerifyContractMethodVersions { + verify_contract: 0, + verify_contract_history: 0, + }, + document: DriveVerifyDocumentMethodVersions { + verify_proof: 0, + verify_proof_keep_serialized: 0, + verify_start_at_document_in_proof: 0, + }, + identity: DriveVerifyIdentityMethodVersions { + verify_full_identities_by_public_key_hashes: 0, + verify_full_identity_by_identity_id: 0, + verify_full_identity_by_public_key_hash: 0, + verify_identity_balance_for_identity_id: 0, + verify_identity_balances_for_identity_ids: 0, + verify_identity_id_by_public_key_hash: 0, + verify_identity_ids_by_public_key_hashes: 0, + verify_identity_keys_by_identity_id: 0, + verify_identity_nonce: 0, + verify_identity_contract_nonce: 0, + verify_identities_contract_keys: 0, + verify_identity_revision_for_identity_id: 0, + }, + single_document: DriveVerifySingleDocumentMethodVersions { + verify_proof: 0, + verify_proof_keep_serialized: 0, + }, + system: DriveVerifySystemMethodVersions { + verify_epoch_infos: 0, + verify_epoch_proposers: 0, + verify_elements: 0, + verify_total_credits_in_system: 0, + verify_upgrade_state: 0, + verify_upgrade_vote_status: 0, + }, + voting: DriveVerifyVoteMethodVersions { + verify_masternode_vote: 0, + verify_start_at_contender_in_proof: 0, + verify_vote_poll_votes_proof: 0, + verify_identity_votes_given_proof: 0, + verify_vote_poll_vote_state_proof: 0, + verify_contests_proof: 0, + verify_vote_polls_by_end_date_proof: 0, + verify_specialized_balance: 0, + }, + state_transition: DriveVerifyStateTransitionMethodVersions { + verify_state_transition_was_executed_with_proof: 0, + }, + }, + identity: DriveIdentityMethodVersions { + fetch: DriveIdentityFetchMethodVersions { + public_key_hashes: DriveIdentityFetchPublicKeyHashesMethodVersions { + fetch_full_identities_by_unique_public_key_hashes: 0, + fetch_full_identity_by_unique_public_key_hash: 0, + fetch_identity_id_by_unique_public_key_hash: 0, + fetch_identity_ids_by_non_unique_public_key_hash: 0, + fetch_identity_ids_by_unique_public_key_hashes: 0, + fetch_serialized_full_identity_by_unique_public_key_hash: 0, + has_any_of_unique_public_key_hashes: 0, + has_non_unique_public_key_hash: 0, + has_non_unique_public_key_hash_already_for_identity: 0, + has_unique_public_key_hash: 0, + }, + attributes: DriveIdentityFetchAttributesMethodVersions { + revision: 0, + nonce: 0, + identity_contract_nonce: 0, + balance: 0, + balance_include_debt: 0, + negative_balance: 0, + }, + partial_identity: DriveIdentityFetchPartialIdentityMethodVersions { + fetch_identity_revision_with_keys: 0, + fetch_identity_balance_with_keys: 0, + fetch_identity_balance_with_keys_and_revision: 0, + fetch_identity_with_balance: 0, + fetch_identity_keys: 0, + }, + full_identity: DriveIdentityFetchFullIdentityMethodVersions { + fetch_full_identity: Some(0), + fetch_full_identities: Some(0), + }, + }, + prove: DriveIdentityProveMethodVersions { + full_identity: 0, + full_identities: 0, + identity_nonce: 0, + identity_contract_nonce: 0, + identities_contract_keys: 0, + prove_full_identities_by_unique_public_key_hashes: 0, + prove_full_identity_by_unique_public_key_hash: 0, + prove_identity_id_by_unique_public_key_hash: 0, + prove_identity_ids_by_unique_public_key_hashes: 0, + }, + keys: DriveIdentityKeysMethodVersions { + fetch: DriveIdentityKeysFetchMethodVersions { + fetch_all_current_identity_keys: 0, + fetch_all_identity_keys: 0, + fetch_identities_all_keys: 0, + fetch_identity_keys: 0, + fetch_identities_contract_keys: 0, + }, + prove: DriveIdentityKeysProveMethodVersions { + prove_identities_all_keys: 0, + prove_identity_keys: 0, + }, + insert: DriveIdentityKeysInsertMethodVersions { + create_key_tree_with_keys: 0, + create_new_identity_key_query_trees: 0, + insert_key_searchable_references: 0, + insert_key_to_storage: 0, + insert_new_non_unique_key: 0, + insert_new_unique_key: 0, + replace_key_in_storage: 0, + }, + insert_key_hash_identity_reference: + DriveIdentityKeyHashesToIdentityInsertMethodVersions { + add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, + add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, + insert_non_unique_public_key_hash_reference_to_identity: 0, + insert_reference_to_non_unique_key: 0, + insert_reference_to_unique_key: 0, + insert_unique_public_key_hash_reference_to_identity: 0, + }, + }, + update: DriveIdentityUpdateMethodVersions { + update_identity_revision: 0, + merge_identity_nonce: 0, + update_identity_negative_credit_operation: 0, + initialize_identity_revision: 0, + disable_identity_keys: 0, + re_enable_identity_keys: 0, + add_new_non_unique_keys_to_identity: 0, + add_new_unique_keys_to_identity: 0, + add_new_keys_to_identity: 0, + insert_identity_balance: 0, + initialize_negative_identity_balance: 0, + add_to_identity_balance: 0, + add_to_previous_balance: 0, + apply_balance_change_from_fee_to_identity: 0, + remove_from_identity_balance: 0, + refresh_identity_key_reference_operations: 0, + }, + insert: DriveIdentityInsertMethodVersions { + add_new_identity: 0, + }, + contract_info: DriveIdentityContractInfoMethodVersions { + add_potential_contract_info_for_contract_bounded_key: 0, + refresh_potential_contract_info_key_references: 0, + merge_identity_contract_nonce: 0, + }, + cost_estimation: DriveIdentityCostEstimationMethodVersions { + for_authentication_keys_security_level_in_key_reference_tree: 0, + for_balances: 0, + for_contract_info: 0, + for_contract_info_group: 0, + for_contract_info_group_keys: 0, + for_contract_info_group_key_purpose: 0, + for_keys_for_identity_id: 0, + for_negative_credit: 0, + for_purpose_in_key_reference_tree: 0, + for_root_key_reference_tree: 0, + for_update_revision: 0, + }, + withdrawals: DriveIdentityWithdrawalMethodVersions { + document: DriveIdentityWithdrawalDocumentMethodVersions { + fetch_oldest_withdrawal_documents_by_status: 0, + find_up_to_100_withdrawal_documents_by_status_and_transaction_indices: 0, + }, + transaction: DriveIdentityWithdrawalTransactionMethodVersions { + index: DriveIdentityWithdrawalTransactionIndexMethodVersions { + fetch_next_withdrawal_transaction_index: 0, + add_update_next_withdrawal_transaction_index_operation: 0, + }, + queue: DriveIdentityWithdrawalTransactionQueueMethodVersions { + add_enqueue_untied_withdrawal_transaction_operations: 0, + dequeue_untied_withdrawal_transactions: 0, + }, + }, + }, + }, + platform_system: DrivePlatformSystemMethodVersions { + estimation_costs: DriveSystemEstimationCostsMethodVersions { + for_total_system_credits_update: 0, + }, + }, + operations: DriveOperationsMethodVersion { + rollback_transaction: 0, + drop_cache: 0, + commit_transaction: 0, + apply_partial_batch_low_level_drive_operations: 0, + apply_partial_batch_grovedb_operations: 0, + apply_batch_low_level_drive_operations: 0, + apply_batch_grovedb_operations: 0, + }, + state_transitions: DriveStateTransitionMethodVersions { + operations: DriveStateTransitionOperationMethodVersions { + finalization_tasks: 0, + contracts: DriveDataContractOperationMethodVersions { + finalization_tasks: 0, + }, + }, + convert_to_high_level_operations: + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { + data_contract_create_transition: 0, + data_contract_update_transition: 0, + document_create_transition: 0, + document_delete_transition: 0, + document_purchase_transition: 0, + document_replace_transition: 0, + document_transfer_transition: 0, + document_update_price_transition: 0, + documents_batch_transition: 0, + identity_create_transition: 0, + identity_credit_transfer_transition: 0, + identity_credit_withdrawal_transition: 0, + identity_top_up_transition: 0, + identity_update_transition: 0, + masternode_vote_transition: 0, + bump_identity_data_contract_nonce: 0, + bump_identity_nonce: 0, + partially_use_asset_lock: 0, + }, + }, + batch_operations: DriveBatchOperationsMethodVersion { + convert_drive_operations_to_grove_operations: 0, + apply_drive_operations: 0, + }, + platform_state: DrivePlatformStateMethodVersions { + fetch_platform_state_bytes: 0, + store_platform_state_bytes: 0, + }, + fetch: DriveFetchMethodVersions { fetch_elements: 0 }, + prefunded_specialized_balances: DrivePrefundedSpecializedMethodVersions { + fetch_single: 0, + prove_single: 0, + add_prefunded_specialized_balance: 0, + add_prefunded_specialized_balance_operations: 0, + deduct_from_prefunded_specialized_balance: 0, + deduct_from_prefunded_specialized_balance_operations: 0, + estimated_cost_for_prefunded_specialized_balance_update: 0, + }, + }, + grove_methods: DriveGroveMethodVersions { + basic: DriveGroveBasicMethodVersions { + grove_insert: 0, + grove_insert_empty_tree: 0, + grove_insert_empty_sum_tree: 0, + grove_insert_if_not_exists: 0, + grove_clear: 0, + grove_delete: 0, + grove_get_raw: 0, + grove_get_raw_optional: 0, + grove_get_raw_value_u64_from_encoded_var_vec: 0, + grove_get: 0, + grove_get_path_query_serialized_results: 0, + grove_get_path_query_serialized_or_sum_results: 0, + grove_get_path_query: 0, + grove_get_path_query_with_optional: 0, + grove_get_raw_path_query_with_optional: 0, + grove_get_raw_path_query: 0, + grove_get_proved_path_query: 0, + grove_get_proved_path_query_with_conditional: 0, + grove_get_sum_tree_total_value: 0, + grove_has_raw: 0, + }, + batch: DriveGroveBatchMethodVersions { + batch_insert_empty_tree: 0, + batch_insert_empty_tree_if_not_exists: 0, + batch_insert_empty_tree_if_not_exists_check_existing_operations: 0, + batch_insert: 0, + batch_insert_if_not_exists: 0, + batch_insert_if_changed_value: 0, + batch_replace: 0, + batch_delete: 0, + batch_remove_raw: 0, + batch_delete_up_tree_while_empty: 0, + batch_refresh_reference: 0, + }, + apply: DriveGroveApplyMethodVersions { + grove_apply_operation: 0, + grove_apply_batch: 0, + grove_apply_partial_batch: 0, + }, + costs: DriveGroveCostMethodVersions { + grove_batch_operations_costs: 0, + }, + }, + grove_version: GROVE_V1, + }, + platform_architecture: PlatformArchitectureVersion { + data_contract_factory_structure_version: 0, + document_factory_structure_version: 0, + }, + drive_abci: DriveAbciVersion { + structs: DriveAbciStructureVersions { + platform_state_structure: 0, + platform_state_for_saving_structure: 0, + state_transition_execution_context: 0, + commit: 0, + masternode: 0, + signature_verification_quorum_set: 0, + }, + methods: DriveAbciMethodVersions { + engine: DriveAbciEngineMethodVersions { + init_chain: 0, + check_tx: 0, + run_block_proposal: 0, + finalize_block_proposal: 0, + consensus_params_update: 0, + }, + initialization: DriveAbciInitializationMethodVersions { + initial_core_height_and_time: 0, + create_genesis_state: 0, + }, + core_based_updates: DriveAbciCoreBasedUpdatesMethodVersions { + update_core_info: 0, + update_masternode_list: 0, + update_quorum_info: 0, + masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions { + get_voter_identity_key: 0, + get_operator_identity_keys: 0, + get_owner_identity_withdrawal_key: 0, + get_voter_identifier_from_masternode_list_item: 0, + get_operator_identifier_from_masternode_list_item: 0, + create_operator_identity: 0, + create_owner_identity: 0, + create_voter_identity: 0, + disable_identity_keys: 0, + update_masternode_identities: 0, + update_operator_identity: 0, + update_owner_withdrawal_address: 0, + update_voter_identity: 0, + }, + }, + protocol_upgrade: DriveAbciProtocolUpgradeMethodVersions { + check_for_desired_protocol_upgrade: 0, + upgrade_protocol_version_on_epoch_change: 0, + protocol_version_upgrade_percentage_needed: 75, + }, + block_fee_processing: DriveAbciBlockFeeProcessingMethodVersions { + add_process_epoch_change_operations: 0, + process_block_fees: 0, + }, + core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants { + choose_quorum: 0, + verify_chain_lock: 0, + verify_chain_lock_locally: 0, + verify_chain_lock_through_core: 0, + make_sure_core_is_synced_to_chain_lock: 0, + recent_block_count_amount: 2, + }, + core_instant_send_lock: DriveAbciCoreInstantSendLockMethodVersions { + verify_recent_signature_locally: 0, + }, + fee_pool_inwards_distribution: DriveAbciFeePoolInwardsDistributionMethodVersions { + add_distribute_block_fees_into_pools_operations: 0, + add_distribute_storage_fee_to_epochs_operations: 0, + }, + fee_pool_outwards_distribution: DriveAbciFeePoolOutwardsDistributionMethodVersions { + add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations: 0, + add_epoch_pool_to_proposers_payout_operations: 0, + find_oldest_epoch_needing_payment: 0, + fetch_reward_shares_list_for_masternode: 0, + }, + withdrawals: DriveAbciIdentityCreditWithdrawalMethodVersions { + build_untied_withdrawal_transactions_from_documents: 0, + dequeue_and_build_unsigned_withdrawal_transactions: 0, + fetch_transactions_block_inclusion_status: 0, + pool_withdrawals_into_transactions_queue: 0, + update_broadcasted_withdrawal_statuses: 0, + append_signatures_and_broadcast_withdrawal_transactions: 0, + }, + voting: DriveAbciVotingMethodVersions { + keep_record_of_finished_contested_resource_vote_poll: 0, + clean_up_after_vote_poll_end: 0, + clean_up_after_contested_resources_vote_poll_end: 0, + check_for_ended_vote_polls: 0, + tally_votes_for_contested_document_resource_vote_poll: 0, + award_document_to_winner: 0, + delay_vote_poll: 0, + run_dao_platform_events: 0, + remove_votes_for_removed_masternodes: 0, + }, + state_transition_processing: DriveAbciStateTransitionProcessingMethodVersions { + execute_event: 0, + process_raw_state_transitions: 0, + decode_raw_state_transitions: 0, + validate_fees_of_event: 0, + }, + epoch: DriveAbciEpochMethodVersions { + gather_epoch_info: 0, + get_genesis_time: 0, + }, + block_start: DriveAbciBlockStartMethodVersions { + clear_drive_block_cache: 0, + }, + block_end: DriveAbciBlockEndMethodVersions { + update_state_cache: 0, + update_drive_cache: 0, + validator_set_update: 0, + }, + platform_state_storage: DriveAbciPlatformStateStorageMethodVersions { + fetch_platform_state: 0, + store_platform_state: 0, + }, + }, + validation_and_processing: DriveAbciValidationVersions { + state_transitions: DriveAbciStateTransitionValidationVersions { + common_validation_methods: DriveAbciStateTransitionCommonValidationVersions { + asset_locks: DriveAbciAssetLockValidationVersions { + fetch_asset_lock_transaction_output_sync: 0, + verify_asset_lock_is_not_spent_and_has_enough_balance: 0, + }, + validate_identity_public_key_contract_bounds: 0, + validate_identity_public_key_ids_dont_exist_in_state: 0, + validate_identity_public_key_ids_exist_in_state: 0, + validate_state_transition_identity_signed: 0, + validate_unique_identity_public_key_hashes_in_state: 0, + validate_master_key_uniqueness: 0, + validate_simple_pre_check_balance: 0, + }, + max_asset_lock_usage_attempts: 16, + identity_create_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: Some(0), + identity_signatures: Some(0), + advanced_minimum_balance_pre_check: None, + nonce: None, + state: 0, + transform_into_action: 0, + }, + identity_update_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: Some(0), + identity_signatures: Some(0), + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + identity_top_up_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: None, + state: 0, + transform_into_action: 0, + }, + identity_credit_withdrawal_state_transition: + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + identity_credit_transfer_state_transition: + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + masternode_vote_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: None, + advanced_structure: Some(0), + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + contract_create_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + contract_update_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: None, + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + documents_batch_state_transition: + DriveAbciDocumentsStateTransitionValidationVersions { + balance_pre_check: 0, + basic_structure: 0, + advanced_structure: 0, + state: 0, + revision: 0, + transform_into_action: 0, + data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { + bindings: 0, + triggers: DriveAbciValidationDataTriggerVersions { + create_contact_request_data_trigger: 0, + create_domain_data_trigger: 0, + create_identity_data_trigger: 0, + create_feature_flag_data_trigger: 0, + create_masternode_reward_shares_data_trigger: 0, + delete_withdrawal_data_trigger: 0, + reject_data_trigger: 0, + }, + }, + is_allowed: 0, + document_create_transition_structure_validation: 0, + document_delete_transition_structure_validation: 0, + document_replace_transition_structure_validation: 0, + document_transfer_transition_structure_validation: 0, + document_purchase_transition_structure_validation: 0, + document_update_price_transition_structure_validation: 0, + document_create_transition_state_validation: 1, + document_delete_transition_state_validation: 0, + document_replace_transition_state_validation: 0, + document_transfer_transition_state_validation: 0, + document_purchase_transition_state_validation: 0, + document_update_price_transition_state_validation: 0, + }, + }, + process_state_transition: 0, + state_transition_to_execution_event_for_check_tx: 0, + penalties: PenaltyAmounts { + identity_id_not_correct: 50000000, + unique_key_already_present: 10000000, + validation_of_added_keys_structure_failure: 10000000, + validation_of_added_keys_proof_of_possession_failure: 50000000, + }, + event_constants: DriveAbciValidationConstants { + maximum_vote_polls_to_process: 2, + maximum_contenders_to_consider: 100, + }, + }, + query: DriveAbciQueryVersions { + max_returned_elements: 100, + response_metadata: 0, + proofs_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + prefunded_specialized_balances: DriveAbciQueryPrefundedSpecializedBalancesVersions { + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + identity_based_queries: DriveAbciQueryIdentityVersions { + identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_contract_keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_nonce: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_contract_nonce: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_balances: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance_and_revision: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_by_public_key_hash: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + validator_queries: DriveAbciQueryValidatorVersions { + proposed_block_counts_by_evonode_ids: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + proposed_block_counts_by_range: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + data_contract_based_queries: DriveAbciQueryDataContractVersions { + data_contract: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contract_history: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contracts: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + voting_based_queries: DriveAbciQueryVotingVersions { + vote_polls_by_end_date_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_vote_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_voters_for_identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_identity_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resources: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + system: DriveAbciQuerySystemVersions { + version_upgrade_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + version_upgrade_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + epoch_infos: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + current_quorums_info: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + partial_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + path_elements: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + total_credits_in_platform: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, + }, + dpp: DPPVersion { + costs: CostVersions { + signature_verify: 0, + }, + validation: DPPValidationVersions { + json_schema_validator: JsonSchemaValidatorVersions { + new: 0, + validate: 0, + compile: 0, + compile_and_validate: 0, + }, + data_contract: DataContractValidationVersions { + validate: 0, + validate_config_update: 0, + validate_index_definitions: 0, + validate_index_naming_duplicates: 0, + validate_not_defined_properties: 0, + validate_property_definition: 0, + }, + document_type: DocumentTypeValidationVersions { + validate_update: 0, + contested_index_limit: 1, + unique_index_limit: 10, + }, + voting: VotingValidationVersions { + allow_other_contenders_time_mainnet_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_testing_ms: 2_700_000, //45 minutes + votes_allowed_per_masternode: 5, + }, + }, + state_transition_serialization_versions: StateTransitionSerializationVersions { + identity_public_key_in_creation: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_create_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_update_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_top_up_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_credit_withdrawal_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_credit_transfer_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + masternode_vote_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_create_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_update_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + documents_batch_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_base_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_create_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_replace_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_delete_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_transfer_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_update_price_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_purchase_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, + state_transition_conversion_versions: StateTransitionConversionVersions { + identity_to_identity_create_transition: 0, + identity_to_identity_top_up_transition: 0, + identity_to_identity_withdrawal_transition: 0, + identity_to_identity_create_transition_with_signer: 0, + }, + state_transition_method_versions: StateTransitionMethodVersions { + public_key_in_creation_methods: PublicKeyInCreationMethodVersions { + from_public_key_signed_with_private_key: 0, + from_public_key_signed_external: 0, + hash: 0, + duplicated_key_ids_witness: 0, + duplicated_keys_witness: 0, + validate_identity_public_keys_structure: 0, + }, + }, + state_transitions: StateTransitionVersions { + documents: DocumentTransitionVersions { + documents_batch_transition: DocumentsBatchTransitionVersions { + validation: DocumentsBatchTransitionValidationVersions { + find_duplicates_by_id: 0, + validate_base_structure: 0, + }, + }, + }, + identities: IdentityTransitionVersions { + max_public_keys_in_creation: 6, + asset_locks: IdentityTransitionAssetLockVersions { + required_asset_lock_duff_balance_for_processing_start_for_identity_create: + 200000, + required_asset_lock_duff_balance_for_processing_start_for_identity_top_up: + 50000, + validate_asset_lock_transaction_structure: 0, + validate_instant_asset_lock_proof_structure: 0, + }, + }, + }, + contract_versions: ContractVersions { + max_serialized_size: 65000, + contract_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_structure_version: 0, + created_data_contract_structure: 0, + config: 0, + methods: DataContractMethodVersions { + validate_document: 0, + validate_update: 0, + schema: 0, + }, + document_type_versions: DocumentTypeVersions { + index_versions: DocumentTypeIndexVersions { + index_levels_from_indices: 0, + }, + class_method_versions: DocumentTypeClassMethodVersions { + try_from_schema: 0, + create_document_types_from_document_schemas: 0, + }, + structure_version: 0, + schema: DocumentTypeSchemaVersions { + enrich_with_base_schema: 0, + find_identifier_and_binary_paths: 0, + validate_max_depth: 0, + max_depth: 256, + recursive_schema_validator_versions: RecursiveSchemaValidatorVersions { + traversal_validator: 0, + }, + validate_schema_compatibility: 0, + }, + methods: DocumentTypeMethodVersions { + create_document_from_data: 0, + create_document_with_prevalidated_properties: 0, + prefunded_voting_balance_for_document: 0, + contested_vote_poll_for_document: 0, + estimated_size: 0, + index_for_types: 0, + max_size: 0, + serialize_value_for_key: 0, + deserialize_value_for_key: 0, + }, + }, + }, + document_versions: DocumentVersions { + document_structure_version: 0, + document_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_cbor_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + extended_document_structure_version: 0, + extended_document_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_method_versions: DocumentMethodVersions { + is_equal_ignoring_timestamps: 0, + hash: 0, + get_raw_for_contract: 0, + get_raw_for_document_type: 0, + try_into_asset_unlock_base_transaction_info: 0, + }, + }, + identity_versions: IdentityVersions { + identity_structure_version: 0, + identity_key_structure_version: 0, + identity_key_type_method_versions: IdentityKeyTypeMethodVersions { + random_public_key_data: 0, + random_public_and_private_key_data: 0, + }, + }, + voting_versions: VotingVersions { + default_vote_poll_time_duration_mainnet_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_test_network_ms: 1_209_600_000, //2 weeks + contested_document_vote_poll_stored_info_version: 0, + }, + asset_lock_versions: AssetLockVersions { + reduced_asset_lock_value: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + methods: DPPMethodVersions { + epoch_core_reward_credits_for_distribution: 0, + }, + }, + system_data_contracts: SystemDataContractVersions { + withdrawals: 1, + dpns: 1, + dashpay: 1, + masternode_reward_shares: 1, + feature_flags: 1, + }, + fee_version: FEE_VERSION1, + system_limits: SystemLimits { + estimated_contract_max_serialized_size: 16384, + max_field_value_size: 5120, //5 KiB + max_state_transition_size: 20480, //20 KiB + max_transitions_in_documents_batch: 1, + withdrawal_transactions_per_block_limit: 4, + }, + consensus: ConsensusVersions { + tenderdash_consensus_version: 0, + }, +}; diff --git a/packages/rs-platform-version/src/version/v3.rs b/packages/rs-platform-version/src/version/v3.rs new file mode 100644 index 00000000000..314e17aa191 --- /dev/null +++ b/packages/rs-platform-version/src/version/v3.rs @@ -0,0 +1,1295 @@ +use crate::version::consensus_versions::ConsensusVersions; +use crate::version::contracts::SystemDataContractVersions; +use crate::version::dpp_versions::{ + AssetLockVersions, ContractVersions, CostVersions, DPPMethodVersions, DPPValidationVersions, + DPPVersion, DataContractMethodVersions, DataContractValidationVersions, + DocumentFeatureVersionBounds, DocumentMethodVersions, DocumentTransitionVersions, + DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, + DocumentTypeSchemaVersions, DocumentTypeValidationVersions, DocumentTypeVersions, + DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, + IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, + IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, + RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, + StateTransitionMethodVersions, StateTransitionSerializationVersions, StateTransitionVersions, + VotingValidationVersions, VotingVersions, +}; +use crate::version::drive_abci_versions::{ + DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, + DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, + DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreChainLockMethodVersionsAndConstants, + DriveAbciCoreInstantSendLockMethodVersions, + DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, + DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, + DriveAbciFeePoolOutwardsDistributionMethodVersions, + DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, + DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, + DriveAbciPlatformStateStorageMethodVersions, DriveAbciProtocolUpgradeMethodVersions, + DriveAbciQueryDataContractVersions, DriveAbciQueryIdentityVersions, + DriveAbciQueryPrefundedSpecializedBalancesVersions, DriveAbciQuerySystemVersions, + DriveAbciQueryValidatorVersions, DriveAbciQueryVersions, DriveAbciQueryVotingVersions, + DriveAbciStateTransitionCommonValidationVersions, + DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, + DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, + DriveAbciValidationConstants, DriveAbciValidationDataTriggerAndBindingVersions, + DriveAbciValidationDataTriggerVersions, DriveAbciValidationVersions, DriveAbciVersion, + DriveAbciVotingMethodVersions, PenaltyAmounts, +}; +use crate::version::drive_versions::{ + DriveAssetLockMethodVersions, DriveBalancesMethodVersions, DriveBatchOperationsMethodVersion, + DriveContractApplyMethodVersions, DriveContractCostsMethodVersions, + DriveContractGetMethodVersions, DriveContractInsertMethodVersions, DriveContractMethodVersions, + DriveContractProveMethodVersions, DriveContractUpdateMethodVersions, + DriveCreditPoolEpochsMethodVersions, DriveCreditPoolMethodVersions, + DriveCreditPoolPendingEpochRefundsMethodVersions, + DriveCreditPoolStorageFeeDistributionPoolMethodVersions, + DriveCreditPoolUnpaidEpochMethodVersions, DriveDataContractOperationMethodVersions, + DriveDocumentDeleteMethodVersions, DriveDocumentEstimationCostsMethodVersions, + DriveDocumentIndexUniquenessMethodVersions, DriveDocumentInsertContestedMethodVersions, + DriveDocumentInsertMethodVersions, DriveDocumentMethodVersions, + DriveDocumentQueryMethodVersions, DriveDocumentUpdateMethodVersions, + DriveEstimatedCostsMethodVersions, DriveFeesMethodVersions, DriveFetchMethodVersions, + DriveGroveApplyMethodVersions, DriveGroveBasicMethodVersions, DriveGroveBatchMethodVersions, + DriveGroveCostMethodVersions, DriveGroveMethodVersions, + DriveIdentityContractInfoMethodVersions, DriveIdentityCostEstimationMethodVersions, + DriveIdentityFetchAttributesMethodVersions, DriveIdentityFetchFullIdentityMethodVersions, + DriveIdentityFetchMethodVersions, DriveIdentityFetchPartialIdentityMethodVersions, + DriveIdentityFetchPublicKeyHashesMethodVersions, DriveIdentityInsertMethodVersions, + DriveIdentityKeyHashesToIdentityInsertMethodVersions, DriveIdentityKeysFetchMethodVersions, + DriveIdentityKeysInsertMethodVersions, DriveIdentityKeysMethodVersions, + DriveIdentityKeysProveMethodVersions, DriveIdentityMethodVersions, + DriveIdentityProveMethodVersions, DriveIdentityUpdateMethodVersions, + DriveIdentityWithdrawalDocumentMethodVersions, DriveIdentityWithdrawalMethodVersions, + DriveIdentityWithdrawalTransactionIndexMethodVersions, + DriveIdentityWithdrawalTransactionMethodVersions, + DriveIdentityWithdrawalTransactionQueueMethodVersions, DriveInitializationMethodVersions, + DriveMethodVersions, DriveOperationsMethodVersion, DrivePlatformStateMethodVersions, + DrivePlatformSystemMethodVersions, DrivePrefundedSpecializedMethodVersions, + DriveProtocolUpgradeVersions, DriveProveMethodVersions, + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions, + DriveStateTransitionMethodVersions, DriveStateTransitionOperationMethodVersions, + DriveStructureVersion, DriveSystemEstimationCostsMethodVersions, + DriveVerifyContractMethodVersions, DriveVerifyDocumentMethodVersions, + DriveVerifyIdentityMethodVersions, DriveVerifyMethodVersions, + DriveVerifySingleDocumentMethodVersions, DriveVerifyStateTransitionMethodVersions, + DriveVerifySystemMethodVersions, DriveVerifyVoteMethodVersions, DriveVersion, + DriveVoteCleanupMethodVersions, DriveVoteContestedResourceInsertMethodVersions, + DriveVoteFetchMethodVersions, DriveVoteInsertMethodVersions, DriveVoteMethodVersions, + DriveVoteSetupMethodVersions, DriveVoteStorageFormMethodVersions, +}; +use crate::version::fee::v1::FEE_VERSION1; +use crate::version::limits::SystemLimits; +use crate::version::protocol_version::{FeatureVersionBounds, PlatformVersion}; +use crate::version::{PlatformArchitectureVersion, ProtocolVersion}; +use grovedb_version::version::v1::GROVE_V1; + +pub const PROTOCOL_VERSION_3: ProtocolVersion = 3; + +/// This version introduces tenderdash_consensus_version as 1. +/// We did this because of the issues in distribution for Evonodes. +/// We are setting the requirement to 51% voting for this upgrade for it to take effect. +/// This was done directly in ABCI. +/// If we get between 51 and 67% we will have a chain stall +/// However the chain will come back up as soon as enough have upgraded. + +pub const PLATFORM_V3: PlatformVersion = PlatformVersion { + protocol_version: 3, + proofs: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + drive: DriveVersion { + structure: DriveStructureVersion { + document_indexes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_indexes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + pools: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + methods: DriveMethodVersions { + initialization: DriveInitializationMethodVersions { + create_initial_state_structure: 0, + }, + credit_pools: DriveCreditPoolMethodVersions { + epochs: DriveCreditPoolEpochsMethodVersions { + get_epochs_infos: 0, + get_epochs_protocol_versions: 0, + prove_epochs_infos: 0, + get_epoch_fee_multiplier: 0, + get_epoch_processing_credits_for_distribution: 0, + get_epoch_storage_credits_for_distribution: 0, + get_epoch_total_credits_for_distribution: 0, + get_storage_credits_for_distribution_for_epochs_in_range: 0, + get_epoch_start_time: 0, + get_epoch_start_block_core_height: 0, + get_epoch_start_block_height: 0, + get_first_epoch_start_block_info_between_epochs: 0, + fetch_epoch_proposers: 0, + prove_epoch_proposers: 0, + get_epochs_proposer_block_count: 0, + add_update_pending_epoch_refunds_operations: 0, + is_epochs_proposers_tree_empty: 0, + }, + pending_epoch_refunds: DriveCreditPoolPendingEpochRefundsMethodVersions { + add_delete_pending_epoch_refunds_except_specified: 0, + fetch_and_add_pending_epoch_refunds_to_collection: 0, + fetch_pending_epoch_refunds: 0, + add_update_pending_epoch_refunds_operations: 0, + }, + storage_fee_distribution_pool: + DriveCreditPoolStorageFeeDistributionPoolMethodVersions { + get_storage_fees_from_distribution_pool: 0, + }, + unpaid_epoch: DriveCreditPoolUnpaidEpochMethodVersions { + get_unpaid_epoch_index: 0, + }, + }, + protocol_upgrade: DriveProtocolUpgradeVersions { + clear_version_information: 0, + fetch_versions_with_counter: 0, + fetch_proved_versions_with_counter: 0, + fetch_validator_version_votes: 0, + fetch_proved_validator_version_votes: 0, + remove_validators_proposed_app_versions: 0, + update_validator_proposed_app_version: 0, + }, + prove: DriveProveMethodVersions { + prove_elements: 0, + prove_multiple_state_transition_results: 0, + }, + balances: DriveBalancesMethodVersions { + add_to_system_credits: 0, + add_to_system_credits_operations: 0, + remove_from_system_credits: 0, + remove_from_system_credits_operations: 0, + calculate_total_credits_balance: 0, + }, + document: DriveDocumentMethodVersions { + query: DriveDocumentQueryMethodVersions { query_documents: 0, query_contested_documents: 0, query_contested_documents_vote_state: 0, query_documents_with_flags: 0 }, + delete: DriveDocumentDeleteMethodVersions { + add_estimation_costs_for_remove_document_to_primary_storage: 0, + delete_document_for_contract: 0, + delete_document_for_contract_id: 0, + delete_document_for_contract_apply_and_add_to_operations: 0, + remove_document_from_primary_storage: 0, + remove_reference_for_index_level_for_contract_operations: 0, + remove_indices_for_index_level_for_contract_operations: 0, + remove_indices_for_top_index_level_for_contract_operations: 0, + delete_document_for_contract_id_with_named_type_operations: 0, + delete_document_for_contract_with_named_type_operations: 0, + delete_document_for_contract_operations: 0, + }, + insert: DriveDocumentInsertMethodVersions { + add_document: 0, + add_document_for_contract: 0, + add_document_for_contract_apply_and_add_to_operations: 0, + add_document_for_contract_operations: 0, + add_document_to_primary_storage: 0, + add_indices_for_index_level_for_contract_operations: 0, + add_indices_for_top_index_level_for_contract_operations: 0, + add_reference_for_index_level_for_contract_operations: 0, + }, + insert_contested: DriveDocumentInsertContestedMethodVersions { + add_contested_document: 0, + add_contested_document_for_contract: 0, + add_contested_document_for_contract_apply_and_add_to_operations: 0, + add_contested_document_for_contract_operations: 0, + add_contested_document_to_primary_storage: 0, + add_contested_indices_for_contract_operations: 0, + add_contested_reference_and_vote_subtree_to_document_operations: 0, + add_contested_vote_subtree_for_non_identities_operations: 0, + }, + update: DriveDocumentUpdateMethodVersions { + add_update_multiple_documents_operations: 0, + update_document_for_contract: 0, + update_document_for_contract_apply_and_add_to_operations: 0, + update_document_for_contract_id: 0, + update_document_for_contract_operations: 0, + update_document_with_serialization_for_contract: 0, + update_serialized_document_for_contract: 0, + }, + estimation_costs: DriveDocumentEstimationCostsMethodVersions { + add_estimation_costs_for_add_document_to_primary_storage: 0, + add_estimation_costs_for_add_contested_document_to_primary_storage: 0, + stateless_delete_of_non_tree_for_costs: 0, + }, + index_uniqueness: DriveDocumentIndexUniquenessMethodVersions { + validate_document_uniqueness: 0, + validate_document_create_transition_action_uniqueness: 0, + validate_document_replace_transition_action_uniqueness: 0, + validate_document_transfer_transition_action_uniqueness: 0, + validate_document_purchase_transition_action_uniqueness: 0, + validate_document_update_price_transition_action_uniqueness: 0, + validate_uniqueness_of_data: 0, + }, + }, + vote: DriveVoteMethodVersions { + insert: DriveVoteInsertMethodVersions { + register_identity_vote: 0, + }, + contested_resource_insert: DriveVoteContestedResourceInsertMethodVersions { + register_contested_resource_identity_vote: 0, + insert_stored_info_for_contested_resource_vote_poll: 0, + register_identity_vote: 0, + add_vote_poll_end_date_query_operations: 0, + }, + cleanup: DriveVoteCleanupMethodVersions { + remove_specific_vote_references_given_by_identity: 0, + remove_specific_votes_given_by_identity: 0, + remove_contested_resource_vote_poll_end_date_query_operations: 1, + remove_contested_resource_vote_poll_votes_operations: 0, + remove_contested_resource_vote_poll_documents_operations: 1, + remove_contested_resource_vote_poll_contenders_operations: 1, + remove_contested_resource_top_level_index_operations: 0, + remove_contested_resource_info_operations: 0, + }, + setup: DriveVoteSetupMethodVersions { + add_initial_vote_tree_main_structure_operations: 0, + }, + storage_form: DriveVoteStorageFormMethodVersions { + resolve_with_contract: 0, + }, + fetch: DriveVoteFetchMethodVersions { + fetch_identities_voting_for_contenders: 0, + fetch_contested_document_vote_poll_stored_info: 0, + fetch_identity_contested_resource_vote: 0, + }, + }, + contract: DriveContractMethodVersions { + prove: DriveContractProveMethodVersions { + prove_contract: 0, + prove_contract_history: 0, + prove_contracts: 0, + }, + apply: DriveContractApplyMethodVersions { + apply_contract: 0, + apply_contract_with_serialization: 0, + }, + insert: DriveContractInsertMethodVersions { + add_contract_to_storage: 0, + insert_contract: 0, + }, + update: DriveContractUpdateMethodVersions { update_contract: 0 }, + costs: DriveContractCostsMethodVersions { + add_estimation_costs_for_contract_insertion: 0, + }, + get: DriveContractGetMethodVersions { + fetch_contract: 0, + fetch_contract_with_history: 0, + get_cached_contract_with_fetch_info: 0, + get_contract_with_fetch_info: 0, + get_contracts_with_fetch_info: 0, + }, + }, + fees: DriveFeesMethodVersions { calculate_fee: 0 }, + estimated_costs: DriveEstimatedCostsMethodVersions { + add_estimation_costs_for_levels_up_to_contract: 0, + add_estimation_costs_for_levels_up_to_contract_document_type_excluded: 0, + add_estimation_costs_for_contested_document_tree_levels_up_to_contract: 0, + add_estimation_costs_for_contested_document_tree_levels_up_to_contract_document_type_excluded: 0, + }, + asset_lock: DriveAssetLockMethodVersions { + add_asset_lock_outpoint: 0, + add_estimation_costs_for_adding_asset_lock: 0, + fetch_asset_lock_outpoint_info: 0, + }, + verify: DriveVerifyMethodVersions { + contract: DriveVerifyContractMethodVersions { + verify_contract: 0, + verify_contract_history: 0, + }, + document: DriveVerifyDocumentMethodVersions { + verify_proof: 0, + verify_proof_keep_serialized: 0, + verify_start_at_document_in_proof: 0, + }, + identity: DriveVerifyIdentityMethodVersions { + verify_full_identities_by_public_key_hashes: 0, + verify_full_identity_by_identity_id: 0, + verify_full_identity_by_public_key_hash: 0, + verify_identity_balance_for_identity_id: 0, + verify_identity_balances_for_identity_ids: 0, + verify_identity_id_by_public_key_hash: 0, + verify_identity_ids_by_public_key_hashes: 0, + verify_identity_keys_by_identity_id: 0, + verify_identity_nonce: 0, + verify_identity_contract_nonce: 0, + verify_identities_contract_keys: 0, + verify_identity_revision_for_identity_id: 0, + }, + single_document: DriveVerifySingleDocumentMethodVersions { + verify_proof: 0, + verify_proof_keep_serialized: 0, + }, + system: DriveVerifySystemMethodVersions { + verify_epoch_infos: 0, + verify_epoch_proposers: 0, + verify_elements: 0, + verify_total_credits_in_system: 0, + verify_upgrade_state: 0, + verify_upgrade_vote_status: 0, + }, + voting: DriveVerifyVoteMethodVersions { + verify_masternode_vote: 0, + verify_start_at_contender_in_proof: 0, + verify_vote_poll_votes_proof: 0, + verify_identity_votes_given_proof: 0, + verify_vote_poll_vote_state_proof: 0, + verify_contests_proof: 0, + verify_vote_polls_by_end_date_proof: 0, + verify_specialized_balance: 0, + }, + state_transition: DriveVerifyStateTransitionMethodVersions { + verify_state_transition_was_executed_with_proof: 0, + }, + }, + identity: DriveIdentityMethodVersions { + fetch: DriveIdentityFetchMethodVersions { + public_key_hashes: DriveIdentityFetchPublicKeyHashesMethodVersions { + fetch_full_identities_by_unique_public_key_hashes: 0, + fetch_full_identity_by_unique_public_key_hash: 0, + fetch_identity_id_by_unique_public_key_hash: 0, + fetch_identity_ids_by_non_unique_public_key_hash: 0, + fetch_identity_ids_by_unique_public_key_hashes: 0, + fetch_serialized_full_identity_by_unique_public_key_hash: 0, + has_any_of_unique_public_key_hashes: 0, + has_non_unique_public_key_hash: 0, + has_non_unique_public_key_hash_already_for_identity: 0, + has_unique_public_key_hash: 0, + }, + attributes: DriveIdentityFetchAttributesMethodVersions { + revision: 0, + nonce: 0, + identity_contract_nonce: 0, + balance: 0, + balance_include_debt: 0, + negative_balance: 0, + }, + partial_identity: DriveIdentityFetchPartialIdentityMethodVersions { + fetch_identity_revision_with_keys: 0, + fetch_identity_balance_with_keys: 0, + fetch_identity_balance_with_keys_and_revision: 0, + fetch_identity_with_balance: 0, + fetch_identity_keys: 0, + }, + full_identity: DriveIdentityFetchFullIdentityMethodVersions { + fetch_full_identity: Some(0), + fetch_full_identities: Some(0), + }, + }, + prove: DriveIdentityProveMethodVersions { + full_identity: 0, + full_identities: 0, + identity_nonce: 0, + identity_contract_nonce: 0, + identities_contract_keys: 0, + prove_full_identities_by_unique_public_key_hashes: 0, + prove_full_identity_by_unique_public_key_hash: 0, + prove_identity_id_by_unique_public_key_hash: 0, + prove_identity_ids_by_unique_public_key_hashes: 0, + }, + keys: DriveIdentityKeysMethodVersions { + fetch: DriveIdentityKeysFetchMethodVersions { + fetch_all_current_identity_keys: 0, + fetch_all_identity_keys: 0, + fetch_identities_all_keys: 0, + fetch_identity_keys: 0, + fetch_identities_contract_keys: 0, + }, + prove: DriveIdentityKeysProveMethodVersions { + prove_identities_all_keys: 0, + prove_identity_keys: 0, + }, + insert: DriveIdentityKeysInsertMethodVersions { + create_key_tree_with_keys: 0, + create_new_identity_key_query_trees: 0, + insert_key_searchable_references: 0, + insert_key_to_storage: 0, + insert_new_non_unique_key: 0, + insert_new_unique_key: 0, + replace_key_in_storage: 0, + }, + insert_key_hash_identity_reference: + DriveIdentityKeyHashesToIdentityInsertMethodVersions { + add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, + add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, + insert_non_unique_public_key_hash_reference_to_identity: 0, + insert_reference_to_non_unique_key: 0, + insert_reference_to_unique_key: 0, + insert_unique_public_key_hash_reference_to_identity: 0, + }, + }, + update: DriveIdentityUpdateMethodVersions { + update_identity_revision: 0, + merge_identity_nonce: 0, + update_identity_negative_credit_operation: 0, + initialize_identity_revision: 0, + disable_identity_keys: 0, + re_enable_identity_keys: 0, + add_new_non_unique_keys_to_identity: 0, + add_new_unique_keys_to_identity: 0, + add_new_keys_to_identity: 0, + insert_identity_balance: 0, + initialize_negative_identity_balance: 0, + add_to_identity_balance: 0, + add_to_previous_balance: 0, + apply_balance_change_from_fee_to_identity: 0, + remove_from_identity_balance: 0, + refresh_identity_key_reference_operations: 0, + }, + insert: DriveIdentityInsertMethodVersions { + add_new_identity: 0, + }, + contract_info: DriveIdentityContractInfoMethodVersions { + add_potential_contract_info_for_contract_bounded_key: 0, + refresh_potential_contract_info_key_references: 0, + merge_identity_contract_nonce: 0, + }, + cost_estimation: DriveIdentityCostEstimationMethodVersions { + for_authentication_keys_security_level_in_key_reference_tree: 0, + for_balances: 0, + for_contract_info: 0, + for_contract_info_group: 0, + for_contract_info_group_keys: 0, + for_contract_info_group_key_purpose: 0, + for_keys_for_identity_id: 0, + for_negative_credit: 0, + for_purpose_in_key_reference_tree: 0, + for_root_key_reference_tree: 0, + for_update_revision: 0, + }, + withdrawals: DriveIdentityWithdrawalMethodVersions { + document: DriveIdentityWithdrawalDocumentMethodVersions { + fetch_oldest_withdrawal_documents_by_status: 0, + find_up_to_100_withdrawal_documents_by_status_and_transaction_indices: 0, + }, + transaction: DriveIdentityWithdrawalTransactionMethodVersions { + index: DriveIdentityWithdrawalTransactionIndexMethodVersions { + fetch_next_withdrawal_transaction_index: 0, + add_update_next_withdrawal_transaction_index_operation: 0, + }, + queue: DriveIdentityWithdrawalTransactionQueueMethodVersions { + add_enqueue_untied_withdrawal_transaction_operations: 0, + dequeue_untied_withdrawal_transactions: 0, + }, + }, + }, + }, + platform_system: DrivePlatformSystemMethodVersions { + estimation_costs: DriveSystemEstimationCostsMethodVersions { + for_total_system_credits_update: 0, + }, + }, + operations: DriveOperationsMethodVersion { + rollback_transaction: 0, + drop_cache: 0, + commit_transaction: 0, + apply_partial_batch_low_level_drive_operations: 0, + apply_partial_batch_grovedb_operations: 0, + apply_batch_low_level_drive_operations: 0, + apply_batch_grovedb_operations: 0, + }, + state_transitions: DriveStateTransitionMethodVersions { + operations: DriveStateTransitionOperationMethodVersions { + finalization_tasks: 0, + contracts: DriveDataContractOperationMethodVersions { + finalization_tasks: 0, + }, + }, + convert_to_high_level_operations: + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { + data_contract_create_transition: 0, + data_contract_update_transition: 0, + document_create_transition: 0, + document_delete_transition: 0, + document_purchase_transition: 0, + document_replace_transition: 0, + document_transfer_transition: 0, + document_update_price_transition: 0, + documents_batch_transition: 0, + identity_create_transition: 0, + identity_credit_transfer_transition: 0, + identity_credit_withdrawal_transition: 0, + identity_top_up_transition: 0, + identity_update_transition: 0, + masternode_vote_transition: 0, + bump_identity_data_contract_nonce: 0, + bump_identity_nonce: 0, + partially_use_asset_lock: 0, + }, + }, + batch_operations: DriveBatchOperationsMethodVersion { + convert_drive_operations_to_grove_operations: 0, + apply_drive_operations: 0, + }, + platform_state: DrivePlatformStateMethodVersions { + fetch_platform_state_bytes: 0, + store_platform_state_bytes: 0, + }, + fetch: DriveFetchMethodVersions { fetch_elements: 0 }, + prefunded_specialized_balances: DrivePrefundedSpecializedMethodVersions { + fetch_single: 0, + prove_single: 0, + add_prefunded_specialized_balance: 0, + add_prefunded_specialized_balance_operations: 0, + deduct_from_prefunded_specialized_balance: 0, + deduct_from_prefunded_specialized_balance_operations: 0, + estimated_cost_for_prefunded_specialized_balance_update: 0, + }, + }, + grove_methods: DriveGroveMethodVersions { + basic: DriveGroveBasicMethodVersions { + grove_insert: 0, + grove_insert_empty_tree: 0, + grove_insert_empty_sum_tree: 0, + grove_insert_if_not_exists: 0, + grove_clear: 0, + grove_delete: 0, + grove_get_raw: 0, + grove_get_raw_optional: 0, + grove_get_raw_value_u64_from_encoded_var_vec: 0, + grove_get: 0, + grove_get_path_query_serialized_results: 0, + grove_get_path_query_serialized_or_sum_results: 0, + grove_get_path_query: 0, + grove_get_path_query_with_optional: 0, + grove_get_raw_path_query_with_optional: 0, + grove_get_raw_path_query: 0, + grove_get_proved_path_query: 0, + grove_get_proved_path_query_with_conditional: 0, + grove_get_sum_tree_total_value: 0, + grove_has_raw: 0, + }, + batch: DriveGroveBatchMethodVersions { + batch_insert_empty_tree: 0, + batch_insert_empty_tree_if_not_exists: 0, + batch_insert_empty_tree_if_not_exists_check_existing_operations: 0, + batch_insert: 0, + batch_insert_if_not_exists: 0, + batch_insert_if_changed_value: 0, + batch_replace: 0, + batch_delete: 0, + batch_remove_raw: 0, + batch_delete_up_tree_while_empty: 0, + batch_refresh_reference: 0, + }, + apply: DriveGroveApplyMethodVersions { + grove_apply_operation: 0, + grove_apply_batch: 0, + grove_apply_partial_batch: 0, + }, + costs: DriveGroveCostMethodVersions { + grove_batch_operations_costs: 0, + }, + }, + grove_version: GROVE_V1, + }, + platform_architecture: PlatformArchitectureVersion { + data_contract_factory_structure_version: 0, + document_factory_structure_version: 0, + }, + drive_abci: DriveAbciVersion { + structs: DriveAbciStructureVersions { + platform_state_structure: 0, + platform_state_for_saving_structure: 0, + state_transition_execution_context: 0, + commit: 0, + masternode: 0, + signature_verification_quorum_set: 0, + }, + methods: DriveAbciMethodVersions { + engine: DriveAbciEngineMethodVersions { + init_chain: 0, + check_tx: 0, + run_block_proposal: 0, + finalize_block_proposal: 0, + consensus_params_update: 0, + }, + initialization: DriveAbciInitializationMethodVersions { + initial_core_height_and_time: 0, + create_genesis_state: 0, + }, + core_based_updates: DriveAbciCoreBasedUpdatesMethodVersions { + update_core_info: 0, + update_masternode_list: 0, + update_quorum_info: 0, + masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions { + get_voter_identity_key: 0, + get_operator_identity_keys: 0, + get_owner_identity_withdrawal_key: 0, + get_voter_identifier_from_masternode_list_item: 0, + get_operator_identifier_from_masternode_list_item: 0, + create_operator_identity: 0, + create_owner_identity: 0, + create_voter_identity: 0, + disable_identity_keys: 0, + update_masternode_identities: 0, + update_operator_identity: 0, + update_owner_withdrawal_address: 0, + update_voter_identity: 0, + }, + }, + protocol_upgrade: DriveAbciProtocolUpgradeMethodVersions { + check_for_desired_protocol_upgrade: 1, + upgrade_protocol_version_on_epoch_change: 0, + protocol_version_upgrade_percentage_needed: 67, + }, + block_fee_processing: DriveAbciBlockFeeProcessingMethodVersions { + add_process_epoch_change_operations: 0, + process_block_fees: 0, + }, + core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants { + choose_quorum: 0, + verify_chain_lock: 0, + verify_chain_lock_locally: 0, + verify_chain_lock_through_core: 0, + make_sure_core_is_synced_to_chain_lock: 0, + recent_block_count_amount: 2, + }, + core_instant_send_lock: DriveAbciCoreInstantSendLockMethodVersions { + verify_recent_signature_locally: 0, + }, + fee_pool_inwards_distribution: DriveAbciFeePoolInwardsDistributionMethodVersions { + add_distribute_block_fees_into_pools_operations: 0, + add_distribute_storage_fee_to_epochs_operations: 0, + }, + fee_pool_outwards_distribution: DriveAbciFeePoolOutwardsDistributionMethodVersions { + add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations: 0, + add_epoch_pool_to_proposers_payout_operations: 0, + find_oldest_epoch_needing_payment: 0, + fetch_reward_shares_list_for_masternode: 0, + }, + withdrawals: DriveAbciIdentityCreditWithdrawalMethodVersions { + build_untied_withdrawal_transactions_from_documents: 0, + dequeue_and_build_unsigned_withdrawal_transactions: 0, + fetch_transactions_block_inclusion_status: 0, + pool_withdrawals_into_transactions_queue: 0, + update_broadcasted_withdrawal_statuses: 0, + append_signatures_and_broadcast_withdrawal_transactions: 0, + }, + voting: DriveAbciVotingMethodVersions { + keep_record_of_finished_contested_resource_vote_poll: 0, + clean_up_after_vote_poll_end: 0, + clean_up_after_contested_resources_vote_poll_end: 0, + check_for_ended_vote_polls: 0, + tally_votes_for_contested_document_resource_vote_poll: 0, + award_document_to_winner: 0, + delay_vote_poll: 0, + run_dao_platform_events: 0, + remove_votes_for_removed_masternodes: 0, + }, + state_transition_processing: DriveAbciStateTransitionProcessingMethodVersions { + execute_event: 0, + process_raw_state_transitions: 0, + decode_raw_state_transitions: 0, + validate_fees_of_event: 0, + }, + epoch: DriveAbciEpochMethodVersions { + gather_epoch_info: 0, + get_genesis_time: 0, + }, + block_start: DriveAbciBlockStartMethodVersions { + clear_drive_block_cache: 0, + }, + block_end: DriveAbciBlockEndMethodVersions { + update_state_cache: 0, + update_drive_cache: 0, + validator_set_update: 0, + }, + platform_state_storage: DriveAbciPlatformStateStorageMethodVersions { + fetch_platform_state: 0, + store_platform_state: 0, + }, + }, + validation_and_processing: DriveAbciValidationVersions { + state_transitions: DriveAbciStateTransitionValidationVersions { + common_validation_methods: DriveAbciStateTransitionCommonValidationVersions { + asset_locks: DriveAbciAssetLockValidationVersions { + fetch_asset_lock_transaction_output_sync: 0, + verify_asset_lock_is_not_spent_and_has_enough_balance: 0, + }, + validate_identity_public_key_contract_bounds: 0, + validate_identity_public_key_ids_dont_exist_in_state: 0, + validate_identity_public_key_ids_exist_in_state: 0, + validate_state_transition_identity_signed: 0, + validate_unique_identity_public_key_hashes_in_state: 0, + validate_master_key_uniqueness: 0, + validate_simple_pre_check_balance: 0, + }, + max_asset_lock_usage_attempts: 16, + identity_create_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: Some(0), + identity_signatures: Some(0), + advanced_minimum_balance_pre_check: None, + nonce: None, + state: 0, + transform_into_action: 0, + }, + identity_update_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: Some(0), + identity_signatures: Some(0), + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + identity_top_up_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: None, + state: 0, + transform_into_action: 0, + }, + identity_credit_withdrawal_state_transition: + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + identity_credit_transfer_state_transition: + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + masternode_vote_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: None, + advanced_structure: Some(0), + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + contract_create_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + contract_update_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: None, + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + documents_batch_state_transition: + DriveAbciDocumentsStateTransitionValidationVersions { + balance_pre_check: 0, + basic_structure: 0, + advanced_structure: 0, + state: 0, + revision: 0, + transform_into_action: 0, + data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { + bindings: 0, + triggers: DriveAbciValidationDataTriggerVersions { + create_contact_request_data_trigger: 0, + create_domain_data_trigger: 0, + create_identity_data_trigger: 0, + create_feature_flag_data_trigger: 0, + create_masternode_reward_shares_data_trigger: 0, + delete_withdrawal_data_trigger: 0, + reject_data_trigger: 0, + }, + }, + is_allowed: 0, + document_create_transition_structure_validation: 0, + document_delete_transition_structure_validation: 0, + document_replace_transition_structure_validation: 0, + document_transfer_transition_structure_validation: 0, + document_purchase_transition_structure_validation: 0, + document_update_price_transition_structure_validation: 0, + document_create_transition_state_validation: 1, + document_delete_transition_state_validation: 0, + document_replace_transition_state_validation: 0, + document_transfer_transition_state_validation: 0, + document_purchase_transition_state_validation: 0, + document_update_price_transition_state_validation: 0, + }, + }, + process_state_transition: 0, + state_transition_to_execution_event_for_check_tx: 0, + penalties: PenaltyAmounts { + identity_id_not_correct: 50000000, + unique_key_already_present: 10000000, + validation_of_added_keys_structure_failure: 10000000, + validation_of_added_keys_proof_of_possession_failure: 50000000, + }, + event_constants: DriveAbciValidationConstants { + maximum_vote_polls_to_process: 2, + maximum_contenders_to_consider: 100, + }, + }, + query: DriveAbciQueryVersions { + max_returned_elements: 100, + response_metadata: 0, + proofs_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + prefunded_specialized_balances: DriveAbciQueryPrefundedSpecializedBalancesVersions { + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + identity_based_queries: DriveAbciQueryIdentityVersions { + identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_contract_keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_nonce: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_contract_nonce: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_balances: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance_and_revision: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_by_public_key_hash: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + validator_queries: DriveAbciQueryValidatorVersions { + proposed_block_counts_by_evonode_ids: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + proposed_block_counts_by_range: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + data_contract_based_queries: DriveAbciQueryDataContractVersions { + data_contract: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contract_history: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contracts: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + voting_based_queries: DriveAbciQueryVotingVersions { + vote_polls_by_end_date_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_vote_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_voters_for_identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_identity_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resources: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + system: DriveAbciQuerySystemVersions { + version_upgrade_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + version_upgrade_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + epoch_infos: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + current_quorums_info: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + partial_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + path_elements: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + total_credits_in_platform: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, + }, + dpp: DPPVersion { + costs: CostVersions { + signature_verify: 0, + }, + validation: DPPValidationVersions { + json_schema_validator: JsonSchemaValidatorVersions { + new: 0, + validate: 0, + compile: 0, + compile_and_validate: 0, + }, + data_contract: DataContractValidationVersions { + validate: 0, + validate_config_update: 0, + validate_index_definitions: 0, + validate_index_naming_duplicates: 0, + validate_not_defined_properties: 0, + validate_property_definition: 0, + }, + document_type: DocumentTypeValidationVersions { + validate_update: 0, + contested_index_limit: 1, + unique_index_limit: 10, + }, + voting: VotingValidationVersions { + allow_other_contenders_time_mainnet_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_testing_ms: 2_700_000, //45 minutes + votes_allowed_per_masternode: 5, + }, + }, + state_transition_serialization_versions: StateTransitionSerializationVersions { + identity_public_key_in_creation: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_create_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_update_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_top_up_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_credit_withdrawal_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_credit_transfer_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + masternode_vote_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_create_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_update_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + documents_batch_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_base_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_create_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_replace_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_delete_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_transfer_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_update_price_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_purchase_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, + state_transition_conversion_versions: StateTransitionConversionVersions { + identity_to_identity_create_transition: 0, + identity_to_identity_top_up_transition: 0, + identity_to_identity_withdrawal_transition: 1, + identity_to_identity_create_transition_with_signer: 0, + }, + state_transition_method_versions: StateTransitionMethodVersions { + public_key_in_creation_methods: PublicKeyInCreationMethodVersions { + from_public_key_signed_with_private_key: 0, + from_public_key_signed_external: 0, + hash: 0, + duplicated_key_ids_witness: 0, + duplicated_keys_witness: 0, + validate_identity_public_keys_structure: 0, + }, + }, + state_transitions: StateTransitionVersions { + documents: DocumentTransitionVersions { + documents_batch_transition: DocumentsBatchTransitionVersions { + validation: DocumentsBatchTransitionValidationVersions { + find_duplicates_by_id: 0, + validate_base_structure: 0, + }, + }, + }, + identities: IdentityTransitionVersions { + max_public_keys_in_creation: 6, + asset_locks: IdentityTransitionAssetLockVersions { + required_asset_lock_duff_balance_for_processing_start_for_identity_create: + 200000, + required_asset_lock_duff_balance_for_processing_start_for_identity_top_up: + 50000, + validate_asset_lock_transaction_structure: 0, + validate_instant_asset_lock_proof_structure: 0, + }, + }, + }, + contract_versions: ContractVersions { + max_serialized_size: 65000, + contract_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_structure_version: 0, + created_data_contract_structure: 0, + config: 0, + methods: DataContractMethodVersions { + validate_document: 0, + validate_update: 0, + schema: 0, + }, + document_type_versions: DocumentTypeVersions { + index_versions: DocumentTypeIndexVersions { + index_levels_from_indices: 0, + }, + class_method_versions: DocumentTypeClassMethodVersions { + try_from_schema: 0, + create_document_types_from_document_schemas: 0, + }, + structure_version: 0, + schema: DocumentTypeSchemaVersions { + enrich_with_base_schema: 0, + find_identifier_and_binary_paths: 0, + validate_max_depth: 0, + max_depth: 256, + recursive_schema_validator_versions: RecursiveSchemaValidatorVersions { + traversal_validator: 0, + }, + validate_schema_compatibility: 0, + }, + methods: DocumentTypeMethodVersions { + create_document_from_data: 0, + create_document_with_prevalidated_properties: 0, + prefunded_voting_balance_for_document: 0, + contested_vote_poll_for_document: 0, + estimated_size: 0, + index_for_types: 0, + max_size: 0, + serialize_value_for_key: 0, + deserialize_value_for_key: 0, + }, + }, + }, + document_versions: DocumentVersions { + document_structure_version: 0, + document_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_cbor_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + extended_document_structure_version: 0, + extended_document_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_method_versions: DocumentMethodVersions { + is_equal_ignoring_timestamps: 0, + hash: 0, + get_raw_for_contract: 0, + get_raw_for_document_type: 0, + try_into_asset_unlock_base_transaction_info: 0, + }, + }, + identity_versions: IdentityVersions { + identity_structure_version: 0, + identity_key_structure_version: 0, + identity_key_type_method_versions: IdentityKeyTypeMethodVersions { + random_public_key_data: 0, + random_public_and_private_key_data: 0, + }, + }, + voting_versions: VotingVersions { + default_vote_poll_time_duration_mainnet_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_test_network_ms: 5_400_000, //90 minutes + contested_document_vote_poll_stored_info_version: 0, + }, + asset_lock_versions: AssetLockVersions { + reduced_asset_lock_value: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + methods: DPPMethodVersions { + epoch_core_reward_credits_for_distribution: 0, + }, + }, + system_data_contracts: SystemDataContractVersions { + withdrawals: 1, + dpns: 1, + dashpay: 1, + masternode_reward_shares: 1, + feature_flags: 1, + }, + fee_version: FEE_VERSION1, + system_limits: SystemLimits { + estimated_contract_max_serialized_size: 16384, + max_field_value_size: 5120, //5 KiB + max_state_transition_size: 20480, //20 KiB + max_transitions_in_documents_batch: 1, + withdrawal_transactions_per_block_limit: 4, + }, + consensus: ConsensusVersions { + tenderdash_consensus_version: 1, + }, +}; diff --git a/packages/rs-platform-version/src/version/v4.rs b/packages/rs-platform-version/src/version/v4.rs new file mode 100644 index 00000000000..86c62b8e8f0 --- /dev/null +++ b/packages/rs-platform-version/src/version/v4.rs @@ -0,0 +1,1290 @@ +use crate::version::consensus_versions::ConsensusVersions; +use crate::version::contracts::SystemDataContractVersions; +use crate::version::dpp_versions::{ + AssetLockVersions, ContractVersions, CostVersions, DPPMethodVersions, DPPValidationVersions, + DPPVersion, DataContractMethodVersions, DataContractValidationVersions, + DocumentFeatureVersionBounds, DocumentMethodVersions, DocumentTransitionVersions, + DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, + DocumentTypeSchemaVersions, DocumentTypeValidationVersions, DocumentTypeVersions, + DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, + IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, + IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, + RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, + StateTransitionMethodVersions, StateTransitionSerializationVersions, StateTransitionVersions, + VotingValidationVersions, VotingVersions, +}; +use crate::version::drive_abci_versions::{ + DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, + DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, + DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreChainLockMethodVersionsAndConstants, + DriveAbciCoreInstantSendLockMethodVersions, + DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, + DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, + DriveAbciFeePoolOutwardsDistributionMethodVersions, + DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, + DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, + DriveAbciPlatformStateStorageMethodVersions, DriveAbciProtocolUpgradeMethodVersions, + DriveAbciQueryDataContractVersions, DriveAbciQueryIdentityVersions, + DriveAbciQueryPrefundedSpecializedBalancesVersions, DriveAbciQuerySystemVersions, + DriveAbciQueryValidatorVersions, DriveAbciQueryVersions, DriveAbciQueryVotingVersions, + DriveAbciStateTransitionCommonValidationVersions, + DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, + DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, + DriveAbciValidationConstants, DriveAbciValidationDataTriggerAndBindingVersions, + DriveAbciValidationDataTriggerVersions, DriveAbciValidationVersions, DriveAbciVersion, + DriveAbciVotingMethodVersions, PenaltyAmounts, +}; +use crate::version::drive_versions::{ + DriveAssetLockMethodVersions, DriveBalancesMethodVersions, DriveBatchOperationsMethodVersion, + DriveContractApplyMethodVersions, DriveContractCostsMethodVersions, + DriveContractGetMethodVersions, DriveContractInsertMethodVersions, DriveContractMethodVersions, + DriveContractProveMethodVersions, DriveContractUpdateMethodVersions, + DriveCreditPoolEpochsMethodVersions, DriveCreditPoolMethodVersions, + DriveCreditPoolPendingEpochRefundsMethodVersions, + DriveCreditPoolStorageFeeDistributionPoolMethodVersions, + DriveCreditPoolUnpaidEpochMethodVersions, DriveDataContractOperationMethodVersions, + DriveDocumentDeleteMethodVersions, DriveDocumentEstimationCostsMethodVersions, + DriveDocumentIndexUniquenessMethodVersions, DriveDocumentInsertContestedMethodVersions, + DriveDocumentInsertMethodVersions, DriveDocumentMethodVersions, + DriveDocumentQueryMethodVersions, DriveDocumentUpdateMethodVersions, + DriveEstimatedCostsMethodVersions, DriveFeesMethodVersions, DriveFetchMethodVersions, + DriveGroveApplyMethodVersions, DriveGroveBasicMethodVersions, DriveGroveBatchMethodVersions, + DriveGroveCostMethodVersions, DriveGroveMethodVersions, + DriveIdentityContractInfoMethodVersions, DriveIdentityCostEstimationMethodVersions, + DriveIdentityFetchAttributesMethodVersions, DriveIdentityFetchFullIdentityMethodVersions, + DriveIdentityFetchMethodVersions, DriveIdentityFetchPartialIdentityMethodVersions, + DriveIdentityFetchPublicKeyHashesMethodVersions, DriveIdentityInsertMethodVersions, + DriveIdentityKeyHashesToIdentityInsertMethodVersions, DriveIdentityKeysFetchMethodVersions, + DriveIdentityKeysInsertMethodVersions, DriveIdentityKeysMethodVersions, + DriveIdentityKeysProveMethodVersions, DriveIdentityMethodVersions, + DriveIdentityProveMethodVersions, DriveIdentityUpdateMethodVersions, + DriveIdentityWithdrawalDocumentMethodVersions, DriveIdentityWithdrawalMethodVersions, + DriveIdentityWithdrawalTransactionIndexMethodVersions, + DriveIdentityWithdrawalTransactionMethodVersions, + DriveIdentityWithdrawalTransactionQueueMethodVersions, DriveInitializationMethodVersions, + DriveMethodVersions, DriveOperationsMethodVersion, DrivePlatformStateMethodVersions, + DrivePlatformSystemMethodVersions, DrivePrefundedSpecializedMethodVersions, + DriveProtocolUpgradeVersions, DriveProveMethodVersions, + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions, + DriveStateTransitionMethodVersions, DriveStateTransitionOperationMethodVersions, + DriveStructureVersion, DriveSystemEstimationCostsMethodVersions, + DriveVerifyContractMethodVersions, DriveVerifyDocumentMethodVersions, + DriveVerifyIdentityMethodVersions, DriveVerifyMethodVersions, + DriveVerifySingleDocumentMethodVersions, DriveVerifyStateTransitionMethodVersions, + DriveVerifySystemMethodVersions, DriveVerifyVoteMethodVersions, DriveVersion, + DriveVoteCleanupMethodVersions, DriveVoteContestedResourceInsertMethodVersions, + DriveVoteFetchMethodVersions, DriveVoteInsertMethodVersions, DriveVoteMethodVersions, + DriveVoteSetupMethodVersions, DriveVoteStorageFormMethodVersions, +}; +use crate::version::fee::v1::FEE_VERSION1; +use crate::version::limits::SystemLimits; +use crate::version::protocol_version::{FeatureVersionBounds, PlatformVersion}; +use crate::version::{PlatformArchitectureVersion, ProtocolVersion}; +use grovedb_version::version::v1::GROVE_V1; + +pub const PROTOCOL_VERSION_4: ProtocolVersion = 4; + +/// This version introduces withdrawals. + +pub const PLATFORM_V4: PlatformVersion = PlatformVersion { + protocol_version: PROTOCOL_VERSION_4, + proofs: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + drive: DriveVersion { + structure: DriveStructureVersion { + document_indexes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_indexes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + pools: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + methods: DriveMethodVersions { + initialization: DriveInitializationMethodVersions { + create_initial_state_structure: 0, + }, + credit_pools: DriveCreditPoolMethodVersions { + epochs: DriveCreditPoolEpochsMethodVersions { + get_epochs_infos: 0, + get_epochs_protocol_versions: 0, + prove_epochs_infos: 0, + get_epoch_fee_multiplier: 0, + get_epoch_processing_credits_for_distribution: 0, + get_epoch_storage_credits_for_distribution: 0, + get_epoch_total_credits_for_distribution: 0, + get_storage_credits_for_distribution_for_epochs_in_range: 0, + get_epoch_start_time: 0, + get_epoch_start_block_core_height: 0, + get_epoch_start_block_height: 0, + get_first_epoch_start_block_info_between_epochs: 0, + fetch_epoch_proposers: 0, + prove_epoch_proposers: 0, + get_epochs_proposer_block_count: 0, + add_update_pending_epoch_refunds_operations: 0, + is_epochs_proposers_tree_empty: 0, + }, + pending_epoch_refunds: DriveCreditPoolPendingEpochRefundsMethodVersions { + add_delete_pending_epoch_refunds_except_specified: 0, + fetch_and_add_pending_epoch_refunds_to_collection: 0, + fetch_pending_epoch_refunds: 0, + add_update_pending_epoch_refunds_operations: 0, + }, + storage_fee_distribution_pool: + DriveCreditPoolStorageFeeDistributionPoolMethodVersions { + get_storage_fees_from_distribution_pool: 0, + }, + unpaid_epoch: DriveCreditPoolUnpaidEpochMethodVersions { + get_unpaid_epoch_index: 0, + }, + }, + protocol_upgrade: DriveProtocolUpgradeVersions { + clear_version_information: 0, + fetch_versions_with_counter: 0, + fetch_proved_versions_with_counter: 0, + fetch_validator_version_votes: 0, + fetch_proved_validator_version_votes: 0, + remove_validators_proposed_app_versions: 0, + update_validator_proposed_app_version: 0, + }, + prove: DriveProveMethodVersions { + prove_elements: 0, + prove_multiple_state_transition_results: 0, + }, + balances: DriveBalancesMethodVersions { + add_to_system_credits: 0, + add_to_system_credits_operations: 0, + remove_from_system_credits: 0, + remove_from_system_credits_operations: 0, + calculate_total_credits_balance: 0, + }, + document: DriveDocumentMethodVersions { + query: DriveDocumentQueryMethodVersions { query_documents: 0, query_contested_documents: 0, query_contested_documents_vote_state: 0, query_documents_with_flags: 0 }, + delete: DriveDocumentDeleteMethodVersions { + add_estimation_costs_for_remove_document_to_primary_storage: 0, + delete_document_for_contract: 0, + delete_document_for_contract_id: 0, + delete_document_for_contract_apply_and_add_to_operations: 0, + remove_document_from_primary_storage: 0, + remove_reference_for_index_level_for_contract_operations: 0, + remove_indices_for_index_level_for_contract_operations: 0, + remove_indices_for_top_index_level_for_contract_operations: 0, + delete_document_for_contract_id_with_named_type_operations: 0, + delete_document_for_contract_with_named_type_operations: 0, + delete_document_for_contract_operations: 0, + }, + insert: DriveDocumentInsertMethodVersions { + add_document: 0, + add_document_for_contract: 0, + add_document_for_contract_apply_and_add_to_operations: 0, + add_document_for_contract_operations: 0, + add_document_to_primary_storage: 0, + add_indices_for_index_level_for_contract_operations: 0, + add_indices_for_top_index_level_for_contract_operations: 0, + add_reference_for_index_level_for_contract_operations: 0, + }, + insert_contested: DriveDocumentInsertContestedMethodVersions { + add_contested_document: 0, + add_contested_document_for_contract: 0, + add_contested_document_for_contract_apply_and_add_to_operations: 0, + add_contested_document_for_contract_operations: 0, + add_contested_document_to_primary_storage: 0, + add_contested_indices_for_contract_operations: 0, + add_contested_reference_and_vote_subtree_to_document_operations: 0, + add_contested_vote_subtree_for_non_identities_operations: 0, + }, + update: DriveDocumentUpdateMethodVersions { + add_update_multiple_documents_operations: 0, + update_document_for_contract: 0, + update_document_for_contract_apply_and_add_to_operations: 0, + update_document_for_contract_id: 0, + update_document_for_contract_operations: 0, + update_document_with_serialization_for_contract: 0, + update_serialized_document_for_contract: 0, + }, + estimation_costs: DriveDocumentEstimationCostsMethodVersions { + add_estimation_costs_for_add_document_to_primary_storage: 0, + add_estimation_costs_for_add_contested_document_to_primary_storage: 0, + stateless_delete_of_non_tree_for_costs: 0, + }, + index_uniqueness: DriveDocumentIndexUniquenessMethodVersions { + validate_document_uniqueness: 0, + validate_document_create_transition_action_uniqueness: 0, + validate_document_replace_transition_action_uniqueness: 0, + validate_document_transfer_transition_action_uniqueness: 0, + validate_document_purchase_transition_action_uniqueness: 0, + validate_document_update_price_transition_action_uniqueness: 0, + validate_uniqueness_of_data: 0, + }, + }, + vote: DriveVoteMethodVersions { + insert: DriveVoteInsertMethodVersions { + register_identity_vote: 0, + }, + contested_resource_insert: DriveVoteContestedResourceInsertMethodVersions { + register_contested_resource_identity_vote: 0, + insert_stored_info_for_contested_resource_vote_poll: 0, + register_identity_vote: 0, + add_vote_poll_end_date_query_operations: 0, + }, + cleanup: DriveVoteCleanupMethodVersions { + remove_specific_vote_references_given_by_identity: 0, + remove_specific_votes_given_by_identity: 0, + remove_contested_resource_vote_poll_end_date_query_operations: 1, + remove_contested_resource_vote_poll_votes_operations: 0, + remove_contested_resource_vote_poll_documents_operations: 1, + remove_contested_resource_vote_poll_contenders_operations: 1, + remove_contested_resource_top_level_index_operations: 0, + remove_contested_resource_info_operations: 0, + }, + setup: DriveVoteSetupMethodVersions { + add_initial_vote_tree_main_structure_operations: 0, + }, + storage_form: DriveVoteStorageFormMethodVersions { + resolve_with_contract: 0, + }, + fetch: DriveVoteFetchMethodVersions { + fetch_identities_voting_for_contenders: 0, + fetch_contested_document_vote_poll_stored_info: 0, + fetch_identity_contested_resource_vote: 0, + }, + }, + contract: DriveContractMethodVersions { + prove: DriveContractProveMethodVersions { + prove_contract: 0, + prove_contract_history: 0, + prove_contracts: 0, + }, + apply: DriveContractApplyMethodVersions { + apply_contract: 0, + apply_contract_with_serialization: 0, + }, + insert: DriveContractInsertMethodVersions { + add_contract_to_storage: 0, + insert_contract: 0, + }, + update: DriveContractUpdateMethodVersions { update_contract: 0 }, + costs: DriveContractCostsMethodVersions { + add_estimation_costs_for_contract_insertion: 0, + }, + get: DriveContractGetMethodVersions { + fetch_contract: 0, + fetch_contract_with_history: 0, + get_cached_contract_with_fetch_info: 0, + get_contract_with_fetch_info: 0, + get_contracts_with_fetch_info: 0, + }, + }, + fees: DriveFeesMethodVersions { calculate_fee: 0 }, + estimated_costs: DriveEstimatedCostsMethodVersions { + add_estimation_costs_for_levels_up_to_contract: 0, + add_estimation_costs_for_levels_up_to_contract_document_type_excluded: 0, + add_estimation_costs_for_contested_document_tree_levels_up_to_contract: 0, + add_estimation_costs_for_contested_document_tree_levels_up_to_contract_document_type_excluded: 0, + }, + asset_lock: DriveAssetLockMethodVersions { + add_asset_lock_outpoint: 0, + add_estimation_costs_for_adding_asset_lock: 0, + fetch_asset_lock_outpoint_info: 0, + }, + verify: DriveVerifyMethodVersions { + contract: DriveVerifyContractMethodVersions { + verify_contract: 0, + verify_contract_history: 0, + }, + document: DriveVerifyDocumentMethodVersions { + verify_proof: 0, + verify_proof_keep_serialized: 0, + verify_start_at_document_in_proof: 0, + }, + identity: DriveVerifyIdentityMethodVersions { + verify_full_identities_by_public_key_hashes: 0, + verify_full_identity_by_identity_id: 0, + verify_full_identity_by_public_key_hash: 0, + verify_identity_balance_for_identity_id: 0, + verify_identity_balances_for_identity_ids: 0, + verify_identity_id_by_public_key_hash: 0, + verify_identity_ids_by_public_key_hashes: 0, + verify_identity_keys_by_identity_id: 0, + verify_identity_nonce: 0, + verify_identity_contract_nonce: 0, + verify_identities_contract_keys: 0, + verify_identity_revision_for_identity_id: 0, + }, + single_document: DriveVerifySingleDocumentMethodVersions { + verify_proof: 0, + verify_proof_keep_serialized: 0, + }, + system: DriveVerifySystemMethodVersions { + verify_epoch_infos: 0, + verify_epoch_proposers: 0, + verify_elements: 0, + verify_total_credits_in_system: 0, + verify_upgrade_state: 0, + verify_upgrade_vote_status: 0, + }, + voting: DriveVerifyVoteMethodVersions { + verify_masternode_vote: 0, + verify_start_at_contender_in_proof: 0, + verify_vote_poll_votes_proof: 0, + verify_identity_votes_given_proof: 0, + verify_vote_poll_vote_state_proof: 0, + verify_contests_proof: 0, + verify_vote_polls_by_end_date_proof: 0, + verify_specialized_balance: 0, + }, + state_transition: DriveVerifyStateTransitionMethodVersions { + verify_state_transition_was_executed_with_proof: 0, + }, + }, + identity: DriveIdentityMethodVersions { + fetch: DriveIdentityFetchMethodVersions { + public_key_hashes: DriveIdentityFetchPublicKeyHashesMethodVersions { + fetch_full_identities_by_unique_public_key_hashes: 0, + fetch_full_identity_by_unique_public_key_hash: 0, + fetch_identity_id_by_unique_public_key_hash: 0, + fetch_identity_ids_by_non_unique_public_key_hash: 0, + fetch_identity_ids_by_unique_public_key_hashes: 0, + fetch_serialized_full_identity_by_unique_public_key_hash: 0, + has_any_of_unique_public_key_hashes: 0, + has_non_unique_public_key_hash: 0, + has_non_unique_public_key_hash_already_for_identity: 0, + has_unique_public_key_hash: 0, + }, + attributes: DriveIdentityFetchAttributesMethodVersions { + revision: 0, + nonce: 0, + identity_contract_nonce: 0, + balance: 0, + balance_include_debt: 0, + negative_balance: 0, + }, + partial_identity: DriveIdentityFetchPartialIdentityMethodVersions { + fetch_identity_revision_with_keys: 0, + fetch_identity_balance_with_keys: 0, + fetch_identity_balance_with_keys_and_revision: 0, + fetch_identity_with_balance: 0, + fetch_identity_keys: 0, + }, + full_identity: DriveIdentityFetchFullIdentityMethodVersions { + fetch_full_identity: Some(0), + fetch_full_identities: Some(0), + }, + }, + prove: DriveIdentityProveMethodVersions { + full_identity: 0, + full_identities: 0, + identity_nonce: 0, + identity_contract_nonce: 0, + identities_contract_keys: 0, + prove_full_identities_by_unique_public_key_hashes: 0, + prove_full_identity_by_unique_public_key_hash: 0, + prove_identity_id_by_unique_public_key_hash: 0, + prove_identity_ids_by_unique_public_key_hashes: 0, + }, + keys: DriveIdentityKeysMethodVersions { + fetch: DriveIdentityKeysFetchMethodVersions { + fetch_all_current_identity_keys: 0, + fetch_all_identity_keys: 0, + fetch_identities_all_keys: 0, + fetch_identity_keys: 0, + fetch_identities_contract_keys: 0, + }, + prove: DriveIdentityKeysProveMethodVersions { + prove_identities_all_keys: 0, + prove_identity_keys: 0, + }, + insert: DriveIdentityKeysInsertMethodVersions { + create_key_tree_with_keys: 0, + create_new_identity_key_query_trees: 0, + insert_key_searchable_references: 0, + insert_key_to_storage: 0, + insert_new_non_unique_key: 0, + insert_new_unique_key: 0, + replace_key_in_storage: 0, + }, + insert_key_hash_identity_reference: + DriveIdentityKeyHashesToIdentityInsertMethodVersions { + add_estimation_costs_for_insert_non_unique_public_key_hash_reference: 0, + add_estimation_costs_for_insert_unique_public_key_hash_reference: 0, + insert_non_unique_public_key_hash_reference_to_identity: 0, + insert_reference_to_non_unique_key: 0, + insert_reference_to_unique_key: 0, + insert_unique_public_key_hash_reference_to_identity: 0, + }, + }, + update: DriveIdentityUpdateMethodVersions { + update_identity_revision: 0, + merge_identity_nonce: 0, + update_identity_negative_credit_operation: 0, + initialize_identity_revision: 0, + disable_identity_keys: 0, + re_enable_identity_keys: 0, + add_new_non_unique_keys_to_identity: 0, + add_new_unique_keys_to_identity: 0, + add_new_keys_to_identity: 0, + insert_identity_balance: 0, + initialize_negative_identity_balance: 0, + add_to_identity_balance: 0, + add_to_previous_balance: 0, + apply_balance_change_from_fee_to_identity: 0, + remove_from_identity_balance: 0, + refresh_identity_key_reference_operations: 0, + }, + insert: DriveIdentityInsertMethodVersions { + add_new_identity: 0, + }, + contract_info: DriveIdentityContractInfoMethodVersions { + add_potential_contract_info_for_contract_bounded_key: 0, + refresh_potential_contract_info_key_references: 0, + merge_identity_contract_nonce: 0, + }, + cost_estimation: DriveIdentityCostEstimationMethodVersions { + for_authentication_keys_security_level_in_key_reference_tree: 0, + for_balances: 0, + for_contract_info: 0, + for_contract_info_group: 0, + for_contract_info_group_keys: 0, + for_contract_info_group_key_purpose: 0, + for_keys_for_identity_id: 0, + for_negative_credit: 0, + for_purpose_in_key_reference_tree: 0, + for_root_key_reference_tree: 0, + for_update_revision: 0, + }, + withdrawals: DriveIdentityWithdrawalMethodVersions { + document: DriveIdentityWithdrawalDocumentMethodVersions { + fetch_oldest_withdrawal_documents_by_status: 0, + find_up_to_100_withdrawal_documents_by_status_and_transaction_indices: 0, + }, + transaction: DriveIdentityWithdrawalTransactionMethodVersions { + index: DriveIdentityWithdrawalTransactionIndexMethodVersions { + fetch_next_withdrawal_transaction_index: 0, + add_update_next_withdrawal_transaction_index_operation: 0, + }, + queue: DriveIdentityWithdrawalTransactionQueueMethodVersions { + add_enqueue_untied_withdrawal_transaction_operations: 0, + dequeue_untied_withdrawal_transactions: 0, + }, + }, + }, + }, + platform_system: DrivePlatformSystemMethodVersions { + estimation_costs: DriveSystemEstimationCostsMethodVersions { + for_total_system_credits_update: 0, + }, + }, + operations: DriveOperationsMethodVersion { + rollback_transaction: 0, + drop_cache: 0, + commit_transaction: 0, + apply_partial_batch_low_level_drive_operations: 0, + apply_partial_batch_grovedb_operations: 0, + apply_batch_low_level_drive_operations: 0, + apply_batch_grovedb_operations: 0, + }, + state_transitions: DriveStateTransitionMethodVersions { + operations: DriveStateTransitionOperationMethodVersions { + finalization_tasks: 0, + contracts: DriveDataContractOperationMethodVersions { + finalization_tasks: 0, + }, + }, + convert_to_high_level_operations: + DriveStateTransitionActionConvertToHighLevelOperationsMethodVersions { + data_contract_create_transition: 0, + data_contract_update_transition: 0, + document_create_transition: 0, + document_delete_transition: 0, + document_purchase_transition: 0, + document_replace_transition: 0, + document_transfer_transition: 0, + document_update_price_transition: 0, + documents_batch_transition: 0, + identity_create_transition: 0, + identity_credit_transfer_transition: 0, + identity_credit_withdrawal_transition: 0, + identity_top_up_transition: 0, + identity_update_transition: 0, + masternode_vote_transition: 0, + bump_identity_data_contract_nonce: 0, + bump_identity_nonce: 0, + partially_use_asset_lock: 0, + }, + }, + batch_operations: DriveBatchOperationsMethodVersion { + convert_drive_operations_to_grove_operations: 0, + apply_drive_operations: 0, + }, + platform_state: DrivePlatformStateMethodVersions { + fetch_platform_state_bytes: 0, + store_platform_state_bytes: 0, + }, + fetch: DriveFetchMethodVersions { fetch_elements: 0 }, + prefunded_specialized_balances: DrivePrefundedSpecializedMethodVersions { + fetch_single: 0, + prove_single: 0, + add_prefunded_specialized_balance: 0, + add_prefunded_specialized_balance_operations: 0, + deduct_from_prefunded_specialized_balance: 0, + deduct_from_prefunded_specialized_balance_operations: 0, + estimated_cost_for_prefunded_specialized_balance_update: 0, + }, + }, + grove_methods: DriveGroveMethodVersions { + basic: DriveGroveBasicMethodVersions { + grove_insert: 0, + grove_insert_empty_tree: 0, + grove_insert_empty_sum_tree: 0, + grove_insert_if_not_exists: 0, + grove_clear: 0, + grove_delete: 0, + grove_get_raw: 0, + grove_get_raw_optional: 0, + grove_get_raw_value_u64_from_encoded_var_vec: 0, + grove_get: 0, + grove_get_path_query_serialized_results: 0, + grove_get_path_query_serialized_or_sum_results: 0, + grove_get_path_query: 0, + grove_get_path_query_with_optional: 0, + grove_get_raw_path_query_with_optional: 0, + grove_get_raw_path_query: 0, + grove_get_proved_path_query: 0, + grove_get_proved_path_query_with_conditional: 0, + grove_get_sum_tree_total_value: 0, + grove_has_raw: 0, + }, + batch: DriveGroveBatchMethodVersions { + batch_insert_empty_tree: 0, + batch_insert_empty_tree_if_not_exists: 0, + batch_insert_empty_tree_if_not_exists_check_existing_operations: 0, + batch_insert: 0, + batch_insert_if_not_exists: 0, + batch_insert_if_changed_value: 0, + batch_replace: 0, + batch_delete: 0, + batch_remove_raw: 0, + batch_delete_up_tree_while_empty: 0, + batch_refresh_reference: 0, + }, + apply: DriveGroveApplyMethodVersions { + grove_apply_operation: 0, + grove_apply_batch: 0, + grove_apply_partial_batch: 0, + }, + costs: DriveGroveCostMethodVersions { + grove_batch_operations_costs: 0, + }, + }, + grove_version: GROVE_V1, + }, + platform_architecture: PlatformArchitectureVersion { + data_contract_factory_structure_version: 0, + document_factory_structure_version: 0, + }, + drive_abci: DriveAbciVersion { + structs: DriveAbciStructureVersions { + platform_state_structure: 0, + platform_state_for_saving_structure: 0, + state_transition_execution_context: 0, + commit: 0, + masternode: 0, + signature_verification_quorum_set: 0, + }, + methods: DriveAbciMethodVersions { + engine: DriveAbciEngineMethodVersions { + init_chain: 0, + check_tx: 0, + run_block_proposal: 0, + finalize_block_proposal: 0, + consensus_params_update: 0, + }, + initialization: DriveAbciInitializationMethodVersions { + initial_core_height_and_time: 0, + create_genesis_state: 0, + }, + core_based_updates: DriveAbciCoreBasedUpdatesMethodVersions { + update_core_info: 0, + update_masternode_list: 0, + update_quorum_info: 0, + masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions { + get_voter_identity_key: 0, + get_operator_identity_keys: 0, + get_owner_identity_withdrawal_key: 0, + get_voter_identifier_from_masternode_list_item: 0, + get_operator_identifier_from_masternode_list_item: 0, + create_operator_identity: 0, + create_owner_identity: 0, + create_voter_identity: 0, + disable_identity_keys: 0, + update_masternode_identities: 0, + update_operator_identity: 0, + update_owner_withdrawal_address: 0, + update_voter_identity: 0, + }, + }, + protocol_upgrade: DriveAbciProtocolUpgradeMethodVersions { + check_for_desired_protocol_upgrade: 1, + upgrade_protocol_version_on_epoch_change: 0, + protocol_version_upgrade_percentage_needed: 67, + }, + block_fee_processing: DriveAbciBlockFeeProcessingMethodVersions { + add_process_epoch_change_operations: 0, + process_block_fees: 0, + }, + core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants { + choose_quorum: 0, + verify_chain_lock: 0, + verify_chain_lock_locally: 0, + verify_chain_lock_through_core: 0, + make_sure_core_is_synced_to_chain_lock: 0, + recent_block_count_amount: 2, + }, + core_instant_send_lock: DriveAbciCoreInstantSendLockMethodVersions { + verify_recent_signature_locally: 0, + }, + fee_pool_inwards_distribution: DriveAbciFeePoolInwardsDistributionMethodVersions { + add_distribute_block_fees_into_pools_operations: 0, + add_distribute_storage_fee_to_epochs_operations: 0, + }, + fee_pool_outwards_distribution: DriveAbciFeePoolOutwardsDistributionMethodVersions { + add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations: 0, + add_epoch_pool_to_proposers_payout_operations: 0, + find_oldest_epoch_needing_payment: 0, + fetch_reward_shares_list_for_masternode: 0, + }, + withdrawals: DriveAbciIdentityCreditWithdrawalMethodVersions { + build_untied_withdrawal_transactions_from_documents: 0, + dequeue_and_build_unsigned_withdrawal_transactions: 0, + fetch_transactions_block_inclusion_status: 0, + pool_withdrawals_into_transactions_queue: 0, + update_broadcasted_withdrawal_statuses: 0, + append_signatures_and_broadcast_withdrawal_transactions: 0, + }, + voting: DriveAbciVotingMethodVersions { + keep_record_of_finished_contested_resource_vote_poll: 0, + clean_up_after_vote_poll_end: 0, + clean_up_after_contested_resources_vote_poll_end: 0, + check_for_ended_vote_polls: 0, + tally_votes_for_contested_document_resource_vote_poll: 0, + award_document_to_winner: 0, + delay_vote_poll: 0, + run_dao_platform_events: 0, + remove_votes_for_removed_masternodes: 0, + }, + state_transition_processing: DriveAbciStateTransitionProcessingMethodVersions { + execute_event: 0, + process_raw_state_transitions: 0, + decode_raw_state_transitions: 0, + validate_fees_of_event: 0, + }, + epoch: DriveAbciEpochMethodVersions { + gather_epoch_info: 0, + get_genesis_time: 0, + }, + block_start: DriveAbciBlockStartMethodVersions { + clear_drive_block_cache: 0, + }, + block_end: DriveAbciBlockEndMethodVersions { + update_state_cache: 0, + update_drive_cache: 0, + validator_set_update: 1, + }, + platform_state_storage: DriveAbciPlatformStateStorageMethodVersions { + fetch_platform_state: 0, + store_platform_state: 0, + }, + }, + validation_and_processing: DriveAbciValidationVersions { + state_transitions: DriveAbciStateTransitionValidationVersions { + common_validation_methods: DriveAbciStateTransitionCommonValidationVersions { + asset_locks: DriveAbciAssetLockValidationVersions { + fetch_asset_lock_transaction_output_sync: 0, + verify_asset_lock_is_not_spent_and_has_enough_balance: 0, + }, + validate_identity_public_key_contract_bounds: 0, + validate_identity_public_key_ids_dont_exist_in_state: 0, + validate_identity_public_key_ids_exist_in_state: 0, + validate_state_transition_identity_signed: 0, + validate_unique_identity_public_key_hashes_in_state: 0, + validate_master_key_uniqueness: 0, + validate_simple_pre_check_balance: 0, + }, + max_asset_lock_usage_attempts: 16, + identity_create_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: Some(0), + identity_signatures: Some(0), + advanced_minimum_balance_pre_check: None, + nonce: None, + state: 0, + transform_into_action: 0, + }, + identity_update_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: Some(0), + identity_signatures: Some(0), + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + identity_top_up_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: None, + state: 0, + transform_into_action: 0, + }, + identity_credit_withdrawal_state_transition: + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(1), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + identity_credit_transfer_state_transition: + DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + masternode_vote_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: None, + advanced_structure: Some(0), + identity_signatures: None, + advanced_minimum_balance_pre_check: Some(0), + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + contract_create_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: Some(0), + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + contract_update_state_transition: DriveAbciStateTransitionValidationVersion { + basic_structure: None, + advanced_structure: None, + identity_signatures: None, + advanced_minimum_balance_pre_check: None, + nonce: Some(0), + state: 0, + transform_into_action: 0, + }, + documents_batch_state_transition: + DriveAbciDocumentsStateTransitionValidationVersions { + balance_pre_check: 0, + basic_structure: 0, + advanced_structure: 0, + state: 0, + revision: 0, + transform_into_action: 0, + data_triggers: DriveAbciValidationDataTriggerAndBindingVersions { + bindings: 0, + triggers: DriveAbciValidationDataTriggerVersions { + create_contact_request_data_trigger: 0, + create_domain_data_trigger: 0, + create_identity_data_trigger: 0, + create_feature_flag_data_trigger: 0, + create_masternode_reward_shares_data_trigger: 0, + delete_withdrawal_data_trigger: 0, + reject_data_trigger: 0, + }, + }, + is_allowed: 0, + document_create_transition_structure_validation: 0, + document_delete_transition_structure_validation: 0, + document_replace_transition_structure_validation: 0, + document_transfer_transition_structure_validation: 0, + document_purchase_transition_structure_validation: 0, + document_update_price_transition_structure_validation: 0, + document_create_transition_state_validation: 1, + document_delete_transition_state_validation: 0, + document_replace_transition_state_validation: 0, + document_transfer_transition_state_validation: 0, + document_purchase_transition_state_validation: 0, + document_update_price_transition_state_validation: 0, + }, + }, + process_state_transition: 0, + state_transition_to_execution_event_for_check_tx: 0, + penalties: PenaltyAmounts { + identity_id_not_correct: 50000000, + unique_key_already_present: 10000000, + validation_of_added_keys_structure_failure: 10000000, + validation_of_added_keys_proof_of_possession_failure: 50000000, + }, + event_constants: DriveAbciValidationConstants { + maximum_vote_polls_to_process: 2, + maximum_contenders_to_consider: 100, + }, + }, + query: DriveAbciQueryVersions { + max_returned_elements: 100, + response_metadata: 0, + proofs_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + prefunded_specialized_balances: DriveAbciQueryPrefundedSpecializedBalancesVersions { + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + identity_based_queries: DriveAbciQueryIdentityVersions { + identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_contract_keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_nonce: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_contract_nonce: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_balances: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance_and_revision: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_by_public_key_hash: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + validator_queries: DriveAbciQueryValidatorVersions { + proposed_block_counts_by_evonode_ids: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + proposed_block_counts_by_range: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + data_contract_based_queries: DriveAbciQueryDataContractVersions { + data_contract: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contract_history: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contracts: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + voting_based_queries: DriveAbciQueryVotingVersions { + vote_polls_by_end_date_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_vote_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_voters_for_identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resource_identity_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contested_resources: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + system: DriveAbciQuerySystemVersions { + version_upgrade_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + version_upgrade_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + epoch_infos: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + current_quorums_info: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + partial_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + path_elements: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + total_credits_in_platform: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, + }, + dpp: DPPVersion { + costs: CostVersions { + signature_verify: 0, + }, + validation: DPPValidationVersions { + json_schema_validator: JsonSchemaValidatorVersions { + new: 0, + validate: 0, + compile: 0, + compile_and_validate: 0, + }, + data_contract: DataContractValidationVersions { + validate: 0, + validate_config_update: 0, + validate_index_definitions: 0, + validate_index_naming_duplicates: 0, + validate_not_defined_properties: 0, + validate_property_definition: 0, + }, + document_type: DocumentTypeValidationVersions { + validate_update: 0, + contested_index_limit: 1, + unique_index_limit: 10, + }, + voting: VotingValidationVersions { + allow_other_contenders_time_mainnet_ms: 604_800_000, // 1 week in ms + allow_other_contenders_time_testing_ms: 2_700_000, //45 minutes + votes_allowed_per_masternode: 5, + }, + }, + state_transition_serialization_versions: StateTransitionSerializationVersions { + identity_public_key_in_creation: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_create_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_update_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_top_up_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_credit_withdrawal_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_credit_transfer_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + masternode_vote_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_create_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_update_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + documents_batch_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_base_state_transition: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_create_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_replace_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_delete_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_transfer_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_update_price_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + document_purchase_state_transition: DocumentFeatureVersionBounds { + bounds: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, + state_transition_conversion_versions: StateTransitionConversionVersions { + identity_to_identity_create_transition: 0, + identity_to_identity_top_up_transition: 0, + identity_to_identity_withdrawal_transition: 1, + identity_to_identity_create_transition_with_signer: 0, + }, + state_transition_method_versions: StateTransitionMethodVersions { + public_key_in_creation_methods: PublicKeyInCreationMethodVersions { + from_public_key_signed_with_private_key: 0, + from_public_key_signed_external: 0, + hash: 0, + duplicated_key_ids_witness: 0, + duplicated_keys_witness: 0, + validate_identity_public_keys_structure: 0, + }, + }, + state_transitions: StateTransitionVersions { + documents: DocumentTransitionVersions { + documents_batch_transition: DocumentsBatchTransitionVersions { + validation: DocumentsBatchTransitionValidationVersions { + find_duplicates_by_id: 0, + validate_base_structure: 0, + }, + }, + }, + identities: IdentityTransitionVersions { + max_public_keys_in_creation: 6, + asset_locks: IdentityTransitionAssetLockVersions { + required_asset_lock_duff_balance_for_processing_start_for_identity_create: + 200000, + required_asset_lock_duff_balance_for_processing_start_for_identity_top_up: + 50000, + validate_asset_lock_transaction_structure: 0, + validate_instant_asset_lock_proof_structure: 0, + }, + }, + }, + contract_versions: ContractVersions { + max_serialized_size: 65000, + contract_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + contract_structure_version: 0, + created_data_contract_structure: 0, + config: 0, + methods: DataContractMethodVersions { + validate_document: 0, + validate_update: 0, + schema: 0, + }, + document_type_versions: DocumentTypeVersions { + index_versions: DocumentTypeIndexVersions { + index_levels_from_indices: 0, + }, + class_method_versions: DocumentTypeClassMethodVersions { + try_from_schema: 0, + create_document_types_from_document_schemas: 0, + }, + structure_version: 0, + schema: DocumentTypeSchemaVersions { + enrich_with_base_schema: 0, + find_identifier_and_binary_paths: 0, + validate_max_depth: 0, + max_depth: 256, + recursive_schema_validator_versions: RecursiveSchemaValidatorVersions { + traversal_validator: 0, + }, + validate_schema_compatibility: 0, + }, + methods: DocumentTypeMethodVersions { + create_document_from_data: 0, + create_document_with_prevalidated_properties: 0, + prefunded_voting_balance_for_document: 0, + contested_vote_poll_for_document: 0, + estimated_size: 0, + index_for_types: 0, + max_size: 0, + serialize_value_for_key: 0, + deserialize_value_for_key: 0, + }, + }, + }, + document_versions: DocumentVersions { + document_structure_version: 0, + document_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_cbor_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + extended_document_structure_version: 0, + extended_document_serialization_version: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_method_versions: DocumentMethodVersions { + is_equal_ignoring_timestamps: 0, + hash: 0, + get_raw_for_contract: 0, + get_raw_for_document_type: 0, + try_into_asset_unlock_base_transaction_info: 0, + }, + }, + identity_versions: IdentityVersions { + identity_structure_version: 0, + identity_key_structure_version: 0, + identity_key_type_method_versions: IdentityKeyTypeMethodVersions { + random_public_key_data: 0, + random_public_and_private_key_data: 0, + }, + }, + voting_versions: VotingVersions { + default_vote_poll_time_duration_mainnet_ms: 1_209_600_000, //2 weeks + default_vote_poll_time_duration_test_network_ms: 5_400_000, //90 minutes + contested_document_vote_poll_stored_info_version: 0, + }, + asset_lock_versions: AssetLockVersions { + reduced_asset_lock_value: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + methods: DPPMethodVersions { + epoch_core_reward_credits_for_distribution: 0, + }, + }, + system_data_contracts: SystemDataContractVersions { + withdrawals: 1, + dpns: 1, + dashpay: 1, + masternode_reward_shares: 1, + feature_flags: 1, + }, + fee_version: FEE_VERSION1, + system_limits: SystemLimits { + estimated_contract_max_serialized_size: 16384, + max_field_value_size: 5120, //5 KiB + max_state_transition_size: 20480, //20 KiB + max_transitions_in_documents_batch: 1, + withdrawal_transactions_per_block_limit: 4, + }, + consensus: ConsensusVersions { + tenderdash_consensus_version: 1, + }, +}; diff --git a/packages/rs-platform-versioning/Cargo.toml b/packages/rs-platform-versioning/Cargo.toml index 107cdbb7556..5e7d26322d7 100644 --- a/packages/rs-platform-versioning/Cargo.toml +++ b/packages/rs-platform-versioning/Cargo.toml @@ -2,9 +2,9 @@ name = "platform-versioning" authors = ["Samuel Westrich "] description = "Version derivation" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [lib] diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index 70f74c0a4a4..b2efa718059 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dash-sdk" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" [dependencies] @@ -26,7 +26,7 @@ serde = { version = "1.0.197", default-features = false, features = [ ], optional = true } serde_json = { version = "1.0", features = ["preserve_order"], optional = true } tracing = { version = "0.1.40" } -hex = { version = "0.4.3"} +hex = { version = "0.4.3" } dotenvy = { version = "0.15.7", optional = true } envy = { version = "0.4.2", optional = true } futures = { version = "0.3.30" } diff --git a/packages/rs-sdk/README.md b/packages/rs-sdk/README.md index 4d543c5857b..c14b9bbd592 100644 --- a/packages/rs-sdk/README.md +++ b/packages/rs-sdk/README.md @@ -97,9 +97,9 @@ Run the offline test using the following command: cargo test -p dash-platform-sdk ``` -## Implementing Fetch and FetchAny on new objects +## Implementing Fetch and FetchMany on new objects -How to implement `Fetch` and `FetchAny` trait on new object types (`Object`). +How to implement `Fetch` and `FetchMany` trait on new object types (`Object`). It's basically copy-paste and tweaking of existing implementation for another object type. @@ -114,7 +114,7 @@ Definitions: Checklist: 1. [ ] Ensure protobuf messages are defined in `packages/dapi-grpc/protos/platform/v0/platform.proto` and generated - correctly in `packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs`. + correctly in `packages/dapi-grpc/src/platform/client/org.dash.platform.dapi.v0.rs`. 2. [ ] In `packages/dapi-grpc/build.rs`, add `Request` to `VERSIONED_REQUESTS` and response `Response` to `VERSIONED_RESPONSES`. This should add derive of `VersionedGrpcMessage` (and some more) in `org.dash.platform.dapi.v0.rs`. 3. [ ] Link request and response type to dapi-client by adding appropriate invocation of `impl_transport_request_grpc!` macro @@ -123,7 +123,7 @@ in `packages/rs-dapi-client/src/transport/grpc.rs`. used internally. If you intend to implement `FetchMany`, you should define type returned by `fetch_many()` using `RetrievedObjects` - that will store collection of returned objects, indexd by some key. + that will store collection of returned objects, indexed by some key. 5. [ ] Implement `FromProof` trait for the `Object` (or type defined in `types.rs`) in `packages/rs-drive-proof-verifier/src/proof.rs`. 6. [ ] Implement `Query` trait for the `Request` in `packages/rs-sdk/src/platform/query.rs`. 7. [ ] Implement `Fetch` trait for the `Object` (or type defined in `types.rs`), with inner type Request = `Request`, diff --git a/packages/rs-sdk/src/core/transaction.rs b/packages/rs-sdk/src/core/transaction.rs index a7046a2fdb6..39dd85e562c 100644 --- a/packages/rs-sdk/src/core/transaction.rs +++ b/packages/rs-sdk/src/core/transaction.rs @@ -1,12 +1,11 @@ +use crate::platform::fetch_current_no_parameters::FetchCurrent; +use crate::platform::types::epoch::Epoch; use crate::{Error, Sdk}; use bip37_bloom_filter::{BloomFilter, BloomFilterData}; use dapi_grpc::core::v0::{ transactions_with_proofs_request, transactions_with_proofs_response, GetTransactionRequest, GetTransactionResponse, TransactionsWithProofsRequest, TransactionsWithProofsResponse, }; -use dapi_grpc::platform::v0::{ - get_epochs_info_request, get_epochs_info_response, GetEpochsInfoRequest, GetEpochsInfoResponse, -}; use dpp::dashcore::consensus::Decodable; use dpp::dashcore::{Address, InstantLock, MerkleBlock, OutPoint, Transaction, Txid}; use dpp::identity::state_transition::asset_lock_proof::chain::ChainAssetLockProof; @@ -201,30 +200,8 @@ impl Sdk { // Wait until platform chain is on the block's chain locked height loop { - let request = GetEpochsInfoRequest { - version: Some(get_epochs_info_request::Version::V0( - get_epochs_info_request::GetEpochsInfoRequestV0 { - start_epoch: Some(0), - count: 1, - ..Default::default() - }, - )), - }; - - let GetEpochsInfoResponse { - version: - Some(get_epochs_info_response::Version::V0( - get_epochs_info_response::GetEpochsInfoResponseV0 { - metadata: Some(metadata), - .. - }, - )), - } = self.execute(request, RequestSettings::default()).await? - else { - return Err(Error::DapiClientError(String::from( - "missing V0 `metadata` field", - ))); - }; + let (_epoch, metadata) = + Epoch::fetch_current_with_metadata(self).await?; if metadata.core_chain_locked_height >= core_chain_locked_height { break; diff --git a/packages/rs-sdk/src/core_client.rs b/packages/rs-sdk/src/core_client.rs index 656fff61b1c..e68bb6166d3 100644 --- a/packages/rs-sdk/src/core_client.rs +++ b/packages/rs-sdk/src/core_client.rs @@ -3,6 +3,7 @@ //! TODO: This is a temporary implementation, effective until we integrate SPV //! into dash-platform-sdk. +use crate::error::Error; use dashcore_rpc::{ dashcore::{hashes::Hash, Amount, QuorumHash}, dashcore_rpc_json as json, @@ -10,11 +11,10 @@ use dashcore_rpc::{ Auth, Client, RpcApi, }; use dpp::dashcore::ProTxHash; +use dpp::prelude::CoreBlockHeight; use drive_proof_verifier::error::ContextProviderError; use std::{fmt::Debug, sync::Mutex}; -use crate::error::Error; - /// Core RPC client that can be used to retrieve quorum keys from core. /// /// Implements [`ContextProvider`] trait. @@ -120,7 +120,7 @@ impl CoreClient { let core = self.core.lock().expect("Core lock poisoned"); let quorum_info = core .get_quorum_info(json::QuorumType::from(quorum_type), &quorum_hash, None) - .map_err(|e: dashcore_rpc::Error| ContextProviderError::InvalidQuorum(e.to_string()))?; + .map_err(|e: dashcore_rpc::Error| ContextProviderError::Generic(e.to_string()))?; let key = quorum_info.quorum_public_key; let pubkey = as TryInto<[u8; 48]>>::try_into(key).map_err(|_e| { ContextProviderError::InvalidQuorum( @@ -130,6 +130,25 @@ impl CoreClient { Ok(pubkey) } + /// Retrieve platform activation height from core. + pub fn get_platform_activation_height(&self) -> Result { + let core = self.core.lock().expect("Core lock poisoned"); + + let fork_info = core + .get_blockchain_info() + .map(|blockchain_info| blockchain_info.softforks.get("mn_rr").cloned()) + .map_err(|e: dashcore_rpc::Error| ContextProviderError::Generic(e.to_string()))? + .ok_or(ContextProviderError::ActivationForkError( + "no fork info for mn_rr".to_string(), + ))?; + + fork_info + .height + .ok_or(ContextProviderError::ActivationForkError( + "unknown fork height".to_string(), + )) + } + /// Require list of validators from Core. /// /// See also [Dash Core documentation](https://docs.dash.org/projects/core/en/stable/docs/api/remote-procedure-calls-evo.html#protx-list) diff --git a/packages/rs-sdk/src/error.rs b/packages/rs-sdk/src/error.rs index 1ff0e73dddf..ce8b3f309ad 100644 --- a/packages/rs-sdk/src/error.rs +++ b/packages/rs-sdk/src/error.rs @@ -46,6 +46,9 @@ pub enum Error { /// Dependency not found, for example data contract for a document not found #[error("Required {0} not found: {1}")] MissingDependency(String, String), + /// Total credits in Platform are not found; we must always have credits in Platform + #[error("Total credits in Platform are not found; it should never happen")] + TotalCreditsNotFound, /// Epoch not found; we must have at least one epoch #[error("No epoch found on Platform; it should never happen")] EpochNotFound, diff --git a/packages/rs-sdk/src/lib.rs b/packages/rs-sdk/src/lib.rs index 14b65a58c2c..d165a211a51 100644 --- a/packages/rs-sdk/src/lib.rs +++ b/packages/rs-sdk/src/lib.rs @@ -32,8 +32,8 @@ //! //! 1. [`Identifier`](crate::platform::Identifier) - fetches an object by its identifier //! 2. [`DocumentQuery`](crate::platform::DocumentQuery) - fetches documents based on search conditions; see -//! [query syntax documentation](https://docs.dash.org/projects/platform/en/stable/docs/reference/query-syntax.html) -//! for more details. +//! [query syntax documentation](https://docs.dash.org/projects/platform/en/stable/docs/reference/query-syntax.html) +//! for more details. //! 3. [`DriveQuery`](crate::platform::DriveDocumentQuery) - can be used to build more complex queries //! //! ## Testability @@ -73,6 +73,7 @@ pub mod sdk; pub use error::Error; pub use sdk::{RequestSettings, Sdk, SdkBuilder}; +pub use dashcore_rpc; pub use dpp; pub use rs_dapi_client as dapi_client; diff --git a/packages/rs-sdk/src/mock.rs b/packages/rs-sdk/src/mock.rs index b3f1b69c639..7ad4dc7ccd4 100644 --- a/packages/rs-sdk/src/mock.rs +++ b/packages/rs-sdk/src/mock.rs @@ -32,7 +32,6 @@ pub mod sdk; // Otherwise dapi_grpc_macros::Mockable fails. // TODO: move Mockable to some crate that can be shared between dapi-grpc, rs-dapi-client, and dash-sdk pub use dapi_grpc::mock::Mockable; - // MockResponse is needed even if mocks feature is disabled - it just does nothing. #[cfg(not(feature = "mocks"))] pub use noop::MockResponse; diff --git a/packages/rs-sdk/src/mock/provider.rs b/packages/rs-sdk/src/mock/provider.rs index 67aadfdb016..8c0297bf475 100644 --- a/packages/rs-sdk/src/mock/provider.rs +++ b/packages/rs-sdk/src/mock/provider.rs @@ -4,7 +4,7 @@ use crate::core_client::CoreClient; use crate::platform::Fetch; use crate::{Error, Sdk}; use arc_swap::ArcSwapAny; -use dpp::prelude::{DataContract, Identifier}; +use dpp::prelude::{CoreBlockHeight, DataContract, Identifier}; use drive_proof_verifier::error::ContextProviderError; use drive_proof_verifier::ContextProvider; use pollster::FutureExt; @@ -212,6 +212,10 @@ impl ContextProvider for GrpcContextProvider { Ok(data_contract.map(Arc::new)) } + + fn get_platform_activation_height(&self) -> Result { + self.core.get_platform_activation_height() + } } /// Thread-safe cache of various objects inside the SDK. diff --git a/packages/rs-sdk/src/mock/requests.rs b/packages/rs-sdk/src/mock/requests.rs index 015da012bf4..d29e48d4103 100644 --- a/packages/rs-sdk/src/mock/requests.rs +++ b/packages/rs-sdk/src/mock/requests.rs @@ -15,8 +15,10 @@ use dpp::{ voting::votes::{resource_vote::ResourceVote, Vote}, }; use drive_proof_verifier::types::{ - Contenders, ContestedResources, IdentityBalanceAndRevision, MasternodeProtocolVote, - PrefundedSpecializedBalance, VotePollsGroupedByTimestamp, Voters, + Contenders, ContestedResources, CurrentQuorumsInfo, ElementFetchRequestItem, EvoNodeStatus, + IdentityBalanceAndRevision, MasternodeProtocolVote, PrefundedSpecializedBalance, + ProposerBlockCounts, RetrievedIntegerValue, TotalCreditsInPlatform, + VotePollsGroupedByTimestamp, Voters, }; use std::collections::BTreeMap; @@ -209,11 +211,26 @@ impl MockResponse for ProTxHash { } } +impl MockResponse for ProposerBlockCounts { + fn mock_serialize(&self, sdk: &MockDashPlatformSdk) -> Vec { + self.0.mock_serialize(sdk) + } + + fn mock_deserialize(sdk: &MockDashPlatformSdk, buf: &[u8]) -> Self + where + Self: Sized, + { + let data = RetrievedIntegerValue::::mock_deserialize(sdk, buf); + ProposerBlockCounts(data) + } +} + impl_mock_response!(Identity); impl_mock_response!(IdentityPublicKey); impl_mock_response!(Identifier); impl_mock_response!(MasternodeProtocolVote); impl_mock_response!(ResourceVote); +impl_mock_response!(u8); impl_mock_response!(u16); impl_mock_response!(u32); impl_mock_response!(u64); @@ -225,3 +242,7 @@ impl_mock_response!(Contenders); impl_mock_response!(Voters); impl_mock_response!(VotePollsGroupedByTimestamp); impl_mock_response!(PrefundedSpecializedBalance); +impl_mock_response!(TotalCreditsInPlatform); +impl_mock_response!(ElementFetchRequestItem); +impl_mock_response!(EvoNodeStatus); +impl_mock_response!(CurrentQuorumsInfo); diff --git a/packages/rs-sdk/src/mock/sdk.rs b/packages/rs-sdk/src/mock/sdk.rs index d98b91aa32e..02258c0cd13 100644 --- a/packages/rs-sdk/src/mock/sdk.rs +++ b/packages/rs-sdk/src/mock/sdk.rs @@ -1,13 +1,22 @@ //! Mocking mechanisms for Dash Platform SDK. //! //! See [MockDashPlatformSdk] for more details. +use crate::{ + platform::{ + types::{evonode::EvoNode, identity::IdentityRequest}, + DocumentQuery, Fetch, FetchMany, Query, + }, + Error, Sdk, +}; +use arc_swap::ArcSwapOption; use dapi_grpc::platform::v0::{Proof, ResponseMetadata}; use dapi_grpc::{ mock::Mockable, platform::v0::{self as proto}, }; +use dpp::dashcore::Network; use dpp::version::PlatformVersion; -use drive_proof_verifier::{error::ContextProviderError, FromProof, MockContextProvider}; +use drive_proof_verifier::{error::ContextProviderError, ContextProvider, FromProof}; use rs_dapi_client::mock::MockError; use rs_dapi_client::{ mock::{Key, MockDapiClient}, @@ -17,11 +26,6 @@ use rs_dapi_client::{ use std::{collections::BTreeMap, path::PathBuf, sync::Arc}; use tokio::sync::Mutex; -use crate::{ - platform::{types::identity::IdentityRequest, DocumentQuery, Fetch, FetchMany, Query}, - Error, -}; - use super::MockResponse; /// Mechanisms to mock Dash Platform SDK. @@ -34,47 +38,55 @@ use super::MockResponse; /// ## Panics /// /// Can panic on errors. -#[derive(Debug, Clone)] +#[derive(Debug)] pub struct MockDashPlatformSdk { from_proof_expectations: BTreeMap>, platform_version: &'static PlatformVersion, dapi: Arc>, - prove: bool, - quorum_provider: Option>, + sdk: ArcSwapOption, } impl MockDashPlatformSdk { - pub(crate) fn new( - version: &'static PlatformVersion, - dapi: Arc>, - prove: bool, - ) -> Self { + /// Returns true when requests should use proofs. + /// + /// ## Panics + /// + /// Panics when sdk is not set during initialization. + pub fn prove(&self) -> bool { + if let Some(sdk) = self.sdk.load().as_ref() { + sdk.prove() + } else { + panic!("sdk must be set when creating mock ") + } + } + + /// Create new mock SDK. + /// + /// ## Note + /// + /// You have to call [MockDashPlatformSdk::with_sdk()] to set sdk, otherwise Mock SDK will panic. + pub(crate) fn new(version: &'static PlatformVersion, dapi: Arc>) -> Self { Self { from_proof_expectations: Default::default(), platform_version: version, dapi, - prove, - quorum_provider: None, + sdk: ArcSwapOption::new(None), } } - pub(crate) fn version<'v>(&self) -> &'v PlatformVersion { - self.platform_version + pub(crate) fn set_sdk(&mut self, sdk: Sdk) { + self.sdk.store(Some(Arc::new(sdk))); } - /// Define a directory where files containing quorum information, like quorum public keys, are stored. - /// - /// This directory will be used to load quorum information from files. - /// You can use [SdkBuilder::with_dump_dir()](crate::SdkBuilder::with_dump_dir()) to generate these files. - pub fn quorum_info_dir>(&mut self, dir: P) -> &mut Self { - let mut provider = MockContextProvider::new(); - provider.quorum_keys_dir(Some(dir.as_ref().to_path_buf())); - self.quorum_provider = Some(Arc::new(provider)); - self + pub(crate) fn version<'v>(&self) -> &'v PlatformVersion { + self.platform_version } /// Load all expectations from files in a directory. /// + /// + /// By default, mock expectations are loaded when Sdk is built with [SdkBuilder::build()](crate::SdkBuilder::build()). + /// This function can be used to load expectations after the Sdk is created, or use alternative location. /// Expectation files must be prefixed with [DapiClient::DUMP_FILE_PREFIX] and /// have `.json` extension. pub async fn load_expectations>( @@ -184,9 +196,18 @@ impl MockDashPlatformSdk { self.load_expectation::(filename) .await? } + "GetPathElementsRequest" => { + self.load_expectation::(filename) + .await? + } + "GetTotalCreditsInPlatformRequest" => { + self.load_expectation::(filename) + .await? + } + "EvoNode" => self.load_expectation::(filename).await?, _ => { return Err(Error::Config(format!( - "unknown request type {} in {}", + "unknown request type {} in {}, missing match arm in load_expectations?", request_type, filename.display() ))) @@ -270,7 +291,7 @@ impl MockDashPlatformSdk { where <::Request as TransportRequest>::Response: Default, { - let grpc_request = query.query(self.prove).expect("query must be correct"); + let grpc_request = query.query(self.prove()).expect("query must be correct"); self.expect(grpc_request, object).await?; Ok(self) @@ -324,7 +345,7 @@ impl MockDashPlatformSdk { Response = <>::Request as TransportRequest>::Response, > + Sync, { - let grpc_request = query.query(self.prove).expect("query must be correct"); + let grpc_request = query.query(self.prove()).expect("query must be correct"); self.expect(grpc_request, objects).await?; Ok(self) @@ -385,14 +406,28 @@ impl MockDashPlatformSdk { ), None => { let version = self.version(); - let provider = self.quorum_provider.as_ref() + let provider = self.context_provider() .ok_or(ContextProviderError::InvalidQuorum( "expectation not found and quorum info provider not initialized with sdk.mock().quorum_info_dir()".to_string() ))?; - O::maybe_from_proof_with_metadata(request, response, version, provider)? + O::maybe_from_proof_with_metadata( + request, + response, + Network::Regtest, + version, + &provider, + )? } }; Ok(data) } + /// Return context provider implementation defined for upstreeam Sdk object. + fn context_provider(&self) -> Option { + if let Some(sdk) = self.sdk.load_full() { + sdk.clone().context_provider() + } else { + None + } + } } diff --git a/packages/rs-sdk/src/platform.rs b/packages/rs-sdk/src/platform.rs index e58649ab7b6..a4c0fb83f4f 100644 --- a/packages/rs-sdk/src/platform.rs +++ b/packages/rs-sdk/src/platform.rs @@ -9,7 +9,9 @@ pub mod block_info_from_metadata; mod delegate; mod document_query; mod fetch; +pub mod fetch_current_no_parameters; mod fetch_many; +mod fetch_unproved; mod identities_contract_keys_query; mod query; pub mod transition; @@ -30,5 +32,6 @@ pub use { document_query::DocumentQuery, fetch::Fetch, fetch_many::FetchMany, + fetch_unproved::FetchUnproved, query::{LimitQuery, Query, QueryStartInfo, DEFAULT_EPOCH_QUERY_LIMIT}, }; diff --git a/packages/rs-sdk/src/platform/delegate.rs b/packages/rs-sdk/src/platform/delegate.rs index 37b5e47bc8e..9b77b751e66 100644 --- a/packages/rs-sdk/src/platform/delegate.rs +++ b/packages/rs-sdk/src/platform/delegate.rs @@ -81,6 +81,7 @@ macro_rules! delegate_from_proof_variant { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, + network: dpp::dashcore::Network, version: &dpp::version::PlatformVersion, provider: &'a dyn drive_proof_verifier::ContextProvider, ) -> Result<(Option, ResponseMetadata, dapi_grpc::platform::v0::Proof), drive_proof_verifier::Error> @@ -97,7 +98,7 @@ macro_rules! delegate_from_proof_variant { req::$variant(request) => { if let resp::$variant(response) = response { >::maybe_from_proof_with_metadata( - request, response, version, provider, + request, response, network, version, provider, ) } else { Err(drive_proof_verifier::Error::ResponseDecodeError { @@ -108,7 +109,7 @@ macro_rules! delegate_from_proof_variant { ), }) } - }, + } )* } } diff --git a/packages/rs-sdk/src/platform/document_query.rs b/packages/rs-sdk/src/platform/document_query.rs index 7beb977643b..9c61f943760 100644 --- a/packages/rs-sdk/src/platform/document_query.rs +++ b/packages/rs-sdk/src/platform/document_query.rs @@ -10,6 +10,8 @@ use dapi_grpc::platform::v0::{ get_documents_request::{get_documents_request_v0::Start, GetDocumentsRequestV0}, GetDocumentsRequest, Proof, ResponseMetadata, }; +use dpp::dashcore::Network; +use dpp::version::PlatformVersion; use dpp::{ data_contract::{ accessors::v0::DataContractV0Getters, document_type::accessors::DocumentTypeV0Getters, @@ -20,7 +22,7 @@ use dpp::{ ProtocolError, }; use drive::query::{DriveDocumentQuery, InternalClauses, OrderClause, WhereClause, WhereOperator}; -use drive_proof_verifier::{types::Documents, FromProof}; +use drive_proof_verifier::{types::Documents, ContextProvider, FromProof}; use rs_dapi_client::transport::{ AppliedRequestSettings, BoxFuture, TransportClient, TransportRequest, }; @@ -160,8 +162,9 @@ impl FromProof for Document { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, - version: &dpp::version::PlatformVersion, - provider: &'a dyn drive_proof_verifier::ContextProvider, + network: Network, + platform_version: &PlatformVersion, + provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), drive_proof_verifier::Error> where Self: Sized + 'a, @@ -170,7 +173,11 @@ impl FromProof for Document { let (documents, metadata, proof): (Option, ResponseMetadata, Proof) = >::maybe_from_proof_with_metadata( - request, response, version, provider, + request, + response, + network, + platform_version, + provider, )?; match documents { @@ -195,8 +202,9 @@ impl FromProof for drive_proof_verifier::types::Documents { fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( request: I, response: O, - version: &dpp::version::PlatformVersion, - provider: &'a dyn drive_proof_verifier::ContextProvider, + network: Network, + platform_version: &PlatformVersion, + provider: &'a dyn ContextProvider, ) -> Result<(Option, ResponseMetadata, Proof), drive_proof_verifier::Error> where Self: Sized + 'a, @@ -212,7 +220,8 @@ impl FromProof for drive_proof_verifier::types::Documents { >::maybe_from_proof_with_metadata( drive_query, response, - version, + network, + platform_version, provider, ) } diff --git a/packages/rs-sdk/src/platform/fetch.rs b/packages/rs-sdk/src/platform/fetch.rs index c567b1fbc18..109140bdb7c 100644 --- a/packages/rs-sdk/src/platform/fetch.rs +++ b/packages/rs-sdk/src/platform/fetch.rs @@ -251,6 +251,10 @@ impl Fetch for drive_proof_verifier::types::IdentityBalance { type Request = platform_proto::GetIdentityBalanceRequest; } +impl Fetch for drive_proof_verifier::types::TotalCreditsInPlatform { + type Request = platform_proto::GetTotalCreditsInPlatformRequest; +} + impl Fetch for drive_proof_verifier::types::IdentityNonceFetcher { type Request = platform_proto::GetIdentityNonceRequest; } diff --git a/packages/rs-sdk/src/platform/fetch_current_no_parameters.rs b/packages/rs-sdk/src/platform/fetch_current_no_parameters.rs new file mode 100644 index 00000000000..9d87bc9ea86 --- /dev/null +++ b/packages/rs-sdk/src/platform/fetch_current_no_parameters.rs @@ -0,0 +1,17 @@ +use crate::{Error, Sdk}; +use async_trait::async_trait; +use dapi_grpc::platform::v0::{Proof, ResponseMetadata}; + +#[async_trait] + +/// Helper trait for managing Epoch information +pub trait FetchCurrent: Sized { + /// Fetch current (the latest) epoch from Platform. + async fn fetch_current(sdk: &Sdk) -> Result; + /// Fetch current (the latest) epoch from Platform with metadata. + async fn fetch_current_with_metadata(sdk: &Sdk) -> Result<(Self, ResponseMetadata), Error>; + /// Fetch current (the latest) epoch from Platform with metadata and proof. + async fn fetch_current_with_metadata_and_proof( + sdk: &Sdk, + ) -> Result<(Self, ResponseMetadata, Proof), Error>; +} diff --git a/packages/rs-sdk/src/platform/fetch_many.rs b/packages/rs-sdk/src/platform/fetch_many.rs index b2891412c7b..feba82fd655 100644 --- a/packages/rs-sdk/src/platform/fetch_many.rs +++ b/packages/rs-sdk/src/platform/fetch_many.rs @@ -4,6 +4,7 @@ //! //! ## Traits //! - `[FetchMany]`: An async trait that fetches multiple items of a specific type from Platform. +use super::LimitQuery; use crate::{ error::Error, mock::MockResponse, @@ -13,9 +14,10 @@ use crate::{ use dapi_grpc::platform::v0::{ GetContestedResourceIdentityVotesRequest, GetContestedResourceVoteStateRequest, GetContestedResourceVotersForIdentityRequest, GetContestedResourcesRequest, - GetDataContractsRequest, GetDocumentsResponse, GetEpochsInfoRequest, GetIdentityKeysRequest, - GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeVoteStatusRequest, - GetVotePollsByEndDateRequest, + GetDataContractsRequest, GetDocumentsResponse, GetEpochsInfoRequest, + GetEvonodesProposedEpochBlocksByIdsRequest, GetEvonodesProposedEpochBlocksByRangeRequest, + GetIdentitiesBalancesRequest, GetIdentityKeysRequest, GetProtocolVersionUpgradeStateRequest, + GetProtocolVersionUpgradeVoteStatusRequest, GetVotePollsByEndDateRequest, }; use dashcore_rpc::dashcore::ProTxHash; use dpp::data_contract::DataContract; @@ -30,15 +32,14 @@ use dpp::{ use dpp::{document::Document, voting::contender_structs::ContenderWithSerializedDocument}; use drive_proof_verifier::types::{ Contenders, ContestedResource, ContestedResources, DataContracts, ExtendedEpochInfos, - IdentityPublicKeys, MasternodeProtocolVote, MasternodeProtocolVotes, ProtocolVersionUpgrades, - ResourceVotesByIdentity, VotePollsGroupedByTimestamp, Voter, Voters, + IdentityBalances, IdentityPublicKeys, MasternodeProtocolVote, MasternodeProtocolVotes, + ProposerBlockCountById, ProposerBlockCountByRange, ProposerBlockCounts, + ProtocolVersionUpgrades, ResourceVotesByIdentity, VotePollsGroupedByTimestamp, Voter, Voters, }; use drive_proof_verifier::{types::Documents, FromProof}; use rs_dapi_client::{transport::TransportRequest, DapiRequest, RequestSettings}; use std::collections::BTreeMap; -use super::LimitQuery; - /// Fetch multiple objects from Platform. /// /// To fetch multiple objects from Platform, you need to define some query (criteria that fetched objects must match) @@ -264,9 +265,9 @@ impl FetchMany for IdentityPublicKey { /// /// * [EpochQuery](super::types::epoch::EpochQuery) - query that specifies epoch matching criteria /// * [EpochIndex](dpp::block::epoch::EpochIndex) - epoch index of first object to find; will return up to -/// [DEFAULT_EPOCH_QUERY_LIMIT](super::query::DEFAULT_EPOCH_QUERY_LIMIT) objects starting from this index +/// [DEFAULT_EPOCH_QUERY_LIMIT](super::query::DEFAULT_EPOCH_QUERY_LIMIT) objects starting from this index /// * [`LimitQuery`](super::LimitQuery), [`LimitQuery`](super::LimitQuery) - limit query -/// that allows to specify maximum number of objects to fetch; see also [FetchMany::fetch_many_with_limit()]. +/// that allows to specify maximum number of objects to fetch; see also [FetchMany::fetch_many_with_limit()]. impl FetchMany for ExtendedEpochInfo { type Request = GetEpochsInfoRequest; } @@ -283,12 +284,12 @@ impl FetchMany for ExtendedEpochInfo { /// ## Example /// /// ```rust -/// use dash_sdk::{Sdk, platform::FetchMany}; -/// use drive_proof_verifier::types::ProtocolVersionVoteCount; +/// use dash_sdk::{Sdk, platform::FetchMany, Error}; +/// use drive_proof_verifier::types::{ProtocolVersionUpgrades, ProtocolVersionVoteCount}; /// /// # tokio_test::block_on(async { /// let sdk = Sdk::new_mock(); -/// let result = ProtocolVersionVoteCount::fetch_many(&sdk, ()).await; +/// let result: Result = ProtocolVersionVoteCount::fetch_many(&sdk, ()).await; /// # }); /// ``` impl FetchMany for ProtocolVersionVoteCount { @@ -304,15 +305,46 @@ impl FetchMany for ProtocolVersionVote /// ## Supported query types /// /// * [ProTxHash](dashcore_rpc::dashcore::ProTxHash) - proTxHash of first object to find; will return up to -/// [DEFAULT_NODES_VOTING_LIMIT](super::query::DEFAULT_NODES_VOTING_LIMIT) objects +/// [DEFAULT_NODES_VOTING_LIMIT](super::query::DEFAULT_NODES_VOTING_LIMIT) objects /// * [`Option`](dashcore_rpc::dashcore::ProTxHash) - proTxHash that can be and [Option]; if it is `None`, -/// the query will return all objects +/// the query will return all objects /// * [`LimitQuery`](super::LimitQuery) - limit query that allows to specify maximum number of objects -/// to fetch; see also [FetchMany::fetch_many_with_limit()]. +/// to fetch; see also [FetchMany::fetch_many_with_limit()]. impl FetchMany for MasternodeProtocolVote { type Request = GetProtocolVersionUpgradeVoteStatusRequest; } +/// Fetch information about the proposed block count by proposers for a given epoch. +/// +/// Returns list of [ProposerBlockCounts](drive_proof_verifier::types::ProposerBlockCounts) +/// indexed by [ProTxHash](dashcore_rpc::dashcore::ProTxHash). Each item in this list represents +/// node protxhash and the amount of blocks that were proposed. +/// +/// ## Supported query types +/// +/// * [ProTxHash](dashcore_rpc::dashcore::ProTxHash) - proTxHash of first object to find; will return up to +/// [DEFAULT_NODES_VOTING_LIMIT](super::query::DEFAULT_NODES_VOTING_LIMIT) objects +/// * [`Option`](dashcore_rpc::dashcore::ProTxHash) - proTxHash that can be and [Option]; if it is `None`, +/// the query will return all objects +/// * [`LimitQuery`](super::LimitQuery) - limit query that allows to specify maximum number of objects +/// to fetch; see also [FetchMany::fetch_many_with_limit()]. +impl FetchMany for ProposerBlockCountByRange { + type Request = GetEvonodesProposedEpochBlocksByRangeRequest; +} + +/// Fetch information about the proposed block count by proposers for a given epoch. +/// +/// Returns list of [ProposerBlockCounts](drive_proof_verifier::types::ProposerBlockCounts) +/// indexed by [ProTxHash](dashcore_rpc::dashcore::ProTxHash). Each item in this list represents +/// node pro_tx_hash and the amount of blocks that were proposed. +/// +/// ## Supported query types +/// +/// * [ProTxHash](dashcore_rpc::dashcore::ProTxHash) - proTxHash of an evonode to find; will return one evonode block count +impl FetchMany for ProposerBlockCountById { + type Request = GetEvonodesProposedEpochBlocksByIdsRequest; +} + /// Fetch multiple data contracts. /// /// Returns [DataContracts](drive_proof_verifier::types::DataContracts) indexed by [Identifier](dpp::prelude::Identifier). @@ -373,3 +405,13 @@ impl FetchMany for ResourceVote { impl FetchMany for VotePoll { type Request = GetVotePollsByEndDateRequest; } + +// +/// Fetch multiple identity balances. +/// +/// ## Supported query types +/// +/// * [Vec](dpp::prelude::Identifier) - list of identifiers of identities whose balance we want to fetch +impl FetchMany for drive_proof_verifier::types::IdentityBalance { + type Request = GetIdentitiesBalancesRequest; +} diff --git a/packages/rs-sdk/src/platform/fetch_unproved.rs b/packages/rs-sdk/src/platform/fetch_unproved.rs new file mode 100644 index 00000000000..9e89ad163a6 --- /dev/null +++ b/packages/rs-sdk/src/platform/fetch_unproved.rs @@ -0,0 +1,118 @@ +use super::{types::evonode::EvoNode, Query}; +use crate::error::Error; +use crate::mock::MockResponse; +use crate::Sdk; +use dapi_grpc::platform::v0::{ + self as platform_proto, GetStatusRequest, GetStatusResponse, ResponseMetadata, +}; +use dpp::{dashcore::Network, version::PlatformVersion}; +use drive_proof_verifier::types::EvoNodeStatus; +use drive_proof_verifier::unproved::FromUnproved; +use rs_dapi_client::{transport::TransportRequest, DapiRequest, RequestSettings}; +use std::fmt::Debug; + +#[async_trait::async_trait] +pub trait FetchUnproved +where + Self: Sized + Debug + MockResponse, +{ + /// Type of request used to fetch data from Platform. + type Request: TransportRequest; + + /// Fetch unproved data from the Platform. + /// + /// ## Parameters + /// - `sdk`: An instance of [Sdk]. + /// - `query`: Query used to fetch data from the Platform. + /// + /// ## Returns + /// Returns: + /// * `Ok(Some(Self))` when object is found. + /// * `Ok(None)` when object is not found. + /// * [`Err(Error)`](Error) when an error occurs. + async fn fetch_unproved::Request>>( + sdk: &Sdk, + query: Q, + ) -> Result, Error> + where + Self: FromUnproved< + ::Request, + Request = ::Request, + Response = <::Request as TransportRequest>::Response, + >, + { + let (obj, _mtd) = + Self::fetch_unproved_with_settings(sdk, query, RequestSettings::default()).await?; + Ok(obj) + } + + /// Fetch unproved data from the Platform with custom settings. + /// + /// ## Parameters + /// - `sdk`: An instance of [Sdk]. + /// - `query`: Query used to fetch data from the Platform. + /// - `settings`: Request settings for the connection to Platform. + /// + /// ## Returns + /// Returns: + /// * `Ok(Some(Self))` when object is found. + /// * `Ok(None)` when object is not found. + /// * [`Err(Error)`](Error) when an error occurs. + async fn fetch_unproved_with_settings::Request>>( + sdk: &Sdk, + query: Q, + settings: RequestSettings, + ) -> Result<(Option, ResponseMetadata), Error> + where + Self: FromUnproved< + ::Request, + Request = ::Request, + Response = <::Request as TransportRequest>::Response, + >, + { + // Default implementation + let request: ::Request = query.query(false)?; + + // Execute the request using the Sdk instance + let response = request.clone().execute(sdk, settings).await?; + + // Parse the response into the appropriate type along with metadata + let (object, mtd): (Option, platform_proto::ResponseMetadata) = + Self::maybe_from_unproved_with_metadata(request, response, sdk.network, sdk.version())?; + + Ok((object, mtd)) + } +} + +impl FetchUnproved for drive_proof_verifier::types::CurrentQuorumsInfo { + type Request = platform_proto::GetCurrentQuorumsInfoRequest; +} + +impl FetchUnproved for EvoNodeStatus { + type Request = EvoNode; +} + +// We need to delegate FromUnproved for the impl FetchUnproved for EvonodeStatus. +#[async_trait::async_trait] +impl FromUnproved for EvoNodeStatus { + type Request = EvoNode; + type Response = GetStatusResponse; + + fn maybe_from_unproved_with_metadata, O: Into>( + request: I, + response: O, + network: Network, + platform_version: &PlatformVersion, + ) -> Result<(Option, ResponseMetadata), drive_proof_verifier::Error> + where + Self: Sized, + { + // delegate to the FromUnproved + >::maybe_from_unproved_with_metadata( + request.into(), + response, + network, + platform_version, + ) + } +} diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index 82ba292ca4d..287f8b6951a 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -1,20 +1,29 @@ //! Query trait representing criteria for fetching data from Platform. //! //! [Query] trait is used to specify individual objects as well as search criteria for fetching multiple objects from Platform. +use super::types::epoch::EpochQuery; +use super::types::evonode::EvoNode; +use crate::{error::Error, platform::document_query::DocumentQuery}; use dapi_grpc::mock::Mockable; use dapi_grpc::platform::v0::get_contested_resource_identity_votes_request::GetContestedResourceIdentityVotesRequestV0; use dapi_grpc::platform::v0::get_contested_resource_voters_for_identity_request::GetContestedResourceVotersForIdentityRequestV0; use dapi_grpc::platform::v0::get_contested_resources_request::GetContestedResourcesRequestV0; +use dapi_grpc::platform::v0::get_evonodes_proposed_epoch_blocks_by_range_request::GetEvonodesProposedEpochBlocksByRangeRequestV0; +use dapi_grpc::platform::v0::get_path_elements_request::GetPathElementsRequestV0; +use dapi_grpc::platform::v0::get_status_request::GetStatusRequestV0; +use dapi_grpc::platform::v0::get_total_credits_in_platform_request::GetTotalCreditsInPlatformRequestV0; use dapi_grpc::platform::v0::{ self as proto, get_identity_keys_request, get_identity_keys_request::GetIdentityKeysRequestV0, - AllKeys, GetContestedResourceVoteStateRequest, GetContestedResourceVotersForIdentityRequest, - GetContestedResourcesRequest, GetEpochsInfoRequest, GetIdentityKeysRequest, + get_path_elements_request, get_total_credits_in_platform_request, AllKeys, + GetContestedResourceVoteStateRequest, GetContestedResourceVotersForIdentityRequest, + GetContestedResourcesRequest, GetEpochsInfoRequest, + GetEvonodesProposedEpochBlocksByRangeRequest, GetIdentityKeysRequest, GetPathElementsRequest, GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeVoteStatusRequest, - KeyRequestType, + GetTotalCreditsInPlatformRequest, KeyRequestType, }; use dapi_grpc::platform::v0::{ - GetContestedResourceIdentityVotesRequest, GetPrefundedSpecializedBalanceRequest, - GetVotePollsByEndDateRequest, + get_status_request, GetContestedResourceIdentityVotesRequest, + GetPrefundedSpecializedBalanceRequest, GetStatusRequest, GetVotePollsByEndDateRequest, }; use dashcore_rpc::dashcore::{hashes::Hash, ProTxHash}; use dpp::version::PlatformVersionError; @@ -25,16 +34,15 @@ use drive::query::vote_poll_vote_state_query::ContestedDocumentVotePollDriveQuer use drive::query::vote_polls_by_document_type_query::VotePollsByDocumentTypeQuery; use drive::query::{DriveDocumentQuery, VotePollsByEndDateDriveQuery}; use drive_proof_verifier::from_request::TryFromRequest; +use drive_proof_verifier::types::{KeysInPath, NoParamQuery}; use rs_dapi_client::transport::TransportRequest; use std::fmt::Debug; -use crate::{error::Error, platform::document_query::DocumentQuery}; - -use super::types::epoch::EpochQuery; /// Default limit of epoch records returned by Platform. pub const DEFAULT_EPOCH_QUERY_LIMIT: u32 = 100; /// Default limit of epoch records returned by Platform. pub const DEFAULT_NODES_VOTING_LIMIT: u32 = 100; + /// Trait implemented by objects that can be used as queries. /// /// [Query] trait is used to specify criteria for fetching data from Platform. @@ -43,11 +51,10 @@ pub const DEFAULT_NODES_VOTING_LIMIT: u32 = 100; /// Some examples of queries include: /// /// 1. [`Identifier`](crate::platform::Identifier) - fetches an object by its identifier; implemented for -/// [Identity](dpp::prelude::Identity), [DataContract](dpp::prelude::DataContract) and [Document](dpp::document::Document). -/// 2. [`DocumentQuery`] - fetches [Document](dpp::document::Document) based on search -/// conditions; see -/// [query syntax documentation](https://docs.dash.org/projects/platform/en/stable/docs/reference/query-syntax.html) -/// for more details. +/// [Identity](dpp::prelude::Identity), [DataContract](dpp::prelude::DataContract) and [Document](dpp::document::Document). +/// 2. [`DocumentQuery`] - fetches [Document](dpp::document::Document) based on search conditions; see +/// [query syntax documentation](https://docs.dash.org/projects/platform/en/stable/docs/reference/query-syntax.html) +/// for more details. /// /// ## Example /// @@ -93,7 +100,7 @@ where { fn query(self, prove: bool) -> Result { if !prove { - unimplemented!("queries without proofs are not supported yet"); + tracing::warn!(request= ?self, "sending query without proof, ensure data is trusted"); } Ok(self) } @@ -433,6 +440,39 @@ impl Query } } +impl Query + for LimitQuery +{ + fn query(self, prove: bool) -> Result { + use proto::get_evonodes_proposed_epoch_blocks_by_range_request::{ + get_evonodes_proposed_epoch_blocks_by_range_request_v0::Start, Version, + }; + let query = match self.query.query(prove)?.version { + Some(Version::V0(v0)) => GetEvonodesProposedEpochBlocksByRangeRequestV0 { + start: self.start_info.map(|v| { + if v.start_included { + Start::StartAt(v.start_key) + } else { + Start::StartAfter(v.start_key) + } + }), + ..v0 + } + .into(), + None => { + return Err(Error::Protocol( + PlatformVersionError::UnknownVersionError( + "version not present in request".into(), + ) + .into(), + )) + } + }; + + Ok(query) + } +} + impl Query for ContestedResourceVotesGivenByIdentityQuery { @@ -544,3 +584,78 @@ impl Query for LimitQuery { .into()) } } + +impl Query for KeysInPath { + fn query(self, prove: bool) -> Result { + if !prove { + unimplemented!("queries without proofs are not supported yet"); + } + + let request: GetPathElementsRequest = GetPathElementsRequest { + version: Some(get_path_elements_request::Version::V0( + GetPathElementsRequestV0 { + path: self.path, + keys: self.keys, + prove, + }, + )), + }; + + Ok(request) + } +} + +impl Query for NoParamQuery { + fn query(self, prove: bool) -> Result { + if !prove { + unimplemented!("queries without proofs are not supported yet"); + } + + let request: GetTotalCreditsInPlatformRequest = GetTotalCreditsInPlatformRequest { + version: Some(get_total_credits_in_platform_request::Version::V0( + GetTotalCreditsInPlatformRequestV0 { prove }, + )), + }; + + Ok(request) + } +} + +impl Query for LimitQuery> { + fn query(self, prove: bool) -> Result { + if !prove { + unimplemented!("queries without proofs are not supported yet"); + } + + Ok(GetEvonodesProposedEpochBlocksByRangeRequest { + version: Some(proto::get_evonodes_proposed_epoch_blocks_by_range_request::Version::V0( + GetEvonodesProposedEpochBlocksByRangeRequestV0 { + epoch: self.query.map(|v| v as u32), + start: self.start_info.map(|v| { + use proto::get_evonodes_proposed_epoch_blocks_by_range_request::get_evonodes_proposed_epoch_blocks_by_range_request_v0::Start; + if v.start_included { + Start::StartAt(v.start_key) + } else { + Start::StartAfter(v.start_key) + } + }), + limit: self.limit, + + prove, + }, + )), + }) + } +} + +impl Query for EvoNode { + fn query(self, _prove: bool) -> Result { + // ignore proof + + let request: GetStatusRequest = GetStatusRequest { + version: Some(get_status_request::Version::V0(GetStatusRequestV0 {})), + }; + + Ok(request) + } +} diff --git a/packages/rs-sdk/src/platform/transition/withdraw_from_identity.rs b/packages/rs-sdk/src/platform/transition/withdraw_from_identity.rs index 1dbff8c3ead..db06f29a2aa 100644 --- a/packages/rs-sdk/src/platform/transition/withdraw_from_identity.rs +++ b/packages/rs-sdk/src/platform/transition/withdraw_from_identity.rs @@ -1,4 +1,3 @@ -use dapi_grpc::platform::VersionedGrpcResponse; use dpp::dashcore::Address; use dpp::identity::accessors::IdentityGettersV0; @@ -7,19 +6,15 @@ use dpp::identity::signer::Signer; use dpp::identity::Identity; use dpp::prelude::UserFeeIncrease; -use dpp::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; -use drive_proof_verifier::error::ContextProviderError; -use drive_proof_verifier::DataContractProvider; - -use crate::platform::block_info_from_metadata::block_info_from_metadata; -use crate::platform::transition::broadcast_request::BroadcastRequestForStateTransition; +use crate::platform::transition::broadcast::BroadcastStateTransition; use crate::platform::transition::put_settings::PutSettings; use crate::{Error, Sdk}; -use dpp::state_transition::identity_credit_withdrawal_transition::methods::IdentityCreditWithdrawalTransitionMethodsV0; +use dpp::state_transition::identity_credit_withdrawal_transition::methods::{ + IdentityCreditWithdrawalTransitionMethodsV0, PreferredKeyPurposeForSigningWithdrawal, +}; +use dpp::state_transition::identity_credit_withdrawal_transition::IdentityCreditWithdrawalTransition; use dpp::state_transition::proof_result::StateTransitionProofResult; use dpp::withdrawal::Pooling; -use drive::drive::Drive; -use rs_dapi_client::{DapiRequest, RequestSettings}; #[async_trait::async_trait] pub trait WithdrawFromIdentity { @@ -27,7 +22,7 @@ pub trait WithdrawFromIdentity { async fn withdraw( &self, sdk: &Sdk, - address: Address, + address: Option

, amount: u64, core_fee_per_byte: Option, user_fee_increase: Option, @@ -41,7 +36,7 @@ impl WithdrawFromIdentity for Identity { async fn withdraw( &self, sdk: &Sdk, - address: Address, + address: Option
, amount: u64, core_fee_per_byte: Option, user_fee_increase: Option, @@ -49,52 +44,28 @@ impl WithdrawFromIdentity for Identity { settings: Option, ) -> Result { let new_identity_nonce = sdk.get_identity_nonce(self.id(), true, settings).await?; + let script = address.map(|address| CoreScript::new(address.script_pubkey())); let state_transition = IdentityCreditWithdrawalTransition::try_from_identity( self, - None, - CoreScript::new(address.script_pubkey()), + script, amount, Pooling::Never, core_fee_per_byte.unwrap_or(1), user_fee_increase.unwrap_or_default(), signer, + None, + PreferredKeyPurposeForSigningWithdrawal::TransferPreferred, new_identity_nonce, sdk.version(), None, )?; - let request = state_transition.broadcast_request_for_state_transition()?; - - request - .clone() - .execute(sdk, settings.unwrap_or_default().request_settings) - .await?; - - let request = state_transition.wait_for_state_transition_result_request()?; - - let response = request.execute(sdk, RequestSettings::default()).await?; - - let block_info = block_info_from_metadata(response.metadata()?)?; - - let proof = response.proof_owned()?; - let context_provider = - sdk.context_provider() - .ok_or(Error::from(ContextProviderError::Config( - "Context provider not initialized".to_string(), - )))?; - - let (_, result) = Drive::verify_state_transition_was_executed_with_proof( - &state_transition, - &block_info, - proof.grovedb_proof.as_slice(), - &context_provider.as_contract_lookup_fn(), - sdk.version(), - )?; + let result = state_transition.broadcast_and_wait(sdk, None).await?; match result { StateTransitionProofResult::VerifiedPartialIdentity(identity) => { identity.balance.ok_or(Error::DapiClientError( - "expected an identity balance".to_string(), + "expected an identity balance after withdrawal".to_string(), )) } _ => Err(Error::DapiClientError("proved a non identity".to_string())), diff --git a/packages/rs-sdk/src/platform/types.rs b/packages/rs-sdk/src/platform/types.rs index dc4f4abbf47..e4fbab2d47e 100644 --- a/packages/rs-sdk/src/platform/types.rs +++ b/packages/rs-sdk/src/platform/types.rs @@ -1,4 +1,7 @@ //! Type-specific implementation for various dpp object types to make queries more convenient and intuitive. pub mod epoch; +pub mod evonode; pub mod identity; +pub mod proposed_blocks; +mod total_credits_in_platform; pub mod version_votes; diff --git a/packages/rs-sdk/src/platform/types/epoch.rs b/packages/rs-sdk/src/platform/types/epoch.rs index b1ca7b15f13..f6b86b77eeb 100644 --- a/packages/rs-sdk/src/platform/types/epoch.rs +++ b/packages/rs-sdk/src/platform/types/epoch.rs @@ -3,27 +3,17 @@ use async_trait::async_trait; use dapi_grpc::platform::v0::{GetEpochsInfoRequest, Proof, ResponseMetadata}; use dpp::block::{epoch::EpochIndex, extended_epoch_info::ExtendedEpochInfo}; +use crate::platform::fetch_current_no_parameters::FetchCurrent; use crate::{ platform::{Fetch, LimitQuery, Query}, Error, Sdk, }; -#[async_trait] - -/// Helper trait for managing Epoch information -pub trait ExtendedEpochInfoEx: Sized { - /// Fetch current (the latest) epoch from Platform. - async fn fetch_current(sdk: &Sdk) -> Result; - /// Fetch current (the latest) epoch from Platform with metadata. - async fn fetch_current_with_metadata(sdk: &Sdk) -> Result<(Self, ResponseMetadata), Error>; - /// Fetch current (the latest) epoch from Platform with metadata and proof. - async fn fetch_current_with_metadata_and_proof( - sdk: &Sdk, - ) -> Result<(Self, ResponseMetadata, Proof), Error>; -} +/// Epoch type used in the SDK. +pub type Epoch = ExtendedEpochInfo; #[async_trait] -impl ExtendedEpochInfoEx for ExtendedEpochInfo { +impl FetchCurrent for ExtendedEpochInfo { async fn fetch_current(sdk: &Sdk) -> Result { let (epoch, _) = Self::fetch_current_with_metadata(sdk).await?; Ok(epoch) diff --git a/packages/rs-sdk/src/platform/types/evonode.rs b/packages/rs-sdk/src/platform/types/evonode.rs new file mode 100644 index 00000000000..01c0630b493 --- /dev/null +++ b/packages/rs-sdk/src/platform/types/evonode.rs @@ -0,0 +1,108 @@ +//! Evo Node represents a network node (server). + +use dapi_grpc::mock::Mockable; +use dapi_grpc::platform::v0::get_status_request::GetStatusRequestV0; +use dapi_grpc::platform::v0::{self as proto, get_status_request, GetStatusRequest}; +use dapi_grpc::tonic::IntoRequest; +pub use drive_proof_verifier::types::EvoNodeStatus; +use futures::future::BoxFuture; +use futures::{FutureExt, TryFutureExt}; +use rs_dapi_client::transport::{ + AppliedRequestSettings, PlatformGrpcClient, TransportClient, TransportRequest, +}; +use rs_dapi_client::{Address, ConnectionPool, RequestSettings}; +#[cfg(feature = "mocks")] +use serde::{Deserialize, Serialize}; +use std::fmt::Debug; + +/// EvoNode allows querying the status of a single node using DAPI. +/// +/// ## Example +/// +/// ```rust,no_run +/// use dash_sdk::{platform::types::evonode::EvoNode,platform::FetchUnproved, Sdk}; +/// use drive_proof_verifier::types::EvoNodeStatus; +/// use futures::executor::block_on; +/// +/// let sdk = Sdk::new_mock(); +/// let uri: http::Uri = "http://127.0.0.1:1".parse().unwrap(); +/// let node = EvoNode::new(uri.into()); +/// let status = block_on(EvoNodeStatus::fetch_unproved(&sdk, node)).unwrap(); +/// ``` + +#[derive(Debug, Clone)] +#[cfg_attr(feature = "mocks", derive(Serialize, Deserialize))] +pub struct EvoNode(Address); + +impl EvoNode { + /// Creates a new `EvoNode` with the given address. + pub fn new(address: Address) -> Self { + Self(address) + } +} + +impl Mockable for EvoNode { + #[cfg(feature = "mocks")] + fn mock_deserialize(data: &[u8]) -> Option { + serde_json::de::from_slice(data).ok() + } + + #[cfg(feature = "mocks")] + fn mock_serialize(&self) -> Option> { + serde_json::ser::to_vec(self).ok() + } +} +impl TransportRequest for EvoNode { + type Client = PlatformGrpcClient; + type Response = proto::GetStatusResponse; + + const SETTINGS_OVERRIDES: rs_dapi_client::RequestSettings = RequestSettings::default(); + + fn method_name(&self) -> &'static str { + "get_status" + } + + fn execute_transport<'c>( + self, + _client: &'c mut Self::Client, + settings: &AppliedRequestSettings, + ) -> BoxFuture<'c, Result::Error>> { + let uri = self.0.uri(); + // As this is single node connection case, we create a new connection pool with space for a single connection + // and we drop it after use. + // + // We also create a new client to use with this request, so that the user does not need to + // reconfigure SDK to use a single node. + let pool = ConnectionPool::new(1); + let mut client = Self::Client::with_uri_and_settings(uri.clone(), settings, &pool); + let mut grpc_request = GetStatusRequest { + version: Some(get_status_request::Version::V0(GetStatusRequestV0 {})), + } + .into_request(); + + // we need to establish connection only with provided node, so we override client + + if !settings.timeout.is_zero() { + grpc_request.set_timeout(settings.timeout); + } + + async move { + let response = client + .get_status(grpc_request) + .map_ok(|response| response.into_inner()) + .await; + + drop(client); + drop(pool); + response + } + .boxed() + } +} + +impl From for GetStatusRequest { + fn from(_node: EvoNode) -> Self { + // we don't need to send any data to the node, and address is handled in impl TrasportRequest + GetStatusRequestV0 {}.into() + } +} diff --git a/packages/rs-sdk/src/platform/types/identity.rs b/packages/rs-sdk/src/platform/types/identity.rs index 1ae9f6e2cf4..632e3bd5e40 100644 --- a/packages/rs-sdk/src/platform/types/identity.rs +++ b/packages/rs-sdk/src/platform/types/identity.rs @@ -1,5 +1,12 @@ //! Identity related types and functions +use crate::delegate_enum; +use crate::{ + platform::{proto, Query}, + Error, +}; + +use dapi_grpc::platform::v0::get_identities_balances_request::GetIdentitiesBalancesRequestV0; use dapi_grpc::platform::v0::get_identity_balance_and_revision_request::GetIdentityBalanceAndRevisionRequestV0; use dapi_grpc::platform::v0::get_identity_balance_request::GetIdentityBalanceRequestV0; use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::GetIdentityByPublicKeyHashRequestV0; @@ -7,20 +14,15 @@ use dapi_grpc::platform::v0::get_identity_contract_nonce_request::GetIdentityCon use dapi_grpc::platform::v0::get_identity_nonce_request::GetIdentityNonceRequestV0; use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; use dapi_grpc::platform::v0::{ - get_identity_balance_and_revision_request, get_identity_balance_request, - get_identity_by_public_key_hash_request, get_identity_contract_nonce_request, - get_identity_nonce_request, get_identity_request, GetIdentityBalanceAndRevisionRequest, - GetIdentityBalanceRequest, GetIdentityByPublicKeyHashRequest, GetIdentityContractNonceRequest, - GetIdentityNonceRequest, GetIdentityRequest, ResponseMetadata, + get_identities_balances_request, get_identity_balance_and_revision_request, + get_identity_balance_request, get_identity_by_public_key_hash_request, + get_identity_contract_nonce_request, get_identity_nonce_request, get_identity_request, + GetIdentitiesBalancesRequest, GetIdentityBalanceAndRevisionRequest, GetIdentityBalanceRequest, + GetIdentityByPublicKeyHashRequest, GetIdentityContractNonceRequest, GetIdentityNonceRequest, + GetIdentityRequest, ResponseMetadata, }; use dpp::prelude::Identity; -use crate::delegate_enum; -use crate::{ - platform::{proto, Query}, - Error, -}; - // Create enum [IdentityRequest] and [IdentityResponse] that will wrap all possible // request/response types for [Identity] object. delegate_enum! { @@ -40,7 +42,7 @@ impl Query for dpp::prelude::Identifier { Ok(IdentityRequest::GetIdentity(GetIdentityRequest { version: Some(get_identity_request::Version::V0(GetIdentityRequestV0 { id, - prove: true, + prove, })), })) } @@ -145,3 +147,20 @@ impl Query for dpp::prelude::Identifier { Ok(request) } } + +impl Query for Vec { + fn query(self, prove: bool) -> Result { + if !prove { + unimplemented!("queries without proofs are not supported yet"); + } + let ids = self.into_iter().map(|a| a.to_vec()).collect(); + + let request: GetIdentitiesBalancesRequest = GetIdentitiesBalancesRequest { + version: Some(get_identities_balances_request::Version::V0( + GetIdentitiesBalancesRequestV0 { ids, prove }, + )), + }; + + Ok(request) + } +} diff --git a/packages/rs-sdk/src/platform/types/proposed_blocks.rs b/packages/rs-sdk/src/platform/types/proposed_blocks.rs new file mode 100644 index 00000000000..16afa42101e --- /dev/null +++ b/packages/rs-sdk/src/platform/types/proposed_blocks.rs @@ -0,0 +1,73 @@ +//! Helpers for managing platform proposed block counts per epoch + +use crate::platform::{FetchMany, LimitQuery, QueryStartInfo}; +use crate::{Error, Sdk}; +use async_trait::async_trait; +use dashcore_rpc::dashcore::ProTxHash; +use dpp::block::epoch::EpochIndex; +use drive_proof_verifier::types::{ProposerBlockCountByRange, ProposerBlockCounts}; +// Trait needed here to implement functions on foreign type. + +/// A helper trait for fetching block proposal counts for specific proposers. +/// +/// This trait defines an asynchronous method to retrieve block counts for proposers within a specified range. +/// It allows fetching a set of proposers and their corresponding block counts, either by setting a limit +/// or starting from a specific proposer hash. +/// +/// # Type Parameters +/// +/// * `K`: The type of the keys in the map, which must implement the `Ord` trait. +#[async_trait] +pub trait ProposedBlockCountEx { + /// Fetches the proposed block counts for proposers within a given range. + /// + /// This asynchronous method retrieves the number of blocks proposed by various proposers, + /// starting from an optional proposer transaction hash (`ProTxHash`) and returning a limited + /// number of results if specified. If a proposer transaction hash is provided, the query will + /// start at that hash. The optional boolean flag determines whether to include the proposer + /// identified by the `ProTxHash` in the results. + /// + /// ## Parameters + /// + /// * `sdk`: A reference to the `Sdk` instance, which handles the platform interaction. + /// * `limit`: An optional `u16` representing the maximum number of proposer block counts to retrieve. + /// * `start_pro_tx_hash`: An optional tuple where the first element is a `ProTxHash` to start + /// from, and the second element is a boolean indicating whether to include the starting proposer + /// in the results. + /// + /// ## Returns + /// + /// A `Result` containing `ProposerBlockCounts`, which is a mapping between proposers and the number of blocks they proposed, + /// or an `Error` if the operation fails. + /// + /// ## See also + /// + /// - [`ProposerBlockCounts`](crate::ProposerBlockCounts): The data structure holding the result of this operation. + + async fn fetch_proposed_blocks_by_range( + sdk: &Sdk, + epoch: Option, + limit: Option, + start_pro_tx_hash: Option, + ) -> Result; +} + +#[async_trait] +impl ProposedBlockCountEx for ProposerBlockCounts { + async fn fetch_proposed_blocks_by_range( + sdk: &Sdk, + epoch: Option, + limit: Option, + start_pro_tx_hash: Option, + ) -> Result { + ProposerBlockCountByRange::fetch_many( + sdk, + LimitQuery { + query: epoch, + limit, + start_info: start_pro_tx_hash, + }, + ) + .await + } +} diff --git a/packages/rs-sdk/src/platform/types/total_credits_in_platform.rs b/packages/rs-sdk/src/platform/types/total_credits_in_platform.rs new file mode 100644 index 00000000000..ebfd7879674 --- /dev/null +++ b/packages/rs-sdk/src/platform/types/total_credits_in_platform.rs @@ -0,0 +1,33 @@ +//! Epoch-related types and helpers +use crate::platform::fetch_current_no_parameters::FetchCurrent; +use crate::{platform::Fetch, Error, Sdk}; +use async_trait::async_trait; +use dapi_grpc::platform::v0::{Proof, ResponseMetadata}; +use drive_proof_verifier::types::{NoParamQuery, TotalCreditsInPlatform}; + +#[async_trait] +impl FetchCurrent for TotalCreditsInPlatform { + async fn fetch_current(sdk: &Sdk) -> Result { + let (total_credits_on_platform, _) = Self::fetch_current_with_metadata(sdk).await?; + Ok(total_credits_on_platform) + } + + async fn fetch_current_with_metadata(sdk: &Sdk) -> Result<(Self, ResponseMetadata), Error> { + let (total_credits_on_platform, metadata) = + Self::fetch_with_metadata(sdk, NoParamQuery {}, None).await?; + + Ok(( + total_credits_on_platform.ok_or(Error::TotalCreditsNotFound)?, + metadata, + )) + } + + async fn fetch_current_with_metadata_and_proof( + sdk: &Sdk, + ) -> Result<(Self, ResponseMetadata, Proof), Error> { + let (epoch, metadata, proof) = + Self::fetch_with_metadata_and_proof(sdk, NoParamQuery {}, None).await?; + + Ok((epoch.ok_or(Error::TotalCreditsNotFound)?, metadata, proof)) + } +} diff --git a/packages/rs-sdk/src/sdk.rs b/packages/rs-sdk/src/sdk.rs index 8d7c3abcdc4..abd02e184cc 100644 --- a/packages/rs-sdk/src/sdk.rs +++ b/packages/rs-sdk/src/sdk.rs @@ -11,6 +11,7 @@ use dapi_grpc::mock::Mockable; use dapi_grpc::platform::v0::{Proof, ResponseMetadata}; use dpp::bincode; use dpp::bincode::error::DecodeError; +use dpp::dashcore::Network; use dpp::identity::identity_nonce::IDENTITY_NONCE_VALUE_FILTER; use dpp::prelude::IdentityNonce; use dpp::version::{PlatformVersion, PlatformVersionCurrentVersion}; @@ -80,6 +81,8 @@ pub type LastQueryTimestamp = u64; /// See tests/ for examples of using the SDK. #[derive(Clone)] pub struct Sdk { + /// The network that the sdk is configured for (Dash (mainnet), Testnet, Devnet, Regtest) + pub network: Network, inner: SdkInstance, /// Use proofs when retrieving data from Platform. /// @@ -205,10 +208,14 @@ impl Sdk { .ok_or(drive_proof_verifier::Error::ContextProviderNotSet)?; match self.inner { - SdkInstance::Dapi { .. } => { - O::maybe_from_proof_with_metadata(request, response, self.version(), &provider) - .map(|(a, b, _)| (a, b)) - } + SdkInstance::Dapi { .. } => O::maybe_from_proof_with_metadata( + request, + response, + self.network, + self.version(), + &provider, + ) + .map(|(a, b, _)| (a, b)), #[cfg(feature = "mocks")] SdkInstance::Mock { ref mock, .. } => { let guard = mock.lock().await; @@ -241,9 +248,13 @@ impl Sdk { .ok_or(drive_proof_verifier::Error::ContextProviderNotSet)?; match self.inner { - SdkInstance::Dapi { .. } => { - O::maybe_from_proof_with_metadata(request, response, self.version(), &provider) - } + SdkInstance::Dapi { .. } => O::maybe_from_proof_with_metadata( + request, + response, + self.network, + self.version(), + &provider, + ), #[cfg(feature = "mocks")] SdkInstance::Mock { ref mock, .. } => { let guard = mock.lock().await; @@ -496,6 +507,23 @@ impl Sdk { pub fn shutdown(&self) { self.cancel_token.cancel(); } + + /// Return the [DapiClient] address list + pub fn address_list(&self) -> Result { + match &self.inner { + SdkInstance::Dapi { dapi, version: _ } => { + let address_list_arc = dapi.address_list(); + let address_list_lock = address_list_arc + .read() + .map_err(|e| format!("Failed to read address list: {e}"))?; + Ok(address_list_lock.clone()) + } + #[cfg(feature = "mocks")] + SdkInstance::Mock { .. } => { + unimplemented!("mock Sdk does not have address list") + } + } + } } #[async_trait::async_trait] @@ -516,17 +544,6 @@ impl DapiRequestExecutor for Sdk { } } -#[async_trait::async_trait] -impl DapiRequestExecutor for &Sdk { - async fn execute( - &self, - request: R, - settings: RequestSettings, - ) -> Result::Error>> { - DapiRequestExecutor::execute(self, request, settings).await - } -} - /// Dash Platform SDK Builder, used to configure and [`SdkBuilder::build()`] the [Sdk]. /// /// [SdkBuilder] implements a "builder" design pattern to allow configuration of the Sdk before it is instantiated. @@ -546,6 +563,8 @@ pub struct SdkBuilder { addresses: Option, settings: RequestSettings, + network: Network, + core_ip: String, core_port: u16, core_user: String, @@ -582,6 +601,7 @@ impl Default for SdkBuilder { Self { addresses: None, settings: RequestSettings::default(), + network: Network::Dash, core_ip: "".to_string(), core_port: 0, core_password: "".to_string(), @@ -643,6 +663,14 @@ impl SdkBuilder { ) } + /// Configure network type. + /// + /// Defaults to Network::Dash which is mainnet. + pub fn with_network(mut self, network: Network) -> Self { + self.network = network; + self + } + /// Configure request settings. /// /// Tune request settings used to connect to the Dash Platform. @@ -741,6 +769,7 @@ impl SdkBuilder { #[allow(unused_mut)] // needs to be mutable for #[cfg(feature = "mocks")] let mut sdk= Sdk{ + network: self.network, inner:SdkInstance::Dapi { dapi, version:self.version }, proofs:self.proofs, context_provider: self.context_provider.map(Arc::new), @@ -753,9 +782,6 @@ impl SdkBuilder { if sdk.context_provider.is_none() { #[cfg(feature = "mocks")] if !self.core_ip.is_empty() { - tracing::warn!("ContextProvider not set; mocking with Dash Core. \ - Please provide your own ContextProvider with SdkBuilder::with_context_provider()."); - let mut context_provider = GrpcContextProvider::new(None, &self.core_ip, self.core_port, &self.core_user, &self.core_password, self.data_contract_cache_size, self.quorum_public_keys_cache_size)?; @@ -784,20 +810,37 @@ impl SdkBuilder { None => { let dapi =Arc::new(tokio::sync::Mutex::new( MockDapiClient::new())); // We create mock context provider that will use the mock DAPI client to retrieve data contracts. - let context_provider = self.context_provider.unwrap_or(Box::new(MockContextProvider::new())); - - Sdk { + let context_provider = self.context_provider.unwrap_or_else(||{ + let mut cp=MockContextProvider::new(); + if let Some(ref dump_dir) = self.dump_dir { + cp.quorum_keys_dir(Some(dump_dir.clone())); + } + Box::new(cp) + } + ); + let mock_sdk = MockDashPlatformSdk::new(self.version, Arc::clone(&dapi)); + let mock_sdk = Arc::new(Mutex::new(mock_sdk)); + let sdk= Sdk { + network: self.network, inner:SdkInstance::Mock { - mock:Arc::new(Mutex::new( MockDashPlatformSdk::new(self.version, Arc::clone(&dapi), self.proofs))), + mock:mock_sdk.clone(), dapi, version:self.version, + }, - dump_dir: self.dump_dir, + dump_dir: self.dump_dir.clone(), proofs:self.proofs, internal_cache: Default::default(), context_provider:Some(Arc::new(context_provider)), cancel_token: self.cancel_token, - } + }; + let mut guard = mock_sdk.try_lock().expect("mock sdk is in use by another thread and connot be reconfigured"); + guard.set_sdk(sdk.clone()); + if let Some(ref dump_dir) = self.dump_dir { + pollster::block_on( guard.load_expectations(dump_dir))?; + }; + + sdk }, #[cfg(not(feature = "mocks"))] None => return Err(Error::Config("Mock mode is not available. Please enable `mocks` feature or provide address list.".to_string())), diff --git a/packages/rs-sdk/tests/fetch/config.rs b/packages/rs-sdk/tests/fetch/config.rs index a928ce317d0..445904795d6 100644 --- a/packages/rs-sdk/tests/fetch/config.rs +++ b/packages/rs-sdk/tests/fetch/config.rs @@ -73,7 +73,7 @@ pub struct Config { #[serde(default = "Config::default_document_id")] pub existing_document_id: Identifier, // Hex-encoded ProTxHash of the existing HP masternode - #[serde(default)] + #[serde(default = "Config::default_protxhash")] pub masternode_owner_pro_reg_tx_hash: String, } @@ -208,18 +208,10 @@ impl Config { // offline testing takes precedence over network testing #[cfg(feature = "offline-testing")] let sdk = { - let mut mock_sdk = dash_sdk::SdkBuilder::new_mock() + dash_sdk::SdkBuilder::new_mock() + .with_dump_dir(&dump_dir) .build() - .expect("initialize api"); - - mock_sdk - .mock() - .quorum_info_dir(&dump_dir) - .load_expectations(&dump_dir) - .await - .expect("load expectations"); - - mock_sdk + .expect("initialize api") }; sdk @@ -231,11 +223,10 @@ impl Config { // Next time we need to do it again and update this value :(. This is terrible. // We should automate creation of identity for SDK tests when we have time. Identifier::from_string( - "J2aTnrrc8eea3pQBY91QisM3QH5FM9JK11mQCVwxeMqj", - Encoding::Base58, + "a1534e47f60be71e823a9dbc9ceb6d3ea9f1ebde7a3773f03e49ef31c7d9c044", + Encoding::Hex, ) .unwrap() - .into() } fn default_data_contract_id() -> Identifier { @@ -255,6 +246,13 @@ impl Config { .join("vectors") } + /// Existing masternode proTxHash. Must be updated every time test vectors are regenerated. + /// + /// See documentation of [contested_resource_identity_votes_ok](super::contested_resource_identity_votes::contested_resource_identity_votes_ok). + fn default_protxhash() -> String { + String::from("d10bf435af7c75f5b07b09486af1212469d69fdc787589548e315776bc1052a1") + } + /// Return ProTxHash of an existing evo node, or None if not set pub fn existing_protxhash(&self) -> Result { hex::decode(&self.masternode_owner_pro_reg_tx_hash) diff --git a/packages/rs-sdk/tests/fetch/contested_resource_identity_votes.rs b/packages/rs-sdk/tests/fetch/contested_resource_identity_votes.rs index edf37bbede2..e213b6ac2f0 100644 --- a/packages/rs-sdk/tests/fetch/contested_resource_identity_votes.rs +++ b/packages/rs-sdk/tests/fetch/contested_resource_identity_votes.rs @@ -51,8 +51,11 @@ async fn contested_resource_identity_votes_not_found() { /// 0. Ensure you have at least 1 contested DPNS name in the system. /// See [check_mn_voting_prerequisities](super::contested_resource::check_mn_voting_prerequisities) for more details. /// -/// 1. Grep log output of `yarn setup` to find `ProRegTx transaction ID` and `Owner Private Key`. -/// Use `ProRegTx transaction ID` to set `DASH_SDK_MASTERNODE_OWNER_PRO_REG_TX_HASH` in `packages/rs-sdk/tests/.env`. +/// 1. Grep log output of `yarn setup` (see logs/setup.log) to find `ProRegTx transaction ID` and `Owner Private Key`: +/// ```bash +/// egrep '(ProRegTx transaction ID|Owner Private Key)' logs/setup.log|head -n2 +/// ``` +/// Hardcode `ProRegTx transaction ID` in [Config::default_protxhash]. /// /// 2. Load masternode identity into [rs-platform-explorer](https://github.com/dashpay/rs-platform-explorer/): /// @@ -78,7 +81,7 @@ async fn contested_resource_identity_votes_not_found() { ignore = "requires manual DPNS names setup for masternode voting tests; see docs of contested_resource_identity_votes_ok()" )] #[tokio::test(flavor = "multi_thread", worker_threads = 1)] -async fn contested_resource_identity_votes_ok() { +pub(super) async fn contested_resource_identity_votes_ok() { setup_logs(); let cfg = Config::new(); diff --git a/packages/rs-sdk/tests/fetch/contested_resource_vote_state.rs b/packages/rs-sdk/tests/fetch/contested_resource_vote_state.rs index 59d8770d955..69b66e0e486 100644 --- a/packages/rs-sdk/tests/fetch/contested_resource_vote_state.rs +++ b/packages/rs-sdk/tests/fetch/contested_resource_vote_state.rs @@ -277,8 +277,8 @@ type MutFn = fn(&mut ContestedDocumentVotePollDriveQuery); #[test_case(|q| q.limit = Some(0), Err("limit 0 out of bounds of [1, 100]"); "limit 0")] #[test_case(|q| q.limit = Some(std::u16::MAX), Err("limit 65535 out of bounds of [1, 100]"); "limit std::u16::MAX")] -#[test_case(|q| q.start_at = Some(([0x11; 32], true)), Ok("Contenders { contenders: {Identifier("); "start_at does not exist should return next contenders")] -#[test_case(|q| q.start_at = Some(([0xff; 32], true)), Ok("Contenders { contenders: {}, abstain_vote_tally: None, lock_vote_tally: None }"); "start_at 0xff;32 should return zero contenders")] +#[test_case(|q| q.start_at = Some(([0x11; 32], true)), Ok("Contenders { winner: None, contenders: {Identifier("); "start_at does not exist should return next contenders")] +#[test_case(|q| q.start_at = Some(([0xff; 32], true)), Ok("Contenders { winner: None, contenders: {}, abstain_vote_tally: None, lock_vote_tally: None }"); "start_at 0xff;32 should return zero contenders")] #[test_case(|q| q.vote_poll.document_type_name = "nx doctype".to_string(), Err(r#"code: InvalidArgument, message: "document type nx doctype not found"#); "non existing document type returns InvalidArgument")] #[test_case(|q| q.vote_poll.index_name = "nx index".to_string(), Err(r#"code: InvalidArgument, message: "index with name nx index is not the contested index"#); "non existing index returns InvalidArgument")] #[test_case(|q| q.vote_poll.index_name = "dashIdentityId".to_string(), Err(r#"code: InvalidArgument, message: "index with name dashIdentityId is not the contested index"#); "existing non-contested index returns InvalidArgument")] diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 14c987933b3..b59acbb97a4 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -132,11 +132,10 @@ async fn test_data_contracts_2_nx() { not(feature = "offline-testing"), ignore = "This test requires special procedure to regenerate test vectors" )] -#[ignore = "todo: Lukazs to re-enable"] async fn test_data_contract_history_read() { let cfg = Config::new(); let id = Identifier::from_string( - "df73e40f62ab71d99254037226093f38f683b28cf552f3459d2bdc28614191e0", + "20d16030541c0494e84064e2e72b5ec620546305849a2f9d5893a5e65072364d", Encoding::Hex, ) .unwrap(); diff --git a/packages/rs-sdk/tests/fetch/epoch.rs b/packages/rs-sdk/tests/fetch/epoch.rs index efd64eef62d..8080e3b344b 100644 --- a/packages/rs-sdk/tests/fetch/epoch.rs +++ b/packages/rs-sdk/tests/fetch/epoch.rs @@ -7,7 +7,8 @@ use dapi_grpc::platform::{ }; use dash_sdk::{ platform::{ - types::epoch::ExtendedEpochInfoEx, Fetch, FetchMany, LimitQuery, DEFAULT_EPOCH_QUERY_LIMIT, + fetch_current_no_parameters::FetchCurrent, Fetch, FetchMany, LimitQuery, + DEFAULT_EPOCH_QUERY_LIMIT, }, Sdk, }; diff --git a/packages/rs-sdk/tests/fetch/evonode.rs b/packages/rs-sdk/tests/fetch/evonode.rs new file mode 100644 index 00000000000..0d35d5be9f3 --- /dev/null +++ b/packages/rs-sdk/tests/fetch/evonode.rs @@ -0,0 +1,71 @@ +//! Test evo node status and other node-related functionality. + +use super::{common::setup_logs, config::Config}; +use dash_sdk::platform::{types::evonode::EvoNode, FetchUnproved}; +use dpp::dashcore::{hashes::Hash, ProTxHash}; +use drive_proof_verifier::types::EvoNodeStatus; +use http::Uri; +use std::time::Duration; +/// Given some existing evonode URIs, WHEN we connect to them, THEN we get status. +use tokio::time::timeout; + +#[tokio::test(flavor = "multi_thread", worker_threads = 1)] +async fn test_evonode_status() { + setup_logs(); + + let cfg = Config::new(); + let sdk = cfg.setup_api("test_evonode_status").await; + + let addresses = cfg.address_list(); + + for address in addresses { + let node = EvoNode::new(address.clone()); + match timeout( + Duration::from_secs(3), + EvoNodeStatus::fetch_unproved(&sdk, node), + ) + .await + { + Ok(Ok(Some(status))) => { + tracing::debug!(?status, ?address, "evonode status"); + // Add assertions here to verify the status contents + assert!( + status.chain.latest_block_height > 0, + "latest block height must be positive" + ); + assert!( + status.node.pro_tx_hash.unwrap_or_default().len() == ProTxHash::LEN, + "latest block hash must be non-empty" + ); + // Add more specific assertions based on expected status properties + } + Ok(Ok(None)) => { + tracing::warn!(?address, "No status found for evonode"); + panic!("No status found for evonode"); + } + Ok(Err(e)) => { + tracing::error!(?address, error = ?e, "Error fetching evonode status"); + } + Err(_) => { + tracing::error!(?address, "Timeout while fetching evonode status"); + } + } + } +} + +/// Given invalid evonode URI, when we request status, we get error. +#[tokio::test(flavor = "multi_thread", worker_threads = 1)] +async fn test_evonode_status_refused() { + setup_logs(); + + let cfg = Config::new(); + let sdk = cfg.setup_api("test_evonode_status_refused").await; + + let uri: Uri = "http://127.0.0.1:1".parse().unwrap(); + + let node = EvoNode::new(uri.clone().into()); + let result = EvoNodeStatus::fetch_unproved(&sdk, node).await; + tracing::debug!(?result, ?uri, "evonode status"); + + assert!(result.is_err()); +} diff --git a/packages/rs-sdk/tests/fetch/mod.rs b/packages/rs-sdk/tests/fetch/mod.rs index 76e6c84c69c..363e35f069f 100644 --- a/packages/rs-sdk/tests/fetch/mod.rs +++ b/packages/rs-sdk/tests/fetch/mod.rs @@ -17,6 +17,7 @@ mod contested_resource_voters; mod data_contract; mod document; mod epoch; +mod evonode; mod identity; mod identity_contract_nonce; mod mock_fetch; diff --git a/packages/rs-sdk/tests/fetch/protocol_version_vote_count.rs b/packages/rs-sdk/tests/fetch/protocol_version_vote_count.rs index 2c31ca7c2f4..b1c9fb4be5c 100644 --- a/packages/rs-sdk/tests/fetch/protocol_version_vote_count.rs +++ b/packages/rs-sdk/tests/fetch/protocol_version_vote_count.rs @@ -1,6 +1,7 @@ use super::{common::setup_logs, config::Config}; use dash_sdk::platform::FetchMany; use dpp::version::ProtocolVersionVoteCount; +use drive_proof_verifier::types::ProtocolVersionUpgrades; /// Given some existing identity ID, when I fetch the identity keys, I get some of them indexed by key ID. #[tokio::test(flavor = "multi_thread", worker_threads = 1)] @@ -10,7 +11,7 @@ async fn test_protocol_version_vote_count() { let cfg = Config::new(); let sdk = cfg.setup_api("test_protocol_version_vote_count").await; - let votings = ProtocolVersionVoteCount::fetch_many(&sdk, ()) + let votings: ProtocolVersionUpgrades = ProtocolVersionVoteCount::fetch_many(&sdk, ()) .await .expect("fetch protocol version votes"); diff --git a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json index 0483455616f..300e476a45e 100644 Binary files a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json and b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json differ diff --git a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourcesRequest_8f71462d5f438e1b12fedf94ad5799af81392b7b0cbb7e86412da37ab13aef4b.json b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourcesRequest_8f71462d5f438e1b12fedf94ad5799af81392b7b0cbb7e86412da37ab13aef4b.json index 4489c6cee23..d9c45a55bb2 100644 Binary files a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourcesRequest_8f71462d5f438e1b12fedf94ad5799af81392b7b0cbb7e86412da37ab13aef4b.json and b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetContestedResourcesRequest_8f71462d5f438e1b12fedf94ad5799af81392b7b0cbb7e86412da37ab13aef4b.json differ diff --git a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/check_mn_voting_prerequisities/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/msg_GetContestedResourceIdentityVotesRequest_e000a8dfb1f42155770acb028f56557d0524384797bb450e22f41f66743d5d11.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/msg_GetContestedResourceIdentityVotesRequest_e000a8dfb1f42155770acb028f56557d0524384797bb450e22f41f66743d5d11.json index 1cd118dc3f1..d1a33e908a8 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/msg_GetContestedResourceIdentityVotesRequest_e000a8dfb1f42155770acb028f56557d0524384797bb450e22f41f66743d5d11.json and b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/msg_GetContestedResourceIdentityVotesRequest_e000a8dfb1f42155770acb028f56557d0524384797bb450e22f41f66743d5d11.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetContestedResourceIdentityVotesRequest_3eae9b60bf6fb0140e51ef4cc1c1b4eb361d64607a75a117ebf3096fafb32a41.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetContestedResourceIdentityVotesRequest_3eae9b60bf6fb0140e51ef4cc1c1b4eb361d64607a75a117ebf3096fafb32a41.json new file mode 100644 index 00000000000..a230d7abfea Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetContestedResourceIdentityVotesRequest_3eae9b60bf6fb0140e51ef4cc1c1b4eb361d64607a75a117ebf3096fafb32a41.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetContestedResourceIdentityVotesRequest_bb82f59de13ddcfebb86f44e50cb599280513ad72637c1060cef59b6a1199be4.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetContestedResourceIdentityVotesRequest_bb82f59de13ddcfebb86f44e50cb599280513ad72637c1060cef59b6a1199be4.json deleted file mode 100644 index 6fcecae1b53..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetContestedResourceIdentityVotesRequest_bb82f59de13ddcfebb86f44e50cb599280513ad72637c1060cef59b6a1199be4.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 44f60a39152..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resource_identity_votes_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetContestedResourceVoteStateRequest_8789d5d98ad7f00573a87fd0860dbd43fab2e54a98aa44bc88c049e1cf72f5fb.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetContestedResourceVoteStateRequest_8789d5d98ad7f00573a87fd0860dbd43fab2e54a98aa44bc88c049e1cf72f5fb.json index 1939ec77de9..9f6fdc1a411 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetContestedResourceVoteStateRequest_8789d5d98ad7f00573a87fd0860dbd43fab2e54a98aa44bc88c049e1cf72f5fb.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetContestedResourceVoteStateRequest_8789d5d98ad7f00573a87fd0860dbd43fab2e54a98aa44bc88c049e1cf72f5fb.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 8b487ecf0b4..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_nx_contract/msg_GetContestedResourceVoteStateRequest_f700de7bfd247d4f0193fabc530ac956499cf0081eb632e6d84ef4f9c32d8690.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_nx_contract/msg_GetContestedResourceVoteStateRequest_f700de7bfd247d4f0193fabc530ac956499cf0081eb632e6d84ef4f9c32d8690.json index 2caf9a91819..e9e6c9759de 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_nx_contract/msg_GetContestedResourceVoteStateRequest_f700de7bfd247d4f0193fabc530ac956499cf0081eb632e6d84ef4f9c32d8690.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_nx_contract/msg_GetContestedResourceVoteStateRequest_f700de7bfd247d4f0193fabc530ac956499cf0081eb632e6d84ef4f9c32d8690.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json index 0483455616f..300e476a45e 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_7a62b33ce71dec56fbbcb0302eac0041cdc16404006d1b30577292c6ce106cdb.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_7a62b33ce71dec56fbbcb0302eac0041cdc16404006d1b30577292c6ce106cdb.json index 5b454867720..e88e9376ff7 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_7a62b33ce71dec56fbbcb0302eac0041cdc16404006d1b30577292c6ce106cdb.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_7a62b33ce71dec56fbbcb0302eac0041cdc16404006d1b30577292c6ce106cdb.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json index 0483455616f..300e476a45e 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json index 0483455616f..300e476a45e 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json and b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_0e43e4a6b936a0ac5616284eafbcb09aa9794d86af9557da8e538eb53b0e47a1.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_0e43e4a6b936a0ac5616284eafbcb09aa9794d86af9557da8e538eb53b0e47a1.json deleted file mode 100644 index 51403e20062..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_0e43e4a6b936a0ac5616284eafbcb09aa9794d86af9557da8e538eb53b0e47a1.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_1b1a7fba98768253d52b080f988efc91ec50975505e3aaf1b1844aa7915cae07.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_1b1a7fba98768253d52b080f988efc91ec50975505e3aaf1b1844aa7915cae07.json deleted file mode 100644 index 1fa3b3dac39..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_1b1a7fba98768253d52b080f988efc91ec50975505e3aaf1b1844aa7915cae07.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_4698eed49c628d65b930a48286b7b889b486f0341ced46beee35a8693507d319.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_4698eed49c628d65b930a48286b7b889b486f0341ced46beee35a8693507d319.json new file mode 100644 index 00000000000..85c6d7ca375 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_4698eed49c628d65b930a48286b7b889b486f0341ced46beee35a8693507d319.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_4fef665cf10f94bb365a870370362b6c9d24b4ad3348d6f75a2faff16c63cfab.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_4fef665cf10f94bb365a870370362b6c9d24b4ad3348d6f75a2faff16c63cfab.json deleted file mode 100644 index 10f2b8a76f9..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_4fef665cf10f94bb365a870370362b6c9d24b4ad3348d6f75a2faff16c63cfab.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_606cb2d93ca22b6a73e58bca36002e4d9a981806b2efa77c35b08bcffe360bc5.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_606cb2d93ca22b6a73e58bca36002e4d9a981806b2efa77c35b08bcffe360bc5.json new file mode 100644 index 00000000000..b5cd7667fde Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_606cb2d93ca22b6a73e58bca36002e4d9a981806b2efa77c35b08bcffe360bc5.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_901f0f04456fd2d03a1d16a56baeb2baad30765e2616aea8a61637690cc28b91.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_901f0f04456fd2d03a1d16a56baeb2baad30765e2616aea8a61637690cc28b91.json new file mode 100644 index 00000000000..58a98222fb7 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_901f0f04456fd2d03a1d16a56baeb2baad30765e2616aea8a61637690cc28b91.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetContestedResourcesRequest_25a3f1603510228a22726e0b4c35bce08c84a0cf72b34f6a408982f7babce2c2.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetContestedResourcesRequest_25a3f1603510228a22726e0b4c35bce08c84a0cf72b34f6a408982f7babce2c2.json index edbd6eedaf6..bbfdee7b8e0 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetContestedResourcesRequest_25a3f1603510228a22726e0b4c35bce08c84a0cf72b34f6a408982f7babce2c2.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetContestedResourcesRequest_25a3f1603510228a22726e0b4c35bce08c84a0cf72b34f6a408982f7babce2c2.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_26378250faa97706848b4fee6ed2f2cb0ab194082b611404c4c28b595d5cecdf/msg_GetContestedResourcesRequest_77c7328647f3785936dfb2c48dbcf0ed3b40564b35e3ce17ee02d5b15e9bede1.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_26378250faa97706848b4fee6ed2f2cb0ab194082b611404c4c28b595d5cecdf/msg_GetContestedResourcesRequest_77c7328647f3785936dfb2c48dbcf0ed3b40564b35e3ce17ee02d5b15e9bede1.json index c2ac5dd6ebd..12c65611a9a 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_26378250faa97706848b4fee6ed2f2cb0ab194082b611404c4c28b595d5cecdf/msg_GetContestedResourcesRequest_77c7328647f3785936dfb2c48dbcf0ed3b40564b35e3ce17ee02d5b15e9bede1.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_26378250faa97706848b4fee6ed2f2cb0ab194082b611404c4c28b595d5cecdf/msg_GetContestedResourcesRequest_77c7328647f3785936dfb2c48dbcf0ed3b40564b35e3ce17ee02d5b15e9bede1.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_31d560b1c7927c2052e6d6efe7a00d204f33b4194f3fba7ed0ec5f2387097dac/msg_GetContestedResourcesRequest_219b7c56aec6474f1bb2eb673898fbd24420cbf27187df52fbb489e70b1c898d.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_31d560b1c7927c2052e6d6efe7a00d204f33b4194f3fba7ed0ec5f2387097dac/msg_GetContestedResourcesRequest_219b7c56aec6474f1bb2eb673898fbd24420cbf27187df52fbb489e70b1c898d.json index c93ecd633a6..e49ea35e193 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_31d560b1c7927c2052e6d6efe7a00d204f33b4194f3fba7ed0ec5f2387097dac/msg_GetContestedResourcesRequest_219b7c56aec6474f1bb2eb673898fbd24420cbf27187df52fbb489e70b1c898d.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_31d560b1c7927c2052e6d6efe7a00d204f33b4194f3fba7ed0ec5f2387097dac/msg_GetContestedResourcesRequest_219b7c56aec6474f1bb2eb673898fbd24420cbf27187df52fbb489e70b1c898d.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_3cd5aaa5bb117bd7a79c8f91545dbe469d5140b9e3c994bfcb80e3697cd9381e/msg_GetContestedResourcesRequest_be10704137c79a7c54b4c392a640353cf7adee1c4b04dc8689afc26031b9b010.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_3cd5aaa5bb117bd7a79c8f91545dbe469d5140b9e3c994bfcb80e3697cd9381e/msg_GetContestedResourcesRequest_be10704137c79a7c54b4c392a640353cf7adee1c4b04dc8689afc26031b9b010.json index 96efe8e57d3..a3f07928c11 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_3cd5aaa5bb117bd7a79c8f91545dbe469d5140b9e3c994bfcb80e3697cd9381e/msg_GetContestedResourcesRequest_be10704137c79a7c54b4c392a640353cf7adee1c4b04dc8689afc26031b9b010.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_3cd5aaa5bb117bd7a79c8f91545dbe469d5140b9e3c994bfcb80e3697cd9381e/msg_GetContestedResourcesRequest_be10704137c79a7c54b4c392a640353cf7adee1c4b04dc8689afc26031b9b010.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_465afbed74842189a7651d5ea128874bbcfcb0dc0e4c32ab8ea2d3c8a4d32a03/msg_GetContestedResourcesRequest_6ec2c2e0abfde5adf1d65d2b06ba7401f9ed4ef7493ce9faa08a50e6b4d2c34d.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_465afbed74842189a7651d5ea128874bbcfcb0dc0e4c32ab8ea2d3c8a4d32a03/msg_GetContestedResourcesRequest_6ec2c2e0abfde5adf1d65d2b06ba7401f9ed4ef7493ce9faa08a50e6b4d2c34d.json index a1b6d2e70df..ecc26853a49 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_465afbed74842189a7651d5ea128874bbcfcb0dc0e4c32ab8ea2d3c8a4d32a03/msg_GetContestedResourcesRequest_6ec2c2e0abfde5adf1d65d2b06ba7401f9ed4ef7493ce9faa08a50e6b4d2c34d.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_465afbed74842189a7651d5ea128874bbcfcb0dc0e4c32ab8ea2d3c8a4d32a03/msg_GetContestedResourcesRequest_6ec2c2e0abfde5adf1d65d2b06ba7401f9ed4ef7493ce9faa08a50e6b4d2c34d.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetContestedResourcesRequest_80ba1d11caa6442b39ab0f05e7fd84b9984fd04a4ca40a146aea81c3ea5c39ef.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetContestedResourcesRequest_80ba1d11caa6442b39ab0f05e7fd84b9984fd04a4ca40a146aea81c3ea5c39ef.json index 36159629d12..f4c8ab177bb 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetContestedResourcesRequest_80ba1d11caa6442b39ab0f05e7fd84b9984fd04a4ca40a146aea81c3ea5c39ef.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetContestedResourcesRequest_80ba1d11caa6442b39ab0f05e7fd84b9984fd04a4ca40a146aea81c3ea5c39ef.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_473cf8e4a270ced75e199e5a3e907b4df4cd66b64365d1ac77c45bcaed443a03/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_8ae090a1b1351d43a2df073800c78374b4bab6d7f26b2f163436712312233554/msg_GetContestedResourcesRequest_ad9ea5e65a5302d37eee711c9465a0fc6bf7035276b9ae4be55fb15774eb54e7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_8ae090a1b1351d43a2df073800c78374b4bab6d7f26b2f163436712312233554/msg_GetContestedResourcesRequest_ad9ea5e65a5302d37eee711c9465a0fc6bf7035276b9ae4be55fb15774eb54e7.json index 7cba034a333..92986258bab 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_8ae090a1b1351d43a2df073800c78374b4bab6d7f26b2f163436712312233554/msg_GetContestedResourcesRequest_ad9ea5e65a5302d37eee711c9465a0fc6bf7035276b9ae4be55fb15774eb54e7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_8ae090a1b1351d43a2df073800c78374b4bab6d7f26b2f163436712312233554/msg_GetContestedResourcesRequest_ad9ea5e65a5302d37eee711c9465a0fc6bf7035276b9ae4be55fb15774eb54e7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_93d82dd3f64ebcd26d544e5e5d2933bfca11e0f2d904628d007ad04a12e66ea1/msg_GetContestedResourcesRequest_45785d2d1a5309b4b29ccfa650f30e457c9e0f5d50a3b8f0f86e1da3420877d7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_93d82dd3f64ebcd26d544e5e5d2933bfca11e0f2d904628d007ad04a12e66ea1/msg_GetContestedResourcesRequest_45785d2d1a5309b4b29ccfa650f30e457c9e0f5d50a3b8f0f86e1da3420877d7.json index 27ff10fa280..729ec471237 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_93d82dd3f64ebcd26d544e5e5d2933bfca11e0f2d904628d007ad04a12e66ea1/msg_GetContestedResourcesRequest_45785d2d1a5309b4b29ccfa650f30e457c9e0f5d50a3b8f0f86e1da3420877d7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_93d82dd3f64ebcd26d544e5e5d2933bfca11e0f2d904628d007ad04a12e66ea1/msg_GetContestedResourcesRequest_45785d2d1a5309b4b29ccfa650f30e457c9e0f5d50a3b8f0f86e1da3420877d7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetContestedResourcesRequest_5396ff2dd55051d854e18e406fbbfa6b1eff43954af904bce8f123fed7515132.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetContestedResourcesRequest_5396ff2dd55051d854e18e406fbbfa6b1eff43954af904bce8f123fed7515132.json index bcf3f21dd93..827e98aa3b6 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetContestedResourcesRequest_5396ff2dd55051d854e18e406fbbfa6b1eff43954af904bce8f123fed7515132.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetContestedResourcesRequest_5396ff2dd55051d854e18e406fbbfa6b1eff43954af904bce8f123fed7515132.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetContestedResourcesRequest_f06ea270a508a9d9c386b8da170f67620695a23f63dc7376bd4a509e93335ce9.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetContestedResourcesRequest_f06ea270a508a9d9c386b8da170f67620695a23f63dc7376bd4a509e93335ce9.json index ae1056d024f..df53609095a 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetContestedResourcesRequest_f06ea270a508a9d9c386b8da170f67620695a23f63dc7376bd4a509e93335ce9.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetContestedResourcesRequest_f06ea270a508a9d9c386b8da170f67620695a23f63dc7376bd4a509e93335ce9.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_9f57b982b3e3b0286093d8b48ab27b87b22f67a172579913f2fec7a6b5ea31b7/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_afc96196b7f1e6f82927d852558ac6e2327f8c74d931d667fbe120136ceb5437/msg_GetContestedResourcesRequest_533d36b545633f42c839ba9038ec301f2326c1e59739fe07fb863facb5f2b5a8.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_afc96196b7f1e6f82927d852558ac6e2327f8c74d931d667fbe120136ceb5437/msg_GetContestedResourcesRequest_533d36b545633f42c839ba9038ec301f2326c1e59739fe07fb863facb5f2b5a8.json index 6f12220bc84..3273894e346 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_afc96196b7f1e6f82927d852558ac6e2327f8c74d931d667fbe120136ceb5437/msg_GetContestedResourcesRequest_533d36b545633f42c839ba9038ec301f2326c1e59739fe07fb863facb5f2b5a8.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_afc96196b7f1e6f82927d852558ac6e2327f8c74d931d667fbe120136ceb5437/msg_GetContestedResourcesRequest_533d36b545633f42c839ba9038ec301f2326c1e59739fe07fb863facb5f2b5a8.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json index 10d40a9b145..b689eb30423 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_c1b9b8bbe62a89fc36d21db697688ddf4d34adb509daae02524ac41b312105a4/msg_GetContestedResourcesRequest_f063860c9156f1eb609f8f0cccf51b74928ffdfac56bc589d217525ce101d35b.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_c1b9b8bbe62a89fc36d21db697688ddf4d34adb509daae02524ac41b312105a4/msg_GetContestedResourcesRequest_f063860c9156f1eb609f8f0cccf51b74928ffdfac56bc589d217525ce101d35b.json index 2b4e579e8ff..f4584c3156c 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_c1b9b8bbe62a89fc36d21db697688ddf4d34adb509daae02524ac41b312105a4/msg_GetContestedResourcesRequest_f063860c9156f1eb609f8f0cccf51b74928ffdfac56bc589d217525ce101d35b.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_c1b9b8bbe62a89fc36d21db697688ddf4d34adb509daae02524ac41b312105a4/msg_GetContestedResourcesRequest_f063860c9156f1eb609f8f0cccf51b74928ffdfac56bc589d217525ce101d35b.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_ca7552f3c1737e70f4781f101ec9bf73f52ab260cbde3cddcbb38665da1db8f9/msg_GetContestedResourcesRequest_1935cb975797e6d5dc29cca6923b9c94b8d468da725cc241df1601e630036b97.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_ca7552f3c1737e70f4781f101ec9bf73f52ab260cbde3cddcbb38665da1db8f9/msg_GetContestedResourcesRequest_1935cb975797e6d5dc29cca6923b9c94b8d468da725cc241df1601e630036b97.json index d1a13b06fa3..4e53c65fa78 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_ca7552f3c1737e70f4781f101ec9bf73f52ab260cbde3cddcbb38665da1db8f9/msg_GetContestedResourcesRequest_1935cb975797e6d5dc29cca6923b9c94b8d468da725cc241df1601e630036b97.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_ca7552f3c1737e70f4781f101ec9bf73f52ab260cbde3cddcbb38665da1db8f9/msg_GetContestedResourcesRequest_1935cb975797e6d5dc29cca6923b9c94b8d468da725cc241df1601e630036b97.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetContestedResourcesRequest_7dd3b1061a019dac5fa1f385b8bd5387b9cca48a3062a4db8bf0341a839f2bae.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetContestedResourcesRequest_7dd3b1061a019dac5fa1f385b8bd5387b9cca48a3062a4db8bf0341a839f2bae.json index 541a5eef0b1..4f9cc1a3817 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetContestedResourcesRequest_7dd3b1061a019dac5fa1f385b8bd5387b9cca48a3062a4db8bf0341a839f2bae.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetContestedResourcesRequest_7dd3b1061a019dac5fa1f385b8bd5387b9cca48a3062a4db8bf0341a839f2bae.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_fields_ccb199c48ee58a8bb98742b964cba7bda3b4469b740201d2628f15f926f39347/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_fields_f7abf9d04f5e79fc1bbc2cc010a229ec4b04185dc80580e7e8dd783b45c4eac6/msg_GetContestedResourcesRequest_676e45023cbf73697f012bc5ac51a7310d759b9fe67594f3899f1e0485c383f1.json b/packages/rs-sdk/tests/vectors/contested_resources_fields_f7abf9d04f5e79fc1bbc2cc010a229ec4b04185dc80580e7e8dd783b45c4eac6/msg_GetContestedResourcesRequest_676e45023cbf73697f012bc5ac51a7310d759b9fe67594f3899f1e0485c383f1.json index a2cff73e6b5..08bfc6a9758 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_fields_f7abf9d04f5e79fc1bbc2cc010a229ec4b04185dc80580e7e8dd783b45c4eac6/msg_GetContestedResourcesRequest_676e45023cbf73697f012bc5ac51a7310d759b9fe67594f3899f1e0485c383f1.json and b/packages/rs-sdk/tests/vectors/contested_resources_fields_f7abf9d04f5e79fc1bbc2cc010a229ec4b04185dc80580e7e8dd783b45c4eac6/msg_GetContestedResourcesRequest_676e45023cbf73697f012bc5ac51a7310d759b9fe67594f3899f1e0485c383f1.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_1501210861eb1ce786ba78ba0d7b68db1c1d188ebf01dca2745102e51d0016e4.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_1501210861eb1ce786ba78ba0d7b68db1c1d188ebf01dca2745102e51d0016e4.json new file mode 100644 index 00000000000..4e733b19449 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_1501210861eb1ce786ba78ba0d7b68db1c1d188ebf01dca2745102e51d0016e4.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_3559237b68be75d94ba88b7f926133635b1b3857f232307ebd29de8a64932ccf.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_3559237b68be75d94ba88b7f926133635b1b3857f232307ebd29de8a64932ccf.json deleted file mode 100644 index 2d14e4e7e7d..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_3559237b68be75d94ba88b7f926133635b1b3857f232307ebd29de8a64932ccf.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_37c394b62a91dfe665432198561649a7d9108f9b96fc074e1da61f0fa19d3b5b.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_37c394b62a91dfe665432198561649a7d9108f9b96fc074e1da61f0fa19d3b5b.json index e42104fdc55..923641d5df7 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_37c394b62a91dfe665432198561649a7d9108f9b96fc074e1da61f0fa19d3b5b.json and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_37c394b62a91dfe665432198561649a7d9108f9b96fc074e1da61f0fa19d3b5b.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_3b4ade5c7a2d0d346627a4ee2424f404a90172ba46f3ce4973a5f789c7f89cfa.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_3b4ade5c7a2d0d346627a4ee2424f404a90172ba46f3ce4973a5f789c7f89cfa.json new file mode 100644 index 00000000000..07e4176f457 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_3b4ade5c7a2d0d346627a4ee2424f404a90172ba46f3ce4973a5f789c7f89cfa.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_40ef2688b5170b8889257682591fb6f1f5b483c9e0840abcafe5bcc30b9f0bdd.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_40ef2688b5170b8889257682591fb6f1f5b483c9e0840abcafe5bcc30b9f0bdd.json new file mode 100644 index 00000000000..f670b0fb1e9 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_40ef2688b5170b8889257682591fb6f1f5b483c9e0840abcafe5bcc30b9f0bdd.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_41eaedc5b2d0e43291fbc6f3d9bf78e918d684b0f66257a9c7d33e2b62bfcfe8.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_41eaedc5b2d0e43291fbc6f3d9bf78e918d684b0f66257a9c7d33e2b62bfcfe8.json new file mode 100644 index 00000000000..c759b89111e Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_41eaedc5b2d0e43291fbc6f3d9bf78e918d684b0f66257a9c7d33e2b62bfcfe8.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_51c71e845c3f579ad3ced0e35efed11f384144320c099f54b2530f0be42f8664.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_51c71e845c3f579ad3ced0e35efed11f384144320c099f54b2530f0be42f8664.json index 17757db63da..1278507ddd4 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_51c71e845c3f579ad3ced0e35efed11f384144320c099f54b2530f0be42f8664.json and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_51c71e845c3f579ad3ced0e35efed11f384144320c099f54b2530f0be42f8664.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_7785e71a6245fd4ec421fef4c411f4a723908b4ee33c4612727d101cf58f3394.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_7785e71a6245fd4ec421fef4c411f4a723908b4ee33c4612727d101cf58f3394.json index d03a92c9c50..f626b729033 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_7785e71a6245fd4ec421fef4c411f4a723908b4ee33c4612727d101cf58f3394.json and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_7785e71a6245fd4ec421fef4c411f4a723908b4ee33c4612727d101cf58f3394.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_8f4daadf3e41747492cd381cbbd1cf33dd52735f597de4b4c804effd2600d135.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_8f4daadf3e41747492cd381cbbd1cf33dd52735f597de4b4c804effd2600d135.json index 83eaeeab1cc..84e1f32dedf 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_8f4daadf3e41747492cd381cbbd1cf33dd52735f597de4b4c804effd2600d135.json and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_8f4daadf3e41747492cd381cbbd1cf33dd52735f597de4b4c804effd2600d135.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_9bffa2ee1c963f9079be6fcffefdf4d1517394bad4f2c19e0ab2d34f3330f888.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_9bffa2ee1c963f9079be6fcffefdf4d1517394bad4f2c19e0ab2d34f3330f888.json deleted file mode 100644 index b44a1af0854..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_9bffa2ee1c963f9079be6fcffefdf4d1517394bad4f2c19e0ab2d34f3330f888.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_f4686bfe637dbe76a6de26e085c3fb36ec9234525729613a7a0a3138baff6d6a.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_f4686bfe637dbe76a6de26e085c3fb36ec9234525729613a7a0a3138baff6d6a.json new file mode 100644 index 00000000000..81e24ba8f75 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_f4686bfe637dbe76a6de26e085c3fb36ec9234525729613a7a0a3138baff6d6a.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_ff56aa1c3d107ee8f232f889ce6d623ba6f340f6953cc1b450631f9e38394fa6.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_ff56aa1c3d107ee8f232f889ce6d623ba6f340f6953cc1b450631f9e38394fa6.json new file mode 100644 index 00000000000..0993f06871c Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_ff56aa1c3d107ee8f232f889ce6d623ba6f340f6953cc1b450631f9e38394fa6.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_00b7bac855f345476da659743b50939881e64c648abe4ad1313f570e98350d1f.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_00b7bac855f345476da659743b50939881e64c648abe4ad1313f570e98350d1f.json new file mode 100644 index 00000000000..c445831dadf Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_00b7bac855f345476da659743b50939881e64c648abe4ad1313f570e98350d1f.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_061d1caf0f2b50525a3e3506457850dfa046ebabf22c41f663ba73e3d730cf95.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_061d1caf0f2b50525a3e3506457850dfa046ebabf22c41f663ba73e3d730cf95.json new file mode 100644 index 00000000000..fc29731e9cc Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_061d1caf0f2b50525a3e3506457850dfa046ebabf22c41f663ba73e3d730cf95.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_09540b24c4d98960527f45bc20e828d50a4fa7b3230d23ddfac563877efd61e2.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_09540b24c4d98960527f45bc20e828d50a4fa7b3230d23ddfac563877efd61e2.json index 3685c157470..a5a70d08934 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_09540b24c4d98960527f45bc20e828d50a4fa7b3230d23ddfac563877efd61e2.json and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_09540b24c4d98960527f45bc20e828d50a4fa7b3230d23ddfac563877efd61e2.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_0fe029a8b0fd66ec380809675d4de225f2e3e2d9b20b75d91a6b66a30a3358db.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_0fe029a8b0fd66ec380809675d4de225f2e3e2d9b20b75d91a6b66a30a3358db.json deleted file mode 100644 index 2b8b0e12055..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_0fe029a8b0fd66ec380809675d4de225f2e3e2d9b20b75d91a6b66a30a3358db.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_12a83820f10ece0b180bee7d58c1d4e66aec36ada2efbb1072f2196b5b856222.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_12a83820f10ece0b180bee7d58c1d4e66aec36ada2efbb1072f2196b5b856222.json index 1b90e95aa28..9ebddbd993e 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_12a83820f10ece0b180bee7d58c1d4e66aec36ada2efbb1072f2196b5b856222.json and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_12a83820f10ece0b180bee7d58c1d4e66aec36ada2efbb1072f2196b5b856222.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_15d5b23b6b2036272bc068779fecda5177deb7014745c4e797a386e792e55fe7.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_15d5b23b6b2036272bc068779fecda5177deb7014745c4e797a386e792e55fe7.json new file mode 100644 index 00000000000..eda9be4b2a5 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_15d5b23b6b2036272bc068779fecda5177deb7014745c4e797a386e792e55fe7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1b0ced62edb21c226e57f54549af899d86a39c5259bdade02cd2e90c72b20388.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1b0ced62edb21c226e57f54549af899d86a39c5259bdade02cd2e90c72b20388.json new file mode 100644 index 00000000000..f071276122e Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1b0ced62edb21c226e57f54549af899d86a39c5259bdade02cd2e90c72b20388.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f269e8f7c30fc23f85f4aa8c46214b0f6f6b7280b0ea686c2e0070f330add82.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f269e8f7c30fc23f85f4aa8c46214b0f6f6b7280b0ea686c2e0070f330add82.json new file mode 100644 index 00000000000..7c91cd21e13 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f269e8f7c30fc23f85f4aa8c46214b0f6f6b7280b0ea686c2e0070f330add82.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f4401f226caa8a5d77354422e8e82bd614dd12d29f8041839df02c578fb7ed2.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f4401f226caa8a5d77354422e8e82bd614dd12d29f8041839df02c578fb7ed2.json new file mode 100644 index 00000000000..89b1c78f641 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f4401f226caa8a5d77354422e8e82bd614dd12d29f8041839df02c578fb7ed2.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f5b3258963ef7c64984f0d15bbbadb27060d67cd8420c1101237534133c72e4.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f5b3258963ef7c64984f0d15bbbadb27060d67cd8420c1101237534133c72e4.json new file mode 100644 index 00000000000..2599be886c8 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f5b3258963ef7c64984f0d15bbbadb27060d67cd8420c1101237534133c72e4.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f873b2573e67617507772a3caf7d2680b608c398a70ca34c7276dbc079b932c.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f873b2573e67617507772a3caf7d2680b608c398a70ca34c7276dbc079b932c.json deleted file mode 100644 index d600ad64236..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1f873b2573e67617507772a3caf7d2680b608c398a70ca34c7276dbc079b932c.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_247a25c20366e893f60cc0d9321dd268f3555081d2a3a5e112886b1c78b4009f.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_247a25c20366e893f60cc0d9321dd268f3555081d2a3a5e112886b1c78b4009f.json index 407a9569e0b..d118b25e8ad 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_247a25c20366e893f60cc0d9321dd268f3555081d2a3a5e112886b1c78b4009f.json and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_247a25c20366e893f60cc0d9321dd268f3555081d2a3a5e112886b1c78b4009f.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2aeaf8f528e207ff093c003b46e3c4cd53b525ef27be36077437e8b9b8ffadd8.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2aeaf8f528e207ff093c003b46e3c4cd53b525ef27be36077437e8b9b8ffadd8.json index 2e0ef4a01ab..e6948dc8607 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2aeaf8f528e207ff093c003b46e3c4cd53b525ef27be36077437e8b9b8ffadd8.json and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2aeaf8f528e207ff093c003b46e3c4cd53b525ef27be36077437e8b9b8ffadd8.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2b0bd7604b1c5ccc1f01ff0da46a4b98bc0a965fb8b29d1b552d5a29ae192ab9.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2b0bd7604b1c5ccc1f01ff0da46a4b98bc0a965fb8b29d1b552d5a29ae192ab9.json new file mode 100644 index 00000000000..3c5d236a43f Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2b0bd7604b1c5ccc1f01ff0da46a4b98bc0a965fb8b29d1b552d5a29ae192ab9.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2f23cb59566065fc579e0b6b7eeafd9ccac7a5573423da7f914846cfedf3306f.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2f23cb59566065fc579e0b6b7eeafd9ccac7a5573423da7f914846cfedf3306f.json deleted file mode 100644 index df833566d7f..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2f23cb59566065fc579e0b6b7eeafd9ccac7a5573423da7f914846cfedf3306f.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_307328f0782bfb7cdc1e11c92af84e6f2c2b37a1da002e0a485ad7bc30b764bb.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_307328f0782bfb7cdc1e11c92af84e6f2c2b37a1da002e0a485ad7bc30b764bb.json new file mode 100644 index 00000000000..dbbd1e333e0 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_307328f0782bfb7cdc1e11c92af84e6f2c2b37a1da002e0a485ad7bc30b764bb.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_30cccf1859394e30e6410e83048d9b0e583a50f6346ab371062a60862a9d2516.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_30cccf1859394e30e6410e83048d9b0e583a50f6346ab371062a60862a9d2516.json deleted file mode 100644 index 6644feef28a..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_30cccf1859394e30e6410e83048d9b0e583a50f6346ab371062a60862a9d2516.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_388e6cb4df81e14ab19fdb2c1c3f2d4ab07892cc88e51b95c474bb8dd4834773.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_388e6cb4df81e14ab19fdb2c1c3f2d4ab07892cc88e51b95c474bb8dd4834773.json deleted file mode 100644 index 0709b965436..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_388e6cb4df81e14ab19fdb2c1c3f2d4ab07892cc88e51b95c474bb8dd4834773.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4153546f1e76e6a6c20fb42644192ff55e2434e36b13595910f1c02c9473b680.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4153546f1e76e6a6c20fb42644192ff55e2434e36b13595910f1c02c9473b680.json new file mode 100644 index 00000000000..b700bfc7fe0 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4153546f1e76e6a6c20fb42644192ff55e2434e36b13595910f1c02c9473b680.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_43103f757a1b16752bdf92997fe1d98cc81197999226ba2a06e1002b94fa99ba.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_43103f757a1b16752bdf92997fe1d98cc81197999226ba2a06e1002b94fa99ba.json new file mode 100644 index 00000000000..cbd3d73ca3b Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_43103f757a1b16752bdf92997fe1d98cc81197999226ba2a06e1002b94fa99ba.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_49593e41313ee6da1685f4a59d9e8d08982802ad41ae314ebdd902533315d200.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_49593e41313ee6da1685f4a59d9e8d08982802ad41ae314ebdd902533315d200.json new file mode 100644 index 00000000000..396a405b2a3 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_49593e41313ee6da1685f4a59d9e8d08982802ad41ae314ebdd902533315d200.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4bc3a31c696a234e5ef24e6a1d5f8d622dd35b75e8090c88ddc45fd4e669d448.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4bc3a31c696a234e5ef24e6a1d5f8d622dd35b75e8090c88ddc45fd4e669d448.json new file mode 100644 index 00000000000..f90eb17e1ac Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4bc3a31c696a234e5ef24e6a1d5f8d622dd35b75e8090c88ddc45fd4e669d448.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4f5ac50380991aed36c40cdc546b2600d58dd5d92a107adf42838108dfe5c919.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4f5ac50380991aed36c40cdc546b2600d58dd5d92a107adf42838108dfe5c919.json deleted file mode 100644 index 379af2c6481..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4f5ac50380991aed36c40cdc546b2600d58dd5d92a107adf42838108dfe5c919.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_53acfa6801e8faf3968fcb37b1977aa3058a5e96a54279f3cd7b134ef5efcbb1.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_53acfa6801e8faf3968fcb37b1977aa3058a5e96a54279f3cd7b134ef5efcbb1.json index 5d7999b0667..3c675f72e94 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_53acfa6801e8faf3968fcb37b1977aa3058a5e96a54279f3cd7b134ef5efcbb1.json and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_53acfa6801e8faf3968fcb37b1977aa3058a5e96a54279f3cd7b134ef5efcbb1.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5685b7b4cb0467fc8d4021fb120b76feb7a8b605c1da4a28fc1fd42e93420169.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5685b7b4cb0467fc8d4021fb120b76feb7a8b605c1da4a28fc1fd42e93420169.json new file mode 100644 index 00000000000..dedeb51050f Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5685b7b4cb0467fc8d4021fb120b76feb7a8b605c1da4a28fc1fd42e93420169.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5dd4150344158e77182615c11c9a65ca8a14db4b0950279b5edbf16c6ef5572c.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5dd4150344158e77182615c11c9a65ca8a14db4b0950279b5edbf16c6ef5572c.json new file mode 100644 index 00000000000..7726ce69365 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5dd4150344158e77182615c11c9a65ca8a14db4b0950279b5edbf16c6ef5572c.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_60b983daa48ffed8fa39de03f9d48fa433a252c86c18a917e755de75cca4224e.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_60b983daa48ffed8fa39de03f9d48fa433a252c86c18a917e755de75cca4224e.json deleted file mode 100644 index e5552adfc19..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_60b983daa48ffed8fa39de03f9d48fa433a252c86c18a917e755de75cca4224e.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_61164ed4c833bb713ba73b843a1ac9fe0fc7e82040ccd47c874cd988de5a8574.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_61164ed4c833bb713ba73b843a1ac9fe0fc7e82040ccd47c874cd988de5a8574.json new file mode 100644 index 00000000000..0d8699da07b Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_61164ed4c833bb713ba73b843a1ac9fe0fc7e82040ccd47c874cd988de5a8574.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_6867758e065031acc5e4b6bf5ef3b70df05ee0895f634d3fdffa5e9c7fdee578.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_6867758e065031acc5e4b6bf5ef3b70df05ee0895f634d3fdffa5e9c7fdee578.json new file mode 100644 index 00000000000..a018630dd12 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_6867758e065031acc5e4b6bf5ef3b70df05ee0895f634d3fdffa5e9c7fdee578.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_69fb1f50d6f13a2f9ea07a3888ecac5d02500f0820e02acc5683d6e595156559.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_69fb1f50d6f13a2f9ea07a3888ecac5d02500f0820e02acc5683d6e595156559.json deleted file mode 100644 index 1d50f428e3f..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_69fb1f50d6f13a2f9ea07a3888ecac5d02500f0820e02acc5683d6e595156559.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_74477b940a401b9daa770791ce4ffaf2f0b3d1a7ca2598153024a58bdea3b343.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_74477b940a401b9daa770791ce4ffaf2f0b3d1a7ca2598153024a58bdea3b343.json new file mode 100644 index 00000000000..bdfacb50136 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_74477b940a401b9daa770791ce4ffaf2f0b3d1a7ca2598153024a58bdea3b343.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_7e6aba0e36304760488e6c79655130dcb43dda8bfe725b4edb4b10dd8cdd687c.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_7e6aba0e36304760488e6c79655130dcb43dda8bfe725b4edb4b10dd8cdd687c.json new file mode 100644 index 00000000000..6812e095d88 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_7e6aba0e36304760488e6c79655130dcb43dda8bfe725b4edb4b10dd8cdd687c.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_84129be05fe87a6227fd33f6a281e6062b594012b0f6d26dbb54c090b43170cc.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_84129be05fe87a6227fd33f6a281e6062b594012b0f6d26dbb54c090b43170cc.json new file mode 100644 index 00000000000..c0b0ba5a832 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_84129be05fe87a6227fd33f6a281e6062b594012b0f6d26dbb54c090b43170cc.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_879762fe9d8ee181f913f723bebde2e1793e52a4d1c6d31841fdf00b1fc6bbf4.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_879762fe9d8ee181f913f723bebde2e1793e52a4d1c6d31841fdf00b1fc6bbf4.json deleted file mode 100644 index ab1baf64bc1..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_879762fe9d8ee181f913f723bebde2e1793e52a4d1c6d31841fdf00b1fc6bbf4.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_8c2e50a4e3c6b6bcce52453520e5d377ddbe6cbdccdff3bb18a89ec8aee7fcec.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_8c2e50a4e3c6b6bcce52453520e5d377ddbe6cbdccdff3bb18a89ec8aee7fcec.json index de4a6d88fea..b7f3e9d8985 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_8c2e50a4e3c6b6bcce52453520e5d377ddbe6cbdccdff3bb18a89ec8aee7fcec.json and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_8c2e50a4e3c6b6bcce52453520e5d377ddbe6cbdccdff3bb18a89ec8aee7fcec.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_926a2ab53948280066d8d01e7126cf4557623b124ff6f1e0131ae69643535b3d.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_926a2ab53948280066d8d01e7126cf4557623b124ff6f1e0131ae69643535b3d.json new file mode 100644 index 00000000000..19e2c3381e6 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_926a2ab53948280066d8d01e7126cf4557623b124ff6f1e0131ae69643535b3d.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_98569ec1918d08eb3547ba4c967535066f7babdbf0697172b281e941ef3a648a.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_98569ec1918d08eb3547ba4c967535066f7babdbf0697172b281e941ef3a648a.json new file mode 100644 index 00000000000..33f16b8e2b2 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_98569ec1918d08eb3547ba4c967535066f7babdbf0697172b281e941ef3a648a.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_9a9ab8f7de794f5cbd193c0a79bb64d9a30d277e5438a64f924837c460481679.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_9a9ab8f7de794f5cbd193c0a79bb64d9a30d277e5438a64f924837c460481679.json new file mode 100644 index 00000000000..60b1f041bf9 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_9a9ab8f7de794f5cbd193c0a79bb64d9a30d277e5438a64f924837c460481679.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_9bbca1d0964fff817f0ae605922a2614e9ae55d61ff889a99923b50dacf52c35.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_9bbca1d0964fff817f0ae605922a2614e9ae55d61ff889a99923b50dacf52c35.json new file mode 100644 index 00000000000..2af0811b022 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_9bbca1d0964fff817f0ae605922a2614e9ae55d61ff889a99923b50dacf52c35.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_adad8ba03f57791b0c73db74cfbc98186f8f457f14160313b070d535fbe9aac9.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_adad8ba03f57791b0c73db74cfbc98186f8f457f14160313b070d535fbe9aac9.json new file mode 100644 index 00000000000..809e65d83fe Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_adad8ba03f57791b0c73db74cfbc98186f8f457f14160313b070d535fbe9aac9.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_b799ae8be5055118672da926306fcc750470faf458435db3d7e52a8557e0d52c.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_b799ae8be5055118672da926306fcc750470faf458435db3d7e52a8557e0d52c.json new file mode 100644 index 00000000000..d4fe9e5e750 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_b799ae8be5055118672da926306fcc750470faf458435db3d7e52a8557e0d52c.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_c9d26c216a8382dee66a3be97b6a822571b9076725566d64e35d36a9cbe991eb.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_c9d26c216a8382dee66a3be97b6a822571b9076725566d64e35d36a9cbe991eb.json new file mode 100644 index 00000000000..5c3f4242d5e Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_c9d26c216a8382dee66a3be97b6a822571b9076725566d64e35d36a9cbe991eb.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_cbf94dc9a7e25b00b3a6d10a6efa3a5accdb36127a2e88a02f40578b6bebc0bc.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_cbf94dc9a7e25b00b3a6d10a6efa3a5accdb36127a2e88a02f40578b6bebc0bc.json new file mode 100644 index 00000000000..ecc6f4e290f Binary files /dev/null and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_cbf94dc9a7e25b00b3a6d10a6efa3a5accdb36127a2e88a02f40578b6bebc0bc.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_d944c0968cf9a6a3a28156bfde7b5b3824af0e042d8e162e18ef77ebe75079f7.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_d944c0968cf9a6a3a28156bfde7b5b3824af0e042d8e162e18ef77ebe75079f7.json deleted file mode 100644 index b611070292f..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_d944c0968cf9a6a3a28156bfde7b5b3824af0e042d8e162e18ef77ebe75079f7.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_d9f34a516cbde7db9b587bf0f5cacc54486a15e18a88964be1e2c67d40cb91e0.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_d9f34a516cbde7db9b587bf0f5cacc54486a15e18a88964be1e2c67d40cb91e0.json deleted file mode 100644 index 5f4dc8e0aa7..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_d9f34a516cbde7db9b587bf0f5cacc54486a15e18a88964be1e2c67d40cb91e0.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_fda2ce93a06e82246fcbd06000ba48b308997c85873162805a8915fbe02467b7.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_fda2ce93a06e82246fcbd06000ba48b308997c85873162805a8915fbe02467b7.json deleted file mode 100644 index c06165727f2..00000000000 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_fda2ce93a06e82246fcbd06000ba48b308997c85873162805a8915fbe02467b7.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1dcc38056f4539944947f843fc5f119ce3058e09a215dcdfdd563c9aca6fc4d3/msg_GetContestedResourceVoteStateRequest_cf751de542a527e565d916c33542a952aa4f09be27ca526b34c4a2d6f7ec3f76.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1dcc38056f4539944947f843fc5f119ce3058e09a215dcdfdd563c9aca6fc4d3/msg_GetContestedResourceVoteStateRequest_cf751de542a527e565d916c33542a952aa4f09be27ca526b34c4a2d6f7ec3f76.json index 95fdd20830a..cc97903beb5 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1dcc38056f4539944947f843fc5f119ce3058e09a215dcdfdd563c9aca6fc4d3/msg_GetContestedResourceVoteStateRequest_cf751de542a527e565d916c33542a952aa4f09be27ca526b34c4a2d6f7ec3f76.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1dcc38056f4539944947f843fc5f119ce3058e09a215dcdfdd563c9aca6fc4d3/msg_GetContestedResourceVoteStateRequest_cf751de542a527e565d916c33542a952aa4f09be27ca526b34c4a2d6f7ec3f76.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1df65b498b006bfa52a1c425f30183fdd50ed811f9cd65d2384e688409dfe252/msg_GetContestedResourceVoteStateRequest_b893574a2cd12595446c7084d714266c27c9b0d3c1c6b9dc022c7cf69fde2174.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1df65b498b006bfa52a1c425f30183fdd50ed811f9cd65d2384e688409dfe252/msg_GetContestedResourceVoteStateRequest_b893574a2cd12595446c7084d714266c27c9b0d3c1c6b9dc022c7cf69fde2174.json index 05bd3c6a484..da2de8910be 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1df65b498b006bfa52a1c425f30183fdd50ed811f9cd65d2384e688409dfe252/msg_GetContestedResourceVoteStateRequest_b893574a2cd12595446c7084d714266c27c9b0d3c1c6b9dc022c7cf69fde2174.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__1df65b498b006bfa52a1c425f30183fdd50ed811f9cd65d2384e688409dfe252/msg_GetContestedResourceVoteStateRequest_b893574a2cd12595446c7084d714266c27c9b0d3c1c6b9dc022c7cf69fde2174.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__27af3929f22f30de9fa0b90a34194699c0d55b6accfc72374026d2d9bc0f9e01/msg_GetContestedResourceVoteStateRequest_c5783e3abe0971640509ed3b5e20092d1597a92997ac79de0ef89f4cde74aefc.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__27af3929f22f30de9fa0b90a34194699c0d55b6accfc72374026d2d9bc0f9e01/msg_GetContestedResourceVoteStateRequest_c5783e3abe0971640509ed3b5e20092d1597a92997ac79de0ef89f4cde74aefc.json index 63cfa77d0dd..8d738521a52 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__27af3929f22f30de9fa0b90a34194699c0d55b6accfc72374026d2d9bc0f9e01/msg_GetContestedResourceVoteStateRequest_c5783e3abe0971640509ed3b5e20092d1597a92997ac79de0ef89f4cde74aefc.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__27af3929f22f30de9fa0b90a34194699c0d55b6accfc72374026d2d9bc0f9e01/msg_GetContestedResourceVoteStateRequest_c5783e3abe0971640509ed3b5e20092d1597a92997ac79de0ef89f4cde74aefc.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetContestedResourceVoteStateRequest_71f48f72373e5db9721e095e8cdc12823a7175b930f49aebb8d9844065da5b44.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetContestedResourceVoteStateRequest_71f48f72373e5db9721e095e8cdc12823a7175b930f49aebb8d9844065da5b44.json index c86e11bc159..55e33840e7a 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetContestedResourceVoteStateRequest_71f48f72373e5db9721e095e8cdc12823a7175b930f49aebb8d9844065da5b44.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetContestedResourceVoteStateRequest_71f48f72373e5db9721e095e8cdc12823a7175b930f49aebb8d9844065da5b44.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__2c32c08bee77a2d062db8d1cdb999a841b21043ccc5e7fc5ff1507f9703754a9/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__4d228b5af660c840e140560916dee664696a82c2b75fda103a6490a0a0119fea/msg_GetContestedResourceVoteStateRequest_bd857f0f40a11ccbc620754f0b276da7bcf8bb6352f7f5f26cb8af584712e16a.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__4d228b5af660c840e140560916dee664696a82c2b75fda103a6490a0a0119fea/msg_GetContestedResourceVoteStateRequest_bd857f0f40a11ccbc620754f0b276da7bcf8bb6352f7f5f26cb8af584712e16a.json index 24f39b8d323..2f16ce90b6d 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__4d228b5af660c840e140560916dee664696a82c2b75fda103a6490a0a0119fea/msg_GetContestedResourceVoteStateRequest_bd857f0f40a11ccbc620754f0b276da7bcf8bb6352f7f5f26cb8af584712e16a.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__4d228b5af660c840e140560916dee664696a82c2b75fda103a6490a0a0119fea/msg_GetContestedResourceVoteStateRequest_bd857f0f40a11ccbc620754f0b276da7bcf8bb6352f7f5f26cb8af584712e16a.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetContestedResourceVoteStateRequest_f7848301c15560f971e007963a349e64e07602f543bda42d5a5d223f0e6102a9.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetContestedResourceVoteStateRequest_f7848301c15560f971e007963a349e64e07602f543bda42d5a5d223f0e6102a9.json index 6416b1bc08e..1dde44a113d 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetContestedResourceVoteStateRequest_f7848301c15560f971e007963a349e64e07602f543bda42d5a5d223f0e6102a9.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetContestedResourceVoteStateRequest_f7848301c15560f971e007963a349e64e07602f543bda42d5a5d223f0e6102a9.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__67dc63814e035b20ff705840e19ebb329026b51129b8dd9cd029d26a0a77408b/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__863d867345b51a45ba4ec8326f42701a86224b53737b607521f5711340b8ecea/msg_GetContestedResourceVoteStateRequest_b9a737558f8e65f57294ca0f43cb3f1bccd65e01bb860f7648ce860ce03df202.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__863d867345b51a45ba4ec8326f42701a86224b53737b607521f5711340b8ecea/msg_GetContestedResourceVoteStateRequest_b9a737558f8e65f57294ca0f43cb3f1bccd65e01bb860f7648ce860ce03df202.json index 7ff0fe00657..dd707956b4f 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__863d867345b51a45ba4ec8326f42701a86224b53737b607521f5711340b8ecea/msg_GetContestedResourceVoteStateRequest_b9a737558f8e65f57294ca0f43cb3f1bccd65e01bb860f7648ce860ce03df202.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__863d867345b51a45ba4ec8326f42701a86224b53737b607521f5711340b8ecea/msg_GetContestedResourceVoteStateRequest_b9a737558f8e65f57294ca0f43cb3f1bccd65e01bb860f7648ce860ce03df202.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__8693b7b63d4af227f34a1c743e52147d48e775e679e50375df37f30bc707ef95/msg_GetContestedResourceVoteStateRequest_c6f0fff8a974cf324b6c2a285e0ae85cdc0620cb84d732a686322ae9dd8c5240.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__8693b7b63d4af227f34a1c743e52147d48e775e679e50375df37f30bc707ef95/msg_GetContestedResourceVoteStateRequest_c6f0fff8a974cf324b6c2a285e0ae85cdc0620cb84d732a686322ae9dd8c5240.json index 60739c7048a..81c0610d4f7 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__8693b7b63d4af227f34a1c743e52147d48e775e679e50375df37f30bc707ef95/msg_GetContestedResourceVoteStateRequest_c6f0fff8a974cf324b6c2a285e0ae85cdc0620cb84d732a686322ae9dd8c5240.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__8693b7b63d4af227f34a1c743e52147d48e775e679e50375df37f30bc707ef95/msg_GetContestedResourceVoteStateRequest_c6f0fff8a974cf324b6c2a285e0ae85cdc0620cb84d732a686322ae9dd8c5240.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__90ed25475456fdfd4f2fd676ed5b5f2e9c390cae806202a046fc93153eea6e00/msg_GetContestedResourceVoteStateRequest_6192aa18cf199acc9ca27cbe0377de9b6df87c4df053f3032a3fac93ca2985c2.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__90ed25475456fdfd4f2fd676ed5b5f2e9c390cae806202a046fc93153eea6e00/msg_GetContestedResourceVoteStateRequest_6192aa18cf199acc9ca27cbe0377de9b6df87c4df053f3032a3fac93ca2985c2.json index 2e3c5fcc010..8e7ba32ccda 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__90ed25475456fdfd4f2fd676ed5b5f2e9c390cae806202a046fc93153eea6e00/msg_GetContestedResourceVoteStateRequest_6192aa18cf199acc9ca27cbe0377de9b6df87c4df053f3032a3fac93ca2985c2.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__90ed25475456fdfd4f2fd676ed5b5f2e9c390cae806202a046fc93153eea6e00/msg_GetContestedResourceVoteStateRequest_6192aa18cf199acc9ca27cbe0377de9b6df87c4df053f3032a3fac93ca2985c2.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json index 0483455616f..300e476a45e 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__aabb30e955771841251280c0e6a98257882c3b2ee0b73b4aca838fb78918256b/msg_GetContestedResourceVoteStateRequest_9a43882825cbf3a83a2f623d03ae412662a6acb2d928d56de7a6a67dbf70f80a.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__aabb30e955771841251280c0e6a98257882c3b2ee0b73b4aca838fb78918256b/msg_GetContestedResourceVoteStateRequest_9a43882825cbf3a83a2f623d03ae412662a6acb2d928d56de7a6a67dbf70f80a.json index 240396a559e..9437bd31328 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__aabb30e955771841251280c0e6a98257882c3b2ee0b73b4aca838fb78918256b/msg_GetContestedResourceVoteStateRequest_9a43882825cbf3a83a2f623d03ae412662a6acb2d928d56de7a6a67dbf70f80a.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__aabb30e955771841251280c0e6a98257882c3b2ee0b73b4aca838fb78918256b/msg_GetContestedResourceVoteStateRequest_9a43882825cbf3a83a2f623d03ae412662a6acb2d928d56de7a6a67dbf70f80a.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetContestedResourceVoteStateRequest_23a531bedb32082b8e3bb799790dbc80a6caf537196a9513dae8967f325ab485.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetContestedResourceVoteStateRequest_23a531bedb32082b8e3bb799790dbc80a6caf537196a9513dae8967f325ab485.json index a09f44964a0..81cdce36dd6 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetContestedResourceVoteStateRequest_23a531bedb32082b8e3bb799790dbc80a6caf537196a9513dae8967f325ab485.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetContestedResourceVoteStateRequest_23a531bedb32082b8e3bb799790dbc80a6caf537196a9513dae8967f325ab485.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cf2a2febe0a535f130d2eaaaba3f002c094511cae2fd57dfaa6e5ee607cd72b6/msg_GetContestedResourceVoteStateRequest_b620c564a9caf806d2a4053efc7a8707f36bc1837a661ca9a4a3aae3ab30da7a.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cf2a2febe0a535f130d2eaaaba3f002c094511cae2fd57dfaa6e5ee607cd72b6/msg_GetContestedResourceVoteStateRequest_b620c564a9caf806d2a4053efc7a8707f36bc1837a661ca9a4a3aae3ab30da7a.json index e6c9a06693e..f3c4ba759c0 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cf2a2febe0a535f130d2eaaaba3f002c094511cae2fd57dfaa6e5ee607cd72b6/msg_GetContestedResourceVoteStateRequest_b620c564a9caf806d2a4053efc7a8707f36bc1837a661ca9a4a3aae3ab30da7a.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cf2a2febe0a535f130d2eaaaba3f002c094511cae2fd57dfaa6e5ee607cd72b6/msg_GetContestedResourceVoteStateRequest_b620c564a9caf806d2a4053efc7a8707f36bc1837a661ca9a4a3aae3ab30da7a.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetContestedResourceVoteStateRequest_bf272e62224361f1e7cf91b7f45285016c5d0ac679c299447df687e866154090.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetContestedResourceVoteStateRequest_bf272e62224361f1e7cf91b7f45285016c5d0ac679c299447df687e866154090.json index 8cbf869ce9c..e876ff6dd34 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetContestedResourceVoteStateRequest_bf272e62224361f1e7cf91b7f45285016c5d0ac679c299447df687e866154090.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetContestedResourceVoteStateRequest_bf272e62224361f1e7cf91b7f45285016c5d0ac679c299447df687e866154090.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__d7532a56162a82dafbbe07d40821db2e8768e2e6a880e7a66018fcd90fa35c71/msg_GetContestedResourceVoteStateRequest_3fede5825779667ef492c2ca1744ae6d7593e5a08c8e0c9971ad1afc8c3e1702.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__d7532a56162a82dafbbe07d40821db2e8768e2e6a880e7a66018fcd90fa35c71/msg_GetContestedResourceVoteStateRequest_3fede5825779667ef492c2ca1744ae6d7593e5a08c8e0c9971ad1afc8c3e1702.json index c940dd16e95..dd1f75831ef 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__d7532a56162a82dafbbe07d40821db2e8768e2e6a880e7a66018fcd90fa35c71/msg_GetContestedResourceVoteStateRequest_3fede5825779667ef492c2ca1744ae6d7593e5a08c8e0c9971ad1afc8c3e1702.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__d7532a56162a82dafbbe07d40821db2e8768e2e6a880e7a66018fcd90fa35c71/msg_GetContestedResourceVoteStateRequest_3fede5825779667ef492c2ca1744ae6d7593e5a08c8e0c9971ad1afc8c3e1702.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetContestedResourceVoteStateRequest_e1399ef22320c9690b1c8e548975839e9ea0c40cd94caac5746b19857d52533a.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetContestedResourceVoteStateRequest_e1399ef22320c9690b1c8e548975839e9ea0c40cd94caac5746b19857d52533a.json index 2d5627b669e..1877ca2ee64 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetContestedResourceVoteStateRequest_e1399ef22320c9690b1c8e548975839e9ea0c40cd94caac5746b19857d52533a.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetContestedResourceVoteStateRequest_e1399ef22320c9690b1c8e548975839e9ea0c40cd94caac5746b19857d52533a.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_DocumentQuery_2070b115d45b0da480a5a7e37d662f985772ce6f4a8bd6eae640f938f2c79ceb.json b/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_DocumentQuery_921ee672cc831bd4e6cdc8efb81f1d89ec6c5359c2f84b27c76526fa608f34c2.json similarity index 80% rename from packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_DocumentQuery_2070b115d45b0da480a5a7e37d662f985772ce6f4a8bd6eae640f938f2c79ceb.json rename to packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_DocumentQuery_921ee672cc831bd4e6cdc8efb81f1d89ec6c5359c2f84b27c76526fa608f34c2.json index 62390486896..6f0d71ec673 100644 Binary files a/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_DocumentQuery_2070b115d45b0da480a5a7e37d662f985772ce6f4a8bd6eae640f938f2c79ceb.json and b/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_DocumentQuery_921ee672cc831bd4e6cdc8efb81f1d89ec6c5359c2f84b27c76526fa608f34c2.json differ diff --git a/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 22611d5e7e0..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/quorum_pubkey-106-24de77bd1f67e0c3e20a399b6a3e6bfae60312e2f833b302a62be93e181e7a0e.json b/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/quorum_pubkey-106-24de77bd1f67e0c3e20a399b6a3e6bfae60312e2f833b302a62be93e181e7a0e.json deleted file mode 100644 index 37a791a5b2c..00000000000 --- a/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/quorum_pubkey-106-24de77bd1f67e0c3e20a399b6a3e6bfae60312e2f833b302a62be93e181e7a0e.json +++ /dev/null @@ -1 +0,0 @@ -a245c69b35145a4a4e1ed00b63fc64b6563d4def0cf87be3fe12e49ea6dc6821b2456cd849db635df51f7d466cf7ac6e \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/document_list_bug_value_text_decode_base58/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_list_document_query/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json b/packages/rs-sdk/tests/vectors/document_list_document_query/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json index 5ab370aadad..a17354f7d71 100644 Binary files a/packages/rs-sdk/tests/vectors/document_list_document_query/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json and b/packages/rs-sdk/tests/vectors/document_list_document_query/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json differ diff --git a/packages/rs-sdk/tests/vectors/document_list_document_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/document_list_document_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 8b487ecf0b4..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/document_list_document_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/document_list_document_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/document_list_document_query/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/document_list_document_query/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/document_list_document_query/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_list_document_query/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/document_list_document_query/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/document_list_document_query/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_DocumentQuery_e731a9066a60d9cee4097f419bbe0f17fb3367987f71c5caf9c045ced8633299.json b/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_DocumentQuery_e731a9066a60d9cee4097f419bbe0f17fb3367987f71c5caf9c045ced8633299.json index 3b2f39e8d90..1bdafe4e9b4 100644 Binary files a/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_DocumentQuery_e731a9066a60d9cee4097f419bbe0f17fb3367987f71c5caf9c045ced8633299.json and b/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_DocumentQuery_e731a9066a60d9cee4097f419bbe0f17fb3367987f71c5caf9c045ced8633299.json differ diff --git a/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 8b487ecf0b4..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/document_list_drive_query/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/document_list_drive_query/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/document_list_drive_query/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/document_list_drive_query/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_list_drive_query/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/document_list_drive_query/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/document_list_drive_query/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_23b0993681588ca0c66e960ae019dd012ae92b1038a32d1cbb419087d75cc70a.json b/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_23b0993681588ca0c66e960ae019dd012ae92b1038a32d1cbb419087d75cc70a.json new file mode 100644 index 00000000000..243ee061f60 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_23b0993681588ca0c66e960ae019dd012ae92b1038a32d1cbb419087d75cc70a.json differ diff --git a/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_5d23e775d0065e9aaec1f155ee4259864951786f80811cc7ea9fce3d7f42a718.json b/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_5d23e775d0065e9aaec1f155ee4259864951786f80811cc7ea9fce3d7f42a718.json deleted file mode 100644 index 6a182c91631..00000000000 Binary files a/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_5d23e775d0065e9aaec1f155ee4259864951786f80811cc7ea9fce3d7f42a718.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json b/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json index 5ab370aadad..a17354f7d71 100644 Binary files a/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json and b/packages/rs-sdk/tests/vectors/document_read/msg_DocumentQuery_86beaec40825e436c6a9467bd1af6d2d9dcd58c35b6aa9e85398a105dfdeb9c6.json differ diff --git a/packages/rs-sdk/tests/vectors/document_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/document_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 8b487ecf0b4..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/document_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/document_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/document_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/document_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/document_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/document_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/document_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_read_no_contract/msg_GetDataContractRequest_e4cf74168e03a40bd159451456b501c1ba166a2dd8f6efb31b0289dc011da983.json b/packages/rs-sdk/tests/vectors/document_read_no_contract/msg_GetDataContractRequest_e4cf74168e03a40bd159451456b501c1ba166a2dd8f6efb31b0289dc011da983.json index a0846595528..b52ddadb110 100644 Binary files a/packages/rs-sdk/tests/vectors/document_read_no_contract/msg_GetDataContractRequest_e4cf74168e03a40bd159451456b501c1ba166a2dd8f6efb31b0289dc011da983.json and b/packages/rs-sdk/tests/vectors/document_read_no_contract/msg_GetDataContractRequest_e4cf74168e03a40bd159451456b501c1ba166a2dd8f6efb31b0289dc011da983.json differ diff --git a/packages/rs-sdk/tests/vectors/document_read_no_contract/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/document_read_no_contract/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/document_read_no_contract/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_read_no_contract/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/document_read_no_contract/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/document_read_no_contract/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_read_no_document/msg_DocumentQuery_20d68bd71dd4309389f14aed5d610bbf4178e9af8e87ee326576ac2b384d726d.json b/packages/rs-sdk/tests/vectors/document_read_no_document/msg_DocumentQuery_20d68bd71dd4309389f14aed5d610bbf4178e9af8e87ee326576ac2b384d726d.json index 575c3f17f4f..1633caffc3e 100644 Binary files a/packages/rs-sdk/tests/vectors/document_read_no_document/msg_DocumentQuery_20d68bd71dd4309389f14aed5d610bbf4178e9af8e87ee326576ac2b384d726d.json and b/packages/rs-sdk/tests/vectors/document_read_no_document/msg_DocumentQuery_20d68bd71dd4309389f14aed5d610bbf4178e9af8e87ee326576ac2b384d726d.json differ diff --git a/packages/rs-sdk/tests/vectors/document_read_no_document/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/document_read_no_document/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 8b487ecf0b4..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/document_read_no_document/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/document_read_no_document/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/document_read_no_document/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/document_read_no_document/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/document_read_no_document/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/document_read_no_document/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/document_read_no_document/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/document_read_no_document/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetContestedResourceVotersForIdentityRequest_365e8cc19afcc569d90d85a2a371ad49d3ae7bc38d217d85b1570274493c4d7e.json b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetContestedResourceVotersForIdentityRequest_365e8cc19afcc569d90d85a2a371ad49d3ae7bc38d217d85b1570274493c4d7e.json index 38cbfb105af..7a88bd92e08 100644 Binary files a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetContestedResourceVotersForIdentityRequest_365e8cc19afcc569d90d85a2a371ad49d3ae7bc38d217d85b1570274493c4d7e.json and b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetContestedResourceVotersForIdentityRequest_365e8cc19afcc569d90d85a2a371ad49d3ae7bc38d217d85b1570274493c4d7e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 602e5f1b5f9..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/quorum_pubkey-106-47438231771b1fdb3275f198a7c6d0f8eae6a541345c97b96a9a442e311f1870.json b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/quorum_pubkey-106-47438231771b1fdb3275f198a7c6d0f8eae6a541345c97b96a9a442e311f1870.json deleted file mode 100644 index 2fbffc1ea1f..00000000000 --- a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/quorum_pubkey-106-47438231771b1fdb3275f198a7c6d0f8eae6a541345c97b96a9a442e311f1870.json +++ /dev/null @@ -1 +0,0 @@ -8d2b4c4d5f8d2c5295dcf0a0377128372966e57cb619c73848457476a3616e8bc46f53f423d1805a9161ba5f7f812135 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_contested_resource_voters_for_identity_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json index 5e7468728a3..8598b1cbcc5 100644 --- a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json +++ b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json @@ -1 +1 @@ -{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file +{"$format_version":"0","id":"GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","config":{"$format_version":"0","canBeDeleted":false,"readonly":false,"keepsHistory":false,"documentsKeepHistoryContractDefault":false,"documentsMutableContractDefault":true,"documentsCanBeDeletedContractDefault":true,"requiresIdentityEncryptionBoundedKey":null,"requiresIdentityDecryptionBoundedKey":null},"version":1,"ownerId":"11111111111111111111111111111111","schemaDefs":null,"documentSchemas":{"domain":{"documentsMutable":false,"canBeDeleted":true,"transferable":1,"tradeMode":1,"type":"object","indices":[{"name":"parentNameAndLabel","properties":[{"normalizedParentDomainName":"asc"},{"normalizedLabel":"asc"}],"unique":true,"contested":{"fieldMatches":[{"field":"normalizedLabel","regexPattern":"^[a-zA-Z01-]{3,19}$"}],"resolution":0,"description":"If the normalized label part of this index is less than 20 characters (all alphabet a-z, A-Z, 0, 1, and -) then a masternode vote contest takes place to give out the name"}},{"name":"identityId","nullSearchable":false,"properties":[{"records.identity":"asc"}]}],"properties":{"label":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":3,"maxLength":63,"position":0,"description":"Domain label. e.g. 'Bob'."},"normalizedLabel":{"type":"string","pattern":"^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-]{0,61}[a-hj-km-np-z0-9]$","maxLength":63,"position":1,"description":"Domain label converted to lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'b0b'","$comment":"Must be equal to the label in lowercase. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\"."},"parentDomainName":{"type":"string","pattern":"^$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$","minLength":0,"maxLength":63,"position":2,"description":"A full parent domain name. e.g. 'dash'."},"normalizedParentDomainName":{"type":"string","pattern":"^$|^[a-hj-km-np-z0-9][a-hj-km-np-z0-9-\\.]{0,61}[a-hj-km-np-z0-9]$","minLength":0,"maxLength":63,"position":3,"description":"A parent domain name in lowercase for case-insensitive uniqueness validation. \"o\", \"i\" and \"l\" replaced with \"0\" and \"1\" to mitigate homograph attack. e.g. 'dash'","$comment":"Must either be equal to an existing domain or empty to create a top level domain. \"o\", \"i\" and \"l\" must be replaced with \"0\" and \"1\". Only the data contract owner can create top level domains."},"preorderSalt":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":4,"description":"Salt used in the preorder document"},"records":{"type":"object","properties":{"identity":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":1,"contentMediaType":"application/x.dash.dpp.identifier","description":"Identifier name record that refers to an Identity"}},"minProperties":1,"position":5,"additionalProperties":false},"subdomainRules":{"type":"object","properties":{"allowSubdomains":{"type":"boolean","description":"This option defines who can create subdomains: true - anyone; false - only the domain owner","$comment":"Only the domain owner is allowed to create subdomains for non top-level domains","position":0}},"position":6,"description":"Subdomain rules allow domain owners to define rules for subdomains","additionalProperties":false,"required":["allowSubdomains"]}},"required":["$createdAt","$updatedAt","$transferredAt","label","normalizedLabel","normalizedParentDomainName","preorderSalt","records","subdomainRules"],"transient":["preorderSalt"],"additionalProperties":false,"$comment":"In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted"},"preorder":{"documentsMutable":false,"canBeDeleted":true,"type":"object","indices":[{"name":"saltedHash","properties":[{"saltedDomainHash":"asc"}],"unique":true}],"properties":{"saltedDomainHash":{"type":"array","byteArray":true,"minItems":32,"maxItems":32,"position":0,"description":"Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"}},"required":["saltedDomainHash"],"additionalProperties":false,"$comment":"Preorder documents are immutable: modification and deletion are restricted"}}} \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json index 10d40a9b145..b689eb30423 100644 Binary files a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json and b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json differ diff --git a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 327defa8128..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_GetDataContractHistoryRequest_2bd2bfc3193745cf05fb33fd3e56d1c377e5a79c8bbfad2b8607feeb2743c37c.json b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_GetDataContractHistoryRequest_2bd2bfc3193745cf05fb33fd3e56d1c377e5a79c8bbfad2b8607feeb2743c37c.json new file mode 100644 index 00000000000..a3e90897235 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_GetDataContractHistoryRequest_2bd2bfc3193745cf05fb33fd3e56d1c377e5a79c8bbfad2b8607feeb2743c37c.json differ diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_GetDataContractHistoryRequest_3c6bacbec65e6769e86774671a9d239eef8fcd6bf0710c8e86488471bd07377f.json b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_GetDataContractHistoryRequest_3c6bacbec65e6769e86774671a9d239eef8fcd6bf0710c8e86488471bd07377f.json deleted file mode 100644 index 6fa6e3bfcfb..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_GetDataContractHistoryRequest_3c6bacbec65e6769e86774671a9d239eef8fcd6bf0710c8e86488471bd07377f.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-5cf373141b859f4c775fa37979cf3c75d8a61f125a000f89208b83f59af87e52.json b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-5cf373141b859f4c775fa37979cf3c75d8a61f125a000f89208b83f59af87e52.json deleted file mode 100644 index 35717f7d54f..00000000000 --- a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-5cf373141b859f4c775fa37979cf3c75d8a61f125a000f89208b83f59af87e52.json +++ /dev/null @@ -1 +0,0 @@ -8beba5a32210eaa5def8cae74784ca513cadc0cb8fc38255e77e4bbaddf45cc797299c76c38a1deead2272aeabc5a15f \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json b/packages/rs-sdk/tests/vectors/test_data_contract_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json index 8b487ecf0b4..808b4f01189 100644 Binary files a/packages/rs-sdk/tests/vectors/test_data_contract_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json and b/packages/rs-sdk/tests/vectors/test_data_contract_read/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json differ diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_data_contract_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_data_contract_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_data_contract_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_data_contract_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/msg_GetDataContractRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json b/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/msg_GetDataContractRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json index 67965d13be1..5bd4cd1d789 100644 Binary files a/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/msg_GetDataContractRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json and b/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/msg_GetDataContractRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json differ diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_data_contract_read_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/msg_GetDataContractsRequest_f229a0e58a5c4fb050f57c087bf067bd9ccc29eca3092a5664a5a9ba3bb7e967.json b/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/msg_GetDataContractsRequest_f229a0e58a5c4fb050f57c087bf067bd9ccc29eca3092a5664a5a9ba3bb7e967.json index 1b3374dd82a..d25fa5b1a5e 100644 Binary files a/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/msg_GetDataContractsRequest_f229a0e58a5c4fb050f57c087bf067bd9ccc29eca3092a5664a5a9ba3bb7e967.json and b/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/msg_GetDataContractsRequest_f229a0e58a5c4fb050f57c087bf067bd9ccc29eca3092a5664a5a9ba3bb7e967.json differ diff --git a/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_data_contracts_1_ok_1_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/msg_GetDataContractsRequest_93bdf343bce1bafb96fd873236cabbc4ac6ad7e80f0e55fe98bbcfbebf6c0878.json b/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/msg_GetDataContractsRequest_93bdf343bce1bafb96fd873236cabbc4ac6ad7e80f0e55fe98bbcfbebf6c0878.json index 10952eab3b6..66d946dbd8b 100644 Binary files a/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/msg_GetDataContractsRequest_93bdf343bce1bafb96fd873236cabbc4ac6ad7e80f0e55fe98bbcfbebf6c0878.json and b/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/msg_GetDataContractsRequest_93bdf343bce1bafb96fd873236cabbc4ac6ad7e80f0e55fe98bbcfbebf6c0878.json differ diff --git a/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_data_contracts_2_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetEpochsInfoRequest_00f51345e161bde17d0b008310d7acebec137640ed9cf550876fa1ec438bbcd0.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetEpochsInfoRequest_00f51345e161bde17d0b008310d7acebec137640ed9cf550876fa1ec438bbcd0.json new file mode 100644 index 00000000000..bb2962a8d17 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetEpochsInfoRequest_00f51345e161bde17d0b008310d7acebec137640ed9cf550876fa1ec438bbcd0.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetEpochsInfoRequest_b2b426ac4a52cb4cb08904c63386caf3663c40a12d3b03827006d66058e439ac.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetEpochsInfoRequest_b2b426ac4a52cb4cb08904c63386caf3663c40a12d3b03827006d66058e439ac.json deleted file mode 100644 index 854adfb5b64..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetEpochsInfoRequest_b2b426ac4a52cb4cb08904c63386caf3663c40a12d3b03827006d66058e439ac.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json new file mode 100644 index 00000000000..5ba64857789 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json deleted file mode 100644 index 4f9094c0dbe..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_fetch/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_epoch_fetch/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_epoch_fetch/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetEpochsInfoRequest_1b87e649557ccb609adb9e2904c67089535588985622579e77969e0ffd68afc7.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetEpochsInfoRequest_1b87e649557ccb609adb9e2904c67089535588985622579e77969e0ffd68afc7.json index efd2346bcab..9a75187088b 100644 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetEpochsInfoRequest_1b87e649557ccb609adb9e2904c67089535588985622579e77969e0ffd68afc7.json and b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetEpochsInfoRequest_1b87e649557ccb609adb9e2904c67089535588985622579e77969e0ffd68afc7.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json new file mode 100644 index 00000000000..5ba64857789 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json deleted file mode 100644 index 4f9094c0dbe..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_epoch_fetch_current/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetEpochsInfoRequest_6a828350e795a088dbc835260a1add01a7428085ffdcf1e11cccf19c48c5f7a1.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetEpochsInfoRequest_6a828350e795a088dbc835260a1add01a7428085ffdcf1e11cccf19c48c5f7a1.json deleted file mode 100644 index 86176ae3feb..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetEpochsInfoRequest_6a828350e795a088dbc835260a1add01a7428085ffdcf1e11cccf19c48c5f7a1.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetEpochsInfoRequest_cdea72fd4e08834ef8a3e6a0730fbcae54b0dd1b499fbc91c2c29685e132a339.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetEpochsInfoRequest_cdea72fd4e08834ef8a3e6a0730fbcae54b0dd1b499fbc91c2c29685e132a339.json new file mode 100644 index 00000000000..7e140b09a55 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetEpochsInfoRequest_cdea72fd4e08834ef8a3e6a0730fbcae54b0dd1b499fbc91c2c29685e132a339.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json new file mode 100644 index 00000000000..5ba64857789 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json deleted file mode 100644 index 4f9094c0dbe..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_epoch_fetch_future/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetEpochsInfoRequest_734f6594c67fe6a9ab170191031d592c8fe7361bed628d9a36747664c9789bf1.json b/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetEpochsInfoRequest_734f6594c67fe6a9ab170191031d592c8fe7361bed628d9a36747664c9789bf1.json index dc0093a7cb1..476c2a5fd64 100644 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetEpochsInfoRequest_734f6594c67fe6a9ab170191031d592c8fe7361bed628d9a36747664c9789bf1.json and b/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetEpochsInfoRequest_734f6594c67fe6a9ab170191031d592c8fe7361bed628d9a36747664c9789bf1.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json b/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json new file mode 100644 index 00000000000..5ba64857789 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json b/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json deleted file mode 100644 index 4f9094c0dbe..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_list/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_epoch_list/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_epoch_list/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_epoch_list/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_epoch_list/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetEpochsInfoRequest_ae2b6b4e09e8e68e73f2df9af38b0b93d9d2e841a5e3d60755f8e7be3b93315b.json b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetEpochsInfoRequest_ae2b6b4e09e8e68e73f2df9af38b0b93d9d2e841a5e3d60755f8e7be3b93315b.json index 66ba23f609a..f61518a9d44 100644 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetEpochsInfoRequest_ae2b6b4e09e8e68e73f2df9af38b0b93d9d2e841a5e3d60755f8e7be3b93315b.json and b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetEpochsInfoRequest_ae2b6b4e09e8e68e73f2df9af38b0b93d9d2e841a5e3d60755f8e7be3b93315b.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json new file mode 100644 index 00000000000..5ba64857789 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetIdentityRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json deleted file mode 100644 index 4f9094c0dbe..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/msg_GetIdentityRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_epoch_list_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_epoch_list_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_evonode_status/.gitkeep b/packages/rs-sdk/tests/vectors/test_evonode_status/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/rs-sdk/tests/vectors/test_evonode_status/msg_EvoNode_244e3005966550cd3cb2837d3bca1c40d35547373d23f3ba329df2b6d993b374.json b/packages/rs-sdk/tests/vectors/test_evonode_status/msg_EvoNode_244e3005966550cd3cb2837d3bca1c40d35547373d23f3ba329df2b6d993b374.json new file mode 100644 index 00000000000..6eafe3314ea Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_evonode_status/msg_EvoNode_244e3005966550cd3cb2837d3bca1c40d35547373d23f3ba329df2b6d993b374.json differ diff --git a/packages/rs-sdk/tests/vectors/test_evonode_status_refused/.gitkeep b/packages/rs-sdk/tests/vectors/test_evonode_status_refused/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/rs-sdk/tests/vectors/test_evonode_status_refused/msg_EvoNode_6db392ff1869b56ecc7de9ace5864123671ed14d3f0c537aa8e878d24e529de5.json b/packages/rs-sdk/tests/vectors/test_evonode_status_refused/msg_EvoNode_6db392ff1869b56ecc7de9ace5864123671ed14d3f0c537aa8e878d24e529de5.json new file mode 100644 index 00000000000..c80da24adbe Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_evonode_status_refused/msg_EvoNode_6db392ff1869b56ecc7de9ace5864123671ed14d3f0c537aa8e878d24e529de5.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_read/msg_GetIdentityBalanceRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json b/packages/rs-sdk/tests/vectors/test_identity_balance_read/msg_GetIdentityBalanceRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json new file mode 100644 index 00000000000..d8dff0972b7 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_identity_balance_read/msg_GetIdentityBalanceRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_read/msg_GetIdentityBalanceRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json b/packages/rs-sdk/tests/vectors/test_identity_balance_read/msg_GetIdentityBalanceRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json deleted file mode 100644 index b69469c5ad7..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_identity_balance_read/msg_GetIdentityBalanceRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/msg_GetIdentityBalanceAndRevisionRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json b/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/msg_GetIdentityBalanceAndRevisionRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json new file mode 100644 index 00000000000..3a8d1cbcc09 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/msg_GetIdentityBalanceAndRevisionRequest_24b7371202615ecd290e0fe7496676f04dc30c79eec5a5df1ab5b8d8671ac38e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/msg_GetIdentityBalanceAndRevisionRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json b/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/msg_GetIdentityBalanceAndRevisionRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json deleted file mode 100644 index f27319a84a4..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/msg_GetIdentityBalanceAndRevisionRequest_edcaa0b3eeddd058b4f2331f251947f006e43bff5d40eb2fee5f9bfa98aeec74.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/msg_GetIdentityContractNonceRequest_815e2b4de88fb56ce7ec833ffe8901b95a32865deb2645934954725fbd1cca03.json b/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/msg_GetIdentityContractNonceRequest_815e2b4de88fb56ce7ec833ffe8901b95a32865deb2645934954725fbd1cca03.json new file mode 100644 index 00000000000..57897bf779e Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/msg_GetIdentityContractNonceRequest_815e2b4de88fb56ce7ec833ffe8901b95a32865deb2645934954725fbd1cca03.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/msg_GetIdentityContractNonceRequest_bac4d8a5c55cc79653a9df5f95d5696d8b6487a30e2dba25bb37328ac872aab0.json b/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/msg_GetIdentityContractNonceRequest_bac4d8a5c55cc79653a9df5f95d5696d8b6487a30e2dba25bb37328ac872aab0.json deleted file mode 100644 index 2c0e41562ca..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/msg_GetIdentityContractNonceRequest_bac4d8a5c55cc79653a9df5f95d5696d8b6487a30e2dba25bb37328ac872aab0.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_identity_contract_no_nonce_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/msg_GetIdentityKeysRequest_41e9c14342c3b29ff1ea0df58585a9ca814e12c84c7bbb64e9e6b02f0bf582f5.json b/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/msg_GetIdentityKeysRequest_41e9c14342c3b29ff1ea0df58585a9ca814e12c84c7bbb64e9e6b02f0bf582f5.json deleted file mode 100644 index 9f0c14408a6..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/msg_GetIdentityKeysRequest_41e9c14342c3b29ff1ea0df58585a9ca814e12c84c7bbb64e9e6b02f0bf582f5.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/msg_GetIdentityKeysRequest_c9aa65558b4f8ba10bd7509498105dac7fab00a65264648889a477f081e30ced.json b/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/msg_GetIdentityKeysRequest_c9aa65558b4f8ba10bd7509498105dac7fab00a65264648889a477f081e30ced.json new file mode 100644 index 00000000000..6cdcab983da Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/msg_GetIdentityKeysRequest_c9aa65558b4f8ba10bd7509498105dac7fab00a65264648889a477f081e30ced.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_identity_public_keys_all_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_read/msg_IdentityRequest_5109a16372f4a282c5d97a45e8e0d257de5dabc3b500a3cc4a7ebc4c1465463f.json b/packages/rs-sdk/tests/vectors/test_identity_read/msg_IdentityRequest_5109a16372f4a282c5d97a45e8e0d257de5dabc3b500a3cc4a7ebc4c1465463f.json deleted file mode 100644 index b2ed03b1e47..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_identity_read/msg_IdentityRequest_5109a16372f4a282c5d97a45e8e0d257de5dabc3b500a3cc4a7ebc4c1465463f.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_read/msg_IdentityRequest_da9cbb7a9f245221fe2a5d7fe5dd40a692960262df24a300d226046c57048de7.json b/packages/rs-sdk/tests/vectors/test_identity_read/msg_IdentityRequest_da9cbb7a9f245221fe2a5d7fe5dd40a692960262df24a300d226046c57048de7.json new file mode 100644 index 00000000000..973d06ba4c7 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_identity_read/msg_IdentityRequest_da9cbb7a9f245221fe2a5d7fe5dd40a692960262df24a300d226046c57048de7.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_5109a16372f4a282c5d97a45e8e0d257de5dabc3b500a3cc4a7ebc4c1465463f.json b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_5109a16372f4a282c5d97a45e8e0d257de5dabc3b500a3cc4a7ebc4c1465463f.json deleted file mode 100644 index b2ed03b1e47..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_5109a16372f4a282c5d97a45e8e0d257de5dabc3b500a3cc4a7ebc4c1465463f.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_da9cbb7a9f245221fe2a5d7fe5dd40a692960262df24a300d226046c57048de7.json b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_da9cbb7a9f245221fe2a5d7fe5dd40a692960262df24a300d226046c57048de7.json new file mode 100644 index 00000000000..973d06ba4c7 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_da9cbb7a9f245221fe2a5d7fe5dd40a692960262df24a300d226046c57048de7.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_ec8288b622e659eee0ea5c67d54eaa7b41821696e9131d8bec0e3b4c9cbb6ed4.json b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_ec8288b622e659eee0ea5c67d54eaa7b41821696e9131d8bec0e3b4c9cbb6ed4.json new file mode 100644 index 00000000000..abe3c317df4 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_ec8288b622e659eee0ea5c67d54eaa7b41821696e9131d8bec0e3b4c9cbb6ed4.json differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_f876c456a28a7a9d1aab891eced33f62e8876a19f5937fa5842ab4f59ca33e81.json b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_f876c456a28a7a9d1aab891eced33f62e8876a19f5937fa5842ab4f59ca33e81.json deleted file mode 100644 index 784e76a58dd..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_f876c456a28a7a9d1aab891eced33f62e8876a19f5937fa5842ab4f59ca33e81.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/msg_GetPrefundedSpecializedBalanceRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/msg_GetPrefundedSpecializedBalanceRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json index 0f73be8bb28..e0f0b7f4df5 100644 Binary files a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/msg_GetPrefundedSpecializedBalanceRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json and b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/msg_GetPrefundedSpecializedBalanceRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json differ diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_not_found/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_008d2955a77110519958e06d86047fda31dfa79cd84f0c1462fb9a2fc86d12a3.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_008d2955a77110519958e06d86047fda31dfa79cd84f0c1462fb9a2fc86d12a3.json deleted file mode 100644 index c51b114328d..00000000000 Binary files a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_008d2955a77110519958e06d86047fda31dfa79cd84f0c1462fb9a2fc86d12a3.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_0a917fd6c7841682776fa2800a49fbd646666cf92a70e4954bdeab26f75f3049.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_0a917fd6c7841682776fa2800a49fbd646666cf92a70e4954bdeab26f75f3049.json new file mode 100644 index 00000000000..48fd17ef44c Binary files /dev/null and b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_0a917fd6c7841682776fa2800a49fbd646666cf92a70e4954bdeab26f75f3049.json differ diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json index eb84276a461..a6610834d71 100644 Binary files a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json and b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json differ diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/msg_GetProtocolVersionUpgradeStateRequest_bb149e1933b9dc561bbfacfb6d09550f0ea4a6af6f68037e7d50ff4e4de74509.json b/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/msg_GetProtocolVersionUpgradeStateRequest_bb149e1933b9dc561bbfacfb6d09550f0ea4a6af6f68037e7d50ff4e4de74509.json index 3eaf9603660..ab25ca978df 100644 Binary files a/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/msg_GetProtocolVersionUpgradeStateRequest_bb149e1933b9dc561bbfacfb6d09550f0ea4a6af6f68037e7d50ff4e4de74509.json and b/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/msg_GetProtocolVersionUpgradeStateRequest_bb149e1933b9dc561bbfacfb6d09550f0ea4a6af6f68037e7d50ff4e4de74509.json differ diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_protocol_version_vote_count/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/msg_GetProtocolVersionUpgradeVoteStatusRequest_ec9dca65a964669b3bc8195d5ff106e5eda740be44679cc960ea35f2134af628.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/msg_GetProtocolVersionUpgradeVoteStatusRequest_ec9dca65a964669b3bc8195d5ff106e5eda740be44679cc960ea35f2134af628.json index 1b8a7f8a3cc..5d2c7891797 100644 Binary files a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/msg_GetProtocolVersionUpgradeVoteStatusRequest_ec9dca65a964669b3bc8195d5ff106e5eda740be44679cc960ea35f2134af628.json and b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/msg_GetProtocolVersionUpgradeVoteStatusRequest_ec9dca65a964669b3bc8195d5ff106e5eda740be44679cc960ea35f2134af628.json differ diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_limit_2/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/msg_GetProtocolVersionUpgradeVoteStatusRequest_983670ac95678b1166deab32209bf1acc3394d29ac72f662d38e81344496631e.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/msg_GetProtocolVersionUpgradeVoteStatusRequest_983670ac95678b1166deab32209bf1acc3394d29ac72f662d38e81344496631e.json index 1b713e17543..f65662394ee 100644 Binary files a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/msg_GetProtocolVersionUpgradeVoteStatusRequest_983670ac95678b1166deab32209bf1acc3394d29ac72f662d38e81344496631e.json and b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/msg_GetProtocolVersionUpgradeVoteStatusRequest_983670ac95678b1166deab32209bf1acc3394d29ac72f662d38e81344496631e.json differ diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_none/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/msg_GetProtocolVersionUpgradeVoteStatusRequest_8534be7e0b4dd648520dc3a67209b1a05862cb8d40c088b193b59ca3564210bc.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/msg_GetProtocolVersionUpgradeVoteStatusRequest_8534be7e0b4dd648520dc3a67209b1a05862cb8d40c088b193b59ca3564210bc.json index 84c4fbcc69f..3b399bc398b 100644 Binary files a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/msg_GetProtocolVersionUpgradeVoteStatusRequest_8534be7e0b4dd648520dc3a67209b1a05862cb8d40c088b193b59ca3564210bc.json and b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/msg_GetProtocolVersionUpgradeVoteStatusRequest_8534be7e0b4dd648520dc3a67209b1a05862cb8d40c088b193b59ca3564210bc.json differ diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_nx/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/msg_GetProtocolVersionUpgradeVoteStatusRequest_92a45a0fe4f69d355022d2f2f7622dfc69cc7b123be24b7ad993281979b2a3a2.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/msg_GetProtocolVersionUpgradeVoteStatusRequest_92a45a0fe4f69d355022d2f2f7622dfc69cc7b123be24b7ad993281979b2a3a2.json index b484d68bebd..b1065b770a7 100644 Binary files a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/msg_GetProtocolVersionUpgradeVoteStatusRequest_92a45a0fe4f69d355022d2f2f7622dfc69cc7b123be24b7ad993281979b2a3a2.json and b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/msg_GetProtocolVersionUpgradeVoteStatusRequest_92a45a0fe4f69d355022d2f2f7622dfc69cc7b123be24b7ad993281979b2a3a2.json differ diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json deleted file mode 100644 index 56a125cf4a0..00000000000 --- a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/quorum_pubkey-106-1246e5fb792450cd4ed23d31c22afa81e226bdafab0d460e20efcec7927a6555.json +++ /dev/null @@ -1 +0,0 @@ -a2199c1b2b0f5a9923f9131b2e902c1c77a871ef16e54ef90e5bb2332d6fda474b3aa8ad96302c916c5ef5913d24653b \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_protocol_version_votes_zeros/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/test_wait_timeout/msg_WaitForStateTransitionResultRequest_e93eaef1608b936cd09c7367b3ec10729e79bf48cc1e4e8daf6bf5940466ec6c.json b/packages/rs-sdk/tests/vectors/test_wait_timeout/msg_WaitForStateTransitionResultRequest_e93eaef1608b936cd09c7367b3ec10729e79bf48cc1e4e8daf6bf5940466ec6c.json index 1c2fb6a34a7..85fac8cb656 100644 Binary files a/packages/rs-sdk/tests/vectors/test_wait_timeout/msg_WaitForStateTransitionResultRequest_e93eaef1608b936cd09c7367b3ec10729e79bf48cc1e4e8daf6bf5940466ec6c.json and b/packages/rs-sdk/tests/vectors/test_wait_timeout/msg_WaitForStateTransitionResultRequest_e93eaef1608b936cd09c7367b3ec10729e79bf48cc1e4e8daf6bf5940466ec6c.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_01dd0d925e0cdb7817c908b74e379602fa0640b81485adb7715226122e31357b.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_01dd0d925e0cdb7817c908b74e379602fa0640b81485adb7715226122e31357b.json deleted file mode 100644 index d80f6aedf7a..00000000000 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_01dd0d925e0cdb7817c908b74e379602fa0640b81485adb7715226122e31357b.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_0329cf0b8851d09d91160eb04ba78d45ac35df7c4a541f2fd79c4e53af000a92.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_0329cf0b8851d09d91160eb04ba78d45ac35df7c4a541f2fd79c4e53af000a92.json new file mode 100644 index 00000000000..b06a885243e Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_0329cf0b8851d09d91160eb04ba78d45ac35df7c4a541f2fd79c4e53af000a92.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_0e309af16c3957b15807f1741084729771183f61b1ba73796ee966df7ce206e8.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_0e309af16c3957b15807f1741084729771183f61b1ba73796ee966df7ce206e8.json new file mode 100644 index 00000000000..ec7ffa5bea1 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_0e309af16c3957b15807f1741084729771183f61b1ba73796ee966df7ce206e8.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_142e6c253c01773656823e7299ccac0d096683e15280eced19ef5ad75e670062.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_142e6c253c01773656823e7299ccac0d096683e15280eced19ef5ad75e670062.json new file mode 100644 index 00000000000..59530fd57d1 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_142e6c253c01773656823e7299ccac0d096683e15280eced19ef5ad75e670062.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_2e98e756bbec29c5a8bb6db95209822a2c4f59abefee6ac70309345adad1c202.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_2e98e756bbec29c5a8bb6db95209822a2c4f59abefee6ac70309345adad1c202.json new file mode 100644 index 00000000000..2efaa4da152 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_2e98e756bbec29c5a8bb6db95209822a2c4f59abefee6ac70309345adad1c202.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_4cb42e1877d46573cade78a050501448ade8c60e56c8d4b739ff8d6808694f33.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_4cb42e1877d46573cade78a050501448ade8c60e56c8d4b739ff8d6808694f33.json new file mode 100644 index 00000000000..475f92631ee Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_4cb42e1877d46573cade78a050501448ade8c60e56c8d4b739ff8d6808694f33.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_61f016345ec587c57ec95cd35ca21e65356ecde06e41dad1c5f4221f2021ff65.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_61f016345ec587c57ec95cd35ca21e65356ecde06e41dad1c5f4221f2021ff65.json new file mode 100644 index 00000000000..319bc61225f Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_61f016345ec587c57ec95cd35ca21e65356ecde06e41dad1c5f4221f2021ff65.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_62753b0c8caf599658c8a6becb2a0c949e21b06d4ba0ba04902ed9dd3cf9c180.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_62753b0c8caf599658c8a6becb2a0c949e21b06d4ba0ba04902ed9dd3cf9c180.json new file mode 100644 index 00000000000..4ec9e25724c Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_62753b0c8caf599658c8a6becb2a0c949e21b06d4ba0ba04902ed9dd3cf9c180.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_6324f0ce91119010ab60300a78dc362866cbab6d8388743fdcf5d797910561df.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_6324f0ce91119010ab60300a78dc362866cbab6d8388743fdcf5d797910561df.json index b6df2a42d70..aa5a28ec90c 100644 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_6324f0ce91119010ab60300a78dc362866cbab6d8388743fdcf5d797910561df.json and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_6324f0ce91119010ab60300a78dc362866cbab6d8388743fdcf5d797910561df.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_6e5891e317a44532f7c4ed7cf7e69266464b2ec54193e3ad5aaefd939015fe1f.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_6e5891e317a44532f7c4ed7cf7e69266464b2ec54193e3ad5aaefd939015fe1f.json deleted file mode 100644 index 08be2706daf..00000000000 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_6e5891e317a44532f7c4ed7cf7e69266464b2ec54193e3ad5aaefd939015fe1f.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_881edc845ea288c9aa4664730b0f75e3bdfb677d0fa1246dbeebfa3d97c4119b.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_881edc845ea288c9aa4664730b0f75e3bdfb677d0fa1246dbeebfa3d97c4119b.json deleted file mode 100644 index 851c2a3b337..00000000000 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_881edc845ea288c9aa4664730b0f75e3bdfb677d0fa1246dbeebfa3d97c4119b.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_8af1fe2b83fc914ad833914a6f47686a168bd79e8751279ec53efb41381dd431.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_8af1fe2b83fc914ad833914a6f47686a168bd79e8751279ec53efb41381dd431.json index 014a9b29625..fbb1cfb284e 100644 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_8af1fe2b83fc914ad833914a6f47686a168bd79e8751279ec53efb41381dd431.json and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_8af1fe2b83fc914ad833914a6f47686a168bd79e8751279ec53efb41381dd431.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_9085af05cad5f81e4684b91c4b6edc3a3ee50e58b0617b9da04faad767a7414e.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_9085af05cad5f81e4684b91c4b6edc3a3ee50e58b0617b9da04faad767a7414e.json new file mode 100644 index 00000000000..027fe03684a Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_9085af05cad5f81e4684b91c4b6edc3a3ee50e58b0617b9da04faad767a7414e.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_a2a3107907325a7d7da45018edd1415b05c514461090693b709359fd10719e64.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_a2a3107907325a7d7da45018edd1415b05c514461090693b709359fd10719e64.json new file mode 100644 index 00000000000..13f98326965 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_a2a3107907325a7d7da45018edd1415b05c514461090693b709359fd10719e64.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_c2737f6ccc2ac5cc79e28d4b29fb414d7808274b04acfe789740e18ecf0991c7.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_c2737f6ccc2ac5cc79e28d4b29fb414d7808274b04acfe789740e18ecf0991c7.json new file mode 100644 index 00000000000..6635850ad05 Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_c2737f6ccc2ac5cc79e28d4b29fb414d7808274b04acfe789740e18ecf0991c7.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_ddcc945f1edfbf9fbc63b0f6dc1be8c6db1347a705fa268e2786d6064e6a2e12.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_ddcc945f1edfbf9fbc63b0f6dc1be8c6db1347a705fa268e2786d6064e6a2e12.json deleted file mode 100644 index ff3c2af0788..00000000000 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_ddcc945f1edfbf9fbc63b0f6dc1be8c6db1347a705fa268e2786d6064e6a2e12.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_edb3ea19c943e4ccd318d2742a9ecfc2f026b8a6be6443de638da69f0b4c87b0.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_edb3ea19c943e4ccd318d2742a9ecfc2f026b8a6be6443de638da69f0b4c87b0.json new file mode 100644 index 00000000000..d3dc6481cee Binary files /dev/null and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_edb3ea19c943e4ccd318d2742a9ecfc2f026b8a6be6443de638da69f0b4c87b0.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_ef32264ccc024ed9d6982a6fed2a8b48b99591c7df94f5881038008fcd17189c.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_ef32264ccc024ed9d6982a6fed2a8b48b99591c7df94f5881038008fcd17189c.json deleted file mode 100644 index 950577db6cf..00000000000 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/msg_GetVotePollsByEndDateRequest_ef32264ccc024ed9d6982a6fed2a8b48b99591c7df94f5881038008fcd17189c.json and /dev/null differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_limit/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json index eb84276a461..a6610834d71 100644 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_ok/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_4959b488e99ae1bd41af47fdecce942470ee2b9dff806909798d12c40bc6cf8b.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_4959b488e99ae1bd41af47fdecce942470ee2b9dff806909798d12c40bc6cf8b.json index c1fbc6c19d5..ebae4be65ba 100644 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_4959b488e99ae1bd41af47fdecce942470ee2b9dff806909798d12c40bc6cf8b.json and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_4959b488e99ae1bd41af47fdecce942470ee2b9dff806909798d12c40bc6cf8b.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json index eb84276a461..a6610834d71 100644 Binary files a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json and b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json differ diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json new file mode 100644 index 00000000000..9d31d601d50 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/quorum_pubkey-106-74bc78bfed100cb1c7da3b1aeeaff1e5767efb0daf93c69cc8294ee246526a09.json @@ -0,0 +1 @@ +8fdaad8ac39e23c5b9e773184f5f54523f4bc7b1ed68a66b43c011ecfe8c6f3c38b5e8bae650b2b4434f4ff9f15e7417 \ No newline at end of file diff --git a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json b/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json deleted file mode 100644 index bc7809ba8dc..00000000000 --- a/packages/rs-sdk/tests/vectors/vote_polls_by_ts_order/quorum_pubkey-106-7ee4e829edd032a17841e9c64e56c57fdff6a9b6cc4d392987f5c13a097fec90.json +++ /dev/null @@ -1 +0,0 @@ -ac414ec06b2f5d6fa0a232cfc12d025e08eb80a24404ac286d2f9ad125fbb533089c7fe533ee6956aca8d85e48aafbac \ No newline at end of file diff --git a/packages/simple-signer/Cargo.toml b/packages/simple-signer/Cargo.toml index 1f9cd7b6172..95a68d598aa 100644 --- a/packages/simple-signer/Cargo.toml +++ b/packages/simple-signer/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "simple-signer" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -10,4 +10,4 @@ rust-version = "1.76" bincode = { version = "2.0.0-rc.3", features = ["serde"] } dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", tag = "v0.15.4" } dpp = { path = "../rs-dpp", features = ["abci"] } -base64 = { version = "0.22.1"} +base64 = { version = "0.22.1" } diff --git a/packages/simple-signer/src/signer.rs b/packages/simple-signer/src/signer.rs index f8f8f92f3b8..448e1a5c9c3 100644 --- a/packages/simple-signer/src/signer.rs +++ b/packages/simple-signer/src/signer.rs @@ -106,4 +106,11 @@ impl Signer for SimpleSigner { )), } } + + fn can_sign_with(&self, identity_public_key: &IdentityPublicKey) -> bool { + self.private_keys + .get(identity_public_key) + .or_else(|| self.private_keys_in_creation.get(identity_public_key)) + .is_some() + } } diff --git a/packages/strategy-tests/Cargo.toml b/packages/strategy-tests/Cargo.toml index bdd93aeed3a..e353ddf2b5b 100644 --- a/packages/strategy-tests/Cargo.toml +++ b/packages/strategy-tests/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "strategy-tests" -version = "1.0.2" +version = "1.4.0-dev.1" authors = [ "Samuel Westrich ", "Ivan Shumkov ", "Paul DeLucia ", ] edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/strategy-tests/src/lib.rs b/packages/strategy-tests/src/lib.rs index 8867e1fc28c..126538a64a0 100644 --- a/packages/strategy-tests/src/lib.rs +++ b/packages/strategy-tests/src/lib.rs @@ -114,6 +114,22 @@ pub struct Strategy { pub signer: Option, } +impl Strategy { + pub fn max_document_operation_count_without_inserts(&self) -> u16 { + self.operations + .iter() + .filter(|operation| match &operation.op_type { + OperationType::Document(document_op) => match &document_op.action { + DocumentAction::DocumentActionInsertRandom(_, _) => false, + DocumentAction::DocumentActionInsertSpecific(_, _, _, _) => false, + _ => true, + }, + _ => false, + }) + .count() as u16 + } +} + /// Config stuff for a Strategy #[derive(Clone, Debug, PartialEq)] pub struct StrategyConfig { @@ -719,6 +735,7 @@ impl Strategy { KeyType::ECDSA_SECP256K1, KeyType::BLS12_381, ]), + false, ) .expect("expected to get a signing key"); @@ -847,6 +864,7 @@ impl Strategy { KeyType::ECDSA_SECP256K1, KeyType::BLS12_381, ]), + false, ) .expect("expected to get a signing key"); @@ -931,6 +949,7 @@ impl Strategy { Purpose::AUTHENTICATION, HashSet::from([SecurityLevel::CRITICAL]), HashSet::from([KeyType::ECDSA_SECP256K1, KeyType::BLS12_381]), + false, ) .expect("expected to get a signing key"); @@ -1385,6 +1404,7 @@ impl Strategy { Purpose::AUTHENTICATION, HashSet::from([SecurityLevel::HIGH, SecurityLevel::CRITICAL]), HashSet::from([KeyType::ECDSA_SECP256K1]), + false, ) .expect("Expected to get identity public key in ContractCreate"); let mut state_transition = @@ -1450,6 +1470,7 @@ impl Strategy { Purpose::AUTHENTICATION, HashSet::from([SecurityLevel::CRITICAL]), HashSet::from([KeyType::ECDSA_SECP256K1, KeyType::BLS12_381]), + false ) .expect("expected to get a signing key with CRITICAL security level"); @@ -1638,6 +1659,7 @@ impl Strategy { Purpose::AUTHENTICATION, HashSet::from([SecurityLevel::HIGH, SecurityLevel::CRITICAL]), HashSet::from([KeyType::ECDSA_SECP256K1]), + false ) .expect("Expected to get identity public key in initial_contract_state_transitions"); let key_id = identity_public_key.id(); diff --git a/packages/strategy-tests/src/transitions.rs b/packages/strategy-tests/src/transitions.rs index b35cfd38d84..7b0f3d92c42 100644 --- a/packages/strategy-tests/src/transitions.rs +++ b/packages/strategy-tests/src/transitions.rs @@ -22,10 +22,6 @@ use dpp::state_transition::identity_create_transition::IdentityCreateTransition; use dpp::state_transition::identity_credit_transfer_transition::v0::IdentityCreditTransferTransitionV0; use dpp::ProtocolError; -use dpp::state_transition::identity_credit_withdrawal_transition::v0::{ - IdentityCreditWithdrawalTransitionV0, MIN_CORE_FEE_PER_BYTE, -}; - use dpp::native_bls::NativeBlsModule; use dpp::state_transition::identity_topup_transition::methods::IdentityTopUpTransitionMethodsV0; use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition; @@ -40,6 +36,9 @@ use simple_signer::signer::SimpleSigner; use crate::KeyMaps; use dpp::dashcore::transaction::special_transaction::asset_lock::AssetLockPayload; use dpp::dashcore::transaction::special_transaction::TransactionPayload; +use dpp::state_transition::identity_credit_withdrawal_transition::v1::IdentityCreditWithdrawalTransitionV1; +use dpp::state_transition::identity_credit_withdrawal_transition::MIN_CORE_FEE_PER_BYTE; +use rand::Rng; use std::collections::{BTreeMap, HashSet}; use std::str::FromStr; @@ -448,26 +447,32 @@ pub fn create_identity_update_transition_disable_keys( Some(state_transition) } -/// Creates a state transition for an identity's credit withdrawal. +/// Creates a state transition for an identity's credit withdrawal, with a potential +/// output address based on the identity's capabilities. /// -/// This function generates a state transition representing the withdrawal of credits from an identity. -/// The withdrawal amount is set to 0.001 Dash. The function first bumps the revision -/// of the identity and then constructs the withdrawal transition. Subsequently, it's signed using the -/// identity's authentication key for validity and authenticity. +/// This function generates a state transition representing the withdrawal of credits from +/// an identity. It first checks if the identity has a suitable withdrawal address. If so, +/// there is a 50% chance that the withdrawal will be sent to the identity's transfer key. +/// Otherwise, it will create a withdrawal transition with a random output address. /// /// # Parameters /// - `identity`: A mutable reference to the identity making the withdrawal. +/// - `identity_nonce_counter`: A mutable reference to a BTreeMap that tracks the nonce for +/// each identity, ensuring unique transaction identifiers. /// - `signer`: A mutable reference to the signer used to create the cryptographic signature for /// the state transition. -/// - `rng`: A mutable reference to a random number generator, used for generating the random Pay-To-Script-Hash (P2SH). +/// - `rng`: A mutable reference to a random number generator, used for generating the random +/// Pay-To-Script-Hash (P2SH) when creating a withdrawal with an output address. /// /// # Returns -/// - `StateTransition`: The constructed and signed state transition representing the identity's credit withdrawal. +/// - `StateTransition`: The constructed state transition representing the identity's credit +/// withdrawal. /// /// # Examples /// ```ignore /// let withdrawal_transition = create_identity_withdrawal_transition( /// &mut identity, +/// &mut identity_nonce_counter, /// &mut signer, /// &mut rng, /// ); @@ -475,9 +480,152 @@ pub fn create_identity_update_transition_disable_keys( /// /// # Panics /// This function may panic under the following conditions: +/// - If the identity does not have a suitable withdrawal address or key for signing. +pub fn create_identity_withdrawal_transition( + identity: &mut Identity, + identity_nonce_counter: &mut BTreeMap, + signer: &mut SimpleSigner, + rng: &mut StdRng, +) -> StateTransition { + let has_withdrawal_address = identity + .get_first_public_key_matching( + Purpose::TRANSFER, + HashSet::from([SecurityLevel::CRITICAL]), + HashSet::from([KeyType::ECDSA_HASH160, KeyType::BIP13_SCRIPT_HASH]), + false, + ) + .is_some(); + if has_withdrawal_address && rng.gen_bool(0.5) { + // We can send it to the withdrawal address + create_identity_withdrawal_transition_sent_to_identity_transfer_key( + identity, + identity_nonce_counter, + signer, + ) + } else { + create_identity_withdrawal_transition_with_output_address( + identity, + identity_nonce_counter, + signer, + rng, + ) + } +} + +/// Creates a state transition for an identity's credit withdrawal directed to its +/// transfer key. +/// +/// This function generates a state transition representing the withdrawal of credits from +/// an identity. The withdrawal amount is set to 0.001 Dash. It increments the identity's +/// nonce and constructs the withdrawal transition. The transition is then signed using the +/// identity's authentication key for validity and authenticity. +/// +/// # Parameters +/// - `identity`: A mutable reference to the identity making the withdrawal. +/// - `identity_nonce_counter`: A mutable reference to a BTreeMap that tracks the nonce for +/// each identity, ensuring unique transaction identifiers. +/// - `signer`: A mutable reference to the signer used to create the cryptographic signature for +/// the state transition. +/// +/// # Returns +/// - `StateTransition`: The constructed and signed state transition representing the identity's +/// credit withdrawal directed to its transfer key. +/// +/// # Examples +/// ```ignore +/// let withdrawal_transition = create_identity_withdrawal_transition_sent_to_identity_transfer_key( +/// &mut identity, +/// &mut identity_nonce_counter, +/// &mut signer, +/// ); +/// ``` +/// +/// # Panics +/// This function may panic under the following conditions: /// - If the identity does not have a suitable authentication key for signing. /// - If there's an error during the signing process. -pub fn create_identity_withdrawal_transition( +pub fn create_identity_withdrawal_transition_sent_to_identity_transfer_key( + identity: &mut Identity, + identity_nonce_counter: &mut BTreeMap, + signer: &mut SimpleSigner, +) -> StateTransition { + let nonce = identity_nonce_counter.entry(identity.id()).or_default(); + *nonce += 1; + let mut withdrawal: StateTransition = IdentityCreditWithdrawalTransitionV1 { + identity_id: identity.id(), + amount: 1000000, // 1 duff + core_fee_per_byte: MIN_CORE_FEE_PER_BYTE, + pooling: Pooling::Never, + output_script: None, + nonce: *nonce, + user_fee_increase: 0, + signature_public_key_id: 0, + signature: Default::default(), + } + .into(); + + let identity_public_key = identity + .get_first_public_key_matching( + Purpose::AUTHENTICATION, + HashSet::from([SecurityLevel::MASTER]), + HashSet::from([ + KeyType::ECDSA_SECP256K1, + KeyType::BLS12_381, + KeyType::ECDSA_HASH160, + KeyType::BIP13_SCRIPT_HASH, + KeyType::EDDSA_25519_HASH160, + ]), + false, + ) + .expect("expected to get a signing key"); + + withdrawal + .sign_external( + identity_public_key, + signer, + None::, + ) + .expect("expected to sign withdrawal"); + + withdrawal +} + +/// Creates a state transition for an identity's credit withdrawal directed to a specified +/// output address. +/// +/// This function generates a state transition representing the withdrawal of credits from +/// an identity. The withdrawal amount is set to 0.001 Dash. It increments the identity's +/// nonce and constructs the withdrawal transition, which includes a random P2SH output address. +/// The transition is then signed using the identity's transfer key for validity and authenticity. +/// +/// # Parameters +/// - `identity`: A mutable reference to the identity making the withdrawal. +/// - `identity_nonce_counter`: A mutable reference to a BTreeMap that tracks the nonce for +/// each identity, ensuring unique transaction identifiers. +/// - `signer`: A mutable reference to the signer used to create the cryptographic signature for +/// the state transition. +/// - `rng`: A mutable reference to a random number generator, used for generating the random +/// Pay-To-Script-Hash (P2SH). +/// +/// # Returns +/// - `StateTransition`: The constructed and signed state transition representing the identity's +/// credit withdrawal directed to the specified output address. +/// +/// # Examples +/// ```ignore +/// let withdrawal_transition = create_identity_withdrawal_transition_with_output_address( +/// &mut identity, +/// &mut identity_nonce_counter, +/// &mut signer, +/// &mut rng, +/// ); +/// ``` +/// +/// # Panics +/// This function may panic under the following conditions: +/// - If the identity does not have a suitable transfer key for signing. +/// - If there's an error during the signing process. +pub fn create_identity_withdrawal_transition_with_output_address( identity: &mut Identity, identity_nonce_counter: &mut BTreeMap, signer: &mut SimpleSigner, @@ -485,12 +633,12 @@ pub fn create_identity_withdrawal_transition( ) -> StateTransition { let nonce = identity_nonce_counter.entry(identity.id()).or_default(); *nonce += 1; - let mut withdrawal: StateTransition = IdentityCreditWithdrawalTransitionV0 { + let mut withdrawal: StateTransition = IdentityCreditWithdrawalTransitionV1 { identity_id: identity.id(), amount: 1000000, // 1 duff core_fee_per_byte: MIN_CORE_FEE_PER_BYTE, pooling: Pooling::Never, - output_script: CoreScript::random_p2sh(rng), + output_script: Some(CoreScript::random_p2sh(rng)), nonce: *nonce, user_fee_increase: 0, signature_public_key_id: 0, @@ -509,6 +657,7 @@ pub fn create_identity_withdrawal_transition( KeyType::BIP13_SCRIPT_HASH, KeyType::EDDSA_25519_HASH160, ]), + false, ) .expect("expected to get a signing key"); @@ -580,6 +729,7 @@ pub fn create_identity_credit_transfer_transition( Purpose::TRANSFER, HashSet::from([SecurityLevel::CRITICAL]), HashSet::from([KeyType::ECDSA_SECP256K1, KeyType::BLS12_381]), + false, ) .expect("expected to get a signing key"); diff --git a/packages/wallet-lib/README.md b/packages/wallet-lib/README.md index 765e2baddbf..a02c90c35e4 100644 --- a/packages/wallet-lib/README.md +++ b/packages/wallet-lib/README.md @@ -7,6 +7,11 @@ A pure and extensible JavaScript Wallet Library for Dash +**Warning: This library should only be used in production when connected to trusted nodes. Although +it provides easy access to wallet functionality without requiring a full node, it does not verify +synchronized blockchain data (e.g., the masternode list, InstantSend transactions, ChainLocks) or +check transactions against block headers.** + ## Table of Contents - [Install](#install) - [Usage](#usage) diff --git a/packages/wallet-lib/package.json b/packages/wallet-lib/package.json index ff57b4c306f..c4caf8e9615 100644 --- a/packages/wallet-lib/package.json +++ b/packages/wallet-lib/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wallet-lib", - "version": "8.0.2", + "version": "8.4.0-dev.1", "description": "Light wallet library for Dash", "main": "src/index.js", "unpkg": "dist/wallet-lib.min.js", @@ -95,7 +95,7 @@ "url": "^0.11.3", "util": "^0.12.4", "wasm-x11-hash": "~0.0.2", - "webpack": "^5.76.1", + "webpack": "^5.94.0", "webpack-cli": "^4.9.1" } } diff --git a/packages/wasm-dpp/Cargo.toml b/packages/wasm-dpp/Cargo.toml index a2da769784f..194e64f1a6b 100644 --- a/packages/wasm-dpp/Cargo.toml +++ b/packages/wasm-dpp/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "wasm-dpp" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true authors = ["Anton Suprunchuk "] [lib] @@ -18,7 +18,7 @@ serde_json = { version = "1.0", features = ["preserve_order"] } wasm-bindgen = { version = "=0.2.86" } js-sys = "0.3.53" web-sys = { version = "0.3.6", features = ["console"] } -thiserror = { version = "1.0.59" } +thiserror = { version = "1.0.63" } serde-wasm-bindgen = { git = "https://github.com/QuantumExplorer/serde-wasm-bindgen", branch = "feat/not_human_readable" } dpp = { path = "../rs-dpp", default-features = false, features = [ "state-transition-serde-conversion", diff --git a/packages/wasm-dpp/package.json b/packages/wasm-dpp/package.json index e780979fdb1..2b9d361397b 100644 --- a/packages/wasm-dpp/package.json +++ b/packages/wasm-dpp/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wasm-dpp", - "version": "1.0.2", + "version": "1.4.0-dev.1", "description": "The JavaScript implementation of the Dash Platform Protocol", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -86,7 +86,7 @@ "typescript": "^3.9.5", "url": "^0.11.3", "util": "^0.12.4", - "webpack": "^5.76.1", + "webpack": "^5.94.0", "webpack-cli": "^4.9.1" } } diff --git a/packages/wasm-dpp/src/document/state_transition/document_batch_transition/mod.rs b/packages/wasm-dpp/src/document/state_transition/document_batch_transition/mod.rs index 8904162c21f..d0ebb9ae56d 100644 --- a/packages/wasm-dpp/src/document/state_transition/document_batch_transition/mod.rs +++ b/packages/wasm-dpp/src/document/state_transition/document_batch_transition/mod.rs @@ -1,4 +1,4 @@ -use dpp::identity::KeyID; +use dpp::identity::{KeyID, Purpose}; use dpp::{ prelude::Identifier, @@ -346,12 +346,22 @@ impl DocumentsBatchTransitionWasm { } #[wasm_bindgen(js_name=getKeySecurityLevelRequirement)] - pub fn get_security_level_requirement(&self) -> js_sys::Array { + pub fn get_security_level_requirement(&self, purpose: u8) -> Result { + // Convert the integer to a Purpose enum + let purpose_enum = match Purpose::try_from(purpose) { + Ok(purpose) => purpose, + Err(_) => { + return Err(JsValue::from_str( + "Invalid purpose value, expected a number between 0 and 5.", + )) + } + }; + let array = js_sys::Array::new(); - for security_level in self.0.security_level_requirement() { + for security_level in self.0.security_level_requirement(purpose_enum) { array.push(&JsValue::from(security_level as u32)); } - array + Ok(array) } // AbstractStateTransition methods diff --git a/packages/wasm-dpp/src/errors/consensus/basic/invalid_signature_public_key_purpose_error.rs b/packages/wasm-dpp/src/errors/consensus/basic/invalid_signature_public_key_purpose_error.rs index 835d9559a83..f81b0a4e872 100644 --- a/packages/wasm-dpp/src/errors/consensus/basic/invalid_signature_public_key_purpose_error.rs +++ b/packages/wasm-dpp/src/errors/consensus/basic/invalid_signature_public_key_purpose_error.rs @@ -23,8 +23,12 @@ impl InvalidSignaturePublicKeyPurposeErrorWasm { } #[wasm_bindgen(js_name=getKeyPurposeRequirement)] - pub fn get_allowed_key_purpose(&self) -> u8 { - self.inner.allowed_key_purpose() as u8 + pub fn get_allowed_key_purposes(&self) -> js_sys::Array { + let array = js_sys::Array::new(); + for purpose in self.inner.allowed_key_purposes() { + array.push(&JsValue::from(*purpose as u8)); + } + array } #[wasm_bindgen(js_name=getCode)] diff --git a/packages/wasm-dpp/src/errors/consensus/basic/wrong_public_key_purpose_error.rs b/packages/wasm-dpp/src/errors/consensus/basic/wrong_public_key_purpose_error.rs index ff07e997011..4f9e9205aff 100644 --- a/packages/wasm-dpp/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +++ b/packages/wasm-dpp/src/errors/consensus/basic/wrong_public_key_purpose_error.rs @@ -23,8 +23,12 @@ impl WrongPublicKeyPurposeErrorWasm { } #[wasm_bindgen(js_name=getKeyPurposeRequirement)] - pub fn get_key_purpose_requirement(&self) -> u8 { - self.inner.key_purpose_requirement() as u8 + pub fn get_allowed_key_purposes(&self) -> js_sys::Array { + let array = js_sys::Array::new(); + for purpose in self.inner.allowed_key_purposes() { + array.push(&JsValue::from(*purpose as u8)); + } + array } #[wasm_bindgen(js_name=getCode)] diff --git a/packages/wasm-dpp/src/errors/consensus/consensus_error.rs b/packages/wasm-dpp/src/errors/consensus/consensus_error.rs index c9262628e85..642dce93fc0 100644 --- a/packages/wasm-dpp/src/errors/consensus/consensus_error.rs +++ b/packages/wasm-dpp/src/errors/consensus/consensus_error.rs @@ -58,21 +58,24 @@ use dpp::consensus::signature::SignatureError; use dpp::consensus::state::state_error::StateError; use dpp::consensus::state::data_trigger::DataTriggerError::{ - DataTriggerConditionError, DataTriggerExecutionError, DataTriggerInvalidResultError, + DataTriggerConditionError, DataTriggerExecutionError, DataTriggerInvalidResultError, }; use wasm_bindgen::{JsError, JsValue}; use dpp::consensus::basic::data_contract::{ContestedUniqueIndexOnMutableDocumentTypeError, ContestedUniqueIndexWithUniqueIndexError, InvalidDocumentTypeRequiredSecurityLevelError, UnknownDocumentCreationRestrictionModeError, UnknownSecurityLevelError, UnknownStorageKeyRequirementsError, UnknownTradeModeError, UnknownTransferableTypeError}; -use dpp::consensus::basic::document::{DocumentCreationNotAllowedError, DocumentFieldMaxSizeExceededError, MaxDocumentsTransitionsExceededError, MissingPositionsInDocumentTypePropertiesError}; +use dpp::consensus::basic::document::{ContestedDocumentsTemporarilyNotAllowedError, DocumentCreationNotAllowedError, DocumentFieldMaxSizeExceededError, MaxDocumentsTransitionsExceededError, MissingPositionsInDocumentTypePropertiesError}; use dpp::consensus::basic::identity::{DataContractBoundsNotPresentError, DisablingKeyIdAlsoBeingAddedInSameTransitionError, InvalidIdentityCreditWithdrawalTransitionAmountError, InvalidIdentityUpdateTransitionDisableKeysError, InvalidIdentityUpdateTransitionEmptyError, TooManyMasterPublicKeyError}; use dpp::consensus::basic::overflow_error::OverflowError; use dpp::consensus::state::data_contract::document_type_update_error::DocumentTypeUpdateError; use dpp::consensus::state::document::document_contest_currently_locked_error::DocumentContestCurrentlyLockedError; +use dpp::consensus::state::document::document_contest_document_with_same_id_already_present_error::DocumentContestDocumentWithSameIdAlreadyPresentError; use dpp::consensus::state::document::document_contest_identity_already_contestant::DocumentContestIdentityAlreadyContestantError; use dpp::consensus::state::document::document_contest_not_joinable_error::DocumentContestNotJoinableError; use dpp::consensus::state::document::document_incorrect_purchase_price_error::DocumentIncorrectPurchasePriceError; use dpp::consensus::state::document::document_not_for_sale_error::DocumentNotForSaleError; use dpp::consensus::state::identity::identity_public_key_already_exists_for_unique_contract_bounds_error::IdentityPublicKeyAlreadyExistsForUniqueContractBoundsError; use dpp::consensus::state::identity::master_public_key_update_error::MasterPublicKeyUpdateError; +use dpp::consensus::state::identity::missing_transfer_key_error::MissingTransferKeyError; +use dpp::consensus::state::identity::no_transfer_key_for_core_withdrawal_available_error::NoTransferKeyForCoreWithdrawalAvailableError; use dpp::consensus::state::prefunded_specialized_balances::prefunded_specialized_balance_insufficient_error::PrefundedSpecializedBalanceInsufficientError; use dpp::consensus::state::prefunded_specialized_balances::prefunded_specialized_balance_not_found_error::PrefundedSpecializedBalanceNotFoundError; use dpp::consensus::state::voting::masternode_incorrect_voter_identity_id_error::MasternodeIncorrectVoterIdentityIdError; @@ -292,6 +295,15 @@ pub fn from_state_error(state_error: &StateError) -> JsValue { StateError::MasternodeIncorrectVoterIdentityIdError(e) => { generic_consensus_error!(MasternodeIncorrectVoterIdentityIdError, e).into() } + StateError::DocumentContestDocumentWithSameIdAlreadyPresentError(e) => { + generic_consensus_error!(DocumentContestDocumentWithSameIdAlreadyPresentError, e).into() + } + StateError::MissingTransferKeyError(e) => { + generic_consensus_error!(MissingTransferKeyError, e).into() + } + StateError::NoTransferKeyForCoreWithdrawalAvailableError(e) => { + generic_consensus_error!(NoTransferKeyForCoreWithdrawalAvailableError, e).into() + } } } @@ -545,6 +557,9 @@ fn from_basic_error(basic_error: &BasicError) -> JsValue { BasicError::ContestedUniqueIndexWithUniqueIndexError(e) => { generic_consensus_error!(ContestedUniqueIndexWithUniqueIndexError, e).into() } + BasicError::ContestedDocumentsTemporarilyNotAllowedError(e) => { + generic_consensus_error!(ContestedDocumentsTemporarilyNotAllowedError, e).into() + } } } diff --git a/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/to_object.rs b/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/to_object.rs index b0dc0002c83..d805f7f0180 100644 --- a/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/to_object.rs +++ b/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/to_object.rs @@ -23,7 +23,7 @@ pub struct ToObject { pub amount: u64, pub core_fee_per_byte: u32, pub pooling: Pooling, - pub output_script: CoreScript, + pub output_script: Option, pub nonce: IdentityNonce, pub signature: Option>, pub signature_public_key_id: Option, diff --git a/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/transition.rs b/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/transition.rs index 9d751495192..3de33cb834d 100644 --- a/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/transition.rs +++ b/packages/wasm-dpp/src/identity/state_transition/identity_credit_withdrawal_transition/transition.rs @@ -114,14 +114,16 @@ impl IdentityCreditWithdrawalTransitionWasm { } #[wasm_bindgen(js_name=getOutputScript)] - pub fn get_output_script(&self) -> Buffer { - Buffer::from_bytes(self.0.output_script().as_bytes()) + pub fn get_output_script(&self) -> Option { + self.0 + .output_script() + .map(|core_script| Buffer::from_bytes(core_script.as_bytes())) } #[wasm_bindgen(js_name=setOutputScript)] - pub fn set_output_script(&mut self, output_script: Vec) { + pub fn set_output_script(&mut self, output_script: Option>) { self.0 - .set_output_script(CoreScript::from_bytes(output_script)); + .set_output_script(output_script.map(CoreScript::from_bytes)); } #[wasm_bindgen(js_name=getNonce)] @@ -153,6 +155,7 @@ impl IdentityCreditWithdrawalTransitionWasm { let version = match self.0 { IdentityCreditWithdrawalTransition::V0(_) => "0", + IdentityCreditWithdrawalTransition::V1(_) => "1", }; js_sys::Reflect::set(&js_object, &"$version".to_owned().into(), &version.into())?; @@ -205,12 +208,15 @@ impl IdentityCreditWithdrawalTransitionWasm { &JsValue::from_f64((object.pooling as u8) as f64), )?; - let output_script = Buffer::from_bytes(object.output_script.as_bytes()); - js_sys::Reflect::set( - &js_object, - &"outputScript".to_owned().into(), - &output_script.into(), - )?; + if let Some(output_script) = object.output_script { + let output_script = Buffer::from_bytes(output_script.as_bytes()); + + js_sys::Reflect::set( + &js_object, + &"outputScript".to_owned().into(), + &output_script.into(), + )?; + } js_sys::Reflect::set( &js_object, @@ -243,6 +249,7 @@ impl IdentityCreditWithdrawalTransitionWasm { let version = match self.0 { IdentityCreditWithdrawalTransition::V0(_) => "0", + IdentityCreditWithdrawalTransition::V1(_) => "1", }; js_sys::Reflect::set(&js_object, &"$version".to_owned().into(), &version.into())?; @@ -297,16 +304,16 @@ impl IdentityCreditWithdrawalTransitionWasm { &JsValue::from_f64((object.pooling as u8) as f64), )?; - let output_script = platform_value::string_encoding::encode( - object.output_script.as_bytes(), - Encoding::Base64, - ); + if let Some(output_script) = object.output_script { + let output_script = + platform_value::string_encoding::encode(output_script.as_bytes(), Encoding::Base64); - js_sys::Reflect::set( - &js_object, - &"outputScript".to_owned().into(), - &output_script.into(), - )?; + js_sys::Reflect::set( + &js_object, + &"outputScript".to_owned().into(), + &output_script.into(), + )?; + } js_sys::Reflect::set( &js_object, diff --git a/packages/withdrawals-contract/Cargo.toml b/packages/withdrawals-contract/Cargo.toml index d00b625405a..357bc6d42f3 100644 --- a/packages/withdrawals-contract/Cargo.toml +++ b/packages/withdrawals-contract/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "withdrawals-contract" description = "Witdrawals data contract schema and tools" -version = "1.0.2" +version = "1.4.0-dev.1" edition = "2021" -rust-version = "1.76" +rust-version.workspace = true license = "MIT" [dependencies] diff --git a/packages/withdrawals-contract/package.json b/packages/withdrawals-contract/package.json index 30689739415..749f7e70701 100644 --- a/packages/withdrawals-contract/package.json +++ b/packages/withdrawals-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/withdrawals-contract", - "version": "1.0.2", + "version": "1.4.0-dev.1", "description": "Data Contract to manipulate and track withdrawals", "scripts": { "build": "", diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 6ff0f74bf9f..42a546e0324 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] # Rust version the same as in /README.md -channel = "1.76" +channel = "1.80" targets = ["wasm32-unknown-unknown"] diff --git a/scripts/change_base_branch.sh b/scripts/change_base_branch.sh new file mode 100755 index 00000000000..3e8dfaf916c --- /dev/null +++ b/scripts/change_base_branch.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +set -e -o pipefail + +# Function to display help +show_help() { + echo "Usage: $0 OLD_BASE NEW_BASE" + echo "" + echo "Change the base branch for all open PRs from OLD_BASE to NEW_BASE." + echo "" + echo "Arguments:" + echo " OLD_BASE The current base branch to change from." + echo " NEW_BASE The new base branch to change to." + echo "" + echo "Options:" + echo " -h Display this help message." +} + +# Parse command-line options +while getopts "h" opt; do + case $opt in + h) show_help + exit 0 ;; + \?) echo "Invalid option: -$OPTARG" >&2 + show_help + exit 1 ;; + esac +done + +# Shift the parsed options away to handle positional arguments +shift $((OPTIND -1)) + +# Check if the correct number of arguments are provided +if [ "$#" -ne 2 ]; then + echo "Error: OLD_BASE and NEW_BASE are required." + show_help + exit 1 +fi + +# Assign positional arguments to variables +old_base_branch="$1" +new_base_branch="$2" + +# List PRs and change base branch +prs=$(gh pr list --base "$old_base_branch" --json number --jq '.[].number') + +if [ -z "$prs" ]; then + echo "No PRs found with base branch '$old_base_branch'." + exit 0 +fi + +for pr in $prs; do + echo "Updating PR #$pr from base '$old_base_branch' to '$new_base_branch'..." + gh pr edit "$pr" --base "$new_base_branch" +done + +echo "Base branch update complete." diff --git a/scripts/check_network_version.sh b/scripts/check_network_version.sh new file mode 100755 index 00000000000..400501329c8 --- /dev/null +++ b/scripts/check_network_version.sh @@ -0,0 +1,207 @@ +#! /bin/bash + +# Some defaults +PORT=${PORT:-443} +CSV=/tmp/masternodes.csv +MASTERNODES="" +ALL="" + +function help() { + if [[ -z "$1" ]]; then + + echo This script connects to all masternodes and tries to detect their version. + echo "" + echo "Usage: $0 [-p | --port ] [-h | --help] [-m | --masternodes ] [-j | --json ] [-w | --mnowatch] [-c | --csv ]" + echo "Options:" + echo " -p, --port Port to connect to (default: $PORT)" + echo " -h, --help Show this help" + echo " -m, --masternodes File with IP addresses of masternodes to check" + echo " -j, --json File with masternodes.json in format generated by mnowatch" + echo " -w, --mnowatch Use mnowatch.org to get masternodes" + echo " -c, --csv Save results to CSV file; default: $CSV" + echo "" + echo "Note: --masternodes, --json, and --mnowatch are mutually exclusive and the latest one takes precedence." + exit 1 + fi +} + +REPO="$(realpath "$(dirname "$0")/..")" + +function load_masternodes_json() { + # curl https://mnowatch.org/json/?method=emn_details + # TODO: use curl above + jq 'map(select(.platformHTTPPortStatus != "CLOSED"))|map(select(.active_YNU!="N"))|map(select(.status!="P"))' "$1" | + jq -r .[].ip | + sort | + uniq +} + +function grpc_core { + docker run \ + -v "${REPO}:/repo" \ + fullstorydev/grpcurl:latest \ + -import-path "/repo/packages/dapi-grpc/protos/core/v0" \ + -proto core.proto \ + -max-time 30 \ + -keepalive-time 1 \ + "$@" +} + +function grpc_platform { + docker run \ + -v "${REPO}:/repo" \ + fullstorydev/grpcurl:latest \ + -import-path "/repo/packages/dapi-grpc/protos/platform/v0" \ + -proto platform.proto \ + -max-time 30 \ + -keepalive-time 1 \ + "$@" +} + +# Go to specified IP and fetch SML (subscribeToMasternodeList) + +# MASTERNODES=$( +# grpc_core "$FULLNODE:$PORT" org.dash.platform.dapi.v0.Core/subscribeToMasternodeList | +# jq -r .masternodeListDiff | +# base64 -d | +# grep -aEo '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort | uniq +# ) + +# Try to determine version of the platform +function detect_platform() { + NODE="$1" + + err="$(grpc_platform -insecure "$NODE:${PORT}" org.dash.platform.dapi.v0.Platform/getTotalCreditsInPlatform 2>&1)" + + echo "============ $NODE ============" >>/tmp/detect_platform.log + echo "$err" >>/tmp/detect_platform.log + + case "$err" in + *"decoding error: could not decode"*) + echo 1.1 + ;; + *"upstream connect error or disconnect/reset before headers"*) + echo "upstream connect error" + ;; + *"connect: connection refused"*) + echo "connection refused" + ;; + *"Code: Unimplemented"*) + echo "unimplemented" + ;; + *) + echo "ERROR" + ;; + esac +} + +# Check if core is available by calling getBlockchainStatus +# UNUSED +function detect_core() { + NODE="$1" + + err="$(grpc_core -insecure -d '{}' "$NODE:${PORT}" org.dash.platform.dapi.v0.Core/getBlockchainStatus 2>&1)" + + echo "============ $NODE ============" >>/tmp/detect_core.log + echo "$err" >>/tmp/detect_core.log + + version="$(echo "$err" | jq -r .version.agent 2>/dev/null)" + if [[ -z "$version" ]]; then + case "$err" in + *"upstream connect error"*) + echo down + ;; + *"connect: connection refused"*) + echo "connection refused" + ;; + *) + echo "UNKNOWN" + ;; + esac + else + echo "$version" + fi +} + +# Parse arguments +while [[ "$1" == -* ]]; do + case "$1" in + -p | --port) + PORT="$2" + shift 2 + ;; + -m | --masternodes) + MASTERNODES=$(cat "$2") + shift 2 + ;; + -j | --json) + MASTERNODES=$(load_masternodes_json "$2") + ALL=$(jq '.|length' "$2") + shift 2 + ;; + -w | --mnowatch) + MN_FILE=$(mktemp /tmp/masternodes.json.XXXXXX) + echo -n Fetching masternodes from mnowatch.org... + curl -s https://mnowatch.org/json/?method=emn_details >"$MN_FILE" + ALL=$(jq '.|length' "$MN_FILE") + MASTERNODES=$(load_masternodes_json "$MN_FILE") + echo " done." + shift + ;; + -c | --csv) + CSV="$2" + shift 2 + ;; + *) + echo "Unknown option: $1" + exit 1 + ;; + esac +done + +COUNT=$(echo "$MASTERNODES" | wc -l) +if [[ -z "$ALL" ]]; then + ALL=$COUNT +fi + +# Fetch getTotalCreditsInPlatform : +# * can’t connect - no platform, not found - means platform version +# * less than 1.1.0, internal - right version but init chain is not called yet. +# Fetch getBlockchainStatus to get information about Core: +# * can’t connect - no platform or no core +# grpc_core -help +set +e + +# Reset logs +truncate -s 0 /tmp/detect_platform.log +truncate -s 0 /tmp/detect_core.log + +if [[ -z "$MASTERNODES" ]]; then + echo "No masternodes found" + exit 1 +fi + +# CSV header +echo "'no','masternode','platform','core'" >"$CSV" + +i=1 +for MN in $MASTERNODES; do + echo "Checking status of evo node $MN ($i/$COUNT)" + + PLATFORM="$(detect_platform "$MN")" + # CORE="$(detect_core "$MN")" + # Format result as CSV + echo "$i,'$MN','$PLATFORM','$CORE'" >>"$CSV" + i=$((i + 1)) +done + +echo "Done." + +echo "" +echo "Results saved to $CSV" +echo "" +echo "Some statistics:" +echo "Total evonodes: $ALL" +echo "Potentially correct evo nodes: $COUNT" +echo "Platform versions:" +tail -n +2 "$CSV" | cut -d, -f3 | sort | uniq -c | sort -n diff --git a/scripts/update_rust_version.sh b/scripts/update_rust_version.sh new file mode 100755 index 00000000000..d0868be2aa3 --- /dev/null +++ b/scripts/update_rust_version.sh @@ -0,0 +1,34 @@ +#! /bin/bash -e + +# This script updates the rust version to the one provided in the first argument. +# Requires `yq` to be installed: https://github.com/mikefarah/yq +PROJECT_ROOT="$(realpath "$(dirname "$0")"/..)" + +# Check if the first argument is provided +if [ -z "${1}" ]; then + echo "Please provide the new rust version as the first argument." + exit 1 +fi + +VERSION="$1" + +function check { + for file in "$@"; do + if ! grep -q "${VERSION}" "${file}"; then + echo "The file ${file} does not contain the version ${VERSION}." + exit 1 + fi + done +} + +echo Update the rust version in the Cargo.toml file +sed -i "s/^rust-version = \".*\"/rust-version = \"${VERSION}\"/" "${PROJECT_ROOT}"/Cargo.toml +check "${PROJECT_ROOT}"/Cargo.toml + +echo Update the rust version in the README.md +sed -i "s/\(\[rust\](https.*)\) v[0-9.]\++,/\1 v$VERSION+,/" "${PROJECT_ROOT}/README.md" +check "${PROJECT_ROOT}/README.md" + +echo Update the rust version in rust-toolchain.toml +sed -i "s/^channel = \".*\"/channel = \"${VERSION}\"/" "${PROJECT_ROOT}/rust-toolchain.toml" +check "${PROJECT_ROOT}/rust-toolchain.toml" diff --git a/yarn.lock b/yarn.lock index b17e25241ff..f5f5c44e2ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1513,7 +1513,7 @@ __metadata: url: "npm:^0.11.3" util: "npm:^0.12.4" wasm-x11-hash: "npm:~0.0.2" - webpack: "npm:^5.76.1" + webpack: "npm:^5.94.0" webpack-cli: "npm:^4.9.1" winston: "npm:^3.2.1" languageName: unknown @@ -1832,7 +1832,7 @@ __metadata: url: "npm:^0.11.3" utf-8-validate: "npm:^5.0.9" util: "npm:^0.12.4" - webpack: "npm:^5.76.1" + webpack: "npm:^5.94.0" ws: "npm:^8.17.1" bin: test: bin/test.sh @@ -1929,7 +1929,7 @@ __metadata: url: "npm:^0.11.3" util: "npm:^0.12.4" wasm-x11-hash: "npm:~0.0.2" - webpack: "npm:^5.76.1" + webpack: "npm:^5.94.0" webpack-cli: "npm:^4.9.1" winston: "npm:^3.2.1" languageName: unknown @@ -1989,7 +1989,7 @@ __metadata: url: "npm:^0.11.3" util: "npm:^0.12.4" varint: "npm:^6.0.0" - webpack: "npm:^5.76.1" + webpack: "npm:^5.94.0" webpack-cli: "npm:^4.9.1" languageName: unknown linkType: soft @@ -2176,6 +2176,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 4412e9e6713c89c1e66d80bb0bb5a2a93192f10477623a27d08f228ba0316bb880affabc5bfe7f838f58a34d26c2c190da726e576cdfc18c49a72e89adabdcf5 + languageName: node + linkType: hard + "@isaacs/string-locale-compare@npm:^1.1.0": version: 1.1.0 resolution: "@isaacs/string-locale-compare@npm:1.1.0" @@ -2223,6 +2232,17 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 81587b3c4dd8e6c60252122937cea0c637486311f4ed208b52b62aae2e7a87598f63ec330e6cd0984af494bfb16d3f0d60d3b21d7e5b4aedd2602ff3fe9d32e2 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": version: 3.1.0 resolution: "@jridgewell/resolve-uri@npm:3.1.0" @@ -2230,6 +2250,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d + languageName: node + linkType: hard + "@jridgewell/set-array@npm:^1.0.1": version: 1.1.2 resolution: "@jridgewell/set-array@npm:1.1.2" @@ -2237,6 +2264,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 + languageName: node + linkType: hard + "@jridgewell/source-map@npm:^0.3.2": version: 0.3.2 resolution: "@jridgewell/source-map@npm:0.3.2" @@ -2247,6 +2281,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 0a9aca9320dc9044014ba0ef989b3a8411b0d778895553e3b7ca2ac0a75a20af4a5ad3f202acfb1879fa40466036a4417e1d5b38305baed8b9c1ebe6e4b3e7f5 + languageName: node + linkType: hard + "@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": version: 1.4.14 resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" @@ -2254,6 +2298,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -2274,6 +2325,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc + languageName: node + linkType: hard + "@jsdevtools/ono@npm:^7.1.0": version: 7.1.3 resolution: "@jsdevtools/ono@npm:7.1.3" @@ -3240,26 +3301,6 @@ __metadata: languageName: node linkType: hard -"@types/eslint-scope@npm:^3.7.3": - version: 3.7.4 - resolution: "@types/eslint-scope@npm:3.7.4" - dependencies: - "@types/eslint": "npm:*" - "@types/estree": "npm:*" - checksum: ea6a9363e92f301cd3888194469f9ec9d0021fe0a397a97a6dd689e7545c75de0bd2153dfb13d3ab532853a278b6572c6f678ce846980669e41029d205653460 - languageName: node - linkType: hard - -"@types/eslint@npm:*": - version: 8.2.0 - resolution: "@types/eslint@npm:8.2.0" - dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 1e8100311ea9724eafa635fc36460ac1c8d6847f55f69471c68c1b5db04cf39ffa117c96d2c65b152ba405c62664e1e386050e7324cc2d8b4c23270cebd5d7d9 - languageName: node - linkType: hard - "@types/eslint@npm:^7.2.13": version: 7.29.0 resolution: "@types/eslint@npm:7.29.0" @@ -3270,13 +3311,20 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^0.0.51": +"@types/estree@npm:*": version: 0.0.51 resolution: "@types/estree@npm:0.0.51" checksum: b566c7a3fc8a81ca3d9e00a717e90b8f5d567e2476b4f6d76a20ec6da33ec28165b8f989ed8dd0c9df41405199777ec36a4f85f32a347fbc6c3f696a3128b6e7 languageName: node linkType: hard +"@types/estree@npm:^1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 7de6d928dd4010b0e20c6919e1a6c27b61f8d4567befa89252055fad503d587ecb9a1e3eab1b1901f923964d7019796db810b7fd6430acb26c32866d126fd408 + languageName: node + linkType: hard + "@types/expect@npm:^1.20.4": version: 1.20.4 resolution: "@types/expect@npm:1.20.4" @@ -3658,154 +3706,154 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/ast@npm:1.11.1" +"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/ast@npm:1.12.1" dependencies: - "@webassemblyjs/helper-numbers": "npm:1.11.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.1" - checksum: 28cc949e2e68eb103fc416b30880cf57bc37b452e1e6fe05c73c64bc6d90d68176013fb5101bf80a2eb4961299dd4d7cffeecd32d189a17951da7ead90c2f35f + "@webassemblyjs/helper-numbers": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + checksum: a775b0559437ae122d14fec0cfe59fdcaf5ca2d8ff48254014fd05d6797e20401e0f1518e628f9b06819aa085834a2534234977f9608b3f2e51f94b6e8b0bc43 languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" - checksum: b8efc6fa08e4787b7f8e682182d84dfdf8da9d9c77cae5d293818bc4a55c1f419a87fa265ab85252b3e6c1fd323d799efea68d825d341a7c365c64bc14750e97 +"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" + checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" - checksum: 0792813f0ed4a0e5ee0750e8b5d0c631f08e927f4bdfdd9fe9105dc410c786850b8c61bff7f9f515fdfb149903bec3c976a1310573a4c6866a94d49bc7271959 +"@webassemblyjs/helper-api-error@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" + checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" - checksum: a337ee44b45590c3a30db5a8b7b68a717526cf967ada9f10253995294dbd70a58b2da2165222e0b9830cd4fc6e4c833bf441a721128d1fe2e9a7ab26b36003ce +"@webassemblyjs/helper-buffer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" + checksum: 1d8705daa41f4d22ef7c6d422af4c530b84d69d0c253c6db5adec44d511d7caa66837803db5b1addcea611a1498fd5a67d2cf318b057a916283ae41ffb85ba8a languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" +"@webassemblyjs/helper-numbers@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.11.1" - "@webassemblyjs/helper-api-error": "npm:1.11.1" + "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" + "@webassemblyjs/helper-api-error": "npm:1.11.6" "@xtuc/long": "npm:4.2.2" - checksum: cbe5b456fa074d11a5acf80860df2899a160011943d7e26e60b6eda1c1dbe594e717e0c9f2b50ba2323f75f333bc5ec949acd992a63f2207df754a474167e424 + checksum: 9ffd258ad809402688a490fdef1fd02222f20cdfe191c895ac215a331343292164e5033dbc0347f0f76f2447865c0b5c2d2e3304ee948d44f7aa27857028fd08 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1" - checksum: 009b494010907a52c1c6c6fcb42db8606cf2443e2e767c7ff3029acf31f9a206108285609d735ee77bcbcbd3f1a1f8920b365e7a9466ef35a7932b74c743c816 +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" + checksum: 4ebf03e9c1941288c10e94e0f813f413f972bfaa1f09be2cc2e5577f300430906b61aa24d52f5ef2f894e8e24e61c6f7c39871d7e3d98bc69460e1b8e00bb20b languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" +"@webassemblyjs/helper-wasm-section@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" dependencies: - "@webassemblyjs/ast": "npm:1.11.1" - "@webassemblyjs/helper-buffer": "npm:1.11.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.1" - "@webassemblyjs/wasm-gen": "npm:1.11.1" - checksum: dd6eee9f73346b14d31e95074a8dced21d59269e86e47ad01b6578d86ae6008b411fb989bbd400102c355ea0ba3d070eb9949a64f822abc8f65cf0162704834a + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + checksum: e91e6b28114e35321934070a2db8973a08a5cd9c30500b817214c683bbf5269ed4324366dd93ad83bf2fba0d671ac8f39df1c142bf58f70c57a827eeba4a3d2f languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/ieee754@npm:1.11.1" +"@webassemblyjs/ieee754@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/ieee754@npm:1.11.6" dependencies: "@xtuc/ieee754": "npm:^1.2.0" - checksum: 23a0ac02a50f244471631802798a816524df17e56b1ef929f0c73e3cde70eaf105a24130105c60aff9d64a24ce3b640dad443d6f86e5967f922943a7115022ec + checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/leb128@npm:1.11.1" +"@webassemblyjs/leb128@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/leb128@npm:1.11.6" dependencies: "@xtuc/long": "npm:4.2.2" - checksum: 85beb7156f131c29e9a7f1a05e7fc131849152dd7b0c198d4f21b8e965d96dbfeaca3ac53e4bfbedfeef88b0ada0ff0bd0b7ad5c7dfb8c3d3fed0f922084a557 + checksum: ec3b72db0e7ce7908fe08ec24395bfc97db486063824c0edc580f0973a4cfbadf30529569d9c7db663a56513e45b94299cca03be9e1992ea3308bb0744164f3d languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/utf8@npm:1.11.1" - checksum: b93e57912dfb91df4a76162abd6fb5e491110e113101ec136cea0ea8b8bd43708e94f919ea0e8762657994da6a5fcb63d34b6da392e5dd4e189169da4c75c149 +"@webassemblyjs/utf8@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/utf8@npm:1.11.6" + checksum: 361a537bd604101b320a5604c3c96d1038d83166f1b9fb86cedadc7e81bae54c3785ae5d90bf5b1842f7da08194ccaf0f44a64fcca0cbbd6afe1a166196986d6 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" +"@webassemblyjs/wasm-edit@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" dependencies: - "@webassemblyjs/ast": "npm:1.11.1" - "@webassemblyjs/helper-buffer": "npm:1.11.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.1" - "@webassemblyjs/helper-wasm-section": "npm:1.11.1" - "@webassemblyjs/wasm-gen": "npm:1.11.1" - "@webassemblyjs/wasm-opt": "npm:1.11.1" - "@webassemblyjs/wasm-parser": "npm:1.11.1" - "@webassemblyjs/wast-printer": "npm:1.11.1" - checksum: 6a029ae21c3c0890a55e3d6fb20071434ed5ef024d7d9ca79a754555ccbbc595052e936f6e547b6823922e3f41d3350027a21e65a04032c5fce29d0e4301513d + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/helper-wasm-section": "npm:1.12.1" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + "@webassemblyjs/wasm-opt": "npm:1.12.1" + "@webassemblyjs/wasm-parser": "npm:1.12.1" + "@webassemblyjs/wast-printer": "npm:1.12.1" + checksum: 5678ae02dbebba2f3a344e25928ea5a26a0df777166c9be77a467bfde7aca7f4b57ef95587e4bd768a402cdf2fddc4c56f0a599d164cdd9fe313520e39e18137 languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" +"@webassemblyjs/wasm-gen@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" dependencies: - "@webassemblyjs/ast": "npm:1.11.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.1" - "@webassemblyjs/ieee754": "npm:1.11.1" - "@webassemblyjs/leb128": "npm:1.11.1" - "@webassemblyjs/utf8": "npm:1.11.1" - checksum: 5da040e78045f5499a99435ce0b1878d77f4fbfecb854841367cfc8ac16cc169a7f04187aac5da794b8d08a84ba25324f276f9128c5597ee6666cabd6b954ec1 + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: ec45bd50e86bc9856f80fe9af4bc1ae5c98fb85f57023d11dff2b670da240c47a7b1b9b6c89755890314212bd167cf3adae7f1157216ddffb739a4ce589fc338 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" +"@webassemblyjs/wasm-opt@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" dependencies: - "@webassemblyjs/ast": "npm:1.11.1" - "@webassemblyjs/helper-buffer": "npm:1.11.1" - "@webassemblyjs/wasm-gen": "npm:1.11.1" - "@webassemblyjs/wasm-parser": "npm:1.11.1" - checksum: 00f85d1f762ca2574ea6b5e85b3e9c50720886cca86ef192c80a1af484d98353500667af91416c407cdaeac3176bcd2b0f0641f4299a915b21b03a7f2ff84f3a + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + "@webassemblyjs/wasm-parser": "npm:1.12.1" + checksum: 21f25ae109012c49bb084e09f3b67679510429adc3e2408ad3621b2b505379d9cce337799a7919ef44db64e0d136833216914aea16b0d4856f353b9778e0cdb7 languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" +"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" dependencies: - "@webassemblyjs/ast": "npm:1.11.1" - "@webassemblyjs/helper-api-error": "npm:1.11.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.1" - "@webassemblyjs/ieee754": "npm:1.11.1" - "@webassemblyjs/leb128": "npm:1.11.1" - "@webassemblyjs/utf8": "npm:1.11.1" - checksum: cc6de8f4d9c56b370c2151dd9daacbdabe4aa20ba55b278e322de949dcbdc33b615773ce1756b69580cd2d68273d72ddf8ba68c3bb8715a462e64cf02de9a7c3 + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: f7311685b76c3e1def2abea3488be1e77f06ecd8633143a6c5c943ca289660952b73785231bb76a010055ca64645227a4bc79705c26ab7536216891b6bb36320 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wast-printer@npm:1.11.1" +"@webassemblyjs/wast-printer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wast-printer@npm:1.12.1" dependencies: - "@webassemblyjs/ast": "npm:1.11.1" + "@webassemblyjs/ast": "npm:1.12.1" "@xtuc/long": "npm:4.2.2" - checksum: bd1cf7a0630bf2d003d9df004fca97f53026b39560d0629dc8019aed7e7cc38000d1cb78f7e70ea52fc0561a822bcc7683d48f839363a9d0cf16574f9cbd8c32 + checksum: 1a6a4b6bc4234f2b5adbab0cb11a24911b03380eb1cab6fb27a2250174a279fdc6aa2f5a9cf62dd1f6d4eb39f778f488e8ff15b9deb0670dee5c5077d46cf572 languageName: node linkType: hard @@ -4033,12 +4081,12 @@ __metadata: languageName: node linkType: hard -"acorn-import-assertions@npm:^1.7.6": - version: 1.8.0 - resolution: "acorn-import-assertions@npm:1.8.0" +"acorn-import-attributes@npm:^1.9.5": + version: 1.9.5 + resolution: "acorn-import-attributes@npm:1.9.5" peerDependencies: acorn: ^8 - checksum: d61a8a1c1eaf1ba205fb2011c664533813bb517d8b5cec4adecd44efc1dbccc76eced7d68b2a283b7704634718660ef5ccce2da6a0fbc2da2d5039abdb12d049 + checksum: 8bfbfbb6e2467b9b47abb4d095df717ab64fce2525da65eabee073e85e7975fb3a176b6c8bba17c99a7d8ede283a10a590272304eb54a93c4aa1af9790d47a8b languageName: node linkType: hard @@ -4067,6 +4115,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.8.2": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: d08c2d122bba32d0861e0aa840b2ee25946c286d5dc5990abca991baf8cdbfbe199b05aacb221b979411a2fea36f83e26b5ac4f6b4e0ce49038c62316c1848f0 + languageName: node + linkType: hard + "add-stream@npm:^1.0.0": version: 1.0.0 resolution: "add-stream@npm:1.0.0" @@ -4782,21 +4839,23 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:^1.19.0": - version: 1.19.0 - resolution: "body-parser@npm:1.19.0" +"body-parser@npm:^1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" dependencies: - bytes: "npm:3.1.0" - content-type: "npm:~1.0.4" + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" debug: "npm:2.6.9" - depd: "npm:~1.1.2" - http-errors: "npm:1.7.2" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" iconv-lite: "npm:0.4.24" - on-finished: "npm:~2.3.0" - qs: "npm:6.7.0" - raw-body: "npm:2.4.0" - type-is: "npm:~1.6.17" - checksum: 6ed5f3f42f3038301673d90ea1616f7670e78795018904cf581d361523bfa24a7b6d998015d9cdd02668cd70e85d8b3b4b40023e4128e8aec1ddaf6ed1693dc1 + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 8723e3d7a672eb50854327453bed85ac48d045f4958e81e7d470c56bf111f835b97e5b73ae9f6393d0011cc9e252771f46fd281bbabc57d33d3986edf1e6aeca languageName: node linkType: hard @@ -4819,7 +4878,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.1, braces@npm:^3.0.2, braces@npm:~3.0.2": +"braces@npm:^3.0.2, braces@npm:~3.0.2": version: 3.0.2 resolution: "braces@npm:3.0.2" dependencies: @@ -4828,6 +4887,15 @@ __metadata: languageName: node linkType: hard +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: fad11a0d4697a27162840b02b1fad249c1683cbc510cd5bf1a471f2f8085c046d41094308c577a50a03a579dd99d5a6b3724c4b5e8b14df2c4443844cfcda2c6 + languageName: node + linkType: hard + "brorand@npm:^1.0.1, brorand@npm:^1.1.0": version: 1.1.0 resolution: "brorand@npm:1.1.0" @@ -4922,7 +4990,21 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.14.5, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": +"browserslist@npm:^4.21.10": + version: 4.23.3 + resolution: "browserslist@npm:4.23.3" + dependencies: + caniuse-lite: "npm:^1.0.30001646" + electron-to-chromium: "npm:^1.5.4" + node-releases: "npm:^2.0.18" + update-browserslist-db: "npm:^1.1.0" + bin: + browserslist: cli.js + checksum: e266d18c6c6c5becf9a1a7aa264477677b9796387972e8fce34854bb33dc1666194dc28389780e5dc6566e68a95e87ece2ce222e1c4ca93c2b75b61dfebd5f1c + languageName: node + linkType: hard + +"browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": version: 4.22.1 resolution: "browserslist@npm:4.22.1" dependencies: @@ -5044,10 +5126,10 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.0": - version: 3.1.0 - resolution: "bytes@npm:3.1.0" - checksum: 7c3b21c5d9d44ed455460d5d36a31abc6fa2ce3807964ba60a4b03fd44454c8cf07bb0585af83bfde1c5cc2ea4bbe5897bc3d18cd15e0acf25a3615a35aba2df +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: a10abf2ba70c784471d6b4f58778c0beeb2b5d405148e66affa91f23a9f13d07603d0a0354667310ae1d6dc141474ffd44e2a074be0f6e2254edb8fc21445388 languageName: node linkType: hard @@ -5194,6 +5276,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001646": + version: 1.0.30001653 + resolution: "caniuse-lite@npm:1.0.30001653" + checksum: cd9b1c0fe03249e593789a11a9ef14f987b385e60441748945916b19e74e7bc5c82c40d4836496a647586651898741aed1598ae0792114a9f0d7d7fdb2b7deb0 + languageName: node + linkType: hard + "capital-case@npm:^1.0.4": version: 1.0.4 resolution: "capital-case@npm:1.0.4" @@ -5386,6 +5475,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: b63cb1f73d171d140a2ed8154ee6566c8ab775d3196b0e03a2a94b5f6a0ce7777ee5685ca56849403c8d17bd457a6540672f9a60696a6137c7a409097495b82c + languageName: node + linkType: hard + "chrome-trace-event@npm:^1.0.2": version: 1.0.3 resolution: "chrome-trace-event@npm:1.0.3" @@ -5846,13 +5942,20 @@ __metadata: languageName: node linkType: hard -"content-type@npm:^1.0.4, content-type@npm:~1.0.4": +"content-type@npm:^1.0.4": version: 1.0.4 resolution: "content-type@npm:1.0.4" checksum: 5ea85c5293475c0cdf2f84e2c71f0519ced565840fb8cbda35997cb67cc45b879d5b9dbd37760c4041ca7415a3687f8a5f2f87b556b2aaefa49c0f3436a346d4 languageName: node linkType: hard +"content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 585847d98dc7fb8035c02ae2cb76c7a9bd7b25f84c447e5ed55c45c2175e83617c8813871b4ee22f368126af6b2b167df655829007b21aa10302873ea9c62662 + languageName: node + linkType: hard + "conventional-changelog-angular@npm:^5.0.12": version: 5.0.13 resolution: "conventional-changelog-angular@npm:5.0.13" @@ -6304,7 +6407,7 @@ __metadata: typescript: "npm:^3.9.5" url: "npm:^0.11.3" util: "npm:^0.12.4" - webpack: "npm:^5.76.1" + webpack: "npm:^5.94.0" webpack-cli: "npm:^4.9.1" winston: "npm:^3.2.1" languageName: unknown @@ -6367,6 +6470,7 @@ __metadata: sinon-chai: "npm:^3.7.0" systeminformation: "npm:^5.22.11" table: "npm:^6.8.1" + tar: "npm:7.4.3" wrap-ansi: "npm:^7.0.0" bin: dashmate: ./bin/run.js @@ -6596,20 +6700,13 @@ __metadata: languageName: node linkType: hard -"depd@npm:^2.0.0": +"depd@npm:2.0.0, depd@npm:^2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: c0c8ff36079ce5ada64f46cc9d6fd47ebcf38241105b6e0c98f412e8ad91f084bcf906ff644cc3a4bd876ca27a62accb8b0fff72ea6ed1a414b89d8506f4a5ca languageName: node linkType: hard -"depd@npm:~1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: 2ed6966fc14463a9e85451db330ab8ba041efed0b9a1a472dbfc6fbf2f82bab66491915f996b25d8517dddc36c8c74e24c30879b34877f3c4410733444a51d1d - languageName: node - linkType: hard - "deprecation@npm:^2.0.0, deprecation@npm:^2.3.1": version: 2.3.1 resolution: "deprecation@npm:2.3.1" @@ -6627,6 +6724,13 @@ __metadata: languageName: node linkType: hard +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 + languageName: node + linkType: hard + "dezalgo@npm:^1.0.0": version: 1.0.3 resolution: "dezalgo@npm:1.0.3" @@ -6873,9 +6977,16 @@ __metadata: languageName: node linkType: hard -"elliptic@npm:^6.5.4": - version: 6.5.4 - resolution: "elliptic@npm:6.5.4" +"electron-to-chromium@npm:^1.5.4": + version: 1.5.13 + resolution: "electron-to-chromium@npm:1.5.13" + checksum: b3de6dbca66e399eacd4f7e2b7603394c8949c9e724d838a45e092725005ff435aabfbf00f738e45451eb23147684f7f9251a5ed75619a539642b2bccea20b45 + languageName: node + linkType: hard + +"elliptic@npm:6.5.7": + version: 6.5.7 + resolution: "elliptic@npm:6.5.7" dependencies: bn.js: "npm:^4.11.9" brorand: "npm:^1.1.0" @@ -6884,7 +6995,7 @@ __metadata: inherits: "npm:^2.0.4" minimalistic-assert: "npm:^1.0.1" minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 2cd7ff4b69720dbb2ca1ca650b2cf889d1df60c96d4a99d331931e4fe21e45a7f3b8074e86618ca7e56366c4b6258007f234f9d61d9b0c87bbbc8ea990b99e94 + checksum: fbad1fad0a5cc07df83f80cc1f7a784247ef59075194d3e340eaeb2f4dd594825ee24c7e9b0cf279c9f1982efe610503bb3139737926428c4821d4fca1bcf348 languageName: node linkType: hard @@ -6959,7 +7070,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.10.0": +"enhanced-resolve@npm:^5.0.0": version: 5.15.0 resolution: "enhanced-resolve@npm:5.15.0" dependencies: @@ -6969,6 +7080,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.17.1": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: e8e03cb7a4bf3c0250a89afbd29e5ec20e90ba5fcd026066232a0754864d7d0a393fa6fc0e5379314a6529165a1834b36731147080714459d98924520410d8f5 + languageName: node + linkType: hard + "enquirer@github:dashpay/enquirer#patch-1": version: 2.3.6 resolution: "enquirer@https://github.com/dashpay/enquirer.git#commit=86aaef0b1c82dfaa3436775e6b37de310eeb94f5" @@ -7082,10 +7203,10 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^0.9.0": - version: 0.9.3 - resolution: "es-module-lexer@npm:0.9.3" - checksum: c3e39465d06a6ecd103ccdb746508c88ee4bdd56c15238b0013de38b949a4eca91d5e44d2a9b88d772fe7821547c5fe9200ba0f3353116e208d44bb50c7bc1ea +"es-module-lexer@npm:^1.2.1": + version: 1.5.4 + resolution: "es-module-lexer@npm:1.5.4" + checksum: f29c7c97a58eb17640dcbd71bd6ef754ad4f58f95c3073894573d29dae2cad43ecd2060d97ed5b866dfb7804d5590fb7de1d2c5339a5fceae8bd60b580387fc5 languageName: node linkType: hard @@ -7157,6 +7278,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: a1e07fea2f15663c30e40b9193d658397846ffe28ce0a3e4da0d8e485fedfeca228ab846aee101a05015829adf39f9934ff45b2a3fca47bed37a29646bd05cd3 + languageName: node + linkType: hard + "escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" @@ -7732,6 +7860,15 @@ __metadata: languageName: node linkType: hard +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: a7095cb39e5bc32fada2aa7c7249d3f6b01bd1ce461a61b0adabacccabd9198500c6fb1f68a7c851a657e273fce2233ba869638897f3d7ed2e87a2d89b4436ea + languageName: node + linkType: hard + "finalhandler@npm:1.1.2": version: 1.1.2 resolution: "finalhandler@npm:1.1.2" @@ -8271,6 +8408,22 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.3.7": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 698dfe11828b7efd0514cd11e573eaed26b2dff611f0400907281ce3eab0c1e56143ef9b35adc7c77ecc71fba74717b510c7c223d34ca8a98ec81777b293d4ac + languageName: node + linkType: hard + "glob@npm:^7.0.0, glob@npm:^7.0.5, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -8398,13 +8551,20 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" checksum: 0c83c52b62c68a944dcfb9d66b0f9f10f7d6e3d081e8067b9bfdc9e5f3a8896584d576036f82915773189eec1eba599397fc620e75c03c0610fb3d67c6713c1a languageName: node linkType: hard +"graceful-fs@npm:^4.2.11": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 + languageName: node + linkType: hard + "grapheme-splitter@npm:^1.0.4": version: 1.0.4 resolution: "grapheme-splitter@npm:1.0.4" @@ -8669,16 +8829,16 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:1.7.2": - version: 1.7.2 - resolution: "http-errors@npm:1.7.2" +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" dependencies: - depd: "npm:~1.1.2" - inherits: "npm:2.0.3" - setprototypeof: "npm:1.1.1" - statuses: "npm:>= 1.5.0 < 2" - toidentifier: "npm:1.0.0" - checksum: cf8da344b181599d19a2bfedcbe7c946945a907f2825a0c89e119ce9f9c9a421a49898afe3291485b40ffbbd587b62326f9becc7aa053036eff2559d9436defb + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 0e7f76ee8ff8a33e58a3281a469815b893c41357378f408be8f6d4aa7d1efafb0da064625518e7078381b6a92325949b119dc38fcb30bdbc4e3a35f78c44c439 languageName: node linkType: hard @@ -8929,20 +9089,13 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 languageName: node linkType: hard -"inherits@npm:2.0.3": - version: 2.0.3 - resolution: "inherits@npm:2.0.3" - checksum: 8771303d66c51be433b564427c16011a8e3fbc3449f1f11ea50efb30a4369495f1d0e89f0fc12bdec0bd7e49102ced5d137e031d39ea09821cb3c717fcf21e69 - languageName: node - linkType: hard - "inherits@npm:=2.0.1": version: 2.0.1 resolution: "inherits@npm:2.0.1" @@ -10708,12 +10861,12 @@ __metadata: linkType: hard "micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": - version: 4.0.4 - resolution: "micromatch@npm:4.0.4" + version: 4.0.7 + resolution: "micromatch@npm:4.0.7" dependencies: - braces: "npm:^3.0.1" - picomatch: "npm:^2.2.3" - checksum: c499da5aad38f3ba1a32a73a81f3dd9b631e12492133c503c14ce59aa5c631159c08f2c43d3a7e0ea3955c7921d41b7b97e662360fe3b28b2cfb0923949c176d + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: a11ed1cb67dcbbe9a5fc02c4062cf8bb0157d73bf86956003af8dcfdf9b287f9e15ec0f6d6925ff6b8b5b496202335e497b01de4d95ef6cf06411bc5e5c474a0 languageName: node linkType: hard @@ -10976,7 +11129,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 @@ -11000,6 +11153,16 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" + dependencies: + minipass: "npm:^7.0.4" + rimraf: "npm:^5.0.5" + checksum: 622cb85f51e5c206a080a62d20db0d7b4066f308cb6ce82a9644da112367c3416ae7062017e631eb7ac8588191cfa4a9a279b8651c399265202b298e98c4acef + languageName: node + linkType: hard + "mkdirp-classic@npm:^0.5.2": version: 0.5.3 resolution: "mkdirp-classic@npm:0.5.3" @@ -11038,6 +11201,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 16fd79c28645759505914561e249b9a1f5fe3362279ad95487a4501e4467abeb714fd35b95307326b8fd03f3c7719065ef11a6f97b7285d7888306d1bd2232ba + languageName: node + linkType: hard + "mocha-sinon@npm:^2.1.2": version: 2.1.2 resolution: "mocha-sinon@npm:2.1.2" @@ -11399,6 +11571,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: 241e5fa9556f1c12bafb83c6c3e94f8cf3d8f2f8f904906ecef6e10bcaa1d59aa61212d4651bec70052015fc54bd3fdcdbe7fc0f638a17e6685aa586c076ec4e + languageName: node + linkType: hard + "nodeforage@npm:^1.1.2": version: 1.1.2 resolution: "nodeforage@npm:1.1.2" @@ -11855,6 +12034,15 @@ __metadata: languageName: node linkType: hard +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 8e81472c5028125c8c39044ac4ab8ba51a7cdc19a9fbd4710f5d524a74c6d8c9ded4dd0eed83f28d3d33ac1d7a6a439ba948ccb765ac6ce87f30450a26bfe2ea + languageName: node + linkType: hard + "on-finished@npm:~2.3.0": version: 2.3.0 resolution: "on-finished@npm:2.3.0" @@ -12146,6 +12334,13 @@ __metadata: languageName: node linkType: hard +"package-json-from-dist@npm:^1.0.0": + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea + languageName: node + linkType: hard + "pacote@npm:^12.0.0, pacote@npm:^12.0.2": version: 12.0.3 resolution: "pacote@npm:12.0.3" @@ -12402,12 +12597,12 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^1.7.0": - version: 1.8.0 - resolution: "path-to-regexp@npm:1.8.0" +"path-to-regexp@npm:^1.9.0": + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" dependencies: isarray: "npm:0.0.1" - checksum: 45a01690f72919163cf89714e31a285937b14ad54c53734c826363fcf7beba9d9d0f2de802b4986b1264374562d6a3398a2e5289753a764e3a256494f1e52add + checksum: 67f0f4823f7aab356523d93a83f9f8222bdd119fa0b27a8f8b587e8e6c9825294bb4ccd16ae619def111ff3fe5d15ff8f658cdd3b0d58b9c882de6fd15bc1b76 languageName: node linkType: hard @@ -12454,13 +12649,27 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3": +"picocolors@npm:^1.0.1": + version: 1.0.1 + resolution: "picocolors@npm:1.0.1" + checksum: fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1": version: 2.3.0 resolution: "picomatch@npm:2.3.0" checksum: ed92dfa5676f1a6d2acfd1e155f9a1287bd158991ad01e3f1c272fe40fb53376aa38ca6ca943a4269fbb2ba0e2867cba9491fb55d02cf3f24f9e6c5e85dd3a4b languageName: node linkType: hard +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc + languageName: node + linkType: hard + "pid-cwd@npm:^1.2.0": version: 1.2.0 resolution: "pid-cwd@npm:1.2.0" @@ -12903,15 +13112,15 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.4.0": - version: 2.4.0 - resolution: "raw-body@npm:2.4.0" +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" dependencies: - bytes: "npm:3.1.0" - http-errors: "npm:1.7.2" + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" iconv-lite: "npm:0.4.24" unpipe: "npm:1.0.0" - checksum: aa2c506055f32448211a4933c728b6a3d715101975328071ad4aad210a19e5cadd7666d1acc139ed59c7519e5a044a1a19285d4b4bb542d93de6187acf4a5ebf + checksum: 863b5171e140546a4d99f349b720abac4410338e23df5e409cfcc3752538c9caf947ce382c89129ba976f71894bd38b5806c774edac35ebf168d02aa1ac11a95 languageName: node linkType: hard @@ -13388,6 +13597,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: f3b8ce81eecbde4628b07bdf9e2fa8b684e0caea4999acb1e3b0402c695cd41f28cd075609a808e61ce2672f528ca079f675ab1d8e8d5f86d56643a03e0b8d2e + languageName: node + linkType: hard + "ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1, ripemd160@npm:^2.0.2": version: 2.0.2 resolution: "ripemd160@npm:2.0.2" @@ -13513,7 +13733,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^3.1.0, schema-utils@npm:^3.1.1": +"schema-utils@npm:^3.1.1": version: 3.1.1 resolution: "schema-utils@npm:3.1.1" dependencies: @@ -13524,6 +13744,17 @@ __metadata: languageName: node linkType: hard +"schema-utils@npm:^3.2.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" + dependencies: + "@types/json-schema": "npm:^7.0.8" + ajv: "npm:^6.12.5" + ajv-keywords: "npm:^3.5.2" + checksum: 2c7bbb1da967fdfd320e6cea538949006ec6e8c13ea560a4f94ff2c56809a8486fa5ec419e023452501a6befe1ca381e409c2798c24f4993c7c4094d97fdb258 + languageName: node + linkType: hard + "schema-utils@npm:^4.0.0": version: 4.2.0 resolution: "schema-utils@npm:4.2.0" @@ -13588,6 +13819,15 @@ __metadata: languageName: node linkType: hard +"serialize-javascript@npm:^6.0.1": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 445a420a6fa2eaee4b70cbd884d538e259ab278200a2ededd73253ada17d5d48e91fb1f4cd224a236ab62ea7ba0a70c6af29fc93b4f3d3078bf7da1c031fde58 + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -13625,10 +13865,10 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.1.1": - version: 1.1.1 - resolution: "setprototypeof@npm:1.1.1" - checksum: b8fcf5b4b8325ea638712ed6e62f8e0ffac69eef1390305a5331046992424e484d4d6603a18d84d4c08c3def50b9195d9e707b747aed5eec15ee66a2a6508318 +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: fde1630422502fbbc19e6844346778f99d449986b2f9cdcceb8326730d2f3d9964dbcb03c02aaadaefffecd0f2c063315ebea8b3ad895914bf1afc1747fc172e languageName: node linkType: hard @@ -14191,7 +14431,14 @@ __metadata: languageName: node linkType: hard -"statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb + languageName: node + linkType: hard + +"statuses@npm:~1.5.0": version: 1.5.0 resolution: "statuses@npm:1.5.0" checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c @@ -14549,7 +14796,21 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.2.1": +"tar@npm:7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 12a2a4fc6dee23e07cc47f1aeb3a14a1afd3f16397e1350036a8f4cdfee8dcac7ef5978337a4e7b2ac2c27a9a6d46388fc2088ea7c80cb6878c814b1425f8ecf + languageName: node + linkType: hard + +"tar@npm:^6.0.5, tar@npm:^6.1.0, tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" dependencies: @@ -14580,7 +14841,7 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.3.1": +"terser-webpack-plugin@npm:^5.3.1": version: 5.3.3 resolution: "terser-webpack-plugin@npm:5.3.3" dependencies: @@ -14602,6 +14863,42 @@ __metadata: languageName: node linkType: hard +"terser-webpack-plugin@npm:^5.3.10": + version: 5.3.10 + resolution: "terser-webpack-plugin@npm:5.3.10" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.20" + jest-worker: "npm:^27.4.5" + schema-utils: "npm:^3.1.1" + serialize-javascript: "npm:^6.0.1" + terser: "npm:^5.26.0" + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: fb1c2436ae1b4e983be043fa0a3d355c047b16b68f102437d08c736d7960c001e7420e2f722b9d99ce0dc70ca26a68cc63c0b82bc45f5b48671142b352a9d938 + languageName: node + linkType: hard + +"terser@npm:^5.26.0": + version: 5.31.6 + resolution: "terser@npm:5.31.6" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 78057c58025151c9bdad82a050f0b51175f9fe3117d8ee369ca7effe038cdd540da2fd5985a4f8ee08dba5616e7911e1392d40670698ff42a49fec338d369e80 + languageName: node + linkType: hard + "terser@npm:^5.7.2": version: 5.14.2 resolution: "terser@npm:5.14.2" @@ -14745,10 +15042,10 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.0": - version: 1.0.0 - resolution: "toidentifier@npm:1.0.0" - checksum: 199e6bfca1531d49b3506cff02353d53ec987c9ee10ee272ca6484ed97f1fc10fb77c6c009079ca16d5c5be4a10378178c3cacdb41ce9ec954c3297c74c6053e +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 languageName: node linkType: hard @@ -15081,7 +15378,7 @@ __metadata: languageName: node linkType: hard -"type-is@npm:~1.6.17": +"type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -15335,6 +15632,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" + dependencies: + escalade: "npm:^3.1.2" + picocolors: "npm:^1.0.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: d70b9efeaf4601aadb1a4f6456a7a5d9118e0063d995866b8e0c5e0cf559482671dab6ce7b079f9536b06758a344fbd83f974b965211e1c6e8d1958540b0c24c + languageName: node + linkType: hard + "upper-case-first@npm:^2.0.2": version: 2.0.2 resolution: "upper-case-first@npm:2.0.2" @@ -15551,13 +15862,13 @@ __metadata: languageName: node linkType: hard -"watchpack@npm:^2.4.0": - version: 2.4.0 - resolution: "watchpack@npm:2.4.0" +"watchpack@npm:^2.4.1": + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" dependencies: glob-to-regexp: "npm:^0.4.1" graceful-fs: "npm:^4.1.2" - checksum: 4280b45bc4b5d45d5579113f2a4af93b67ae1b9607cc3d86ae41cdd53ead10db5d9dc3237f24256d05ef88b28c69a02712f78e434cb7ecc8edaca134a56e8cab + checksum: 6bd4c051d9af189a6c781c3158dcb3069f432a0c144159eeb0a44117412105c61b2b683a5c9eebc4324625e0e9b76536387d0ba354594fa6cbbdf1ef60bee4c3 languageName: node linkType: hard @@ -15636,40 +15947,39 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5.76.1": - version: 5.76.1 - resolution: "webpack@npm:5.76.1" +"webpack@npm:^5.94.0": + version: 5.94.0 + resolution: "webpack@npm:5.94.0" dependencies: - "@types/eslint-scope": "npm:^3.7.3" - "@types/estree": "npm:^0.0.51" - "@webassemblyjs/ast": "npm:1.11.1" - "@webassemblyjs/wasm-edit": "npm:1.11.1" - "@webassemblyjs/wasm-parser": "npm:1.11.1" + "@types/estree": "npm:^1.0.5" + "@webassemblyjs/ast": "npm:^1.12.1" + "@webassemblyjs/wasm-edit": "npm:^1.12.1" + "@webassemblyjs/wasm-parser": "npm:^1.12.1" acorn: "npm:^8.7.1" - acorn-import-assertions: "npm:^1.7.6" - browserslist: "npm:^4.14.5" + acorn-import-attributes: "npm:^1.9.5" + browserslist: "npm:^4.21.10" chrome-trace-event: "npm:^1.0.2" - enhanced-resolve: "npm:^5.10.0" - es-module-lexer: "npm:^0.9.0" + enhanced-resolve: "npm:^5.17.1" + es-module-lexer: "npm:^1.2.1" eslint-scope: "npm:5.1.1" events: "npm:^3.2.0" glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.2.9" + graceful-fs: "npm:^4.2.11" json-parse-even-better-errors: "npm:^2.3.1" loader-runner: "npm:^4.2.0" mime-types: "npm:^2.1.27" neo-async: "npm:^2.6.2" - schema-utils: "npm:^3.1.0" + schema-utils: "npm:^3.2.0" tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.1.3" - watchpack: "npm:^2.4.0" + terser-webpack-plugin: "npm:^5.3.10" + watchpack: "npm:^2.4.1" webpack-sources: "npm:^3.2.3" peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: 68010fc44a4a774f8e436725faac7786f3c309c0356e718529822af90298ed68e14434b28f34d27b41409b2f8e6915005d62ca029d8cb1c3b29bd12214358cca + checksum: 648449c5fbbb0839814116e3b2b044ac6c75a7ba272435155ddeb1e64dfaa2f8079be3adfbb691f648b69900756ce0f6fb73beab0ced3cf5e0fd46868b4593a6 languageName: node linkType: hard @@ -15979,6 +16289,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 1884d272d485845ad04759a255c71775db0fac56308764b4c77ea56a20d56679fad340213054c8c9c9c26fcfd4c4b2a90df993b7e0aaf3cdb73c618d1d1a802a + languageName: node + linkType: hard + "yaml@npm:^2.2.2": version: 2.2.2 resolution: "yaml@npm:2.2.2"